This patch is: Reviewed-by: Thomas Helland<thomashellan...@gmail.com>
2018-07-26 18:00 GMT+02:00 Jason Ekstrand <ja...@jlekstrand.net>: > --- > src/compiler/nir_types.cpp | 15 +++++++++++++++ > src/compiler/nir_types.h | 2 ++ > 2 files changed, 17 insertions(+) > > diff --git a/src/compiler/nir_types.cpp b/src/compiler/nir_types.cpp > index 3a3864414f3..c6f30368c95 100644 > --- a/src/compiler/nir_types.cpp > +++ b/src/compiler/nir_types.cpp > @@ -50,6 +50,15 @@ glsl_without_array(const glsl_type *type) > return type->without_array(); > } > > +const glsl_type * > +glsl_without_array_or_matrix(const glsl_type *type) > +{ > + type = type->without_array(); > + if (type->is_matrix()) > + type = type->column_type(); > + return type; > +} > + > const glsl_type * > glsl_get_array_instance(const glsl_type *type, > unsigned array_size) > @@ -224,6 +233,12 @@ glsl_type_is_array_of_arrays(const struct glsl_type > *type) > return type->is_array_of_arrays(); > } > > +bool > +glsl_type_is_array_or_matrix(const struct glsl_type *type) > +{ > + return type->is_array() || type->is_matrix(); > +} > + > bool > glsl_type_is_struct(const struct glsl_type *type) > { > diff --git a/src/compiler/nir_types.h b/src/compiler/nir_types.h > index 817b7a9b345..d29edd1d6c5 100644 > --- a/src/compiler/nir_types.h > +++ b/src/compiler/nir_types.h > @@ -48,6 +48,7 @@ const struct glsl_type *glsl_get_struct_field(const struct > glsl_type *type, > > const struct glsl_type *glsl_get_array_element(const struct glsl_type *type); > const struct glsl_type *glsl_without_array(const struct glsl_type *type); > +const struct glsl_type *glsl_without_array_or_matrix(const struct glsl_type > *type); > const struct glsl_type *glsl_get_array_instance(const struct glsl_type *type, > unsigned array_size); > > @@ -131,6 +132,7 @@ bool glsl_type_is_vector_or_scalar(const struct glsl_type > *type); > bool glsl_type_is_matrix(const struct glsl_type *type); > bool glsl_type_is_array(const struct glsl_type *type); > bool glsl_type_is_array_of_arrays(const struct glsl_type *type); > +bool glsl_type_is_array_or_matrix(const struct glsl_type *type); > bool glsl_type_is_struct(const struct glsl_type *type); > bool glsl_type_is_sampler(const struct glsl_type *type); > bool glsl_type_is_image(const struct glsl_type *type); > -- > 2.17.1 > > _______________________________________________ > 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