summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw/draw_pipe.c
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2010-08-07 20:44:02 +0800
committerChia-I Wu <[email protected]>2010-08-16 20:46:28 +0800
commit5a085c623faebf957be3fae2f82dc89ef6214585 (patch)
treee391dd2836d5e7c365ea5e116f5f887b3228aea9 /src/gallium/auxiliary/draw/draw_pipe.c
parent5b6bf799e637e9020af3a4bebe514b53d7c38eca (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.c8
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)