nir: Add a couple of helpers for glsl types.
authorEric Anholt <eric@anholt.net>
Thu, 30 Oct 2014 23:49:32 +0000 (16:49 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 29 Jan 2015 19:41:17 +0000 (11:41 -0800)
This will be used by tgsi_to_nir, which needs to get vec4 types for
declaring shader input/output variables.

v2: Add a missing space.

Reviewed-by: Matt Turner <mattst88@gmail.com> (v2)
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
src/glsl/nir/nir_types.cpp
src/glsl/nir/nir_types.h

index fe0001592d1a86c1bd9d74351ec5970f1cdb4a7b..a13c3e12a86e169470ff130b7543c39ecd311e33 100644 (file)
@@ -136,8 +136,20 @@ glsl_type_is_matrix(const struct glsl_type *type)
    return type->is_matrix();
 }
 
-const glsl_type*
+const glsl_type *
 glsl_void_type(void)
 {
    return glsl_type::void_type;
 }
+
+const glsl_type *
+glsl_vec4_type(void)
+{
+   return glsl_type::vec4_type;
+}
+
+const glsl_type *
+glsl_array_type(const glsl_type *base, unsigned elements)
+{
+   return glsl_type::get_array_instance(base, elements);
+}
index 6f91e2dce8db74fe0e7b276f25b03833b6c98789..494051a6755a5e9c37179b275165f54cb92029d8 100644 (file)
@@ -69,6 +69,9 @@ bool glsl_type_is_scalar(const struct glsl_type *type);
 bool glsl_type_is_matrix(const struct glsl_type *type);
 
 const struct glsl_type *glsl_void_type(void);
+const struct glsl_type *glsl_vec4_type(void);
+const struct glsl_type *glsl_array_type(const struct glsl_type *base,
+                                        unsigned elements);
 
 #ifdef __cplusplus
 }