Mesa (master): nvc0: fix blitctx memory leak

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Sun Sep 1 19:00:05 UTC 2013


Module: Mesa
Branch: master
Commit: 2a7762bdb62faa1d54c445fcec7733cf6f690ac5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a7762bdb62faa1d54c445fcec7733cf6f690ac5

Author: Joakim Sindholt <opensource at zhasha.com>
Date:   Sun May 12 16:17:00 2013 +0200

nvc0: fix blitctx memory leak

Cc: "9.2 and 9.1" <mesa-stable at lists.freedesktop.org>

---

 src/gallium/drivers/nvc0/nvc0_context.c |    1 +
 src/gallium/drivers/nvc0/nvc0_context.h |    1 +
 src/gallium/drivers/nvc0/nvc0_surface.c |    7 +++++++
 3 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/nvc0/nvc0_context.c b/src/gallium/drivers/nvc0/nvc0_context.c
index bf0c204..f7cfe59 100644
--- a/src/gallium/drivers/nvc0/nvc0_context.c
+++ b/src/gallium/drivers/nvc0/nvc0_context.c
@@ -111,6 +111,7 @@ nvc0_destroy(struct pipe_context *pipe)
    nouveau_pushbuf_kick(nvc0->base.pushbuf, nvc0->base.pushbuf->channel);
 
    nvc0_context_unreference_resources(nvc0);
+   nvc0_blitctx_destroy(nvc0);
 
 #ifdef NVC0_WITH_DRAW_MODULE
    draw_destroy(nvc0->draw);
diff --git a/src/gallium/drivers/nvc0/nvc0_context.h b/src/gallium/drivers/nvc0/nvc0_context.h
index 2c84cdf..a175f0a 100644
--- a/src/gallium/drivers/nvc0/nvc0_context.h
+++ b/src/gallium/drivers/nvc0/nvc0_context.h
@@ -96,6 +96,7 @@
 struct nvc0_blitctx;
 
 boolean nvc0_blitctx_create(struct nvc0_context *);
+void nvc0_blitctx_destroy(struct nvc0_context *);
 
 struct nvc0_context {
    struct nouveau_context base;
diff --git a/src/gallium/drivers/nvc0/nvc0_surface.c b/src/gallium/drivers/nvc0/nvc0_surface.c
index c8d26f5..606a2b5 100644
--- a/src/gallium/drivers/nvc0/nvc0_surface.c
+++ b/src/gallium/drivers/nvc0/nvc0_surface.c
@@ -1247,6 +1247,13 @@ nvc0_blitctx_create(struct nvc0_context *nvc0)
 }
 
 void
+nvc0_blitctx_destroy(struct nvc0_context *nvc0)
+{
+   if (nvc0->blit)
+      FREE(nvc0->blit);
+}
+
+void
 nvc0_init_surface_functions(struct nvc0_context *nvc0)
 {
    struct pipe_context *pipe = &nvc0->base.pipe;




More information about the mesa-commit mailing list