zink: deallocate global_bindings array
authorKarol Herbst <kherbst@redhat.com>
Fri, 27 Oct 2023 13:53:19 +0000 (15:53 +0200)
committerEric Engestrom <eric@engestrom.ch>
Mon, 30 Oct 2023 15:48:33 +0000 (15:48 +0000)
Fixes: a6e9e0f0d77 ("zink: add set_global_binding")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25937>
(cherry picked from commit 2f34a1db5883a2e5178371d8295f711bd754a1e1)

.pick_status.json
src/gallium/drivers/zink/zink_context.c

index 9540226..81fcd59 100644 (file)
         "description": "zink: deallocate global_bindings array",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "a6e9e0f0d771e5121ea477cbaabe65a38de0ce5d",
         "notes": null
index f8e742f..39494ad 100644 (file)
@@ -231,6 +231,11 @@ zink_context_destroy(struct pipe_context *pctx)
    if (!(ctx->flags & ZINK_CONTEXT_COPY_ONLY))
       p_atomic_dec(&screen->base.num_contexts);
 
+   util_dynarray_foreach(&ctx->di.global_bindings, struct pipe_resource *, res) {
+      pipe_resource_reference(res, NULL);
+   }
+   util_dynarray_fini(&ctx->di.global_bindings);
+
    ralloc_free(ctx);
 }