diff options
author | Brian Paul <brianp@vmware.com> | 2010-04-21 14:24:26 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2010-04-21 14:25:28 -0600 |
commit | 8cb223eb020560d59c8f73e09b832cef477933b7 (patch) | |
tree | dc3f6ba4e4d4fa0b106ac05be205cb8f8535ecda /src/gallium/auxiliary/draw/draw_pipe_validate.c | |
parent | d30ab4394e7c6b1f3508eb68d673fbf315907781 (diff) |
gallium/draw: fix point sprite handling
New draw API function to indicate whether or not to convert points to
quads for sprite rasterization.
Fix point-to-quad conversion regression in the wide-point stage. We
need to check the pipe_rasterizer_state::point_quad_rasterization flag.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pipe_validate.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_pipe_validate.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pipe_validate.c b/src/gallium/auxiliary/draw/draw_pipe_validate.c index 23fa4cf606..2a50af7a41 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_validate.c +++ b/src/gallium/auxiliary/draw/draw_pipe_validate.c @@ -100,6 +100,11 @@ draw_need_pipeline(const struct draw_context *draw, if (rasterizer->point_size > draw->pipeline.wide_point_threshold) return TRUE; + /* sprite points */ + if (rasterizer->point_quad_rasterization + && draw->pipeline.wide_point_sprites) + return TRUE; + /* AA points */ if (rasterizer->point_smooth && draw->pipeline.aapoint) return TRUE; @@ -172,6 +177,8 @@ static struct draw_stage *validate_pipeline( struct draw_stage *stage ) wide_points = FALSE; else if (rast->point_size > draw->pipeline.wide_point_threshold) wide_points = TRUE; + else if (rast->point_quad_rasterization && draw->pipeline.wide_point_sprites) + wide_points = TRUE; else wide_points = FALSE; |