diff options
author | Brian Paul <[email protected]> | 2010-04-21 14:24:26 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-04-21 14:25:28 -0600 |
commit | 8cb223eb020560d59c8f73e09b832cef477933b7 (patch) | |
tree | dc3f6ba4e4d4fa0b106ac05be205cb8f8535ecda /src/gallium/auxiliary/draw/draw_pipe_wide_point.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_wide_point.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_pipe_wide_point.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pipe_wide_point.c b/src/gallium/auxiliary/draw/draw_pipe_wide_point.c index 30116f4925f..a86fe19586c 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_wide_point.c +++ b/src/gallium/auxiliary/draw/draw_pipe_wide_point.c @@ -132,10 +132,9 @@ static void set_texcoords(const struct widepoint_stage *wide, static void widepoint_point( struct draw_stage *stage, struct prim_header *header ) { - /* XXX should take point_quad_rasterization into account? */ const struct widepoint_stage *wide = widepoint_stage(stage); const unsigned pos = draw_current_shader_position_output(stage->draw); - const boolean sprite = (boolean) stage->draw->rasterizer->sprite_coord_enable; + const boolean sprite = (boolean) stage->draw->rasterizer->point_quad_rasterization; float half_size; float left_adj, right_adj, bot_adj, top_adj; @@ -237,14 +236,14 @@ static void widepoint_first_point( struct draw_stage *stage, /* XXX we won't know the real size if it's computed by the vertex shader! */ if ((rast->point_size > draw->pipeline.wide_point_threshold) || - (rast->sprite_coord_enable && draw->pipeline.point_sprite)) { + (rast->point_quad_rasterization && draw->pipeline.point_sprite)) { stage->point = widepoint_point; } else { stage->point = draw_pipe_passthrough_point; } - if (rast->sprite_coord_enable) { + if (rast->point_quad_rasterization) { /* find vertex shader texcoord outputs */ const struct draw_vertex_shader *vs = draw->vs.vertex_shader; uint i, j = 0; |