[Mesa-dev] [PATCH] mesa/st: In the precense of integer buffers enable per buffer blending
Gert Wollny
gw.fossdev at gmail.com
Thu Sep 13 08:06:45 UTC 2018
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
More information about the mesa-dev
mailing list