<div dir="ltr"><div>Reviewed-by: Marek Olšák <<a href="mailto:marek.olsak@amd.com">marek.olsak@amd.com</a>></div><div><br></div><div>Marek<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 14, 2018 at 10:32 PM, Timothy Arceri <span dir="ltr"><<a href="mailto:tarceri@itsqueeze.com" target="_blank">tarceri@itsqueeze.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">EXT_gpu_shader4 is GL 3.0 plus some more bits and pieces. Currently<br>
the extension is never enabled for any drivers. Bumping the glsl<br>
version should allow shaders to compile.<br>
<br>
Noticed when looking at the trace from:<br>
Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=102522" rel="noreferrer" target="_blank">https://bugs.freedesktop.org/<wbr>show_bug.cgi?id=102522</a><br>
---<br>
 src/compiler/glsl/glsl_parser_<wbr>extras.cpp | 19 ++++++++++++++++++-<br>
 1 file changed, 18 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/src/compiler/glsl/glsl_<wbr>parser_extras.cpp b/src/compiler/glsl/glsl_<wbr>parser_extras.cpp<br>
index c6ffdcc588c..9d22b53de56 100644<br>
--- a/src/compiler/glsl/glsl_<wbr>parser_extras.cpp<br>
+++ b/src/compiler/glsl/glsl_<wbr>parser_extras.cpp<br>
@@ -422,7 +422,7 @@ _mesa_glsl_parse_state::<wbr>process_version_directive(<wbr>YYLTYPE *locp, int version,<br>
<br>
    if (this->forced_language_<wbr>version)<br>
       this->language_version = this->forced_language_version;<br>
-   else<br>
+   else if ((unsigned)version > this->language_version)<br>
       this->language_version = version;<br>
<br>
    this->compat_shader = compat_token_present ||<br>
@@ -814,6 +814,23 @@ _mesa_glsl_process_extension(<wbr>const char *name, YYLTYPE *name_locp,<br>
       }<br>
    } else {<br>
       const _mesa_glsl_extension *extension = find_extension(name);<br>
+<br>
+      /* The following is a hack while EXT_gpu_shader4 is unsupported.<br>
+       */<br>
+      assert(state->ctx->Extensions.<wbr>EXT_gpu_shader4 == false);<br>
+      if (state->language_version < 130 &&<br>
+          state->ctx->Const.GLSLVersion >= 130 &&<br>
+          strcmp(name, "GL_EXT_gpu_shader4") == 0 &&<br>
+          (behavior == extension_enable || behavior == extension_require)) {<br>
+<br>
+         state->language_version = 130;<br>
+         _mesa_glsl_warning(name_locp, state,<br>
+                            "extension `%s' unsupported in %s shader."<br>
+                            " Use GLSL 1.30 instead.",<br>
+                            name, _mesa_shader_stage_to_string(<wbr>state->stage));<br>
+         return true;<br>
+      }<br>
+<br>
       if (extension && extension->compatible_with_<wbr>state(state, api, gl_version)) {<br>
          extension->set_flags(state, behavior);<br>
          if (extension->available_pred == has_ANDROID_extension_pack_<wbr>es31a) {<br>
<span class="HOEnZb"><font color="#888888">-- <br>
2.17.0<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div>