/** * Called via swrast->BlendFunc. Examine GL state to choose a blending * function, then call it. */ static void _swrast_validate_blend_func(struct gl_context *ctx, GLuint n, const GLubyte mask[], GLvoid *src, const GLvoid *dst, GLenum chanType ) { SWcontext *swrast = SWRAST_CONTEXT(ctx); _swrast_validate_derived( ctx ); /* why is this needed? */ _swrast_choose_blend_func( ctx, chanType ); swrast->BlendFunc( ctx, n, mask, src, dst, chanType ); }
/** * Called via swrast->BlendFunc. Examine GL state to choose a blending * function, then call it. */ static void _ASMAPI _swrast_validate_blend_func( GLcontext *ctx, GLuint n, const GLubyte mask[], GLchan src[][4], CONST GLchan dst[][4] ) { SWcontext *swrast = SWRAST_CONTEXT(ctx); _swrast_validate_derived( ctx ); _swrast_choose_blend_func( ctx ); swrast->BlendFunc( ctx, n, mask, src, dst ); }