tree 64fcb4b19297243b29cc4ff1c639c1e5b8043dc9
parent dd86dd15bad72df77456589170969b4b9a7dc707
author Cody Northrop <cnorthrop@google.com> 1642698235 -0800
committer Angle LUCI CQ <angle-scoped@luci-project-accounts.iam.gserviceaccount.com> 1648829397 +0000

Compiler: Allow deferred array sizing in geometry shaders

Based on work by Brandon Schade <b.schade@samsung.com>.

When a shader sets an array input size in a GS after declaring input
variables, compilation would fail.

Example shader -

 in vec3 normal[];
 in vec3 view_dir[];
 in float patch_dist[];
 in float e_patch_wire_scale[];
 ...
 layout(triangles) in;
 layout(triangle_strip, max_vertices=3) out;
 void main() {
 ...

Update translator to handle such cases.

Also add a new check that there are no remaining unsized
arrays when compilation has completed.

Test: GeometryShaderTest.DeferredSetOfArrayInputSize
Bug: angleproject:3571
Bug: angleproject:7125
Change-Id: I4853832c27f9551284bcca92b98cbf5f3a63aaf5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3564259
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
