From 4a794ddaef781e717cf299b23e299ee033f050ef Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Tue, 3 Mar 2026 15:29:03 +0100 Subject: [PATCH] lima: use nir_lower_alu_width to lower vector compare Reviewed-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/lima/lima_program.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/lima/lima_program.c b/src/gallium/drivers/lima/lima_program.c index 186f96b216c..a431c9a537c 100644 --- a/src/gallium/drivers/lima/lima_program.c +++ b/src/gallium/drivers/lima/lima_program.c @@ -81,7 +81,6 @@ static const nir_shader_compiler_options fs_nir_options = { .lower_insert_byte = true, .lower_insert_word = true, .lower_bitops = true, - .lower_vector_cmp = true, .force_indirect_unrolling = (nir_var_shader_out | nir_var_function_temp), .force_indirect_unrolling_sampler = true, .max_unroll_iterations = 32, @@ -173,6 +172,18 @@ lima_alu_to_scalar_filter_cb(const nir_instr *instr, const void *data) nir_alu_instr *alu = nir_instr_as_alu(instr); switch (alu->op) { + case nir_op_ball_fequal2: + case nir_op_ball_fequal3: + case nir_op_ball_fequal4: + case nir_op_bany_fnequal2: + case nir_op_bany_fnequal3: + case nir_op_bany_fnequal4: + case nir_op_ball_iequal2: + case nir_op_ball_iequal3: + case nir_op_ball_iequal4: + case nir_op_bany_inequal2: + case nir_op_bany_inequal3: + case nir_op_bany_inequal4: case nir_op_frcp: /* nir_op_idiv is lowered to frcp by lower_int_to_floats which * will be run later, so lower idiv here