-
Notifications
You must be signed in to change notification settings - Fork 554
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
Unimplemented path in dead member elimination pass (spec constants) #3284
Comments
That assert might have only been in there for me to check if it was used in the cases that I had, and was suppose to be removed. The type of spec constants should be marked as fully used when searching for the live member, so nothing needs to be done for spec constants. I'll put up a PR that removes the assert, and does a little testing. @godlikepanos Could you just comment out the failing assert and see if that works for you? |
Now that I have looked at it closer I see what the problem was. This is for SpecConstantOp for operations that might extract a particular member. Those member must continue to exist. This will be fixed by adding an extra safety check in find live members. Specifics will be in the PR. |
- Rewrite composite insert and extract operations on SpecConstnatOp. - Leaves assert for Access chain instructions, which are only allowed for kernels. - Other operations do not require any extra code will no longer cause an assert. Fixes KhronosGroup#3284.
Hi,
I'm hitting an assertion when using -Os in spirv-opt:
The shader is quite simple. It was compiled with glslang without opts:
SPIRV for it:
Any plans on implementing this (@s-perron ?)? I'm afraid specialization constants have many issues in the optimizer (Another issue is #3282).
The text was updated successfully, but these errors were encountered: