diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index 72b3f81fe..abffb7142 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -1120,7 +1120,15 @@ VkResult WrappedVulkan::vkDestroyCommandBuffer(VkDevice device, VkCmdBuffer obj) { WrappedVkDispRes *wrapped = (WrappedVkDispRes *)GetWrapped(obj); GetResourceManager()->MarkCleanResource(wrapped->id); - if(wrapped->record) wrapped->record->Delete(GetResourceManager()); + if(wrapped->record) + { + if(wrapped->record->bakedCommands) + { + wrapped->record->bakedCommands->Delete(GetResourceManager()); + wrapped->record->bakedCommands = NULL; + } + wrapped->record->Delete(GetResourceManager()); + } return ObjDisp(device)->DestroyCommandBuffer(Unwrap(device), wrapped->real.As()); }