Mesh shader outputs are either:
- non-array builtins
- array builtins that are either per-primitive or per-vertex
- user-defined outputs that must be either per-primitive or per-vertex
So we can identify any array output as "arrayed" for the purposes of
I/O lowering.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10600>
stage == MESA_SHADER_TESS_EVAL;
if (var->data.mode == nir_var_shader_out)
- return stage == MESA_SHADER_TESS_CTRL;
+ return stage == MESA_SHADER_TESS_CTRL ||
+ stage == MESA_SHADER_MESH;
return false;
}