[spv-out] Fix duplicate scalar OpType #266
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When the following WGSL input was used:
You would get a validation error when validating the SPIR-V output. The reason was because there would be a duplicate
OpTypeFloat
is because the vector implicitly uses OpTypeFloat here.If you would first explicity add a float variable, it would work:
The reason this works is as there is an explicit
f32
declaration and that is getting parsed correctly.Technical
This is due to how LookupTypes work and I am not entirely sure how it is caused, but it something has to do that the implicit
f32
don't have a handle and aren't recognized when looking up.Conclusion
For now, this "quick" fix should push the code forward, so we can focus on getting in more support for more shaders. The Lookup system works fine for now, but it can use some refactor a little later down the road.
This PR is one step closer to successfully parse the quad.wgsl