PIX validation fallback should inspect canonical DXIL
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 76/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- cpp
- Domain
- testing-qa
Research direction
Start at the PIX test validation helper's direct validation and metadata-stripping fallback, comparing how each selects the DFCC_DXIL and DFCC_ShaderDebugInfoDXIL parts. Add the divergent-container regression test and canonical known-PIX positive control described in the issue; done means the fallback parses, clones, strips, and revalidates the canonical DFCC_DXIL module.
Written by the indexing model from the issue text.
Description
The PIX test validation helper directly validates the canonical DFCC_DXIL container part, but its metadata-stripping fallback parses DFCC_ShaderDebugInfoDXIL (ILDB). Those parts can diverge in content that survives debug-info stripping, so the fallback can classify validation using a different module from the one the validator rejected.
Reproduction
- Construct a DXIL container whose canonical
DFCC_DXILandDFCC_ShaderDebugInfoDXILparts contain different unused metadata. - Put a real non-PIX validation defect in the canonical part while the debug-info part contains only metadata permitted by the PIX test helper.
- Run the helper's direct validation and metadata-stripping fallback.
Direct validation rejects the canonical module, but the fallback inspects the ILDB module. In a divergent container, this can excuse or misclassify a genuine canonical validation failure.
Proposed fix
Parse, clone, strip, and revalidate the same canonical DFCC_DXIL part targeted by direct validation. Add a focused divergent-container regression test plus a positive control for canonical known-PIX metadata.
This is a test-harness correctness issue, not a compiler behavior change. It was discovered while reviewing PR #8841 and should be handled in a separate follow-up commit rather than expanding that review-feedback amendment.
- Dominant language
- C++
- Stars
- 3.7k
- Forks
- 900
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 39
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.
More from microsoft/DirectXShaderCompiler
-
bug needs-triage spirv
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
microsoft/DirectXShaderCompiler#8831 ·
-
bug needs-triage spirv
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
microsoft/DirectXShaderCompiler#8829 ·
-
bug needs-triage spirv
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/DirectXShaderCompiler#8828 ·
-
bug needs-triage spirv
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
microsoft/DirectXShaderCompiler#8827 ·
-
bug needs-triage spirv
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
microsoft/DirectXShaderCompiler#8826 ·
All issues in microsoft/DirectXShaderCompiler
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/cuda-samples#453 ·