Mesa (master): freedreno: Fix leak of binning shader variants.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Apr 10 19:03:48 UTC 2020
Module: Mesa
Branch: master
Commit: 904d5d63b47661950c5eace94e9ba3341bd4cb1c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=904d5d63b47661950c5eace94e9ba3341bd4cb1c
Author: Eric Anholt <eric at anholt.net>
Date: Thu Apr 9 13:32:45 2020 -0700
freedreno: Fix leak of binning shader variants.
The v->binning variant is never added to shader->variants, so just free
each one as we free the nonbinning variant.
Noticed from drm-shim mode running out of open fds, since each bo ends up
with an fd.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4502>
---
src/freedreno/ir3/ir3_shader.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/freedreno/ir3/ir3_shader.c b/src/freedreno/ir3/ir3_shader.c
index cb0de2e8d65..e42f7713e09 100644
--- a/src/freedreno/ir3/ir3_shader.c
+++ b/src/freedreno/ir3/ir3_shader.c
@@ -48,6 +48,8 @@ delete_variant(struct ir3_shader_variant *v)
ir3_destroy(v->ir);
if (v->bo)
fd_bo_del(v->bo);
+ if (v->binning)
+ delete_variant(v->binning);
free(v);
}
More information about the mesa-commit
mailing list