From ebc18de6f59978defd435c18a47a980cdc2dcccf Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sat, 19 Jul 2025 18:17:47 -0400 Subject: [PATCH] nir/opt_vectorize_io: allow i/o semantics w/o component MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit load_uvs_index_agx always implicitly uses component 0. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Mary Guillemard Reviewed-by: Marek Olšák Part-of: --- src/compiler/nir/nir_opt_vectorize_io.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/compiler/nir/nir_opt_vectorize_io.c b/src/compiler/nir/nir_opt_vectorize_io.c index 3493c7b53db..8ab4e473113 100644 --- a/src/compiler/nir/nir_opt_vectorize_io.c +++ b/src/compiler/nir/nir_opt_vectorize_io.c @@ -583,8 +583,10 @@ nir_opt_vectorize_io(nir_shader *shader, nir_variable_mode modes, if (nir_intrinsic_has_io_semantics(intr)) { sem = nir_intrinsic_io_semantics(intr); assert(sem.location < NUM_TOTAL_VARYING_SLOTS); - index = sem.location * 8 + sem.high_16bits * 4 + - nir_intrinsic_component(intr); + index = sem.location * 8 + sem.high_16bits * 4; + + if (nir_intrinsic_has_component(intr)) + index += nir_intrinsic_component(intr); } switch (intr->intrinsic) {