On Fri, Mar 11, 2016 at 2:33 AM, Samuel Iglesias Gonsálvez <sigles...@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 >> <cwabbo...@gmail.com> wrote: >> >>> On Mon, Mar 7, 2016 at 3:45 AM, Samuel Iglesias Gonsálvez >>> <sigles...@igalia.com> wrote: >>>> From: Jason Ekstrand <jason.ekstr...@intel.com> >>>> >>>> v2: Fix size/type mask to properly handle 8-bit types. >>>> >>>> Signed-off-by: Juan A. Suarez Romero <jasua...@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.
I should probably mention, in general we tend to prefer inline functions over macros where possible since it's clearer what their argument types and return type are and they tend to integrate better with gdb. > > However, we can add them here and modify the rest of fp64 patches if > you prefer it. > > Sam > >>> >>>> + typedef enum { NIR_OP_IS_COMMUTATIVE = (1 << 0), >>>> NIR_OP_IS_ASSOCIATIVE = (1 << 1), -- 2.7.0 >>>> >>>> _______________________________________________ mesa-dev >>>> mailing list mesa-dev@lists.freedesktop.org >>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev >>> _______________________________________________ mesa-dev mailing >>> list mesa-dev@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----- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev