Mercurial > sdl-ios-xcode
diff src/video/SDL_blit_N.c @ 2247:93994f65c74c
Removed hermes since it's LGPL and not compatible with a commercial license.
Prepping for using MMX and SSE intrinsics instead of inline assembly.
.. except for memcpy equivalents which only get faster if they can
exploit the parallelism of loading into multiple SIMD registers. :)
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 15 Aug 2007 08:21:10 +0000 |
parents | 8055185ae4ed |
children | 340942cfda48 |
line wrap: on
line diff
--- a/src/video/SDL_blit_N.c Wed Aug 15 04:04:17 2007 +0000 +++ b/src/video/SDL_blit_N.c Wed Aug 15 08:21:10 2007 +0000 @@ -879,19 +879,6 @@ #define LO 1 #endif -#if SDL_HERMES_BLITTERS - -/* Heheheh, we coerce Hermes into using SDL blit information */ -#define X86_ASSEMBLER -#define HermesConverterInterface SDL_BlitInfo -#define HermesClearInterface void -#define STACKCALL - -#include "../hermes/HeadMMX.h" -#include "../hermes/HeadX86.h" - -#else - /* Special optimized blit for RGB 8-8-8 --> RGB 3-3-2 */ #define RGB888_RGB332(dst, src) { \ dst = (Uint8)((((src)&0x00E00000)>>16)| \ @@ -1250,8 +1237,6 @@ #endif /* USE_DUFFS_LOOP */ } -#endif /* SDL_HERMES_BLITTERS */ - /* Special optimized blit for RGB 5-6-5 --> 32-bit RGB surfaces */ #define RGB565_32(dst, src, map) (map[src[LO]*2] + map[src[HI]*2+1]) @@ -2357,17 +2342,7 @@ {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL}, }; static const struct blit_table normal_blit_2[] = { -#if SDL_HERMES_BLITTERS - {0x0000F800, 0x000007E0, 0x0000001F, 2, 0x0000001F, 0x000007E0, - 0x0000F800, - 0, ConvertX86p16_16BGR565, ConvertX86, NO_ALPHA}, - {0x0000F800, 0x000007E0, 0x0000001F, 2, 0x00007C00, 0x000003E0, - 0x0000001F, - 0, ConvertX86p16_16RGB555, ConvertX86, NO_ALPHA}, - {0x0000F800, 0x000007E0, 0x0000001F, 2, 0x0000001F, 0x000003E0, - 0x00007C00, - 0, ConvertX86p16_16BGR555, ConvertX86, NO_ALPHA}, -#elif SDL_ALTIVEC_BLITTERS +#if SDL_ALTIVEC_BLITTERS /* has-altivec */ {0x0000F800, 0x000007E0, 0x0000001F, 4, 0x00000000, 0x00000000, 0x00000000, @@ -2397,47 +2372,6 @@ {0, 0, 0, 0, 0, 0, 0, 0, NULL, BlitNtoN, 0} }; static const struct blit_table normal_blit_4[] = { -#if SDL_HERMES_BLITTERS - {0x00FF0000, 0x0000FF00, 0x000000FF, 2, 0x0000F800, 0x000007E0, - 0x0000001F, - 1, ConvertMMXpII32_16RGB565, ConvertMMX, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 2, 0x0000F800, 0x000007E0, - 0x0000001F, - 0, ConvertX86p32_16RGB565, ConvertX86, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 2, 0x0000001F, 0x000007E0, - 0x0000F800, - 1, ConvertMMXpII32_16BGR565, ConvertMMX, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 2, 0x0000001F, 0x000007E0, - 0x0000F800, - 0, ConvertX86p32_16BGR565, ConvertX86, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 2, 0x00007C00, 0x000003E0, - 0x0000001F, - 1, ConvertMMXpII32_16RGB555, ConvertMMX, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 2, 0x00007C00, 0x000003E0, - 0x0000001F, - 0, ConvertX86p32_16RGB555, ConvertX86, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 2, 0x0000001F, 0x000003E0, - 0x00007C00, - 1, ConvertMMXpII32_16BGR555, ConvertMMX, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 2, 0x0000001F, 0x000003E0, - 0x00007C00, - 0, ConvertX86p32_16BGR555, ConvertX86, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 3, 0x00FF0000, 0x0000FF00, - 0x000000FF, - 0, ConvertX86p32_24RGB888, ConvertX86, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 3, 0x000000FF, 0x0000FF00, - 0x00FF0000, - 0, ConvertX86p32_24BGR888, ConvertX86, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 4, 0x000000FF, 0x0000FF00, - 0x00FF0000, - 0, ConvertX86p32_32BGR888, ConvertX86, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 4, 0xFF000000, 0x00FF0000, - 0x0000FF00, - 0, ConvertX86p32_32RGBA888, ConvertX86, NO_ALPHA}, - {0x00FF0000, 0x0000FF00, 0x000000FF, 4, 0x0000FF00, 0x00FF0000, - 0xFF000000, - 0, ConvertX86p32_32BGRA888, ConvertX86, NO_ALPHA}, -#else #if SDL_ALTIVEC_BLITTERS /* has-altivec | dont-use-prefetch */ {0x00000000, 0x00000000, 0x00000000, 4, 0x00000000, 0x00000000, @@ -2460,7 +2394,6 @@ {0x00FF0000, 0x0000FF00, 0x000000FF, 2, 0x00007C00, 0x000003E0, 0x0000001F, 0, NULL, Blit_RGB888_RGB555, NO_ALPHA}, -#endif /* Default for 32-bit RGB source, used if no other blitter matches */ {0, 0, 0, 0, 0, 0, 0, 0, NULL, BlitNtoN, 0} }; @@ -2529,12 +2462,7 @@ if (surface->map->table) { blitfun = Blit_RGB888_index8_map; } else { -#if SDL_HERMES_BLITTERS - sdata->aux_data = ConvertX86p32_8RGB332; - blitfun = ConvertX86; -#else blitfun = Blit_RGB888_index8; -#endif } } else { blitfun = BlitNto1; @@ -2575,13 +2503,6 @@ } #ifdef DEBUG_ASM -#if SDL_HERMES_BLITTERS - if (blitfun == ConvertMMX) - fprintf(stderr, "Using mmx blit\n"); - else if (blitfun == ConvertX86) - fprintf(stderr, "Using asm blit\n"); - else -#endif if ((blitfun == BlitNtoN) || (blitfun == BlitNto1)) fprintf(stderr, "Using C blit\n"); else