diff options
author | Brian Paul <[email protected]> | 2010-01-15 11:35:28 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-01-15 11:35:30 -0700 |
commit | 47fee146879aa8ac7f216c8ac5f3a84270266287 (patch) | |
tree | b256a335e08e80c16c3a214c04c07b0a86488fdd /src/gallium/drivers/llvmpipe | |
parent | 12ba9e99db51a4a9e2e28a0574ef59f6548d8a84 (diff) |
llvmpipe: skip 4x4 in/out test code
It's a litte faster to just do the in/out testing in the shader
jit code.
Diffstat (limited to 'src/gallium/drivers/llvmpipe')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_rast_tri.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_rast_tri.c b/src/gallium/drivers/llvmpipe/lp_rast_tri.c index 92769beee1f..b3d1e7dee45 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast_tri.c +++ b/src/gallium/drivers/llvmpipe/lp_rast_tri.c @@ -149,10 +149,6 @@ do_block_16( struct lp_rasterizer_task *rast_task, int c2, int c3 ) { - const int ei1 = tri->ei1 * 4; - const int ei2 = tri->ei2 * 4; - const int ei3 = tri->ei3 * 4; - const int eo1 = tri->eo1 * 4; const int eo2 = tri->eo2 * 4; const int eo3 = tri->eo3 * 4; @@ -175,16 +171,10 @@ do_block_16( struct lp_rasterizer_task *rast_task, else { int px = x + pos_table4[i][0]; int py = y + pos_table4[i][1]; - if (cx1 + ei1 > 0 && - cx2 + ei2 > 0 && - cx3 + ei3 > 0) { - /* the block is completely inside the triangle */ - block_full_4(rast_task, tri, px, py); - } - else { - /* the block is partially in/out of the triangle */ - do_block_4(rast_task, tri, px, py, cx1, cx2, cx3); - } + /* Don't bother testing if the 4x4 block is entirely in/out of + * the triangle. It's a little faster to do it in the jit code. + */ + do_block_4(rast_task, tri, px, py, cx1, cx2, cx3); } } } |