summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nouveau
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2014-06-17 22:22:56 -0400
committerCarl Worth <cworth@cworth.org>2014-06-23 14:59:47 -0700
commit08317fa9c4183e051d16f65eead742a39fd83014 (patch)
treed41df95decaf7a5e71b9bcec012391f26a0af392 /src/gallium/drivers/nouveau
parent4d0c445af6e600be6912da6bbaecc8c1642ed56c (diff)
nv30: plug some memory leaks on screen destroy and shader compile
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 5af80f62680b8321c3af565bb57138a71429502c)
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r--src/gallium/drivers/nouveau/nv30/nv30_screen.c6
-rw-r--r--src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
index 53ca98565ab..4d0b263b325 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
@@ -325,6 +325,12 @@ nv30_screen_destroy(struct pipe_screen *pscreen)
nouveau_fence_ref(NULL, &screen->base.fence.current);
}
+ nouveau_bo_ref(NULL, &screen->notify);
+
+ nouveau_heap_destroy(&screen->query_heap);
+ nouveau_heap_destroy(&screen->vp_exec_heap);
+ nouveau_heap_destroy(&screen->vp_data_heap);
+
nouveau_object_del(&screen->query);
nouveau_object_del(&screen->fence);
nouveau_object_del(&screen->ntfy);
diff --git a/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c b/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c
index 4955226db67..1f1fba202df 100644
--- a/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c
+++ b/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c
@@ -1225,6 +1225,7 @@ out:
if(fpc)
{
FREE(fpc->r_temp);
+ FREE(fpc->r_imm);
util_dynarray_fini(&fpc->if_stack);
util_dynarray_fini(&fpc->label_relocs);
util_dynarray_fini(&fpc->imm_data);