-
Notifications
You must be signed in to change notification settings - Fork 734
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
[OMM] Add AllocateRayQuery2 DXIL Op, add validation #7124
Conversation
✅ With the latest revision this PR passed the Python code formatter. |
✅ With the latest revision this PR passed the C/C++ code formatter. |
I'll pull the new dxil opcode The opcode 258 is currently claimed by both PRs. This will allow us to merge more easily. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - some questions, maybe something you want to change as well.
You really should get a review from someone familiar with the DXC codebase.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comments for details:
- new op should not be in DXIL 1.8
- wrong location for DXIL op call checking code
- Some minor suggestions on validation rule naming
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
This PR adds AllocateRayQuery2 as a new DXIL Op, which is intended to be the DXIL Op that any rayquery object initialized with the 2nd optional template argument will be lowered to. Additionally, according to the spec here: https://github.com/microsoft/hlsl-specs/blob/main/proposals/0024-opacity-micromaps.md
there are new validation rules that should be run against the allocateRayQuery* DXIL Ops. This PR implements these validation rules, and tests them.
Fixes #7113