diff options
author | Brian Paul <[email protected]> | 2009-12-30 10:30:16 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2009-12-30 10:30:23 -0700 |
commit | 16e91d4c0e1088f5c4098b01b4b7bf670cd66c4a (patch) | |
tree | 683f17d168f4ca591bd7846ea7fb365db42cbcb9 | |
parent | 56bdaca03e2289f56d1c88668d0a0f1dbd5abeca (diff) |
mesa: implement _mesa_GetStringi() for GL3
Note: not plugged into the dispatch table yet.
-rw-r--r-- | src/mesa/main/get.h | 3 | ||||
-rw-r--r-- | 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 076ab7a58bb..cc426fc0f61 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 6599ed9698d..cac5eef1cb6 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 |