Skip to content

glsl,nir: fix indirect tess factor access for compact_arrays=false drivers

Qiang Yu requested to merge yuq825/mesa:topic/fix-indirect-tess-factor into main

What does this MR do and why?

glsl,nir: fix indirect tess factor access for compact_arrays=false drivers

Driver with compact_arrays=false (i.e. radeonsi) is broken when
tess factor is accessed indirectly, for example:
  gl_TessLevelOuter[gl_InvocationID] = xxx;

This fix add a pass to lower array tess factor access into
direct vector access before nir_lower_io() like clip and
cull distance way.

Signed-off-by: Qiang Yu <yuq825@gmail.com>

Merge request reports