<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Tue, Aug 28, 2018 at 11:22 AM Manolova, Plamena <<a href="mailto:plamena.manolova@intel.com">plamena.manolova@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Mark,<div>AFAIK there is no piglit test for this specific extension. However underneath the hood it reuses the</div><div>functionality of ARB_fragment_shader_interlock, which has a test. I believe the only major difference between</div><div>the two extensions is that unlike beginInvocationInterlockARB, <span style="color:rgb(0,0,0);white-space:pre-wrap">beginFragmentShaderOrderingINTEL can</span><br></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap">be called from functions other than main(). If necessary it would be pretty straightforward to reuse most of the code</span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap">for the </span>ARB_fragment_shader_interlock test to create one for INTEL_fragment_shader_ordering.</div></div></blockquote><div><br></div><div>Having the same underlying compiler intrinsic and having the same behavior are not the same thing.  The INTEL extension allows strictly more functionality than the ARB extension so it needs even more testing.  In particular, it allows you to do the barrier in non-uniform control-flow which is a very different thing than at the top of a shader like is allowed by ARB_fragment_shader_interlock.  I expect the INTEL extension to need substantially more testing than the ARB one.</div><div><br></div><div>--Jason</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Thank you,<br></div><div>Pam</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Aug 28, 2018 at 6:41 PM Mark Janes <<a href="mailto:mark.a.janes@intel.com" target="_blank">mark.a.janes@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Is there a piglit test that verifies that this feature works properly?<br>
<br>
<<a href="mailto:kevin.rogovin@intel.com" target="_blank">kevin.rogovin@intel.com</a>> writes:<br>
<br>
> From: Kevin Rogovin <<a href="mailto:kevin.rogovin@intel.com" target="_blank">kevin.rogovin@intel.com</a>><br>
><br>
> INTEL_fragment_shader_ordering provides the ability for shaders<br>
> to issue a call to gaurnantee memory write operation ordering<br>
> of overlapping pixels or samples. In contrast to<br>
> ARB_fragment_shader_interlock, INTEL_fragment_shader_ordering<br>
> instead of defining a critical region (which must be in main() and<br>
> under no flow control) provides a single function that acts like<br>
> a memory barrier that can be called under any control flow.<br>
><br>
> Kevin Rogovin (2):<br>
>   mesa: Add GL/GLSL plumbing for INTEL_fragment_shader_ordering.<br>
>   i965: Add INTEL_fragment_shader_ordering support.<br>
><br>
>  docs/relnotes/18.3.0.html                    |  1 +<br>
>  src/compiler/glsl/builtin_functions.cpp      | 17 +++++++++++++++++<br>
>  src/compiler/glsl/glsl_parser_extras.cpp     |  1 +<br>
>  src/compiler/glsl/glsl_parser_extras.h       |  2 ++<br>
>  src/compiler/glsl/glsl_to_nir.cpp            |  6 ++++++<br>
>  src/compiler/glsl/ir.h                       |  1 +<br>
>  src/compiler/nir/nir_intrinsics.py           |  1 +<br>
>  src/intel/compiler/brw_fs_nir.cpp            |  1 +<br>
>  src/mesa/drivers/dri/i965/intel_extensions.c |  1 +<br>
>  src/mesa/main/extensions_table.h             |  1 +<br>
>  src/mesa/main/mtypes.h                       |  1 +<br>
>  11 files changed, 33 insertions(+)<br>
><br>
> -- <br>
> 2.17.1<br>
><br>
> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">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/mailman/listinfo/mesa-dev</a><br>
</blockquote></div>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">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/mailman/listinfo/mesa-dev</a><br>
</blockquote></div></div>