diff --git a/Demos/Gpu2dDemo/BasicDemo.cpp b/Demos/Gpu2dDemo/BasicDemo.cpp index 5c5dca2f8..8a16cdc67 100644 --- a/Demos/Gpu2dDemo/BasicDemo.cpp +++ b/Demos/Gpu2dDemo/BasicDemo.cpp @@ -19,6 +19,7 @@ subject to the following restrictions: #include "BulletMultiThreaded/btGpuUtilsSharedCode.h" + #include "BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h" #include "btGpuDemoPairCache.h" diff --git a/Demos/Gpu3dDemo/BasicDemo3d.cpp b/Demos/Gpu3dDemo/BasicDemo3d.cpp index 7ad7d2150..13952c43c 100644 --- a/Demos/Gpu3dDemo/BasicDemo3d.cpp +++ b/Demos/Gpu3dDemo/BasicDemo3d.cpp @@ -13,9 +13,6 @@ subject to the following restrictions: 3. This notice may not be removed or altered from any source distribution. */ -#include "BulletMultiThreaded/btGpuDefines.h" -#include "BulletMultiThreaded/btGpuUtilsSharedDefs.h" -#include "BulletMultiThreaded/btGpuUtilsSharedCode.h" #include "BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h" #include "BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.h" diff --git a/Demos/Gpu3dDemo/CMakeLists.txt b/Demos/Gpu3dDemo/CMakeLists.txt index 2b3093d43..50656031c 100644 --- a/Demos/Gpu3dDemo/CMakeLists.txt +++ b/Demos/Gpu3dDemo/CMakeLists.txt @@ -16,7 +16,7 @@ ${BULLET_PHYSICS_SOURCE_DIR}/src ${BULLET_PHYSICS_SOURCE_DIR}/Demos/OpenGL } ) LINK_LIBRARIES( -OpenGLSupport BulletDynamics BulletCollision LinearMath ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} +OpenGLSupport BulletMultiThreaded BulletDynamics BulletCollision LinearMath ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ) ADD_EXECUTABLE(AppGpu3dDemo diff --git a/config.h.in b/config.h.in index 6c30c429a..2f10be9b4 100644 --- a/config.h.in +++ b/config.h.in @@ -60,6 +60,10 @@ /* Define to 1 if you have the header file. */ #undef HAVE_WINDOWS_H +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR + /* Name of package */ #undef PACKAGE diff --git a/src/BulletCollision/BroadphaseCollision/btDbvt.h b/src/BulletCollision/BroadphaseCollision/btDbvt.h index 412241a46..d733fedf2 100644 --- a/src/BulletCollision/BroadphaseCollision/btDbvt.h +++ b/src/BulletCollision/BroadphaseCollision/btDbvt.h @@ -57,7 +57,7 @@ subject to the following restrictions: // Specific methods implementation //SSE gives errors on a MSVC 7.1 -#ifdef BT_USE_SSE +#if defined (BT_USE_SSE) && defined (WIN32) #define DBVT_SELECT_IMPL DBVT_IMPL_SSE #define DBVT_MERGE_IMPL DBVT_IMPL_SSE #define DBVT_INT0_IMPL DBVT_IMPL_SSE diff --git a/src/BulletMultiThreaded/btGpu3DGridBroadphase.cpp b/src/BulletMultiThreaded/btGpu3DGridBroadphase.cpp index 69bf94cc0..ea0f7e980 100644 --- a/src/BulletMultiThreaded/btGpu3DGridBroadphase.cpp +++ b/src/BulletMultiThreaded/btGpu3DGridBroadphase.cpp @@ -13,6 +13,11 @@ subject to the following restrictions: 3. This notice may not be removed or altered from any source distribution. */ +///The 3 following lines include the CPU implementation of the kernels, keep them in this order. +#include "BulletMultiThreaded/btGpuDefines.h" +#include "BulletMultiThreaded/btGpuUtilsSharedDefs.h" +#include "BulletMultiThreaded/btGpuUtilsSharedCode.h" + #include "LinearMath/btAlignedAllocator.h" diff --git a/src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp b/src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp index 47f072e6d..8f3656829 100644 --- a/src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp +++ b/src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp @@ -102,13 +102,13 @@ void btSoftRigidDynamicsWorld::solveSoftBodiesConstraints() } } -void btSoftRigidDynamicsWorld::addSoftBody(btSoftBody* body) +void btSoftRigidDynamicsWorld::addSoftBody(btSoftBody* body,short int collisionFilterGroup,short int collisionFilterMask) { m_softBodies.push_back(body); btCollisionWorld::addCollisionObject(body, - btBroadphaseProxy::DefaultFilter, - btBroadphaseProxy::AllFilter); + collisionFilterGroup, + collisionFilterMask); } diff --git a/src/BulletSoftBody/btSoftRigidDynamicsWorld.h b/src/BulletSoftBody/btSoftRigidDynamicsWorld.h index 2cb9d712e..6b7ed5dea 100644 --- a/src/BulletSoftBody/btSoftRigidDynamicsWorld.h +++ b/src/BulletSoftBody/btSoftRigidDynamicsWorld.h @@ -50,7 +50,7 @@ public: virtual void debugDrawWorld(); - void addSoftBody(btSoftBody* body); + void addSoftBody(btSoftBody* body,short int collisionFilterGroup=btBroadphaseProxy::DefaultFilter,short int collisionFilterMask=btBroadphaseProxy::AllFilter); void removeSoftBody(btSoftBody* body); diff --git a/src/LinearMath/btScalar.h b/src/LinearMath/btScalar.h index a6d66d61e..36f54b369 100644 --- a/src/LinearMath/btScalar.h +++ b/src/LinearMath/btScalar.h @@ -128,6 +128,31 @@ inline int btGetVersion() #else //non-windows systems +#if (defined (__APPLE__) && defined (__i386__)) + #define BT_USE_SSE + #include + + #define SIMD_FORCE_INLINE inline +///@todo: check out alignment methods for other platforms/compilers + #define ATTRIBUTE_ALIGNED16(a) a __attribute__ ((aligned (16))) + #define ATTRIBUTE_ALIGNED128(a) a __attribute__ ((aligned (128))) + #ifndef assert + #include + #endif + + #if defined(DEBUG) || defined (_DEBUG) + #define btAssert assert + #else + #define btAssert(x) + #endif + + //btFullAssert is optional, slows down a lot + #define btFullAssert(x) + #define btLikely(_c) _c + #define btUnlikely(_c) _c + +#else + #define SIMD_FORCE_INLINE inline ///@todo: check out alignment methods for other platforms/compilers ///#define ATTRIBUTE_ALIGNED16(a) a __attribute__ ((aligned (16))) @@ -148,7 +173,7 @@ inline int btGetVersion() #define btFullAssert(x) #define btLikely(_c) _c #define btUnlikely(_c) _c - +#endif //__APPLE__ #endif // LIBSPE2