Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4708>
case nir_op_f2f16_rtne:
case nir_op_f2f16_rtz:
case nir_op_f2f16:
- /* TODO how to handle rounding mode? */
case nir_op_i2f16:
case nir_op_u2f16:
dst_type = TYPE_F16;
ir3_context_error(ctx, "invalid conversion op: %u", op);
}
- return ir3_COV(ctx->block, src, src_type, dst_type);
+ struct ir3_instruction *cov =
+ ir3_COV(ctx->block, src, src_type, dst_type);
+
+ if (op == nir_op_f2f16_rtne)
+ cov->regs[0]->flags |= IR3_REG_EVEN;
+
+ return cov;
}
static void