From 3f7da0c58447979976eb2928625b1f93154f6c57 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 16 Feb 2022 17:44:13 -0500 Subject: [PATCH] zink: fix xfb analysis variable finding for arrays this fixes clipdistance exports cc: mesa-stable Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_compiler.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index aa7a9ab994d..f2ad67de47b 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -477,7 +477,7 @@ find_var_with_location_frac(nir_shader *nir, unsigned location, unsigned locatio nir_foreach_shader_out_variable(var, nir) { if (var->data.location == location && (var->data.location_frac == location_frac || - glsl_get_vector_elements(var->type) >= location_frac + 1)) { + (glsl_type_is_array(var->type) ? glsl_array_size(var->type) : glsl_get_vector_elements(var->type)) >= location_frac + 1)) { if (location != VARYING_SLOT_PSIZ || !have_psiz || var->data.explicit_location) return var; }