glsl: Raise a link error for non-SSO ES programs with a TES but no TCS.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 23 Feb 2017 01:16:01 +0000 (17:16 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 23 Feb 2017 19:07:06 +0000 (11:07 -0800)
commite6e8475b0f17e605e1c8251a076cc1d48734873b
tree047c0a672506b2a1da5f2d72a092945840ad5649
parenta9c488f2858f8a383dd50e557ec8a832bcb35f47
glsl: Raise a link error for non-SSO ES programs with a TES but no TCS.

OpenGL allows the TCS to be missing and supplies an implicit passthrough
shader, but OpenGL ES does not (see section 7.3 of the ES 3.2 spec,
cited above in the code).

One open question is how to handle this for ARB_ES3_2_compatibility.
This patch raises the link error for all ES shading language programs,
but it might make sense to base it on the API.  The approach taken in
this patch is more restrictive, but should still allow any valid ES
programs to work in GL.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Andres Gomez <agomez@igalia.com>
src/compiler/glsl/linker.cpp