Skip to content

PIX validation fallback should inspect canonical DXIL #8873

Description

@damyanp

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

  1. Construct a DXIL container whose canonical DFCC_DXIL and DFCC_ShaderDebugInfoDXIL parts contain different unused metadata.
  2. 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.
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugBug, regression, crashneeds-triageAwaiting triage

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions