Go to the source code of this file.
◆ COPY_ALPHA
◆ GetBlitFeatures
◆ HAVE_FAST_WRITE_INT8
| #define HAVE_FAST_WRITE_INT8 1 |
◆ HI
◆ LO
◆ MASKOK
| #define MASKOK |
( |
|
x, |
|
|
|
y |
|
) |
| (((x) == (y)) || ((y) == 0x00000000)) |
◆ NO_ALPHA
◆ RGB101010_RGB332
| #define RGB101010_RGB332 |
( |
|
dst, |
|
|
|
src |
|
) |
| |
Value: { \
dst = (
Uint8)((((
src)&0x38000000)>>22)| \
(((
src)&0x000E0000)>>15)| \
(((
src)&0x00000300)>>8)); \
}
Definition at line 1094 of file SDL_blit_N.c.
◆ RGB565_32
◆ RGB888_RGB332
| #define RGB888_RGB332 |
( |
|
dst, |
|
|
|
src |
|
) |
| |
Value: { \
dst = (
Uint8)((((
src)&0x00E00000)>>16)| \
(((
src)&0x0000E000)>>11)| \
(((
src)&0x000000C0)>>6)); \
}
Definition at line 984 of file SDL_blit_N.c.
◆ RGB888_RGB555
| #define RGB888_RGB555 |
( |
|
dst, |
|
|
|
src |
|
) |
| |
Value: { \
(((*
src)&0x0000F800)>>6)| \
(((*
src)&0x000000F8)>>3)); \
}
Definition at line 1204 of file SDL_blit_N.c.
◆ RGB888_RGB565
| #define RGB888_RGB565 |
( |
|
dst, |
|
|
|
src |
|
) |
| |
Value: { \
(((*
src)&0x0000FC00)>>5)| \
(((*
src)&0x000000F8)>>3)); \
}
Definition at line 1330 of file SDL_blit_N.c.
◆ SET_ALPHA
◆ blit_features
| Enumerator |
|---|
| BLIT_FEATURE_NONE | |
| BLIT_FEATURE_HAS_MMX | |
| BLIT_FEATURE_HAS_ALTIVEC | |
| BLIT_FEATURE_ALTIVEC_DONT_USE_PREFETCH | |
| BLIT_FEATURE_HAS_ARM_SIMD | |
Definition at line 43 of file SDL_blit_N.c.
◆ Blit2101010toN()
Definition at line 2983 of file SDL_blit_N.c.
2994 unsigned sR, sG, sB, sA;
References ASSEMBLE_RGBA, SDL_PixelFormat::BytesPerPixel, SDL_BlitInfo::dst, SDL_BlitInfo::dst_fmt, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, RGBA_FROM_ARGB2101010, SDL_BlitInfo::src, and SDL_BlitInfo::src_skip.
Referenced by SDL_CalculateBlitN().
◆ Blit2to2Key()
◆ Blit4to4CopyAlpha()
◆ Blit4to4MaskAlpha()
Definition at line 2173 of file SDL_blit_N.c.
2184 if (dstfmt->
Amask) {
References SDL_BlitInfo::a, SDL_PixelFormat::Aloss, SDL_PixelFormat::Amask, SDL_PixelFormat::Ashift, SDL_PixelFormat::Bmask, SDL_BlitInfo::dst, SDL_BlitInfo::dst_fmt, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, SDL_PixelFormat::Gmask, SDL_PixelFormat::Rmask, SDL_BlitInfo::src, SDL_BlitInfo::src_fmt, and SDL_BlitInfo::src_skip.
Referenced by SDL_CalculateBlitN().
◆ Blit_3or4_to_3or4__inversed_rgb()
Definition at line 3121 of file SDL_blit_N.c.
3134 if (dstfmt->
Amask) {
3135 if (srcfmt->
Amask) {
3139 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
3140 int i0 = 0,
i1 = 1,
i2 = 2, i3 = 3;
3142 int i0 = 3,
i1 = 2,
i2 = 1, i3 = 0;
3153 *dst32 = (
s0 << 16) | (
s1 << 8) | (s2) | alphashift;
3164 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
3165 int i0 = 0,
i1 = 1,
i2 = 2;
3167 int i0 = srcbpp - 1 - 0;
3168 int i1 = srcbpp - 1 - 1;
3169 int i2 = srcbpp - 1 - 2;
3180 *dst32 = (
s0 << 16) | (
s1 << 8) | (s2) |
mask;
3191 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
3192 int i0 = 0,
i1 = 1,
i2 = 2;
3193 int j0 = 2,
j1 = 1, j2 = 0;
3195 int i0 = srcbpp - 1 - 0;
3196 int i1 = srcbpp - 1 - 1;
3197 int i2 = srcbpp - 1 - 2;
◆ Blit_3or4_to_3or4__same_rgb()
Definition at line 3047 of file SDL_blit_N.c.
3060 if (dstfmt->
Amask) {
3063 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
3064 int i0 = 0,
i1 = 1,
i2 = 2;
3066 int i0 = srcbpp - 1 - 0;
3067 int i1 = srcbpp - 1 - 1;
3068 int i2 = srcbpp - 1 - 2;
3078 *dst32 = (
s0) | (
s1 << 8) | (s2 << 16) |
mask;
3088 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
3089 int i0 = 0,
i1 = 1,
i2 = 2;
3090 int j0 = 0,
j1 = 1, j2 = 2;
3092 int i0 = srcbpp - 1 - 0;
3093 int i1 = srcbpp - 1 - 1;
3094 int i2 = srcbpp - 1 - 2;
References SDL_BlitInfo::a, SDL_PixelFormat::Amask, SDL_PixelFormat::Ashift, SDL_PixelFormat::BytesPerPixel, SDL_BlitInfo::dst, SDL_BlitInfo::dst_fmt, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, i1, i2, j1, SDL_BlitInfo::src, SDL_BlitInfo::src_fmt, and SDL_BlitInfo::src_skip.
◆ Blit_RGB101010_index8()
Definition at line 1099 of file SDL_blit_N.c.
1101 #ifndef USE_DUFFS_LOOP
1108 int srcskip, dstskip;
1121 #ifdef USE_DUFFS_LOOP
1138 switch (
width & 3) {
1157 #ifdef USE_DUFFS_LOOP
1181 switch (
width & 3) {
References SDL_BlitInfo::dst, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, if, map, NULL, RGB101010_RGB332, SDL_BlitInfo::src, SDL_BlitInfo::src_skip, and SDL_BlitInfo::table.
Referenced by SDL_CalculateBlitN().
◆ Blit_RGB565_32()
Definition at line 1460 of file SDL_blit_N.c.
1462 #ifndef USE_DUFFS_LOOP
1468 int srcskip, dstskip;
1505 switch (
width & 3) {
References SDL_BlitInfo::dst, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, map, RGB565_32, SDL_BlitInfo::src, SDL_BlitInfo::src_skip, and USE_DUFFS_LOOP.
Referenced by Blit_RGB565_ABGR8888(), Blit_RGB565_ARGB8888(), Blit_RGB565_BGRA8888(), and Blit_RGB565_RGBA8888().
◆ Blit_RGB565_ABGR8888()
◆ Blit_RGB565_ARGB8888()
◆ Blit_RGB565_BGRA8888()
◆ Blit_RGB565_RGBA8888()
◆ Blit_RGB888_index8()
Definition at line 989 of file SDL_blit_N.c.
991 #ifndef USE_DUFFS_LOOP
998 int srcskip, dstskip;
1011 #ifdef USE_DUFFS_LOOP
1028 switch (
width & 3) {
1047 #ifdef USE_DUFFS_LOOP
1071 switch (
width & 3) {
References SDL_BlitInfo::dst, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, if, map, NULL, RGB888_RGB332, SDL_BlitInfo::src, SDL_BlitInfo::src_skip, and SDL_BlitInfo::table.
Referenced by SDL_CalculateBlitN().
◆ Blit_RGB888_RGB555()
Definition at line 1219 of file SDL_blit_N.c.
1221 #ifndef USE_DUFFS_LOOP
1227 int srcskip, dstskip;
1237 #ifdef USE_DUFFS_LOOP
1251 if ((
long)
dst & 0x03) {
1266 RGB888_RGB555_TWO(
dst,
src);
1269 RGB888_RGB555_TWO(
dst,
src);
1274 switch (
width & 3) {
1280 RGB888_RGB555_TWO(
dst,
src);
1297 RGB888_RGB555_TWO(
dst,
src);
1300 RGB888_RGB555_TWO(
dst,
src);
1305 switch (
width & 3) {
1311 RGB888_RGB555_TWO(
dst,
src);
References SDL_BlitInfo::dst, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, RGB888_RGB555, SDL_BlitInfo::src, and SDL_BlitInfo::src_skip.
◆ Blit_RGB888_RGB565()
Definition at line 1345 of file SDL_blit_N.c.
1347 #ifndef USE_DUFFS_LOOP
1353 int srcskip, dstskip;
1363 #ifdef USE_DUFFS_LOOP
1377 if ((
long)
dst & 0x03) {
1392 RGB888_RGB565_TWO(
dst,
src);
1395 RGB888_RGB565_TWO(
dst,
src);
1400 switch (
width & 3) {
1406 RGB888_RGB565_TWO(
dst,
src);
1423 RGB888_RGB565_TWO(
dst,
src);
1426 RGB888_RGB565_TWO(
dst,
src);
1431 switch (
width & 3) {
1437 RGB888_RGB565_TWO(
dst,
src);
References SDL_BlitInfo::dst, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, RGB888_RGB565, SDL_BlitInfo::src, and SDL_BlitInfo::src_skip.
◆ BlitNto1()
Definition at line 2078 of file SDL_blit_N.c.
2080 #ifndef USE_DUFFS_LOOP
2087 int srcskip, dstskip;
2106 #ifdef USE_DUFFS_LOOP
2113 *
dst = ((sR>>5)<<(3+2))|
2126 *
dst = ((sR >> 5) << (3 + 2)) |
2127 ((sG >> 5) << (2)) | ((sB >> 6) << (0));
2138 #ifdef USE_DUFFS_LOOP
2145 *
dst =
map[((sR>>5)<<(3+2))|
2158 *
dst =
map[((sR >> 5) << (3 + 2)) |
2159 ((sG >> 5) << (2)) | ((sB >> 6) << (0))];
References SDL_PixelFormat::BytesPerPixel, DISEMBLE_RGB, SDL_BlitInfo::dst, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, map, NULL, SDL_BlitInfo::src, SDL_BlitInfo::src_fmt, SDL_BlitInfo::src_skip, and SDL_BlitInfo::table.
Referenced by SDL_CalculateBlitN().
◆ BlitNto1Key()
Definition at line 2507 of file SDL_blit_N.c.
2521 unsigned sR, sG, sB;
2527 if (palmap ==
NULL) {
2534 if ( (Pixel & rgbmask) != ckey ) {
2555 if ( (Pixel & rgbmask) != ckey ) {
2557 *
dst = (
Uint8)palmap[((sR>>5)<<(3+2))|
References SDL_PixelFormat::Amask, SDL_PixelFormat::BytesPerPixel, SDL_BlitInfo::colorkey, DISEMBLE_RGB, SDL_BlitInfo::dst, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, NULL, SDL_BlitInfo::src, SDL_BlitInfo::src_fmt, SDL_BlitInfo::src_skip, and SDL_BlitInfo::table.
Referenced by SDL_CalculateBlitN().
◆ BlitNto2101010()
Definition at line 3015 of file SDL_blit_N.c.
3026 unsigned sR, sG, sB, sA;
References ARGB2101010_FROM_RGBA, SDL_PixelFormat::BytesPerPixel, DISEMBLE_RGBA, SDL_BlitInfo::dst, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, SDL_BlitInfo::src, SDL_BlitInfo::src_fmt, and SDL_BlitInfo::src_skip.
Referenced by SDL_CalculateBlitN().
◆ BlitNtoN()
Definition at line 2330 of file SDL_blit_N.c.
2344 #if HAVE_FAST_WRITE_INT8
2346 if (srcbpp == 4 &&
dstbpp == 4 &&
2351 int alpha_channel, p0, p1, p2, p3;
2375 if (srcbpp == 4 &&
dstbpp == 3 &&
2399 #if HAVE_FAST_WRITE_INT8
2401 if (srcbpp == 3 &&
dstbpp == 4 &&
2405 int alpha_channel, p0, p1, p2, p3;
References SDL_BlitInfo::a, SDL_PixelFormat::Amask, ASSEMBLE_RGBA, SDL_PixelFormat::BytesPerPixel, DISEMBLE_RGB, SDL_BlitInfo::dst, SDL_BlitInfo::dst_fmt, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, SDL_PixelFormat::format, get_permutation(), NULL, SDL_PIXELFORMAT_ARGB2101010, SDL_BlitInfo::src, SDL_BlitInfo::src_fmt, and SDL_BlitInfo::src_skip.
Referenced by SDL_CalculateBlitN().
◆ BlitNtoNCopyAlpha()
Definition at line 2449 of file SDL_blit_N.c.
2463 #if HAVE_FAST_WRITE_INT8
2465 if (srcbpp == 4 &&
dstbpp == 4 &&
2495 unsigned sR, sG, sB, sA;
References ASSEMBLE_RGBA, SDL_PixelFormat::BytesPerPixel, DISEMBLE_RGBA, SDL_BlitInfo::dst, SDL_BlitInfo::dst_fmt, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, SDL_PixelFormat::format, get_permutation(), NULL, SDL_PIXELFORMAT_ARGB2101010, SDL_BlitInfo::src, SDL_BlitInfo::src_fmt, and SDL_BlitInfo::src_skip.
Referenced by SDL_CalculateBlitN().
◆ BlitNtoNKey()
Definition at line 2607 of file SDL_blit_N.c.
2622 int sfmt = srcfmt->
format;
2623 int dfmt = dstfmt->
format;
2633 if (dstfmt->
Amask) {
2640 if ((*src32 & rgbmask) != ckey) {
2641 *dst32 = *src32 |
mask;
2658 if ((*src32 & rgbmask) != ckey) {
2659 *dst32 = *src32 &
mask;
2672 #if HAVE_FAST_WRITE_INT8
2674 if (srcbpp == 4 &&
dstbpp == 4 &&
2679 int alpha_channel, p0, p1, p2, p3;
2688 if ((*src32 & rgbmask) != ckey) {
2710 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
2711 Uint8 k0 = ckey & 0xFF;
2712 Uint8 k1 = (ckey >> 8) & 0xFF;
2713 Uint8 k2 = (ckey >> 16) & 0xFF;
2715 Uint8 k0 = (ckey >> 16) & 0xFF;
2716 Uint8 k1 = (ckey >> 8) & 0xFF;
2717 Uint8 k2 = ckey & 0xFF;
2728 if (k0 !=
s0 || k1 !=
s1 || k2 != s2) {
2748 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
2749 Uint8 k0 = ckey & 0xFF;
2750 Uint8 k1 = (ckey >> 8) & 0xFF;
2751 Uint8 k2 = (ckey >> 16) & 0xFF;
2753 Uint8 k0 = (ckey >> 16) & 0xFF;
2754 Uint8 k1 = (ckey >> 8) & 0xFF;
2755 Uint8 k2 = ckey & 0xFF;
2765 if (k0 !=
s0 || k1 !=
s1 || k2 != s2) {
2783 if (srcbpp == 4 &&
dstbpp == 3 &&
2795 if ((*src32 & rgbmask) != ckey) {
2810 #if HAVE_FAST_WRITE_INT8
2812 if (srcbpp == 3 &&
dstbpp == 4 &&
2815 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
2816 Uint8 k0 = ckey & 0xFF;
2817 Uint8 k1 = (ckey >> 8) & 0xFF;
2818 Uint8 k2 = (ckey >> 16) & 0xFF;
2820 Uint8 k0 = (ckey >> 16) & 0xFF;
2821 Uint8 k1 = (ckey >> 8) & 0xFF;
2822 Uint8 k2 = ckey & 0xFF;
2826 int alpha_channel, p0, p1, p2, p3;
2837 if (k0 !=
s0 || k1 !=
s1 || k2 != s2) {
2864 if ( (Pixel & rgbmask) != ckey ) {
References SDL_BlitInfo::a, SDL_PixelFormat::Amask, SDL_PixelFormat::Ashift, ASSEMBLE_RGBA, SDL_PixelFormat::Bmask, SDL_PixelFormat::BytesPerPixel, SDL_BlitInfo::colorkey, SDL_BlitInfo::dst, SDL_BlitInfo::dst_fmt, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, SDL_PixelFormat::format, get_permutation(), SDL_PixelFormat::Gmask, NULL, RETRIEVE_RGB_PIXEL, RGB_FROM_PIXEL, SDL_PixelFormat::Rmask, SDL_PIXELFORMAT_ARGB2101010, SDL_PIXELFORMAT_BGR24, SDL_PIXELFORMAT_RGB24, SDL_BlitInfo::src, SDL_BlitInfo::src_fmt, and SDL_BlitInfo::src_skip.
Referenced by SDL_CalculateBlitN().
◆ BlitNtoNKeyCopyAlpha()
Definition at line 2879 of file SDL_blit_N.c.
2895 unsigned sR, sG, sB, sA;
2916 if ((*src32 & rgbmask) != ckey) {
2931 #if HAVE_FAST_WRITE_INT8
2933 if (srcbpp == 4 &&
dstbpp == 4 &&
2946 if ((*src32 & rgbmask) != ckey) {
2968 if ( (Pixel & rgbmask) != ckey ) {
References SDL_PixelFormat::Amask, ASSEMBLE_RGBA, SDL_PixelFormat::BytesPerPixel, SDL_BlitInfo::colorkey, DISEMBLE_RGBA, SDL_BlitInfo::dst, SDL_BlitInfo::dst_fmt, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, DUFFS_LOOP, SDL_PixelFormat::format, get_permutation(), NULL, SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB2101010, SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGBA8888, SDL_BlitInfo::src, SDL_BlitInfo::src_fmt, and SDL_BlitInfo::src_skip.
Referenced by SDL_CalculateBlitN().
◆ get_permutation()
Definition at line 2250 of file SDL_blit_N.c.
2253 int alpha_channel = 0, p0, p1, p2, p3;
2254 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
2255 int Pixel = 0x04030201;
2257 int Pixel = 0x01020304;
2262 if (srcfmt->
Amask) {
2269 if (dstfmt->
Amask) {
2270 if (srcfmt->
Amask) {
2279 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
2281 p1 = (Pixel >> 8) & 0xFF;
2282 p2 = (Pixel >> 16) & 0xFF;
2283 p3 = (Pixel >> 24) & 0xFF;
2286 p2 = (Pixel >> 8) & 0xFF;
2287 p1 = (Pixel >> 16) & 0xFF;
2288 p0 = (Pixel >> 24) & 0xFF;
2294 }
else if (p1 == 0) {
2297 }
else if (p2 == 0) {
2300 }
else if (p3 == 0) {
2305 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
2307 if (srcbpp == 3 &&
dstbpp == 4) {
2312 }
else if (srcbpp == 4 &&
dstbpp == 3) {
2323 if (_alpha_channel) {
2324 *_alpha_channel = alpha_channel;
References SDL_PixelFormat::Amask, SDL_PixelFormat::BytesPerPixel, PIXEL_FROM_RGB, PIXEL_FROM_RGBA, RGB_FROM_PIXEL, and RGBA_FROM_PIXEL.
Referenced by BlitNtoN(), BlitNtoNCopyAlpha(), BlitNtoNKey(), and BlitNtoNKeyCopyAlpha().
◆ SDL_CalculateBlitN()
Definition at line 3360 of file SDL_blit_N.c.
3382 (srcfmt->
Rmask == 0x00FF0000) &&
3383 (srcfmt->
Gmask == 0x0000FF00) &&
3384 (srcfmt->
Bmask == 0x000000FF)) {
3387 (srcfmt->
Rmask == 0x3FF00000) &&
3388 (srcfmt->
Gmask == 0x000FFC00) &&
3389 (srcfmt->
Bmask == 0x000003FF)) {
3400 for (which = 0;
table[which].dstbpp; ++which) {
3408 (a_need &
table[which].alpha) == a_need &&
3453 #if SDL_ALTIVEC_BLITTERS
3456 return Blit32to32KeyAltivec;
References SDL_PixelFormat::Amask, SDL_PixelFormat::BitsPerPixel, Blit2101010toN(), Blit2to2Key(), Blit4to4CopyAlpha(), Blit4to4MaskAlpha(), Blit_RGB101010_index8(), Blit_RGB888_index8(), blit_table::blitfunc, BlitNto1(), BlitNto1Key(), BlitNto2101010(), BlitNtoN(), BlitNtoNCopyAlpha(), BlitNtoNKey(), BlitNtoNKeyCopyAlpha(), SDL_PixelFormat::Bmask, SDL_PixelFormat::BytesPerPixel, COPY_ALPHA, SDL_PixelFormat::format, GetBlitFeatures, SDL_PixelFormat::Gmask, MASKOK, NO_ALPHA, normal_blit, NULL, SDL_PixelFormat::Rmask, SDL_COPY_COLORKEY, SDL_COPY_RLE_MASK, SDL_HasAltiVec, SDL_PIXELFORMAT_ARGB2101010, and SET_ALPHA.
Referenced by SDL_CalculateBlit().
◆ normal_blit
◆ normal_blit_1
◆ normal_blit_2
Initial value:= {
{0x0000F800, 0x000007E0, 0x0000001F, 4, 0x00FF0000, 0x0000FF00, 0x000000FF,
{0x0000F800, 0x000007E0, 0x0000001F, 4, 0x000000FF, 0x0000FF00, 0x00FF0000,
{0x0000F800, 0x000007E0, 0x0000001F, 4, 0xFF000000, 0x00FF0000, 0x0000FF00,
{0x0000F800, 0x000007E0, 0x0000001F, 4, 0x0000FF00, 0x00FF0000, 0xFF000000,
}
Definition at line 3121 of file SDL_blit_N.c.
◆ normal_blit_3
◆ normal_blit_4
◆ RGB565_ABGR8888_LUT
| const Uint32 RGB565_ABGR8888_LUT[512] |
|
static |
◆ RGB565_ARGB8888_LUT
| const Uint32 RGB565_ARGB8888_LUT[512] |
|
static |
◆ RGB565_BGRA8888_LUT
| const Uint32 RGB565_BGRA8888_LUT[512] |
|
static |
◆ RGB565_RGBA8888_LUT
| const Uint32 RGB565_RGBA8888_LUT[512] |
|
static |
static void Blit_RGB101010_index8(SDL_BlitInfo *info)
#define ASSEMBLE_RGBA(buf, bpp, fmt, r, g, b, a)
static void Blit_RGB565_RGBA8888(SDL_BlitInfo *info)
#define RGB888_RGB565(dst, src)
#define ARGB2101010_FROM_RGBA(Pixel, r, g, b, a)
@ BLIT_FEATURE_HAS_ARM_SIMD
const GLubyte GLuint GLuint GLuint GLuint alpha GLboolean GLboolean GLboolean GLboolean alpha GLint GLint GLsizei GLsizei GLenum type GLenum GLint GLenum GLint GLint GLsizei GLsizei GLint border GLenum GLint GLint GLint GLint GLint GLsizei GLsizei height GLsizei GLsizei GLenum GLenum const GLvoid *pixels GLenum GLint i1
static const Uint32 RGB565_BGRA8888_LUT[512]
#define RGB101010_RGB332(dst, src)
#define RGBA_FROM_ARGB2101010(Pixel, r, g, b, a)
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 abits op endm macro pixldst3 mem_operand op endm macro pixldst30 mem_operand op endm macro pixldst abits if abits elseif abits elseif abits elseif abits elseif abits pixldst0 abits else pixldst0 abits pixldst0 abits pixldst0 abits pixldst0 abits endif elseif abits else pixldst0 abits pixldst0 abits endif elseif abits else error unsupported bpp *numpix else pixst endif endm macro pixld1_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl else error unsupported endif endm macro pixld2_s mem_operand if mov asr add asl add asl mov asr sub UNIT_X add asl mov asr add asl add asl mov asr add UNIT_X add asl else pixld1_s mem_operand pixld1_s mem_operand endif endm macro pixld0_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl endif endm macro pixld_s_internal mem_operand if mem_operand pixld2_s mem_operand pixdeinterleave basereg elseif mem_operand elseif mem_operand elseif mem_operand elseif mem_operand pixld0_s mem_operand else pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else error unsupported mem_operand if bpp mem_operand endif endm macro vuzp8 reg2 vuzp d d ®2 endm macro vzip8 reg2 vzip d d ®2 endm macro pixdeinterleave basereg basereg basereg basereg basereg endif endm macro pixinterleave basereg basereg basereg basereg basereg endif endm macro PF boost_increment endif if endif PF tst PF addne PF subne PF cmp ORIG_W if endif if endif if endif PF subge ORIG_W PF subges if endif if endif if endif endif endm macro cache_preload_simple endif if dst_r_bpp pld[DST_R, #(PREFETCH_DISTANCE_SIMPLE *dst_r_bpp/8)] endif if mask_bpp pld if[MASK, #(PREFETCH_DISTANCE_SIMPLE *mask_bpp/8)] endif endif endm macro fetch_mask_pixblock pixld mask_basereg pixblock_size MASK endm macro ensure_destination_ptr_alignment process_pixblock_tail_head if beq irp skip1(dst_w_bpp<=(lowbit *8)) &&((lowbit *8)<(pixblock_size *dst_w_bpp)) .if lowbit< 16 tst DST_R
static const struct blit_table normal_blit_4[]
#define PIXEL_FROM_RGBA(Pixel, fmt, r, g, b, a)
GLint GLint GLsizei width
static const struct blit_table *const normal_blit[]
#define RETRIEVE_RGB_PIXEL(buf, bpp, Pixel)
static void Blit_RGB888_index8(SDL_BlitInfo *info)
static void BlitNtoNKey(SDL_BlitInfo *info)
@ BLIT_FEATURE_ALTIVEC_DONT_USE_PREFETCH
#define SDL_COPY_COLORKEY
const GLubyte GLuint GLuint GLuint GLuint alpha GLboolean GLboolean GLboolean GLboolean alpha GLint GLint GLsizei GLsizei GLenum type GLenum GLint GLenum GLint GLint GLsizei GLsizei GLint border GLenum GLint GLint GLint GLint GLint GLsizei GLsizei height GLsizei GLsizei GLenum GLenum const GLvoid *pixels GLenum GLint GLint GLint GLint j2 GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble zFar GLenum GLenum GLint *params GLenum GLenum GLint *params GLenum GLenum GLint *params GLenum GLenum GLfloat *params GLenum GLint GLenum GLenum GLvoid *pixels GLenum GLint GLenum GLint *params GLenum GLenum GLint *params GLenum GLsizei const GLvoid *pointer GLenum GLenum const GLint *params GLenum GLfloat GLfloat GLint GLint const GLfloat *points GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat *points GLint GLfloat GLfloat GLint GLfloat GLfloat v2 GLenum GLenum const GLint *params GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble zFar GLenum map
static void Blit2101010toN(SDL_BlitInfo *info)
static void Blit4to4CopyAlpha(SDL_BlitInfo *info)
#define SDL_COPY_RLE_MASK
#define DISEMBLE_RGBA(buf, bpp, fmt, Pixel, r, g, b, a)
const GLubyte GLuint GLuint GLuint GLuint alpha GLboolean GLboolean GLboolean GLboolean alpha GLint GLint GLsizei GLsizei GLenum type GLenum GLint GLenum GLint GLint GLsizei GLsizei GLint border GLenum GLint GLint GLint GLint GLint GLsizei GLsizei height GLsizei GLsizei GLenum GLenum const GLvoid *pixels GLenum GLint GLint i2
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat s1
static void Blit_RGB565_ARGB8888(SDL_BlitInfo *info)
GLfloat GLfloat GLfloat alpha
#define DUFFS_LOOP(pixel_copy_increment, width)
static void get_permutation(SDL_PixelFormat *srcfmt, SDL_PixelFormat *dstfmt, int *_p0, int *_p1, int *_p2, int *_p3, int *_alpha_channel)
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat s0
static void BlitNtoN(SDL_BlitInfo *info)
SDL_PixelFormat * src_fmt
GLint GLint GLsizei GLsizei height
@ SDL_PIXELFORMAT_ARGB2101010
static void Blit4to4MaskAlpha(SDL_BlitInfo *info)
#define RGB565_32(dst, src, map)
@ BLIT_FEATURE_HAS_ALTIVEC
static const struct blit_table normal_blit_2[]
@ SDL_PIXELFORMAT_ARGB8888
static void BlitNto1Key(SDL_BlitInfo *info)
SDL_PixelFormat * dst_fmt
#define GetBlitFeatures()
static const struct blit_table normal_blit_1[]
#define DISEMBLE_RGB(buf, bpp, fmt, Pixel, r, g, b)
static void Blit_RGB565_ABGR8888(SDL_BlitInfo *info)
#define RGB888_RGB555(dst, src)
static const struct blit_table normal_blit_3[]
static void BlitNtoNCopyAlpha(SDL_BlitInfo *info)
static void BlitNto2101010(SDL_BlitInfo *info)
static void BlitNtoNKeyCopyAlpha(SDL_BlitInfo *info)
@ SDL_PIXELFORMAT_RGBA8888
#define PIXEL_FROM_RGB(Pixel, fmt, r, g, b)
const GLubyte GLuint GLuint GLuint GLuint alpha GLboolean GLboolean GLboolean GLboolean alpha GLint GLint GLsizei GLsizei GLenum type GLenum GLint GLenum GLint GLint GLsizei GLsizei GLint border GLenum GLint GLint GLint GLint GLint GLsizei GLsizei height GLsizei GLsizei GLenum GLenum const GLvoid *pixels GLenum GLint GLint GLint j1
static void Blit_RGB565_32(SDL_BlitInfo *info, const Uint32 *map)
static void Blit_RGB565_BGRA8888(SDL_BlitInfo *info)
@ SDL_PIXELFORMAT_BGRA8888
static const Uint32 RGB565_RGBA8888_LUT[512]
#define RGB_FROM_PIXEL(Pixel, fmt, r, g, b)
static const Uint32 RGB565_ABGR8888_LUT[512]
static const Uint32 RGB565_ARGB8888_LUT[512]
#define RGB888_RGB332(dst, src)
static void Blit2to2Key(SDL_BlitInfo *info)
@ SDL_PIXELFORMAT_ABGR8888
GLenum GLsizei GLenum GLenum const void * table
#define RGBA_FROM_PIXEL(Pixel, fmt, r, g, b, a)
static void BlitNto1(SDL_BlitInfo *info)
void(* SDL_BlitFunc)(SDL_BlitInfo *info)