src/video/SDL_blit_A.c
branchSDL-1.2
changeset 3973 5fbd763b1c88
parent 3931 d65b4a73c991
child 4159 a1b03ba2fcd0
equal deleted inserted replaced
3972:590d6f5da52b 3973:5fbd763b1c88
    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