Lines 55-60
Link Here
|
55 |
/* Assembler routines */ |
55 |
/* Assembler routines */ |
56 |
extern void shade_ximage_15_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); |
56 |
extern void shade_ximage_15_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); |
57 |
extern void shade_ximage_16_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); |
57 |
extern void shade_ximage_16_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); |
|
|
58 |
extern void shade_ximage_24_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); |
58 |
extern void shade_ximage_32_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); |
59 |
extern void shade_ximage_32_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); |
59 |
|
60 |
|
60 |
#ifdef PIXMAP_SUPPORT |
61 |
#ifdef PIXMAP_SUPPORT |
Lines 1635-1646
Link Here
|
1635 |
int r, g, b; |
1636 |
int r, g, b; |
1636 |
|
1637 |
|
1637 |
# ifdef WORDS_BIGENDIAN |
1638 |
# ifdef WORDS_BIGENDIAN |
1638 |
r = (ptr[x + 1] * rm) >> 8; |
1639 |
r = (ptr[x + 6] * rm) >> 8; |
1639 |
g = (ptr[x + 2] * gm) >> 8; |
1640 |
g = (ptr[x + 5] * gm) >> 8; |
1640 |
b = (ptr[x + 3] * bm) >> 8; |
1641 |
b = (ptr[x + 4] * bm) >> 8; |
1641 |
ptr[x + 1] = r; |
1642 |
ptr[x + 6] = r; |
1642 |
ptr[x + 2] = g; |
1643 |
ptr[x + 5] = g; |
1643 |
ptr[x + 3] = b; |
1644 |
ptr[x + 4] = b; |
1644 |
# else |
1645 |
# else |
1645 |
r = (ptr[x + 2] * rm) >> 8; |
1646 |
r = (ptr[x + 2] * rm) >> 8; |
1646 |
g = (ptr[x + 1] * gm) >> 8; |
1647 |
g = (ptr[x + 1] * gm) >> 8; |
Lines 1658-1666
Link Here
|
1658 |
int r, g, b; |
1659 |
int r, g, b; |
1659 |
|
1660 |
|
1660 |
# ifdef WORDS_BIGENDIAN |
1661 |
# ifdef WORDS_BIGENDIAN |
1661 |
r = (ptr[x + 1] * rm) >> 8; |
1662 |
r = (ptr[x + 6] * rm) >> 8; |
1662 |
g = (ptr[x + 2] * gm) >> 8; |
1663 |
g = (ptr[x + 5] * gm) >> 8; |
1663 |
b = (ptr[x + 3] * bm) >> 8; |
1664 |
b = (ptr[x + 4] * bm) >> 8; |
1664 |
# else |
1665 |
# else |
1665 |
r = (ptr[x + 2] * rm) >> 8; |
1666 |
r = (ptr[x + 2] * rm) >> 8; |
1666 |
g = (ptr[x + 1] * gm) >> 8; |
1667 |
g = (ptr[x + 1] * gm) >> 8; |
Lines 1670-1678
Link Here
|
1670 |
g |= (!(g >> 8) - 1); |
1671 |
g |= (!(g >> 8) - 1); |
1671 |
b |= (!(b >> 8) - 1); |
1672 |
b |= (!(b >> 8) - 1); |
1672 |
# ifdef WORDS_BIGENDIAN |
1673 |
# ifdef WORDS_BIGENDIAN |
1673 |
ptr[x + 1] = r; |
1674 |
ptr[x + 6] = r; |
1674 |
ptr[x + 2] = g; |
1675 |
ptr[x + 5] = g; |
1675 |
ptr[x + 3] = b; |
1676 |
ptr[x + 4] = b; |
1676 |
# else |
1677 |
# else |
1677 |
ptr[x + 2] = r; |
1678 |
ptr[x + 2] = r; |
1678 |
ptr[x + 1] = g; |
1679 |
ptr[x + 1] = g; |
Lines 1874-1880
Link Here
|
1874 |
break; |
1875 |
break; |
1875 |
case 24: |
1876 |
case 24: |
1876 |
if (ximg->bits_per_pixel != 32) { |
1877 |
if (ximg->bits_per_pixel != 32) { |
|
|
1878 |
#ifdef HAVE_MMX |
1879 |
shade_ximage_24_mmx(ximg->data, ximg->bytes_per_line, w, h, rm, gm, bm); |
1880 |
#else |
1877 |
shade_ximage_24(ximg->data, ximg->bytes_per_line, w, h, rm, gm, bm); |
1881 |
shade_ximage_24(ximg->data, ximg->bytes_per_line, w, h, rm, gm, bm); |
|
|
1882 |
#endif |
1878 |
} |
1883 |
} |
1879 |
/* drop */ |
1884 |
/* drop */ |
1880 |
case 32: |
1885 |
case 32: |