mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-03 03:28:09 +02:00
freedreno/ir3: Implement f2b16 and i2b16
Reviewed-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
030b046df8
commit
b934716bd8
1 changed files with 12 additions and 0 deletions
|
|
@ -385,6 +385,12 @@ emit_alu(struct ir3_context *ctx, nir_alu_instr *alu)
|
|||
create_cov(ctx, src[0], 32, nir_op_f2f16),
|
||||
16, nir_op_f2f32);
|
||||
break;
|
||||
case nir_op_f2b16: {
|
||||
struct ir3_instruction *zero = create_immed_typed(b, 0, TYPE_F16);
|
||||
dst[0] = ir3_CMPS_F(b, src[0], 0, zero, 0);
|
||||
dst[0]->cat2.condition = IR3_COND_NE;
|
||||
break;
|
||||
}
|
||||
case nir_op_f2b32:
|
||||
dst[0] = ir3_CMPS_F(b, src[0], 0, create_immed(b, fui(0.0)), 0);
|
||||
dst[0]->cat2.condition = IR3_COND_NE;
|
||||
|
|
@ -400,6 +406,12 @@ emit_alu(struct ir3_context *ctx, nir_alu_instr *alu)
|
|||
case nir_op_b2i32:
|
||||
dst[0] = ir3_b2n(b, src[0]);
|
||||
break;
|
||||
case nir_op_i2b16: {
|
||||
struct ir3_instruction *zero = create_immed_typed(b, 0, TYPE_S16);
|
||||
dst[0] = ir3_CMPS_S(b, src[0], 0, zero, 0);
|
||||
dst[0]->cat2.condition = IR3_COND_NE;
|
||||
break;
|
||||
}
|
||||
case nir_op_i2b32:
|
||||
dst[0] = ir3_CMPS_S(b, src[0], 0, create_immed(b, 0), 0);
|
||||
dst[0]->cat2.condition = IR3_COND_NE;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue