From: Gert Wollny <gert.wol...@collabora.com> Fixes memory leak:
104,104 bytes in 13 blocks are definitely lost in loss record 591 of 591 at 0x4C2FE4D: calloc (vg_replace_malloc.c:711) by 0x7E155DE: generate_gs_copy_shader (r600_shader.c:2489) by 0x7E1BD1D: r600_shader_from_tgsi (r600_shader.c:4268) by 0x7E0E669: r600_pipe_shader_create (r600_shader.c:181) by 0x7D74E8D: r600_shader_select (r600_state_common.c:872) by 0x7D771C9: r600_update_derived_state (r600_state_common.c:1763) by 0x7D78506: r600_draw_vbo (r600_state_common.c:2077) Fixes: 1371d65a7fbd695d3516861fe733685569d890d0 r600g: initial support for geometry shaders on evergreen (v2) Signed-off-by: Gert Wollny <gert.wol...@collabora.com> --- src/gallium/drivers/r600/r600_shader.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 408939d110..a310e1b53c 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -301,6 +301,10 @@ void r600_pipe_shader_destroy(struct pipe_context *ctx UNUSED, struct r600_pipe_ r600_resource_reference(&shader->bo, NULL); r600_bytecode_clear(&shader->shader.bc); r600_release_command_buffer(&shader->command_buffer); + if (shader->gs_copy_shader) { + r600_pipe_shader_destroy(ctx, shader->gs_copy_shader); + free(shader->gs_copy_shader); + } } /* -- 2.18.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev