From 2cfa89ee18e080e5b842a103a7c19eb4513642ef Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 21 Sep 2015 13:41:44 +0200 Subject: [PATCH] Don't delete cmd buffer records until we've flushed to disk --- renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp index 8968031ca..eba545841 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp @@ -899,8 +899,6 @@ VkResult WrappedVulkan::vkQueuePresentWSI( for(auto it = recordlist.begin(); it != recordlist.end(); ++it) m_pFileSerialiser->Insert(it->second); - - m_CmdBufferRecords[i]->Delete(GetResourceManager()); } recordlist.clear(); @@ -922,6 +920,10 @@ VkResult WrappedVulkan::vkQueuePresentWSI( SAFE_DELETE(m_HeaderChunk); m_State = WRITING_IDLE; + + // delete cmd buffers now - had to keep them alive until after serialiser flush. + for(size_t i=0; i < m_CmdBufferRecords.size(); i++) + m_CmdBufferRecords[i]->Delete(GetResourceManager()); GetResourceManager()->MarkUnwrittenResources();