From 9500ebd94be9a981a44a150bf0551b7b881452a8 Mon Sep 17 00:00:00 2001 From: baldurk Date: Sat, 2 Mar 2024 00:03:25 +0000 Subject: [PATCH] Fix initialisation errors and resource leaks --- renderdoc/driver/d3d12/d3d12_device.cpp | 2 +- renderdoc/driver/d3d12/d3d12_manager.cpp | 2 ++ renderdoc/driver/d3d12/d3d12_manager.h | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index 35cd87a5e..e1cd8769c 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -3117,7 +3117,7 @@ void WrappedID3D12Device::UploadBLASBufferAddresses() addressBufferResDesc.MipLevels = 1; addressBufferResDesc.SampleDesc.Count = 1; addressBufferResDesc.SampleDesc.Quality = 0; - addressBufferResDesc.Width = requiredSize; + addressBufferResDesc.Width = RDCMAX(8ULL, requiredSize); D3D12_HEAP_PROPERTIES heapProps; heapProps.Type = D3D12_HEAP_TYPE_UPLOAD; diff --git a/renderdoc/driver/d3d12/d3d12_manager.cpp b/renderdoc/driver/d3d12/d3d12_manager.cpp index c9eb6827a..1261f94e2 100644 --- a/renderdoc/driver/d3d12/d3d12_manager.cpp +++ b/renderdoc/driver/d3d12/d3d12_manager.cpp @@ -835,6 +835,8 @@ void D3D12RaytracingResourceAndUtilHandler::InitReplayBlasPatchingResources() if(!SUCCEEDED(result)) RDCERR("Unable to create pipeline for patching the BLAS"); } + + SAFE_RELEASE(rootSig); } } else diff --git a/renderdoc/driver/d3d12/d3d12_manager.h b/renderdoc/driver/d3d12/d3d12_manager.h index 76c2a3415..a89fd9f84 100644 --- a/renderdoc/driver/d3d12/d3d12_manager.h +++ b/renderdoc/driver/d3d12/d3d12_manager.h @@ -1053,6 +1053,8 @@ public: SAFE_RELEASE(m_cmdAlloc); SAFE_RELEASE(m_cmdQueue); SAFE_RELEASE(m_gpuFence); + SAFE_RELEASE(m_accStructPatchInfo.m_rootSignature); + SAFE_RELEASE(m_accStructPatchInfo.m_pipeline); } void InitInternalResources();