From 33abbd4fbdb3149df5ecc296b04a79225962e433 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sun, 23 Oct 2011 10:08:06 -0600 Subject: [PATCH] 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 file 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); -- 2.30.2