Browse Source

Enable BT_USE_SSE on Windows platform using MinGW compiler toolchain.

Yao Wei Tjong 姚伟忠 10 years ago
parent
commit
dabfcff14e
1 changed files with 7 additions and 6 deletions
  1. 7 6
      Source/ThirdParty/Bullet/src/LinearMath/btScalar.h

+ 7 - 6
Source/ThirdParty/Bullet/src/LinearMath/btScalar.h

@@ -41,9 +41,10 @@ inline int	btGetVersion()
 #endif
 
 
-#ifdef _WIN32
+// Urho3D - enable BT_USE_SSE for MinGW
+#if defined(_WIN32) && !defined(__MINGW32__)
 
-		#if defined(__MINGW32__) || defined(__CYGWIN__) || (defined (_MSC_VER) && _MSC_VER < 1300)
+		#if defined(__CYGWIN__) || (defined (_MSC_VER) && _MSC_VER < 1300)
 
 			#define SIMD_FORCE_INLINE inline
 			#define ATTRIBUTE_ALIGNED16(a) a
@@ -173,10 +174,10 @@ inline int	btGetVersion()
 		
 
 #else
-	//non-windows systems
+	//non-windows systems OR MinGW
 
-// Urho3D - allow to disable SSE/NEON and let Linux & Android platforms in besides Apple
-#if (!defined (_WIN32) && !defined (BT_USE_DOUBLE_PRECISION))
+// Urho3D - allow to disable SSE/NEON and let Linux, MinGW, & Android platforms in besides Apple
+#if (!defined (BT_USE_DOUBLE_PRECISION))
     #if defined (URHO3D_SSE) && (defined (__i386__) || defined (__x86_64__))
 		#define BT_USE_SIMD_VECTOR3
 		#define BT_USE_SSE
@@ -287,7 +288,7 @@ typedef __m128 btSimdFloat4;
 
 #if defined (BT_USE_SSE)
 //#if defined BT_USE_SSE_IN_API && defined (BT_USE_SSE)
-#ifdef _WIN32
+#if defined(_WIN32) && !defined(__MINGW32__)	// Urho3D - enable BT_USE_SSE for MinGW
 
 #ifndef BT_NAN
 static int btNanMask = 0x7F800001;