nvk: Compile geometry shaders
authorGeorge Ouzounoudis <geothrock@gmail.com>
Tue, 18 Oct 2022 18:51:37 +0000 (21:51 +0300)
committerMarge Bot <emma+marge@anholt.net>
Fri, 4 Aug 2023 21:32:03 +0000 (21:32 +0000)
commit838c92ae9583c9e74135598e72f69d0cd29e7900
treea4d453693a210d25bd8d0adf086af744a4283f58
parentccc50eb2765b1b577a318edc8060730e32309047
nvk: Compile geometry shaders

This enables compiling geometry shaders.  Based primarily on gallium
nvc0/nvc0_program.c.

We need to enable/disable user clip planes based on the last geometry
stage.  Some asserts in codegen need to be changed too because the
compacted clip distance inputs are arrayed in the geometry shader. So we
have an array of clip distances for each input vertex.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
src/nouveau/vulkan/nvk_graphics_pipeline.c
src/nouveau/vulkan/nvk_shader.c