Search Issue Tracker
Editor crashes when Ray Tracing Shaders are not compiled properly
# Open the attached project (“Crash_Shaders.zip“)
# Open Assets/Scenes/DxrSampleScene2
# Enter Play Mode
Expected result: Scene is being played
Actual result: Editor crashes
Reproducible with: 2019.4.40f1, 2020.3.36f1, 2021.3.6f1, 2022.1.10f1
Couldn't test with: 2022.2.0b1 (Unable to dispatch Ray Tracing Shader "RayTracingShader". Unsupported shader type for "ClosestHitMain". This shader type is supported in .shader files only.), 2023.1.0a2(Unable to dispatch Ray Tracing Shader "RayTracingShader". Unsupported shader type for "ClosestHitMain". This shader type is supported in .shader files only.)
First lines of stacktrace:
0x00007FF698C4BAE5 (Unity) GfxDeviceD3D12Base::DrawBuffersCommon
0x00007FF698C4AE6E (Unity) GfxDeviceD3D12Base::DrawBufferRanges
0x00007FF698C4B0F0 (Unity) GfxDeviceD3D12Base::DrawBuffers
0x00007FF69A255752 (Unity) GfxDeviceWorker::RunCommand
Reproducible on: Windows 11
Jul 27, 2022 10:38
To turn on a specific option that enables the GPU to report more runtime shader problems, choose Shader Error Reporting. As a result, more crashes that include shaders with ill-defined behaviour could be recorded. essaywritershub.co.uk/
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Changes are not saved when changing Styles' orders in the UI Builder
- “InvalidOperationException: Not enough space in output buffer (need 24, has 0)” error is thrown when using NativeList.GetVertices()
- High CPU usage when Spline Evaluate functions are used
- “Shader error in ‘Shader Graphs/Master’: Invalid conditional expression” is logged when a project is opened
- [macOS] SleepTimeout.NeverSleep setting is applied to the Editor after exiting Play mode
This is an user error and cannot by fixed by Unity.
It looks like the crash is caused by mismatching #pragma max_recursion_depth 8 declaration while static const uint gMaxDepth = 10; is used in the logic to stop the recursion which is higher than max_recursion_depth declaration. This cases cannot be detected by Unity or the shader compiler because is not possible to figure out from shader logic if you exceed the maximum recursion depth. This is 100% GPU crash.
Please set max_recursion_depth to 10 or gMaxDepth to 8.