diff --git a/renderdoc/driver/d3d12/d3d12_initstate.cpp b/renderdoc/driver/d3d12/d3d12_initstate.cpp index 2d361bd06..edcc71492 100644 --- a/renderdoc/driver/d3d12/d3d12_initstate.cpp +++ b/renderdoc/driver/d3d12/d3d12_initstate.cpp @@ -2087,6 +2087,9 @@ void D3D12ResourceManager::Apply_InitialState(ID3D12DeviceChild *live, D3D12Init RDCMAX(4 * 1024 * 1024ULL, prebuild.ScratchDataSizeInBytes)); } + if(m_Device->HasFatalError() || GetRTManager()->ASSerialiseBuffer == NULL) + return; + desc.ScratchAccelerationStructureData = GetRTManager()->ASSerialiseBuffer->Address(); } @@ -2155,6 +2158,9 @@ void D3D12ResourceManager::Apply_InitialState(ID3D12DeviceChild *live, D3D12Init D3D12GpuBufferHeapMemoryFlag::Default, prebuild.ResultDataMaxSizeInBytes, 256, &data.cachedBuiltAS); + if(!data.cachedBuiltAS) + return; + ResourceId origId = GetOriginalID(as->GetResourceID()); UINT numPostBuilds = 0;