Commit Graph

19 Commits

Author SHA1 Message Date
erwincoumans
ab8f16961e Code-style consistency improvement:
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00
Lunkhound
45fd4acf6e dynamicsWorldMt: make island mgr aware of whether a parallel solver is present and make handoff from parallel solver to solver-pool more explicit 2018-03-05 20:05:38 -08:00
Lunkhound
b8720f2161 parallel solver: various changes
- threading: adding btSequentialImpulseConstraintSolverMt
 - task scheduler: added parallelSum so that parallel solver can compute residuals
 - CommonRigidBodyMTBase: add slider for solver least squares residual and allow multithreading without needing OpenMP, TBB, or PPL
 - taskScheduler: don't wait for workers to sleep/signal at the end of each parallel block
 - parallel solver: convertContacts split into an allocContactConstraints and setupContactConstraints stage, the latter of which is done in parallel
 - parallel solver: rolling friction is now interleaved along with normal friction
 - parallel solver: batchified split impulse solving + some cleanup
 - parallel solver: sorting batches from largest to smallest
 - parallel solver: added parallel batch creation
 - parallel solver: added warmstartingWriteBackContacts func + other cleanup
 - task scheduler: truncate low bits to preserve determinism with parallelSum
 - parallel solver: reducing dynamic mem allocs and trying to parallelize more of the batch setup
 - parallel solver: parallelize updating constraint batch ids for merging
 - parallel solver: adding debug visualization
 - task scheduler: make TBB task scheduler parallelSum deterministic
 - parallel solver: split batch gen code into separate file; allow selection of batch gen method
 - task scheduler: add sleepWorkerThreadsHint() at end of simulation
 - parallel solver: added grain size per phase
 - task Scheduler: fix for strange threading issue; also no need for main thread to wait for workers to sleep
 - base constraint solver: break out joint setup into separate function for profiling/overriding
 - parallel solver: allow different batching method for contacts vs joints
 - base constraint solver: add convertJoint and convertBodies to make it possible to parallelize joint and body conversion
 - parallel solver: convert joints and bodies in parallel now
 - parallel solver: speed up batch creation with run-length encoding
 - parallel solver: batch gen: run-length expansion in parallel; collect constraint info in parallel
 - parallel solver: adding spatial grid batching method
 - parallel solver: enhancements to spatial grid batching
 - sequential solver: moving code for writing back into functions that derived classes can call
 - parallel solver: do write back of bodies and joints in parallel
 - parallel solver: removed all batching methods except for spatial grid (others were ineffective)
 - parallel solver: added 2D or 3D grid batching options; and a bit of cleanup
 - move btDefaultTaskScheduler into LinearMath project
2018-02-26 22:47:33 -08:00
Lunkhound
79877116e7 CommonRigidBodyMTBase: replace 'stricmp' with 'strcmp' 2017-06-11 10:04:38 -07:00
Lunkhound
f86b9b4fc4 example browser: GUI improvements for CommonRigidBodyMT based demos 2017-06-11 08:15:28 -07:00
Lunkhound
a6a0ea5f54 add task scheduler implemented with thread support interface 2017-05-30 00:21:10 -07:00
Lunkhound
d77c3d5b68 fix compile errors in non-threadsafe build 2017-05-23 02:34:29 -07:00
Lunkhound
dfe184e8d3 Bullet 2 threading refactor: moved parallel-for calls into core libs 2017-05-23 01:01:20 -07:00
Lunkhound
5bc9d431a0 CommonRigidBodyMTBase: replace dynamic_cast (which crashes without RTTI) with static_cast 2017-05-21 03:14:09 -07:00
erwincoumans
ab5a86576f Update CommonRigidBodyMTBase.cpp 2017-02-01 16:04:37 -08:00
Lunkhound
f65644f3e0 fix compile error when BT_THREADSAFE not defined 2017-01-29 21:13:24 -08:00
Lunkhound
b979064817 fix compile error on GCC 2017-01-06 21:20:44 -08:00
Lunkhound
ea0df70c77 example browser: fix for GUI button toggle state 2017-01-02 23:01:22 -08:00
Lunkhound
da03d8ce5a options to change solver type and mode
Conflicts:
	examples/MultiThreadedDemo/CommonRigidBodyMTBase.h
2017-01-02 22:57:48 -08:00
Lunkhound
f7ccf7e5a7 example browser: restore on-screen text 2016-12-20 01:15:39 -08:00
Lunkhound
4300ef45a3 fix missing globals 2016-11-20 18:00:21 -08:00
Lunkhound
49b27f30bd example browser: slider widget improvements 2016-11-20 16:38:11 -08:00
Erwin Coumans
3b5d0f444b various fixes
move btSimulationIslandManagerMt.cpp from BulletCollision to BulletDynamics
2016-11-10 16:18:20 -08:00
erwincoumans
4235c61fcf move CommonRigidBodyMTBase out of interfaces, into MultiThreadedDemo. 2016-11-07 12:08:02 -08:00