EXT_gpu_shader4 is GL 3.0 plus some more bits and pieces. Currently the extension is never enabled for any drivers. Bumping the glsl version should allow shaders to compile.
Noticed when looking at the trace from: Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102522 --- src/compiler/glsl/glsl_parser_extras.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index c6ffdcc588c..9d22b53de56 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -422,7 +422,7 @@ _mesa_glsl_parse_state::process_version_directive(YYLTYPE *locp, int version, if (this->forced_language_version) this->language_version = this->forced_language_version; - else + else if ((unsigned)version > this->language_version) this->language_version = version; this->compat_shader = compat_token_present || @@ -814,6 +814,23 @@ _mesa_glsl_process_extension(const char *name, YYLTYPE *name_locp, } } else { const _mesa_glsl_extension *extension = find_extension(name); + + /* The following is a hack while EXT_gpu_shader4 is unsupported. + */ + assert(state->ctx->Extensions.EXT_gpu_shader4 == false); + if (state->language_version < 130 && + state->ctx->Const.GLSLVersion >= 130 && + strcmp(name, "GL_EXT_gpu_shader4") == 0 && + (behavior == extension_enable || behavior == extension_require)) { + + state->language_version = 130; + _mesa_glsl_warning(name_locp, state, + "extension `%s' unsupported in %s shader." + " Use GLSL 1.30 instead.", + name, _mesa_shader_stage_to_string(state->stage)); + return true; + } + if (extension && extension->compatible_with_state(state, api, gl_version)) { extension->set_flags(state, behavior); if (extension->available_pred == has_ANDROID_extension_pack_es31a) { -- 2.17.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev