/** * Called via swrast->Line. Examine current GL state and choose a software * line routine. Then call it. */ static void _swrast_validate_line( struct gl_context *ctx, const SWvertex *v0, const SWvertex *v1 ) { SWcontext *swrast = SWRAST_CONTEXT(ctx); _swrast_validate_derived( ctx ); swrast->choose_line( ctx ); assert(swrast->Line); if (swrast->SpecularVertexAdd) { swrast->SpecLine = swrast->Line; swrast->Line = _swrast_add_spec_terms_line; } swrast->Line( ctx, v0, v1 ); }
/** * Called via swrast->Line. Examine current GL state and choose a software * line routine. Then call it. */ static void _swrast_validate_line( GLcontext *ctx, const SWvertex *v0, const SWvertex *v1 ) { SWcontext *swrast = SWRAST_CONTEXT(ctx); _swrast_validate_derived( ctx ); swrast->choose_line( ctx ); if (ctx->Texture._EnabledUnits == 0 && NEED_SECONDARY_COLOR(ctx) && !ctx->FragmentProgram._Enabled) { swrast->SpecLine = swrast->Line; swrast->Line = _swrast_add_spec_terms_line; } swrast->Line( ctx, v0, v1 ); }