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

Jason Ekstrand jason at jlekstrand.net
Fri Mar 11 00:08:58 UTC 2016


On Thu, Mar 10, 2016 at 4:00 PM, Connor Abbott <cwabbott0 at gmail.com> wrote:

> 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.
>

Agreed.


>
> > +
> >  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
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160310/ef08c02e/attachment-0001.html>


More information about the mesa-dev mailing list