From 83b55a7d7c1f2b11d9c01918f8bb0ea942dc75ad Mon Sep 17 00:00:00 2001 From: Job Noorman Date: Thu, 15 Aug 2024 08:46:36 +0200 Subject: [PATCH] ir3: use correct bit size for bools in emit_alu The special case for 32b bools on pre-a5xx gens was not taken into account everywhere. Signed-off-by: Job Noorman Part-of: --- src/freedreno/ir3/ir3_compiler_nir.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c index caff434256f..9283696a108 100644 --- a/src/freedreno/ir3/ir3_compiler_nir.c +++ b/src/freedreno/ir3/ir3_compiler_nir.c @@ -585,7 +585,8 @@ emit_alu(struct ir3_context *ctx, nir_alu_instr *alu) unsigned bs[info->num_inputs]; /* bit size */ struct ir3_block *b = ctx->block; unsigned dst_sz; - type_t dst_type = type_uint_size(alu->def.bit_size); + unsigned dst_bitsize = ir3_bitsize(ctx, alu->def.bit_size); + type_t dst_type = type_uint_size(dst_bitsize); dst_sz = alu->def.num_components; assert(dst_sz == 1 || ir3_supports_vectorized_nir_op(alu->op));