agx: allow 8-bit bcsel

can be generated from our lowerings but it just works with the implicit
conversion semantics we have.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
This commit is contained in:
Alyssa Rosenzweig 2024-04-14 13:12:45 -04:00 committed by Marge Bot
parent a948244058
commit f21dbfe5ae

View file

@ -1590,11 +1590,11 @@ agx_emit_alu(agx_builder *b, nir_alu_instr *instr)
ASSERTED unsigned comps = instr->def.num_components;
assert(comps == 1 || nir_op_is_vec_or_mov(instr->op));
assert(
sz == 1 ||
((nir_op_is_vec_or_mov(instr->op) || is_conversion_to_8bit(instr->op)) &&
sz == 8) ||
sz == 16 || sz == 32 || sz == 64);
assert(sz == 1 ||
((nir_op_is_vec_or_mov(instr->op) ||
is_conversion_to_8bit(instr->op) || instr->op == nir_op_bcsel) &&
sz == 8) ||
sz == 16 || sz == 32 || sz == 64);
agx_index dst = agx_def_index(&instr->def);
agx_index s0 = srcs > 0 ? agx_alu_src_index(b, instr->src[0]) : agx_null();