broadcom/vc5: Don't emit stencil config if not doing stencil test.
authorEric Anholt <eric@anholt.net>
Wed, 1 Nov 2017 20:56:57 +0000 (13:56 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 7 Nov 2017 17:19:48 +0000 (09:19 -0800)
As with blending, we'll have the bit flagged again when it gets reenabled
in CONFIGURATION_BITS, so there's no need to emit test state if we're not
testing.

src/gallium/drivers/vc5/vc5_emit.c

index 51709176a2ca4cdda540724a2689a40ab92a5b5d..0c2cde708803a2d41ec1e0e43cde737f00f4ec4a 100644 (file)
@@ -385,7 +385,8 @@ vc5_emit_state(struct pipe_context *pctx)
                 }
         }
 
-        if (vc5->dirty & (VC5_DIRTY_ZSA | VC5_DIRTY_STENCIL_REF)) {
+        if (vc5->dirty & (VC5_DIRTY_ZSA | VC5_DIRTY_STENCIL_REF) &&
+            vc5->zsa->base.stencil[0].enabled) {
                 struct pipe_stencil_state *front = &vc5->zsa->base.stencil[0];
                 struct pipe_stencil_state *back = &vc5->zsa->base.stencil[1];