From bb72a39894e2aa9bd98617892a4c275d72f87e70 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 12 Feb 2018 17:00:17 +0000 Subject: [PATCH] Fix D3D11 structured import/export --- renderdoc/driver/d3d11/d3d11_device.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/renderdoc/driver/d3d11/d3d11_device.cpp b/renderdoc/driver/d3d11/d3d11_device.cpp index f8aded2aa..821430fa8 100644 --- a/renderdoc/driver/d3d11/d3d11_device.cpp +++ b/renderdoc/driver/d3d11/d3d11_device.cpp @@ -202,7 +202,8 @@ WrappedID3D11Device::WrappedID3D11Device(ID3D11Device *realDevice, D3D11InitPara if(params) m_InitParams = *params; - m_DebugManager = new D3D11DebugManager(this); + if(realDevice) + m_DebugManager = new D3D11DebugManager(this); // ATI workaround - these dlls can get unloaded and cause a crash. @@ -278,10 +279,13 @@ WrappedID3D11Device::~WrappedID3D11Device() SAFE_RELEASE(m_WrappedDebug.m_pDebug); SAFE_RELEASE(m_pDevice); - RDCASSERT(WrappedID3D11Buffer::m_BufferList.empty()); - RDCASSERT(WrappedID3D11Texture1D::m_TextureList.empty()); - RDCASSERT(WrappedID3D11Texture2D1::m_TextureList.empty()); - RDCASSERT(WrappedID3D11Texture3D1::m_TextureList.empty()); + if(!IsStructuredExporting(m_State)) + { + RDCASSERT(WrappedID3D11Buffer::m_BufferList.empty()); + RDCASSERT(WrappedID3D11Texture1D::m_TextureList.empty()); + RDCASSERT(WrappedID3D11Texture2D1::m_TextureList.empty()); + RDCASSERT(WrappedID3D11Texture3D1::m_TextureList.empty()); + } if(RenderDoc::Inst().GetCrashHandler()) RenderDoc::Inst().GetCrashHandler()->UnregisterMemoryRegion(this);