From 75c6f472880706dcbb9d1e20727fa8f71db8b11c Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 11 Oct 2010 16:07:08 -0700 Subject: mesa: Track an ActiveProgram distinct from CurrentProgram ActiveProgram is the GL_EXT_separate_shader_objects state variable used for glUniform calls. glUseProgram also sets this. --- src/mesa/main/mtypes.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/mesa/main/mtypes.h') diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index eb8accc8c8..7863ef382d 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2141,7 +2141,18 @@ struct gl_shader_program */ struct gl_shader_state { - struct gl_shader_program *CurrentProgram; /**< The user-bound program */ + /** + * Program used for rendering. + */ + struct gl_shader_program *CurrentProgram; + + /** + * Program used by glUniform calls. + * + * Explicitly set by \c glUseProgram and \c glActiveProgramEXT. + */ + struct gl_shader_program *ActiveProgram; + void *MemPool; GLbitfield Flags; /**< Mask of GLSL_x flags */ -- cgit v1.2.3