nir: Add helper to create passthrough GS shader

Based on nir_create_passthrough_tcs and d3d12_make_passthrough_gs, this
creates a passthrough geometry shader that can be used by drivers that
needs to emulate some graphics features in the geometry shader.

Reviewed-by: Rob Clark <robclark@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19987>
This commit is contained in:
Erik Faye-Lund
2022-08-29 14:36:09 +02:00
committed by Marge Bot
parent 6f2dbe6da1
commit d0342e28b3
3 changed files with 113 additions and 0 deletions
+4
View File
@@ -4991,6 +4991,10 @@ nir_shader * nir_create_passthrough_tcs_impl(const nir_shader_compiler_options *
uint8_t patch_vertices);
nir_shader * nir_create_passthrough_tcs(const nir_shader_compiler_options *options,
const nir_shader *vs, uint8_t patch_vertices);
nir_shader * nir_create_passthrough_gs(const nir_shader_compiler_options *options,
const nir_shader *prev_stage,
enum shader_prim primitive_type,
unsigned vertices);
bool nir_lower_fragcolor(nir_shader *shader, unsigned max_cbufs);
bool nir_lower_fragcoord_wtrans(nir_shader *shader);