From 00e8bd7d8beb0030532ebf92af9e08ed3efee75c Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 2 Mar 2023 17:21:36 +0000 Subject: [PATCH] When forcing WARP, force all heaps created to be L0 to comply with rules --- renderdoc/driver/d3d12/d3d12_device_wrap.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/renderdoc/driver/d3d12/d3d12_device_wrap.cpp b/renderdoc/driver/d3d12/d3d12_device_wrap.cpp index 9f9cedd10..cde3e82bd 100644 --- a/renderdoc/driver/d3d12/d3d12_device_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_device_wrap.cpp @@ -1677,6 +1677,10 @@ bool WrappedID3D12Device::Serialise_CreateHeap(SerialiserType &ser, const D3D12_ // don't create resources non-resident Descriptor.Flags &= ~D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT; + if(m_DriverInfo.vendor == GPUVendor::Software && + Descriptor.Properties.Type == D3D12_HEAP_TYPE_CUSTOM) + Descriptor.Properties.MemoryPoolPreference = D3D12_MEMORY_POOL_L0; + HRESULT hr = m_pDevice->CreateHeap(&Descriptor, guid, &realptr); ID3D12Heap *ret = NULL;