From da2ebcbeadb14f37244a6d9addb723861d694664 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 20 Jul 2026 17:35:45 +0100 Subject: [PATCH] Properly sync queue before processing submission * This isn't necessary if only one main queue is in use as FlushQ() syncs our main queue, but if the submission is on a separate compute family for example we need to sync it before processing any indirect readbacks. --- renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp index 60d49cff3..1876b70e3 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp @@ -303,6 +303,8 @@ void WrappedVulkan::ReplayQueueSubmit(VkQueue queue, VkSubmitInfo2 submitInfo, r for(uint32_t c = 0; c < numCmds; c++) { DoSubmit(queue, submitInfo); + // ensure we wait for the submit to finish before processing it + ObjDisp(queue)->QueueWaitIdle(Unwrap(queue)); FlushQ(); ResourceId cmd = GetResID(submitInfo.pCommandBufferInfos[0].commandBuffer);