From 9a1539017446c18f1c211b3731c93b3e8686c9c4 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 18 Aug 2020 08:41:37 -0400 Subject: [PATCH] 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 Cc: mesa-stable Reviewed-by: Tomeu Vizoso Part-of: (cherry picked from commit 1cb47f8eea0af26b9573ac973ae3d9852cbabe6a) --- .pick_status.json | 2 +- src/gallium/drivers/panfrost/pan_job.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 7c0b29ec762..cc1848eaf7a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -535,7 +535,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 d59aa22f049..93ee900b99d 100644 --- a/src/gallium/drivers/panfrost/pan_job.c +++ b/src/gallium/drivers/panfrost/pan_job.c @@ -177,6 +177,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