microsoft / microsoft/DirectXShaderCompiler
[SPIR-V] Generated SPIR-V debug information makes RenderDoc to crash
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 3.7k
- Forks
- 900
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 44
Description
Description
When trying to debug a pixel shader, RenderDoc crashes, likely due to invalid debug information.
Steps to Reproduce
dxc.exe def_final_composition_bug.txt -E mainfrag -T ps_6_0 -spirv -fspv-target-env=vulkan1.1 -Wall -Wno-unused-const-variable -D imBINDLESS=1 -fspv-extension=SPV_EXT_descriptor_indexing -fspv-extension=SPV_KHR_non_semantic_info -fspv-debug=vulkan-with-source
Actual Behavior
Debugging the fragment shader with RenderDoc leads to the tool crashing immediately.
SPIR-V is very likely incorrect but I'm unable to say which line(s) is/are the culprit(s).
Environment
-
DXC version
dxcompiler.dll: 1.10(5360-c1e1fc78)(1.10.2605.24) - 1.10.2605.24 (c1e1fc784)
and
dxcompiler.dll: 1.9(5191-d355aa83)(1.9.2602.24) - 1.9.2602.24 (d355aa836)
and
dxcompiler.dll: 1.9(5184-21d28f72)(1.9.2602.17) - 1.9.2602.17 (21d28f727) -
Host Operating System Windows 11
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the attached def_final_composition_bug.txt and reproduce the issue using the provided dxc.exe command, including -spirv and -fspv-debug=vulkan-with-source. Inspect the generated SPIR-V debug information and use RenderDoc to confirm the failure. Done means debugging the resulting fragment shader no longer causes RenderDoc to crash.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100