From 24197aeb2bfb3e5e1633974ffa455f77df22c422 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 2 Apr 2024 10:18:45 -0400 Subject: [PATCH] zink: only use location_frac for deref array indexing for compact variables not sure why I did this or how it ever worked? 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 dfb21b84863bd..1ab47b14d9895 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -3677,7 +3677,7 @@ add_derefs_instr(nir_builder *b, nir_intrinsic_instr *intr, void *data) } if (glsl_type_is_array(type)) { /* unroll array derefs */ - unsigned idx = frac - var->data.location_frac; + unsigned idx = var->data.compact ? (frac - var->data.location_frac) : 0; assert(src_offset); if (var->data.location < VARYING_SLOT_VAR0) { if (src_offset) {