On Thu, 2018-11-15 at 15:37 +0100, Lucas Stach wrote: > Take into account the render target format when checking if the color > mask affects all channels of the RT. This allows to enable full > override in a few cases where a non-alpha format is used. > > Signed-off-by: Lucas Stach <l.st...@pengutronix.de> > --- > src/gallium/drivers/etnaviv/etnaviv_blend.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/src/gallium/drivers/etnaviv/etnaviv_blend.c > b/src/gallium/drivers/etnaviv/etnaviv_blend.c > index 1792fd0fdd67..2bf081c2e710 100644 > --- a/src/gallium/drivers/etnaviv/etnaviv_blend.c > +++ b/src/gallium/drivers/etnaviv/etnaviv_blend.c > @@ -114,6 +114,7 @@ etna_update_blend(struct etna_context *ctx) > struct pipe_blend_state *pblend = ctx->blend; > struct etna_blend_state *blend = etna_blend_state(pblend); > const struct pipe_rt_blend_state *rt0 = &pblend->rt[0]; > + const struct util_format_description *desc; > uint32_t colormask; > > if (pfb->cbufs[0] && > @@ -131,8 +132,10 @@ etna_update_blend(struct etna_context *ctx) > * - The color mask is 1111 > * - No blending is used > */ > - bool full_overwrite = ((rt0->colormask == 0xf) && blend->fo_allowed) || > - !pfb->cbufs[0]; > + if (pfb->cbufs[0]) > + desc = util_format_description(pfb->cbufs[0]->format); > + bool full_overwrite = !pfb->cbufs[0] || ((blend->fo_allowed && > + util_format_colormask_full(desc, colormask)));
Is the comment above still accurate with this change? regards Philipp _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev