nir: Additional lowering of TessLevelInner/Outer for SPIR-V to NIR compilation
The GLSL to NIR compiler supports a few extra compilation options for tessellation shaders over its SPIR-V to NIR cousin, in particular:
GLSLTessLevelsAsInputsto specify gl_TessLevelInner/Outer as regular varying shader inputs/outputs instead of sysvals.
LowerTessLevelto convert gl_TessLevelInner/Outer from their GLSL declarations as arrays of floats to vec2/vec4s respectively to better match how they may be represented in hardware.
This MR adds similar functionality to
spirv_to_nir. These new compilation options will be used by turnip so we can share freedreno's tess lowering pass (
ir3_nir_lower_tess) which expects tess levels as vector sysvals.