llvmpipe: implement scissor testing
authorBrian Paul <brianp@vmware.com>
Fri, 15 Jan 2010 02:15:00 +0000 (19:15 -0700)
committerBrian Paul <brianp@vmware.com>
Fri, 15 Jan 2010 02:15:00 +0000 (19:15 -0700)
commit4461442849bfdb817334b38567136f7f9dabdf59
tree2539c1448256f7c617e6b902deba793ca63a4959
parentca12e30d97b83fb33e1f8f83da05b5ed2809b0af
llvmpipe: implement scissor testing

The scissor test is implemented as another per-quad operation in
the JIT code.  The four scissor box params are passed via the
lp_jit_context.  In the JIT code we compare the quad's x/y coords
against the clip bounds and create a new in/out mask that's AND'd
with the main quad mask.

Note: we should also do scissor testing in the triangle setup code
to improve efficiency.  That's not done yet.
src/gallium/drivers/llvmpipe/lp_jit.c
src/gallium/drivers/llvmpipe/lp_jit.h
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_setup.h
src/gallium/drivers/llvmpipe/lp_setup_context.h
src/gallium/drivers/llvmpipe/lp_state.h
src/gallium/drivers/llvmpipe/lp_state_derived.c
src/gallium/drivers/llvmpipe/lp_state_fs.c