Skip to content

[PIX] Add validation support to PIX pass tests - #8841

Open
Damyan Pepper (damyanp) wants to merge 1 commit into
mainfrom
users/damyanp/pix-fixes-01
Open

[PIX] Add validation support to PIX pass tests#8841
Damyan Pepper (damyanp) wants to merge 1 commit into
mainfrom
users/damyanp/pix-fixes-01

Conversation

@damyanp

@damyanp Damyan Pepper (damyanp) commented Aug 27, 2026

Copy link
Copy Markdown
Member

Part 1 of 14 in the PIX instrumentation stack. It targets main. It is the stack floor, and the later layers use the test helpers it adds.

The PIX passes change DXIL after the compiler completes. A pass can add a resource, change a root signature, insert an operation, and remove a declaration. The result can be a module that the validator refuses. The tests only examine the disassembly, so they cannot find this type of defect.

The new helpers run the DXIL validator on the output of a pass. They also separate the diagnostics that PIX instrumentation is permitted to cause from the diagnostics that are defects. The set of permitted diagnostics decides what every later layer can ignore, so it is the part to examine with care.

There is no change to the compiler.

Assisted-by: Copilot

This changes only the tests, so it needs no release note.


Stack created with GitHub Stacks CLIGive Feedback 💬

The PIX passes change DXIL after the compiler completes. A pass can add a resource, change a root signature, insert an operation, and remove a declaration. The result can be a module that the validator refuses. The tests only examine the disassembly, so they cannot find this type of defect.

The new helpers run the DXIL validator on the output of a pass. They also separate the diagnostics that PIX instrumentation is permitted to cause from the diagnostics that are defects. The set of permitted diagnostics decides what every later layer can ignore, so it is the part to examine with care.

There is no change to the compiler.

Assisted-by: Copilot

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 40dc9de3-617e-4caf-ab0d-fba0a033ed93

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a validation harness for PIX pass test outputs.

Changes:

  • Adds single-pass execution and DXIL validation helpers.
  • Filters permitted PIX metadata diagnostics.
  • Adds control tests for valid and invalid outputs.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +3711 to +3713
FilteredValidationDiagnostics realDiagnostic =
GetSignificantValidationDiagnostics("Validation failed.\n"
"Some real validator diagnostic.\n");
Comment on lines +361 to +363
if (line.find("All metadata must be used by dxil") != std::string::npos) {
result.PermittedExceptionCount++;
continue;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

4 participants