The GPU crashes after the ray tracing geometry builder attempts to create a shader resource view with an invalid offset.
Expected
The Editor does not crash
Actual
The Editor issues a D3D validation error
D3D12 ERROR: ID3D12Device::CreateShaderResourceView: The Dimensions of the View are invalid due to at least one of the following conditions. Assuming this Format (0x27, R32_TYPELESS), FirstElement (value = 1844216) must be between 0 and the maximum offset of the Buffer, 1844215, inclusively. With the current FirstElement, NumElements (value = 1844214) must be between 1 and 0, inclusively, in order that the View fit on the Buffer. [ STATE_CREATION ERROR #31: CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS]D3D12: **BREAK** enabled for the previous message, which was: [ ERROR STATE_CREATION #31: CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS ]
Followed by a GPU crash
[673]LogD3D12RHI: Error: hr failed at \Engine\Source\Runtime\D3D12RHI\Private\D3D12Resources.cpp:1048 with error DXGI_ERROR_DEVICE_REMOVED with Reason: DXGI_ERROR_INVALID_CALL
[Inline Frame] UnrealEditor-D3D12RHI.dll!D3DVectoredExceptionHandler::_l11::<lambda_1>::operator()() Line 246 C++ UnrealEditor-D3D12RHI.dll!D3DVectoredExceptionHandler(_EXCEPTION_POINTERS * InInfo) Line 246 C++ [External Code] UnrealEditor-D3D12RHI.dll!FD3D12ShaderResourceView::UpdateDescriptor() Line 130 C++ UnrealEditor-D3D12RHI.dll!FD3D12View::CreateView(const FD3D12View::FResourceInfo & InResource, FD3D12OfflineDescriptor * NullDescriptor) Line 317 C++ UnrealEditor-D3D12RHI.dll!FD3D12RayTracingGeometry::AllocateBufferSRVs(unsigned int InGPUIndex) Line 3096 C++ UnrealEditor-D3D12RHI.dll!FD3D12RayTracingGeometry::SetupHitGroupSystemParameters(unsigned int InGPUIndex) Line 3267 C++ UnrealEditor-D3D12RHI.dll!FD3D12CommandContext::RHIBuildAccelerationStructures(TArrayView<FRayTracingGeometryBuildParams const ,int> Params, const FRHIBufferRange & ScratchBufferRange) Line 3988 C++ [Inline Frame] UnrealEditor-Renderer.dll!FRHIComputeCommandList::BuildAccelerationStructures(TArrayView<FRayTracingGeometryBuildParams const ,int>) Line 3371 C++ UnrealEditor-Renderer.dll!FRayTracingDynamicGeometryCollection::DispatchUpdates(FRHICommandList & RHICmdList, FRHIBuffer * ScratchBuffer) Line 698 C++ [Inline Frame] UnrealEditor-Renderer.dll!FRayTracingDynamicGeometryCollection::AddDynamicGeometryUpdatePass::l2::<lambda_1>::operator()(FRDGAsyncTask) Line 572 C++ [Inline Frame] UnrealEditor-Renderer.dll!TRDGLambdaPass<FRayTracingDynamicGeometryUpdatePassParams,`FRayTracingDynamicGeometryCollection::AddDynamicGeometryUpdatePass'::`2'::<lambda_1>>::ExecuteLambdaFunc(FRHIComputeCommandList &) Line 682 C++ UnrealEditor-Renderer.dll!TRDGLambdaPass<FRayTracingDynamicGeometryUpdatePassParams,`FRayTracingDynamicGeometryCollection::AddDynamicGeometryUpdatePass'::`2'::<lambda_1>>::Execute(FRHIComputeCommandList & RHICmdList) Line 703 C++ UnrealEditor-RenderCore.dll!FRDGBuilder::ExecutePass(FRHIComputeCommandList & RHICmdListPass, FRDGPass * Pass) Line 3360 C++ UnrealEditor-RenderCore.dll!FRDGBuilder::ExecuteSerialPass(FRHIComputeCommandList & RHICmdListPass, FRDGPass * Pass) Line 3379 C++ UnrealEditor-RenderCore.dll!FRDGBuilder::SetupAuxiliaryPasses(FRDGPass * Pass) Line 2579 C++ UnrealEditor-RenderCore.dll!FRDGBuilder::SetupParameterPass(FRDGPass * Pass) Line 2615 C++ [Inline Frame] UnrealEditor-Renderer.dll!FRDGBuilder::AddPassInternal(FRDGEventName &&) Line 265 C++ UnrealEditor-Renderer.dll!FRDGBuilder::AddPass<FRayTracingDynamicGeometryUpdatePassParams,`FRayTracingDynamicGeometryCollection::AddDynamicGeometryUpdatePass'::`2'::<lambda_1>>(FRDGEventName && Name, const FRayTracingDynamicGeometryUpdatePassParams * ParameterStruct, ERDGPassFlags Flags, FRayTracingDynamicGeometryCollection::AddDynamicGeometryUpdatePass::l2::<lambda_1> && ExecuteLambda) Line 314 C++ UnrealEditor-Renderer.dll!FRayTracingDynamicGeometryCollection::AddDynamicGeometryUpdatePass(const FViewInfo & View, FRDGBuilder & GraphBuilder, ERDGPassFlags ComputePassFlags, FRDGBuffer * & OutDynamicGeometryScratchBuffer) Line 566 C++ UnrealEditor-Renderer.dll!FDeferredShadingSceneRenderer::DispatchRayTracingWorldUpdates(FRDGBuilder & GraphBuilder, FRDGBuffer * & OutDynamicGeometryScratchBuffer) Line 851 C++ UnrealEditor-Renderer.dll!FDeferredShadingSceneRenderer::Render(FRDGBuilder & GraphBuilder) Line 2463 C++ UnrealEditor-Renderer.dll!RenderViewFamilies_RenderThread(FRHICommandListImmediate & RHICmdList, const TArray<FSceneRenderer *,TSizedDefaultAllocator<32>> & SceneRenderers) Line 5431 C++ UnrealEditor-Renderer.dll!FRendererModule::BeginRenderingViewFamilies::l96::<lambda_3>::operator()(FRHICommandListImmediate & RHICmdList) Line 5734 C++ [Inline Frame] UnrealEditor-Renderer.dll!EnqueueUniqueRenderCommand(FRendererModule::BeginRenderingViewFamilies::l96::<lambda_3> &&) Line 363 C++ [Inline Frame] UnrealEditor-Renderer.dll!FRenderCommandPipe::Enqueue(FRendererModule::BeginRenderingViewFamilies::l96::<lambda_3> &&) Line 482 C++ UnrealEditor-Renderer.dll!FRendererModule::BeginRenderingViewFamilies(FCanvas * Canvas, TArrayView<FSceneViewFamily *,int> ViewFamilies) Line 5726 C++ UnrealEditor-Renderer.dll!FRendererModule::BeginRenderingViewFamily(FCanvas * Canvas, FSceneViewFamily * ViewFamily) Line 5566 C++ UnrealEditor-UnrealEd.dll!FEditorViewportClient::Draw(FViewport * InViewport, FCanvas * Canvas) Line 4350 C++ UnrealEditor-Engine.dll!FViewport::Draw(bool bShouldPresent) Line 1806 C++ UnrealEditor-UnrealEd.dll!UEditorEngine::UpdateSingleViewportClient(FEditorViewportClient * InViewportClient, const bool bInAllowNonRealtimeViewportToDraw, bool bLinkedOrthoMovement, bool * bOutViewportDrawn) Line 2662 C++ UnrealEditor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 2315 C++ UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 550 C++ UnrealEditor.exe!FEngineLoop::Tick() Line 5877 C++ [Inline Frame] UnrealEditor.exe!EngineTick() Line 69 C++ UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 188 C++ UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE_ * hInInstance, HINSTANCE__ * hPrevInstance, char * _formal, int nCmdShow, const wchar_t * CmdLine) Line 266 C++ UnrealEditor.exe!WinMain(HINSTANCE_ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 317 C++
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-238753 in the post.
0 |
Component | UE - Graphics Features - Ray Tracing |
---|---|
Affects Versions | 5.5.1, 5.5 |
Target Fix | 5.6 |
Fix Commit | 37490386 |
---|---|
Main Commit | 37490410 |
Created | Jan 13, 2025 |
---|---|
Resolved | Jan 13, 2025 |
Updated | Feb 20, 2025 |