diff options
author | Ilia Mirkin <[email protected]> | 2014-06-17 22:22:56 -0400 |
---|---|---|
committer | Carl Worth <[email protected]> | 2014-06-23 14:59:47 -0700 |
commit | 08317fa9c4183e051d16f65eead742a39fd83014 (patch) | |
tree | d41df95decaf7a5e71b9bcec012391f26a0af392 /src | |
parent | 4d0c445af6e600be6912da6bbaecc8c1642ed56c (diff) |
nv30: plug some memory leaks on screen destroy and shader compile
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: "10.2" <[email protected]>
(cherry picked from commit 5af80f62680b8321c3af565bb57138a71429502c)
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/nouveau/nv30/nv30_screen.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c | 1 |
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); |