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();