diff --git a/renderdoc/driver/d3d12/d3d12_commands.cpp b/renderdoc/driver/d3d12/d3d12_commands.cpp index 76b7b4b69..5a9106c91 100644 --- a/renderdoc/driver/d3d12/d3d12_commands.cpp +++ b/renderdoc/driver/d3d12/d3d12_commands.cpp @@ -657,6 +657,9 @@ WrappedID3D12GraphicsCommandList::~WrappedID3D12GraphicsCommandList() if(m_pReal) m_pDevice->GetResourceManager()->RemoveWrapper(m_pReal); + if(m_ListRecord && m_ListRecord->bakedCommands) + m_ListRecord->bakedCommands->Delete(m_pDevice->GetResourceManager()); + m_pDevice->GetResourceManager()->ReleaseCurrentResource(GetResourceID()); SAFE_RELEASE(m_WrappedDebug.m_pReal); diff --git a/renderdoc/driver/d3d12/d3d12_manager.h b/renderdoc/driver/d3d12/d3d12_manager.h index 918ca202d..4915d3d9e 100644 --- a/renderdoc/driver/d3d12/d3d12_manager.h +++ b/renderdoc/driver/d3d12/d3d12_manager.h @@ -382,7 +382,7 @@ struct D3D12ResourceRecord : public ResourceRecord bakedCommands(NULL) { } - ~D3D12ResourceRecord() {} + ~D3D12ResourceRecord() { SAFE_DELETE(cmdInfo); } void Bake() { RDCASSERT(cmdInfo);