Skip to content

Conversation

@simoll
Copy link
Collaborator

@simoll simoll commented Oct 22, 2025

  • DXIL validation tests showing correct uses pass

SM6.10 tracking bug: #7824

@V-FEXrt
Copy link
Collaborator

V-FEXrt commented Oct 24, 2025

Hey Simon!

We've actually been talking about DXIL op stuff internally that this PR is going to fall under. Specially we want a better system to mark ops as experimental before they are upgraded to stable!

I have a proposal up (microsoft/hlsl-specs#698) but due to scheduling conflicts we aren't going to be able to make a final decision until ~Nov 4th.

Since the decision there has impacts on this PR we are holding off on the review for just a little bit. I wanted to give you a heads up so you weren't surprised by the silence from our side

@V-FEXrt
Copy link
Collaborator

V-FEXrt commented Nov 12, 2025

microsoft/hlsl-specs#729

The proposal is up here, once the implementation lands the ops here will need to be renumbered. I suspect the implementation will land quite quickly

@V-FEXrt
Copy link
Collaborator

V-FEXrt commented Nov 14, 2025

Spec has been merged! I'm on vacation the next few weeks but @tex3d should be uploading the infrastructure change soon. Then this can be rebased on that

@simoll
Copy link
Collaborator Author

simoll commented Dec 1, 2025

Spec has been merged! I'm on vacation the next few weeks but @tex3d should be uploading the infrastructure change soon. Then this can be rebased on that

@tex3d What's the status of the experimental opcode infra change to unblock this PR?

@tex3d
Copy link
Contributor

tex3d commented Dec 1, 2025

@tex3d What's the status of the experimental opcode infra change to unblock this PR?

I'm trying to get a second review on this: #7947. Once merged, you can update the branch and move the intrinsic definitions in hctdb.py into experimental and update any references to the opcode numbers that changed.

Copy link
Contributor

@tex3d tex3d left a comment

Choose a reason for hiding this comment

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

Now that #7947 has merged, you'll need to rebase and move things to experimental ops according to the comments I made.

@tex3d
Copy link
Contributor

tex3d commented Dec 8, 2025

I believe we'll also want to reserve high-level intrinsic IDs for these ASAP. It might be good to do this in the same PR, but a separate PR for that would be ok too.

That means updates to gen_intrin_main.txt, generated files, as well as manually adding EmptyLower entries for gLowerTable in HLOperationLower.cpp for each new high-level intrinsic operation.

This could serve as a good example for how to reserve HLSL intrinsics and DXIL opcodes for a feature before it's implemented, using the new experimental DXIL op table.

@tex3d
Copy link
Contributor

tex3d commented Dec 10, 2025

I've created a PR to reserve HL and DXIL ops for these operations here: #7995.

So, you should be able to re-apply just the changes necessary on top of main when that PR merges.

@simoll
Copy link
Collaborator Author

simoll commented Dec 10, 2025

Thanks @tex3d. I'll rebase when #7995 lands

@simoll simoll changed the title [SM6.10] DXIL opcodes for ClusterID and TriangleObjectPositions [SM6.10] VEC9 TriangleObjectPositions / CHECK-pass validation tests Dec 15, 2025
@simoll simoll force-pushed the sm610_dxil_opcodes branch from b3a793f to 63a5b8b Compare December 15, 2025 05:59
@simoll simoll requested a review from tex3d December 15, 2025 06:01
Copy link
Contributor

@tex3d tex3d left a comment

Choose a reason for hiding this comment

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

I think this looks good, with just one concern:

The signed form of the i32 opcode is the one llvm will print and the one that will be needed in CHECK lines of tests. I think it would be best to stick to the signed form for input IR as well, so that each opcode doesn't have two textural forms to search/replace when updating ops in tests for released versions.

Copy link
Contributor

@tex3d tex3d left a comment

Choose a reason for hiding this comment

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

I added suggested change comments to make updating the opcodes to canonical form easier.

@simoll simoll self-assigned this Jan 6, 2026
@simoll simoll requested a review from tex3d January 7, 2026 05:40
@simoll
Copy link
Collaborator Author

simoll commented Jan 12, 2026

@tex3d Please re-review. All tests use signed opcodes in the input IR now

Copy link
Contributor

@tex3d tex3d left a comment

Choose a reason for hiding this comment

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

I think the change is good, but the tests need to be moved if you want them to run, and they need a REQUIRES line to prevent them from running against down-level released DXIL validators.

@simoll
Copy link
Collaborator Author

simoll commented Jan 13, 2026

Thanks . I've moved the tests to LitDXILValidation and add the REQUIRES: dxil-1-10 clause.
Ready to merge

Copy link
Contributor

@tex3d tex3d left a comment

Choose a reason for hiding this comment

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

Thanks!

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.

3 participants