summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTapani Pälli <tapani.palli@intel.com>2020-01-27 10:05:20 +0200
committerMarge Bot <eric+marge@anholt.net>2020-02-13 07:47:33 +0000
commitf7d1bf075ab833eb39c35f9e213dc4fc115b46b1 (patch)
tree52631a808f624825e890bb73cb6061804d70ad59
parent556c9401495930c23a10ca2a26db098d12663e27 (diff)
glsl: fix a memory leak with resource_set
==7265== 248 (120 direct, 128 indirect) bytes in 1 blocks are definitely lost in loss record 1,438 of 1,465 ==7265== at 0x483980B: malloc (vg_replace_malloc.c:309) ==7265== by 0x598A2AB: ralloc_size (ralloc.c:119) ==7265== by 0x598F861: _mesa_set_create (set.c:127) ==7265== by 0x599079D: _mesa_pointer_set_create (set.c:570) ==7265== by 0x58BD7D1: build_program_resource_list(gl_context*, gl_shader_program*, bool) (linker.cpp:4026) ==7265== by 0x548231B: st_link_shader (st_glsl_to_ir.cpp:170) ==7265== by 0x54DA269: _mesa_glsl_link_shader (ir_to_mesa.cpp:3119) Fixes: a6aedc66 ("st/glsl_to_nir: use nir based program resource list builder") Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3574> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3574>
-rw-r--r--src/compiler/glsl/linker.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index d69dff7bbd9..77e7489a0a6 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -4040,8 +4040,10 @@ build_program_resource_list(struct gl_context *ctx,
return;
}
- if (add_packed_varyings_only)
+ if (add_packed_varyings_only) {
+ _mesa_set_destroy(resource_set, NULL);
return;
+ }
if (!add_fragdata_arrays(ctx, shProg, resource_set))
return;