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