Module: Mesa
Branch: master
Commit: 56a0690a81cd6a0e7db4c041430ca38e5063e145
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=56a0690a81cd6a0e7db4c041430ca38e5063e145

Author: Eric Anholt <e...@anholt.net>
Date:   Wed Aug 18 14:12:52 2010 -0700

mesa: Free linked shaders when deleting the shader program.

---

 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 863d50f..1755e8a 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;
 }
 
 

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to