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

Reply via email to