<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>