glsl: Fix merging of layout(invocations) with other qualifiers
authorChris Forbes <chrisf@ijw.co.nz>
Fri, 27 Jun 2014 09:09:43 +0000 (21:09 +1200)
committerChris Forbes <chrisf@ijw.co.nz>
Fri, 4 Jul 2014 21:42:17 +0000 (09:42 +1200)
commit4087d9ec0b601465261da5d3bc06412d1ac3e445
tree5b12453adf12f475d3983a3c779c6d593d0dd439
parent9a37eb8adb6558a4abf47774b583cb582a0ae116
glsl: Fix merging of layout(invocations) with other qualifiers

If another layout qualifier appeared to the left of `invocations` in the
GS input layout declaration, the invocation count would be dropped on
the floor.

Fixes the piglit tests:

spec/ARB_transform_feedback3/arb_transform_feedback3-ext_interleaved_two_bufs_gs_max
spec/ARB_gpu_shader5/arb_gpu_shader5-invocation-id
spec/ARB_gpu_shader5/compiler/correct-multiple-layout-qualifier-invocations.geom
spec/ARB_gpu_shader5/execution/invocations-conflicting

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Tested-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/glsl/ast_type.cpp