summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Faye-Lund <erik.faye-lund@collabora.com>2023-04-05 10:15:30 +0200
committerErik Faye-Lund <erik.faye-lund@collabora.com>2023-04-17 08:53:25 +0200
commit7877508aa4ea3fba7870bd070a223aef3c1cc37c (patch)
tree8aee1956832840857057cfa41ac0dab3e8f11aa2
parent94f75710bdff678f33d6d12d26858ffb453bf07f (diff)
downloadmesa-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.c16
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