|
cc56e1aa
|
2021-04-09T23:35:07
|
|
Vulkan: Remove special output of structs and keep them in AST
The code that separated out declaration of nameless structs from uniform
variable declarations is generalized to separate out declaration of all
structs from uniform variable declarations.
As a result, a pass that outputs the struct types at the top of the
shader is no longer necessary. The struct declarations are kept in the
AST to be output to GLSL as they normally would when not used in
conjunction with uniform variables.
After this change, the Vulkan and Metal translators no longer intermix
transformations and code generation; transformations are done first
entirely in AST, and code generation is done at the end.
Bug: angleproject:2461
Bug: angleproject:4889
Change-Id: Ieb4d3f7091845e50c3dc399603ab01182692521d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818153
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|