radv, ac/nir: Fix multiview layer export for mesh shaders.
authorTimur Kristóf <timur.kristof@gmail.com>
Fri, 13 May 2022 19:32:12 +0000 (21:32 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 31 May 2022 07:58:29 +0000 (07:58 +0000)
commitc69b771e35fede00b6754d4578903e698715b170
treee0aaed8c2ce023608f01e9283d91a9312e1f5567
parentc636660585b7b5684eb12829d334c1caf53bb7c8
radv, ac/nir: Fix multiview layer export for mesh shaders.

Unfortunately, radv_lower_multiview is not suitable for mesh shaders
because it can't know the mapping between API mesh shader
invocations and output primitives.

Additionally, when lowering view id to layer, it must be created
as a per-primitive PS input.

Fixes: d32656bc65a7c0165e53d551e23462d626bbf870
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16504>
src/amd/common/ac_nir.h
src/amd/common/ac_nir_lower_ngg.c
src/amd/vulkan/radv_pipeline.c
src/amd/vulkan/radv_shader.c
src/amd/vulkan/radv_shader.h
src/amd/vulkan/radv_shader_info.c