Mercurial > sdl-ios-xcode
diff src/video/SDL_blit_A.c @ 3973:5fbd763b1c88 SDL-1.2
Fixes for Visual C++ 6.0 with and without the Processor Pack.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Thu, 21 Jun 2007 18:20:59 +0000 |
parents | d65b4a73c991 |
children | a1b03ba2fcd0 |
line wrap: on
line diff
--- a/src/video/SDL_blit_A.c Sat Jun 16 05:51:51 2007 +0000 +++ b/src/video/SDL_blit_A.c Thu Jun 21 18:20:59 2007 +0000 @@ -24,14 +24,30 @@ #include "SDL_video.h" #include "SDL_blit.h" +/* + In Visual C, VC6 has mmintrin.h in the "Processor Pack" add-on. + Checking if _mm_free is #defined in malloc.h is is the only way to + determine if the Processor Pack is installed, as far as I can tell. +*/ + #if SDL_ASSEMBLY_ROUTINES -#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) -#define MMX_ASMBLIT 1 -#define GCC_ASMBLIT 1 -#elif defined(_MSC_VER) && (_MSC_VER >= 1200) && defined(_M_IX86) -#define MMX_ASMBLIT 1 -#define MSVC_ASMBLIT 1 -#endif +# if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) +# define MMX_ASMBLIT 1 +# define GCC_ASMBLIT 1 +# elif defined(_MSC_VER) && defined(_M_IX86) +# if (_MSC_VER <= 1200) +# include <malloc.h> +# if defined(_mm_free) +# define HAVE_MMINTRIN_H 1 +# endif +# else /* Visual Studio > VC6 always has mmintrin.h */ +# define HAVE_MMINTRIN_H 1 +# endif +# if HAVE_MMINTRIN_H +# define MMX_ASMBLIT 1 +# define MSVC_ASMBLIT 1 +# endif +# endif #endif /* SDL_ASSEMBLY_ROUTINES */ /* Function to check the CPU flags */