Procházet zdrojové kódy

Free shader-related context state: _mesa_free_shader_state()

tags/post-merge-glsl-compiler-1
Brian před 18 roky
rodič
revize
935f93f966

+ 1
- 0
src/mesa/main/context.c Zobrazit soubor

@@ -1439,6 +1439,7 @@ _mesa_free_context_data( GLcontext *ctx )
_mesa_free_viewport_data( ctx );
_mesa_free_colortables_data( ctx );
_mesa_free_program_data(ctx);
_mesa_free_shader_state(ctx);
_mesa_free_query_data(ctx);

#if FEATURE_ARB_vertex_buffer_object

+ 16
- 0
src/mesa/shader/shader_api.c Zobrazit soubor

@@ -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 <src> to <dst>, up to maxLength characters, returning
* length of <dst> in <length>.

+ 3
- 0
src/mesa/shader/shader_api.h Zobrazit soubor

@@ -38,6 +38,9 @@
extern void
_mesa_init_shader_state(GLcontext * ctx);

extern void
_mesa_free_shader_state(GLcontext *ctx);

extern struct gl_shader_program *
_mesa_new_shader_program(GLcontext *ctx, GLuint name);


Načítá se…
Zrušit
Uložit