projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
69861ae
)
mesa: rewrite _mesa_get_handle() and add some comments
author
Brian Paul
<brianp@vmware.com>
Thu, 27 May 2010 04:40:38 +0000
(22:40 -0600)
committer
Brian Paul
<brianp@vmware.com>
Thu, 27 May 2010 04:40:38 +0000
(22:40 -0600)
src/mesa/shader/shader_api.c
patch
|
blob
|
history
diff --git
a/src/mesa/shader/shader_api.c
b/src/mesa/shader/shader_api.c
index 25853823a1cbce463220289b282e256abff18030..03fb1a91cef6bc21df9e413d7e072c4c0ad5ffb4 100644
(file)
--- a/
src/mesa/shader/shader_api.c
+++ b/
src/mesa/shader/shader_api.c
@@
-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
_mesa_get_handle(GLcontext *ctx, GLenum pname)
{
static GLuint
_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));
- } else {
+ if (ctx->Shader.CurrentProgram)
+ return ctx->Shader.CurrentProgram->Name;
+ else
+ return 0;
+ }
+ else {
_mesa_error(ctx, GL_INVALID_ENUM, "glGetHandleARB");
_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
_mesa_get_programiv(GLcontext *ctx, GLuint program,
GLenum pname, GLint *params)
static void
_mesa_get_programiv(GLcontext *ctx, GLuint program,
GLenum pname, GLint *params)
@@
-977,6
+984,7
@@
_mesa_get_programiv(GLcontext *ctx, GLuint program,
}
}
+/** glGetShaderiv() - get GLSL shader state */
static void
_mesa_get_shaderiv(GLcontext *ctx, GLuint name, GLenum pname, GLint *params)
{
static void
_mesa_get_shaderiv(GLcontext *ctx, GLuint name, GLenum pname, GLint *params)
{