Mesa (glsl2): linker: Add comment about bug in initializer handling
Ian Romanick
idr at kemper.freedesktop.org
Tue Jul 20 02:22:23 UTC 2010
Module: Mesa
Branch: glsl2
Commit: de415b7f4b1278f10097f4af80886bc82912dd92
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=de415b7f4b1278f10097f4af80886bc82912dd92
Author: Ian Romanick <ian.d.romanick at intel.com>
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
More information about the mesa-commit
mailing list