From 3163ea145309f1f8e103cc880ea40c61af5fb5cd Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 9 Apr 2009 10:33:08 -0600 Subject: [PATCH] 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 file changed, 6 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_program.c b/src/mesa/drivers/dri/i965/brw_program.c index 457bc2fc7f4..fbf1ddd1e3e 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 ); } -- 2.30.2