From 6218c68bece0cea671f2940a651119a87ab8b24e Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sun, 28 Jun 2015 22:17:16 -0700 Subject: [PATCH] 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. --- src/glsl/linker.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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; } -- 2.30.2