spirv: Don't leak GS initialization to other stages
authorCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Fri, 8 Nov 2019 23:58:15 +0000 (15:58 -0800)
committerCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Sat, 9 Nov 2019 00:28:21 +0000 (16:28 -0800)
commit087ecd9ca58a84cf85e66323b44140e7304d5f93
tree0af448b2f2b941c1dc51dcd6899262333bbaf276
parent84a1a2578dab10ddb7ada831b598db5f7bc6a859
spirv: Don't leak GS initialization to other stages

The stage specific fields of shader_info are in an union.  We've
likely been lucky that this value was either overwritten or ignored by
other stages.  The recent change in shader_info layout in commit
84a1a2578da ("compiler: pack shader_info from 160 bytes to 96 bytes")
made this issue visible.

Fixes: cf2257069cb ("nir/spirv: Set a default number of invocations for geometry shaders")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/compiler/spirv/spirv_to_nir.c