i915_vbuf_update_vbo_state(render);
}
-static boolean
+static void
i915_vbuf_render_set_primitive(struct vbuf_render *render,
unsigned prim)
{
case PIPE_PRIM_POINTS:
i915_render->hwprim = PRIM3D_POINTLIST;
i915_render->fallback = 0;
- return TRUE;
+ break;
case PIPE_PRIM_LINES:
i915_render->hwprim = PRIM3D_LINELIST;
i915_render->fallback = 0;
- return TRUE;
+ break;
case PIPE_PRIM_LINE_LOOP:
i915_render->hwprim = PRIM3D_LINELIST;
i915_render->fallback = PIPE_PRIM_LINE_LOOP;
- return TRUE;
+ break;
case PIPE_PRIM_LINE_STRIP:
i915_render->hwprim = PRIM3D_LINESTRIP;
i915_render->fallback = 0;
- return TRUE;
+ break;
case PIPE_PRIM_TRIANGLES:
i915_render->hwprim = PRIM3D_TRILIST;
i915_render->fallback = 0;
- return TRUE;
+ break;
case PIPE_PRIM_TRIANGLE_STRIP:
i915_render->hwprim = PRIM3D_TRISTRIP;
i915_render->fallback = 0;
- return TRUE;
+ break;
case PIPE_PRIM_TRIANGLE_FAN:
i915_render->hwprim = PRIM3D_TRIFAN;
i915_render->fallback = 0;
- return TRUE;
+ break;
case PIPE_PRIM_QUADS:
i915_render->hwprim = PRIM3D_TRILIST;
i915_render->fallback = PIPE_PRIM_QUADS;
- return TRUE;
+ break;
case PIPE_PRIM_QUAD_STRIP:
i915_render->hwprim = PRIM3D_TRILIST;
i915_render->fallback = PIPE_PRIM_QUAD_STRIP;
- return TRUE;
+ break;
case PIPE_PRIM_POLYGON:
i915_render->hwprim = PRIM3D_POLY;
i915_render->fallback = 0;
- return TRUE;
+ break;
default:
/* FIXME: Actually, can handle a lot more just fine... */
- return FALSE;
+ assert(0 && "unexpected prim in i915_vbuf_render_set_primitive()");
}
}
case PIPE_PRIM_LINE_LOOP:
if (nr >= 2) {
for (i = start + 1; i < end; i++)
- OUT_BATCH((i-0) | (i+0) << 16);
- OUT_BATCH((i-0) | ( start) << 16);
+ OUT_BATCH((i-1) | (i+0) << 16);
+ OUT_BATCH((i-1) | ( start) << 16);
}
break;
case PIPE_PRIM_QUADS:
/* Make sure state is re-emitted after a flush:
*/
- i915_update_derived(i915);
i915_emit_hardware_state(i915);
i915->vbo_flushed = 1;
/* Make sure state is re-emitted after a flush:
*/
- i915_update_derived(i915);
i915_emit_hardware_state(i915);
i915->vbo_flushed = 1;
/* Make sure state is re-emitted after a flush:
*/
- i915_update_derived(i915);
i915_emit_hardware_state(i915);
i915->vbo_flushed = 1;