gallium: nir_compact_varyings usage broken?
In the course of investigating piglit/tests/spec/arb_tessellation_shader/execution/variable-indexing/tes-both-input-array-float-index-rd.shader_test
I came across an odd issue: nir_compact_varyings
is called during st_link_nir
, but I think it's never doing anything?
The problem is that nir_shader_gather_info
is called during st_nir_preprocess
, but variable locations aren't assigned until later (st_link_nir
-> gl_nir_link_glsl
), so nir_compact_varyings
ignores all the variables because the shader info i/o masks aren't populated.
Has anyone else noticed this? Am I missing something?