Search Issue Tracker
Won't Fix
Votes
1
Found in
2019.3.9f1
2022.1.23f1
2022.2.0b16
2023.1.0a18
2023.2.0a1
Issue ID
UUM-10113
Regression
No
Editor crashes when Ray Tracing Shaders are not compiled properly
Reproduction steps:
# 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
[^Crash_Shaders.zip]
Comments (1)
-
DanielEaton
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/
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Assigned font's bold/font-weight styles render using Default Font's assets when Default Font has corresponding style assets defined in TMP Settings
- "Modifying the parent of a VisualElement while it’s already being modified is not allowed" error is thrown when entering text and pressing tab in the Search window
- Mesh colliders are not updating their positions of bounds correctly
- Images are missing from the "Open the sprite editor" documentation for 6.0, 6.1 and 6.2
- The previous element in the array is modified when assigning an Asset to a new element of AssetReferenceT
Resolution Note:
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.