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