summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_pt_pipeline.c
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2008-04-04 17:02:20 +0100
committerKeith Whitwell <keith@tungstengraphics.com>2008-04-04 17:05:27 +0100
commit84501e68f6294370d6f2f6aec4e7eab57bcc0e72 (patch)
tree3b4cb6e98d90468f5a5863b9672a9b9f84f35a4b /src/gallium/auxiliary/draw/draw_pt_pipeline.c
parent1d6877b32642d718fb7b29eca647f4d1dd0f99bb (diff)
gallium: Handle client-supplied edgeflags.
Also, implement support in the draw module. We were hardwiring these to one for quite a long time... Currently using a draw_set_edgeflags() function, may be better to push the argument into the draw_arrays() function. TBD.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pt_pipeline.c')
-rw-r--r--src/gallium/auxiliary/draw/draw_pt_pipeline.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pt_pipeline.c b/src/gallium/auxiliary/draw/draw_pt_pipeline.c
index 6e46d3925f..942df518eb 100644
--- a/src/gallium/auxiliary/draw/draw_pt_pipeline.c
+++ b/src/gallium/auxiliary/draw/draw_pt_pipeline.c
@@ -86,12 +86,14 @@ static void do_triangle( struct draw_context *draw,
struct prim_header prim;
// _mesa_printf("tri %d %d %d\n", i0, i1, i2);
- prim.reset_line_stipple = 1;
- prim.edgeflags = ~0;
- prim.pad = 0;
prim.v[0] = (struct vertex_header *)v0;
prim.v[1] = (struct vertex_header *)v1;
prim.v[2] = (struct vertex_header *)v2;
+ prim.reset_line_stipple = 1;
+ prim.edgeflags = ((prim.v[0]->edgeflag) |
+ (prim.v[1]->edgeflag << 1) |
+ (prim.v[2]->edgeflag << 2));
+ prim.pad = 0;
draw->pipeline.first->tri( draw->pipeline.first, &prim );
}