From ffcbbeb54ab0befe0aedd402e3cda0f6992322a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Thu, 20 Nov 2025 20:15:41 -0500 Subject: [PATCH] nir/validate: don't require offset src to be 0 if constant nir_opt_constant_folding does the folding, so this can be non-zero before that. Acked-by: Alyssa Rosenzweig Part-of: --- src/compiler/nir/nir_validate.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/compiler/nir/nir_validate.c b/src/compiler/nir/nir_validate.c index a42254d2f85..f1b6de1af00 100644 --- a/src/compiler/nir/nir_validate.c +++ b/src/compiler/nir/nir_validate.c @@ -857,7 +857,7 @@ validate_intrinsic_instr(nir_intrinsic_instr *instr, validate_state *state) (state->shader->info.stage == MESA_SHADER_FRAGMENT && instr->intrinsic == nir_intrinsic_load_input_vertex)); - /* Non-zero src offset with num_slots == 1 is disallowed. */ + /* Non-constant src offset with num_slots == 1 is disallowed. */ if (sem.num_slots == 1) { nir_src *offset_src = nir_get_io_offset_src(instr); @@ -889,8 +889,7 @@ validate_intrinsic_instr(nir_intrinsic_instr *instr, validate_state *state) * So allow phis in offset_src with num_slots == 1 for now. */ validate_assert(state, - (nir_src_is_const(*offset_src) && - nir_src_as_uint(*offset_src) == 0) || + nir_src_is_const(*offset_src) || nir_def_is_phi(offset_src->ssa)); } }