st/glsl_to_tgsi: explicitly track all input and output declaration
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 7 Oct 2016 10:19:11 +0000 (12:19 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 12 Oct 2016 16:50:10 +0000 (18:50 +0200)
commit777dcf81b956158546616aae89507cafb83b9ac5
treef0a5d5c88862f68c4e16491628bbdfcb49a8e073
parent2299a9940c5ac5fb42b0726afa9a67fc23ba3a48
st/glsl_to_tgsi: explicitly track all input and output declaration

In order to be able to emit overlapping input and output array
declarations, we flip the logic of emitting those declarations on its
head: rather than iterating over slots and emitting the corresponding
declarations, we iterate over the declarations from GLSL and emit those.

v2: fix some regressions related to structs
v3: fix a regression in geometry and tessellation shader array handling

Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net> (v2)
Reviewed-by: Dave Airlie <airlied@redhat.com> (v2)
src/mesa/state_tracker/st_glsl_to_tgsi.cpp