Mesa (master): llvmpipe: point out that there's two stencil writemasks

Brian Paul brianp at kemper.freedesktop.org
Sun Oct 23 09:12:53 PDT 2011


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

Author: Brian Paul <brianp at vmware.com>
Date:   Sun Oct 23 10:08:06 2011 -0600

llvmpipe: point out that there's two stencil writemasks

In lp_build_stencil_op() the incoming 'stencil' var is a 2-element array.
There's a front-face writemask and a back-face writemask but we're ignoring
the later.  This patch doesn't fix anything but at least points out the
problem.

---

 src/gallium/drivers/llvmpipe/lp_bld_depth.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.c b/src/gallium/drivers/llvmpipe/lp_bld_depth.c
index 3e75e91..87a6a27 100644
--- a/src/gallium/drivers/llvmpipe/lp_bld_depth.c
+++ b/src/gallium/drivers/llvmpipe/lp_bld_depth.c
@@ -263,10 +263,11 @@ lp_build_stencil_op(struct lp_build_context *bld,
       res = lp_build_select(bld, front_facing, res, back_res);
    }
 
-   if (stencil->writemask != 0xff) {
-      /* mask &= stencil->writemask */
+   /* XXX what about the back-face writemask? */
+   if (stencil[0].writemask != 0xff) {
+      /* mask &= stencil[0].writemask */
       LLVMValueRef writemask = lp_build_const_int_vec(bld->gallivm, bld->type,
-                                                      stencil->writemask);
+                                                      stencil[0].writemask);
       mask = LLVMBuildAnd(builder, mask, writemask, "");
       /* res = (res & mask) | (stencilVals & ~mask) */
       res = lp_build_select_bitwise(bld, mask, res, stencilVals);



More information about the mesa-commit mailing list