From 9ce092c982e83c2c37157778f5ea0e4e529b001e Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 28 Oct 2024 17:56:17 -0400 Subject: [PATCH] asahi: don't leak linked shaders Oof! Signed-off-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/asahi/agx_state.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gallium/drivers/asahi/agx_state.c b/src/gallium/drivers/asahi/agx_state.c index b894a9e1b63..e003fe34386 100644 --- a/src/gallium/drivers/asahi/agx_state.c +++ b/src/gallium/drivers/asahi/agx_state.c @@ -2499,6 +2499,16 @@ agx_delete_uncompiled_shader(struct agx_device *dev, } _mesa_hash_table_destroy(so->variants, NULL); + + if (so->linked_shaders) { + hash_table_foreach(so->linked_shaders, ent) { + struct agx_linked_shader *link = ent->data; + agx_bo_unreference(dev, link->bo); + } + + _mesa_hash_table_destroy(so->linked_shaders, NULL); + } + blob_finish(&so->serialized_nir); blob_finish(&so->early_serialized_nir);