Mesa (master): broadcom/vc5: Implement workaround for GFXH-1431.

Eric Anholt anholt at kemper.freedesktop.org
Tue Mar 27 00:49:26 UTC 2018


Module: Mesa
Branch: master
Commit: 494da6c2dd8f0b570693f7611b58be11061224e0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=494da6c2dd8f0b570693f7611b58be11061224e0

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar 26 10:38:28 2018 -0700

broadcom/vc5: Implement workaround for GFXH-1431.

This should fix some blending errors, but doesn't impact any testcases in
the CTS.

---

 src/gallium/drivers/vc5/vc5_emit.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/vc5/vc5_emit.c b/src/gallium/drivers/vc5/vc5_emit.c
index 71f508c9ee..deb46228da 100644
--- a/src/gallium/drivers/vc5/vc5_emit.c
+++ b/src/gallium/drivers/vc5/vc5_emit.c
@@ -490,7 +490,11 @@ v3dX(emit_state)(struct pipe_context *pctx)
                 }
         }
 
-        if (vc5->dirty & VC5_DIRTY_BLEND_COLOR) {
+        /* GFXH-1431: On V3D 3.x, writing BLEND_CONFIG resets the constant
+         * color.
+         */
+        if (vc5->dirty & VC5_DIRTY_BLEND_COLOR ||
+            (V3D_VERSION < 41 && (vc5->dirty & VC5_DIRTY_BLEND))) {
                 cl_emit(&job->bcl, BLEND_CONSTANT_COLOUR, colour) {
                         colour.red_f16 = (vc5->swap_color_rb ?
                                           vc5->blend_color.hf[2] :




More information about the mesa-commit mailing list