[Mesa-dev] [PATCH] radeonsi: fix alpha-to-coverage if color writes are disabled

Marek Olšák maraeo at gmail.com
Thu Jan 4 01:12:07 UTC 2018


Thanks! I slightly modified the patch and pushed it.

Marek

On Sun, Dec 31, 2017 at 10:19 AM, Józef Kucia <joseph.kucia at gmail.com> wrote:
> If alpha-to-coverage is enabled, we have to compute alpha
> even if color writes are disabled.
>
> Signed-off-by: Józef Kucia <joseph.kucia at gmail.com>
> ---
>
> Found while running The Witness under Wine.
>
> ---
>  src/gallium/drivers/radeonsi/si_state_shaders.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
> index 9143f61fcdf2..eaf72e8ee684 100644
> --- a/src/gallium/drivers/radeonsi/si_state_shaders.c
> +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
> @@ -1173,6 +1173,8 @@ static void si_shader_selector_key_hw_vs(struct si_context *sctx,
>                                       ps->info.writes_stencil ||
>                                       ps->info.writes_samplemask ||
>                                       si_get_alpha_test_func(sctx) != PIPE_FUNC_ALWAYS;
> +               const struct si_state_blend *blend = sctx->queued.named.blend;
> +               bool alpha_to_coverage = blend && blend->alpha_to_coverage;
>
>                 unsigned ps_colormask = sctx->framebuffer.colorbuf_enabled_4bit &
>                                         sctx->queued.named.blend->cb_target_mask;
> @@ -1182,7 +1184,8 @@ static void si_shader_selector_key_hw_vs(struct si_context *sctx,
>                 ps_disabled = sctx->queued.named.rasterizer->rasterizer_discard ||
>                               (!ps_colormask &&
>                                !ps_modifies_zs &&
> -                              !ps->info.writes_memory);
> +                              !ps->info.writes_memory &&
> +                              !alpha_to_coverage);
>         }
>
>         /* Find out which VS outputs aren't used by the PS. */
> --
> 2.15.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list