diff options
author | Brian <brian.paul@tungstengraphics.com> | 2008-03-14 16:13:35 -0600 |
---|---|---|
committer | Brian <brian.paul@tungstengraphics.com> | 2008-03-14 16:13:35 -0600 |
commit | 5a09ad8248ce452136ed96a3d46532b03c877618 (patch) | |
tree | 867a3c25fe90fb65a85d64819e8fcfe0c92aeb24 /src/gallium/auxiliary/draw/draw_validate.c | |
parent | 344356a0edee932604027386591c82f6666e607c (diff) |
gallium: add explicit control for point sprites (convert points to textured quads)
New draw_enable_point_sprites() function.
Fixes spriteblast.c demo
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_validate.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_validate.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_validate.c b/src/gallium/auxiliary/draw/draw_validate.c index 602fa3429d..33e5559508 100644 --- a/src/gallium/auxiliary/draw/draw_validate.c +++ b/src/gallium/auxiliary/draw/draw_validate.c @@ -76,6 +76,10 @@ draw_need_pipeline(const struct draw_context *draw) if (draw->rasterizer->offset_cw || draw->rasterizer->offset_ccw) return TRUE; + /* point sprites */ + if (draw->rasterizer->point_sprite && draw->point_sprite) + return TRUE; + /* two-side lighting */ if (draw->rasterizer->light_twoside) return TRUE; @@ -110,7 +114,9 @@ static struct draw_stage *validate_pipeline( struct draw_stage *stage ) && !draw->rasterizer->line_smooth); /* drawing large points? */ - if (draw->rasterizer->point_smooth && draw->pipeline.aapoint) + if (draw->rasterizer->point_sprite && draw->point_sprite) + wide_points = TRUE; + else if (draw->rasterizer->point_smooth && draw->pipeline.aapoint) wide_points = FALSE; else if (draw->rasterizer->point_size > draw->wide_point_threshold) wide_points = TRUE; |