<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Nov 17, 2016 at 12:36 PM, Ilia Mirkin <span dir="ltr"><<a href="mailto:imirkin@alum.mit.edu" target="_blank">imirkin@alum.mit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Thu, Nov 17, 2016 at 3:27 PM, Plamena Manolova<br>
<<a href="mailto:plamena.manolova@intel.com">plamena.manolova@intel.com</a>> wrote:<br>
> This extension allows the fragment shader to control whether values in<br>
> gl_SampleMaskIn[] reflect the coverage after application of the early<br>
> depth and stencil tests.<br>
><br>
> Signed-off-by: Plamena Manolova <<a href="mailto:plamena.manolova@intel.com">plamena.manolova@intel.com</a>><br>
> ---<br>
>  src/mesa/drivers/dri/i965/brw_<wbr>compiler.h     |  1 +<br>
>  src/mesa/drivers/dri/i965/brw_<wbr>fs.cpp         |  1 +<br>
>  src/mesa/drivers/dri/i965/<wbr>gen8_ps_state.c    | 13 ++++++++++---<br>
>  src/mesa/drivers/dri/i965/<wbr>intel_extensions.c |  1 +<br>
>  4 files changed, 13 insertions(+), 3 deletions(-)<br>
><br>
> diff --git a/src/mesa/drivers/dri/i965/<wbr>brw_compiler.h b/src/mesa/drivers/dri/i965/<wbr>brw_compiler.h<br>
> index c2400f9..d97d466 100644<br>
> --- a/src/mesa/drivers/dri/i965/<wbr>brw_compiler.h<br>
> +++ b/src/mesa/drivers/dri/i965/<wbr>brw_compiler.h<br>
> @@ -397,6 +397,7 @@ struct brw_wm_prog_data {<br>
>     bool computed_stencil;<br>
><br>
>     bool early_fragment_tests;<br>
> +   bool post_depth_coverage;<br>
>     bool dispatch_8;<br>
>     bool dispatch_16;<br>
>     bool dual_src_blend;<br>
> diff --git a/src/mesa/drivers/dri/i965/<wbr>brw_fs.cpp b/src/mesa/drivers/dri/i965/<wbr>brw_fs.cpp<br>
> index 3cdf0bf..07ac4bc 100644<br>
> --- a/src/mesa/drivers/dri/i965/<wbr>brw_fs.cpp<br>
> +++ b/src/mesa/drivers/dri/i965/<wbr>brw_fs.cpp<br>
> @@ -6455,6 +6455,7 @@ brw_compile_fs(const struct brw_compiler *compiler, void *log_data,<br>
>         shader->info->outputs_read);<br>
><br>
>     prog_data->early_fragment_<wbr>tests = shader->info->fs.early_<wbr>fragment_tests;<br>
> +   prog_data->post_depth_coverage = shader->info->fs.post_depth_<wbr>coverage;<br>
><br>
>     prog_data->barycentric_interp_<wbr>modes =<br>
>        brw_compute_barycentric_<wbr>interp_modes(compiler-><wbr>devinfo, shader);<br>
> diff --git a/src/mesa/drivers/dri/i965/<wbr>gen8_ps_state.c b/src/mesa/drivers/dri/i965/<wbr>gen8_ps_state.c<br>
> index a4eb962..33ef023 100644<br>
> --- a/src/mesa/drivers/dri/i965/<wbr>gen8_ps_state.c<br>
> +++ b/src/mesa/drivers/dri/i965/<wbr>gen8_ps_state.c<br>
> @@ -53,10 +53,17 @@ gen8_upload_ps_extra(struct brw_context *brw,<br>
>        dw1 |= GEN8_PSX_SHADER_IS_PER_SAMPLE;<br>
><br>
>     if (prog_data->uses_sample_mask) {<br>
> -      if (brw->gen >= 9)<br>
> -         dw1 |= BRW_PSICMS_INNER << GEN9_PSX_SHADER_NORMAL_<wbr>COVERAGE_MASK_SHIFT;<br>
> -      else<br>
> +      if (brw->gen >= 9) {<br>
> +         if (prog_data->post_depth_<wbr>coverage) {<br>
> +            dw1 |= BRW_PCICMS_DEPTH << GEN9_PSX_SHADER_NORMAL_<wbr>COVERAGE_MASK_SHIFT;<br>
> +         }<br>
> +         else {<br>
> +            dw1 |= BRW_PSICMS_INNER << GEN9_PSX_SHADER_NORMAL_<wbr>COVERAGE_MASK_SHIFT;<br>
> +         }<br>
> +      }<br>
> +      else {<br>
>           dw1 |= GEN8_PSX_SHADER_USES_INPUT_<wbr>COVERAGE_MASK;<br>
> +      }<br>
>     }<br>
><br>
>     if (prog_data->uses_omask)<br>
> diff --git a/src/mesa/drivers/dri/i965/<wbr>intel_extensions.c b/src/mesa/drivers/dri/i965/<wbr>intel_extensions.c<br>
> index 66079b5..cc3d634 100644<br>
> --- a/src/mesa/drivers/dri/i965/<wbr>intel_extensions.c<br>
> +++ b/src/mesa/drivers/dri/i965/<wbr>intel_extensions.c<br>
> @@ -225,6 +225,7 @@ intelInitExtensions(struct gl_context *ctx)<br>
>     ctx->Extensions.ARB_vertex_<wbr>shader = true;<br>
>     ctx->Extensions.ARB_vertex_<wbr>type_2_10_10_10_rev = true;<br>
>     ctx->Extensions.ARB_vertex_<wbr>type_10f_11f_11f_rev = true;<br>
> +   ctx->Extensions.ARB_post_<wbr>depth_coverage = true;<br>
<br>
</div></div>Shouldn't this be in a gen9-only section?<br></blockquote><div><br></div><div>Yes, it should.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
>     ctx->Extensions.EXT_blend_<wbr>color = true;<br>
>     ctx->Extensions.EXT_blend_<wbr>equation_separate = true;<br>
>     ctx->Extensions.EXT_blend_<wbr>func_separate = true;<br>
> --<br>
> 2.7.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>
______________________________<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>
</div></div></blockquote></div><br></div></div>