diff options
author | Brian Paul <[email protected]> | 2009-04-09 10:33:08 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2009-04-09 10:33:16 -0600 |
commit | 3163ea145309f1f8e103cc880ea40c61af5fb5cd (patch) | |
tree | 1ef22a60e4230ca5878835b3aefa9fb42147a841 /src/mesa/drivers | |
parent | 564ba2538691bd15df21da9fc378f0070235e286 (diff) |
i965: free shader's constant buffer in brwDeleteProgram()
Fixes mem leak observed with texcombine test.
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | 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 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 ); } |