-
Notifications
You must be signed in to change notification settings - Fork 148
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
Issue with RelaxedPrecision and OpCompositeConstruct #151
Comments
Also, shouldn't it also be handled for the arithmetic operators such as FSub, along with handling ExtInst cases, since most (all?) of the GLSL instruction extensions could also be decorated with RelaxedPrecision? |
Sorry for the bump on this, any thoughts? I'd be happy to submit a patch if my understanding is correct. |
It seems spirv-reflect doesn't recognize the My understanding is that you are right. |
Sorry for the late response. Support for RelaxPrecision initially wasn't prioritized because there wasn't a production case. I'll take a look using your shader as an example. If you're able to share more complex cases, it would be helpful. |
Thanks for taking a look, I don't have a more complex example right now. I think the tricky part would be covering all of the possible cases. I wonder if anything that be pulled from the SPIR-V validator, since it knows to check for instructions where Relaxed Precision is legal and not. |
Sorry again for the late response. It looks likeI had missed something you said earlier. If you're still willing to submit a patch - I'd love to take a look. |
I have the following shader:
Reflection fails since it's trying to reflect the RelaxedPrecision on result_id 18, however ParseNodes() does not assign the result_id to OpCompositeConstruct nodes. Isn't OpCompositeConstruct a load/store operation, and should be treated as such? The SPIR-V is coming out of GLSLang, and passes the SPIR-V validator.
Thanks
The text was updated successfully, but these errors were encountered: