Skip to content

Prevent experimental RDAT on released shader targets (#8534)#8589

Open
tex3d wants to merge 1 commit into
microsoft:release-1.9.2602from
tex3d:exp-rdat-exp-sm-vv0-on-release-1.9
Open

Prevent experimental RDAT on released shader targets (#8534)#8589
tex3d wants to merge 1 commit into
microsoft:release-1.9.2602from
tex3d:exp-rdat-exp-sm-vv0-on-release-1.9

Conversation

@tex3d

@tex3d tex3d commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

This will prevent experimental RDAT parts from being emitted when compiling to a released shader target, unless you explicitly supply -validator-version 0.0.

  • Add experimental DXIL version detection.
  • Update MaxPartTypeForValVer to require prerelease shader model + experimental validator version or unbound validator version for experimental parts.
  • DxilRDATBuilder: separate Add/Get to avoid on-demand addition of parts to enforce strict versioning.
  • Add max validator version to RDAT_STRUCT_TABLE_DERIVED to automatically set table stride correctly.
  • Add experimental RDAT tests for release and experimental versions.

Fixes #8272

Cherry-pick of 0786300

This will prevent experimental RDAT parts from being emitted when
compiling to a released shader target, unless you explicitly supply
-validator-version 0.0.

- Add experimental DXIL version detection.
- Update MaxPartTypeForValVer to require prerelease shader model +
experimental validator version or unbound validator version for
experimental parts.
- DxilRDATBuilder: separate Add/Get to avoid on-demand addition of parts
to enforce strict versioning.
- Add max validator version to RDAT_STRUCT_TABLE_DERIVED to
automatically set table stride correctly.
- Add experimental RDAT tests for release and experimental versions.

Fixes microsoft#8272

@llvm-beanz llvm-beanz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM, one question below as a sanity check.


LastPlus1,
LastExperimental = LastPlus1 - 1,
LastRelease = Last_1_8,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Just confirming, we didn't change anything in RDAT in 1.9 right?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Correct.

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.

2 participants