Mesa (main): draw: Plug leak when combining tessellation with primitive assembly.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed May 19 13:45:33 UTC 2021
Module: Mesa
Branch: main
Commit: 3927a2d946316d9a00d716df845e9320d4d3d9f7
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3927a2d946316d9a00d716df845e9320d4d3d9f7
Author: Jose Fonseca <jfonseca at vmware.com>
Date: Mon May 17 07:50:28 2021 +0100
draw: Plug leak when combining tessellation with primitive assembly.
Another lavapipe leak found with LeakSanitizer.
This happens when using tessellation without geometry shader but with a
fragment shader that consumes primitive ID, therefore requiring
primitive assembler stage.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10835>
---
src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c
index fe1734a9a37..9c0207aab5a 100644
--- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c
+++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c
@@ -725,6 +725,11 @@ llvm_pipeline_generic(struct draw_pt_middle_end *middle,
if (ia_vert_info.count) {
FREE(vert_info->verts);
+ if (free_prim_info) {
+ FREE(prim_info->primitive_lengths);
+ FREE(tes_elts_out);
+ tes_elts_out = NULL;
+ }
vert_info = &ia_vert_info;
prim_info = &ia_prim_info;
free_prim_info = TRUE;
More information about the mesa-commit
mailing list