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 <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28341>
This commit is contained in:
Job Noorman 2024-08-15 08:46:36 +02:00 committed by Marge Bot
parent cf395d1437
commit 83b55a7d7c

View file

@ -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));