From 83692bfe3013ace7a98ab59cdcbbae878b9c5758 Mon Sep 17 00:00:00 2001 From: antonino Date: Fri, 5 May 2023 11:53:55 +0200 Subject: [PATCH] nir: don't create invalid inputs in `nir_create_passthrough_gs` The helper was creating input locations for some builtin bariables. This caused validation errors in zink because those builtins can't be used as input. Fixes: d0342e28b32 ("nir: Add helper to create passthrough GS shader") Part-of: --- src/compiler/nir/nir_passthrough_gs.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/compiler/nir/nir_passthrough_gs.c b/src/compiler/nir/nir_passthrough_gs.c index 64f26a51f42..dc419b99ec5 100644 --- a/src/compiler/nir/nir_passthrough_gs.c +++ b/src/compiler/nir/nir_passthrough_gs.c @@ -186,6 +186,11 @@ nir_create_passthrough_gs(const nir_shader_compiler_options *options, nir_foreach_shader_out_variable(var, prev_stage) { assert(!var->data.patch); + /* input vars can't be created for those */ + if (var->data.location == VARYING_SLOT_LAYER || + var->data.location == VARYING_SLOT_VIEW_INDEX) + continue; + char name[100]; if (var->name) snprintf(name, sizeof(name), "in_%s", var->name);