Mesa (master): vc4: Don' t look at back stencil state unless two-sided stencil is enabled.
Eric Anholt
anholt at kemper.freedesktop.org
Tue Oct 21 14:17:37 UTC 2014
Module: Mesa
Branch: master
Commit: 48f6351940ff62c29fff618cec722e845acc86d5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=48f6351940ff62c29fff618cec722e845acc86d5
Author: Eric Anholt <eric at anholt.net>
Date: Mon Oct 20 22:53:07 2014 +0100
vc4: Don't look at back stencil state unless two-sided stencil is enabled.
Fixes regressions in the next bugfix, because gallium util stuff leaves
the back stencil state as 0 if !back->enabled.
---
src/gallium/drivers/vc4/vc4_state.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/vc4/vc4_state.c b/src/gallium/drivers/vc4/vc4_state.c
index 31f2424..99b5b3c 100644
--- a/src/gallium/drivers/vc4/vc4_state.c
+++ b/src/gallium/drivers/vc4/vc4_state.c
@@ -203,12 +203,16 @@ vc4_create_depth_stencil_alpha_state(struct pipe_context *pctx,
uint8_t front_writemask_bits =
tlb_stencil_setup_writemask(front->writemask);
- uint8_t back_writemask_bits =
- tlb_stencil_setup_writemask(back->writemask);
+ uint8_t back_writemask = front->writemask;
+ uint8_t back_writemask_bits = front_writemask_bits;
so->stencil_uniforms[0] =
tlb_stencil_setup_bits(front, front_writemask_bits);
if (back->enabled) {
+ back_writemask = back->writemask;
+ back_writemask_bits =
+ tlb_stencil_setup_writemask(back->writemask);
+
so->stencil_uniforms[0] |= (1 << 30);
so->stencil_uniforms[1] =
tlb_stencil_setup_bits(back, back_writemask_bits);
More information about the mesa-commit
mailing list