Mesa (mesa_7_5_branch): mesa: add debug printer for primitive name

Keith Whitwell keithw at kemper.freedesktop.org
Thu Jul 2 12:31:53 UTC 2009


Module: Mesa
Branch: mesa_7_5_branch
Commit: aa688d1579776494640475f4a5b93f3d7fae4fcd
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa688d1579776494640475f4a5b93f3d7fae4fcd

Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 12:13:50 2009 +0100

mesa: add debug printer for primitive name

Add a simple version of _mesa_lookup_enum_by_nr() which expects a primitive
enum (GL_POINTS..GL_POLYGON).  This avoids some annoying duplicates
when looking up primitives, such as the GL_FALSE/GL_POINTS clash.

---

 src/mesa/main/enums.c |   22 ++++++++++++++++++++++
 src/mesa/main/enums.h |    6 ++++++
 2 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c
index cf893fd..417cee8 100644
--- a/src/mesa/main/enums.c
+++ b/src/mesa/main/enums.c
@@ -5059,6 +5059,28 @@ const char *_mesa_lookup_enum_by_nr( int nr )
    }
 }
 
+/* Get the name of an enum given that it is a primitive type.  Avoids
+ * GL_FALSE/GL_POINTS ambiguity and others.
+ */
+const char *_mesa_lookup_prim_by_nr( int nr )
+{
+   switch (nr) {
+   case GL_POINTS: return "GL_POINTS";
+   case GL_LINES: return "GL_LINES";
+   case GL_LINE_STRIP: return "GL_LINE_STRIP";
+   case GL_LINE_LOOP: return "GL_LINE_LOOP";
+   case GL_TRIANGLES: return "GL_TRIANGLES";
+   case GL_TRIANGLE_STRIP: return "GL_TRIANGLE_STRIP";
+   case GL_TRIANGLE_FAN: return "GL_TRIANGLE_FAN";
+   case GL_QUADS: return "GL_QUADS";
+   case GL_QUAD_STRIP: return "GL_QUAD_STRIP";
+   case GL_POLYGON: return "GL_POLYGON";
+   case GL_POLYGON+1: return "OUTSIDE_BEGIN_END";
+   default: return "<invalid>";
+   }
+}
+
+
 int _mesa_lookup_enum_by_name( const char *symbol )
 {
    enum_elt * f = NULL;
diff --git a/src/mesa/main/enums.h b/src/mesa/main/enums.h
index 23a4767..b5f6900 100644
--- a/src/mesa/main/enums.h
+++ b/src/mesa/main/enums.h
@@ -40,6 +40,12 @@
 #if defined(_HAVE_FULL_GL) && _HAVE_FULL_GL
 
 extern const char *_mesa_lookup_enum_by_nr( int nr );
+
+/* Get the name of an enum given that it is a primitive type.  Avoids
+ * GL_FALSE/GL_POINTS ambiguity and others.
+ */
+const char *_mesa_lookup_prim_by_nr( int nr );
+
 extern int _mesa_lookup_enum_by_name( const char *symbol );
 
 #else




More information about the mesa-commit mailing list