glsl: Disable textureOffset(sampler2DArrayShadow, ...) in GLSL ES.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 15 Oct 2016 21:47:31 +0000 (14:47 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sun, 16 Oct 2016 22:05:00 +0000 (15:05 -0700)
This has apparently never existed in GLSL ES.

Fixes dEQP-GLES3.functional.shaders.texture_functions.invalid
.textureoffset_sampler2darrayshadow_vec4_ivec2_vertex and
.textureoffset_sampler2darrayshadow_vec4_ivec2_fragment

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98244
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/compiler/glsl/builtin_functions.cpp

index ad3d981c44b0a099be2d209534e95c6b91507328..3e4bcbbd2396b02bf31df3559407cbee7e8ace2b 100644 (file)
@@ -122,6 +122,12 @@ v130(const _mesa_glsl_parse_state *state)
    return state->is_version(130, 300);
 }
 
+static bool
+v130_desktop(const _mesa_glsl_parse_state *state)
+{
+   return state->is_version(130, 0);
+}
+
 static bool
 v130_fs_only(const _mesa_glsl_parse_state *state)
 {
@@ -1808,7 +1814,7 @@ builtin_builder::create_builtins()
                  * that it was intended to be included previously, so allow it
                  * in 1.30.
                  */
-                _texture(ir_tex, v130, glsl_type::float_type, glsl_type::sampler2DArrayShadow_type, glsl_type::vec4_type, TEX_OFFSET),
+                _texture(ir_tex, v130_desktop, glsl_type::float_type, glsl_type::sampler2DArrayShadow_type, glsl_type::vec4_type, TEX_OFFSET),
 
                 _texture(ir_txb, v130_fs_only, glsl_type::vec4_type,  glsl_type::sampler1D_type,  glsl_type::float_type, TEX_OFFSET),
                 _texture(ir_txb, v130_fs_only, glsl_type::ivec4_type, glsl_type::isampler1D_type, glsl_type::float_type, TEX_OFFSET),