Ensure dead resource lifetimes are extended until capture is fully done

This commit is contained in:
baldurk
2025-10-27 11:50:36 +00:00
parent 2ea010f3e2
commit c983b96e3d
+12 -12
View File
@@ -2865,18 +2865,6 @@ bool WrappedVulkan::EndFrameCapture(DeviceOwnedWindow devWnd)
}
}
for(VkDeviceMemory m : DeadMemories)
vkFreeMemory(m_Device, m, NULL);
for(VkBuffer b : DeadBuffers)
vkDestroyBuffer(m_Device, b, NULL);
for(VkImage i : DeadImages)
vkDestroyImage(m_Device, i, NULL);
for(VkImageView v : DeadImageViews)
vkDestroyImageView(m_Device, v, NULL);
// gather backbuffer screenshot
const uint32_t maxSize = 2048;
RenderDoc::FramePixels fp;
@@ -3225,6 +3213,18 @@ bool WrappedVulkan::EndFrameCapture(DeviceOwnedWindow devWnd)
GetResourceManager()->FreeInitialContents();
for(VkDeviceMemory m : DeadMemories)
vkFreeMemory(m_Device, m, NULL);
for(VkBuffer b : DeadBuffers)
vkDestroyBuffer(m_Device, b, NULL);
for(VkImage i : DeadImages)
vkDestroyImage(m_Device, i, NULL);
for(VkImageView v : DeadImageViews)
vkDestroyImageView(m_Device, v, NULL);
FreeAllMemory(MemoryScope::InitialContents);
for(rdcstr &fn : m_InitTempFiles)
FileIO::Delete(fn);