|
@@ -1269,23 +1269,22 @@ static void Blit_RGB565_BGRA8888_SSE41(SDL_BlitInfo * info)
|
|
#ifdef SDL_HAVE_BLIT_N_RGB565
|
|
#ifdef SDL_HAVE_BLIT_N_RGB565
|
|
|
|
|
|
// Special optimized blit for RGB 5-6-5 --> 32-bit RGB surfaces
|
|
// Special optimized blit for RGB 5-6-5 --> 32-bit RGB surfaces
|
|
-#define RGB565_32(src) (mapR[src >> 11] | mapG[(src >> 5) & 63] | mapB[src & 31] | Amask)
|
|
|
|
-
|
|
|
|
-static void Blit_RGB565_32(SDL_BlitInfo *info, const Uint32 *mapR, const Uint32 *mapG, const Uint32 *mapB, Uint32 Amask)
|
|
|
|
|
|
+#define RGB565_32(dst, src, map) (map[src[LO] * 2] | map[src[HI] * 2 + 1])
|
|
|
|
+static void Blit_RGB565_32(SDL_BlitInfo *info, const Uint32 *map)
|
|
{
|
|
{
|
|
#ifndef USE_DUFFS_LOOP
|
|
#ifndef USE_DUFFS_LOOP
|
|
int c;
|
|
int c;
|
|
#endif
|
|
#endif
|
|
int width, height;
|
|
int width, height;
|
|
- const Uint16 *src;
|
|
|
|
|
|
+ Uint8 *src;
|
|
Uint32 *dst;
|
|
Uint32 *dst;
|
|
int srcskip, dstskip;
|
|
int srcskip, dstskip;
|
|
|
|
|
|
// Set up some basic variables
|
|
// Set up some basic variables
|
|
width = info->dst_w;
|
|
width = info->dst_w;
|
|
height = info->dst_h;
|
|
height = info->dst_h;
|
|
- src = (const Uint16 *)info->src;
|
|
|
|
- srcskip = info->src_skip / 2;
|
|
|
|
|
|
+ src = info->src;
|
|
|
|
+ srcskip = info->src_skip;
|
|
dst = (Uint32 *)info->dst;
|
|
dst = (Uint32 *)info->dst;
|
|
dstskip = info->dst_skip / 4;
|
|
dstskip = info->dst_skip / 4;
|
|
|
|
|
|
@@ -1294,8 +1293,8 @@ static void Blit_RGB565_32(SDL_BlitInfo *info, const Uint32 *mapR, const Uint32
|
|
/* *INDENT-OFF* */ // clang-format off
|
|
/* *INDENT-OFF* */ // clang-format off
|
|
DUFFS_LOOP(
|
|
DUFFS_LOOP(
|
|
{
|
|
{
|
|
- *dst++ = RGB565_32(*src);
|
|
|
|
- ++src;
|
|
|
|
|
|
+ *dst++ = RGB565_32(dst, src, map);
|
|
|
|
+ src += 2;
|
|
},
|
|
},
|
|
width);
|
|
width);
|
|
/* *INDENT-ON* */ // clang-format on
|
|
/* *INDENT-ON* */ // clang-format on
|
|
@@ -1306,28 +1305,28 @@ static void Blit_RGB565_32(SDL_BlitInfo *info, const Uint32 *mapR, const Uint32
|
|
while (height--) {
|
|
while (height--) {
|
|
// Copy in 4 pixel chunks
|
|
// Copy in 4 pixel chunks
|
|
for (c = width / 4; c; --c) {
|
|
for (c = width / 4; c; --c) {
|
|
- *dst++ = RGB565_32(*src);
|
|
|
|
- ++src;
|
|
|
|
- *dst++ = RGB565_32(*src);
|
|
|
|
- ++src;
|
|
|
|
- *dst++ = RGB565_32(*src);
|
|
|
|
- ++src;
|
|
|
|
- *dst++ = RGB565_32(*src);
|
|
|
|
- ++src;
|
|
|
|
|
|
+ *dst++ = RGB565_32(dst, src, map);
|
|
|
|
+ src += 2;
|
|
|
|
+ *dst++ = RGB565_32(dst, src, map);
|
|
|
|
+ src += 2;
|
|
|
|
+ *dst++ = RGB565_32(dst, src, map);
|
|
|
|
+ src += 2;
|
|
|
|
+ *dst++ = RGB565_32(dst, src, map);
|
|
|
|
+ src += 2;
|
|
}
|
|
}
|
|
// Get any leftovers
|
|
// Get any leftovers
|
|
switch (width & 3) {
|
|
switch (width & 3) {
|
|
case 3:
|
|
case 3:
|
|
- *dst++ = RGB565_32(*src);
|
|
|
|
- ++src;
|
|
|
|
|
|
+ *dst++ = RGB565_32(dst, src, map);
|
|
|
|
+ src += 2;
|
|
SDL_FALLTHROUGH;
|
|
SDL_FALLTHROUGH;
|
|
case 2:
|
|
case 2:
|
|
- *dst++ = RGB565_32(*src);
|
|
|
|
- ++src;
|
|
|
|
|
|
+ *dst++ = RGB565_32(dst, src, map);
|
|
|
|
+ src += 2;
|
|
SDL_FALLTHROUGH;
|
|
SDL_FALLTHROUGH;
|
|
case 1:
|
|
case 1:
|
|
- *dst++ = RGB565_32(*src);
|
|
|
|
- ++src;
|
|
|
|
|
|
+ *dst++ = RGB565_32(dst, src, map);
|
|
|
|
+ src += 2;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
src += srcskip;
|
|
src += srcskip;
|
|
@@ -1379,37 +1378,46 @@ static Uint32 Calculate(int v, int bits, int vmax, int shift)
|
|
#endif
|
|
#endif
|
|
}
|
|
}
|
|
|
|
|
|
-static void PrintLUT(const char *src, const char *dst, const char *channel, int bits, int shift)
|
|
|
|
|
|
+static Uint32 CalculateARGB(int v, const SDL_PixelFormatDetails *sfmt, const SDL_PixelFormatDetails *dfmt)
|
|
{
|
|
{
|
|
- int v, vmax = (1 << bits) - 1;
|
|
|
|
-
|
|
|
|
- printf("static const Uint32 %s_%s_LUT_%s[%d] = {", src, dst, channel, vmax + 1);
|
|
|
|
- for (v = 0; v <= vmax; ++v) {
|
|
|
|
- if ((v % 4) == 0) {
|
|
|
|
- printf("\n ");
|
|
|
|
- }
|
|
|
|
- printf("0x%.8x", Calculate(v, bits, vmax, shift));
|
|
|
|
- if (v < vmax) {
|
|
|
|
- printf(",");
|
|
|
|
- if (((v + 1) % 4) != 0) {
|
|
|
|
- printf(" ");
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- printf("\n};\n\n");
|
|
|
|
|
|
+ Uint8 r = (v & sfmt->Rmask) >> sfmt->Rshift;
|
|
|
|
+ Uint8 g = (v & sfmt->Gmask) >> sfmt->Gshift;
|
|
|
|
+ Uint8 b = (v & sfmt->Bmask) >> sfmt->Bshift;
|
|
|
|
+ return dfmt->Amask |
|
|
|
|
+ Calculate(r, sfmt->Rbits, (1 << sfmt->Rbits) - 1, dfmt->Rshift) |
|
|
|
|
+ Calculate(g, sfmt->Gbits, (1 << sfmt->Gbits) - 1, dfmt->Gshift) |
|
|
|
|
+ Calculate(b, sfmt->Bbits, (1 << sfmt->Bbits) - 1, dfmt->Bshift);
|
|
}
|
|
}
|
|
|
|
|
|
static void GenerateLUT(SDL_PixelFormat src, SDL_PixelFormat dst)
|
|
static void GenerateLUT(SDL_PixelFormat src, SDL_PixelFormat dst)
|
|
{
|
|
{
|
|
|
|
+ static Uint32 lut[512];
|
|
const char *src_name = SDL_GetPixelFormatName(src) + 16;
|
|
const char *src_name = SDL_GetPixelFormatName(src) + 16;
|
|
const char *dst_name = SDL_GetPixelFormatName(dst) + 16;
|
|
const char *dst_name = SDL_GetPixelFormatName(dst) + 16;
|
|
const SDL_PixelFormatDetails *sfmt = SDL_GetPixelFormatDetails(src);
|
|
const SDL_PixelFormatDetails *sfmt = SDL_GetPixelFormatDetails(src);
|
|
const SDL_PixelFormatDetails *dfmt = SDL_GetPixelFormatDetails(dst);
|
|
const SDL_PixelFormatDetails *dfmt = SDL_GetPixelFormatDetails(dst);
|
|
|
|
+ int i;
|
|
|
|
+
|
|
|
|
+ for (i = 0; i < 256; ++i) {
|
|
|
|
+ lut[i * 2] = CalculateARGB(i, sfmt, dfmt);
|
|
|
|
+ lut[i * 2 + 1] = CalculateARGB(i << 8, sfmt, dfmt);
|
|
|
|
+ }
|
|
|
|
|
|
printf("// Special optimized blit for %s -> %s\n\n", src_name, dst_name);
|
|
printf("// Special optimized blit for %s -> %s\n\n", src_name, dst_name);
|
|
- PrintLUT(src_name, dst_name, "R", sfmt->Rbits, dfmt->Rshift);
|
|
|
|
- PrintLUT(src_name, dst_name, "G", sfmt->Gbits, dfmt->Gshift);
|
|
|
|
- PrintLUT(src_name, dst_name, "B", sfmt->Bbits, dfmt->Bshift);
|
|
|
|
|
|
+ printf("static const Uint32 %s_%s_LUT[%d] = {", src_name, dst_name, (int)SDL_arraysize(lut));
|
|
|
|
+ for (i = 0; i < SDL_arraysize(lut); ++i) {
|
|
|
|
+ if ((i % 8) == 0) {
|
|
|
|
+ printf("\n ");
|
|
|
|
+ }
|
|
|
|
+ printf("0x%.8x", lut[i]);
|
|
|
|
+ if (i < (SDL_arraysize(lut) - 1)) {
|
|
|
|
+ printf(",");
|
|
|
|
+ if (((i + 1) % 8) != 0) {
|
|
|
|
+ printf(" ");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ printf("\n};\n\n");
|
|
}
|
|
}
|
|
|
|
|
|
int main(int argc, char *argv[])
|
|
int main(int argc, char *argv[])
|
|
@@ -1425,194 +1433,298 @@ int main(int argc, char *argv[])
|
|
|
|
|
|
// Special optimized blit for RGB565 -> ARGB8888
|
|
// Special optimized blit for RGB565 -> ARGB8888
|
|
|
|
|
|
-static const Uint32 RGB565_ARGB8888_LUT_R[32] = {
|
|
|
|
- 0x00000000, 0x00080000, 0x00100000, 0x00180000,
|
|
|
|
- 0x00210000, 0x00290000, 0x00310000, 0x00390000,
|
|
|
|
- 0x00420000, 0x004a0000, 0x00520000, 0x005a0000,
|
|
|
|
- 0x00630000, 0x006b0000, 0x00730000, 0x007b0000,
|
|
|
|
- 0x00840000, 0x008c0000, 0x00940000, 0x009c0000,
|
|
|
|
- 0x00a50000, 0x00ad0000, 0x00b50000, 0x00bd0000,
|
|
|
|
- 0x00c60000, 0x00ce0000, 0x00d60000, 0x00de0000,
|
|
|
|
- 0x00e70000, 0x00ef0000, 0x00f70000, 0x00ff0000
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-static const Uint32 RGB565_ARGB8888_LUT_G[64] = {
|
|
|
|
- 0x00000000, 0x00000400, 0x00000800, 0x00000c00,
|
|
|
|
- 0x00001000, 0x00001400, 0x00001800, 0x00001c00,
|
|
|
|
- 0x00002000, 0x00002400, 0x00002800, 0x00002c00,
|
|
|
|
- 0x00003000, 0x00003400, 0x00003800, 0x00003c00,
|
|
|
|
- 0x00004100, 0x00004500, 0x00004900, 0x00004d00,
|
|
|
|
- 0x00005100, 0x00005500, 0x00005900, 0x00005d00,
|
|
|
|
- 0x00006100, 0x00006500, 0x00006900, 0x00006d00,
|
|
|
|
- 0x00007100, 0x00007500, 0x00007900, 0x00007d00,
|
|
|
|
- 0x00008200, 0x00008600, 0x00008a00, 0x00008e00,
|
|
|
|
- 0x00009200, 0x00009600, 0x00009a00, 0x00009e00,
|
|
|
|
- 0x0000a200, 0x0000a600, 0x0000aa00, 0x0000ae00,
|
|
|
|
- 0x0000b200, 0x0000b600, 0x0000ba00, 0x0000be00,
|
|
|
|
- 0x0000c300, 0x0000c700, 0x0000cb00, 0x0000cf00,
|
|
|
|
- 0x0000d300, 0x0000d700, 0x0000db00, 0x0000df00,
|
|
|
|
- 0x0000e300, 0x0000e700, 0x0000eb00, 0x0000ef00,
|
|
|
|
- 0x0000f300, 0x0000f700, 0x0000fb00, 0x0000ff00
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-static const Uint32 RGB565_ARGB8888_LUT_B[32] = {
|
|
|
|
- 0x00000000, 0x00000008, 0x00000010, 0x00000018,
|
|
|
|
- 0x00000021, 0x00000029, 0x00000031, 0x00000039,
|
|
|
|
- 0x00000042, 0x0000004a, 0x00000052, 0x0000005a,
|
|
|
|
- 0x00000063, 0x0000006b, 0x00000073, 0x0000007b,
|
|
|
|
- 0x00000084, 0x0000008c, 0x00000094, 0x0000009c,
|
|
|
|
- 0x000000a5, 0x000000ad, 0x000000b5, 0x000000bd,
|
|
|
|
- 0x000000c6, 0x000000ce, 0x000000d6, 0x000000de,
|
|
|
|
- 0x000000e7, 0x000000ef, 0x000000f7, 0x000000ff
|
|
|
|
|
|
+static const Uint32 RGB565_ARGB8888_LUT[512] = {
|
|
|
|
+ 0xff000000, 0xff000000, 0xff000008, 0xff002000, 0xff000010, 0xff004100, 0xff000018, 0xff006100,
|
|
|
|
+ 0xff000021, 0xff008200, 0xff000029, 0xff00a200, 0xff000031, 0xff00c300, 0xff000039, 0xff00e300,
|
|
|
|
+ 0xff000042, 0xff080000, 0xff00004a, 0xff082000, 0xff000052, 0xff084100, 0xff00005a, 0xff086100,
|
|
|
|
+ 0xff000063, 0xff088200, 0xff00006b, 0xff08a200, 0xff000073, 0xff08c300, 0xff00007b, 0xff08e300,
|
|
|
|
+ 0xff000084, 0xff100000, 0xff00008c, 0xff102000, 0xff000094, 0xff104100, 0xff00009c, 0xff106100,
|
|
|
|
+ 0xff0000a5, 0xff108200, 0xff0000ad, 0xff10a200, 0xff0000b5, 0xff10c300, 0xff0000bd, 0xff10e300,
|
|
|
|
+ 0xff0000c6, 0xff180000, 0xff0000ce, 0xff182000, 0xff0000d6, 0xff184100, 0xff0000de, 0xff186100,
|
|
|
|
+ 0xff0000e7, 0xff188200, 0xff0000ef, 0xff18a200, 0xff0000f7, 0xff18c300, 0xff0000ff, 0xff18e300,
|
|
|
|
+ 0xff000400, 0xff210000, 0xff000408, 0xff212000, 0xff000410, 0xff214100, 0xff000418, 0xff216100,
|
|
|
|
+ 0xff000421, 0xff218200, 0xff000429, 0xff21a200, 0xff000431, 0xff21c300, 0xff000439, 0xff21e300,
|
|
|
|
+ 0xff000442, 0xff290000, 0xff00044a, 0xff292000, 0xff000452, 0xff294100, 0xff00045a, 0xff296100,
|
|
|
|
+ 0xff000463, 0xff298200, 0xff00046b, 0xff29a200, 0xff000473, 0xff29c300, 0xff00047b, 0xff29e300,
|
|
|
|
+ 0xff000484, 0xff310000, 0xff00048c, 0xff312000, 0xff000494, 0xff314100, 0xff00049c, 0xff316100,
|
|
|
|
+ 0xff0004a5, 0xff318200, 0xff0004ad, 0xff31a200, 0xff0004b5, 0xff31c300, 0xff0004bd, 0xff31e300,
|
|
|
|
+ 0xff0004c6, 0xff390000, 0xff0004ce, 0xff392000, 0xff0004d6, 0xff394100, 0xff0004de, 0xff396100,
|
|
|
|
+ 0xff0004e7, 0xff398200, 0xff0004ef, 0xff39a200, 0xff0004f7, 0xff39c300, 0xff0004ff, 0xff39e300,
|
|
|
|
+ 0xff000800, 0xff420000, 0xff000808, 0xff422000, 0xff000810, 0xff424100, 0xff000818, 0xff426100,
|
|
|
|
+ 0xff000821, 0xff428200, 0xff000829, 0xff42a200, 0xff000831, 0xff42c300, 0xff000839, 0xff42e300,
|
|
|
|
+ 0xff000842, 0xff4a0000, 0xff00084a, 0xff4a2000, 0xff000852, 0xff4a4100, 0xff00085a, 0xff4a6100,
|
|
|
|
+ 0xff000863, 0xff4a8200, 0xff00086b, 0xff4aa200, 0xff000873, 0xff4ac300, 0xff00087b, 0xff4ae300,
|
|
|
|
+ 0xff000884, 0xff520000, 0xff00088c, 0xff522000, 0xff000894, 0xff524100, 0xff00089c, 0xff526100,
|
|
|
|
+ 0xff0008a5, 0xff528200, 0xff0008ad, 0xff52a200, 0xff0008b5, 0xff52c300, 0xff0008bd, 0xff52e300,
|
|
|
|
+ 0xff0008c6, 0xff5a0000, 0xff0008ce, 0xff5a2000, 0xff0008d6, 0xff5a4100, 0xff0008de, 0xff5a6100,
|
|
|
|
+ 0xff0008e7, 0xff5a8200, 0xff0008ef, 0xff5aa200, 0xff0008f7, 0xff5ac300, 0xff0008ff, 0xff5ae300,
|
|
|
|
+ 0xff000c00, 0xff630000, 0xff000c08, 0xff632000, 0xff000c10, 0xff634100, 0xff000c18, 0xff636100,
|
|
|
|
+ 0xff000c21, 0xff638200, 0xff000c29, 0xff63a200, 0xff000c31, 0xff63c300, 0xff000c39, 0xff63e300,
|
|
|
|
+ 0xff000c42, 0xff6b0000, 0xff000c4a, 0xff6b2000, 0xff000c52, 0xff6b4100, 0xff000c5a, 0xff6b6100,
|
|
|
|
+ 0xff000c63, 0xff6b8200, 0xff000c6b, 0xff6ba200, 0xff000c73, 0xff6bc300, 0xff000c7b, 0xff6be300,
|
|
|
|
+ 0xff000c84, 0xff730000, 0xff000c8c, 0xff732000, 0xff000c94, 0xff734100, 0xff000c9c, 0xff736100,
|
|
|
|
+ 0xff000ca5, 0xff738200, 0xff000cad, 0xff73a200, 0xff000cb5, 0xff73c300, 0xff000cbd, 0xff73e300,
|
|
|
|
+ 0xff000cc6, 0xff7b0000, 0xff000cce, 0xff7b2000, 0xff000cd6, 0xff7b4100, 0xff000cde, 0xff7b6100,
|
|
|
|
+ 0xff000ce7, 0xff7b8200, 0xff000cef, 0xff7ba200, 0xff000cf7, 0xff7bc300, 0xff000cff, 0xff7be300,
|
|
|
|
+ 0xff001000, 0xff840000, 0xff001008, 0xff842000, 0xff001010, 0xff844100, 0xff001018, 0xff846100,
|
|
|
|
+ 0xff001021, 0xff848200, 0xff001029, 0xff84a200, 0xff001031, 0xff84c300, 0xff001039, 0xff84e300,
|
|
|
|
+ 0xff001042, 0xff8c0000, 0xff00104a, 0xff8c2000, 0xff001052, 0xff8c4100, 0xff00105a, 0xff8c6100,
|
|
|
|
+ 0xff001063, 0xff8c8200, 0xff00106b, 0xff8ca200, 0xff001073, 0xff8cc300, 0xff00107b, 0xff8ce300,
|
|
|
|
+ 0xff001084, 0xff940000, 0xff00108c, 0xff942000, 0xff001094, 0xff944100, 0xff00109c, 0xff946100,
|
|
|
|
+ 0xff0010a5, 0xff948200, 0xff0010ad, 0xff94a200, 0xff0010b5, 0xff94c300, 0xff0010bd, 0xff94e300,
|
|
|
|
+ 0xff0010c6, 0xff9c0000, 0xff0010ce, 0xff9c2000, 0xff0010d6, 0xff9c4100, 0xff0010de, 0xff9c6100,
|
|
|
|
+ 0xff0010e7, 0xff9c8200, 0xff0010ef, 0xff9ca200, 0xff0010f7, 0xff9cc300, 0xff0010ff, 0xff9ce300,
|
|
|
|
+ 0xff001400, 0xffa50000, 0xff001408, 0xffa52000, 0xff001410, 0xffa54100, 0xff001418, 0xffa56100,
|
|
|
|
+ 0xff001421, 0xffa58200, 0xff001429, 0xffa5a200, 0xff001431, 0xffa5c300, 0xff001439, 0xffa5e300,
|
|
|
|
+ 0xff001442, 0xffad0000, 0xff00144a, 0xffad2000, 0xff001452, 0xffad4100, 0xff00145a, 0xffad6100,
|
|
|
|
+ 0xff001463, 0xffad8200, 0xff00146b, 0xffada200, 0xff001473, 0xffadc300, 0xff00147b, 0xffade300,
|
|
|
|
+ 0xff001484, 0xffb50000, 0xff00148c, 0xffb52000, 0xff001494, 0xffb54100, 0xff00149c, 0xffb56100,
|
|
|
|
+ 0xff0014a5, 0xffb58200, 0xff0014ad, 0xffb5a200, 0xff0014b5, 0xffb5c300, 0xff0014bd, 0xffb5e300,
|
|
|
|
+ 0xff0014c6, 0xffbd0000, 0xff0014ce, 0xffbd2000, 0xff0014d6, 0xffbd4100, 0xff0014de, 0xffbd6100,
|
|
|
|
+ 0xff0014e7, 0xffbd8200, 0xff0014ef, 0xffbda200, 0xff0014f7, 0xffbdc300, 0xff0014ff, 0xffbde300,
|
|
|
|
+ 0xff001800, 0xffc60000, 0xff001808, 0xffc62000, 0xff001810, 0xffc64100, 0xff001818, 0xffc66100,
|
|
|
|
+ 0xff001821, 0xffc68200, 0xff001829, 0xffc6a200, 0xff001831, 0xffc6c300, 0xff001839, 0xffc6e300,
|
|
|
|
+ 0xff001842, 0xffce0000, 0xff00184a, 0xffce2000, 0xff001852, 0xffce4100, 0xff00185a, 0xffce6100,
|
|
|
|
+ 0xff001863, 0xffce8200, 0xff00186b, 0xffcea200, 0xff001873, 0xffcec300, 0xff00187b, 0xffcee300,
|
|
|
|
+ 0xff001884, 0xffd60000, 0xff00188c, 0xffd62000, 0xff001894, 0xffd64100, 0xff00189c, 0xffd66100,
|
|
|
|
+ 0xff0018a5, 0xffd68200, 0xff0018ad, 0xffd6a200, 0xff0018b5, 0xffd6c300, 0xff0018bd, 0xffd6e300,
|
|
|
|
+ 0xff0018c6, 0xffde0000, 0xff0018ce, 0xffde2000, 0xff0018d6, 0xffde4100, 0xff0018de, 0xffde6100,
|
|
|
|
+ 0xff0018e7, 0xffde8200, 0xff0018ef, 0xffdea200, 0xff0018f7, 0xffdec300, 0xff0018ff, 0xffdee300,
|
|
|
|
+ 0xff001c00, 0xffe70000, 0xff001c08, 0xffe72000, 0xff001c10, 0xffe74100, 0xff001c18, 0xffe76100,
|
|
|
|
+ 0xff001c21, 0xffe78200, 0xff001c29, 0xffe7a200, 0xff001c31, 0xffe7c300, 0xff001c39, 0xffe7e300,
|
|
|
|
+ 0xff001c42, 0xffef0000, 0xff001c4a, 0xffef2000, 0xff001c52, 0xffef4100, 0xff001c5a, 0xffef6100,
|
|
|
|
+ 0xff001c63, 0xffef8200, 0xff001c6b, 0xffefa200, 0xff001c73, 0xffefc300, 0xff001c7b, 0xffefe300,
|
|
|
|
+ 0xff001c84, 0xfff70000, 0xff001c8c, 0xfff72000, 0xff001c94, 0xfff74100, 0xff001c9c, 0xfff76100,
|
|
|
|
+ 0xff001ca5, 0xfff78200, 0xff001cad, 0xfff7a200, 0xff001cb5, 0xfff7c300, 0xff001cbd, 0xfff7e300,
|
|
|
|
+ 0xff001cc6, 0xffff0000, 0xff001cce, 0xffff2000, 0xff001cd6, 0xffff4100, 0xff001cde, 0xffff6100,
|
|
|
|
+ 0xff001ce7, 0xffff8200, 0xff001cef, 0xffffa200, 0xff001cf7, 0xffffc300, 0xff001cff, 0xffffe300
|
|
};
|
|
};
|
|
|
|
|
|
static void Blit_RGB565_ARGB8888(SDL_BlitInfo * info)
|
|
static void Blit_RGB565_ARGB8888(SDL_BlitInfo * info)
|
|
{
|
|
{
|
|
- Blit_RGB565_32(info, RGB565_ARGB8888_LUT_R, RGB565_ARGB8888_LUT_G, RGB565_ARGB8888_LUT_B, 0xFF000000);
|
|
|
|
|
|
+ Blit_RGB565_32(info, RGB565_ARGB8888_LUT);
|
|
}
|
|
}
|
|
|
|
|
|
// Special optimized blit for RGB565 -> ABGR8888
|
|
// Special optimized blit for RGB565 -> ABGR8888
|
|
|
|
|
|
-static const Uint32 RGB565_ABGR8888_LUT_R[32] = {
|
|
|
|
- 0x00000000, 0x00000008, 0x00000010, 0x00000018,
|
|
|
|
- 0x00000021, 0x00000029, 0x00000031, 0x00000039,
|
|
|
|
- 0x00000042, 0x0000004a, 0x00000052, 0x0000005a,
|
|
|
|
- 0x00000063, 0x0000006b, 0x00000073, 0x0000007b,
|
|
|
|
- 0x00000084, 0x0000008c, 0x00000094, 0x0000009c,
|
|
|
|
- 0x000000a5, 0x000000ad, 0x000000b5, 0x000000bd,
|
|
|
|
- 0x000000c6, 0x000000ce, 0x000000d6, 0x000000de,
|
|
|
|
- 0x000000e7, 0x000000ef, 0x000000f7, 0x000000ff
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-static const Uint32 RGB565_ABGR8888_LUT_G[64] = {
|
|
|
|
- 0x00000000, 0x00000400, 0x00000800, 0x00000c00,
|
|
|
|
- 0x00001000, 0x00001400, 0x00001800, 0x00001c00,
|
|
|
|
- 0x00002000, 0x00002400, 0x00002800, 0x00002c00,
|
|
|
|
- 0x00003000, 0x00003400, 0x00003800, 0x00003c00,
|
|
|
|
- 0x00004100, 0x00004500, 0x00004900, 0x00004d00,
|
|
|
|
- 0x00005100, 0x00005500, 0x00005900, 0x00005d00,
|
|
|
|
- 0x00006100, 0x00006500, 0x00006900, 0x00006d00,
|
|
|
|
- 0x00007100, 0x00007500, 0x00007900, 0x00007d00,
|
|
|
|
- 0x00008200, 0x00008600, 0x00008a00, 0x00008e00,
|
|
|
|
- 0x00009200, 0x00009600, 0x00009a00, 0x00009e00,
|
|
|
|
- 0x0000a200, 0x0000a600, 0x0000aa00, 0x0000ae00,
|
|
|
|
- 0x0000b200, 0x0000b600, 0x0000ba00, 0x0000be00,
|
|
|
|
- 0x0000c300, 0x0000c700, 0x0000cb00, 0x0000cf00,
|
|
|
|
- 0x0000d300, 0x0000d700, 0x0000db00, 0x0000df00,
|
|
|
|
- 0x0000e300, 0x0000e700, 0x0000eb00, 0x0000ef00,
|
|
|
|
- 0x0000f300, 0x0000f700, 0x0000fb00, 0x0000ff00
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-static const Uint32 RGB565_ABGR8888_LUT_B[32] = {
|
|
|
|
- 0x00000000, 0x00080000, 0x00100000, 0x00180000,
|
|
|
|
- 0x00210000, 0x00290000, 0x00310000, 0x00390000,
|
|
|
|
- 0x00420000, 0x004a0000, 0x00520000, 0x005a0000,
|
|
|
|
- 0x00630000, 0x006b0000, 0x00730000, 0x007b0000,
|
|
|
|
- 0x00840000, 0x008c0000, 0x00940000, 0x009c0000,
|
|
|
|
- 0x00a50000, 0x00ad0000, 0x00b50000, 0x00bd0000,
|
|
|
|
- 0x00c60000, 0x00ce0000, 0x00d60000, 0x00de0000,
|
|
|
|
- 0x00e70000, 0x00ef0000, 0x00f70000, 0x00ff0000
|
|
|
|
|
|
+static const Uint32 RGB565_ABGR8888_LUT[512] = {
|
|
|
|
+ 0xff000000, 0xff000000, 0xff080000, 0xff002000, 0xff100000, 0xff004100, 0xff180000, 0xff006100,
|
|
|
|
+ 0xff210000, 0xff008200, 0xff290000, 0xff00a200, 0xff310000, 0xff00c300, 0xff390000, 0xff00e300,
|
|
|
|
+ 0xff420000, 0xff000008, 0xff4a0000, 0xff002008, 0xff520000, 0xff004108, 0xff5a0000, 0xff006108,
|
|
|
|
+ 0xff630000, 0xff008208, 0xff6b0000, 0xff00a208, 0xff730000, 0xff00c308, 0xff7b0000, 0xff00e308,
|
|
|
|
+ 0xff840000, 0xff000010, 0xff8c0000, 0xff002010, 0xff940000, 0xff004110, 0xff9c0000, 0xff006110,
|
|
|
|
+ 0xffa50000, 0xff008210, 0xffad0000, 0xff00a210, 0xffb50000, 0xff00c310, 0xffbd0000, 0xff00e310,
|
|
|
|
+ 0xffc60000, 0xff000018, 0xffce0000, 0xff002018, 0xffd60000, 0xff004118, 0xffde0000, 0xff006118,
|
|
|
|
+ 0xffe70000, 0xff008218, 0xffef0000, 0xff00a218, 0xfff70000, 0xff00c318, 0xffff0000, 0xff00e318,
|
|
|
|
+ 0xff000400, 0xff000021, 0xff080400, 0xff002021, 0xff100400, 0xff004121, 0xff180400, 0xff006121,
|
|
|
|
+ 0xff210400, 0xff008221, 0xff290400, 0xff00a221, 0xff310400, 0xff00c321, 0xff390400, 0xff00e321,
|
|
|
|
+ 0xff420400, 0xff000029, 0xff4a0400, 0xff002029, 0xff520400, 0xff004129, 0xff5a0400, 0xff006129,
|
|
|
|
+ 0xff630400, 0xff008229, 0xff6b0400, 0xff00a229, 0xff730400, 0xff00c329, 0xff7b0400, 0xff00e329,
|
|
|
|
+ 0xff840400, 0xff000031, 0xff8c0400, 0xff002031, 0xff940400, 0xff004131, 0xff9c0400, 0xff006131,
|
|
|
|
+ 0xffa50400, 0xff008231, 0xffad0400, 0xff00a231, 0xffb50400, 0xff00c331, 0xffbd0400, 0xff00e331,
|
|
|
|
+ 0xffc60400, 0xff000039, 0xffce0400, 0xff002039, 0xffd60400, 0xff004139, 0xffde0400, 0xff006139,
|
|
|
|
+ 0xffe70400, 0xff008239, 0xffef0400, 0xff00a239, 0xfff70400, 0xff00c339, 0xffff0400, 0xff00e339,
|
|
|
|
+ 0xff000800, 0xff000042, 0xff080800, 0xff002042, 0xff100800, 0xff004142, 0xff180800, 0xff006142,
|
|
|
|
+ 0xff210800, 0xff008242, 0xff290800, 0xff00a242, 0xff310800, 0xff00c342, 0xff390800, 0xff00e342,
|
|
|
|
+ 0xff420800, 0xff00004a, 0xff4a0800, 0xff00204a, 0xff520800, 0xff00414a, 0xff5a0800, 0xff00614a,
|
|
|
|
+ 0xff630800, 0xff00824a, 0xff6b0800, 0xff00a24a, 0xff730800, 0xff00c34a, 0xff7b0800, 0xff00e34a,
|
|
|
|
+ 0xff840800, 0xff000052, 0xff8c0800, 0xff002052, 0xff940800, 0xff004152, 0xff9c0800, 0xff006152,
|
|
|
|
+ 0xffa50800, 0xff008252, 0xffad0800, 0xff00a252, 0xffb50800, 0xff00c352, 0xffbd0800, 0xff00e352,
|
|
|
|
+ 0xffc60800, 0xff00005a, 0xffce0800, 0xff00205a, 0xffd60800, 0xff00415a, 0xffde0800, 0xff00615a,
|
|
|
|
+ 0xffe70800, 0xff00825a, 0xffef0800, 0xff00a25a, 0xfff70800, 0xff00c35a, 0xffff0800, 0xff00e35a,
|
|
|
|
+ 0xff000c00, 0xff000063, 0xff080c00, 0xff002063, 0xff100c00, 0xff004163, 0xff180c00, 0xff006163,
|
|
|
|
+ 0xff210c00, 0xff008263, 0xff290c00, 0xff00a263, 0xff310c00, 0xff00c363, 0xff390c00, 0xff00e363,
|
|
|
|
+ 0xff420c00, 0xff00006b, 0xff4a0c00, 0xff00206b, 0xff520c00, 0xff00416b, 0xff5a0c00, 0xff00616b,
|
|
|
|
+ 0xff630c00, 0xff00826b, 0xff6b0c00, 0xff00a26b, 0xff730c00, 0xff00c36b, 0xff7b0c00, 0xff00e36b,
|
|
|
|
+ 0xff840c00, 0xff000073, 0xff8c0c00, 0xff002073, 0xff940c00, 0xff004173, 0xff9c0c00, 0xff006173,
|
|
|
|
+ 0xffa50c00, 0xff008273, 0xffad0c00, 0xff00a273, 0xffb50c00, 0xff00c373, 0xffbd0c00, 0xff00e373,
|
|
|
|
+ 0xffc60c00, 0xff00007b, 0xffce0c00, 0xff00207b, 0xffd60c00, 0xff00417b, 0xffde0c00, 0xff00617b,
|
|
|
|
+ 0xffe70c00, 0xff00827b, 0xffef0c00, 0xff00a27b, 0xfff70c00, 0xff00c37b, 0xffff0c00, 0xff00e37b,
|
|
|
|
+ 0xff001000, 0xff000084, 0xff081000, 0xff002084, 0xff101000, 0xff004184, 0xff181000, 0xff006184,
|
|
|
|
+ 0xff211000, 0xff008284, 0xff291000, 0xff00a284, 0xff311000, 0xff00c384, 0xff391000, 0xff00e384,
|
|
|
|
+ 0xff421000, 0xff00008c, 0xff4a1000, 0xff00208c, 0xff521000, 0xff00418c, 0xff5a1000, 0xff00618c,
|
|
|
|
+ 0xff631000, 0xff00828c, 0xff6b1000, 0xff00a28c, 0xff731000, 0xff00c38c, 0xff7b1000, 0xff00e38c,
|
|
|
|
+ 0xff841000, 0xff000094, 0xff8c1000, 0xff002094, 0xff941000, 0xff004194, 0xff9c1000, 0xff006194,
|
|
|
|
+ 0xffa51000, 0xff008294, 0xffad1000, 0xff00a294, 0xffb51000, 0xff00c394, 0xffbd1000, 0xff00e394,
|
|
|
|
+ 0xffc61000, 0xff00009c, 0xffce1000, 0xff00209c, 0xffd61000, 0xff00419c, 0xffde1000, 0xff00619c,
|
|
|
|
+ 0xffe71000, 0xff00829c, 0xffef1000, 0xff00a29c, 0xfff71000, 0xff00c39c, 0xffff1000, 0xff00e39c,
|
|
|
|
+ 0xff001400, 0xff0000a5, 0xff081400, 0xff0020a5, 0xff101400, 0xff0041a5, 0xff181400, 0xff0061a5,
|
|
|
|
+ 0xff211400, 0xff0082a5, 0xff291400, 0xff00a2a5, 0xff311400, 0xff00c3a5, 0xff391400, 0xff00e3a5,
|
|
|
|
+ 0xff421400, 0xff0000ad, 0xff4a1400, 0xff0020ad, 0xff521400, 0xff0041ad, 0xff5a1400, 0xff0061ad,
|
|
|
|
+ 0xff631400, 0xff0082ad, 0xff6b1400, 0xff00a2ad, 0xff731400, 0xff00c3ad, 0xff7b1400, 0xff00e3ad,
|
|
|
|
+ 0xff841400, 0xff0000b5, 0xff8c1400, 0xff0020b5, 0xff941400, 0xff0041b5, 0xff9c1400, 0xff0061b5,
|
|
|
|
+ 0xffa51400, 0xff0082b5, 0xffad1400, 0xff00a2b5, 0xffb51400, 0xff00c3b5, 0xffbd1400, 0xff00e3b5,
|
|
|
|
+ 0xffc61400, 0xff0000bd, 0xffce1400, 0xff0020bd, 0xffd61400, 0xff0041bd, 0xffde1400, 0xff0061bd,
|
|
|
|
+ 0xffe71400, 0xff0082bd, 0xffef1400, 0xff00a2bd, 0xfff71400, 0xff00c3bd, 0xffff1400, 0xff00e3bd,
|
|
|
|
+ 0xff001800, 0xff0000c6, 0xff081800, 0xff0020c6, 0xff101800, 0xff0041c6, 0xff181800, 0xff0061c6,
|
|
|
|
+ 0xff211800, 0xff0082c6, 0xff291800, 0xff00a2c6, 0xff311800, 0xff00c3c6, 0xff391800, 0xff00e3c6,
|
|
|
|
+ 0xff421800, 0xff0000ce, 0xff4a1800, 0xff0020ce, 0xff521800, 0xff0041ce, 0xff5a1800, 0xff0061ce,
|
|
|
|
+ 0xff631800, 0xff0082ce, 0xff6b1800, 0xff00a2ce, 0xff731800, 0xff00c3ce, 0xff7b1800, 0xff00e3ce,
|
|
|
|
+ 0xff841800, 0xff0000d6, 0xff8c1800, 0xff0020d6, 0xff941800, 0xff0041d6, 0xff9c1800, 0xff0061d6,
|
|
|
|
+ 0xffa51800, 0xff0082d6, 0xffad1800, 0xff00a2d6, 0xffb51800, 0xff00c3d6, 0xffbd1800, 0xff00e3d6,
|
|
|
|
+ 0xffc61800, 0xff0000de, 0xffce1800, 0xff0020de, 0xffd61800, 0xff0041de, 0xffde1800, 0xff0061de,
|
|
|
|
+ 0xffe71800, 0xff0082de, 0xffef1800, 0xff00a2de, 0xfff71800, 0xff00c3de, 0xffff1800, 0xff00e3de,
|
|
|
|
+ 0xff001c00, 0xff0000e7, 0xff081c00, 0xff0020e7, 0xff101c00, 0xff0041e7, 0xff181c00, 0xff0061e7,
|
|
|
|
+ 0xff211c00, 0xff0082e7, 0xff291c00, 0xff00a2e7, 0xff311c00, 0xff00c3e7, 0xff391c00, 0xff00e3e7,
|
|
|
|
+ 0xff421c00, 0xff0000ef, 0xff4a1c00, 0xff0020ef, 0xff521c00, 0xff0041ef, 0xff5a1c00, 0xff0061ef,
|
|
|
|
+ 0xff631c00, 0xff0082ef, 0xff6b1c00, 0xff00a2ef, 0xff731c00, 0xff00c3ef, 0xff7b1c00, 0xff00e3ef,
|
|
|
|
+ 0xff841c00, 0xff0000f7, 0xff8c1c00, 0xff0020f7, 0xff941c00, 0xff0041f7, 0xff9c1c00, 0xff0061f7,
|
|
|
|
+ 0xffa51c00, 0xff0082f7, 0xffad1c00, 0xff00a2f7, 0xffb51c00, 0xff00c3f7, 0xffbd1c00, 0xff00e3f7,
|
|
|
|
+ 0xffc61c00, 0xff0000ff, 0xffce1c00, 0xff0020ff, 0xffd61c00, 0xff0041ff, 0xffde1c00, 0xff0061ff,
|
|
|
|
+ 0xffe71c00, 0xff0082ff, 0xffef1c00, 0xff00a2ff, 0xfff71c00, 0xff00c3ff, 0xffff1c00, 0xff00e3ff
|
|
};
|
|
};
|
|
|
|
|
|
static void Blit_RGB565_ABGR8888(SDL_BlitInfo * info)
|
|
static void Blit_RGB565_ABGR8888(SDL_BlitInfo * info)
|
|
{
|
|
{
|
|
- Blit_RGB565_32(info, RGB565_ABGR8888_LUT_R, RGB565_ABGR8888_LUT_G, RGB565_ABGR8888_LUT_B, 0xFF000000);
|
|
|
|
|
|
+ Blit_RGB565_32(info, RGB565_ABGR8888_LUT);
|
|
}
|
|
}
|
|
|
|
|
|
// Special optimized blit for RGB565 -> RGBA8888
|
|
// Special optimized blit for RGB565 -> RGBA8888
|
|
|
|
|
|
-static const Uint32 RGB565_RGBA8888_LUT_R[32] = {
|
|
|
|
- 0x00000000, 0x08000000, 0x10000000, 0x18000000,
|
|
|
|
- 0x21000000, 0x29000000, 0x31000000, 0x39000000,
|
|
|
|
- 0x42000000, 0x4a000000, 0x52000000, 0x5a000000,
|
|
|
|
- 0x63000000, 0x6b000000, 0x73000000, 0x7b000000,
|
|
|
|
- 0x84000000, 0x8c000000, 0x94000000, 0x9c000000,
|
|
|
|
- 0xa5000000, 0xad000000, 0xb5000000, 0xbd000000,
|
|
|
|
- 0xc6000000, 0xce000000, 0xd6000000, 0xde000000,
|
|
|
|
- 0xe7000000, 0xef000000, 0xf7000000, 0xff000000
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-static const Uint32 RGB565_RGBA8888_LUT_G[64] = {
|
|
|
|
- 0x00000000, 0x00040000, 0x00080000, 0x000c0000,
|
|
|
|
- 0x00100000, 0x00140000, 0x00180000, 0x001c0000,
|
|
|
|
- 0x00200000, 0x00240000, 0x00280000, 0x002c0000,
|
|
|
|
- 0x00300000, 0x00340000, 0x00380000, 0x003c0000,
|
|
|
|
- 0x00410000, 0x00450000, 0x00490000, 0x004d0000,
|
|
|
|
- 0x00510000, 0x00550000, 0x00590000, 0x005d0000,
|
|
|
|
- 0x00610000, 0x00650000, 0x00690000, 0x006d0000,
|
|
|
|
- 0x00710000, 0x00750000, 0x00790000, 0x007d0000,
|
|
|
|
- 0x00820000, 0x00860000, 0x008a0000, 0x008e0000,
|
|
|
|
- 0x00920000, 0x00960000, 0x009a0000, 0x009e0000,
|
|
|
|
- 0x00a20000, 0x00a60000, 0x00aa0000, 0x00ae0000,
|
|
|
|
- 0x00b20000, 0x00b60000, 0x00ba0000, 0x00be0000,
|
|
|
|
- 0x00c30000, 0x00c70000, 0x00cb0000, 0x00cf0000,
|
|
|
|
- 0x00d30000, 0x00d70000, 0x00db0000, 0x00df0000,
|
|
|
|
- 0x00e30000, 0x00e70000, 0x00eb0000, 0x00ef0000,
|
|
|
|
- 0x00f30000, 0x00f70000, 0x00fb0000, 0x00ff0000
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-static const Uint32 RGB565_RGBA8888_LUT_B[32] = {
|
|
|
|
- 0x00000000, 0x00000800, 0x00001000, 0x00001800,
|
|
|
|
- 0x00002100, 0x00002900, 0x00003100, 0x00003900,
|
|
|
|
- 0x00004200, 0x00004a00, 0x00005200, 0x00005a00,
|
|
|
|
- 0x00006300, 0x00006b00, 0x00007300, 0x00007b00,
|
|
|
|
- 0x00008400, 0x00008c00, 0x00009400, 0x00009c00,
|
|
|
|
- 0x0000a500, 0x0000ad00, 0x0000b500, 0x0000bd00,
|
|
|
|
- 0x0000c600, 0x0000ce00, 0x0000d600, 0x0000de00,
|
|
|
|
- 0x0000e700, 0x0000ef00, 0x0000f700, 0x0000ff00
|
|
|
|
|
|
+static const Uint32 RGB565_RGBA8888_LUT[512] = {
|
|
|
|
+ 0x000000ff, 0x000000ff, 0x000008ff, 0x002000ff, 0x000010ff, 0x004100ff, 0x000018ff, 0x006100ff,
|
|
|
|
+ 0x000021ff, 0x008200ff, 0x000029ff, 0x00a200ff, 0x000031ff, 0x00c300ff, 0x000039ff, 0x00e300ff,
|
|
|
|
+ 0x000042ff, 0x080000ff, 0x00004aff, 0x082000ff, 0x000052ff, 0x084100ff, 0x00005aff, 0x086100ff,
|
|
|
|
+ 0x000063ff, 0x088200ff, 0x00006bff, 0x08a200ff, 0x000073ff, 0x08c300ff, 0x00007bff, 0x08e300ff,
|
|
|
|
+ 0x000084ff, 0x100000ff, 0x00008cff, 0x102000ff, 0x000094ff, 0x104100ff, 0x00009cff, 0x106100ff,
|
|
|
|
+ 0x0000a5ff, 0x108200ff, 0x0000adff, 0x10a200ff, 0x0000b5ff, 0x10c300ff, 0x0000bdff, 0x10e300ff,
|
|
|
|
+ 0x0000c6ff, 0x180000ff, 0x0000ceff, 0x182000ff, 0x0000d6ff, 0x184100ff, 0x0000deff, 0x186100ff,
|
|
|
|
+ 0x0000e7ff, 0x188200ff, 0x0000efff, 0x18a200ff, 0x0000f7ff, 0x18c300ff, 0x0000ffff, 0x18e300ff,
|
|
|
|
+ 0x000400ff, 0x210000ff, 0x000408ff, 0x212000ff, 0x000410ff, 0x214100ff, 0x000418ff, 0x216100ff,
|
|
|
|
+ 0x000421ff, 0x218200ff, 0x000429ff, 0x21a200ff, 0x000431ff, 0x21c300ff, 0x000439ff, 0x21e300ff,
|
|
|
|
+ 0x000442ff, 0x290000ff, 0x00044aff, 0x292000ff, 0x000452ff, 0x294100ff, 0x00045aff, 0x296100ff,
|
|
|
|
+ 0x000463ff, 0x298200ff, 0x00046bff, 0x29a200ff, 0x000473ff, 0x29c300ff, 0x00047bff, 0x29e300ff,
|
|
|
|
+ 0x000484ff, 0x310000ff, 0x00048cff, 0x312000ff, 0x000494ff, 0x314100ff, 0x00049cff, 0x316100ff,
|
|
|
|
+ 0x0004a5ff, 0x318200ff, 0x0004adff, 0x31a200ff, 0x0004b5ff, 0x31c300ff, 0x0004bdff, 0x31e300ff,
|
|
|
|
+ 0x0004c6ff, 0x390000ff, 0x0004ceff, 0x392000ff, 0x0004d6ff, 0x394100ff, 0x0004deff, 0x396100ff,
|
|
|
|
+ 0x0004e7ff, 0x398200ff, 0x0004efff, 0x39a200ff, 0x0004f7ff, 0x39c300ff, 0x0004ffff, 0x39e300ff,
|
|
|
|
+ 0x000800ff, 0x420000ff, 0x000808ff, 0x422000ff, 0x000810ff, 0x424100ff, 0x000818ff, 0x426100ff,
|
|
|
|
+ 0x000821ff, 0x428200ff, 0x000829ff, 0x42a200ff, 0x000831ff, 0x42c300ff, 0x000839ff, 0x42e300ff,
|
|
|
|
+ 0x000842ff, 0x4a0000ff, 0x00084aff, 0x4a2000ff, 0x000852ff, 0x4a4100ff, 0x00085aff, 0x4a6100ff,
|
|
|
|
+ 0x000863ff, 0x4a8200ff, 0x00086bff, 0x4aa200ff, 0x000873ff, 0x4ac300ff, 0x00087bff, 0x4ae300ff,
|
|
|
|
+ 0x000884ff, 0x520000ff, 0x00088cff, 0x522000ff, 0x000894ff, 0x524100ff, 0x00089cff, 0x526100ff,
|
|
|
|
+ 0x0008a5ff, 0x528200ff, 0x0008adff, 0x52a200ff, 0x0008b5ff, 0x52c300ff, 0x0008bdff, 0x52e300ff,
|
|
|
|
+ 0x0008c6ff, 0x5a0000ff, 0x0008ceff, 0x5a2000ff, 0x0008d6ff, 0x5a4100ff, 0x0008deff, 0x5a6100ff,
|
|
|
|
+ 0x0008e7ff, 0x5a8200ff, 0x0008efff, 0x5aa200ff, 0x0008f7ff, 0x5ac300ff, 0x0008ffff, 0x5ae300ff,
|
|
|
|
+ 0x000c00ff, 0x630000ff, 0x000c08ff, 0x632000ff, 0x000c10ff, 0x634100ff, 0x000c18ff, 0x636100ff,
|
|
|
|
+ 0x000c21ff, 0x638200ff, 0x000c29ff, 0x63a200ff, 0x000c31ff, 0x63c300ff, 0x000c39ff, 0x63e300ff,
|
|
|
|
+ 0x000c42ff, 0x6b0000ff, 0x000c4aff, 0x6b2000ff, 0x000c52ff, 0x6b4100ff, 0x000c5aff, 0x6b6100ff,
|
|
|
|
+ 0x000c63ff, 0x6b8200ff, 0x000c6bff, 0x6ba200ff, 0x000c73ff, 0x6bc300ff, 0x000c7bff, 0x6be300ff,
|
|
|
|
+ 0x000c84ff, 0x730000ff, 0x000c8cff, 0x732000ff, 0x000c94ff, 0x734100ff, 0x000c9cff, 0x736100ff,
|
|
|
|
+ 0x000ca5ff, 0x738200ff, 0x000cadff, 0x73a200ff, 0x000cb5ff, 0x73c300ff, 0x000cbdff, 0x73e300ff,
|
|
|
|
+ 0x000cc6ff, 0x7b0000ff, 0x000cceff, 0x7b2000ff, 0x000cd6ff, 0x7b4100ff, 0x000cdeff, 0x7b6100ff,
|
|
|
|
+ 0x000ce7ff, 0x7b8200ff, 0x000cefff, 0x7ba200ff, 0x000cf7ff, 0x7bc300ff, 0x000cffff, 0x7be300ff,
|
|
|
|
+ 0x001000ff, 0x840000ff, 0x001008ff, 0x842000ff, 0x001010ff, 0x844100ff, 0x001018ff, 0x846100ff,
|
|
|
|
+ 0x001021ff, 0x848200ff, 0x001029ff, 0x84a200ff, 0x001031ff, 0x84c300ff, 0x001039ff, 0x84e300ff,
|
|
|
|
+ 0x001042ff, 0x8c0000ff, 0x00104aff, 0x8c2000ff, 0x001052ff, 0x8c4100ff, 0x00105aff, 0x8c6100ff,
|
|
|
|
+ 0x001063ff, 0x8c8200ff, 0x00106bff, 0x8ca200ff, 0x001073ff, 0x8cc300ff, 0x00107bff, 0x8ce300ff,
|
|
|
|
+ 0x001084ff, 0x940000ff, 0x00108cff, 0x942000ff, 0x001094ff, 0x944100ff, 0x00109cff, 0x946100ff,
|
|
|
|
+ 0x0010a5ff, 0x948200ff, 0x0010adff, 0x94a200ff, 0x0010b5ff, 0x94c300ff, 0x0010bdff, 0x94e300ff,
|
|
|
|
+ 0x0010c6ff, 0x9c0000ff, 0x0010ceff, 0x9c2000ff, 0x0010d6ff, 0x9c4100ff, 0x0010deff, 0x9c6100ff,
|
|
|
|
+ 0x0010e7ff, 0x9c8200ff, 0x0010efff, 0x9ca200ff, 0x0010f7ff, 0x9cc300ff, 0x0010ffff, 0x9ce300ff,
|
|
|
|
+ 0x001400ff, 0xa50000ff, 0x001408ff, 0xa52000ff, 0x001410ff, 0xa54100ff, 0x001418ff, 0xa56100ff,
|
|
|
|
+ 0x001421ff, 0xa58200ff, 0x001429ff, 0xa5a200ff, 0x001431ff, 0xa5c300ff, 0x001439ff, 0xa5e300ff,
|
|
|
|
+ 0x001442ff, 0xad0000ff, 0x00144aff, 0xad2000ff, 0x001452ff, 0xad4100ff, 0x00145aff, 0xad6100ff,
|
|
|
|
+ 0x001463ff, 0xad8200ff, 0x00146bff, 0xada200ff, 0x001473ff, 0xadc300ff, 0x00147bff, 0xade300ff,
|
|
|
|
+ 0x001484ff, 0xb50000ff, 0x00148cff, 0xb52000ff, 0x001494ff, 0xb54100ff, 0x00149cff, 0xb56100ff,
|
|
|
|
+ 0x0014a5ff, 0xb58200ff, 0x0014adff, 0xb5a200ff, 0x0014b5ff, 0xb5c300ff, 0x0014bdff, 0xb5e300ff,
|
|
|
|
+ 0x0014c6ff, 0xbd0000ff, 0x0014ceff, 0xbd2000ff, 0x0014d6ff, 0xbd4100ff, 0x0014deff, 0xbd6100ff,
|
|
|
|
+ 0x0014e7ff, 0xbd8200ff, 0x0014efff, 0xbda200ff, 0x0014f7ff, 0xbdc300ff, 0x0014ffff, 0xbde300ff,
|
|
|
|
+ 0x001800ff, 0xc60000ff, 0x001808ff, 0xc62000ff, 0x001810ff, 0xc64100ff, 0x001818ff, 0xc66100ff,
|
|
|
|
+ 0x001821ff, 0xc68200ff, 0x001829ff, 0xc6a200ff, 0x001831ff, 0xc6c300ff, 0x001839ff, 0xc6e300ff,
|
|
|
|
+ 0x001842ff, 0xce0000ff, 0x00184aff, 0xce2000ff, 0x001852ff, 0xce4100ff, 0x00185aff, 0xce6100ff,
|
|
|
|
+ 0x001863ff, 0xce8200ff, 0x00186bff, 0xcea200ff, 0x001873ff, 0xcec300ff, 0x00187bff, 0xcee300ff,
|
|
|
|
+ 0x001884ff, 0xd60000ff, 0x00188cff, 0xd62000ff, 0x001894ff, 0xd64100ff, 0x00189cff, 0xd66100ff,
|
|
|
|
+ 0x0018a5ff, 0xd68200ff, 0x0018adff, 0xd6a200ff, 0x0018b5ff, 0xd6c300ff, 0x0018bdff, 0xd6e300ff,
|
|
|
|
+ 0x0018c6ff, 0xde0000ff, 0x0018ceff, 0xde2000ff, 0x0018d6ff, 0xde4100ff, 0x0018deff, 0xde6100ff,
|
|
|
|
+ 0x0018e7ff, 0xde8200ff, 0x0018efff, 0xdea200ff, 0x0018f7ff, 0xdec300ff, 0x0018ffff, 0xdee300ff,
|
|
|
|
+ 0x001c00ff, 0xe70000ff, 0x001c08ff, 0xe72000ff, 0x001c10ff, 0xe74100ff, 0x001c18ff, 0xe76100ff,
|
|
|
|
+ 0x001c21ff, 0xe78200ff, 0x001c29ff, 0xe7a200ff, 0x001c31ff, 0xe7c300ff, 0x001c39ff, 0xe7e300ff,
|
|
|
|
+ 0x001c42ff, 0xef0000ff, 0x001c4aff, 0xef2000ff, 0x001c52ff, 0xef4100ff, 0x001c5aff, 0xef6100ff,
|
|
|
|
+ 0x001c63ff, 0xef8200ff, 0x001c6bff, 0xefa200ff, 0x001c73ff, 0xefc300ff, 0x001c7bff, 0xefe300ff,
|
|
|
|
+ 0x001c84ff, 0xf70000ff, 0x001c8cff, 0xf72000ff, 0x001c94ff, 0xf74100ff, 0x001c9cff, 0xf76100ff,
|
|
|
|
+ 0x001ca5ff, 0xf78200ff, 0x001cadff, 0xf7a200ff, 0x001cb5ff, 0xf7c300ff, 0x001cbdff, 0xf7e300ff,
|
|
|
|
+ 0x001cc6ff, 0xff0000ff, 0x001cceff, 0xff2000ff, 0x001cd6ff, 0xff4100ff, 0x001cdeff, 0xff6100ff,
|
|
|
|
+ 0x001ce7ff, 0xff8200ff, 0x001cefff, 0xffa200ff, 0x001cf7ff, 0xffc300ff, 0x001cffff, 0xffe300ff
|
|
};
|
|
};
|
|
|
|
|
|
static void Blit_RGB565_RGBA8888(SDL_BlitInfo * info)
|
|
static void Blit_RGB565_RGBA8888(SDL_BlitInfo * info)
|
|
{
|
|
{
|
|
- Blit_RGB565_32(info, RGB565_RGBA8888_LUT_R, RGB565_RGBA8888_LUT_G, RGB565_RGBA8888_LUT_B, 0x000000FF);
|
|
|
|
|
|
+ Blit_RGB565_32(info, RGB565_RGBA8888_LUT);
|
|
}
|
|
}
|
|
|
|
|
|
// Special optimized blit for RGB565 -> BGRA8888
|
|
// Special optimized blit for RGB565 -> BGRA8888
|
|
|
|
|
|
-static const Uint32 RGB565_BGRA8888_LUT_R[32] = {
|
|
|
|
- 0x00000000, 0x00000800, 0x00001000, 0x00001800,
|
|
|
|
- 0x00002100, 0x00002900, 0x00003100, 0x00003900,
|
|
|
|
- 0x00004200, 0x00004a00, 0x00005200, 0x00005a00,
|
|
|
|
- 0x00006300, 0x00006b00, 0x00007300, 0x00007b00,
|
|
|
|
- 0x00008400, 0x00008c00, 0x00009400, 0x00009c00,
|
|
|
|
- 0x0000a500, 0x0000ad00, 0x0000b500, 0x0000bd00,
|
|
|
|
- 0x0000c600, 0x0000ce00, 0x0000d600, 0x0000de00,
|
|
|
|
- 0x0000e700, 0x0000ef00, 0x0000f700, 0x0000ff00
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-static const Uint32 RGB565_BGRA8888_LUT_G[64] = {
|
|
|
|
- 0x00000000, 0x00040000, 0x00080000, 0x000c0000,
|
|
|
|
- 0x00100000, 0x00140000, 0x00180000, 0x001c0000,
|
|
|
|
- 0x00200000, 0x00240000, 0x00280000, 0x002c0000,
|
|
|
|
- 0x00300000, 0x00340000, 0x00380000, 0x003c0000,
|
|
|
|
- 0x00410000, 0x00450000, 0x00490000, 0x004d0000,
|
|
|
|
- 0x00510000, 0x00550000, 0x00590000, 0x005d0000,
|
|
|
|
- 0x00610000, 0x00650000, 0x00690000, 0x006d0000,
|
|
|
|
- 0x00710000, 0x00750000, 0x00790000, 0x007d0000,
|
|
|
|
- 0x00820000, 0x00860000, 0x008a0000, 0x008e0000,
|
|
|
|
- 0x00920000, 0x00960000, 0x009a0000, 0x009e0000,
|
|
|
|
- 0x00a20000, 0x00a60000, 0x00aa0000, 0x00ae0000,
|
|
|
|
- 0x00b20000, 0x00b60000, 0x00ba0000, 0x00be0000,
|
|
|
|
- 0x00c30000, 0x00c70000, 0x00cb0000, 0x00cf0000,
|
|
|
|
- 0x00d30000, 0x00d70000, 0x00db0000, 0x00df0000,
|
|
|
|
- 0x00e30000, 0x00e70000, 0x00eb0000, 0x00ef0000,
|
|
|
|
- 0x00f30000, 0x00f70000, 0x00fb0000, 0x00ff0000
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-static const Uint32 RGB565_BGRA8888_LUT_B[32] = {
|
|
|
|
- 0x00000000, 0x08000000, 0x10000000, 0x18000000,
|
|
|
|
- 0x21000000, 0x29000000, 0x31000000, 0x39000000,
|
|
|
|
- 0x42000000, 0x4a000000, 0x52000000, 0x5a000000,
|
|
|
|
- 0x63000000, 0x6b000000, 0x73000000, 0x7b000000,
|
|
|
|
- 0x84000000, 0x8c000000, 0x94000000, 0x9c000000,
|
|
|
|
- 0xa5000000, 0xad000000, 0xb5000000, 0xbd000000,
|
|
|
|
- 0xc6000000, 0xce000000, 0xd6000000, 0xde000000,
|
|
|
|
- 0xe7000000, 0xef000000, 0xf7000000, 0xff000000
|
|
|
|
|
|
+static const Uint32 RGB565_BGRA8888_LUT[512] = {
|
|
|
|
+ 0x000000ff, 0x000000ff, 0x080000ff, 0x002000ff, 0x100000ff, 0x004100ff, 0x180000ff, 0x006100ff,
|
|
|
|
+ 0x210000ff, 0x008200ff, 0x290000ff, 0x00a200ff, 0x310000ff, 0x00c300ff, 0x390000ff, 0x00e300ff,
|
|
|
|
+ 0x420000ff, 0x000008ff, 0x4a0000ff, 0x002008ff, 0x520000ff, 0x004108ff, 0x5a0000ff, 0x006108ff,
|
|
|
|
+ 0x630000ff, 0x008208ff, 0x6b0000ff, 0x00a208ff, 0x730000ff, 0x00c308ff, 0x7b0000ff, 0x00e308ff,
|
|
|
|
+ 0x840000ff, 0x000010ff, 0x8c0000ff, 0x002010ff, 0x940000ff, 0x004110ff, 0x9c0000ff, 0x006110ff,
|
|
|
|
+ 0xa50000ff, 0x008210ff, 0xad0000ff, 0x00a210ff, 0xb50000ff, 0x00c310ff, 0xbd0000ff, 0x00e310ff,
|
|
|
|
+ 0xc60000ff, 0x000018ff, 0xce0000ff, 0x002018ff, 0xd60000ff, 0x004118ff, 0xde0000ff, 0x006118ff,
|
|
|
|
+ 0xe70000ff, 0x008218ff, 0xef0000ff, 0x00a218ff, 0xf70000ff, 0x00c318ff, 0xff0000ff, 0x00e318ff,
|
|
|
|
+ 0x000400ff, 0x000021ff, 0x080400ff, 0x002021ff, 0x100400ff, 0x004121ff, 0x180400ff, 0x006121ff,
|
|
|
|
+ 0x210400ff, 0x008221ff, 0x290400ff, 0x00a221ff, 0x310400ff, 0x00c321ff, 0x390400ff, 0x00e321ff,
|
|
|
|
+ 0x420400ff, 0x000029ff, 0x4a0400ff, 0x002029ff, 0x520400ff, 0x004129ff, 0x5a0400ff, 0x006129ff,
|
|
|
|
+ 0x630400ff, 0x008229ff, 0x6b0400ff, 0x00a229ff, 0x730400ff, 0x00c329ff, 0x7b0400ff, 0x00e329ff,
|
|
|
|
+ 0x840400ff, 0x000031ff, 0x8c0400ff, 0x002031ff, 0x940400ff, 0x004131ff, 0x9c0400ff, 0x006131ff,
|
|
|
|
+ 0xa50400ff, 0x008231ff, 0xad0400ff, 0x00a231ff, 0xb50400ff, 0x00c331ff, 0xbd0400ff, 0x00e331ff,
|
|
|
|
+ 0xc60400ff, 0x000039ff, 0xce0400ff, 0x002039ff, 0xd60400ff, 0x004139ff, 0xde0400ff, 0x006139ff,
|
|
|
|
+ 0xe70400ff, 0x008239ff, 0xef0400ff, 0x00a239ff, 0xf70400ff, 0x00c339ff, 0xff0400ff, 0x00e339ff,
|
|
|
|
+ 0x000800ff, 0x000042ff, 0x080800ff, 0x002042ff, 0x100800ff, 0x004142ff, 0x180800ff, 0x006142ff,
|
|
|
|
+ 0x210800ff, 0x008242ff, 0x290800ff, 0x00a242ff, 0x310800ff, 0x00c342ff, 0x390800ff, 0x00e342ff,
|
|
|
|
+ 0x420800ff, 0x00004aff, 0x4a0800ff, 0x00204aff, 0x520800ff, 0x00414aff, 0x5a0800ff, 0x00614aff,
|
|
|
|
+ 0x630800ff, 0x00824aff, 0x6b0800ff, 0x00a24aff, 0x730800ff, 0x00c34aff, 0x7b0800ff, 0x00e34aff,
|
|
|
|
+ 0x840800ff, 0x000052ff, 0x8c0800ff, 0x002052ff, 0x940800ff, 0x004152ff, 0x9c0800ff, 0x006152ff,
|
|
|
|
+ 0xa50800ff, 0x008252ff, 0xad0800ff, 0x00a252ff, 0xb50800ff, 0x00c352ff, 0xbd0800ff, 0x00e352ff,
|
|
|
|
+ 0xc60800ff, 0x00005aff, 0xce0800ff, 0x00205aff, 0xd60800ff, 0x00415aff, 0xde0800ff, 0x00615aff,
|
|
|
|
+ 0xe70800ff, 0x00825aff, 0xef0800ff, 0x00a25aff, 0xf70800ff, 0x00c35aff, 0xff0800ff, 0x00e35aff,
|
|
|
|
+ 0x000c00ff, 0x000063ff, 0x080c00ff, 0x002063ff, 0x100c00ff, 0x004163ff, 0x180c00ff, 0x006163ff,
|
|
|
|
+ 0x210c00ff, 0x008263ff, 0x290c00ff, 0x00a263ff, 0x310c00ff, 0x00c363ff, 0x390c00ff, 0x00e363ff,
|
|
|
|
+ 0x420c00ff, 0x00006bff, 0x4a0c00ff, 0x00206bff, 0x520c00ff, 0x00416bff, 0x5a0c00ff, 0x00616bff,
|
|
|
|
+ 0x630c00ff, 0x00826bff, 0x6b0c00ff, 0x00a26bff, 0x730c00ff, 0x00c36bff, 0x7b0c00ff, 0x00e36bff,
|
|
|
|
+ 0x840c00ff, 0x000073ff, 0x8c0c00ff, 0x002073ff, 0x940c00ff, 0x004173ff, 0x9c0c00ff, 0x006173ff,
|
|
|
|
+ 0xa50c00ff, 0x008273ff, 0xad0c00ff, 0x00a273ff, 0xb50c00ff, 0x00c373ff, 0xbd0c00ff, 0x00e373ff,
|
|
|
|
+ 0xc60c00ff, 0x00007bff, 0xce0c00ff, 0x00207bff, 0xd60c00ff, 0x00417bff, 0xde0c00ff, 0x00617bff,
|
|
|
|
+ 0xe70c00ff, 0x00827bff, 0xef0c00ff, 0x00a27bff, 0xf70c00ff, 0x00c37bff, 0xff0c00ff, 0x00e37bff,
|
|
|
|
+ 0x001000ff, 0x000084ff, 0x081000ff, 0x002084ff, 0x101000ff, 0x004184ff, 0x181000ff, 0x006184ff,
|
|
|
|
+ 0x211000ff, 0x008284ff, 0x291000ff, 0x00a284ff, 0x311000ff, 0x00c384ff, 0x391000ff, 0x00e384ff,
|
|
|
|
+ 0x421000ff, 0x00008cff, 0x4a1000ff, 0x00208cff, 0x521000ff, 0x00418cff, 0x5a1000ff, 0x00618cff,
|
|
|
|
+ 0x631000ff, 0x00828cff, 0x6b1000ff, 0x00a28cff, 0x731000ff, 0x00c38cff, 0x7b1000ff, 0x00e38cff,
|
|
|
|
+ 0x841000ff, 0x000094ff, 0x8c1000ff, 0x002094ff, 0x941000ff, 0x004194ff, 0x9c1000ff, 0x006194ff,
|
|
|
|
+ 0xa51000ff, 0x008294ff, 0xad1000ff, 0x00a294ff, 0xb51000ff, 0x00c394ff, 0xbd1000ff, 0x00e394ff,
|
|
|
|
+ 0xc61000ff, 0x00009cff, 0xce1000ff, 0x00209cff, 0xd61000ff, 0x00419cff, 0xde1000ff, 0x00619cff,
|
|
|
|
+ 0xe71000ff, 0x00829cff, 0xef1000ff, 0x00a29cff, 0xf71000ff, 0x00c39cff, 0xff1000ff, 0x00e39cff,
|
|
|
|
+ 0x001400ff, 0x0000a5ff, 0x081400ff, 0x0020a5ff, 0x101400ff, 0x0041a5ff, 0x181400ff, 0x0061a5ff,
|
|
|
|
+ 0x211400ff, 0x0082a5ff, 0x291400ff, 0x00a2a5ff, 0x311400ff, 0x00c3a5ff, 0x391400ff, 0x00e3a5ff,
|
|
|
|
+ 0x421400ff, 0x0000adff, 0x4a1400ff, 0x0020adff, 0x521400ff, 0x0041adff, 0x5a1400ff, 0x0061adff,
|
|
|
|
+ 0x631400ff, 0x0082adff, 0x6b1400ff, 0x00a2adff, 0x731400ff, 0x00c3adff, 0x7b1400ff, 0x00e3adff,
|
|
|
|
+ 0x841400ff, 0x0000b5ff, 0x8c1400ff, 0x0020b5ff, 0x941400ff, 0x0041b5ff, 0x9c1400ff, 0x0061b5ff,
|
|
|
|
+ 0xa51400ff, 0x0082b5ff, 0xad1400ff, 0x00a2b5ff, 0xb51400ff, 0x00c3b5ff, 0xbd1400ff, 0x00e3b5ff,
|
|
|
|
+ 0xc61400ff, 0x0000bdff, 0xce1400ff, 0x0020bdff, 0xd61400ff, 0x0041bdff, 0xde1400ff, 0x0061bdff,
|
|
|
|
+ 0xe71400ff, 0x0082bdff, 0xef1400ff, 0x00a2bdff, 0xf71400ff, 0x00c3bdff, 0xff1400ff, 0x00e3bdff,
|
|
|
|
+ 0x001800ff, 0x0000c6ff, 0x081800ff, 0x0020c6ff, 0x101800ff, 0x0041c6ff, 0x181800ff, 0x0061c6ff,
|
|
|
|
+ 0x211800ff, 0x0082c6ff, 0x291800ff, 0x00a2c6ff, 0x311800ff, 0x00c3c6ff, 0x391800ff, 0x00e3c6ff,
|
|
|
|
+ 0x421800ff, 0x0000ceff, 0x4a1800ff, 0x0020ceff, 0x521800ff, 0x0041ceff, 0x5a1800ff, 0x0061ceff,
|
|
|
|
+ 0x631800ff, 0x0082ceff, 0x6b1800ff, 0x00a2ceff, 0x731800ff, 0x00c3ceff, 0x7b1800ff, 0x00e3ceff,
|
|
|
|
+ 0x841800ff, 0x0000d6ff, 0x8c1800ff, 0x0020d6ff, 0x941800ff, 0x0041d6ff, 0x9c1800ff, 0x0061d6ff,
|
|
|
|
+ 0xa51800ff, 0x0082d6ff, 0xad1800ff, 0x00a2d6ff, 0xb51800ff, 0x00c3d6ff, 0xbd1800ff, 0x00e3d6ff,
|
|
|
|
+ 0xc61800ff, 0x0000deff, 0xce1800ff, 0x0020deff, 0xd61800ff, 0x0041deff, 0xde1800ff, 0x0061deff,
|
|
|
|
+ 0xe71800ff, 0x0082deff, 0xef1800ff, 0x00a2deff, 0xf71800ff, 0x00c3deff, 0xff1800ff, 0x00e3deff,
|
|
|
|
+ 0x001c00ff, 0x0000e7ff, 0x081c00ff, 0x0020e7ff, 0x101c00ff, 0x0041e7ff, 0x181c00ff, 0x0061e7ff,
|
|
|
|
+ 0x211c00ff, 0x0082e7ff, 0x291c00ff, 0x00a2e7ff, 0x311c00ff, 0x00c3e7ff, 0x391c00ff, 0x00e3e7ff,
|
|
|
|
+ 0x421c00ff, 0x0000efff, 0x4a1c00ff, 0x0020efff, 0x521c00ff, 0x0041efff, 0x5a1c00ff, 0x0061efff,
|
|
|
|
+ 0x631c00ff, 0x0082efff, 0x6b1c00ff, 0x00a2efff, 0x731c00ff, 0x00c3efff, 0x7b1c00ff, 0x00e3efff,
|
|
|
|
+ 0x841c00ff, 0x0000f7ff, 0x8c1c00ff, 0x0020f7ff, 0x941c00ff, 0x0041f7ff, 0x9c1c00ff, 0x0061f7ff,
|
|
|
|
+ 0xa51c00ff, 0x0082f7ff, 0xad1c00ff, 0x00a2f7ff, 0xb51c00ff, 0x00c3f7ff, 0xbd1c00ff, 0x00e3f7ff,
|
|
|
|
+ 0xc61c00ff, 0x0000ffff, 0xce1c00ff, 0x0020ffff, 0xd61c00ff, 0x0041ffff, 0xde1c00ff, 0x0061ffff,
|
|
|
|
+ 0xe71c00ff, 0x0082ffff, 0xef1c00ff, 0x00a2ffff, 0xf71c00ff, 0x00c3ffff, 0xff1c00ff, 0x00e3ffff
|
|
};
|
|
};
|
|
|
|
|
|
static void Blit_RGB565_BGRA8888(SDL_BlitInfo * info)
|
|
static void Blit_RGB565_BGRA8888(SDL_BlitInfo * info)
|
|
{
|
|
{
|
|
- Blit_RGB565_32(info, RGB565_BGRA8888_LUT_R, RGB565_BGRA8888_LUT_G, RGB565_BGRA8888_LUT_B, 0x000000FF);
|
|
|
|
|
|
+ Blit_RGB565_32(info, RGB565_BGRA8888_LUT);
|
|
}
|
|
}
|
|
|
|
|
|
/* *INDENT-ON* */ // clang-format on
|
|
/* *INDENT-ON* */ // clang-format on
|