Mesa (master): glsl: Make invariant outputs in ES fragment shader not to cause error

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jan 11 02:01:26 UTC 2019


Module: Mesa
Branch: master
Commit: a2db6b4254462c62fe60dcc62645da6901986690
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2db6b4254462c62fe60dcc62645da6901986690

Author: Danylo Piliaiev <danylo.piliaiev at globallogic.com>
Date:   Wed Sep  5 15:26:48 2018 +0300

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 at globallogic.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107842

---

 src/compiler/glsl/ast_to_hir.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index 611cfabbd0..67a5a8c050 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compiler/glsl/ast_to_hir.cpp
@@ -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;
 
    /*




More information about the mesa-commit mailing list