|
@@ -1336,14 +1336,47 @@ static void Blit_RGB565_32(SDL_BlitInfo *info, const Uint32 *mapR, const Uint32
|
|
#endif // USE_DUFFS_LOOP
|
|
#endif // USE_DUFFS_LOOP
|
|
}
|
|
}
|
|
|
|
|
|
-#if 0
|
|
|
|
// This is the code used to generate the lookup tables below:
|
|
// This is the code used to generate the lookup tables below:
|
|
|
|
+#if 0
|
|
#include <SDL3/SDL.h>
|
|
#include <SDL3/SDL.h>
|
|
#include <stdio.h>
|
|
#include <stdio.h>
|
|
|
|
|
|
-static Uint32 Calculate(int v, int vmax, int shift)
|
|
|
|
|
|
+#define GENERATE_SHIFTS
|
|
|
|
+
|
|
|
|
+static Uint32 Calculate(int v, int bits, int vmax, int shift)
|
|
{
|
|
{
|
|
|
|
+#if defined(GENERATE_FLOOR)
|
|
|
|
+ return (Uint32)SDL_floor(v * 255.0f / vmax) << shift;
|
|
|
|
+#elif defined(GENERATE_ROUND)
|
|
return (Uint32)SDL_roundf(v * 255.0f / vmax) << shift;
|
|
return (Uint32)SDL_roundf(v * 255.0f / vmax) << shift;
|
|
|
|
+#elif defined(GENERATE_SHIFTS)
|
|
|
|
+ switch (bits) {
|
|
|
|
+ case 1:
|
|
|
|
+ v = (v << 7) | (v << 6) | (v << 5) | (v << 4) | (v << 3) | (v << 2) | (v << 1) | v;
|
|
|
|
+ break;
|
|
|
|
+ case 2:
|
|
|
|
+ v = (v << 6) | (v << 4) | (v << 2) | v;
|
|
|
|
+ break;
|
|
|
|
+ case 3:
|
|
|
|
+ v = (v << 5) | (v << 2) | (v >> 1);
|
|
|
|
+ break;
|
|
|
|
+ case 4:
|
|
|
|
+ v = (v << 4) | v;
|
|
|
|
+ break;
|
|
|
|
+ case 5:
|
|
|
|
+ v = (v << 3) | (v >> 2);
|
|
|
|
+ break;
|
|
|
|
+ case 6:
|
|
|
|
+ v = (v << 2) | (v >> 4);
|
|
|
|
+ break;
|
|
|
|
+ case 7:
|
|
|
|
+ v = (v << 1) | (v >> 6);
|
|
|
|
+ break;
|
|
|
|
+ case 8:
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ return (Uint32)v << shift;
|
|
|
|
+#endif
|
|
}
|
|
}
|
|
|
|
|
|
static void PrintLUT(const char *src, const char *dst, const char *channel, int bits, int shift)
|
|
static void PrintLUT(const char *src, const char *dst, const char *channel, int bits, int shift)
|
|
@@ -1355,7 +1388,7 @@ static void PrintLUT(const char *src, const char *dst, const char *channel, int
|
|
if ((v % 4) == 0) {
|
|
if ((v % 4) == 0) {
|
|
printf("\n ");
|
|
printf("\n ");
|
|
}
|
|
}
|
|
- printf("0x%.8x", Calculate(v, vmax, shift));
|
|
|
|
|
|
+ printf("0x%.8x", Calculate(v, bits, vmax, shift));
|
|
if (v < vmax) {
|
|
if (v < vmax) {
|
|
printf(",");
|
|
printf(",");
|
|
if (((v + 1) % 4) != 0) {
|
|
if (((v + 1) % 4) != 0) {
|
|
@@ -1393,21 +1426,21 @@ 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] = {
|
|
static const Uint32 RGB565_ARGB8888_LUT_R[32] = {
|
|
- 0x00000000, 0x00080000, 0x00100000, 0x00190000,
|
|
|
|
- 0x00210000, 0x00290000, 0x00310000, 0x003a0000,
|
|
|
|
|
|
+ 0x00000000, 0x00080000, 0x00100000, 0x00180000,
|
|
|
|
+ 0x00210000, 0x00290000, 0x00310000, 0x00390000,
|
|
0x00420000, 0x004a0000, 0x00520000, 0x005a0000,
|
|
0x00420000, 0x004a0000, 0x00520000, 0x005a0000,
|
|
0x00630000, 0x006b0000, 0x00730000, 0x007b0000,
|
|
0x00630000, 0x006b0000, 0x00730000, 0x007b0000,
|
|
0x00840000, 0x008c0000, 0x00940000, 0x009c0000,
|
|
0x00840000, 0x008c0000, 0x00940000, 0x009c0000,
|
|
0x00a50000, 0x00ad0000, 0x00b50000, 0x00bd0000,
|
|
0x00a50000, 0x00ad0000, 0x00b50000, 0x00bd0000,
|
|
- 0x00c50000, 0x00ce0000, 0x00d60000, 0x00de0000,
|
|
|
|
- 0x00e60000, 0x00ef0000, 0x00f70000, 0x00ff0000
|
|
|
|
|
|
+ 0x00c60000, 0x00ce0000, 0x00d60000, 0x00de0000,
|
|
|
|
+ 0x00e70000, 0x00ef0000, 0x00f70000, 0x00ff0000
|
|
};
|
|
};
|
|
|
|
|
|
static const Uint32 RGB565_ARGB8888_LUT_G[64] = {
|
|
static const Uint32 RGB565_ARGB8888_LUT_G[64] = {
|
|
0x00000000, 0x00000400, 0x00000800, 0x00000c00,
|
|
0x00000000, 0x00000400, 0x00000800, 0x00000c00,
|
|
0x00001000, 0x00001400, 0x00001800, 0x00001c00,
|
|
0x00001000, 0x00001400, 0x00001800, 0x00001c00,
|
|
- 0x00002000, 0x00002400, 0x00002800, 0x00002d00,
|
|
|
|
- 0x00003100, 0x00003500, 0x00003900, 0x00003d00,
|
|
|
|
|
|
+ 0x00002000, 0x00002400, 0x00002800, 0x00002c00,
|
|
|
|
+ 0x00003000, 0x00003400, 0x00003800, 0x00003c00,
|
|
0x00004100, 0x00004500, 0x00004900, 0x00004d00,
|
|
0x00004100, 0x00004500, 0x00004900, 0x00004d00,
|
|
0x00005100, 0x00005500, 0x00005900, 0x00005d00,
|
|
0x00005100, 0x00005500, 0x00005900, 0x00005d00,
|
|
0x00006100, 0x00006500, 0x00006900, 0x00006d00,
|
|
0x00006100, 0x00006500, 0x00006900, 0x00006d00,
|
|
@@ -1416,21 +1449,21 @@ static const Uint32 RGB565_ARGB8888_LUT_G[64] = {
|
|
0x00009200, 0x00009600, 0x00009a00, 0x00009e00,
|
|
0x00009200, 0x00009600, 0x00009a00, 0x00009e00,
|
|
0x0000a200, 0x0000a600, 0x0000aa00, 0x0000ae00,
|
|
0x0000a200, 0x0000a600, 0x0000aa00, 0x0000ae00,
|
|
0x0000b200, 0x0000b600, 0x0000ba00, 0x0000be00,
|
|
0x0000b200, 0x0000b600, 0x0000ba00, 0x0000be00,
|
|
- 0x0000c200, 0x0000c600, 0x0000ca00, 0x0000ce00,
|
|
|
|
- 0x0000d200, 0x0000d700, 0x0000db00, 0x0000df00,
|
|
|
|
|
|
+ 0x0000c300, 0x0000c700, 0x0000cb00, 0x0000cf00,
|
|
|
|
+ 0x0000d300, 0x0000d700, 0x0000db00, 0x0000df00,
|
|
0x0000e300, 0x0000e700, 0x0000eb00, 0x0000ef00,
|
|
0x0000e300, 0x0000e700, 0x0000eb00, 0x0000ef00,
|
|
0x0000f300, 0x0000f700, 0x0000fb00, 0x0000ff00
|
|
0x0000f300, 0x0000f700, 0x0000fb00, 0x0000ff00
|
|
};
|
|
};
|
|
|
|
|
|
static const Uint32 RGB565_ARGB8888_LUT_B[32] = {
|
|
static const Uint32 RGB565_ARGB8888_LUT_B[32] = {
|
|
- 0x00000000, 0x00000008, 0x00000010, 0x00000019,
|
|
|
|
- 0x00000021, 0x00000029, 0x00000031, 0x0000003a,
|
|
|
|
|
|
+ 0x00000000, 0x00000008, 0x00000010, 0x00000018,
|
|
|
|
+ 0x00000021, 0x00000029, 0x00000031, 0x00000039,
|
|
0x00000042, 0x0000004a, 0x00000052, 0x0000005a,
|
|
0x00000042, 0x0000004a, 0x00000052, 0x0000005a,
|
|
0x00000063, 0x0000006b, 0x00000073, 0x0000007b,
|
|
0x00000063, 0x0000006b, 0x00000073, 0x0000007b,
|
|
0x00000084, 0x0000008c, 0x00000094, 0x0000009c,
|
|
0x00000084, 0x0000008c, 0x00000094, 0x0000009c,
|
|
0x000000a5, 0x000000ad, 0x000000b5, 0x000000bd,
|
|
0x000000a5, 0x000000ad, 0x000000b5, 0x000000bd,
|
|
- 0x000000c5, 0x000000ce, 0x000000d6, 0x000000de,
|
|
|
|
- 0x000000e6, 0x000000ef, 0x000000f7, 0x000000ff
|
|
|
|
|
|
+ 0x000000c6, 0x000000ce, 0x000000d6, 0x000000de,
|
|
|
|
+ 0x000000e7, 0x000000ef, 0x000000f7, 0x000000ff
|
|
};
|
|
};
|
|
|
|
|
|
static void Blit_RGB565_ARGB8888(SDL_BlitInfo * info)
|
|
static void Blit_RGB565_ARGB8888(SDL_BlitInfo * info)
|
|
@@ -1441,21 +1474,21 @@ static void Blit_RGB565_ARGB8888(SDL_BlitInfo * info)
|
|
// Special optimized blit for RGB565 -> ABGR8888
|
|
// Special optimized blit for RGB565 -> ABGR8888
|
|
|
|
|
|
static const Uint32 RGB565_ABGR8888_LUT_R[32] = {
|
|
static const Uint32 RGB565_ABGR8888_LUT_R[32] = {
|
|
- 0x00000000, 0x00000008, 0x00000010, 0x00000019,
|
|
|
|
- 0x00000021, 0x00000029, 0x00000031, 0x0000003a,
|
|
|
|
|
|
+ 0x00000000, 0x00000008, 0x00000010, 0x00000018,
|
|
|
|
+ 0x00000021, 0x00000029, 0x00000031, 0x00000039,
|
|
0x00000042, 0x0000004a, 0x00000052, 0x0000005a,
|
|
0x00000042, 0x0000004a, 0x00000052, 0x0000005a,
|
|
0x00000063, 0x0000006b, 0x00000073, 0x0000007b,
|
|
0x00000063, 0x0000006b, 0x00000073, 0x0000007b,
|
|
0x00000084, 0x0000008c, 0x00000094, 0x0000009c,
|
|
0x00000084, 0x0000008c, 0x00000094, 0x0000009c,
|
|
0x000000a5, 0x000000ad, 0x000000b5, 0x000000bd,
|
|
0x000000a5, 0x000000ad, 0x000000b5, 0x000000bd,
|
|
- 0x000000c5, 0x000000ce, 0x000000d6, 0x000000de,
|
|
|
|
- 0x000000e6, 0x000000ef, 0x000000f7, 0x000000ff
|
|
|
|
|
|
+ 0x000000c6, 0x000000ce, 0x000000d6, 0x000000de,
|
|
|
|
+ 0x000000e7, 0x000000ef, 0x000000f7, 0x000000ff
|
|
};
|
|
};
|
|
|
|
|
|
static const Uint32 RGB565_ABGR8888_LUT_G[64] = {
|
|
static const Uint32 RGB565_ABGR8888_LUT_G[64] = {
|
|
0x00000000, 0x00000400, 0x00000800, 0x00000c00,
|
|
0x00000000, 0x00000400, 0x00000800, 0x00000c00,
|
|
0x00001000, 0x00001400, 0x00001800, 0x00001c00,
|
|
0x00001000, 0x00001400, 0x00001800, 0x00001c00,
|
|
- 0x00002000, 0x00002400, 0x00002800, 0x00002d00,
|
|
|
|
- 0x00003100, 0x00003500, 0x00003900, 0x00003d00,
|
|
|
|
|
|
+ 0x00002000, 0x00002400, 0x00002800, 0x00002c00,
|
|
|
|
+ 0x00003000, 0x00003400, 0x00003800, 0x00003c00,
|
|
0x00004100, 0x00004500, 0x00004900, 0x00004d00,
|
|
0x00004100, 0x00004500, 0x00004900, 0x00004d00,
|
|
0x00005100, 0x00005500, 0x00005900, 0x00005d00,
|
|
0x00005100, 0x00005500, 0x00005900, 0x00005d00,
|
|
0x00006100, 0x00006500, 0x00006900, 0x00006d00,
|
|
0x00006100, 0x00006500, 0x00006900, 0x00006d00,
|
|
@@ -1464,21 +1497,21 @@ static const Uint32 RGB565_ABGR8888_LUT_G[64] = {
|
|
0x00009200, 0x00009600, 0x00009a00, 0x00009e00,
|
|
0x00009200, 0x00009600, 0x00009a00, 0x00009e00,
|
|
0x0000a200, 0x0000a600, 0x0000aa00, 0x0000ae00,
|
|
0x0000a200, 0x0000a600, 0x0000aa00, 0x0000ae00,
|
|
0x0000b200, 0x0000b600, 0x0000ba00, 0x0000be00,
|
|
0x0000b200, 0x0000b600, 0x0000ba00, 0x0000be00,
|
|
- 0x0000c200, 0x0000c600, 0x0000ca00, 0x0000ce00,
|
|
|
|
- 0x0000d200, 0x0000d700, 0x0000db00, 0x0000df00,
|
|
|
|
|
|
+ 0x0000c300, 0x0000c700, 0x0000cb00, 0x0000cf00,
|
|
|
|
+ 0x0000d300, 0x0000d700, 0x0000db00, 0x0000df00,
|
|
0x0000e300, 0x0000e700, 0x0000eb00, 0x0000ef00,
|
|
0x0000e300, 0x0000e700, 0x0000eb00, 0x0000ef00,
|
|
0x0000f300, 0x0000f700, 0x0000fb00, 0x0000ff00
|
|
0x0000f300, 0x0000f700, 0x0000fb00, 0x0000ff00
|
|
};
|
|
};
|
|
|
|
|
|
static const Uint32 RGB565_ABGR8888_LUT_B[32] = {
|
|
static const Uint32 RGB565_ABGR8888_LUT_B[32] = {
|
|
- 0x00000000, 0x00080000, 0x00100000, 0x00190000,
|
|
|
|
- 0x00210000, 0x00290000, 0x00310000, 0x003a0000,
|
|
|
|
|
|
+ 0x00000000, 0x00080000, 0x00100000, 0x00180000,
|
|
|
|
+ 0x00210000, 0x00290000, 0x00310000, 0x00390000,
|
|
0x00420000, 0x004a0000, 0x00520000, 0x005a0000,
|
|
0x00420000, 0x004a0000, 0x00520000, 0x005a0000,
|
|
0x00630000, 0x006b0000, 0x00730000, 0x007b0000,
|
|
0x00630000, 0x006b0000, 0x00730000, 0x007b0000,
|
|
0x00840000, 0x008c0000, 0x00940000, 0x009c0000,
|
|
0x00840000, 0x008c0000, 0x00940000, 0x009c0000,
|
|
0x00a50000, 0x00ad0000, 0x00b50000, 0x00bd0000,
|
|
0x00a50000, 0x00ad0000, 0x00b50000, 0x00bd0000,
|
|
- 0x00c50000, 0x00ce0000, 0x00d60000, 0x00de0000,
|
|
|
|
- 0x00e60000, 0x00ef0000, 0x00f70000, 0x00ff0000
|
|
|
|
|
|
+ 0x00c60000, 0x00ce0000, 0x00d60000, 0x00de0000,
|
|
|
|
+ 0x00e70000, 0x00ef0000, 0x00f70000, 0x00ff0000
|
|
};
|
|
};
|
|
|
|
|
|
static void Blit_RGB565_ABGR8888(SDL_BlitInfo * info)
|
|
static void Blit_RGB565_ABGR8888(SDL_BlitInfo * info)
|
|
@@ -1489,21 +1522,21 @@ static void Blit_RGB565_ABGR8888(SDL_BlitInfo * info)
|
|
// Special optimized blit for RGB565 -> RGBA8888
|
|
// Special optimized blit for RGB565 -> RGBA8888
|
|
|
|
|
|
static const Uint32 RGB565_RGBA8888_LUT_R[32] = {
|
|
static const Uint32 RGB565_RGBA8888_LUT_R[32] = {
|
|
- 0x00000000, 0x08000000, 0x10000000, 0x19000000,
|
|
|
|
- 0x21000000, 0x29000000, 0x31000000, 0x3a000000,
|
|
|
|
|
|
+ 0x00000000, 0x08000000, 0x10000000, 0x18000000,
|
|
|
|
+ 0x21000000, 0x29000000, 0x31000000, 0x39000000,
|
|
0x42000000, 0x4a000000, 0x52000000, 0x5a000000,
|
|
0x42000000, 0x4a000000, 0x52000000, 0x5a000000,
|
|
0x63000000, 0x6b000000, 0x73000000, 0x7b000000,
|
|
0x63000000, 0x6b000000, 0x73000000, 0x7b000000,
|
|
0x84000000, 0x8c000000, 0x94000000, 0x9c000000,
|
|
0x84000000, 0x8c000000, 0x94000000, 0x9c000000,
|
|
0xa5000000, 0xad000000, 0xb5000000, 0xbd000000,
|
|
0xa5000000, 0xad000000, 0xb5000000, 0xbd000000,
|
|
- 0xc5000000, 0xce000000, 0xd6000000, 0xde000000,
|
|
|
|
- 0xe6000000, 0xef000000, 0xf7000000, 0xff000000
|
|
|
|
|
|
+ 0xc6000000, 0xce000000, 0xd6000000, 0xde000000,
|
|
|
|
+ 0xe7000000, 0xef000000, 0xf7000000, 0xff000000
|
|
};
|
|
};
|
|
|
|
|
|
static const Uint32 RGB565_RGBA8888_LUT_G[64] = {
|
|
static const Uint32 RGB565_RGBA8888_LUT_G[64] = {
|
|
0x00000000, 0x00040000, 0x00080000, 0x000c0000,
|
|
0x00000000, 0x00040000, 0x00080000, 0x000c0000,
|
|
0x00100000, 0x00140000, 0x00180000, 0x001c0000,
|
|
0x00100000, 0x00140000, 0x00180000, 0x001c0000,
|
|
- 0x00200000, 0x00240000, 0x00280000, 0x002d0000,
|
|
|
|
- 0x00310000, 0x00350000, 0x00390000, 0x003d0000,
|
|
|
|
|
|
+ 0x00200000, 0x00240000, 0x00280000, 0x002c0000,
|
|
|
|
+ 0x00300000, 0x00340000, 0x00380000, 0x003c0000,
|
|
0x00410000, 0x00450000, 0x00490000, 0x004d0000,
|
|
0x00410000, 0x00450000, 0x00490000, 0x004d0000,
|
|
0x00510000, 0x00550000, 0x00590000, 0x005d0000,
|
|
0x00510000, 0x00550000, 0x00590000, 0x005d0000,
|
|
0x00610000, 0x00650000, 0x00690000, 0x006d0000,
|
|
0x00610000, 0x00650000, 0x00690000, 0x006d0000,
|
|
@@ -1512,21 +1545,21 @@ static const Uint32 RGB565_RGBA8888_LUT_G[64] = {
|
|
0x00920000, 0x00960000, 0x009a0000, 0x009e0000,
|
|
0x00920000, 0x00960000, 0x009a0000, 0x009e0000,
|
|
0x00a20000, 0x00a60000, 0x00aa0000, 0x00ae0000,
|
|
0x00a20000, 0x00a60000, 0x00aa0000, 0x00ae0000,
|
|
0x00b20000, 0x00b60000, 0x00ba0000, 0x00be0000,
|
|
0x00b20000, 0x00b60000, 0x00ba0000, 0x00be0000,
|
|
- 0x00c20000, 0x00c60000, 0x00ca0000, 0x00ce0000,
|
|
|
|
- 0x00d20000, 0x00d70000, 0x00db0000, 0x00df0000,
|
|
|
|
|
|
+ 0x00c30000, 0x00c70000, 0x00cb0000, 0x00cf0000,
|
|
|
|
+ 0x00d30000, 0x00d70000, 0x00db0000, 0x00df0000,
|
|
0x00e30000, 0x00e70000, 0x00eb0000, 0x00ef0000,
|
|
0x00e30000, 0x00e70000, 0x00eb0000, 0x00ef0000,
|
|
0x00f30000, 0x00f70000, 0x00fb0000, 0x00ff0000
|
|
0x00f30000, 0x00f70000, 0x00fb0000, 0x00ff0000
|
|
};
|
|
};
|
|
|
|
|
|
static const Uint32 RGB565_RGBA8888_LUT_B[32] = {
|
|
static const Uint32 RGB565_RGBA8888_LUT_B[32] = {
|
|
- 0x00000000, 0x00000800, 0x00001000, 0x00001900,
|
|
|
|
- 0x00002100, 0x00002900, 0x00003100, 0x00003a00,
|
|
|
|
|
|
+ 0x00000000, 0x00000800, 0x00001000, 0x00001800,
|
|
|
|
+ 0x00002100, 0x00002900, 0x00003100, 0x00003900,
|
|
0x00004200, 0x00004a00, 0x00005200, 0x00005a00,
|
|
0x00004200, 0x00004a00, 0x00005200, 0x00005a00,
|
|
0x00006300, 0x00006b00, 0x00007300, 0x00007b00,
|
|
0x00006300, 0x00006b00, 0x00007300, 0x00007b00,
|
|
0x00008400, 0x00008c00, 0x00009400, 0x00009c00,
|
|
0x00008400, 0x00008c00, 0x00009400, 0x00009c00,
|
|
0x0000a500, 0x0000ad00, 0x0000b500, 0x0000bd00,
|
|
0x0000a500, 0x0000ad00, 0x0000b500, 0x0000bd00,
|
|
- 0x0000c500, 0x0000ce00, 0x0000d600, 0x0000de00,
|
|
|
|
- 0x0000e600, 0x0000ef00, 0x0000f700, 0x0000ff00
|
|
|
|
|
|
+ 0x0000c600, 0x0000ce00, 0x0000d600, 0x0000de00,
|
|
|
|
+ 0x0000e700, 0x0000ef00, 0x0000f700, 0x0000ff00
|
|
};
|
|
};
|
|
|
|
|
|
static void Blit_RGB565_RGBA8888(SDL_BlitInfo * info)
|
|
static void Blit_RGB565_RGBA8888(SDL_BlitInfo * info)
|
|
@@ -1537,21 +1570,21 @@ static void Blit_RGB565_RGBA8888(SDL_BlitInfo * info)
|
|
// Special optimized blit for RGB565 -> BGRA8888
|
|
// Special optimized blit for RGB565 -> BGRA8888
|
|
|
|
|
|
static const Uint32 RGB565_BGRA8888_LUT_R[32] = {
|
|
static const Uint32 RGB565_BGRA8888_LUT_R[32] = {
|
|
- 0x00000000, 0x00000800, 0x00001000, 0x00001900,
|
|
|
|
- 0x00002100, 0x00002900, 0x00003100, 0x00003a00,
|
|
|
|
|
|
+ 0x00000000, 0x00000800, 0x00001000, 0x00001800,
|
|
|
|
+ 0x00002100, 0x00002900, 0x00003100, 0x00003900,
|
|
0x00004200, 0x00004a00, 0x00005200, 0x00005a00,
|
|
0x00004200, 0x00004a00, 0x00005200, 0x00005a00,
|
|
0x00006300, 0x00006b00, 0x00007300, 0x00007b00,
|
|
0x00006300, 0x00006b00, 0x00007300, 0x00007b00,
|
|
0x00008400, 0x00008c00, 0x00009400, 0x00009c00,
|
|
0x00008400, 0x00008c00, 0x00009400, 0x00009c00,
|
|
0x0000a500, 0x0000ad00, 0x0000b500, 0x0000bd00,
|
|
0x0000a500, 0x0000ad00, 0x0000b500, 0x0000bd00,
|
|
- 0x0000c500, 0x0000ce00, 0x0000d600, 0x0000de00,
|
|
|
|
- 0x0000e600, 0x0000ef00, 0x0000f700, 0x0000ff00
|
|
|
|
|
|
+ 0x0000c600, 0x0000ce00, 0x0000d600, 0x0000de00,
|
|
|
|
+ 0x0000e700, 0x0000ef00, 0x0000f700, 0x0000ff00
|
|
};
|
|
};
|
|
|
|
|
|
static const Uint32 RGB565_BGRA8888_LUT_G[64] = {
|
|
static const Uint32 RGB565_BGRA8888_LUT_G[64] = {
|
|
0x00000000, 0x00040000, 0x00080000, 0x000c0000,
|
|
0x00000000, 0x00040000, 0x00080000, 0x000c0000,
|
|
0x00100000, 0x00140000, 0x00180000, 0x001c0000,
|
|
0x00100000, 0x00140000, 0x00180000, 0x001c0000,
|
|
- 0x00200000, 0x00240000, 0x00280000, 0x002d0000,
|
|
|
|
- 0x00310000, 0x00350000, 0x00390000, 0x003d0000,
|
|
|
|
|
|
+ 0x00200000, 0x00240000, 0x00280000, 0x002c0000,
|
|
|
|
+ 0x00300000, 0x00340000, 0x00380000, 0x003c0000,
|
|
0x00410000, 0x00450000, 0x00490000, 0x004d0000,
|
|
0x00410000, 0x00450000, 0x00490000, 0x004d0000,
|
|
0x00510000, 0x00550000, 0x00590000, 0x005d0000,
|
|
0x00510000, 0x00550000, 0x00590000, 0x005d0000,
|
|
0x00610000, 0x00650000, 0x00690000, 0x006d0000,
|
|
0x00610000, 0x00650000, 0x00690000, 0x006d0000,
|
|
@@ -1560,21 +1593,21 @@ static const Uint32 RGB565_BGRA8888_LUT_G[64] = {
|
|
0x00920000, 0x00960000, 0x009a0000, 0x009e0000,
|
|
0x00920000, 0x00960000, 0x009a0000, 0x009e0000,
|
|
0x00a20000, 0x00a60000, 0x00aa0000, 0x00ae0000,
|
|
0x00a20000, 0x00a60000, 0x00aa0000, 0x00ae0000,
|
|
0x00b20000, 0x00b60000, 0x00ba0000, 0x00be0000,
|
|
0x00b20000, 0x00b60000, 0x00ba0000, 0x00be0000,
|
|
- 0x00c20000, 0x00c60000, 0x00ca0000, 0x00ce0000,
|
|
|
|
- 0x00d20000, 0x00d70000, 0x00db0000, 0x00df0000,
|
|
|
|
|
|
+ 0x00c30000, 0x00c70000, 0x00cb0000, 0x00cf0000,
|
|
|
|
+ 0x00d30000, 0x00d70000, 0x00db0000, 0x00df0000,
|
|
0x00e30000, 0x00e70000, 0x00eb0000, 0x00ef0000,
|
|
0x00e30000, 0x00e70000, 0x00eb0000, 0x00ef0000,
|
|
0x00f30000, 0x00f70000, 0x00fb0000, 0x00ff0000
|
|
0x00f30000, 0x00f70000, 0x00fb0000, 0x00ff0000
|
|
};
|
|
};
|
|
|
|
|
|
static const Uint32 RGB565_BGRA8888_LUT_B[32] = {
|
|
static const Uint32 RGB565_BGRA8888_LUT_B[32] = {
|
|
- 0x00000000, 0x08000000, 0x10000000, 0x19000000,
|
|
|
|
- 0x21000000, 0x29000000, 0x31000000, 0x3a000000,
|
|
|
|
|
|
+ 0x00000000, 0x08000000, 0x10000000, 0x18000000,
|
|
|
|
+ 0x21000000, 0x29000000, 0x31000000, 0x39000000,
|
|
0x42000000, 0x4a000000, 0x52000000, 0x5a000000,
|
|
0x42000000, 0x4a000000, 0x52000000, 0x5a000000,
|
|
0x63000000, 0x6b000000, 0x73000000, 0x7b000000,
|
|
0x63000000, 0x6b000000, 0x73000000, 0x7b000000,
|
|
0x84000000, 0x8c000000, 0x94000000, 0x9c000000,
|
|
0x84000000, 0x8c000000, 0x94000000, 0x9c000000,
|
|
0xa5000000, 0xad000000, 0xb5000000, 0xbd000000,
|
|
0xa5000000, 0xad000000, 0xb5000000, 0xbd000000,
|
|
- 0xc5000000, 0xce000000, 0xd6000000, 0xde000000,
|
|
|
|
- 0xe6000000, 0xef000000, 0xf7000000, 0xff000000
|
|
|
|
|
|
+ 0xc6000000, 0xce000000, 0xd6000000, 0xde000000,
|
|
|
|
+ 0xe7000000, 0xef000000, 0xf7000000, 0xff000000
|
|
};
|
|
};
|
|
|
|
|
|
static void Blit_RGB565_BGRA8888(SDL_BlitInfo * info)
|
|
static void Blit_RGB565_BGRA8888(SDL_BlitInfo * info)
|