diff options
author | Erik Faye-Lund <erik.faye-lund@collabora.com> | 2023-04-05 10:15:30 +0200 |
---|---|---|
committer | Erik Faye-Lund <erik.faye-lund@collabora.com> | 2023-04-17 08:53:25 +0200 |
commit | 7877508aa4ea3fba7870bd070a223aef3c1cc37c (patch) | |
tree | 8aee1956832840857057cfa41ac0dab3e8f11aa2 | |
parent | 94f75710bdff678f33d6d12d26858ffb453bf07f (diff) | |
download | mesa-demos-7877508aa4ea3fba7870bd070a223aef3c1cc37c.tar.gz |
vkgears: recreate swapchain semaphore on resize
Otherwise, we end up waiting on an unsignaled semaphore when resizing,
which isn't legal.
Acked-by: Hoe Hao Cheng <haochengho12907@gmail.com>
-rw-r--r-- | src/vulkan/vkgears.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/vulkan/vkgears.c b/src/vulkan/vkgears.c index c16fab8b..55ca4d73 100644 --- a/src/vulkan/vkgears.c +++ b/src/vulkan/vkgears.c @@ -204,13 +204,6 @@ init_vk(const char *extension) .sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, }, NULL, - &back_buffer_semaphore); - - vkCreateSemaphore(device, - &(VkSemaphoreCreateInfo) { - .sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, - }, - NULL, &present_semaphore); } @@ -621,6 +614,13 @@ create_swapchain() }, &swap_chain_data[i].cmd_buffer); } + + vkCreateSemaphore(device, + &(VkSemaphoreCreateInfo) { + .sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, + }, + NULL, + &back_buffer_semaphore); } static void @@ -642,6 +642,8 @@ free_swapchain_data() vkDestroyImage(device, color_msaa, NULL); vkFreeMemory(device, color_msaa_memory, NULL); } + + vkDestroySemaphore(device, back_buffer_semaphore, NULL); } static void |