Mesa (9.1): nvc0: fix blitctx memory leak

Carl Worth cworth at kemper.freedesktop.org
Thu Oct 3 05:00:10 UTC 2013


Module: Mesa
Branch: 9.1
Commit: 5af672491a695857d8e535e8684dc083a757bf15
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5af672491a695857d8e535e8684dc083a757bf15

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>
(cherry picked from commit 2a7762bdb62faa1d54c445fcec7733cf6f690ac5)

---

 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 75bd155..3788021 100644
--- a/src/gallium/drivers/nvc0/nvc0_context.c
+++ b/src/gallium/drivers/nvc0/nvc0_context.c
@@ -97,6 +97,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 d2e7aed..982eda3 100644
--- a/src/gallium/drivers/nvc0/nvc0_context.h
+++ b/src/gallium/drivers/nvc0/nvc0_context.h
@@ -75,6 +75,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 79b49b4..7862528 100644
--- a/src/gallium/drivers/nvc0/nvc0_surface.c
+++ b/src/gallium/drivers/nvc0/nvc0_surface.c
@@ -1231,6 +1231,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