From 33b28345060c463a934b32cc510bb8c480191b2d Mon Sep 17 00:00:00 2001 From: Gregory Wells Date: Wed, 9 Jul 2025 20:52:22 -0400 Subject: [PATCH] get image fence --- .../src/presentation_queue/vulkan_presentation_queue.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/projects/apis/vulkan/src/presentation_queue/vulkan_presentation_queue.c b/projects/apis/vulkan/src/presentation_queue/vulkan_presentation_queue.c index 26c6587..ac35337 100644 --- a/projects/apis/vulkan/src/presentation_queue/vulkan_presentation_queue.c +++ b/projects/apis/vulkan/src/presentation_queue/vulkan_presentation_queue.c @@ -82,14 +82,17 @@ gnReturnCode createPresentationQueue(gnPresentationQueueHandle presentationQueue } gnReturnCode getVulkanPresentQueueImage(gnPresentationQueueHandle presentationQueue, uint32_t* imageIndex) { + vkResetFences(presentationQueue->outputDevice->outputDevice->device, 1, &presentationQueue->outputDevice->outputDevice->barrierFence); VkResult result = vkAcquireNextImageKHR( presentationQueue->outputDevice->outputDevice->device, presentationQueue->presentationQueue->swapChain, - UINT64_MAX, VK_NULL_HANDLE, VK_NULL_HANDLE, imageIndex); + UINT64_MAX, VK_NULL_HANDLE, presentationQueue->outputDevice->outputDevice->barrierFence, imageIndex); if (result == VK_ERROR_OUT_OF_DATE_KHR) return GN_OUT_OF_DATE_PRESENTATION_QUEUE; if (result == VK_SUBOPTIMAL_KHR) return GN_SUBOPTIMAL_PRESENTATION_QUEUE; + vkWaitForFences(presentationQueue->outputDevice->outputDevice->device, 1, &presentationQueue->outputDevice->outputDevice->barrierFence, VK_TRUE, UINT64_MAX); + return GN_SUCCESS; }