Module: Mesa Branch: glsl2 Commit: de415b7f4b1278f10097f4af80886bc82912dd92 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=de415b7f4b1278f10097f4af80886bc82912dd92
Author: Ian Romanick <[email protected]> Date: Wed Jul 14 13:22:12 2010 -0700 linker: Add comment about bug in initializer handling --- src/glsl/linker.cpp | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index f7c178e..06aa24e 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 _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
