static void via_fallback_point(struct via_context *vmesa, viaVertex *v0) { struct gl_context *ctx = vmesa->glCtx; SWvertex v[1]; _swsetup_Translate(ctx, v0, &v[0]); viaSpanRenderStart( ctx ); _swrast_Point(ctx, &v[0]); viaSpanRenderFinish( ctx ); }
static void via_fallback_line(struct via_context *vmesa, viaVertex *v0, viaVertex *v1) { GLcontext *ctx = vmesa->glCtx; SWvertex v[2]; _swsetup_Translate(ctx, v0, &v[0]); _swsetup_Translate(ctx, v1, &v[1]); viaSpanRenderStart( ctx ); _swrast_Line(ctx, &v[0], &v[1]); viaSpanRenderFinish( ctx ); }
/* This code is hit only when a mix of accelerated and unaccelerated * primitives are being drawn, and only for the unaccelerated * primitives. */ static void via_fallback_tri(struct via_context *vmesa, viaVertex *v0, viaVertex *v1, viaVertex *v2) { struct gl_context *ctx = vmesa->glCtx; SWvertex v[3]; _swsetup_Translate(ctx, v0, &v[0]); _swsetup_Translate(ctx, v1, &v[1]); _swsetup_Translate(ctx, v2, &v[2]); viaSpanRenderStart( ctx ); _swrast_Triangle(ctx, &v[0], &v[1], &v[2]); viaSpanRenderFinish( ctx ); }