glsl: Make invariant outputs in ES fragment shader not to cause error

In all GLSL ES versions output variables in fragment shader are allowed
to be invariant.

 From Section 4.6.1 ("The Invariant Qualifier") GLSL ES 1.00 spec:
 "Only the following variables may be declared as invariant:
   ...
   - Built-in special variables output from the fragment shader."

 From Section 4.6.1 ("The Invariant Qualifier") GLSL ES 3.00 spec:
 "Only variables output from a shader can be candidates for invariance."

Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107842
This commit is contained in:
Danylo Piliaiev
2018-09-05 15:26:48 +03:00
committed by Timothy Arceri
parent eb4b1477dc
commit a2db6b4254

View File

@@ -2721,7 +2721,7 @@ is_allowed_invariant(ir_variable *var, struct _mesa_glsl_parse_state *state)
* "Only variables output from a vertex shader can be candidates
* for invariance".
*/
if (!state->is_version(130, 0))
if (!state->is_version(130, 100))
return false;
/*