summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2012-02-24 14:26:41 -0500
committerZack Rusin <[email protected]>2012-02-24 14:55:56 -0500
commit5d9bfc4d3f117fd6d95e1818c60f4f7ea47e6929 (patch)
tree88b514253465324b3ac0d0b078dabfa2b1a36a72
parente0095548c02200d00a4edbd5bb1a28a32c324c5b (diff)
svga: Fix stencil op mapping
We were inverting the meaning of the stencil op flags: in svga/d3d the normal incr/decr wraps and the SAT ops clamp. This fixes piglit failures (at least stencil-twoside and stencil-wrap). We should backport this everywhere we can. Reviewed-by: Brian Paul <[email protected]>
-rw-r--r--src/gallium/drivers/svga/svga_pipe_depthstencil.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gallium/drivers/svga/svga_pipe_depthstencil.c b/src/gallium/drivers/svga/svga_pipe_depthstencil.c
index c84615a1f3b..cb07dbe09a3 100644
--- a/src/gallium/drivers/svga/svga_pipe_depthstencil.c
+++ b/src/gallium/drivers/svga/svga_pipe_depthstencil.c
@@ -57,10 +57,10 @@ svga_translate_stencil_op(unsigned op)
case PIPE_STENCIL_OP_KEEP: return SVGA3D_STENCILOP_KEEP;
case PIPE_STENCIL_OP_ZERO: return SVGA3D_STENCILOP_ZERO;
case PIPE_STENCIL_OP_REPLACE: return SVGA3D_STENCILOP_REPLACE;
- case PIPE_STENCIL_OP_INCR: return SVGA3D_STENCILOP_INCR;
- case PIPE_STENCIL_OP_DECR: return SVGA3D_STENCILOP_DECR;
- case PIPE_STENCIL_OP_INCR_WRAP: return SVGA3D_STENCILOP_INCRSAT; /* incorrect? */
- case PIPE_STENCIL_OP_DECR_WRAP: return SVGA3D_STENCILOP_DECRSAT; /* incorrect? */
+ case PIPE_STENCIL_OP_INCR: return SVGA3D_STENCILOP_INCRSAT;
+ case PIPE_STENCIL_OP_DECR: return SVGA3D_STENCILOP_DECRSAT;
+ case PIPE_STENCIL_OP_INCR_WRAP: return SVGA3D_STENCILOP_INCR;
+ case PIPE_STENCIL_OP_DECR_WRAP: return SVGA3D_STENCILOP_DECR;
case PIPE_STENCIL_OP_INVERT: return SVGA3D_STENCILOP_INVERT;
default:
assert(0);