diff options
author | Roland Scheidegger <[email protected]> | 2009-12-16 22:12:16 +0100 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2009-12-16 22:12:16 +0100 |
commit | 50caff5675888c0063c73fa64b88129db7aa11dd (patch) | |
tree | f01b9ae711eccbc022b29cfc631f15e38a61da47 /src/gallium/auxiliary/draw | |
parent | a0127b6ced257919180ba3a1bf534b68d9c750be (diff) |
gallium: edgeflags change fixes
use correct number of vertex inputs
fix not running pipeline in case of edgeflags
changes to mesa to tgsi translation still very broken
Diffstat (limited to 'src/gallium/auxiliary/draw')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_pt_post_vs.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pt_post_vs.c b/src/gallium/auxiliary/draw/draw_pt_post_vs.c index 08d77649a36..9dfb47837e0 100644 --- a/src/gallium/auxiliary/draw/draw_pt_post_vs.c +++ b/src/gallium/auxiliary/draw/draw_pt_post_vs.c @@ -156,8 +156,9 @@ post_vs_cliptest_viewport_gl_edgeflag(struct pt_post_vs *pvs, unsigned stride ) { unsigned j; - if (!post_vs_cliptest_viewport_gl( pvs, vertices, count, stride)) - return FALSE; + boolean needpipe; + + needpipe = post_vs_cliptest_viewport_gl( pvs, vertices, count, stride); /* If present, copy edgeflag VS output into vertex header. * Otherwise, leave header as is. @@ -168,10 +169,12 @@ post_vs_cliptest_viewport_gl_edgeflag(struct pt_post_vs *pvs, for (j = 0; j < count; j++) { const float *edgeflag = out->data[ef]; - out->edgeflag = (edgeflag[0] != 1.0f); + out->edgeflag = !(edgeflag[0] != 1.0f); + needpipe |= !out->edgeflag; + out = (struct vertex_header *)( (char *)out + stride ); } } - return TRUE; + return needpipe; } |