nir/types: Add a few more glsl_type_is_ functions
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 12 Feb 2016 06:03:48 +0000 (22:03 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Sun, 14 Feb 2016 01:22:36 +0000 (17:22 -0800)
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/compiler/nir_types.cpp
src/compiler/nir_types.h

index 89f1be5..2942810 100644 (file)
@@ -158,6 +158,12 @@ glsl_type_is_void(const glsl_type *type)
 }
 
 bool
+glsl_type_is_error(const glsl_type *type)
+{
+   return type->is_error();
+}
+
+bool
 glsl_type_is_vector(const struct glsl_type *type)
 {
    return type->is_vector();
@@ -182,6 +188,18 @@ glsl_type_is_matrix(const struct glsl_type *type)
 }
 
 bool
+glsl_type_is_array(const struct glsl_type *type)
+{
+   return type->is_array();
+}
+
+bool
+glsl_type_is_struct(const struct glsl_type *type)
+{
+   return type->is_record() || type->is_interface();
+}
+
+bool
 glsl_type_is_sampler(const struct glsl_type *type)
 {
    return type->is_sampler();
index e16dc4b..48927da 100644 (file)
@@ -78,10 +78,13 @@ unsigned glsl_get_record_location_offset(const struct glsl_type *type,
                                          unsigned length);
 
 bool glsl_type_is_void(const struct glsl_type *type);
+bool glsl_type_is_error(const struct glsl_type *type);
 bool glsl_type_is_vector(const struct glsl_type *type);
 bool glsl_type_is_scalar(const struct glsl_type *type);
 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_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);
 bool glsl_sampler_type_is_shadow(const struct glsl_type *type);