[Mesa-dev] [PATCH] mesa/st: In the precense of integer buffers enable per buffer blending

Marek Olšák maraeo at gmail.com
Tue Sep 18 02:06:13 UTC 2018


Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Thu, Sep 13, 2018 at 4:06 AM, Gert Wollny <gw.fossdev at gmail.com> wrote:
> From: Gert Wollny <gert.wollny at collabora.com>
>
> Since blending will be disabled later for integer formats we have to
> consider that in the case of a mixed set of integer/non-integer format
> buffers blending must be handled on a per buffer basis.
>
> Fixes on r600:
>   dEQP-GLES31.functional.draw_buffers_indexed.random.
>       max_required_draw_buffers.13
>
> Fixes:  8fb966688bc1053a48e8ee7f7394ce030bcfd345
>   st/mesa: Disable blending for integer formats.
> Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
> ---
>  src/mesa/state_tracker/st_atom_blend.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/src/mesa/state_tracker/st_atom_blend.c b/src/mesa/state_tracker/st_atom_blend.c
> index 804de2f154..d6a9562d25 100644
> --- a/src/mesa/state_tracker/st_atom_blend.c
> +++ b/src/mesa/state_tracker/st_atom_blend.c
> @@ -139,6 +139,12 @@ blend_per_rt(const struct gl_context *ctx, unsigned num_cb)
>        /* this can only happen if GL_ARB_draw_buffers_blend is enabled */
>        return GL_TRUE;
>     }
> +   if (ctx->DrawBuffer->_IntegerBuffers &&
> +       (ctx->DrawBuffer->_IntegerBuffers != cb_mask)) {
> +      /* If there is a mix of integer/non-integer buffers then blending
> +       * must be handled on a per buffer basis. */
> +      return GL_TRUE;
> +   }
>     return GL_FALSE;
>  }
>
> --
> 2.16.4
>
> _______________________________________________
> 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