mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 11:50:09 +01:00
pan/bi: Passthrough second argument of F32_TO_F16
At the NIR level this is a second vector source of the first (only) argument; at the BIR level this is a pair of scalars. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5307>
This commit is contained in:
parent
8a4efe2d73
commit
1b09c6993d
1 changed files with 20 additions and 0 deletions
|
|
@ -834,6 +834,26 @@ emit_alu(bi_context *ctx, nir_alu_instr *instr)
|
|||
case nir_op_ixor:
|
||||
alu.op.bitwise = BI_BITWISE_XOR;
|
||||
break;
|
||||
|
||||
case nir_op_f2f16:
|
||||
case nir_op_i2i16:
|
||||
case nir_op_u2u16: {
|
||||
if (nir_src_bit_size(instr->src[0].src) != 32)
|
||||
break;
|
||||
|
||||
/* Should have been const folded */
|
||||
assert(!nir_src_is_const(instr->src[0].src));
|
||||
|
||||
alu.src_types[1] = alu.src_types[0];
|
||||
alu.src[1] = alu.src[0];
|
||||
|
||||
unsigned last = nir_dest_num_components(instr->dest.dest) - 1;
|
||||
assert(last <= 1);
|
||||
|
||||
alu.swizzle[1][0] = instr->src[0].swizzle[last];
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue