nir: Add an option for lowering TessLevelInner/Outer to vecs
authorBrian Ho <brian@brkho.com>
Thu, 14 May 2020 19:17:48 +0000 (12:17 -0700)
committerMarge Bot <eric+marge@anholt.net>
Mon, 22 Jun 2020 14:35:45 +0000 (14:35 +0000)
commitd2df0761200ba9680f0d22defaa02c33fb051fcf
treeb38c6ee4bdb62d7c151cf04c1a6e43894d7ba6ab
parentd2d4677b56efa0003065b61e39c1ef977c83f7da
nir: Add an option for lowering TessLevelInner/Outer to vecs

The GLSL to NIR compiler supports the LowerTessLevel flag to convert
gl_TessLevelInner/Outer from their GLSL declarations as arrays of
floats to vec4/vec2s to better match how they are represented in
hardware.

This commit adds the similar support to the SPIR-V to NIR compiler so
turnip can use the same IR3/NIR tess lowering passes as freedreno.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059>
src/compiler/spirv/nir_spirv.h
src/compiler/spirv/vtn_variables.c