Mac OS X/x86 won't build the MMX/YUV inline assembly without optimizations SDL-1.2
authorRyan C. Gordon <icculus@icculus.org>
Sat, 14 Jul 2007 07:26:34 +0000
branchSDL-1.2
changeset 4064 940fddb81bea
parent 4063 d634945c6172
child 4065 0c76e6d1c3d6
Mac OS X/x86 won't build the MMX/YUV inline assembly without optimizations enabled (not enough registers), so for now, we only build it if we see the __OPTIMIZE__ #define, which GCC provides when you build at -O1 or higher.
src/video/SDL_yuv_mmx.c
src/video/SDL_yuv_sw.c
--- a/src/video/SDL_yuv_mmx.c	Sat Jul 14 07:06:46 2007 +0000
+++ b/src/video/SDL_yuv_mmx.c	Sat Jul 14 07:26:34 2007 +0000
@@ -21,7 +21,7 @@
 */
 #include "SDL_config.h"
 
-#if (__GNUC__ > 2) && defined(__i386__) && SDL_ASSEMBLY_ROUTINES
+#if (__GNUC__ > 2) && defined(__i386__) && __OPTIMIZE__ && SDL_ASSEMBLY_ROUTINES
 
 #include "SDL_stdinc.h"
 
--- a/src/video/SDL_yuv_sw.c	Sat Jul 14 07:06:46 2007 +0000
+++ b/src/video/SDL_yuv_sw.c	Sat Jul 14 07:26:34 2007 +0000
@@ -121,7 +121,7 @@
 
 /* The colorspace conversion functions */
 
-#if (__GNUC__ > 2) && defined(__i386__) && SDL_ASSEMBLY_ROUTINES
+#if (__GNUC__ > 2) && defined(__i386__) && __OPTIMIZE__ && SDL_ASSEMBLY_ROUTINES
 extern void Color565DitherYV12MMX1X( int *colortab, Uint32 *rgb_2_pix,
                                      unsigned char *lum, unsigned char *cr,
                                      unsigned char *cb, unsigned char *out,
@@ -1061,7 +1061,7 @@
 	    case SDL_YV12_OVERLAY:
 	    case SDL_IYUV_OVERLAY:
 		if ( display->format->BytesPerPixel == 2 ) {
-#if (__GNUC__ > 2) && defined(__i386__) && SDL_ASSEMBLY_ROUTINES
+#if (__GNUC__ > 2) && defined(__i386__) && __OPTIMIZE__ && SDL_ASSEMBLY_ROUTINES
 			/* inline assembly functions */
 			if ( SDL_HasMMX() && (Rmask == 0xF800) &&
 			                     (Gmask == 0x07E0) &&
@@ -1083,7 +1083,7 @@
 			swdata->Display2X = Color24DitherYV12Mod2X;
 		}
 		if ( display->format->BytesPerPixel == 4 ) {
-#if (__GNUC__ > 2) && defined(__i386__) && SDL_ASSEMBLY_ROUTINES
+#if (__GNUC__ > 2) && defined(__i386__) && __OPTIMIZE__ && SDL_ASSEMBLY_ROUTINES
 			/* inline assembly functions */
 			if ( SDL_HasMMX() && (Rmask == 0x00FF0000) &&
 			                     (Gmask == 0x0000FF00) &&