glsl: Update a comment about link errors for TCS && !TES.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 11 Feb 2017 04:56:38 +0000 (20:56 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 13 Feb 2017 05:09:21 +0000 (21:09 -0800)
OpenGL ES actually has spec text to prohibit this.  It's just OpenGL
that's confusing.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
src/compiler/glsl/linker.cpp

index 720c22baee0d7a11a25b5767c315b3e8c7c978a2..4c7bf282ce10a2f6387326a91fdf434d1863c3c7 100644 (file)
@@ -4721,7 +4721,15 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
          goto done;
       }
 
-      /* The spec is self-contradictory here. It allows linking without a tess
+      /* Section 7.3 of the OpenGL ES 3.2 specification says:
+       *
+       *    "Linking can fail for [...] any of the following reasons:
+       *
+       *     * program contains an object to form a tessellation control
+       *       shader [...] and [...] the program is not separable and
+       *       contains no object to form a tessellation evaluation shader"
+       *
+       * The OpenGL spec is contradictory. It allows linking without a tess
        * eval shader, but that can only be used with transform feedback and
        * rasterization disabled. However, transform feedback isn't allowed
        * with GL_PATCHES, so it can't be used.