From f367dbdfc94f77b87c5bf8d95029c45373281f46 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 9 Oct 2024 11:02:05 +0100 Subject: [PATCH] ignore BLASs with valid VAs but no created AS --- renderdoc/driver/d3d12/d3d12_initstate.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/renderdoc/driver/d3d12/d3d12_initstate.cpp b/renderdoc/driver/d3d12/d3d12_initstate.cpp index f12ad4c19..3978b2478 100644 --- a/renderdoc/driver/d3d12/d3d12_initstate.cpp +++ b/renderdoc/driver/d3d12/d3d12_initstate.cpp @@ -1447,11 +1447,15 @@ bool D3D12ResourceManager::Serialise_InitialState(SerialiserType &ser, ResourceI UINT64 blasOffs; m_Device->GetResIDFromOrigAddr(instances[i].AccelerationStructure, blasId, blasOffs); - ID3D12Resource *blas = GetLiveAs(blasId); + WrappedID3D12Resource *blas = GetLiveAs(blasId); - if(blasId == ResourceId() || blas == NULL) + D3D12AccelerationStructure *as = NULL; + if(blasId == ResourceId() || blas == NULL || blas->GetAccStructIfExist(blasOffs, &as)) { - RDCWARN("BLAS referenced by TLAS is not available on replay - possibly stale TLAS"); + RDCWARN( + " %u: BLAS referenced by TLAS is not available on replay - possibly stale " + "TLAS", + i); instances[i].AccelerationStructure = 0; continue; }