Module: Mesa Branch: master Commit: dd49a404106852804544eaf695e46b2f5ccd0a0f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd49a404106852804544eaf695e46b2f5ccd0a0f
Author: Jonathan Marek <[email protected]> Date: Wed Apr 22 23:21:20 2020 -0400 freedreno/ir3: set even bit for f2f16_rtne Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4708> --- src/freedreno/ir3/ir3_compiler_nir.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c index 553b772b8ec..c6ed65550a0 100644 --- a/src/freedreno/ir3/ir3_compiler_nir.c +++ b/src/freedreno/ir3/ir3_compiler_nir.c @@ -236,7 +236,6 @@ create_cov(struct ir3_context *ctx, struct ir3_instruction *src, 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; @@ -276,7 +275,13 @@ create_cov(struct ir3_context *ctx, struct ir3_instruction *src, 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 _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
