svga: Stippled lines can also be drawn with triangles.
authorJosé Fonseca <jfonseca@vmware.com>
Fri, 11 Feb 2011 07:47:34 +0000 (07:47 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Fri, 11 Feb 2011 07:48:05 +0000 (07:48 +0000)
src/gallium/drivers/svga/svga_pipe_rasterizer.c
src/gallium/drivers/svga/svga_swtnl_state.c

index c6657e79ef3718569f3a4d5afceea90142b9d4a3..d391fde7b2f7e9dc3f209c4e5f4e81b24ac2d2be 100644 (file)
@@ -108,7 +108,8 @@ svga_create_rasterizer_state(struct pipe_context *pipe,
    }
 
    if (templ->line_stipple_enable) {
-      /* LinePattern not implemented on all backends. 
+      /* XXX: LinePattern not implemented on all backends, and there is no
+       * mechanism to query it.
        */
       if (!svga->debug.force_hw_line_stipple) {
          SVGA3dLinePattern lp;
index a75923829364190c4a1c8f2812c3c442c2e39078..efda2f605b93fa1c68b96cdbe145a4565fa8d31e 100644 (file)
@@ -61,7 +61,7 @@ static void set_draw_viewport( struct svga_context *svga )
        * going to be drawn with triangles, but we're not catching all
        * cases where that will happen.
        */
-      if (svga->curr.rast->templ.line_width > 1.0) 
+      if (svga->curr.rast->need_pipeline & SVGA_PIPELINE_FLAG_LINES)
       {
          adjx = SVGA_LINE_ADJ_X + 0.175;
          adjy = SVGA_LINE_ADJ_Y - 0.175;