nv50/nv40/nv30: fix small memory leak of nouveau_resources on screen_destroy
PATCH 1/1 nv50/nv40/nv30: fix small memory leak of nouveau_resources on screen_destroy
From: Marcin Slusarz <[email protected]>
Subject: [mesa PATCH] nv50/nv40/nv30: fix small memory leak of nouveau_resources on screen_destroy
---
tested only on nv50;
needs patch "nouveau: add nouveau_resource_destroy" to libdrm
--- src/gallium/drivers/nv30/nv30_screen.c | 6 +++--- src/gallium/drivers/nv40/nv40_screen.c | 6 +++--- src/gallium/drivers/nv50/nv50_screen.c | 3 +++ 3 files changed, 9 insertions(+), 6 deletions(-)
src/gallium/drivers/nv30/nv30_screen.c +3 -3
@@ -163,9 +163,9 @@ nv30_screen_destroy(struct pipe_screen *pscreen)so_ref (NULL , &screen->state[i]); } -nouveau_resource_free (&screen->vp_exec_heap); -nouveau_resource_free (&screen->vp_data_heap); -nouveau_resource_free (&screen->query_heap); +nouveau_resource_destroy (&screen->vp_exec_heap); +nouveau_resource_destroy (&screen->vp_data_heap); +nouveau_resource_destroy (&screen->query_heap);nouveau_notifier_free (&screen->query);nouveau_notifier_free (&screen->sync);nouveau_grobj_free (&screen->rankine);
src/gallium/drivers/nv40/nv40_screen.c +3 -3
@@ -147,9 +147,9 @@ nv40_screen_destroy(struct pipe_screen *pscreen)so_ref (NULL , &screen->state[i]); } -nouveau_resource_free (&screen->vp_exec_heap); -nouveau_resource_free (&screen->vp_data_heap); -nouveau_resource_free (&screen->query_heap); +nouveau_resource_destroy (&screen->vp_exec_heap); +nouveau_resource_destroy (&screen->vp_data_heap); +nouveau_resource_destroy (&screen->query_heap);nouveau_notifier_free (&screen->query);nouveau_notifier_free (&screen->sync);nouveau_grobj_free (&screen->curie);
src/gallium/drivers/nv50/nv50_screen.c +3 -0
@@ -185,6 +185,9 @@ nv50_screen_destroy(struct pipe_screen *pscreen)nouveau_grobj_free (&screen->tesla);nouveau_grobj_free (&screen->eng2d);nouveau_grobj_free (&screen->m2mf); +nouveau_resource_destroy (&screen->immd_heap[0 ]); +nouveau_resource_destroy (&screen->parm_heap[0 ]); +nouveau_resource_destroy (&screen->parm_heap[1 ]);nouveau_screen_fini (&screen->base);FREE (screen); }
Signature · 1 line
1.6.6.rc3