6 extern void fb_hPutPSetC(
unsigned char *src,
unsigned char *dest,
int w,
int h,
int src_pitch,
int dest_pitch,
int alpha,
BLENDER *blender,
void *param);
12 extern void fb_hPutPSetMMX(
unsigned char *src,
unsigned char *dest,
int w,
int h,
int src_pitch,
int dest_pitch,
int alpha,
BLENDER *blender,
void *param);
13 extern void fb_hPutAlpha4MMX(
unsigned char *src,
unsigned char *dest,
int w,
int h,
int src_pitch,
int dest_pitch,
int alpha,
BLENDER *blender,
void *param);
19 static void fb_hPutAlpha4C(
unsigned char *src,
unsigned char *dest,
int w,
int h,
int src_pitch,
int dest_pitch,
int alpha,
BLENDER *blender,
void *param)
21 unsigned int *s = (
unsigned int *)src;
22 unsigned int *d, sc, dc, a, drb, dga, srb, sga;
25 src_pitch = (src_pitch >> 2) - w;
27 d = (
unsigned int *)dest;
36 srb = ((srb - drb) * a) >> 8;
37 sga = ((sga - dga) >> 8) * a;
38 *d++ = ((drb + srb) & MASK_RB_32) | ((dga + sga) & MASK_GA_32);
47 void fb_hPutAlpha(
unsigned char *src,
unsigned char *dest,
int w,
int h,
int src_pitch,
int dest_pitch,
int alpha,
BLENDER *blender,
void *param)
49 static PUTTER *all_putters[] = {
52 fb_hPutPSetMMX, fb_hPutPSetMMX,
NULL, fb_hPutAlpha4MMX,
68 putter(src, dest, w, h, src_pitch, dest_pitch, alpha, blender, param);