diff --git a/renderdoc/driver/d3d12/d3d12_device_wrap.cpp b/renderdoc/driver/d3d12/d3d12_device_wrap.cpp index 0fa3d25d2..7051489b1 100644 --- a/renderdoc/driver/d3d12/d3d12_device_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_device_wrap.cpp @@ -969,6 +969,9 @@ bool WrappedID3D12Device::Serialise_CreateCommittedResource( } } + // always allow SRVs on replay so we can inspect resources + desc.Flags &= ~D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE; + if(desc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER) { GPUAddressRange range; @@ -1171,6 +1174,9 @@ bool WrappedID3D12Device::Serialise_CreatePlacedResource( m_GPUAddresses.AddTo(range); } + // always allow SRVs on replay so we can inspect resources + desc.Flags &= ~D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE; + ID3D12Resource *ret = NULL; HRESULT hr = m_pDevice->CreatePlacedResource(Unwrap(pHeap), Offset, &desc, state, pOptimizedClearValue, guid, (void **)&ret);