diff options
Diffstat (limited to 'extern/bullet2/patches/blender.patch')
-rw-r--r-- | extern/bullet2/patches/blender.patch | 368 |
1 files changed, 0 insertions, 368 deletions
diff --git a/extern/bullet2/patches/blender.patch b/extern/bullet2/patches/blender.patch deleted file mode 100644 index b4b24fdc220..00000000000 --- a/extern/bullet2/patches/blender.patch +++ /dev/null @@ -1,368 +0,0 @@ -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 -@@ -16,6 +16,9 @@ - - #ifndef BT_SCALAR_H - #define BT_SCALAR_H -+#if defined(_MSC_VER) && defined(__clang__) /* clang supplies it's own overloads already */ -+#define BT_NO_SIMD_OPERATOR_OVERLOADS -+#endif - - #ifdef BT_MANAGED_CODE - //Aligned data types not supported in managed code -@@ -83,7 +86,7 @@ - #ifdef BT_USE_SSE - - #if (_MSC_FULL_VER >= 170050727)//Visual Studio 2012 can compile SSE4/FMA3 (but SSE4/FMA3 is not enabled by default) -- #define BT_ALLOW_SSE4 -+ //#define BT_ALLOW_SSE4 //disable this cause blender targets sse2 - #endif //(_MSC_FULL_VER >= 160040219) - - //BT_USE_SSE_IN_API is disabled under Windows by default, because -@@ -102,7 +105,7 @@ - #endif //__MINGW32__ - - #ifdef BT_DEBUG -- #ifdef _MSC_VER -+ #if defined(_MSC_VER) && !defined(__clang__) - #include <stdio.h> - #define btAssert(x) { if(!(x)){printf("Assert "__FILE__ ":%u ("#x")\n", __LINE__);__debugbreak(); }} - #else//_MSC_VER -diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.h b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.h -index be9eca6..ec40c96 100644 ---- a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.h -+++ b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.h -@@ -15,7 +15,7 @@ subject to the following restrictions: - - - /** -- * @mainpage Bullet Documentation -+ * @page Bullet Documentation - * - * @section intro_sec Introduction - * Bullet is a Collision Detection and Rigid Body Dynamics Library. The Library is Open Source and free for commercial use, under the ZLib license ( http://opensource.org/licenses/zlib-license.php ). -diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp -index 36dd043..57eb817 100644 ---- a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp -+++ b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp -@@ -579,14 +579,10 @@ btCollisionShape* btCollisionWorldImporter::convertCollisionShape( btCollisionS - btCompoundShapeData* compoundData = (btCompoundShapeData*)shapeData; - btCompoundShape* compoundShape = createCompoundShape(); - -- btCompoundShapeChildData* childShapeDataArray = &compoundData->m_childShapePtr[0]; -- - - btAlignedObjectArray<btCollisionShape*> childShapes; - for (int i=0;i<compoundData->m_numChildShapes;i++) - { -- btCompoundShapeChildData* ptr = &compoundData->m_childShapePtr[i]; -- - btCollisionShapeData* cd = compoundData->m_childShapePtr[i].m_childShape; - - btCollisionShape* childShape = convertCollisionShape(cd); -diff --git a/extern/bullet2/src/BulletDynamics/Character/btKinematicCharacterController.cpp b/extern/bullet2/src/BulletDynamics/Character/btKinematicCharacterController.cpp -index 57fc119..31faf1d 100644 ---- a/extern/bullet2/src/BulletDynamics/Character/btKinematicCharacterController.cpp -+++ b/extern/bullet2/src/BulletDynamics/Character/btKinematicCharacterController.cpp -@@ -29,14 +29,11 @@ subject to the following restrictions: - static btVector3 - getNormalizedVector(const btVector3& v) - { -- btScalar l = v.length(); -- btVector3 n = v; -- if (l < SIMD_EPSILON) { -- n.setValue(0,0,0); -- } else { -- n /= l; -- } -+ btVector3 n(0, 0, 0); - -+ if (v.length() > SIMD_EPSILON) { -+ n = v.normalized(); -+ } - return n; - } - -diff --git a/extern/bullet2/src/BulletDynamics/ConstraintSolver/btSolverBody.h b/extern/bullet2/src/BulletDynamics/ConstraintSolver/btSolverBody.h -index 27ccefe..8e4456e 100644 ---- a/extern/bullet2/src/BulletDynamics/ConstraintSolver/btSolverBody.h -+++ b/extern/bullet2/src/BulletDynamics/ConstraintSolver/btSolverBody.h -@@ -37,8 +37,13 @@ struct btSimdScalar - { - - } -- -+/* workaround for clang 3.4 ( == apple clang 5.1 ) issue, friction would fail with forced inlining */ -+#if (defined(__clang__) && defined(__apple_build_version__) && (__clang_major__ == 5) && (__clang_minor__ == 1)) \ -+|| (defined(__clang__) && !defined(__apple_build_version__) && (__clang_major__ == 3) && (__clang_minor__ == 4)) -+ inline __attribute__ ((noinline)) btSimdScalar(float fl) -+#else - SIMD_FORCE_INLINE btSimdScalar(float fl) -+#endif - :m_vec128 (_mm_set1_ps(fl)) - { - } -diff --git a/extern/bullet2/src/BulletDynamics/Featherstone/btMultiBody.cpp b/extern/bullet2/src/BulletDynamics/Featherstone/btMultiBody.cpp -index 5d62da7..fcd312e 100644 ---- a/extern/bullet2/src/BulletDynamics/Featherstone/btMultiBody.cpp -+++ b/extern/bullet2/src/BulletDynamics/Featherstone/btMultiBody.cpp -@@ -28,7 +28,6 @@ - #include "btMultiBodyJointFeedback.h" - #include "LinearMath/btTransformUtil.h" - #include "LinearMath/btSerializer.h" --#include "Bullet3Common/b3Logging.h" - // #define INCLUDE_GYRO_TERM - - ///todo: determine if we need these options. If so, make a proper API, otherwise delete those globals -@@ -1732,7 +1731,6 @@ void btMultiBody::goToSleep() - - void btMultiBody::checkMotionAndSleepIfRequired(btScalar timestep) - { -- int num_links = getNumLinks(); - extern bool gDisableDeactivation; - if (!m_canSleep || gDisableDeactivation) - { -diff --git a/extern/bullet2/src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp b/extern/bullet2/src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp -index 8a034b3..4f66b20 100644 ---- a/extern/bullet2/src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp -+++ b/extern/bullet2/src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp -@@ -809,7 +809,6 @@ static void applyJointFeedback(btMultiBodyJacobianData& data, const btMultiBodyS - } - #endif - --#include "Bullet3Common/b3Logging.h" - void btMultiBodyConstraintSolver::writeBackSolverBodyToMultiBody(btMultiBodySolverConstraint& c, btScalar deltaTime) - { - #if 1 -diff --git a/extern/bullet2/src/BulletSoftBody/btSparseSDF.h b/extern/bullet2/src/BulletSoftBody/btSparseSDF.h -index bcf0c79..8992ddb 100644 ---- a/extern/bullet2/src/BulletSoftBody/btSparseSDF.h -+++ b/extern/bullet2/src/BulletSoftBody/btSparseSDF.h -@@ -185,7 +185,6 @@ struct btSparseSdf - { - ++nprobes; - ++ncells; -- int sz = sizeof(Cell); - if (ncells>m_clampCells) - { - static int numResets=0; -diff --git a/extern/bullet2/src/LinearMath/btConvexHullComputer.cpp b/extern/bullet2/src/LinearMath/btConvexHullComputer.cpp -index d58ac95..3fd77df 100644 ---- a/extern/bullet2/src/LinearMath/btConvexHullComputer.cpp -+++ b/extern/bullet2/src/LinearMath/btConvexHullComputer.cpp -@@ -2665,6 +2665,7 @@ btScalar btConvexHullComputer::compute(const void* coords, bool doubleCoords, in - } - - vertices.resize(0); -+ original_vertex_index.resize(0); - edges.resize(0); - faces.resize(0); - -@@ -2675,6 +2676,7 @@ btScalar btConvexHullComputer::compute(const void* coords, bool doubleCoords, in - { - btConvexHullInternal::Vertex* v = oldVertices[copied]; - vertices.push_back(hull.getCoordinates(v)); -+ original_vertex_index.push_back(v->point.index); - btConvexHullInternal::Edge* firstEdge = v->edges; - if (firstEdge) - { -diff --git a/extern/bullet2/src/LinearMath/btConvexHullComputer.h b/extern/bullet2/src/LinearMath/btConvexHullComputer.h -index 7240ac4..6871ce8 100644 ---- a/extern/bullet2/src/LinearMath/btConvexHullComputer.h -+++ b/extern/bullet2/src/LinearMath/btConvexHullComputer.h -@@ -67,6 +67,7 @@ class btConvexHullComputer - - // Vertices of the output hull - btAlignedObjectArray<btVector3> vertices; -+ btAlignedObjectArray<int> original_vertex_index; - - // Edges of the output hull - btAlignedObjectArray<Edge> edges; -diff --git a/extern/bullet2/src/BulletCollision/CollisionShapes/btConvexHullShape.cpp b/extern/bullet2/src/BulletCollision/CollisionShapes/btConvexHullShape.cpp -index 0623e35..02ea503 100644 ---- a/extern/bullet2/src/BulletCollision/CollisionShapes/btConvexHullShape.cpp -+++ b/extern/bullet2/src/BulletCollision/CollisionShapes/btConvexHullShape.cpp -@@ -13,9 +13,9 @@ subject to the following restrictions: - 3. This notice may not be removed or altered from any source distribution. - */ - --#if defined (_WIN32) || defined (__i386__) --#define BT_USE_SSE_IN_API --#endif -+//#if defined (_WIN32) || defined (__i386__) -+//#define BT_USE_SSE_IN_API -+//#endif - - #include "btConvexHullShape.h" - #include "BulletCollision/CollisionShapes/btCollisionMargin.h" -diff --git a/extern/bullet2/src/BulletCollision/CollisionShapes/btConvexShape.cpp b/extern/bullet2/src/BulletCollision/CollisionShapes/btConvexShape.cpp -index b56d729..88018b4 100644 ---- a/extern/bullet2/src/BulletCollision/CollisionShapes/btConvexShape.cpp -+++ b/extern/bullet2/src/BulletCollision/CollisionShapes/btConvexShape.cpp -@@ -13,9 +13,9 @@ subject to the following restrictions: - 3. This notice may not be removed or altered from any source distribution. - */ - --#if defined (_WIN32) || defined (__i386__) --#define BT_USE_SSE_IN_API --#endif -+//#if defined (_WIN32) || defined (__i386__) -+//#define BT_USE_SSE_IN_API -+//#endif - - #include "btConvexShape.h" - #include "btTriangleShape.h" -diff --git a/extern/bullet2/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp b/extern/bullet2/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp -index a7362ea..6abfdff 100644 ---- a/extern/bullet2/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp -+++ b/extern/bullet2/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp -@@ -13,9 +13,9 @@ subject to the following restrictions: - 3. This notice may not be removed or altered from any source distribution. - */ - --#if defined (_WIN32) || defined (__i386__) --#define BT_USE_SSE_IN_API --#endif -+//#if defined (_WIN32) || defined (__i386__) -+//#define BT_USE_SSE_IN_API -+//#endif - - #include "btMultiSphereShape.h" - #include "BulletCollision/CollisionShapes/btCollisionMargin.h" -diff --git a/extern/bullet2/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp b/extern/bullet2/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp -index 4854f37..9095c59 100644 ---- a/extern/bullet2/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp -+++ b/extern/bullet2/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp -@@ -12,9 +12,9 @@ subject to the following restrictions: - 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - */ --#if defined (_WIN32) || defined (__i386__) --#define BT_USE_SSE_IN_API --#endif -+//#if defined (_WIN32) || defined (__i386__) -+//#define BT_USE_SSE_IN_API -+//#endif - - #include "BulletCollision/CollisionShapes/btPolyhedralConvexShape.h" - #include "btConvexPolyhedron.h" -diff --git a/extern/bullet2/src/LinearMath/btVector3.cpp b/extern/bullet2/src/LinearMath/btVector3.cpp -index e05bdcc..dbcf2b6 100644 ---- a/extern/bullet2/src/LinearMath/btVector3.cpp -+++ b/extern/bullet2/src/LinearMath/btVector3.cpp -@@ -15,9 +15,9 @@ - This source version has been altered. - */ - --#if defined (_WIN32) || defined (__i386__) --#define BT_USE_SSE_IN_API --#endif -+//#if defined (_WIN32) || defined (__i386__) -+//#define BT_USE_SSE_IN_API -+//#endif - - - #include "btVector3.h" -diff --git a/extern/bullet2/src/BulletDynamics/Dynamics/btRigidBody.cpp b/extern/bullet2/src/BulletDynamics/Dynamics/btRigidBody.cpp -index e0e8bc7..a788268 100644 ---- a/extern/bullet2/src/BulletDynamics/Dynamics/btRigidBody.cpp -+++ b/extern/bullet2/src/BulletDynamics/Dynamics/btRigidBody.cpp -@@ -425,50 +425,38 @@ void btRigidBody::setCenterOfMassTransform(const btTransform& xform) - } - - -+bool btRigidBody::checkCollideWithOverride(const btCollisionObject* co) const -+{ -+ const btRigidBody* otherRb = btRigidBody::upcast(co); -+ if (!otherRb) -+ return true; -+ -+ for (int i = 0; i < m_constraintRefs.size(); ++i) -+ { -+ const btTypedConstraint* c = m_constraintRefs[i]; -+ if (c->isEnabled()) -+ if (&c->getRigidBodyA() == otherRb || &c->getRigidBodyB() == otherRb) -+ return false; -+ } -+ -+ return true; -+} - - - - void btRigidBody::addConstraintRef(btTypedConstraint* c) - { -- ///disable collision with the 'other' body -- - int index = m_constraintRefs.findLinearSearch(c); -- //don't add constraints that are already referenced -- //btAssert(index == m_constraintRefs.size()); - if (index == m_constraintRefs.size()) -- { -- m_constraintRefs.push_back(c); -- btCollisionObject* colObjA = &c->getRigidBodyA(); -- btCollisionObject* colObjB = &c->getRigidBodyB(); -- if (colObjA == this) -- { -- colObjA->setIgnoreCollisionCheck(colObjB, true); -- } -- else -- { -- colObjB->setIgnoreCollisionCheck(colObjA, true); -- } -- } -+ m_constraintRefs.push_back(c); -+ -+ m_checkCollideWith = true; - } - - void btRigidBody::removeConstraintRef(btTypedConstraint* c) - { -- int index = m_constraintRefs.findLinearSearch(c); -- //don't remove constraints that are not referenced -- if(index < m_constraintRefs.size()) -- { -- m_constraintRefs.remove(c); -- btCollisionObject* colObjA = &c->getRigidBodyA(); -- btCollisionObject* colObjB = &c->getRigidBodyB(); -- if (colObjA == this) -- { -- colObjA->setIgnoreCollisionCheck(colObjB, false); -- } -- else -- { -- colObjB->setIgnoreCollisionCheck(colObjA, false); -- } -- } -+ m_constraintRefs.remove(c); -+ m_checkCollideWith = m_constraintRefs.size() > 0; - } - - int btRigidBody::calculateSerializeBufferSize() const -diff --git a/extern/bullet2/src/BulletDynamics/Dynamics/btRigidBody.h b/extern/bullet2/src/BulletDynamics/Dynamics/btRigidBody.h -index 1d177db..c2f8c5d 100644 ---- a/extern/bullet2/src/BulletDynamics/Dynamics/btRigidBody.h -+++ b/extern/bullet2/src/BulletDynamics/Dynamics/btRigidBody.h -@@ -509,6 +509,8 @@ public: - return (getBroadphaseProxy() != 0); - } - -+ virtual bool checkCollideWithOverride(const btCollisionObject* co) const; -+ - void addConstraintRef(btTypedConstraint* c); - void removeConstraintRef(btTypedConstraint* c); - |