Commit be8f728a authored by Ryan C. Gordon's avatar Ryan C. Gordon

Fixes for Visual C++ 6.0 with and without the Processor Pack.

--HG--
branch : SDL-1.2
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/branches/SDL-1.2%402371
parent 24ea7c9a
......@@ -46,6 +46,17 @@ typedef unsigned int uintptr_t;
#endif
#define _UINTPTR_T_DEFINED
#endif
/* Older Visual C++ headers don't have the Win64-compatible typedefs... */
#if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR)))
#define DWORD_PTR DWORD
#endif
#if ((_MSC_VER <= 1200) && (!defined(LONG_PTR)))
#define LONG_PTR LONG
#endif
#ifndef GWLP_HINSTANCE
#define GWLP_HINSTANCE GWL_HINSTANCE
#endif
#endif
#else /* !__GNUC__ && !_MSC_VER */
typedef signed char int8_t;
typedef unsigned char uint8_t;
......
......@@ -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 */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment