llvmpipe: generate two shader varients, one omits triangle in/out testing
authorBrian Paul <brianp@vmware.com>
Fri, 15 Jan 2010 18:21:16 +0000 (11:21 -0700)
committerBrian Paul <brianp@vmware.com>
Fri, 15 Jan 2010 18:21:16 +0000 (11:21 -0700)
commit2797f2bf57562c95a601a67edca3089641215cc4
treeff273ffd3535b8cd2805b20524054b89687fd020
parent3b1920a34903dfb753bc2a0461fef204d39846c6
llvmpipe: generate two shader varients, one omits triangle in/out testing

When we know that a 4x4 pixel block is entirely inside of a triangle
use the jit function which omits the in/out test code.

Results in a few percent speedup in many tests.
src/gallium/drivers/llvmpipe/lp_rast.c
src/gallium/drivers/llvmpipe/lp_rast.h
src/gallium/drivers/llvmpipe/lp_rast_priv.h
src/gallium/drivers/llvmpipe/lp_rast_tri.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_setup.h
src/gallium/drivers/llvmpipe/lp_state.h
src/gallium/drivers/llvmpipe/lp_state_fs.c