Skip to content

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

Merged
damyanp merged 1 commit into
microsoft:release-1.9.2602from
tex3d:exp-rdat-exp-sm-vv0-on-release-1.9
Jun 29, 2026
Merged

Prevent experimental RDAT on released shader targets (#8534)#8589
damyanp merged 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.

@damyanp damyanp merged commit cb5d6c8 into microsoft:release-1.9.2602 Jun 29, 2026
13 checks passed
@github-project-automation github-project-automation Bot moved this from New to Done in HLSL Roadmap Jun 29, 2026
@tex3d tex3d deleted the exp-rdat-exp-sm-vv0-on-release-1.9 branch June 30, 2026 01:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants