Mesa (master): linker: Fix assertion and cross-version checks for version 100.

Kenneth Graunke kwg at kemper.freedesktop.org
Wed Sep 8 00:46:12 UTC 2010


Module: Mesa
Branch: master
Commit: 5a81d057dbbf9f4b8fbeee471df70603009c8d6b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5a81d057dbbf9f4b8fbeee471df70603009c8d6b

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Aug 31 09:33:58 2010 -0700

linker: Fix assertion and cross-version checks for version 100.

Fixes an assert (min_version >= 110) which was no longer correct, and
also prohibits linking ES2 shaders with non-ES2 shaders.  I'm not
positive this is correct, but the specification doesn't seem to say.

---

 src/glsl/linker.cpp |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 02c7c29..4d84ab3 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -1402,9 +1402,10 @@ link_shaders(GLcontext *ctx, struct gl_shader_program *prog)
     * match shading language versions.  With GLSL 1.30 and later, the versions
     * of all shaders must match.
     */
-   assert(min_version >= 110);
+   assert(min_version >= 100);
    assert(max_version <= 130);
-   if ((max_version >= 130) && (min_version != max_version)) {
+   if ((max_version >= 130 || min_version == 100)
+       && min_version != max_version) {
       linker_error_printf(prog, "all shaders must use same shading "
 			  "language version\n");
       goto done;




More information about the mesa-commit mailing list