22 #include "SDL_config.h" |
22 #include "SDL_config.h" |
23 |
23 |
24 #include "SDL_video.h" |
24 #include "SDL_video.h" |
25 #include "SDL_blit.h" |
25 #include "SDL_blit.h" |
26 |
26 |
|
27 /* |
|
28 In Visual C, VC6 has mmintrin.h in the "Processor Pack" add-on. |
|
29 Checking if _mm_free is #defined in malloc.h is is the only way to |
|
30 determine if the Processor Pack is installed, as far as I can tell. |
|
31 */ |
|
32 |
27 #if SDL_ASSEMBLY_ROUTINES |
33 #if SDL_ASSEMBLY_ROUTINES |
28 #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) |
34 # if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) |
29 #define MMX_ASMBLIT 1 |
35 # define MMX_ASMBLIT 1 |
30 #define GCC_ASMBLIT 1 |
36 # define GCC_ASMBLIT 1 |
31 #elif defined(_MSC_VER) && (_MSC_VER >= 1200) && defined(_M_IX86) |
37 # elif defined(_MSC_VER) && defined(_M_IX86) |
32 #define MMX_ASMBLIT 1 |
38 # if (_MSC_VER <= 1200) |
33 #define MSVC_ASMBLIT 1 |
39 # include <malloc.h> |
34 #endif |
40 # if defined(_mm_free) |
|
41 # define HAVE_MMINTRIN_H 1 |
|
42 # endif |
|
43 # else /* Visual Studio > VC6 always has mmintrin.h */ |
|
44 # define HAVE_MMINTRIN_H 1 |
|
45 # endif |
|
46 # if HAVE_MMINTRIN_H |
|
47 # define MMX_ASMBLIT 1 |
|
48 # define MSVC_ASMBLIT 1 |
|
49 # endif |
|
50 # endif |
35 #endif /* SDL_ASSEMBLY_ROUTINES */ |
51 #endif /* SDL_ASSEMBLY_ROUTINES */ |
36 |
52 |
37 /* Function to check the CPU flags */ |
53 /* Function to check the CPU flags */ |
38 #include "SDL_cpuinfo.h" |
54 #include "SDL_cpuinfo.h" |
39 #if GCC_ASMBLIT |
55 #if GCC_ASMBLIT |