[Mesa-dev] [PATCH v2 40/53] intel/compiler: handle conversions between int and half-float on atom
Pohjolainen, Topi
topi.pohjolainen at gmail.com
Wed Jan 2 10:29:26 UTC 2019
On Wed, Dec 19, 2018 at 12:51:08PM +0100, Iago Toral Quiroga wrote:
> ---
> src/intel/compiler/brw_fs_nir.cpp | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp
> index a9fd98bab68..57bc8a01a91 100644
> --- a/src/intel/compiler/brw_fs_nir.cpp
> +++ b/src/intel/compiler/brw_fs_nir.cpp
> @@ -848,13 +848,22 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr)
> */
>
> case nir_op_f2f16:
> - case nir_op_i2f16:
> - case nir_op_u2f16:
> case nir_op_i2i8:
> case nir_op_u2u8:
> + assert(type_sz(op[0].type) < 8); /* brw_nir_lower_conversions */
> + inst = bld.MOV(result, op[0]);
> + inst->saturate = instr->dest.saturate;
> + break;
> +
> + case nir_op_i2f16:
> + case nir_op_u2f16:
> case nir_op_f2i8:
> case nir_op_f2u8:
> assert(type_sz(op[0].type) < 8); /* brw_nir_lower_conversions */
> + case nir_op_f2i16:
> + case nir_op_f2u16:
> + if (fixup_int_half_float_conversion(bld, result, op[0], instr->dest.saturate, devinfo))
It looks we should wrap this line. Logic itself looks right:
Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
> + break;
> inst = bld.MOV(result, op[0]);
> inst->saturate = instr->dest.saturate;
> break;
> @@ -890,8 +899,6 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr)
> case nir_op_f2f32:
> case nir_op_f2i32:
> case nir_op_f2u32:
> - case nir_op_f2i16:
> - case nir_op_f2u16:
> case nir_op_i2i32:
> case nir_op_u2u32:
> case nir_op_i2i16:
> --
> 2.17.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list