Mesa (master): glsl/types: disallow implicit conversions before GLSL 1.20

Andres Gomez tanty at kemper.freedesktop.org
Fri Aug 5 11:45:56 UTC 2016


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

Author: Andres Gomez <agomez at igalia.com>
Date:   Sun Jul 31 01:46:59 2016 +0300

glsl/types: disallow implicit conversions before GLSL 1.20

Implicit conversions were added in the GLSL 1.20 spec version.

v2: Join the checks for GLSL 1.10 and ESSL (Timothy).

Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
Signed-off-by: Andres Gomez <agomez at igalia.com>

---

 src/compiler/glsl_types.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/compiler/glsl_types.cpp b/src/compiler/glsl_types.cpp
index 8a06695..641644d 100644
--- a/src/compiler/glsl_types.cpp
+++ b/src/compiler/glsl_types.cpp
@@ -1384,11 +1384,11 @@ glsl_type::can_implicitly_convert_to(const glsl_type *desired,
    if (this == desired)
       return true;
 
-   /* ESSL does not allow implicit conversions. If there is no state, we're
-    * doing intra-stage function linking where these checks have already been
-    * done.
+   /* GLSL 1.10 and ESSL do not allow implicit conversions. If there is no
+    * state, we're doing intra-stage function linking where these checks have
+    * already been done.
     */
-   if (state && state->es_shader)
+   if (state && (state->es_shader || !state->is_version(120, 0)))
       return false;
 
    /* There is no conversion among matrix types. */




More information about the mesa-commit mailing list