diff options
author | Ilia Mirkin <[email protected]> | 2014-06-17 22:22:56 -0400 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2014-06-19 01:05:52 -0400 |
commit | 5af80f62680b8321c3af565bb57138a71429502c (patch) | |
tree | 80490b090e576591e2d2a71956f6f2d1bdae04f0 /src/gallium/drivers/nouveau/nv30 | |
parent | 22e9551af0173ddf81d81027e84bb4e27fc6be18 (diff) |
nv30: plug some memory leaks on screen destroy and shader compile
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: "10.2" <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau/nv30')
-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 fb9378c4ffe..4baabaf7226 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c @@ -327,6 +327,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); |