[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