diff options
author | Brian <[email protected]> | 2008-02-21 16:18:05 -0700 |
---|---|---|
committer | Brian <[email protected]> | 2008-02-21 16:18:05 -0700 |
commit | eb4dc2dd5ed62e6ccb55ccc2bc13f6a2f3fc1f76 (patch) | |
tree | 36918ed5ea3c04aefe57eb4e3629cdf31ced2987 /src/gallium/auxiliary/draw/draw_validate.c | |
parent | a93d8bfaf2aba1b2fe3ecfbb5bc4b7ff113c305e (diff) |
gallium: new AA point drawing stage
AA points are drawn by converting the point to a quad, then modifying the
user's fragment shader to compute a coverage value. The final fragment
color's alpha is modulated by the coverage value. Fragments outside the
point's radius are killed.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_validate.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_validate.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_validate.c b/src/gallium/auxiliary/draw/draw_validate.c index 97e40e372b8..5167ef1e754 100644 --- a/src/gallium/auxiliary/draw/draw_validate.c +++ b/src/gallium/auxiliary/draw/draw_validate.c @@ -63,6 +63,11 @@ static struct draw_stage *validate_pipeline( struct draw_stage *stage ) 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) || |