7 extern void fb_hBlit8to15RGBMMX(
unsigned char *dest,
int pitch);
8 extern void fb_hBlit8to15BGRMMX(
unsigned char *dest,
int pitch);
9 extern void fb_hBlit8to16RGBMMX(
unsigned char *dest,
int pitch);
10 extern void fb_hBlit8to16BGRMMX(
unsigned char *dest,
int pitch);
11 extern void fb_hBlit8to24RGBMMX(
unsigned char *dest,
int pitch);
12 extern void fb_hBlit8to24BGRMMX(
unsigned char *dest,
int pitch);
13 extern void fb_hBlit8to32RGBMMX(
unsigned char *dest,
int pitch);
14 extern void fb_hBlit8to32BGRMMX(
unsigned char *dest,
int pitch);
15 extern void fb_hBlit16to15RGBMMX(
unsigned char *dest,
int pitch);
16 extern void fb_hBlit16to15BGRMMX(
unsigned char *dest,
int pitch);
17 extern void fb_hBlit16to16RGBMMX(
unsigned char *dest,
int pitch);
18 extern void fb_hBlit16to24MMX(
unsigned char *dest,
int pitch);
19 extern void fb_hBlit16to32MMX(
unsigned char *dest,
int pitch);
20 extern void fb_hBlit32to15RGBMMX(
unsigned char *dest,
int pitch);
21 extern void fb_hBlit32to15BGRMMX(
unsigned char *dest,
int pitch);
22 extern void fb_hBlit32to16RGBMMX(
unsigned char *dest,
int pitch);
23 extern void fb_hBlit32to16BGRMMX(
unsigned char *dest,
int pitch);
24 extern void fb_hBlit32to24RGBMMX(
unsigned char *dest,
int pitch);
25 extern void fb_hBlit32to24BGRMMX(
unsigned char *dest,
int pitch);
26 extern void fb_hBlit32to32RGBMMX(
unsigned char *dest,
int pitch);
57 unsigned int c1, c2, *d;
64 d = (
unsigned int *)dest;
68 *d = ((c1 >> 3) & 0x001F) | ((c1 >> 6) & 0x03E0) | ((c1 >> 6) & 0x7C00) |
69 (((c2 >> 3) & 0x001F) | ((c2 >> 6) & 0x03E0) | ((c2 >> 6) & 0x7C00) << 16);
75 *(
unsigned short *)d = ((c1 >> 3) & 0x001F) | ((c1 >> 6) & 0x03E0) | ((c1 >> 6) & 0x7C00);
94 unsigned int c1, c2, *d;
101 d = (
unsigned int *)dest;
105 *d = ((c1 << 7) & 0x7C00) | ((c1 >> 6) & 0x03E0) | ((c1 >> 19) & 0x001F) |
106 ((((c2 << 7) & 0x7C00) | ((c2 >> 6) & 0x03E0) | ((c2 >> 19) & 0x001F)) << 16);
112 *(
unsigned short *)d = ((c1 << 7) & 0x7C00) | ((c1 >> 6) & 0x03E0) | ((c1 >> 19) & 0x001F);
131 unsigned int c1, c2, *d;
138 d = (
unsigned int *)dest;
142 *d = ((c1 >> 3) & 0x001F) | ((c1 >> 5) & 0x07E0) | ((c1 >> 5) & 0xF800) |
143 (((c2 >> 3) & 0x001F) | ((c2 >> 5) & 0x07E0) | ((c2 >> 5) & 0xF800) << 16);
149 *(
unsigned short *)d = ((c1 >> 3) & 0x001F) | ((c1 >> 5) & 0x07E0) | ((c1 >> 5) & 0xF800);
168 unsigned int c1, c2, *d;
175 d = (
unsigned int *)dest;
179 *d = ((c1 << 8) & 0xF800) | ((c1 >> 5) & 0x07E0) | ((c1 >> 19) & 0x001F) |
180 ((((c2 << 8) & 0xF800) | ((c2 >> 5) & 0x07E0) | ((c2 >> 19) & 0x001F)) << 16);
186 *(
unsigned short *)d = ((c1 << 8) & 0xF800) | ((c1 >> 5) & 0x07E0) | ((c1 >> 19) & 0x001F);
213 d = (
unsigned char *)dest;
216 d[0] = (c >> 16) & 0xFF;
217 d[1] = (c >> 8) & 0xFF;
247 d = (
unsigned char *)dest;
251 d[1] = (c >> 8) & 0xFF;
252 d[2] = (c >> 16) & 0xFF;
280 d = (
unsigned int *)dest;
311 d = (
unsigned int *)dest;
314 *d = ((c << 16) & 0xFF0000) | (c & 0xFF00) | (c >> 16);
342 s = (
unsigned short *)src;
343 d = (
unsigned int *)dest;
347 *d = ((c1 << 10) & 0x7C00) | ((c1 >> 1) & 0x03E0) | (c1 >> 11) |
348 ((((c2 << 10) & 0x7C00) | ((c2 >> 1) & 0x03E0) | (c2 >> 11)) << 16);
354 *(
unsigned short *)d = ((c1 << 10) & 0x7C00) | ((c1 >> 1) & 0x03E0) | (c1 >> 11);
380 s = (
unsigned short *)src;
381 d = (
unsigned int *)dest;
385 *d = (c1 & 0x001F) | ((c1 >> 1) & 0x7FE0) |
386 (((c2 & 0x001F) | ((c2 >> 1) & 0x7FE0)) << 16);
392 *(
unsigned short *)d = (c1 & 0x001F) | ((c1 >> 1) & 0x7FE0);
418 s = (
unsigned short *)src;
419 d = (
unsigned int *)dest;
423 *d = ((c1 << 11) & 0xF800) | (c1 & 0x07E0) | (c1 >> 11) |
424 ((((c2 << 11) & 0xF800) | (c2 & 0x07E0) | (c2 >> 11)) << 16);
430 *(
unsigned short *)d = ((c1 << 11) & 0xF800) | (c1 & 0x07E0) | (c1 >> 11);
448 unsigned int *s, *d, c1, c2, c3, temp;
456 s = (
unsigned int *)src;
457 d = (
unsigned int *)dest;
461 *d++ = c1 | (temp << 24);
465 *d++ = c2 | (temp << 16);
470 dc = (
unsigned char *)d;
474 dc[0] = (c1 >> 16) & 0xFF;
475 dc[1] = (c1 >> 8) & 0xFF;
477 dc[3] = (c2 >> 16) & 0xFF;
478 dc[4] = (c2 >> 8) & 0xFF;
484 ss = (
unsigned short *)s;
486 dc[0] = (c1 >> 16) & 0xFF;
487 dc[1] = (c1 >> 8) & 0xFF;
513 s = (
unsigned int *)src;
514 d = (
unsigned int *)dest;
521 c = *(
unsigned short *)s;
547 s = (
unsigned int *)src;
548 d = (
unsigned int *)dest;
552 *d = (c1 >> 19) | ((c1 >> 6) & 0x03E0) | ((c1 << 7) & 0x7C00) |
553 (((c2 >> 19) | ((c2 >> 6) & 0x03E0) | ((c2 << 7) & 0x7C00)) << 16);
559 *(
unsigned short *)d = (c1 >> 19) | ((c1 >> 6) & 0x03E0) | ((c1 << 7) & 0x7C00);
584 s = (
unsigned int *)src;
585 d = (
unsigned int *)dest;
589 *d = ((c1 >> 3) & 0x001F) | ((c1 >> 6) & 0x03E0) | ((c1 >> 9) & 0x7C00) |
590 ((((c2 >> 3) & 0x001F) | ((c2 >> 6) & 0x03E0) | ((c2 >> 9) & 0x7C00)) << 16);
596 *(
unsigned short *)d = ((c1 >> 3) & 0x001F) | ((c1 >> 6) & 0x03E0) | ((c1 >> 9) & 0x7C00);
621 s = (
unsigned int *)src;
622 d = (
unsigned int *)dest;
626 *d = (c1 >> 19) | ((c1 >> 5) & 0x07E0) | ((c1 << 8) & 0xF800) |
627 (((c2 >> 19) | ((c2 >> 5) & 0x07E0) | ((c2 << 8) & 0xF800)) << 16);
633 *(
unsigned short *)d = (c1 >> 19) | ((c1 >> 5) & 0x07E0) | ((c1 << 8) & 0xF800);
658 s = (
unsigned int *)src;
659 d = (
unsigned int *)dest;
663 *d = ((c1 >> 3) & 0x001F) | ((c1 >> 5) & 0x07E0) | ((c1 >> 8) & 0xF800) |
664 ((((c2 >> 3) & 0x001F) | ((c2 >> 5) & 0x07E0) | ((c2 >> 8) & 0xF800)) << 16);
670 *(
unsigned short *)d = ((c1 >> 3) & 0x001F) | ((c1 >> 5) & 0x07E0) | ((c1 >> 8) & 0xF800);
696 s = (
unsigned int *)src;
697 d = (
unsigned char *)dest;
700 d[0] = (c >> 16) & 0xFF;
701 d[1] = (c >> 8) & 0xFF;
730 s = (
unsigned int *)src;
731 d = (
unsigned char *)dest;
735 d[1] = (c >> 8) & 0xFF;
736 d[2] = (c >> 16) & 0xFF;
763 s = (
unsigned int *)src;
764 d = (
unsigned int *)dest;
766 c = (*s++) & 0xFFFFFF;
767 *d++ = (c >> 16) | (c & 0xFF00) | (c << 16);
795 fb_hBlit8to15RGBMMX, fb_hBlit8to16RGBMMX, fb_hBlit8to24RGBMMX, fb_hBlit8to32RGBMMX,
796 fb_hBlit16to15RGBMMX, fb_hBlit16to16RGBMMX, fb_hBlit16to24MMX, fb_hBlit16to32MMX,
797 fb_hBlit32to15RGBMMX, fb_hBlit32to16RGBMMX, fb_hBlit32to24RGBMMX, fb_hBlit32to32RGBMMX,
799 fb_hBlit8to15BGRMMX, fb_hBlit8to16BGRMMX, fb_hBlit8to24BGRMMX, fb_hBlit8to32BGRMMX,
800 fb_hBlit16to15BGRMMX,
fb_hBlitCopy, fb_hBlit16to24MMX, fb_hBlit16to32MMX,
801 fb_hBlit32to15BGRMMX, fb_hBlit32to16BGRMMX, fb_hBlit32to24BGRMMX,
fb_hBlitCopy,
803 }, **
blitter = &all_blitters[0];
806 for (i = 0; i < 256; i++) {
830 switch (device_depth) {
841 switch (device_depth) {
851 switch (device_depth) {