From 71107b6dc8e97c1b99e748e540e4f01a666e1703 Mon Sep 17 00:00:00 2001 From: antonino Date: Fri, 5 May 2023 18:19:54 +0200 Subject: [PATCH] zink: don't create invalid inputs in `zink_create_quads_emulation_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: e2220ee55e4 ("zink: filled quad emulation gs generation function") Part-of: --- src/gallium/drivers/zink/zink_compiler.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index f44b647cde3..34203bb45dd 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -1240,6 +1240,11 @@ zink_create_quads_emulation_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);