diff --git a/renderdoc/driver/d3d12/d3d12_device_rescreate_wrap.cpp b/renderdoc/driver/d3d12/d3d12_device_rescreate_wrap.cpp index a26fb2a6d..2bc5542b6 100644 --- a/renderdoc/driver/d3d12/d3d12_device_rescreate_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_device_rescreate_wrap.cpp @@ -71,6 +71,9 @@ bool WrappedID3D12Device::Serialise_CreateResource( // don't create resources non-resident HeapFlags &= ~D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT; + // don't create displayable heaps (?!) + HeapFlags &= ~D3D12_HEAP_FLAG_ALLOW_DISPLAY; + if(desc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER && gpuAddress != 0) { GPUAddressRange range; diff --git a/renderdoc/driver/d3d12/d3d12_device_wrap.cpp b/renderdoc/driver/d3d12/d3d12_device_wrap.cpp index 3aa5d200c..ab3d77fbe 100644 --- a/renderdoc/driver/d3d12/d3d12_device_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_device_wrap.cpp @@ -1476,6 +1476,9 @@ bool WrappedID3D12Device::Serialise_CreateHeap(SerialiserType &ser, const D3D12_ // don't create resources non-resident Descriptor.Flags &= ~D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT; + // don't create displayable heaps (?!) + Descriptor.Flags &= ~D3D12_HEAP_FLAG_ALLOW_DISPLAY; + if(m_DriverInfo.vendor == GPUVendor::Software && Descriptor.Properties.Type == D3D12_HEAP_TYPE_CUSTOM) Descriptor.Properties.MemoryPoolPreference = D3D12_MEMORY_POOL_L0; diff --git a/renderdoc/driver/d3d12/d3d12_device_wrap4.cpp b/renderdoc/driver/d3d12/d3d12_device_wrap4.cpp index eac456de2..ff6280130 100644 --- a/renderdoc/driver/d3d12/d3d12_device_wrap4.cpp +++ b/renderdoc/driver/d3d12/d3d12_device_wrap4.cpp @@ -249,6 +249,9 @@ bool WrappedID3D12Device::Serialise_CreateHeap1(SerialiserType &ser, const D3D12 // don't create resources non-resident Descriptor.Flags &= ~D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT; + // don't create displayable heaps (?!) + Descriptor.Flags &= ~D3D12_HEAP_FLAG_ALLOW_DISPLAY; + // don't replay with a protected session HRESULT hr = E_NOINTERFACE; if(m_pDevice4)