diff options
author | Eric Anholt <[email protected]> | 2010-08-18 14:12:52 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2010-08-18 14:16:07 -0700 |
commit | 56a0690a81cd6a0e7db4c041430ca38e5063e145 (patch) | |
tree | 9d9fe380b70ae2899032450f43388a17fba058ae /src/mesa/main | |
parent | 5d0f430e8ed01db29d11d22e4b6c3760d8c39f8f (diff) |
mesa: Free linked shaders when deleting the shader program.
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/shaderobj.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c index 863d50fbe55..1755e8a33c7 100644 --- a/src/mesa/main/shaderobj.c +++ b/src/mesa/main/shaderobj.c @@ -314,6 +314,12 @@ _mesa_free_shader_program_data(GLcontext *ctx, free(shProg->TransformFeedback.VaryingNames); shProg->TransformFeedback.VaryingNames = NULL; shProg->TransformFeedback.NumVarying = 0; + + + for (i = 0; i < shProg->_NumLinkedShaders; i++) { + ctx->Driver.DeleteShader(ctx, shProg->_LinkedShaders[i]); + } + shProg->_NumLinkedShaders = 0; } |