summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/shaderapi.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-10-29 11:28:38 -0700
committerEric Anholt <eric@anholt.net>2010-10-29 11:28:38 -0700
commita974949f3b586eee2bc8d6d97d3adb71796fe167 (patch)
tree0fcda3bff1e1ebf89a1bd65a61a7b0dfeb7255de /src/mesa/main/shaderapi.h
parent34e8801b9c04960337fa59d4b24f9df68a06a0d9 (diff)
downloadexternal_mesa3d-a974949f3b586eee2bc8d6d97d3adb71796fe167.zip
external_mesa3d-a974949f3b586eee2bc8d6d97d3adb71796fe167.tar.gz
external_mesa3d-a974949f3b586eee2bc8d6d97d3adb71796fe167.tar.bz2
mesa: Make metaops use program refcounts instead of names.
Fixes failure on restoring state when the program was active but deleted, and the name no longer exists. Bug #31194
Diffstat (limited to 'src/mesa/main/shaderapi.h')
-rw-r--r--src/mesa/main/shaderapi.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mesa/main/shaderapi.h b/src/mesa/main/shaderapi.h
index db316ab..df78351 100644
--- a/src/mesa/main/shaderapi.h
+++ b/src/mesa/main/shaderapi.h
@@ -39,8 +39,11 @@ _mesa_copy_string(GLchar *dst, GLsizei maxLength,
GLsizei *length, const GLchar *src);
extern void
-_mesa_use_program(struct gl_context *ctx, GLuint program);
+_mesa_use_program(struct gl_context *ctx, struct gl_shader_program *shProg);
+extern void
+_mesa_active_program(struct gl_context *ctx, struct gl_shader_program *shProg,
+ const char *caller);
extern void
_mesa_init_shader_dispatch(struct _glapi_table *exec);
@@ -172,6 +175,9 @@ _mesa_ShaderBinary(GLint n, const GLuint *shaders, GLenum binaryformat,
extern void GLAPIENTRY
_mesa_ProgramParameteriARB(GLuint program, GLenum pname,
GLint value);
+void
+_mesa_use_shader_program(struct gl_context *ctx, GLenum type,
+ struct gl_shader_program *shProg);
extern void GLAPIENTRY
_mesa_UseShaderProgramEXT(GLenum type, GLuint program);