[Mesa-dev] [PATCH 01/14] nir: Add explicitly sized types

Connor Abbott cwabbott0 at gmail.com
Fri Mar 11 00:00:46 UTC 2016


On Mon, Mar 7, 2016 at 3:45 AM, Samuel Iglesias Gonsálvez
<siglesias at igalia.com> wrote:
> From: Jason Ekstrand <jason.ekstrand at intel.com>
>
> v2: Fix size/type mask to properly handle 8-bit types.
>
> Signed-off-by: Juan A. Suarez Romero <jasuarez at igalia.com>
> ---
>  src/compiler/nir/nir.h | 17 ++++++++++++++++-
>  1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h
> index cccb3a4..659e98c 100644
> --- a/src/compiler/nir/nir.h
> +++ b/src/compiler/nir/nir.h
> @@ -605,9 +605,24 @@ typedef enum {
>     nir_type_float,
>     nir_type_int,
>     nir_type_uint,
> -   nir_type_bool
> +   nir_type_bool,
> +   nir_type_bool32 =    32 | nir_type_bool,
> +   nir_type_int8 =      8  | nir_type_int,
> +   nir_type_int16 =     16 | nir_type_int,
> +   nir_type_int32 =     32 | nir_type_int,
> +   nir_type_int64 =     64 | nir_type_int,
> +   nir_type_uint8 =     8  | nir_type_uint,
> +   nir_type_uint16 =    16 | nir_type_uint,
> +   nir_type_uint32 =    32 | nir_type_uint,
> +   nir_type_uint64 =    64 | nir_type_uint,
> +   nir_type_float16 =   16 | nir_type_float,
> +   nir_type_float32 =   32 | nir_type_float,
> +   nir_type_float64 =   64 | nir_type_float,
>  } nir_alu_type;
>
> +#define NIR_ALU_TYPE_SIZE_MASK 0xfffffff8
> +#define NIR_ALU_TYPE_BASE_TYPE_MASK 0x00000007

So I'm not really the one to be reviewing this series (after all, I
wrote most of it :) ) but one thing that I never quite liked, and
didn't get around to fixing, is how we use these raw constants all
over the place. Perhaps we could make things more readable by adding
nir_get_sized_type(), nir_get_unsized_type(), and nir_type_size()
helpers and then use those instead of or-ing/and-ing things together
everywhere.

> +
>  typedef enum {
>     NIR_OP_IS_COMMUTATIVE = (1 << 0),
>     NIR_OP_IS_ASSOCIATIVE = (1 << 1),
> --
> 2.7.0
>
> _______________________________________________
> 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