gallium/draw: fix point sprite handling
[mesa.git] / src / gallium / auxiliary / draw / draw_pipe_validate.c
index 23fa4cf6060cef4ffe0710795c0c9194b2cc218c..2a50af7a414a0ed41c363a35df8f1f35660266e9 100644 (file)
@@ -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;