From e59c0494a553ff5ca8bc2de991aa13aa2e019571 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 21 Feb 2025 13:43:00 +0000 Subject: [PATCH] Add fatal error checks to avoid crashes on load in AS init state apply --- renderdoc/driver/d3d12/d3d12_initstate.cpp | 6 ++++++ 1 file changed, 6 insertions(+) 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;