From: Kenneth Graunke Date: Mon, 29 Jun 2015 05:17:16 +0000 (-0700) Subject: Revert "glsl: clone inputs and outputs during linking" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6218c68bece0cea671f2940a651119a87ab8b24e;p=mesa.git Revert "glsl: clone inputs and outputs during linking" This reverts commit c2ff3485b3d48749ea9dcad07bc1a691627dc3e5. Ilia and I noticed a memory leak caused by this patch: at least with fixed-function programs, we clone things using ProgramResourceList as the context before reralloc makes it non-NULL. I believe Tapani found other bugs with these patches, so I'm just going to revert them for now and let him pursue them further. --- diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 5da9cadcb08..4a726d4e2e7 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -2637,9 +2637,7 @@ add_interface_variables(struct gl_shader_program *shProg, continue; }; - /* Clone ir_variable data so that backend is able to free memory. */ - if (!add_program_resource(shProg, programInterface, - var->clone(shProg->ProgramResourceList, NULL), + if (!add_program_resource(shProg, programInterface, var, build_stageref(shProg, var->name) | mask)) return false; }