glsl: fix desktop glsl linking regression
authorTimothy Arceri <tarceri@itsqueeze.com>
Tue, 19 Jun 2018 07:52:00 +0000 (17:52 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Tue, 19 Jun 2018 07:58:05 +0000 (17:58 +1000)
The prog->Shaders[i]->IsES check was accidentally removed causing
ES linking rules to be applied to desktop GLSL.

Fixes: 725b1a406dbe ("mesa/util: add allow_glsl_relaxed_es driconfig override")
src/compiler/glsl/linker.cpp

index 487a1ffcb0548a95b014aaf7524d717d62458f4e..f6fce2d4e8db8c16ab87e6ad3ef37726d7056c3d 100644 (file)
@@ -4829,7 +4829,8 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
    /* In desktop GLSL, different shader versions may be linked together.  In
     * GLSL ES, all shader versions must be the same.
     */
-   if (!ctx->Const.AllowGLSLRelaxedES && min_version != max_version) {
+   if (!ctx->Const.AllowGLSLRelaxedES && prog->Shaders[0]->IsES &&
+       min_version != max_version) {
       linker_error(prog, "all shaders must use same shading "
                    "language version\n");
       goto done;