[Mesa-dev] [PATCH 01/14] nir: Add explicitly sized types
Samuel Iglesias Gonsálvez
siglesias at igalia.com
Fri Mar 11 07:33:20 UTC 2016
-----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.
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-----
More information about the mesa-dev
mailing list