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);