linker: Fix assertion and cross-version checks for version 100.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 31 Aug 2010 16:33:58 +0000 (09:33 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 8 Sep 2010 00:30:38 +0000 (17:30 -0700)
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

index 02c7c29878365e49d113128e5b973ab1a5b916e7..4d84ab39b38db6d15e6895e5c0db783a52e4ce60 100644 (file)
@@ -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;