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 89f1be570790dc1bf69a3f869cef050882f50a43..2942810f43bee028172312d65a90361d23541ace 100644 (file)
@@ -157,6 +157,12 @@ glsl_type_is_void(const glsl_type *type)
    return type->is_void();
 }
 
+bool
+glsl_type_is_error(const glsl_type *type)
+{
+   return type->is_error();
+}
+
 bool
 glsl_type_is_vector(const struct glsl_type *type)
 {
@@ -181,6 +187,18 @@ glsl_type_is_matrix(const struct glsl_type *type)
    return type->is_matrix();
 }
 
+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)
 {
index e16dc4be8f652e420204c91c4989bc9336f14c04..48927da33c6eb9a7aec1778e366fd2eb3a5696da 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);