diff options
author | Matias N. Goldberg <dark_sylinc@yahoo.com.ar> | 2023-08-12 20:32:28 -0300 |
---|---|---|
committer | Matias N. Goldberg <dark_sylinc@yahoo.com.ar> | 2023-08-15 20:57:49 -0300 |
commit | 0b09fdd96cd515ecddee3fe59fcff5a6d509f545 (patch) | |
tree | ba378f22977f81b24436cdcd01804aa323144982 /platform/linuxbsd/platform_linuxbsd_builders.py | |
parent | 4714e95896c8db02616ea6ec7f9aff92dec1cae4 (diff) | |
download | redot-engine-0b09fdd96cd515ecddee3fe59fcff5a6d509f545.tar.gz |
Fix validation error when resizing window
Sometimes when resizing the window we may get the following validation
error:
ERROR: VALIDATION - Message Id Number: -370888023 | Message Id Name:
VUID-vkAcquireNextImageKHR-semaphore-01286
Validation Error: [ VUID-vkAcquireNextImageKHR-semaphore-01286 ]
Object 0: handle = 0xdcc8fd0000000012, type = VK_OBJECT_TYPE_SEMAPHORE;
| MessageID = 0xe9e4b2a9 | vkAcquireNextImageKHR: Semaphore must not be
currently signaled or in a wait state. The Vulkan spec states: If
semaphore is not VK_NULL_HANDLE it must be unsignaled
(https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkAcquireNextImageKHR-semaphore-01286)
In VulkanContext::prepare_buffers the problem was that
vkAcquireNextImageKHR returned VK_SUBOPTIMAL_KHR but it already signaled
the semaphore (because it is possible to continue normally with a
VK_SUBOPTIMAL_KHR result).
Then we recreate the swapchain and reuse the
w->image_acquired_semaphores[frame_index] which is in an inconsistent
state.
Fixed by recreating the semamphores along the swapchain.
Fix #80570
Diffstat (limited to 'platform/linuxbsd/platform_linuxbsd_builders.py')
0 files changed, 0 insertions, 0 deletions