diff --git a/renderdoc/driver/d3d11/d3d11_device1_wrap.cpp b/renderdoc/driver/d3d11/d3d11_device1_wrap.cpp index 74c83c264..2bda6d439 100644 --- a/renderdoc/driver/d3d11/d3d11_device1_wrap.cpp +++ b/renderdoc/driver/d3d11/d3d11_device1_wrap.cpp @@ -91,6 +91,7 @@ bool WrappedID3D11Device::Serialise_CreateBlendState1(const D3D11_BLEND_DESC1 *p { if(GetResourceManager()->HasWrapper(ret)) { + ret->Release(); ret = (ID3D11BlendState1 *)GetResourceManager()->GetWrapper(ret); ret->AddRef(); @@ -181,6 +182,7 @@ bool WrappedID3D11Device::Serialise_CreateRasterizerState1( { if(GetResourceManager()->HasWrapper(ret)) { + ret->Release(); ret = (ID3D11RasterizerState1 *)GetResourceManager()->GetWrapper(ret); ret->AddRef(); diff --git a/renderdoc/driver/d3d11/d3d11_device3_wrap.cpp b/renderdoc/driver/d3d11/d3d11_device3_wrap.cpp index 7dd9136ac..6e2636228 100644 --- a/renderdoc/driver/d3d11/d3d11_device3_wrap.cpp +++ b/renderdoc/driver/d3d11/d3d11_device3_wrap.cpp @@ -663,6 +663,7 @@ bool WrappedID3D11Device::Serialise_CreateRasterizerState2( { if(GetResourceManager()->HasWrapper(ret)) { + ret->Release(); ret = (ID3D11RasterizerState2 *)GetResourceManager()->GetWrapper(ret); ret->AddRef(); diff --git a/renderdoc/driver/d3d11/d3d11_device_wrap.cpp b/renderdoc/driver/d3d11/d3d11_device_wrap.cpp index ff603d43c..b63749e5b 100644 --- a/renderdoc/driver/d3d11/d3d11_device_wrap.cpp +++ b/renderdoc/driver/d3d11/d3d11_device_wrap.cpp @@ -1995,6 +1995,7 @@ bool WrappedID3D11Device::Serialise_CreateBlendState(const D3D11_BLEND_DESC *pBl { if(GetResourceManager()->HasWrapper(ret)) { + ret->Release(); ret = (ID3D11BlendState *)GetResourceManager()->GetWrapper(ret); ret->AddRef(); @@ -2079,6 +2080,7 @@ bool WrappedID3D11Device::Serialise_CreateDepthStencilState( { if(GetResourceManager()->HasWrapper(ret)) { + ret->Release(); ret = (ID3D11DepthStencilState *)GetResourceManager()->GetWrapper(ret); ret->AddRef(); @@ -2163,6 +2165,7 @@ bool WrappedID3D11Device::Serialise_CreateRasterizerState(const D3D11_RASTERIZER { if(GetResourceManager()->HasWrapper(ret)) { + ret->Release(); ret = (ID3D11RasterizerState *)GetResourceManager()->GetWrapper(ret); ret->AddRef(); @@ -2247,6 +2250,7 @@ bool WrappedID3D11Device::Serialise_CreateSamplerState(const D3D11_SAMPLER_DESC { if(GetResourceManager()->HasWrapper(ret)) { + ret->Release(); ret = (ID3D11SamplerState *)GetResourceManager()->GetWrapper(ret); ret->AddRef();