From ff92cc2ba322362cad3bce1c8da4e223169a8b34 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 24 Sep 2021 14:04:07 +0100 Subject: [PATCH] Don't flush coherent maps on vulkan when there are no command buffers * Normally this is handled by checking referenced IDs, but we now unconditionally flush memory with BDA buffers bound to it. --- renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp index 0d191aecd..6d9730e09 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp @@ -998,6 +998,9 @@ void WrappedVulkan::CaptureQueueSubmit(VkQueue queue, GetResourceManager()->MarkResourceFrameReferenced(GetResID(fence), eFrameRef_Read); rdcarray maps; + + // don't flush maps when there are no command buffers + if(!commandBuffers.empty()) { SCOPED_LOCK(m_CoherentMapsLock); maps = m_CoherentMaps;