Mesa (master): mesa: implement _mesa_GetStringi() for GL3

Brian Paul brianp at kemper.freedesktop.org
Wed Dec 30 09:33:17 PST 2009


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

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Dec 30 10:30:16 2009 -0700

mesa: implement _mesa_GetStringi() for GL3

Note: not plugged into the dispatch table yet.

---

 src/mesa/main/get.h       |    3 +++
 src/mesa/main/getstring.c |   28 ++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/get.h b/src/mesa/main/get.h
index 076ab7a..cc426fc 100644
--- a/src/mesa/main/get.h
+++ b/src/mesa/main/get.h
@@ -65,6 +65,9 @@ _mesa_GetPointerv( GLenum pname, GLvoid **params );
 extern const GLubyte * GLAPIENTRY
 _mesa_GetString( GLenum name );
 
+extern const GLubyte * GLAPIENTRY
+_mesa_GetStringi(GLenum name, GLuint index);
+
 extern GLenum GLAPIENTRY
 _mesa_GetError( void );
 
diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c
index 6599ed9..cac5eef 100644
--- a/src/mesa/main/getstring.c
+++ b/src/mesa/main/getstring.c
@@ -184,6 +184,34 @@ _mesa_GetString( GLenum name )
 
 
 /**
+ * GL3
+ */
+const GLubyte * GLAPIENTRY
+_mesa_GetStringi(GLenum name, GLuint index)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   if (!ctx)
+      return NULL;
+
+   ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, NULL);
+
+   switch (name) {
+   case GL_EXTENSIONS:
+      if (index >= _mesa_get_extension_count(ctx)) {
+         _mesa_error(ctx, GL_INVALID_VALUE, "glGetStringi(index=%u)", index);
+         return (const GLubyte *) 0;
+      }
+      return _mesa_get_enabled_extension(ctx, index);
+   default:
+      _mesa_error( ctx, GL_INVALID_ENUM, "glGetString" );
+      return (const GLubyte *) 0;
+   }
+}
+
+
+
+/**
  * Return pointer-valued state, such as a vertex array pointer.
  *
  * \param pname  names state to be queried



More information about the mesa-commit mailing list