Mesa (main): panfrost: Fix memory leaks for compute state

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Aug 16 14:35:20 UTC 2021


Module: Mesa
Branch: main
Commit: 98165aa9f2f2cd4c3689c353113a39f9e501646c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=98165aa9f2f2cd4c3689c353113a39f9e501646c

Author: Icecream95 <ixn at disroot.org>
Date:   Sat Aug 14 23:09:57 2021 +1200

panfrost: Fix memory leaks for compute state

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12376>

---

 src/gallium/drivers/panfrost/pan_compute.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/gallium/drivers/panfrost/pan_compute.c b/src/gallium/drivers/panfrost/pan_compute.c
index 57beb6f3ef9..99c8c28b698 100644
--- a/src/gallium/drivers/panfrost/pan_compute.c
+++ b/src/gallium/drivers/panfrost/pan_compute.c
@@ -73,6 +73,10 @@ panfrost_create_compute_state(
                         so->cbase.ir_type, so->cbase.prog, MESA_SHADER_COMPUTE,
                         v);
 
+        /* There are no variants so we won't need the NIR again */
+        ralloc_free((void *)so->cbase.prog);
+        so->cbase.prog = NULL;
+
         return so;
 }
 
@@ -86,6 +90,10 @@ panfrost_bind_compute_state(struct pipe_context *pipe, void *cso)
 static void
 panfrost_delete_compute_state(struct pipe_context *pipe, void *cso)
 {
+        struct panfrost_shader_variants *so =
+                (struct panfrost_shader_variants *)cso;
+
+        free(so->variants);
         free(cso);
 }
 



More information about the mesa-commit mailing list