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

Author: Brian Paul <[email protected]>
Date:   Thu Apr  9 10:33:08 2009 -0600

i965: free shader's constant buffer in brwDeleteProgram()

Fixes mem leak observed with texcombine test.

---

 src/mesa/drivers/dri/i965/brw_program.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_program.c 
b/src/mesa/drivers/dri/i965/brw_program.c
index 457bc2f..fbf1ddd 100644
--- a/src/mesa/drivers/dri/i965/brw_program.c
+++ b/src/mesa/drivers/dri/i965/brw_program.c
@@ -95,6 +95,12 @@ static struct gl_program *brwNewProgram( GLcontext *ctx,
 static void brwDeleteProgram( GLcontext *ctx,
                              struct gl_program *prog )
 {
+   if (prog->Target == GL_FRAGMENT_PROGRAM_ARB) {
+      struct gl_fragment_program *fprog = (struct gl_fragment_program *) prog;
+      struct brw_fragment_program *brw_fprog = brw_fragment_program(fprog);
+      dri_bo_unreference(brw_fprog->const_buffer);
+   }
+
    _mesa_delete_program( ctx, prog );
 }
 

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to