diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2008-04-04 17:02:20 +0100 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2008-04-04 17:05:27 +0100 |
commit | 84501e68f6294370d6f2f6aec4e7eab57bcc0e72 (patch) | |
tree | 3b4cb6e98d90468f5a5863b9672a9b9f84f35a4b /src/gallium/auxiliary/draw/draw_pt_pipeline.c | |
parent | 1d6877b32642d718fb7b29eca647f4d1dd0f99bb (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.c | 8 |
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 ); } |