[Mesa-dev] [PATCH 6/7] i965: Fix gl_SampleMaskIn[] in per-sample shading mode.

Matt Turner mattst88 at gmail.com
Tue Apr 19 18:23:19 UTC 2016


On Mon, Apr 18, 2016 at 11:49 PM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> The coverage mask is not sufficient - in per-sample mode, we also need
> to AND with a mask representing the samples being processed by the
> current fragment shader invocation.
>
> Fixes 18 dEQP-GLES31.functional.shaders.sample_variables tests:
>
> sample_mask_in.bit_count_per_sample.multisample_{rbo,texture}_{1,2,4,8}
> sample_mask_in.bit_count_per_two_samples.multisample_{rbo,texture}_{4,8}
> sample_mask_in.bits_unique_per_sample.multisample_{rbo,texture}_{1,2,4,8}
> sample_mask_in.bits_unique_per_two_samples.multisample_{rbo,texture}_{4,8}
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
>  src/mesa/drivers/dri/i965/brw_fs.cpp     | 40 ++++++++++++++++++++++++++++++++
>  src/mesa/drivers/dri/i965/brw_fs.h       |  1 +
>  src/mesa/drivers/dri/i965/brw_fs_nir.cpp |  3 +--
>  3 files changed, 42 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index 8ae3545..3e9d86c 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -1423,6 +1423,46 @@ fs_visitor::emit_sampleid_setup()
>     return reg;
>  }
>
> +fs_reg *
> +fs_visitor::emit_samplemaskin_setup()
> +{
> +   assert(stage == MESA_SHADER_FRAGMENT);
> +   brw_wm_prog_key *key = (brw_wm_prog_key*) this->key;

Please put a space before the * in the cast.


More information about the mesa-dev mailing list