diff options
author | Brian Paul <brianp@vmware.com> | 2010-05-05 18:46:05 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2010-05-05 18:46:11 -0600 |
commit | fca24899cbf5217cee5f884bac267c43f9897197 (patch) | |
tree | e7079fe001025f0189911c9a0e3208f56cd3ef57 /src/gallium/auxiliary/draw/draw_pt_vcache_tmp.h | |
parent | eaad99d230c2c265b2cc20df0bf1f6f4a7837a67 (diff) |
gallium: still more provoking vertex fixes
This fixes edge flags for polygons and provoking vertex for
filled quads.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pt_vcache_tmp.h')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_pt_vcache_tmp.h | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pt_vcache_tmp.h b/src/gallium/auxiliary/draw/draw_pt_vcache_tmp.h index f7a63de3ba..dac68ad439 100644 --- a/src/gallium/auxiliary/draw/draw_pt_vcache_tmp.h +++ b/src/gallium/auxiliary/draw/draw_pt_vcache_tmp.h @@ -142,20 +142,21 @@ static void FUNC( struct draw_pt_front_end *frontend, /* These bitflags look a little odd because we submit the * vertices as (1,2,0) to satisfy flatshade requirements. */ - const ushort edge_first = DRAW_PIPE_EDGE_FLAG_2; - const ushort edge_middle = DRAW_PIPE_EDGE_FLAG_0; - const ushort edge_last = DRAW_PIPE_EDGE_FLAG_1; ushort edge_next, edge_finish; if (flatfirst) { - flags = DRAW_PIPE_RESET_STIPPLE | edge_middle | edge_last; - edge_next = edge_last; - edge_finish = edge_first; + flags = (DRAW_PIPE_RESET_STIPPLE | + DRAW_PIPE_EDGE_FLAG_1 | + DRAW_PIPE_EDGE_FLAG_2); + edge_next = DRAW_PIPE_EDGE_FLAG_2; + edge_finish = DRAW_PIPE_EDGE_FLAG_0; } else { - flags = DRAW_PIPE_RESET_STIPPLE | edge_first | edge_middle; - edge_next = edge_middle; - edge_finish = edge_last; + flags = (DRAW_PIPE_RESET_STIPPLE | + DRAW_PIPE_EDGE_FLAG_2 | + DRAW_PIPE_EDGE_FLAG_0); + edge_next = DRAW_PIPE_EDGE_FLAG_0; + edge_finish = DRAW_PIPE_EDGE_FLAG_1; } for (i = 0; i+2 < count; i++, flags = edge_next) { |