Mesa (7.8): i965: Fix up VP constbuf leak on program delete.
Eric Anholt
anholt at kemper.freedesktop.org
Tue Mar 16 19:34:48 UTC 2010
Module: Mesa
Branch: 7.8
Commit: 009392f50db7ae0f6ef1fcbff268d5b833852074
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=009392f50db7ae0f6ef1fcbff268d5b833852074
Author: Eric Anholt <eric at anholt.net>
Date: Mon Mar 8 16:08:33 2010 -0800
i965: Fix up VP constbuf leak on program delete.
(cherry picked from commit 7f6d2754d586545ab6c970acffdd897294879039)
---
src/mesa/drivers/dri/i965/brw_program.c | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_program.c b/src/mesa/drivers/dri/i965/brw_program.c
index c78f7b3..1fd957b 100644
--- a/src/mesa/drivers/dri/i965/brw_program.c
+++ b/src/mesa/drivers/dri/i965/brw_program.c
@@ -95,9 +95,17 @@ 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);
+ struct gl_fragment_program *fp = (struct gl_fragment_program *) prog;
+ struct brw_fragment_program *brw_fp = brw_fragment_program(fp);
+
+ dri_bo_unreference(brw_fp->const_buffer);
+ }
+
+ if (prog->Target == GL_VERTEX_PROGRAM_ARB) {
+ struct gl_vertex_program *vp = (struct gl_vertex_program *) prog;
+ struct brw_vertex_program *brw_vp = brw_vertex_program(vp);
+
+ dri_bo_unreference(brw_vp->const_buffer);
}
_mesa_delete_program( ctx, prog );
More information about the mesa-commit
mailing list