Skip to content
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

Folding rules for 1.4 selects #2554

Closed
alan-baker opened this issue May 7, 2019 · 0 comments · Fixed by #2568
Closed

Folding rules for 1.4 selects #2554

alan-baker opened this issue May 7, 2019 · 0 comments · Fixed by #2568
Assignees

Comments

@alan-baker
Copy link
Contributor

SPIR-V 1.4 allows selects between composites with a scalar bool (even for vectors). Folding rules should reflect this.

@alan-baker alan-baker added this to the Support for SPIR-V 1.4 milestone May 7, 2019
@alan-baker alan-baker self-assigned this May 8, 2019
alan-baker added a commit to alan-baker/SPIRV-Tools that referenced this issue May 8, 2019
Fixes KhronosGroup#2554

* Folding rules already handle 1.4 selects so I simply added some tests
alan-baker added a commit that referenced this issue May 8, 2019
Fixes #2554

* Folding rules already handle 1.4 selects so I simply added some tests
afd pushed a commit to afd/SPIRV-Tools that referenced this issue May 14, 2019
Fixes KhronosGroup#2554

* Folding rules already handle 1.4 selects so I simply added some tests
s-perron added a commit to s-perron/SPIRV-Tools that referenced this issue Sep 9, 2019
If an OpKill instruction is inlined into a continue construct, then the
spir-v is no longer valid.  To avoid this issue, we do inline into an
OpKill at all.  This method was chosen because it is difficult to keep
track of whether or not you are in a continue construct while changing
the function that is being inlined into.  This will work well with wrap
OpKill because every will still be inlined except for the OpKill
instruction itself.

Fixes KhronosGroup#2554
Fixes KhronosGroup#2433

This reverts commit aa9e8f5.
s-perron added a commit that referenced this issue Sep 11, 2019
If an OpKill instruction is inlined into a continue construct, then the
spir-v is no longer valid.  To avoid this issue, we do inline into an
OpKill at all.  This method was chosen because it is difficult to keep
track of whether or not you are in a continue construct while changing
the function that is being inlined into.  This will work well with wrap
OpKill because every will still be inlined except for the OpKill
instruction itself.

Fixes #2554
Fixes #2433

This reverts commit aa9e8f5.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant