Mesa (master): glsl: Convert glsl_type::base_type from #define' d constants to an enum.

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Nov 15 21:36:21 UTC 2010


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Nov 10 23:20:47 2010 -0800

glsl: Convert glsl_type::base_type from #define'd constants to an enum.

This is nice because printing type->base_type in GDB will now give you a
readable name instead of a number.

---

 src/glsl/glsl_types.cpp |    2 +-
 src/glsl/glsl_types.h   |   24 +++++++++++++-----------
 2 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/src/glsl/glsl_types.cpp b/src/glsl/glsl_types.cpp
index 82eb470..8c33cfa 100644
--- a/src/glsl/glsl_types.cpp
+++ b/src/glsl/glsl_types.cpp
@@ -46,7 +46,7 @@ glsl_type::init_talloc_type_ctx(void)
 }
 
 glsl_type::glsl_type(GLenum gl_type,
-		     unsigned base_type, unsigned vector_elements,
+		     glsl_base_type base_type, unsigned vector_elements,
 		     unsigned matrix_columns, const char *name) :
    gl_type(gl_type),
    base_type(base_type),
diff --git a/src/glsl/glsl_types.h b/src/glsl/glsl_types.h
index d38ef0b..d62d493 100644
--- a/src/glsl/glsl_types.h
+++ b/src/glsl/glsl_types.h
@@ -43,15 +43,17 @@ _mesa_glsl_initialize_types(struct _mesa_glsl_parse_state *state);
 extern "C" void
 _mesa_glsl_release_types(void);
 
-#define GLSL_TYPE_UINT          0
-#define GLSL_TYPE_INT           1
-#define GLSL_TYPE_FLOAT         2
-#define GLSL_TYPE_BOOL          3
-#define GLSL_TYPE_SAMPLER       4
-#define GLSL_TYPE_STRUCT        5
-#define GLSL_TYPE_ARRAY         6
-#define GLSL_TYPE_VOID          7
-#define GLSL_TYPE_ERROR         8
+enum glsl_base_type {
+   GLSL_TYPE_UINT = 0,
+   GLSL_TYPE_INT,
+   GLSL_TYPE_FLOAT,
+   GLSL_TYPE_BOOL,
+   GLSL_TYPE_SAMPLER,
+   GLSL_TYPE_STRUCT,
+   GLSL_TYPE_ARRAY,
+   GLSL_TYPE_VOID,
+   GLSL_TYPE_ERROR
+};
 
 enum glsl_sampler_dim {
    GLSL_SAMPLER_DIM_1D = 0,
@@ -65,7 +67,7 @@ enum glsl_sampler_dim {
 
 struct glsl_type {
    GLenum gl_type;
-   unsigned base_type:4;
+   glsl_base_type base_type;
 
    unsigned sampler_dimensionality:3;
    unsigned sampler_shadow:1;
@@ -393,7 +395,7 @@ private:
 
    /** Constructor for vector and matrix types */
    glsl_type(GLenum gl_type,
-	     unsigned base_type, unsigned vector_elements,
+	     glsl_base_type base_type, unsigned vector_elements,
 	     unsigned matrix_columns, const char *name);
 
    /** Constructor for sampler types */




More information about the mesa-commit mailing list