From c25662988fee27d563f7d2106912d7510363cdf6 Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Mon, 19 Sep 2022 10:30:21 -0700 Subject: [PATCH] turnip: Fix leak of autotune fence BOs. If we're reusing the submission data, then reinitializing its CS would leak its old BO. Fixes: #7281. glmark2 -b texture goes from 277fps to 1268. Part-of: --- src/freedreno/vulkan/tu_autotune.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/freedreno/vulkan/tu_autotune.c b/src/freedreno/vulkan/tu_autotune.c index 3faafa73ff3..81fbbd3c7cb 100644 --- a/src/freedreno/vulkan/tu_autotune.c +++ b/src/freedreno/vulkan/tu_autotune.c @@ -107,11 +107,11 @@ create_submission_data(struct tu_device *dev, struct tu_autotune *at, list_del(&submission_data->node); } else { submission_data = calloc(1, sizeof(struct tu_submission_data)); + tu_cs_init(&submission_data->fence_cs, dev, TU_CS_MODE_GROW, 5); } submission_data->fence = fence; struct tu_cs* fence_cs = &submission_data->fence_cs; - tu_cs_init(fence_cs, dev, TU_CS_MODE_GROW, 5); tu_cs_begin(fence_cs); tu_cs_emit_pkt7(fence_cs, CP_EVENT_WRITE, 4);