From cf4953d184b698425cded9a71dfc67c24334da36 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 15 Mar 2024 13:47:12 -0400 Subject: [PATCH] zink: apply component offset for CLIP/CULL DIST1 location derefs cannot currently be reached Part-of: --- src/gallium/drivers/zink/zink_compiler.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 4ebae04e8d8..bfb543c0ff9 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -3678,6 +3678,10 @@ add_derefs_instr(nir_builder *b, nir_intrinsic_instr *intr, void *data) unsigned offset = slot_offset; if (is_builtin_array) offset *= 4; + if (is_clipdist) { + if (loc == VARYING_SLOT_CLIP_DIST1 || loc == VARYING_SLOT_CULL_DIST1) + offset += 4; + } deref = nir_build_deref_array_imm(b, deref, offset + idx); } else { nir_def *offset = src_offset->ssa;