summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2013-06-17 20:11:54 -0400
committerRob Clark <[email protected]>2013-08-24 13:58:01 -0400
commit56ea2c4816dbcdbdabe7718423828fdb2ee1c95b (patch)
treede044da4f4e28d28f1937962d60dc02de6db0655
parent9b9038496c70b59f43458996a915c3a53a68e5ca (diff)
freedreno/a3xx: don't leak so much
Signed-off-by: Rob Clark <[email protected]>
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_context.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_context.c b/src/gallium/drivers/freedreno/a3xx/fd3_context.c
index 3ae9b2953e4..589aeed4578 100644
--- a/src/gallium/drivers/freedreno/a3xx/fd3_context.c
+++ b/src/gallium/drivers/freedreno/a3xx/fd3_context.c
@@ -40,7 +40,18 @@
static void
fd3_context_destroy(struct pipe_context *pctx)
{
+ struct fd3_context *fd3_ctx = fd3_context(fd_context(pctx));
+
fd3_prog_fini(pctx);
+
+ fd_bo_del(fd3_ctx->vs_pvt_mem);
+ fd_bo_del(fd3_ctx->fs_pvt_mem);
+ fd_bo_del(fd3_ctx->vsc_size_mem);
+ fd_bo_del(fd3_ctx->vsc_pipe_mem);
+
+ pipe_resource_reference(&fd3_ctx->solid_vbuf, NULL);
+ pipe_resource_reference(&fd3_ctx->blit_texcoord_vbuf, NULL);
+
fd_context_destroy(pctx);
}