summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>2020-08-18 08:41:37 -0400
committerEric Engestrom <eric@engestrom.ch>2020-09-02 21:50:42 +0200
commit64af2c31811c2422ecc3a6e01d4ac4bf10eb3f02 (patch)
treecc93f386f487827040eeb14417ae523d60e1fe72
parent83ccf31fdd78f432f8fc0f76a7bc5736a4bbd6c8 (diff)
panfrost: Free batch->dependencies
On glmark2-es2 -bterrain: 594.05KB leaked over 9282 calls from: panfrost_batch_update_bo_access at ../src/gallium/drivers/panfrost/pan_job.c:462 in /home/alyssa/rockchip_dri.so panfrost_batch_add_bo at ../src/gallium/drivers/panfrost/pan_job.c:560 panfrost_batch_add_bo at ../src/gallium/drivers/panfrost/pan_job.c:519 in /home/alyssa/rockchip_dri.so panfrost_batch_add_resource_bos at ../src/gallium/drivers/panfrost/pan_job.c:569 panfrost_batch_add_fbo_bos at ../src/gallium/drivers/panfrost/pan_job.c:588 in /home/alyssa/rockchip_dri.so panfrost_create_batch at ../src/gallium/drivers/panfrost/pan_job.c:126 Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Cc: mesa-stable Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373> (cherry picked from commit 1cb47f8eea0af26b9573ac973ae3d9852cbabe6a)
-rw-r--r--.pick_status.json2
-rw-r--r--src/gallium/drivers/panfrost/pan_job.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json
index d4023e59cb3..b480e04ca09 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -4351,7 +4351,7 @@
"description": "panfrost: Free batch->dependencies",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": null
},
diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c
index 27745c742ee..1ef4de1bbfd 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -178,6 +178,8 @@ panfrost_free_batch(struct panfrost_batch *batch)
panfrost_batch_fence_unreference(*dep);
}
+ util_dynarray_fini(&batch->dependencies);
+
/* The out_sync fence lifetime is different from the the batch one
* since other batches might want to wait on a fence of already
* submitted/signaled batch. All we need to do here is make sure the