diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index 4490d1057..84be831cf 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -4045,6 +4045,8 @@ void WrappedID3D12Device::CreateInternalResources() } } + GetResourceManager()->GetRaytracingResourceAndUtilHandler()->CreateInternalResources(); + // we don't want replay-only shaders added in WrappedID3D12Shader to pollute the list of resources WrappedID3D12Shader::InternalResources(true); diff --git a/renderdoc/driver/d3d12/d3d12_manager.cpp b/renderdoc/driver/d3d12/d3d12_manager.cpp index 264dc5c0e..c1b8d94e2 100644 --- a/renderdoc/driver/d3d12/d3d12_manager.cpp +++ b/renderdoc/driver/d3d12/d3d12_manager.cpp @@ -694,6 +694,10 @@ D3D12RaytracingResourceAndUtilHandler::D3D12RaytracingResourceAndUtilHandler(Wra m_gpuFence(NULL), m_gpuSyncHandle(NULL), m_gpuSyncCounter(0u) +{ +} + +void D3D12RaytracingResourceAndUtilHandler::CreateInternalResources() { if(m_wrappedDevice) { @@ -1238,7 +1242,7 @@ void D3D12RaytracingResourceAndUtilHandler::InitRayDispatchPatchingResources() (void **)&m_RayPatchingData.rootSig); if(!SUCCEEDED(result)) - RDCERR("Unable to create root signature for patching the BLAS"); + RDCERR("Unable to create root signature for dispatch patching"); // PipelineState ID3DBlob *shader = NULL; @@ -1259,7 +1263,11 @@ void D3D12RaytracingResourceAndUtilHandler::InitRayDispatchPatchingResources() &pipeline, __uuidof(ID3D12PipelineState), (void **)&m_RayPatchingData.pipe); if(!SUCCEEDED(result)) - RDCERR("Unable to create pipeline for patching the BLAS"); + RDCERR("Unable to create pipeline for dispatch patching"); + } + else + { + RDCERR("Failed to get shader for dispatch patching"); } SAFE_RELEASE(rootSig); diff --git a/renderdoc/driver/d3d12/d3d12_manager.h b/renderdoc/driver/d3d12/d3d12_manager.h index 90d2f1e53..2f9ca0cdd 100644 --- a/renderdoc/driver/d3d12/d3d12_manager.h +++ b/renderdoc/driver/d3d12/d3d12_manager.h @@ -1084,6 +1084,8 @@ class D3D12RaytracingResourceAndUtilHandler public: D3D12RaytracingResourceAndUtilHandler(WrappedID3D12Device *device); + void CreateInternalResources(); + ID3D12GraphicsCommandListX *GetCmd() const { return m_cmdList; } ID3D12CommandAllocator *GetCmdAlloc() const { return m_cmdAlloc; } ID3D12CommandQueue *GetCmdQueue() const { return m_cmdQueue; }