diff options
author | Chia-I Wu <[email protected]> | 2010-08-07 20:44:02 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2010-08-16 20:46:28 +0800 |
commit | 5a085c623faebf957be3fae2f82dc89ef6214585 (patch) | |
tree | e391dd2836d5e7c365ea5e116f5f887b3228aea9 /src/gallium/auxiliary/draw/draw_pipe.c | |
parent | 5b6bf799e637e9020af3a4bebe514b53d7c38eca (diff) |
draw: Replace vcache by vsplit.
vcache decomposes primitives while vsplit splits primitives. Splitting
is generally easier to do and is faster. More importantly, vcache
depends on flatshade_first to decompose. The outputs may have incorrect
vertex order which is significant to GS.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pipe.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_pipe.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pipe.c b/src/gallium/auxiliary/draw/draw_pipe.c index 6a9e4d5e901..43c25167a93 100644 --- a/src/gallium/auxiliary/draw/draw_pipe.c +++ b/src/gallium/auxiliary/draw/draw_pipe.c @@ -169,10 +169,6 @@ static void do_triangle( struct draw_context *draw, /* * Set up macros for draw_pt_decompose.h template code. * This code uses vertex indexes / elements. - * - * Flags are needed by the stipple and unfilled stages. When the two stages - * are active, vcache_run_extras is called and the flags are stored in the - * higher bits of i0. Otherwise, flags do not matter. */ #define TRIANGLE(flags,i0,i1,i2) \ @@ -180,7 +176,7 @@ static void do_triangle( struct draw_context *draw, assert(!((i1) & DRAW_PIPE_FLAG_MASK)); \ assert(!((i2) & DRAW_PIPE_FLAG_MASK)); \ do_triangle( draw, \ - i0, /* flags */ \ + flags, \ verts + stride * (i0 & ~DRAW_PIPE_FLAG_MASK), \ verts + stride * (i1), \ verts + stride * (i2) ); \ @@ -190,7 +186,7 @@ static void do_triangle( struct draw_context *draw, do { \ assert(!((i1) & DRAW_PIPE_FLAG_MASK)); \ do_line( draw, \ - i0, /* flags */ \ + flags, \ verts + stride * (i0 & ~DRAW_PIPE_FLAG_MASK), \ verts + stride * (i1) ); \ } while (0) |