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