diff options
author | Ben Skeggs <darktama@beleth.(none)> | 2008-02-22 12:25:15 +1100 |
---|---|---|
committer | Ben Skeggs <darktama@beleth.(none)> | 2008-02-22 12:25:15 +1100 |
commit | f7922db610d05efee0ee8c5f0dadb69e3939482e (patch) | |
tree | accfc0fdd96e1f572213cf69ea365c01bda0ef46 /src/gallium/auxiliary/draw/draw_validate.c | |
parent | 759fa5fcc8038af4845a6d9c57b75933ef26559c (diff) | |
parent | 446bfc32a83008e0865ec869bc80b920c907f10f (diff) |
Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
Conflicts:
src/gallium/drivers/Makefile
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_validate.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_validate.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_validate.c b/src/gallium/auxiliary/draw/draw_validate.c index 4375ebabbc..efd6793f2b 100644 --- a/src/gallium/auxiliary/draw/draw_validate.c +++ b/src/gallium/auxiliary/draw/draw_validate.c @@ -58,7 +58,18 @@ static struct draw_stage *validate_pipeline( struct draw_stage *stage ) * shorter pipelines for lines & points. */ - if ((draw->rasterizer->line_width != 1.0 && draw->convert_wide_lines) || + if (draw->rasterizer->line_smooth && draw->pipeline.aaline) { + draw->pipeline.aaline->next = next; + next = draw->pipeline.aaline; + } + + if (draw->rasterizer->point_smooth && draw->pipeline.aapoint) { + draw->pipeline.aapoint->next = next; + next = draw->pipeline.aapoint; + } + + if ((draw->rasterizer->line_width != 1.0 && draw->convert_wide_lines + && !draw->rasterizer->line_smooth) || (draw->rasterizer->point_size != 1.0 && draw->convert_wide_points) || draw->rasterizer->point_sprite) { draw->pipeline.wide->next = next; @@ -71,6 +82,12 @@ static struct draw_stage *validate_pipeline( struct draw_stage *stage ) precalc_flat = 1; /* only needed for lines really */ } + if (draw->rasterizer->poly_stipple_enable + && draw->pipeline.pstipple) { + draw->pipeline.pstipple->next = next; + next = draw->pipeline.pstipple; + } + if (draw->rasterizer->fill_cw != PIPE_POLYGON_MODE_FILL || draw->rasterizer->fill_ccw != PIPE_POLYGON_MODE_FILL) { draw->pipeline.unfilled->next = next; |