Mesa (master): nir: Add a couple of helpers for glsl types.

Eric Anholt anholt at kemper.freedesktop.org
Thu Jan 29 19:46:45 UTC 2015


Module: Mesa
Branch: master
Commit: 36c604c8246ecbd50ee4d7d685201822973df5ec
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=36c604c8246ecbd50ee4d7d685201822973df5ec

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Oct 30 16:49:32 2014 -0700

nir: Add a couple of helpers for glsl types.

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 at gmail.com> (v2)
Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

---

 src/glsl/nir/nir_types.cpp |   14 +++++++++++++-
 src/glsl/nir/nir_types.h   |    3 +++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/glsl/nir/nir_types.cpp b/src/glsl/nir/nir_types.cpp
index fe00015..a13c3e1 100644
--- a/src/glsl/nir/nir_types.cpp
+++ b/src/glsl/nir/nir_types.cpp
@@ -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);
+}
diff --git a/src/glsl/nir/nir_types.h b/src/glsl/nir/nir_types.h
index 6f91e2d..494051a 100644
--- a/src/glsl/nir/nir_types.h
+++ b/src/glsl/nir/nir_types.h
@@ -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
 }




More information about the mesa-commit mailing list