ruby-bullet 0.1.0-x86-linux → 0.1.1-x86-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +3 -0
- data/Rakefile +14 -2
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionWorld.i +2 -2
- data/bindings/bullet/interface/bullet_wrap.cpp +17548 -6035
- data/bindings/bullet/interface/bullet_wrap.h +7 -7
- data/bindings/bullet/interface/bullet_wrap.o +0 -0
- data/lib/bullet.so +0 -0
- data/lib/ruby-bullet/version.rb +1 -1
- data/ruby-bullet.gemspec +0 -3
- metadata +169 -444
- data/deps/include/bullet/Bullet-C-Api.h +0 -176
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btAxisSweep3.h +0 -1051
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h +0 -82
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h +0 -270
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h +0 -80
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvt.h +0 -1257
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h +0 -146
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDispatcher.h +0 -110
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h +0 -151
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h +0 -469
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h +0 -40
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btQuantizedBvh.h +0 -579
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h +0 -171
- data/deps/include/bullet/BulletCollision/CollisionDispatch/SphereTriangleDetector.h +0 -51
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h +0 -36
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h +0 -66
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h +0 -66
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxDetector.h +0 -44
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionConfiguration.h +0 -48
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h +0 -45
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionDispatcher.h +0 -172
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionObject.h +0 -524
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionWorld.h +0 -509
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h +0 -86
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h +0 -95
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h +0 -116
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h +0 -109
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h +0 -84
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h +0 -137
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h +0 -54
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btGhostObject.h +0 -175
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h +0 -46
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h +0 -128
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSimulationIslandManager.h +0 -81
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h +0 -75
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h +0 -66
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h +0 -69
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btUnionFind.h +0 -129
- data/deps/include/bullet/BulletCollision/CollisionShapes/btBox2dShape.h +0 -369
- data/deps/include/bullet/BulletCollision/CollisionShapes/btBoxShape.h +0 -312
- data/deps/include/bullet/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h +0 -139
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCapsuleShape.h +0 -173
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionMargin.h +0 -27
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionShape.h +0 -150
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCompoundShape.h +0 -212
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConcaveShape.h +0 -60
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConeShape.h +0 -103
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvex2dShape.h +0 -80
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexHullShape.h +0 -122
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexInternalShape.h +0 -224
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPointCloudShape.h +0 -105
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPolyhedron.h +0 -62
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexShape.h +0 -84
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h +0 -75
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCylinderShape.h +0 -200
- data/deps/include/bullet/BulletCollision/CollisionShapes/btEmptyShape.h +0 -70
- data/deps/include/bullet/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h +0 -161
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMaterial.h +0 -35
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMinkowskiSumShape.h +0 -60
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMultiSphereShape.h +0 -99
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h +0 -120
- data/deps/include/bullet/BulletCollision/CollisionShapes/btOptimizedBvh.h +0 -65
- data/deps/include/bullet/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h +0 -112
- data/deps/include/bullet/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h +0 -93
- data/deps/include/bullet/BulletCollision/CollisionShapes/btShapeHull.h +0 -59
- data/deps/include/bullet/BulletCollision/CollisionShapes/btSphereShape.h +0 -73
- data/deps/include/bullet/BulletCollision/CollisionShapes/btStaticPlaneShape.h +0 -103
- data/deps/include/bullet/BulletCollision/CollisionShapes/btStridingMeshInterface.h +0 -162
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTetrahedronShape.h +0 -74
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleBuffer.h +0 -69
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleCallback.h +0 -42
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h +0 -133
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h +0 -84
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleInfoMap.h +0 -241
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMesh.h +0 -69
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMeshShape.h +0 -89
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleShape.h +0 -182
- data/deps/include/bullet/BulletCollision/CollisionShapes/btUniformScalingShape.h +0 -87
- data/deps/include/bullet/BulletCollision/Gimpact/btBoxCollision.h +0 -647
- data/deps/include/bullet/BulletCollision/Gimpact/btClipPolygon.h +0 -182
- data/deps/include/bullet/BulletCollision/Gimpact/btContactProcessing.h +0 -145
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactBvh.h +0 -396
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h +0 -306
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactMassUtil.h +0 -60
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactQuantizedBvh.h +0 -372
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactShape.h +0 -1171
- data/deps/include/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h +0 -163
- data/deps/include/bullet/BulletCollision/Gimpact/btGeometryOperations.h +0 -212
- data/deps/include/bullet/BulletCollision/Gimpact/btQuantization.h +0 -88
- data/deps/include/bullet/BulletCollision/Gimpact/btTriangleShapeEx.h +0 -180
- data/deps/include/bullet/BulletCollision/Gimpact/gim_array.h +0 -326
- data/deps/include/bullet/BulletCollision/Gimpact/gim_basic_geometry_operations.h +0 -543
- data/deps/include/bullet/BulletCollision/Gimpact/gim_bitset.h +0 -123
- data/deps/include/bullet/BulletCollision/Gimpact/gim_box_collision.h +0 -590
- data/deps/include/bullet/BulletCollision/Gimpact/gim_box_set.h +0 -674
- data/deps/include/bullet/BulletCollision/Gimpact/gim_clip_polygon.h +0 -210
- data/deps/include/bullet/BulletCollision/Gimpact/gim_contact.h +0 -164
- data/deps/include/bullet/BulletCollision/Gimpact/gim_geom_types.h +0 -97
- data/deps/include/bullet/BulletCollision/Gimpact/gim_geometry.h +0 -42
- data/deps/include/bullet/BulletCollision/Gimpact/gim_hash_table.h +0 -902
- data/deps/include/bullet/BulletCollision/Gimpact/gim_linear_math.h +0 -1573
- data/deps/include/bullet/BulletCollision/Gimpact/gim_math.h +0 -157
- data/deps/include/bullet/BulletCollision/Gimpact/gim_memory.h +0 -190
- data/deps/include/bullet/BulletCollision/Gimpact/gim_radixsort.h +0 -406
- data/deps/include/bullet/BulletCollision/Gimpact/gim_tri_collision.h +0 -379
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h +0 -59
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexCast.h +0 -73
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h +0 -42
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h +0 -91
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h +0 -50
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h +0 -75
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h +0 -43
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h +0 -103
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h +0 -158
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h +0 -40
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h +0 -228
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPointCollector.h +0 -64
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h +0 -46
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h +0 -72
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h +0 -63
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h +0 -50
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h +0 -179
- data/deps/include/bullet/BulletCollision/btBulletCollisionCommon.h +0 -69
- data/deps/include/bullet/BulletDynamics/Character/btCharacterControllerInterface.h +0 -46
- data/deps/include/bullet/BulletDynamics/Character/btKinematicCharacterController.h +0 -163
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h +0 -346
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConstraintSolver.h +0 -52
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactConstraint.h +0 -71
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactSolverInfo.h +0 -87
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h +0 -614
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h +0 -99
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHinge2Constraint.h +0 -58
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHingeConstraint.h +0 -381
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btJacobianEntry.h +0 -156
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h +0 -161
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h +0 -130
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSliderConstraint.h +0 -333
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h +0 -107
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverBody.h +0 -191
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverConstraint.h +0 -98
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btTypedConstraint.h +0 -452
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btUniversalConstraint.h +0 -62
- data/deps/include/bullet/BulletDynamics/Dynamics/btActionInterface.h +0 -46
- data/deps/include/bullet/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h +0 -203
- data/deps/include/bullet/BulletDynamics/Dynamics/btDynamicsWorld.h +0 -151
- data/deps/include/bullet/BulletDynamics/Dynamics/btRigidBody.h +0 -691
- data/deps/include/bullet/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h +0 -89
- data/deps/include/bullet/BulletDynamics/Vehicle/btRaycastVehicle.h +0 -236
- data/deps/include/bullet/BulletDynamics/Vehicle/btVehicleRaycaster.h +0 -35
- data/deps/include/bullet/BulletDynamics/Vehicle/btWheelInfo.h +0 -119
- data/deps/include/bullet/BulletDynamics/btBulletDynamicsCommon.h +0 -48
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverBuffer_DX11.h +0 -323
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11.h +0 -103
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11SIMDAware.h +0 -173
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverTriangleData_DX11.h +0 -96
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexBuffer_DX11.h +0 -107
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexData_DX11.h +0 -63
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11.h +0 -691
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11SIMDAware.h +0 -81
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverBuffer_OpenCL.h +0 -209
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCL.h +0 -99
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCLSIMDAware.h +0 -169
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverOutputCLtoGL.h +0 -62
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverTriangleData_OpenCL.h +0 -84
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexBuffer_OpenGL.h +0 -166
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexData_OpenCL.h +0 -52
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCL.h +0 -527
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCLSIMDAware.h +0 -81
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/Shared/btSoftBodySolverData.h +0 -748
- data/deps/include/bullet/BulletMultiThreaded/HeapManager.h +0 -117
- data/deps/include/bullet/BulletMultiThreaded/PlatformDefinitions.h +0 -99
- data/deps/include/bullet/BulletMultiThreaded/PosixThreadSupport.h +0 -142
- data/deps/include/bullet/BulletMultiThreaded/PpuAddressSpace.h +0 -37
- data/deps/include/bullet/BulletMultiThreaded/SequentialThreadSupport.h +0 -96
- data/deps/include/bullet/BulletMultiThreaded/SpuCollisionObjectWrapper.h +0 -40
- data/deps/include/bullet/BulletMultiThreaded/SpuCollisionTaskProcess.h +0 -163
- data/deps/include/bullet/BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.h +0 -120
- data/deps/include/bullet/BulletMultiThreaded/SpuDoubleBuffer.h +0 -126
- data/deps/include/bullet/BulletMultiThreaded/SpuFakeDma.h +0 -135
- data/deps/include/bullet/BulletMultiThreaded/SpuGatheringCollisionDispatcher.h +0 -72
- data/deps/include/bullet/BulletMultiThreaded/SpuLibspe2Support.h +0 -180
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/Box.h +0 -167
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h +0 -128
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.h +0 -106
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuConvexPenetrationDepthSolver.h +0 -51
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h +0 -140
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuLocalSupport.h +0 -19
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.h +0 -48
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuPreferredPenetrationDirections.h +0 -70
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/boxBoxDistance.h +0 -65
- data/deps/include/bullet/BulletMultiThreaded/SpuSampleTask/SpuSampleTask.h +0 -54
- data/deps/include/bullet/BulletMultiThreaded/SpuSampleTaskProcess.h +0 -153
- data/deps/include/bullet/BulletMultiThreaded/SpuSync.h +0 -149
- data/deps/include/bullet/BulletMultiThreaded/TrbDynBody.h +0 -79
- data/deps/include/bullet/BulletMultiThreaded/TrbStateVec.h +0 -339
- data/deps/include/bullet/BulletMultiThreaded/Win32ThreadSupport.h +0 -138
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphase.h +0 -138
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedCode.h +0 -430
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedDefs.h +0 -61
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedTypes.h +0 -67
- data/deps/include/bullet/BulletMultiThreaded/btGpuDefines.h +0 -211
- data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedCode.h +0 -55
- data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedDefs.h +0 -52
- data/deps/include/bullet/BulletMultiThreaded/btParallelConstraintSolver.h +0 -285
- data/deps/include/bullet/BulletMultiThreaded/btThreadSupportInterface.h +0 -85
- data/deps/include/bullet/BulletMultiThreaded/vectormath2bullet.h +0 -73
- data/deps/include/bullet/BulletSoftBody/btDefaultSoftBodySolver.h +0 -63
- data/deps/include/bullet/BulletSoftBody/btSoftBody.h +0 -987
- data/deps/include/bullet/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h +0 -153
- data/deps/include/bullet/BulletSoftBody/btSoftBodyData.h +0 -217
- data/deps/include/bullet/BulletSoftBody/btSoftBodyHelpers.h +0 -143
- data/deps/include/bullet/BulletSoftBody/btSoftBodyInternals.h +0 -930
- data/deps/include/bullet/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h +0 -48
- data/deps/include/bullet/BulletSoftBody/btSoftBodySolverVertexBuffer.h +0 -165
- data/deps/include/bullet/BulletSoftBody/btSoftBodySolvers.h +0 -154
- data/deps/include/bullet/BulletSoftBody/btSoftRigidCollisionAlgorithm.h +0 -75
- data/deps/include/bullet/BulletSoftBody/btSoftRigidDynamicsWorld.h +0 -107
- data/deps/include/bullet/BulletSoftBody/btSoftSoftCollisionAlgorithm.h +0 -69
- data/deps/include/bullet/BulletSoftBody/btSparseSDF.h +0 -306
- data/deps/include/bullet/LinearMath/btAabbUtil2.h +0 -236
- data/deps/include/bullet/LinearMath/btAlignedAllocator.h +0 -107
- data/deps/include/bullet/LinearMath/btAlignedObjectArray.h +0 -494
- data/deps/include/bullet/LinearMath/btConvexHull.h +0 -241
- data/deps/include/bullet/LinearMath/btConvexHullComputer.h +0 -103
- data/deps/include/bullet/LinearMath/btDefaultMotionState.h +0 -40
- data/deps/include/bullet/LinearMath/btGeometryUtil.h +0 -42
- data/deps/include/bullet/LinearMath/btGrahamScan2dConvexHull.h +0 -110
- data/deps/include/bullet/LinearMath/btHashMap.h +0 -450
- data/deps/include/bullet/LinearMath/btIDebugDraw.h +0 -418
- data/deps/include/bullet/LinearMath/btList.h +0 -73
- data/deps/include/bullet/LinearMath/btMatrix3x3.h +0 -771
- data/deps/include/bullet/LinearMath/btMinMax.h +0 -71
- data/deps/include/bullet/LinearMath/btMotionState.h +0 -40
- data/deps/include/bullet/LinearMath/btPoolAllocator.h +0 -121
- data/deps/include/bullet/LinearMath/btQuadWord.h +0 -180
- data/deps/include/bullet/LinearMath/btQuaternion.h +0 -430
- data/deps/include/bullet/LinearMath/btQuickprof.h +0 -203
- data/deps/include/bullet/LinearMath/btRandom.h +0 -42
- data/deps/include/bullet/LinearMath/btScalar.h +0 -539
- data/deps/include/bullet/LinearMath/btSerializer.h +0 -639
- data/deps/include/bullet/LinearMath/btStackAlloc.h +0 -116
- data/deps/include/bullet/LinearMath/btTransform.h +0 -307
- data/deps/include/bullet/LinearMath/btTransformUtil.h +0 -228
- data/deps/include/bullet/LinearMath/btVector3.h +0 -766
- data/deps/include/bullet/MiniCL/MiniCLTask/MiniCLTask.h +0 -62
- data/deps/include/bullet/MiniCL/MiniCLTaskScheduler.h +0 -194
- data/deps/include/bullet/MiniCL/cl.h +0 -867
- data/deps/include/bullet/MiniCL/cl_MiniCL_Defs.h +0 -439
- data/deps/include/bullet/MiniCL/cl_gl.h +0 -113
- data/deps/include/bullet/MiniCL/cl_platform.h +0 -254
- data/deps/include/bullet/btBulletCollisionCommon.h +0 -69
- data/deps/include/bullet/btBulletDynamicsCommon.h +0 -48
- data/deps/include/bullet/vectormath/scalar/boolInVec.h +0 -225
- data/deps/include/bullet/vectormath/scalar/floatInVec.h +0 -343
- data/deps/include/bullet/vectormath/scalar/mat_aos.h +0 -1630
- data/deps/include/bullet/vectormath/scalar/quat_aos.h +0 -433
- data/deps/include/bullet/vectormath/scalar/vec_aos.h +0 -1426
- data/deps/include/bullet/vectormath/scalar/vectormath_aos.h +0 -1872
- data/deps/include/bullet/vectormath/sse/boolInVec.h +0 -247
- data/deps/include/bullet/vectormath/sse/floatInVec.h +0 -340
- data/deps/include/bullet/vectormath/sse/mat_aos.h +0 -2190
- data/deps/include/bullet/vectormath/sse/quat_aos.h +0 -579
- data/deps/include/bullet/vectormath/sse/vec_aos.h +0 -1455
- data/deps/include/bullet/vectormath/sse/vecidx_aos.h +0 -80
- data/deps/include/bullet/vectormath/sse/vectormath_aos.h +0 -2547
- data/deps/include/bullet/vectormath/vmInclude.h +0 -27
- data/deps/lib/libBulletCollision.a +0 -0
- data/deps/lib/libBulletDynamics.a +0 -0
- data/deps/lib/libBulletMultiThreaded.a +0 -0
- data/deps/lib/libBulletSoftBody.a +0 -0
- data/deps/lib/libBulletSoftBodySolvers_OpenCL_Mini.a +0 -0
- data/deps/lib/libLinearMath.a +0 -0
- data/deps/lib/libMiniCL.a +0 -0
@@ -1,120 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2007 Erwin Coumans http://bulletphysics.com
|
4
|
-
|
5
|
-
This software is provided 'as-is', without any express or implied warranty.
|
6
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
7
|
-
Permission is granted to anyone to use this software for any purpose,
|
8
|
-
including commercial applications, and to alter it and redistribute it freely,
|
9
|
-
subject to the following restrictions:
|
10
|
-
|
11
|
-
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
12
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
13
|
-
3. This notice may not be removed or altered from any source distribution.
|
14
|
-
*/
|
15
|
-
|
16
|
-
#ifndef BT_SPU_CONTACTMANIFOLD_COLLISION_ALGORITHM_H
|
17
|
-
#define BT_SPU_CONTACTMANIFOLD_COLLISION_ALGORITHM_H
|
18
|
-
|
19
|
-
#include "BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h"
|
20
|
-
#include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h"
|
21
|
-
#include "BulletCollision/CollisionDispatch/btCollisionCreateFunc.h"
|
22
|
-
#include "BulletCollision/BroadphaseCollision/btDispatcher.h"
|
23
|
-
#include "LinearMath/btTransformUtil.h"
|
24
|
-
|
25
|
-
class btPersistentManifold;
|
26
|
-
|
27
|
-
//#define USE_SEPDISTANCE_UTIL 1
|
28
|
-
|
29
|
-
/// SpuContactManifoldCollisionAlgorithm provides contact manifold and should be processed on SPU.
|
30
|
-
ATTRIBUTE_ALIGNED16(class) SpuContactManifoldCollisionAlgorithm : public btCollisionAlgorithm
|
31
|
-
{
|
32
|
-
btVector3 m_shapeDimensions0;
|
33
|
-
btVector3 m_shapeDimensions1;
|
34
|
-
btPersistentManifold* m_manifoldPtr;
|
35
|
-
int m_shapeType0;
|
36
|
-
int m_shapeType1;
|
37
|
-
float m_collisionMargin0;
|
38
|
-
float m_collisionMargin1;
|
39
|
-
|
40
|
-
btCollisionObject* m_collisionObject0;
|
41
|
-
btCollisionObject* m_collisionObject1;
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
public:
|
47
|
-
|
48
|
-
virtual void processCollision (btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
|
49
|
-
|
50
|
-
virtual btScalar calculateTimeOfImpact(btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
|
51
|
-
|
52
|
-
|
53
|
-
SpuContactManifoldCollisionAlgorithm(const btCollisionAlgorithmConstructionInfo& ci,btCollisionObject* body0,btCollisionObject* body1);
|
54
|
-
#ifdef USE_SEPDISTANCE_UTIL
|
55
|
-
btConvexSeparatingDistanceUtil m_sepDistance;
|
56
|
-
#endif //USE_SEPDISTANCE_UTIL
|
57
|
-
|
58
|
-
virtual ~SpuContactManifoldCollisionAlgorithm();
|
59
|
-
|
60
|
-
virtual void getAllContactManifolds(btManifoldArray& manifoldArray)
|
61
|
-
{
|
62
|
-
if (m_manifoldPtr)
|
63
|
-
manifoldArray.push_back(m_manifoldPtr);
|
64
|
-
}
|
65
|
-
|
66
|
-
btPersistentManifold* getContactManifoldPtr()
|
67
|
-
{
|
68
|
-
return m_manifoldPtr;
|
69
|
-
}
|
70
|
-
|
71
|
-
btCollisionObject* getCollisionObject0()
|
72
|
-
{
|
73
|
-
return m_collisionObject0;
|
74
|
-
}
|
75
|
-
|
76
|
-
btCollisionObject* getCollisionObject1()
|
77
|
-
{
|
78
|
-
return m_collisionObject1;
|
79
|
-
}
|
80
|
-
|
81
|
-
int getShapeType0() const
|
82
|
-
{
|
83
|
-
return m_shapeType0;
|
84
|
-
}
|
85
|
-
|
86
|
-
int getShapeType1() const
|
87
|
-
{
|
88
|
-
return m_shapeType1;
|
89
|
-
}
|
90
|
-
float getCollisionMargin0() const
|
91
|
-
{
|
92
|
-
return m_collisionMargin0;
|
93
|
-
}
|
94
|
-
float getCollisionMargin1() const
|
95
|
-
{
|
96
|
-
return m_collisionMargin1;
|
97
|
-
}
|
98
|
-
|
99
|
-
const btVector3& getShapeDimensions0() const
|
100
|
-
{
|
101
|
-
return m_shapeDimensions0;
|
102
|
-
}
|
103
|
-
|
104
|
-
const btVector3& getShapeDimensions1() const
|
105
|
-
{
|
106
|
-
return m_shapeDimensions1;
|
107
|
-
}
|
108
|
-
|
109
|
-
struct CreateFunc :public btCollisionAlgorithmCreateFunc
|
110
|
-
{
|
111
|
-
virtual btCollisionAlgorithm* CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo& ci, btCollisionObject* body0,btCollisionObject* body1)
|
112
|
-
{
|
113
|
-
void* mem = ci.m_dispatcher1->allocateCollisionAlgorithm(sizeof(SpuContactManifoldCollisionAlgorithm));
|
114
|
-
return new(mem) SpuContactManifoldCollisionAlgorithm(ci,body0,body1);
|
115
|
-
}
|
116
|
-
};
|
117
|
-
|
118
|
-
};
|
119
|
-
|
120
|
-
#endif //BT_SPU_CONTACTMANIFOLD_COLLISION_ALGORITHM_H
|
@@ -1,126 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2007 Erwin Coumans http://bulletphysics.com
|
4
|
-
|
5
|
-
This software is provided 'as-is', without any express or implied warranty.
|
6
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
7
|
-
Permission is granted to anyone to use this software for any purpose,
|
8
|
-
including commercial applications, and to alter it and redistribute it freely,
|
9
|
-
subject to the following restrictions:
|
10
|
-
|
11
|
-
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
12
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
13
|
-
3. This notice may not be removed or altered from any source distribution.
|
14
|
-
*/
|
15
|
-
|
16
|
-
|
17
|
-
#ifndef BT_DOUBLE_BUFFER_H
|
18
|
-
#define BT_DOUBLE_BUFFER_H
|
19
|
-
|
20
|
-
#include "SpuFakeDma.h"
|
21
|
-
#include "LinearMath/btScalar.h"
|
22
|
-
|
23
|
-
|
24
|
-
///DoubleBuffer
|
25
|
-
template<class T, int size>
|
26
|
-
class DoubleBuffer
|
27
|
-
{
|
28
|
-
#if defined(__SPU__) || defined(USE_LIBSPE2)
|
29
|
-
ATTRIBUTE_ALIGNED128( T m_buffer0[size] ) ;
|
30
|
-
ATTRIBUTE_ALIGNED128( T m_buffer1[size] ) ;
|
31
|
-
#else
|
32
|
-
T m_buffer0[size];
|
33
|
-
T m_buffer1[size];
|
34
|
-
#endif
|
35
|
-
|
36
|
-
T *m_frontBuffer;
|
37
|
-
T *m_backBuffer;
|
38
|
-
|
39
|
-
unsigned int m_dmaTag;
|
40
|
-
bool m_dmaPending;
|
41
|
-
public:
|
42
|
-
bool isPending() const { return m_dmaPending;}
|
43
|
-
DoubleBuffer();
|
44
|
-
|
45
|
-
void init ();
|
46
|
-
|
47
|
-
// dma get and put commands
|
48
|
-
void backBufferDmaGet(uint64_t ea, unsigned int numBytes, unsigned int tag);
|
49
|
-
void backBufferDmaPut(uint64_t ea, unsigned int numBytes, unsigned int tag);
|
50
|
-
|
51
|
-
// gets pointer to a buffer
|
52
|
-
T *getFront();
|
53
|
-
T *getBack();
|
54
|
-
|
55
|
-
// if back buffer dma was started, wait for it to complete
|
56
|
-
// then move back to front and vice versa
|
57
|
-
T *swapBuffers();
|
58
|
-
};
|
59
|
-
|
60
|
-
template<class T, int size>
|
61
|
-
DoubleBuffer<T,size>::DoubleBuffer()
|
62
|
-
{
|
63
|
-
init ();
|
64
|
-
}
|
65
|
-
|
66
|
-
template<class T, int size>
|
67
|
-
void DoubleBuffer<T,size>::init()
|
68
|
-
{
|
69
|
-
this->m_dmaPending = false;
|
70
|
-
this->m_frontBuffer = &this->m_buffer0[0];
|
71
|
-
this->m_backBuffer = &this->m_buffer1[0];
|
72
|
-
}
|
73
|
-
|
74
|
-
template<class T, int size>
|
75
|
-
void
|
76
|
-
DoubleBuffer<T,size>::backBufferDmaGet(uint64_t ea, unsigned int numBytes, unsigned int tag)
|
77
|
-
{
|
78
|
-
m_dmaPending = true;
|
79
|
-
m_dmaTag = tag;
|
80
|
-
if (numBytes)
|
81
|
-
{
|
82
|
-
m_backBuffer = (T*)cellDmaLargeGetReadOnly(m_backBuffer, ea, numBytes, tag, 0, 0);
|
83
|
-
}
|
84
|
-
}
|
85
|
-
|
86
|
-
template<class T, int size>
|
87
|
-
void
|
88
|
-
DoubleBuffer<T,size>::backBufferDmaPut(uint64_t ea, unsigned int numBytes, unsigned int tag)
|
89
|
-
{
|
90
|
-
m_dmaPending = true;
|
91
|
-
m_dmaTag = tag;
|
92
|
-
cellDmaLargePut(m_backBuffer, ea, numBytes, tag, 0, 0);
|
93
|
-
}
|
94
|
-
|
95
|
-
template<class T, int size>
|
96
|
-
T *
|
97
|
-
DoubleBuffer<T,size>::getFront()
|
98
|
-
{
|
99
|
-
return m_frontBuffer;
|
100
|
-
}
|
101
|
-
|
102
|
-
template<class T, int size>
|
103
|
-
T *
|
104
|
-
DoubleBuffer<T,size>::getBack()
|
105
|
-
{
|
106
|
-
return m_backBuffer;
|
107
|
-
}
|
108
|
-
|
109
|
-
template<class T, int size>
|
110
|
-
T *
|
111
|
-
DoubleBuffer<T,size>::swapBuffers()
|
112
|
-
{
|
113
|
-
if (m_dmaPending)
|
114
|
-
{
|
115
|
-
cellDmaWaitTagStatusAll(1<<m_dmaTag);
|
116
|
-
m_dmaPending = false;
|
117
|
-
}
|
118
|
-
|
119
|
-
T *tmp = m_backBuffer;
|
120
|
-
m_backBuffer = m_frontBuffer;
|
121
|
-
m_frontBuffer = tmp;
|
122
|
-
|
123
|
-
return m_frontBuffer;
|
124
|
-
}
|
125
|
-
|
126
|
-
#endif
|
@@ -1,135 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
|
4
|
-
|
5
|
-
This software is provided 'as-is', without any express or implied warranty.
|
6
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
7
|
-
Permission is granted to anyone to use this software for any purpose,
|
8
|
-
including commercial applications, and to alter it and redistribute it freely,
|
9
|
-
subject to the following restrictions:
|
10
|
-
|
11
|
-
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
12
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
13
|
-
3. This notice may not be removed or altered from any source distribution.
|
14
|
-
*/
|
15
|
-
|
16
|
-
#ifndef BT_FAKE_DMA_H
|
17
|
-
#define BT_FAKE_DMA_H
|
18
|
-
|
19
|
-
|
20
|
-
#include "PlatformDefinitions.h"
|
21
|
-
#include "LinearMath/btScalar.h"
|
22
|
-
|
23
|
-
|
24
|
-
#ifdef __SPU__
|
25
|
-
|
26
|
-
#ifndef USE_LIBSPE2
|
27
|
-
|
28
|
-
#include <cell/dma.h>
|
29
|
-
#include <stdint.h>
|
30
|
-
|
31
|
-
#define DMA_TAG(xfer) (xfer + 1)
|
32
|
-
#define DMA_MASK(xfer) (1 << DMA_TAG(xfer))
|
33
|
-
|
34
|
-
#else // !USE_LIBSPE2
|
35
|
-
|
36
|
-
#define DMA_TAG(xfer) (xfer + 1)
|
37
|
-
#define DMA_MASK(xfer) (1 << DMA_TAG(xfer))
|
38
|
-
|
39
|
-
#include <spu_mfcio.h>
|
40
|
-
|
41
|
-
#define DEBUG_DMA
|
42
|
-
#ifdef DEBUG_DMA
|
43
|
-
#define dUASSERT(a,b) if (!(a)) { printf(b);}
|
44
|
-
#define uintsize ppu_address_t
|
45
|
-
|
46
|
-
#define cellDmaLargeGet(ls, ea, size, tag, tid, rid) if ( (((uintsize)ls%16) != ((uintsize)ea%16)) || ((((uintsize)ea%16) || ((uintsize)ls%16)) && (( ((uintsize)ls%16) != ((uintsize)size%16) ) || ( ((uintsize)ea%16) != ((uintsize)size%16) ) ) ) || ( ((uintsize)size%16) && ((uintsize)size!=1) && ((uintsize)size!=2) && ((uintsize)size!=4) && ((uintsize)size!=8) ) || (size >= 16384) || !(uintsize)ls || !(uintsize)ea) { \
|
47
|
-
dUASSERT( (((uintsize)ea % 16) == 0) || (size < 16), "XDR Address not aligned: "); \
|
48
|
-
dUASSERT( (((uintsize)ls % 16) == 0) || (size < 16), "LS Address not aligned: "); \
|
49
|
-
dUASSERT( ((((uintsize)ls % size) == 0) && (((uintsize)ea % size) == 0)) || (size > 16), "Not naturally aligned: "); \
|
50
|
-
dUASSERT((size == 1) || (size == 2) || (size == 4) || (size == 8) || ((size % 16) == 0), "size not a multiple of 16byte: "); \
|
51
|
-
dUASSERT(size < 16384, "size too big: "); \
|
52
|
-
dUASSERT( ((uintsize)ea%16)==((uintsize)ls%16), "wrong Quadword alignment of LS and EA: "); \
|
53
|
-
dUASSERT(ea != 0, "Nullpointer EA: "); dUASSERT(ls != 0, "Nullpointer LS: ");\
|
54
|
-
printf("GET %s:%d from: 0x%x, to: 0x%x - %d bytes\n", __FILE__, __LINE__, (unsigned int)ea,(unsigned int)ls,(unsigned int)size);\
|
55
|
-
} \
|
56
|
-
mfc_get(ls, ea, size, tag, tid, rid)
|
57
|
-
#define cellDmaGet(ls, ea, size, tag, tid, rid) if ( (((uintsize)ls%16) != ((uintsize)ea%16)) || ((((uintsize)ea%16) || ((uintsize)ls%16)) && (( ((uintsize)ls%16) != ((uintsize)size%16) ) || ( ((uintsize)ea%16) != ((uintsize)size%16) ) ) ) || ( ((uintsize)size%16) && ((uintsize)size!=1) && ((uintsize)size!=2) && ((uintsize)size!=4) && ((uintsize)size!=8) ) || (size >= 16384) || !(uintsize)ls || !(uintsize)ea) { \
|
58
|
-
dUASSERT( (((uintsize)ea % 16) == 0) || (size < 16), "XDR Address not aligned: "); \
|
59
|
-
dUASSERT( (((uintsize)ls % 16) == 0) || (size < 16), "LS Address not aligned: "); \
|
60
|
-
dUASSERT( ((((uintsize)ls % size) == 0) && (((uintsize)ea % size) == 0)) || (size > 16), "Not naturally aligned: "); \
|
61
|
-
dUASSERT((size == 1) || (size == 2) || (size == 4) || (size == 8) || ((size % 16) == 0), "size not a multiple of 16byte: "); \
|
62
|
-
dUASSERT(size < 16384, "size too big: "); \
|
63
|
-
dUASSERT( ((uintsize)ea%16)==((uintsize)ls%16), "wrong Quadword alignment of LS and EA: "); \
|
64
|
-
dUASSERT(ea != 0, "Nullpointer EA: "); dUASSERT(ls != 0, "Nullpointer LS: ");\
|
65
|
-
printf("GET %s:%d from: 0x%x, to: 0x%x - %d bytes\n", __FILE__, __LINE__, (unsigned int)ea,(unsigned int)ls,(unsigned int)size);\
|
66
|
-
} \
|
67
|
-
mfc_get(ls, ea, size, tag, tid, rid)
|
68
|
-
#define cellDmaLargePut(ls, ea, size, tag, tid, rid) if ( (((uintsize)ls%16) != ((uintsize)ea%16)) || ((((uintsize)ea%16) || ((uintsize)ls%16)) && (( ((uintsize)ls%16) != ((uintsize)size%16) ) || ( ((uintsize)ea%16) != ((uintsize)size%16) ) ) ) || ( ((uintsize)size%16) && ((uintsize)size!=1) && ((uintsize)size!=2) && ((uintsize)size!=4) && ((uintsize)size!=8) ) || (size >= 16384) || !(uintsize)ls || !(uintsize)ea) { \
|
69
|
-
dUASSERT( (((uintsize)ea % 16) == 0) || (size < 16), "XDR Address not aligned: "); \
|
70
|
-
dUASSERT( (((uintsize)ls % 16) == 0) || (size < 16), "LS Address not aligned: "); \
|
71
|
-
dUASSERT( ((((uintsize)ls % size) == 0) && (((uintsize)ea % size) == 0)) || (size > 16), "Not naturally aligned: "); \
|
72
|
-
dUASSERT((size == 1) || (size == 2) || (size == 4) || (size == 8) || ((size % 16) == 0), "size not a multiple of 16byte: "); \
|
73
|
-
dUASSERT(size < 16384, "size too big: "); \
|
74
|
-
dUASSERT( ((uintsize)ea%16)==((uintsize)ls%16), "wrong Quadword alignment of LS and EA: "); \
|
75
|
-
dUASSERT(ea != 0, "Nullpointer EA: "); dUASSERT(ls != 0, "Nullpointer LS: ");\
|
76
|
-
printf("PUT %s:%d from: 0x%x, to: 0x%x - %d bytes\n", __FILE__, __LINE__, (unsigned int)ls,(unsigned int)ea,(unsigned int)size); \
|
77
|
-
} \
|
78
|
-
mfc_put(ls, ea, size, tag, tid, rid)
|
79
|
-
#define cellDmaSmallGet(ls, ea, size, tag, tid, rid) if ( (((uintsize)ls%16) != ((uintsize)ea%16)) || ((((uintsize)ea%16) || ((uintsize)ls%16)) && (( ((uintsize)ls%16) != ((uintsize)size%16) ) || ( ((uintsize)ea%16) != ((uintsize)size%16) ) ) ) || ( ((uintsize)size%16) && ((uintsize)size!=1) && ((uintsize)size!=2) && ((uintsize)size!=4) && ((uintsize)size!=8) ) || (size >= 16384) || !(uintsize)ls || !(uintsize)ea) { \
|
80
|
-
dUASSERT( (((uintsize)ea % 16) == 0) || (size < 16), "XDR Address not aligned: "); \
|
81
|
-
dUASSERT( (((uintsize)ls % 16) == 0) || (size < 16), "LS Address not aligned: "); \
|
82
|
-
dUASSERT( ((((uintsize)ls % size) == 0) && (((uintsize)ea % size) == 0)) || (size > 16), "Not naturally aligned: "); \
|
83
|
-
dUASSERT((size == 1) || (size == 2) || (size == 4) || (size == 8) || ((size % 16) == 0), "size not a multiple of 16byte: "); \
|
84
|
-
dUASSERT(size < 16384, "size too big: "); \
|
85
|
-
dUASSERT( ((uintsize)ea%16)==((uintsize)ls%16), "wrong Quadword alignment of LS and EA: "); \
|
86
|
-
dUASSERT(ea != 0, "Nullpointer EA: "); dUASSERT(ls != 0, "Nullpointer LS: ");\
|
87
|
-
printf("GET %s:%d from: 0x%x, to: 0x%x - %d bytes\n", __FILE__, __LINE__, (unsigned int)ea,(unsigned int)ls,(unsigned int)size);\
|
88
|
-
} \
|
89
|
-
mfc_get(ls, ea, size, tag, tid, rid)
|
90
|
-
#define cellDmaWaitTagStatusAll(ignore) mfc_write_tag_mask(ignore) ; mfc_read_tag_status_all()
|
91
|
-
|
92
|
-
#else
|
93
|
-
#define cellDmaLargeGet(ls, ea, size, tag, tid, rid) mfc_get(ls, ea, size, tag, tid, rid)
|
94
|
-
#define cellDmaGet(ls, ea, size, tag, tid, rid) mfc_get(ls, ea, size, tag, tid, rid)
|
95
|
-
#define cellDmaLargePut(ls, ea, size, tag, tid, rid) mfc_put(ls, ea, size, tag, tid, rid)
|
96
|
-
#define cellDmaSmallGet(ls, ea, size, tag, tid, rid) mfc_get(ls, ea, size, tag, tid, rid)
|
97
|
-
#define cellDmaWaitTagStatusAll(ignore) mfc_write_tag_mask(ignore) ; mfc_read_tag_status_all()
|
98
|
-
#endif // DEBUG_DMA
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
#endif // USE_LIBSPE2
|
108
|
-
#else // !__SPU__
|
109
|
-
//Simulate DMA using memcpy or direct access on non-CELL platforms that don't have DMAs and SPUs (Win32, Mac, Linux etc)
|
110
|
-
//Potential to add networked simulation using this interface
|
111
|
-
|
112
|
-
#define DMA_TAG(a) (a)
|
113
|
-
#define DMA_MASK(a) (a)
|
114
|
-
|
115
|
-
/// cellDmaLargeGet Win32 replacements for Cell DMA to allow simulating most of the SPU code (just memcpy)
|
116
|
-
int cellDmaLargeGet(void *ls, uint64_t ea, uint32_t size, uint32_t tag, uint32_t tid, uint32_t rid);
|
117
|
-
int cellDmaGet(void *ls, uint64_t ea, uint32_t size, uint32_t tag, uint32_t tid, uint32_t rid);
|
118
|
-
/// cellDmaLargePut Win32 replacements for Cell DMA to allow simulating most of the SPU code (just memcpy)
|
119
|
-
int cellDmaLargePut(const void *ls, uint64_t ea, uint32_t size, uint32_t tag, uint32_t tid, uint32_t rid);
|
120
|
-
/// cellDmaWaitTagStatusAll Win32 replacements for Cell DMA to allow simulating most of the SPU code (just memcpy)
|
121
|
-
void cellDmaWaitTagStatusAll(int ignore);
|
122
|
-
|
123
|
-
|
124
|
-
#endif //__CELLOS_LV2__
|
125
|
-
|
126
|
-
///stallingUnalignedDmaSmallGet internally uses DMA_TAG(1)
|
127
|
-
int stallingUnalignedDmaSmallGet(void *ls, uint64_t ea, uint32_t size);
|
128
|
-
|
129
|
-
|
130
|
-
void* cellDmaLargeGetReadOnly(void *ls, uint64_t ea, uint32_t size, uint32_t tag, uint32_t tid, uint32_t rid);
|
131
|
-
void* cellDmaGetReadOnly(void *ls, uint64_t ea, uint32_t size, uint32_t tag, uint32_t tid, uint32_t rid);
|
132
|
-
void* cellDmaSmallGetReadOnly(void *ls, uint64_t ea, uint32_t size, uint32_t tag, uint32_t tid, uint32_t rid);
|
133
|
-
|
134
|
-
|
135
|
-
#endif //BT_FAKE_DMA_H
|
@@ -1,72 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2007 Erwin Coumans http://bulletphysics.com
|
4
|
-
|
5
|
-
This software is provided 'as-is', without any express or implied warranty.
|
6
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
7
|
-
Permission is granted to anyone to use this software for any purpose,
|
8
|
-
including commercial applications, and to alter it and redistribute it freely,
|
9
|
-
subject to the following restrictions:
|
10
|
-
|
11
|
-
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
12
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
13
|
-
3. This notice may not be removed or altered from any source distribution.
|
14
|
-
*/
|
15
|
-
#ifndef BT_SPU_GATHERING_COLLISION__DISPATCHER_H
|
16
|
-
#define BT_SPU_GATHERING_COLLISION__DISPATCHER_H
|
17
|
-
|
18
|
-
#include "BulletCollision/CollisionDispatch/btCollisionDispatcher.h"
|
19
|
-
|
20
|
-
|
21
|
-
///Tuning value to optimized SPU utilization
|
22
|
-
///Too small value means Task overhead is large compared to computation (too fine granularity)
|
23
|
-
///Too big value might render some SPUs are idle, while a few other SPUs are doing all work.
|
24
|
-
//#define SPU_BATCHSIZE_BROADPHASE_PAIRS 8
|
25
|
-
//#define SPU_BATCHSIZE_BROADPHASE_PAIRS 16
|
26
|
-
//#define SPU_BATCHSIZE_BROADPHASE_PAIRS 64
|
27
|
-
#define SPU_BATCHSIZE_BROADPHASE_PAIRS 128
|
28
|
-
//#define SPU_BATCHSIZE_BROADPHASE_PAIRS 256
|
29
|
-
//#define SPU_BATCHSIZE_BROADPHASE_PAIRS 512
|
30
|
-
//#define SPU_BATCHSIZE_BROADPHASE_PAIRS 1024
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
class SpuCollisionTaskProcess;
|
35
|
-
|
36
|
-
///SpuGatheringCollisionDispatcher can use SPU to gather and calculate collision detection
|
37
|
-
///Time of Impact, Closest Points and Penetration Depth.
|
38
|
-
class SpuGatheringCollisionDispatcher : public btCollisionDispatcher
|
39
|
-
{
|
40
|
-
|
41
|
-
SpuCollisionTaskProcess* m_spuCollisionTaskProcess;
|
42
|
-
|
43
|
-
protected:
|
44
|
-
|
45
|
-
class btThreadSupportInterface* m_threadInterface;
|
46
|
-
|
47
|
-
unsigned int m_maxNumOutstandingTasks;
|
48
|
-
|
49
|
-
|
50
|
-
public:
|
51
|
-
|
52
|
-
//can be used by SPU collision algorithms
|
53
|
-
SpuCollisionTaskProcess* getSpuCollisionTaskProcess()
|
54
|
-
{
|
55
|
-
return m_spuCollisionTaskProcess;
|
56
|
-
}
|
57
|
-
|
58
|
-
SpuGatheringCollisionDispatcher (class btThreadSupportInterface* threadInterface, unsigned int maxNumOutstandingTasks,btCollisionConfiguration* collisionConfiguration);
|
59
|
-
|
60
|
-
virtual ~SpuGatheringCollisionDispatcher();
|
61
|
-
|
62
|
-
bool supportsDispatchPairOnSpu(int proxyType0,int proxyType1);
|
63
|
-
|
64
|
-
virtual void dispatchAllCollisionPairs(btOverlappingPairCache* pairCache,const btDispatcherInfo& dispatchInfo,btDispatcher* dispatcher) ;
|
65
|
-
|
66
|
-
};
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
#endif //BT_SPU_GATHERING_COLLISION__DISPATCHER_H
|
71
|
-
|
72
|
-
|
@@ -1,180 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2007 Erwin Coumans http://bulletphysics.com
|
4
|
-
|
5
|
-
This software is provided 'as-is', without any express or implied warranty.
|
6
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
7
|
-
Permission is granted to anyone to use this software for any purpose,
|
8
|
-
including commercial applications, and to alter it and redistribute it freely,
|
9
|
-
subject to the following restrictions:
|
10
|
-
|
11
|
-
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
12
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
13
|
-
3. This notice may not be removed or altered from any source distribution.
|
14
|
-
*/
|
15
|
-
|
16
|
-
|
17
|
-
#ifndef BT_SPU_LIBSPE2_SUPPORT_H
|
18
|
-
#define BT_SPU_LIBSPE2_SUPPORT_H
|
19
|
-
|
20
|
-
#include <LinearMath/btScalar.h> //for uint32_t etc.
|
21
|
-
|
22
|
-
#ifdef USE_LIBSPE2
|
23
|
-
|
24
|
-
#include <stdlib.h>
|
25
|
-
#include <stdio.h>
|
26
|
-
//#include "SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h"
|
27
|
-
#include "PlatformDefinitions.h"
|
28
|
-
|
29
|
-
|
30
|
-
//extern struct SpuGatherAndProcessPairsTaskDesc;
|
31
|
-
|
32
|
-
enum
|
33
|
-
{
|
34
|
-
Spu_Mailbox_Event_Nothing = 0,
|
35
|
-
Spu_Mailbox_Event_Task = 1,
|
36
|
-
Spu_Mailbox_Event_Shutdown = 2,
|
37
|
-
|
38
|
-
Spu_Mailbox_Event_ForceDword = 0xFFFFFFFF
|
39
|
-
|
40
|
-
};
|
41
|
-
|
42
|
-
enum
|
43
|
-
{
|
44
|
-
Spu_Status_Free = 0,
|
45
|
-
Spu_Status_Occupied = 1,
|
46
|
-
Spu_Status_Startup = 2,
|
47
|
-
|
48
|
-
Spu_Status_ForceDword = 0xFFFFFFFF
|
49
|
-
|
50
|
-
};
|
51
|
-
|
52
|
-
|
53
|
-
struct btSpuStatus
|
54
|
-
{
|
55
|
-
uint32_t m_taskId;
|
56
|
-
uint32_t m_commandId;
|
57
|
-
uint32_t m_status;
|
58
|
-
|
59
|
-
addr64 m_taskDesc;
|
60
|
-
addr64 m_lsMemory;
|
61
|
-
|
62
|
-
}
|
63
|
-
__attribute__ ((aligned (128)))
|
64
|
-
;
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
#ifndef __SPU__
|
69
|
-
|
70
|
-
#include "LinearMath/btAlignedObjectArray.h"
|
71
|
-
#include "SpuCollisionTaskProcess.h"
|
72
|
-
#include "SpuSampleTaskProcess.h"
|
73
|
-
#include "btThreadSupportInterface.h"
|
74
|
-
#include <libspe2.h>
|
75
|
-
#include <pthread.h>
|
76
|
-
#include <sched.h>
|
77
|
-
|
78
|
-
#define MAX_SPUS 4
|
79
|
-
|
80
|
-
typedef struct ppu_pthread_data
|
81
|
-
{
|
82
|
-
spe_context_ptr_t context;
|
83
|
-
pthread_t pthread;
|
84
|
-
unsigned int entry;
|
85
|
-
unsigned int flags;
|
86
|
-
addr64 argp;
|
87
|
-
addr64 envp;
|
88
|
-
spe_stop_info_t stopinfo;
|
89
|
-
} ppu_pthread_data_t;
|
90
|
-
|
91
|
-
|
92
|
-
static void *ppu_pthread_function(void *arg)
|
93
|
-
{
|
94
|
-
ppu_pthread_data_t * datap = (ppu_pthread_data_t *)arg;
|
95
|
-
/*
|
96
|
-
int rc;
|
97
|
-
do
|
98
|
-
{*/
|
99
|
-
spe_context_run(datap->context, &datap->entry, datap->flags, datap->argp.p, datap->envp.p, &datap->stopinfo);
|
100
|
-
if (datap->stopinfo.stop_reason == SPE_EXIT)
|
101
|
-
{
|
102
|
-
if (datap->stopinfo.result.spe_exit_code != 0)
|
103
|
-
{
|
104
|
-
perror("FAILED: SPE returned a non-zero exit status: \n");
|
105
|
-
exit(1);
|
106
|
-
}
|
107
|
-
}
|
108
|
-
else
|
109
|
-
{
|
110
|
-
perror("FAILED: SPE abnormally terminated\n");
|
111
|
-
exit(1);
|
112
|
-
}
|
113
|
-
|
114
|
-
|
115
|
-
//} while (rc > 0); // loop until exit or error, and while any stop & signal
|
116
|
-
pthread_exit(NULL);
|
117
|
-
}
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
///SpuLibspe2Support helps to initialize/shutdown libspe2, start/stop SPU tasks and communication
|
125
|
-
class SpuLibspe2Support : public btThreadSupportInterface
|
126
|
-
{
|
127
|
-
|
128
|
-
btAlignedObjectArray<btSpuStatus> m_activeSpuStatus;
|
129
|
-
|
130
|
-
public:
|
131
|
-
//Setup and initialize SPU/CELL/Libspe2
|
132
|
-
SpuLibspe2Support(spe_program_handle_t *speprog,int numThreads);
|
133
|
-
|
134
|
-
// SPE program handle ptr.
|
135
|
-
spe_program_handle_t *program;
|
136
|
-
|
137
|
-
// SPE program data
|
138
|
-
ppu_pthread_data_t data[MAX_SPUS];
|
139
|
-
|
140
|
-
//cleanup/shutdown Libspe2
|
141
|
-
~SpuLibspe2Support();
|
142
|
-
|
143
|
-
///send messages to SPUs
|
144
|
-
void sendRequest(uint32_t uiCommand, uint32_t uiArgument0, uint32_t uiArgument1=0);
|
145
|
-
|
146
|
-
//check for messages from SPUs
|
147
|
-
void waitForResponse(unsigned int *puiArgument0, unsigned int *puiArgument1);
|
148
|
-
|
149
|
-
//start the spus (can be called at the beginning of each frame, to make sure that the right SPU program is loaded)
|
150
|
-
virtual void startSPU();
|
151
|
-
|
152
|
-
//tell the task scheduler we are done with the SPU tasks
|
153
|
-
virtual void stopSPU();
|
154
|
-
|
155
|
-
virtual void setNumTasks(int numTasks)
|
156
|
-
{
|
157
|
-
//changing the number of tasks after initialization is not implemented (yet)
|
158
|
-
}
|
159
|
-
|
160
|
-
private:
|
161
|
-
|
162
|
-
///start the spus (can be called at the beginning of each frame, to make sure that the right SPU program is loaded)
|
163
|
-
void internal_startSPU();
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
int numThreads;
|
169
|
-
|
170
|
-
};
|
171
|
-
|
172
|
-
#endif // NOT __SPU__
|
173
|
-
|
174
|
-
#endif //USE_LIBSPE2
|
175
|
-
|
176
|
-
#endif //BT_SPU_LIBSPE2_SUPPORT_H
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|