From: Ian Romanick Date: Wed, 14 Jul 2010 20:22:12 +0000 (-0700) Subject: linker: Add comment about bug in initializer handling X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=de415b7f4b1278f10097f4af80886bc82912dd92;p=mesa.git linker: Add comment about bug in initializer handling --- diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index f7c178e9677..06aa24e66f5 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -314,6 +314,14 @@ cross_validate_globals(struct gl_shader_program *prog, * have an initializer but a later instance does, copy the * initializer to the version stored in the symbol table. */ + /* FINISHME: This is wrong. The constant_value field should + * FINISHME: not be modified! Imagine a case where a shader + * FINISHME: without an initializer is linked in two different + * FINISHME: programs with shaders that have differing + * FINISHME: initializers. Linking with the first will + * FINISHME: modify the shader, and linking with the second + * FINISHME: will fail. + */ existing->constant_value = var->constant_value->clone(NULL); } } else