mesa: rewrite _mesa_get_handle() and add some comments

This commit is contained in:
Brian Paul
2010-05-26 22:40:38 -06:00
parent 69861ae497
commit eb88c02a4b

View File

@@ -893,21 +893,28 @@ _mesa_get_attached_shaders(GLcontext *ctx, GLuint program, GLsizei maxCount,
} }
/** glGetHandleARB() - return ID/name of currently bound shader program */
static GLuint static GLuint
_mesa_get_handle(GLcontext *ctx, GLenum pname) _mesa_get_handle(GLcontext *ctx, GLenum pname)
{ {
GLint handle = 0;
if (pname == GL_PROGRAM_OBJECT_ARB) { if (pname == GL_PROGRAM_OBJECT_ARB) {
CALL_GetIntegerv(ctx->Exec, (GL_CURRENT_PROGRAM, &handle)); if (ctx->Shader.CurrentProgram)
} else { return ctx->Shader.CurrentProgram->Name;
_mesa_error(ctx, GL_INVALID_ENUM, "glGetHandleARB"); else
return 0;
}
else {
_mesa_error(ctx, GL_INVALID_ENUM, "glGetHandleARB");
return 0;
} }
return handle;
} }
/**
* glGetProgramiv() - get shader program state.
* Note that this is for GLSL shader programs, not ARB vertex/fragment
* programs (see glGetProgramivARB).
*/
static void static void
_mesa_get_programiv(GLcontext *ctx, GLuint program, _mesa_get_programiv(GLcontext *ctx, GLuint program,
GLenum pname, GLint *params) GLenum pname, GLint *params)
@@ -977,6 +984,7 @@ _mesa_get_programiv(GLcontext *ctx, GLuint program,
} }
/** glGetShaderiv() - get GLSL shader state */
static void static void
_mesa_get_shaderiv(GLcontext *ctx, GLuint name, GLenum pname, GLint *params) _mesa_get_shaderiv(GLcontext *ctx, GLuint name, GLenum pname, GLint *params)
{ {