From e3428419fb9ccd01e8f1b1f7f2b9d864a36f38d6 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 12 Feb 2021 12:27:47 -0500 Subject: [PATCH] zink: fix slot mapping for legacy gl io with tess stages e.g., gl_BackColor is a thing Fixes: aec03553e1b ("zink: fix tess shader i/o variables") Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c index 4e11796e2af..e055b868796 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c +++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c @@ -413,9 +413,9 @@ handle_handle_slot(struct ntv_context *ctx, struct nir_variable *var, bool outpu if (var->data.patch) { assert(var->data.location >= VARYING_SLOT_PATCH0); return var->data.location - VARYING_SLOT_PATCH0; - } else if ((output && ctx->stage == MESA_SHADER_TESS_CTRL) || - (!output && ctx->stage == MESA_SHADER_TESS_EVAL)) { - assert(var->data.location >= VARYING_SLOT_VAR0); + } else if (var->data.location >= VARYING_SLOT_VAR0 && + ((output && ctx->stage == MESA_SHADER_TESS_CTRL) || + (!output && ctx->stage == MESA_SHADER_TESS_EVAL))) { return var->data.location - VARYING_SLOT_VAR0; } return handle_slot(ctx, var->data.location);