Ilia Mirkin
2014-Jun-18 02:39 UTC
[Nouveau] [PATCH 1/2] nv30: plug some memory leaks on screen destroy and shader compile
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> Cc: "10.2" <mesa-stable at lists.freedesktop.org> --- src/gallium/drivers/nouveau/nv30/nv30_screen.c | 6 ++++++ src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c | 1 + 2 files changed, 7 insertions(+) diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c index fb9378c..4baabaf 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 4955226..1f1fba2 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); -- 1.8.5.5
Ilia Mirkin
2014-Jun-18 02:39 UTC
[Nouveau] [PATCH 2/2] nv30: avoid dangling references to deleted contexts
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> Cc: "10.2" <mesa-stable at lists.freedesktop.org> --- src/gallium/drivers/nouveau/nv30/nv30_context.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/nouveau/nv30/nv30_context.c b/src/gallium/drivers/nouveau/nv30/nv30_context.c index f325c5c..617b088 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_context.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_context.c @@ -165,6 +165,9 @@ nv30_context_destroy(struct pipe_context *pipe) if (nv30->draw) draw_destroy(nv30->draw); + if (nv30->screen->base.pushbuf->user_priv == &nv30->bufctx) + nv30->screen->base.pushbuf->user_priv = NULL; + nouveau_bufctx_del(&nv30->bufctx); if (nv30->screen->cur_ctx == nv30) -- 1.8.5.5
Reasonably Related Threads
- [PATCH 1/4] nv30: remove use_nv4x, it is identical to is_nv4x
- [Patches] mesa/nv30: Diverse set of patches that improve NV3x render quality V2
- [PATCH 2/2] nv30/draw: switch varying hookup logic to know about texcoords
- [Patches]mesa/nv30: Diverse set of patches that improve NV3x render quality
- [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context