[Mesa-dev] [PATCH v3 05/43] nir: Populate conversion opcodes to/from 16-bit types

Pohjolainen, Topi topi.pohjolainen at gmail.com
Sat Oct 21 08:22:45 UTC 2017


On Thu, Oct 12, 2017 at 08:37:54PM +0200, Jose Maria Casanova Crespo wrote:
> From: Eduardo Lima Mitev <elima at igalia.com>
> 
> This will include the following NIR ALU opcodes:
>  * nir_op_i2i16
>  * nir_op_i2f16
>  * nir_op_u2u16
>  * nir_op_u2f16
>  * nir_op_f2i16
>  * nir_op_f2u16
>  * nir_op_f2f16

Subject says "...to/from 16-bit types", it should only say "to", right?

I thought conversion from 16-bits to 32-bits was also needed but apparently
not (all the promotions seem to happen case by case in the backend. For example,
the move from 16-bits to 32-bits when 16-bit RT isn't supported). A few
words here in the commit would be nice explaining why only one direction is
needed.

> 
> Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
> ---
>  src/compiler/nir/nir_opcodes_c.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/compiler/nir/nir_opcodes_c.py b/src/compiler/nir/nir_opcodes_c.py
> index a1db54f05a..02bb4738ed 100644
> --- a/src/compiler/nir/nir_opcodes_c.py
> +++ b/src/compiler/nir/nir_opcodes_c.py
> @@ -62,7 +62,7 @@ nir_type_conversion_op(nir_alu_type src, nir_alu_type dst)
>  %                 endif
>  %              endif
>                 switch (dst_bit_size) {
> -%                 for dst_bits in [32, 64]:
> +%                 for dst_bits in [16, 32, 64]:
>                    case ${dst_bits}:
>                       return ${'nir_op_{0}2{1}{2}'.format(src_t[0], dst_t[0], dst_bits)};
>  %                 endfor
> -- 
> 2.13.6
> 
> _______________________________________________
> 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