From 935f93f966aa298c4d4115ac766cb2ff46ad6514 Mon Sep 17 00:00:00 2001 From: Brian Date: Sat, 24 Mar 2007 16:20:02 -0600 Subject: Free shader-related context state: _mesa_free_shader_state() --- src/mesa/shader/shader_api.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/mesa/shader/shader_api.c') diff --git a/src/mesa/shader/shader_api.c b/src/mesa/shader/shader_api.c index 88aa8c50f5..002b42721d 100644 --- a/src/mesa/shader/shader_api.c +++ b/src/mesa/shader/shader_api.c @@ -211,6 +211,22 @@ _mesa_init_shader_state(GLcontext * ctx) } +/** + * Free the per-context shader-related state. + */ +void +_mesa_free_shader_state(GLcontext *ctx) +{ + if (ctx->Shader.CurrentProgram) { + ctx->Shader.CurrentProgram->RefCount--; + if (ctx->Shader.CurrentProgram->RefCount <= 0) { + _mesa_free_shader_program(ctx, ctx->Shader.CurrentProgram); + ctx->Shader.CurrentProgram = NULL; + } + } +} + + /** * Copy string from to , up to maxLength characters, returning * length of in . -- cgit v1.2.3