Mesa (gallium-0.2): nouveau: Catch some more leaks.

Younes Manton ymanton at kemper.freedesktop.org
Sat Jan 10 19:12:20 UTC 2009


Module: Mesa
Branch: gallium-0.2
Commit: 9beb004885ab5be652bcb733a5fd9ee729f89921
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9beb004885ab5be652bcb733a5fd9ee729f89921

Author: Younes Manton <younes.m at gmail.com>
Date:   Sat Dec 20 14:42:29 2008 -0500

nouveau: Catch some more leaks.

---

 .../state_trackers/g3dvl/vl_r16snorm_mc_buf.c      |    1 +
 src/gallium/winsys/drm/nouveau/nouveau_channel.c   |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c b/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c
index 337680a..426e5ba 100644
--- a/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c
+++ b/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c
@@ -745,6 +745,7 @@ static int vlFlush
 	}
 
 	pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE, &mc->buffered_surface->render_fence);
+	pipe->screen->tex_surface_release(pipe->screen, mc->render_target.cbufs[0]);
 
 	for (i = 0; i < 3; ++i)
 		mc->zero_block[i].x = -1.0f;
diff --git a/src/gallium/winsys/drm/nouveau/nouveau_channel.c b/src/gallium/winsys/drm/nouveau/nouveau_channel.c
index 3b4dcd1..b7127f8 100644
--- a/src/gallium/winsys/drm/nouveau/nouveau_channel.c
+++ b/src/gallium/winsys/drm/nouveau/nouveau_channel.c
@@ -118,6 +118,8 @@ nouveau_channel_free(struct nouveau_channel **chan)
 	nouveau_grobj_free(&nvchan->base.gart);
 	nouveau_grobj_free(&nvchan->base.nullobj);
 
+	free(nvchan->pb.buffers);
+	free(nvchan->pb.relocs);
 	cf.channel = nvchan->drm.channel;
 	drmCommandWrite(nvdev->fd, DRM_NOUVEAU_CHANNEL_FREE, &cf, sizeof(cf));
 	free(nvchan);




More information about the mesa-commit mailing list