summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2011-10-23 10:08:06 -0600
committerBrian Paul <[email protected]>2011-10-23 10:09:34 -0600
commit33abbd4fbdb3149df5ecc296b04a79225962e433 (patch)
tree7ae42b0119840d41b3d33d8c821017cbb0696195
parentc7aa8da9573f6d505bec894b4738f0521511b9f0 (diff)
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.
-rw-r--r--src/gallium/drivers/llvmpipe/lp_bld_depth.c7
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 3e75e91fc09..87a6a2751d4 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);