From f4c556a9f35bf5457078c23ba6a369cdc815167a Mon Sep 17 00:00:00 2001 From: Benjamin Kraft Date: Sat, 7 Sep 2024 18:01:29 +0200 Subject: [PATCH] semaphore fix --- src/vulkan/application.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/vulkan/application.cpp b/src/vulkan/application.cpp index 1f249d3..1b20602 100644 --- a/src/vulkan/application.cpp +++ b/src/vulkan/application.cpp @@ -152,9 +152,9 @@ void Application::drawFrame() { VkSubmitInfo submitInfo {}; submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; - VkSemaphore waitSemaphores[] = {imageAvailableSemaphore}; - VkPipelineStageFlags waitStages[] = {VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT}; - submitInfo.waitSemaphoreCount = 1; + VkSemaphore waitSemaphores[] = {imageAvailableSemaphore, computeFinishedSemaphore}; + VkPipelineStageFlags waitStages[] = {VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT}; + submitInfo.waitSemaphoreCount = 2; submitInfo.pWaitSemaphores = waitSemaphores; submitInfo.pWaitDstStageMask = waitStages; submitInfo.commandBufferCount = 1; @@ -163,8 +163,6 @@ void Application::drawFrame() { VkSemaphore signalSemaphores[] = {renderFinishedSemaphore}; submitInfo.signalSemaphoreCount = 1; submitInfo.pSignalSemaphores = signalSemaphores; - submitInfo.waitSemaphoreCount = 1; - submitInfo.pWaitSemaphores = &computeFinishedSemaphore; vkQueueSubmit(Instance::instance->graphicsQueue, 1, &submitInfo, renderInFlightFence);