Skip to content

Conversation

@V-FEXrt
Copy link
Collaborator

@V-FEXrt V-FEXrt commented Dec 19, 2025

This PR reserves the DXIL opcodes needed for the SM6.10 LinAlg feature. dx.types.MatrixRef and $vec2 are intentionally not yet added to the PR so those have a placeholder i32 type. Three opcodes were reserved in case any new LinAlg operations come up later.

Only utils/hct/hctdb.py was manually edited, all other changes are generated code.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 19, 2025

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

Copy link
Collaborator

@bob80905 bob80905 left a comment

Choose a reason for hiding this comment

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

Just 1 question, otherwise LGTM

],
)

op_table.reserve_dxil_op_range("LinAlgMatrixReserved", 3)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Would you mind explaining where the 3 is coming from?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Arbitrarily picked! This is just putting some opcodes aside since folks have the impression that there will be more LinAlg ops coming later.

Since this is the experimental pool they'll get freed eventually if they aren't used.

@V-FEXrt
Copy link
Collaborator Author

V-FEXrt commented Dec 31, 2025

For any future drive by reviewers :)

I'm intentionally not implementing microsoft/hlsl-specs#734 yet since this commit has a lot of stuff built on top of it and that issue doesn't have an hlsl-specs PR yet. I'm aware that I'm causing a bit of a headache for future me when I have to come back and fix this but it'll be a bit easier to make a fixup PR in the future than to unwind the ~6-7 PRs that are ready to queue up

@V-FEXrt V-FEXrt merged commit 8e2e899 into microsoft:main Dec 31, 2025
12 checks passed
@github-project-automation github-project-automation bot moved this from New to Done in HLSL Roadmap Dec 31, 2025
@V-FEXrt V-FEXrt deleted the linalg-reserve-ops branch December 31, 2025 19:06
V-FEXrt added a commit that referenced this pull request Dec 31, 2025
Similar to #8015
this PR reserved HL opcodes for the HLSL intrinsics required for the
LinAlg feature.

The Codegen for each function is set to `EmptyLower` which raises a not
implemented error if the intrinsic is seen.

`lib/HLSL/HLOperationLower.cpp` and `utils/hct/gen_intrin_main.txt` are
the real changes, the rest is generated code.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
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