diff src/video/SDL_blit_A.c @ 2261:c20476d7d7b3

Enabled 3DNow! intrinsic support
author Sam Lantinga <slouken@libsdl.org>
date Fri, 17 Aug 2007 03:22:03 +0000
parents 202ddfd1cfb1
children bee005ace1bf
line wrap: on
line diff
--- a/src/video/SDL_blit_A.c	Fri Aug 17 02:55:21 2007 +0000
+++ b/src/video/SDL_blit_A.c	Fri Aug 17 03:22:03 2007 +0000
@@ -1369,7 +1369,7 @@
     }
 }
 
-#ifdef __MMX__
+#ifdef __3dNOW__
 /* fast (as in MMX with prefetch) ARGB888->(A)RGB888 blending with pixel alpha */
 static void
 BlitRGBtoRGBPixelAlphaMMX3DNOW(SDL_BlitInfo * info)
@@ -2250,17 +2250,21 @@
             if (sf->Rmask == df->Rmask
                 && sf->Gmask == df->Gmask
                 && sf->Bmask == df->Bmask && sf->BytesPerPixel == 4) {
-#ifdef __MMX__
+#if defined(__MMX__) || defined(__3dNOW__)
                 if (sf->Rshift % 8 == 0
                     && sf->Gshift % 8 == 0
                     && sf->Bshift % 8 == 0
                     && sf->Ashift % 8 == 0 && sf->Aloss == 0) {
+#ifdef __3dNOW__
                     if (SDL_Has3DNow())
                         return BlitRGBtoRGBPixelAlphaMMX3DNOW;
+#endif
+#ifdef __MMX__
                     if (SDL_HasMMX())
                         return BlitRGBtoRGBPixelAlphaMMX;
+#endif
                 }
-#endif
+#endif /* __MMX__ || __3dNOW__ */
                 if (sf->Amask == 0xff000000) {
 #if SDL_ALTIVEC_BLITTERS
                     if (SDL_HasAltiVec())