<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</div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 15, 2018 at 6:06 PM, Rhys Perry <span dir="ltr"><<a href="mailto:pendingchaos02@gmail.com" target="_blank">pendingchaos02@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Signed-off-by: Rhys Perry <<a href="mailto:pendingchaos02@gmail.com">pendingchaos02@gmail.com</a>><br>
---<br>
 src/compiler/glsl/ast_to_hir.<wbr>cpp         | 5 +++++<br>
 src/compiler/glsl/glsl_parser_<wbr>extras.cpp | 1 +<br>
 src/compiler/glsl/glsl_parser_<wbr>extras.h   | 7 +++++++<br>
 src/mesa/main/extensions_<wbr>table.h         | 1 +<br>
 src/mesa/main/mtypes.h                   | 1 +<br>
 5 files changed, 15 insertions(+)<br>
<br>
diff --git a/src/compiler/glsl/ast_to_<wbr>hir.cpp b/src/compiler/glsl/ast_to_<wbr>hir.cpp<br>
index dd60a2a87f..09ce5a44e6 100644<br>
--- a/src/compiler/glsl/ast_to_<wbr>hir.cpp<br>
+++ b/src/compiler/glsl/ast_to_<wbr>hir.cpp<br>
@@ -3461,6 +3461,11 @@ apply_image_qualifier_to_<wbr>variable(const struct ast_type_qualifier *qual,<br>
       }<br>
<br>
       var->data.image_format = qual->image_format;<br>
+   } else if (state->has_image_load_<wbr>formatted()) {<br>
+      if (var->data.mode == ir_var_uniform &&<br>
+          state->EXT_shader_image_load_<wbr>formatted_warn) {<br>
+         _mesa_glsl_warning(loc, state, "GL_EXT_image_load_formatted used");<br>
+      }<br>
    } else {<br>
       if (var->data.mode == ir_var_uniform) {<br>
          if (state->es_shader) {<br>
diff --git a/src/compiler/glsl/glsl_<wbr>parser_extras.cpp b/src/compiler/glsl/glsl_<wbr>parser_extras.cpp<br>
index 04eba980e0..d575eb613d 100644<br>
--- a/src/compiler/glsl/glsl_<wbr>parser_extras.cpp<br>
+++ b/src/compiler/glsl/glsl_<wbr>parser_extras.cpp<br>
@@ -714,6 +714,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_<wbr>extensions[] = {<br>
    EXT(EXT_separate_shader_<wbr>objects),<br>
    EXT(EXT_shader_framebuffer_<wbr>fetch),<br>
    EXT(EXT_shader_framebuffer_<wbr>fetch_non_coherent),<br>
+   EXT(EXT_shader_image_load_<wbr>formatted),<br>
    EXT(EXT_shader_integer_mix),<br>
    EXT_AEP(EXT_shader_io_blocks),<br>
    EXT(EXT_shader_samples_<wbr>identical),<br>
diff --git a/src/compiler/glsl/glsl_<wbr>parser_extras.h b/src/compiler/glsl/glsl_<wbr>parser_extras.h<br>
index 59a173418b..2818cdbb07 100644<br>
--- a/src/compiler/glsl/glsl_<wbr>parser_extras.h<br>
+++ b/src/compiler/glsl/glsl_<wbr>parser_extras.h<br>
@@ -343,6 +343,11 @@ struct _mesa_glsl_parse_state {<br>
       return ARB_bindless_texture_enable;<br>
    }<br>
<br>
+   bool has_image_load_formatted() const<br>
+   {<br>
+      return EXT_shader_image_load_<wbr>formatted_enable;<br>
+   }<br>
+<br>
    void process_version_directive(<wbr>YYLTYPE *locp, int version,<br>
                                   const char *ident);<br>
<br>
@@ -790,6 +795,8 @@ struct _mesa_glsl_parse_state {<br>
    bool EXT_shader_framebuffer_fetch_<wbr>warn;<br>
    bool EXT_shader_framebuffer_fetch_<wbr>non_coherent_enable;<br>
    bool EXT_shader_framebuffer_fetch_<wbr>non_coherent_warn;<br>
+   bool EXT_shader_image_load_<wbr>formatted_enable;<br>
+   bool EXT_shader_image_load_<wbr>formatted_warn;<br>
    bool EXT_shader_integer_mix_enable;<br>
    bool EXT_shader_integer_mix_warn;<br>
    bool EXT_shader_io_blocks_enable;<br>
diff --git a/src/mesa/main/extensions_<wbr>table.h b/src/mesa/main/extensions_<wbr>table.h<br>
index 79ef228b69..ac6acbb5ad 100644<br>
--- a/src/mesa/main/extensions_<wbr>table.h<br>
+++ b/src/mesa/main/extensions_<wbr>table.h<br>
@@ -254,6 +254,7 @@ EXT(EXT_separate_shader_<wbr>objects             , dummy_true<br>
 EXT(EXT_separate_specular_<wbr>color             , dummy_true                             , GLL,  x ,  x ,  x , 1997)<br>
 EXT(EXT_shader_framebuffer_<wbr>fetch            , EXT_shader_framebuffer_fetch           , GLL, GLC,  x , ES2, 2013)<br>
 EXT(EXT_shader_framebuffer_<wbr>fetch_non_coherent, EXT_shader_framebuffer_fetch_<wbr>non_coherent, GLL, GLC,  x, ES2, 2018)<br>
+EXT(EXT_shader_image_load_<wbr>formatted         , EXT_shader_image_load_<wbr>formatted        , GLL, GLC,  x ,  x , 2014)<br>
 EXT(EXT_shader_integer_mix                  , EXT_shader_integer_mix                 , GLL, GLC,  x ,  30, 2013)<br>
 EXT(EXT_shader_io_blocks                    , dummy_true                             ,  x ,  x ,  x ,  31, 2014)<br>
 EXT(EXT_shader_samples_<wbr>identical            , EXT_shader_samples_identical           , GLL, GLC,  x ,  31, 2015)<br>
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h<br>
index 482c42a4b2..4d0fdfe8e7 100644<br>
--- a/src/mesa/main/mtypes.h<br>
+++ b/src/mesa/main/mtypes.h<br>
@@ -4179,6 +4179,7 @@ struct gl_extensions<br>
    GLboolean EXT_provoking_vertex;<br>
    GLboolean EXT_semaphore;<br>
    GLboolean EXT_semaphore_fd;<br>
+   GLboolean EXT_shader_image_load_<wbr>formatted;<br>
    GLboolean EXT_shader_integer_mix;<br>
    GLboolean EXT_shader_samples_identical;<br>
    GLboolean EXT_stencil_two_side;<br>
<span class="HOEnZb"><font color="#888888">-- <br>
2.14.4<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>