OSDN Git Service

i915: Messed up lineloop now works
authorJakob Bornecrantz <jakob@tungstengraphics.com>
Fri, 13 Jun 2008 12:11:20 +0000 (14:11 +0200)
committerJakob Bornecrantz <jakob@tungstengraphics.com>
Fri, 13 Jun 2008 12:11:20 +0000 (14:11 +0200)
src/gallium/drivers/i915simple/i915_prim_vbuf.c

index c7a31fd..aef3682 100644 (file)
@@ -228,7 +228,7 @@ draw_arrays_generate_indices( struct vbuf_render *render,
       if (nr >= 2) {
         for (i = start + 1; i < end; i++)
            OUT_BATCH( (i-0) | (i+0) << 16 );
-        OUT_BATCH( (i-0) | (  0) << 16 );
+        OUT_BATCH( (i-0) | (  start) << 16 );
       }
       break;
    case PIPE_PRIM_QUADS:
@@ -358,8 +358,8 @@ draw_generate_indices( struct vbuf_render *render,
    case PIPE_PRIM_LINE_LOOP:
       if (nr_indices >= 2) {
         for (i = 1; i < nr_indices; i++)
-           OUT_BATCH( indices[i-0] | indices[i+0] << 16 );
-        OUT_BATCH( indices[i-0] | indices[0] << 16 );
+           OUT_BATCH( indices[i-1] | indices[i] << 16 );
+        OUT_BATCH( indices[i-1] | indices[0] << 16 );
       }
       break;
    case PIPE_PRIM_QUADS: