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

Jason Ekstrand jason at jlekstrand.net
Sat Mar 12 01:53:41 UTC 2016


On Thu, Mar 10, 2016 at 11:33 PM, Samuel Iglesias Gonsálvez <
siglesias at igalia.com> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
>
>
> On 11/03/16 01:08, Jason Ekstrand wrote:
> > 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.
> >
> >
>
> Agreed. We saw it too but, as this is used in a lot in the fp64 patches,
> we were thinking on apply one patch at the end of the fp64 series adding
> those helper functions (maybe just macros like NIR_GET_UNSIZED_TYPE and
> NIR_GET_TYPE_SIZE) and adapting the users of the mask.
>
> However, we can add them here and modify the rest of fp64 patches if
> you prefer it.
>

Either is fine by me.  Just so long as it happens.
--Jason


>
> Sam
>
> >>
> >>> + 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
> >>
> >
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2
>
> iQIcBAEBCAAGBQJW4nTAAAoJEH/0ujLxfcNDQmcP/3PDBMxX+z91XQ0wSY7QMuu8
> I4BVir0n1J3g05S8Yid+z61vCOMNdDB9xmUCJmV1Jv+YuS4SB5GaluHj9jFBPgvj
> YQtT5SnoGC1tBEViAPa+nNRwxF+fxh8xLKG+OQ2IXqDMAdIsx5V772Ea8/anClhi
> q4d8Fw93URPubBKTTh8IMt/dOa0oN3L0Cka7062bLl27+Y2Ml8MyPVLEQPBI2WP8
> ayMicIDco2ldRS3u/jteGc6R4GI9Ef8gIsSVyEYPKUYgNmVkun5LMJjpjbh2PXBB
> VaManLcCdv6Yf2GP9ehQjTp4rr0GLl2rcAaftt0pD7MN1ZzQlFp/opyIQpzFe+Ny
> hqzzvbn8wh/W4goKbfir6HpasaPC56AamTnHZ9zJVhaUIPjan/oSSRHRoK9kswib
> rpnj5WDQN9KKnuY89Pxoo/w8aesgyektLiFbsXQx7jbNVxKOdrvKwnhSjSQs0sUG
> C+e/2oLSMiH2VLnYT7iJoinD8IlQXgmYBo/IZvFgtcOfZdJRgSssrWQclfagv8MR
> dzNLUTR5sS6/GG+4nTuD14uGaswuToCRCNiq2CDnemFXMdtgkIkztj8dwZd8u9hY
> kP5UQKoW6KU+0fFf8PQez2YCFX/dxLXtRyP8uP+V5ZUh1y+Qv4TDwYacl/VG8Hlt
> kx7+UXIC4g/vUS5ONfP0
> =6z48
> -----END PGP SIGNATURE-----
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160311/a28ec87d/attachment-0001.html>


More information about the mesa-dev mailing list