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_DXIL and DFCC_ShaderDebugInfoDXIL parts 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.
The PIX test validation helper directly validates the canonical
DFCC_DXILcontainer part, but its metadata-stripping fallback parsesDFCC_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
DFCC_DXILandDFCC_ShaderDebugInfoDXILparts contain different unused metadata.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_DXILpart 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.