Skip to content

NFC: Update HLSL_INTRINSIC struct for Flags and MinShaderModel fields #7199

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 13, 2025

Conversation

tex3d
Copy link
Contributor

@tex3d tex3d commented Mar 13, 2025

HLSL_INTRINSIC will need to be updated for SM 6.9, specifically:

  • to add a new flag
  • to encode minimum shader model version for an availability attribute

Changing this structure is a breaking change to the internal intrinsic table protocol, which is used for the extension mechanism.

This change separates out the breaking change with no functional changes for simpler review and testing.

For the new flag, this change switches to using a UINT Flags field to make flags extensible without breaking the table format. For the version, a UINT MinShaderModel will be the encoded version format used elsewhere: (Major << 4) | (Minor & 0xF)

Commented code for using the MinShaderModel is provided for when a subsequent change will implement the availability attribute checks.

HLSL_INTRINSIC will need to be updated for SM 6.9, specifically:
- to add a new flag
- to encode minimum shader model version for an availability attribute

Changing this structure is a breaking change to the internal intrinsic
table protocol, which is used for the extension mechanism.

This change separates out the breaking change with no functional changes
for simpler review and testing.

For the new flag, this change switches to using a UINT Flags field to make
flags extensible without breaking the table format.
For the version, a UINT MinShaderModel will be the encoded version format
used elsewhere: (Major << 4) | (Minor & 0xF)

Commented code for using the MinShaderModel is provided for when a
subsequent change will implement the availability attribute checks.
@tex3d tex3d requested a review from a team as a code owner March 13, 2025 04:19
Copy link
Contributor

github-actions bot commented Mar 13, 2025

✅ With the latest revision this PR passed the Python code formatter.

Copy link
Member

@damyanp damyanp left a comment

Choose a reason for hiding this comment

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

LGTM (assuming the automated tests are all green - looks like the python formatting check at least isn't happy)

Co-authored-by: Justin Bogner <mail@justinbogner.com>
@tex3d tex3d enabled auto-merge (squash) March 13, 2025 18:27
@tex3d tex3d merged commit ec5324d into microsoft:main Mar 13, 2025
12 checks passed
@github-project-automation github-project-automation bot moved this from New to Done in HLSL Roadmap Mar 13, 2025
@tex3d tex3d deleted the hlsl-intrinsic-struct-update branch March 13, 2025 19:47
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.

Update HLSL_INTRINSIC with Flags field and MinShaderModel for SM 6.9 requirements
4 participants