-
Notifications
You must be signed in to change notification settings - Fork 193
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
[spv-out] Fix non-uniformity attributes #2421
Conversation
67e8dfe
to
d07a978
Compare
There seems to be a lot of uncertainty around where the The SPIR-V Spec on
The SPIR-V Spec on Uniformity says it should be present on image operands of image operations otherwise they are assumed to be uniform.
The VUID-RuntimeSpirv-NonUniform-06274 is more insightful, although I had to read it a few times to understand what (I think) it's trying to say. That is:
I've also looked at glslang's source code and it matches my understanding. |
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.
Besides the comment I left, the PR looks good but I think we can take a simpler approach (see #2422).
OpDecorate %55 NonUniform | ||
OpDecorate %58 NonUniform |
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.
I think for buffers we need to keep the decoration on the access chain.
Well that's not needlessly complicated... Thanks for doing that research! |
It was quite the rabbit hole 😅 |
Fixes #2408
This isn't the cleanest change, but I couldn't really figure out a better way to structure it.