From: Brian Paul Date: Thu, 9 Apr 2009 16:33:08 +0000 (-0600) Subject: i965: free shader's constant buffer in brwDeleteProgram() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3163ea145309f1f8e103cc880ea40c61af5fb5cd;p=mesa.git i965: free shader's constant buffer in brwDeleteProgram() Fixes mem leak observed with texcombine test. --- 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 ); }