llvmpipe: fix stencil bug if we have both stencil and depth tests
authorRoland Scheidegger <sroland@vmware.com>
Thu, 15 Aug 2013 14:50:27 +0000 (16:50 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Thu, 15 Aug 2013 15:30:07 +0000 (17:30 +0200)
commitabdd32dcd5569c7caa393acd21753e03de24047f
treecdb89dd06e252d73beb615dac355e1df8708866a
parent7ae9cc71f097af5ae1f83f77f75de2198849faca
llvmpipe: fix stencil bug if we have both stencil and depth tests

This is a very well hidden bug found by accident (only the fixed glean
tstencil2 test so far seems to hit it).
We must use new mask with combined s_pass values and orig_mask values
for zpass/zfail stencil ops, otherwise both the sfail op and one of
zpass/zfail op are applied (probably not hit in most tests because
some of the ops tend to be KEEP usually).

Note: this is a candidate for the 9.2 branch.

Reviewed-by: Zack Rusin <zackr@vmware.com>
src/gallium/drivers/llvmpipe/lp_bld_depth.c