[Bf-blender-cvs] [922e77036b3] master: Fix Bullet build error with Clang 8 and Xcode 11

Brecht Van Lommel noreply at git.blender.org
Mon Aug 12 15:12:36 CEST 2019


Commit: 922e77036b3b3ea5b3304d1fa2055c526356258c
Author: Brecht Van Lommel
Date:   Mon Aug 12 15:08:07 2019 +0200
Branches: master
https://developer.blender.org/rB922e77036b3b3ea5b3304d1fa2055c526356258c

Fix Bullet build error with Clang 8 and Xcode 11

See D5366 and upstream:
https://github.com/bulletphysics/bullet3/commit/7f6c479ea6

===================================================================

M	extern/bullet2/patches/blender.patch
M	extern/bullet2/src/LinearMath/btVector3.h

===================================================================

diff --git a/extern/bullet2/patches/blender.patch b/extern/bullet2/patches/blender.patch
index cb3bf2ba38a..b4b24fdc220 100644
--- a/extern/bullet2/patches/blender.patch
+++ b/extern/bullet2/patches/blender.patch
@@ -1,3 +1,16 @@
+diff --git a/extern/bullet2/src/LinearMath/btVector3.h b/extern/bullet2/src/LinearMath/btVector3.h
+index 839b19c..3058195 100644
+--- a/extern/bullet2/src/LinearMath/btVector3.h
++++ b/extern/bullet2/src/LinearMath/btVector3.h
+@@ -39,7 +39,7 @@ subject to the following restrictions:
+ #endif
+ 
+ 
+-#define BT_SHUFFLE(x,y,z,w) ((w)<<6 | (z)<<4 | (y)<<2 | (x))
++#define BT_SHUFFLE(x,y,z,w) (((w) << 6 | (z) << 4 | (y) << 2 | (x)) & 0xff)
+ //#define bt_pshufd_ps( _a, _mask ) (__m128) _mm_shuffle_epi32((__m128i)(_a), (_mask) )
+ #define bt_pshufd_ps( _a, _mask ) _mm_shuffle_ps((_a), (_a), (_mask) )
+ #define bt_splat3_ps( _a, _i ) bt_pshufd_ps((_a), BT_SHUFFLE(_i,_i,_i, 3) )
 diff --git a/extern/bullet2/src/LinearMath/btScalar.h b/extern/bullet2/src/LinearMath/btScalar.h
 --- a/extern/bullet2/src/LinearMath/btScalar.h
 +++ b/extern/bullet2/src/LinearMath/btScalar.h
diff --git a/extern/bullet2/src/LinearMath/btVector3.h b/extern/bullet2/src/LinearMath/btVector3.h
index 839b19c1449..30581953d2e 100644
--- a/extern/bullet2/src/LinearMath/btVector3.h
+++ b/extern/bullet2/src/LinearMath/btVector3.h
@@ -39,7 +39,7 @@ subject to the following restrictions:
 #endif
 
 
-#define BT_SHUFFLE(x,y,z,w) ((w)<<6 | (z)<<4 | (y)<<2 | (x))
+#define BT_SHUFFLE(x,y,z,w) (((w) << 6 | (z) << 4 | (y) << 2 | (x)) & 0xff)
 //#define bt_pshufd_ps( _a, _mask ) (__m128) _mm_shuffle_epi32((__m128i)(_a), (_mask) )
 #define bt_pshufd_ps( _a, _mask ) _mm_shuffle_ps((_a), (_a), (_mask) )
 #define bt_splat3_ps( _a, _i ) bt_pshufd_ps((_a), BT_SHUFFLE(_i,_i,_i, 3) )



More information about the Bf-blender-cvs mailing list