Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | ThreadsafeCounter |
class | btTaskSchedulerSequential |
Macros | |
#define | THREAD_LOCAL_STATIC static |
#define | BT_DETECT_BAD_THREAD_INDEX 0 |
Functions | |
unsigned int | btGetCurrentThreadIndex () |
bool | btIsMainThread () |
void | btResetThreadIndexCounter () |
void | btPushThreadsAreRunning () |
void | btPopThreadsAreRunning () |
bool | btThreadsAreRunning () |
void | btSetTaskScheduler (btITaskScheduler *ts) |
btITaskScheduler * | btGetTaskScheduler () |
void | btParallelFor (int iBegin, int iEnd, int grainSize, const btIParallelForBody &body) |
btScalar | btParallelSum (int iBegin, int iEnd, int grainSize, const btIParallelSumBody &body) |
btITaskScheduler * | btGetSequentialTaskScheduler () |
btITaskScheduler * | btGetOpenMPTaskScheduler () |
btITaskScheduler * | btGetTBBTaskScheduler () |
btITaskScheduler * | btGetPPLTaskScheduler () |
Variables | |
static btITaskScheduler * | gBtTaskScheduler =0 |
static int | gThreadsRunningCounter = 0 |
static btSpinMutex | gThreadsRunningCounterMutex |
static ThreadsafeCounter | gThreadCounter |
#define BT_DETECT_BAD_THREAD_INDEX 0 |
Definition at line 274 of file btThreads.cpp.
#define THREAD_LOCAL_STATIC static |
Definition at line 212 of file btThreads.cpp.
unsigned int btGetCurrentThreadIndex | ( | ) |
Definition at line 290 of file btThreads.cpp.
References BT_MAX_THREAD_COUNT, btAssert, gBtTaskScheduler, ThreadsafeCounter::getNext(), gThreadCounter, THREAD_LOCAL_STATIC, and U.
Referenced by btIsMainThread(), btQuickprofGetCurrentThreadIndex2(), btSetTaskScheduler(), btCollisionDispatcherMt::getNewManifold(), and btDbvtBroadphase::rayTest().
btITaskScheduler* btGetOpenMPTaskScheduler | ( | ) |
Definition at line 762 of file btThreads.cpp.
References NULL.
btITaskScheduler* btGetPPLTaskScheduler | ( | ) |
Definition at line 784 of file btThreads.cpp.
References NULL.
btITaskScheduler* btGetSequentialTaskScheduler | ( | ) |
Definition at line 755 of file btThreads.cpp.
btITaskScheduler* btGetTaskScheduler | ( | ) |
Definition at line 407 of file btThreads.cpp.
References gBtTaskScheduler.
Referenced by btCollisionDispatcherMt::btCollisionDispatcherMt(), and writeGrainSizes().
btITaskScheduler* btGetTBBTaskScheduler | ( | ) |
Definition at line 773 of file btThreads.cpp.
References NULL.
bool btIsMainThread | ( | ) |
Definition at line 324 of file btThreads.cpp.
References btGetCurrentThreadIndex().
Referenced by btResetThreadIndexCounter().
void btParallelFor | ( | int | iBegin, |
int | iEnd, | ||
int | grainSize, | ||
const btIParallelForBody & | body | ||
) |
Definition at line 412 of file btThreads.cpp.
References BT_MAX_THREAD_COUNT, btAssert, btThreadsAreRunning(), btIParallelForBody::forLoop(), gBtTaskScheduler, NULL, and btITaskScheduler::parallelFor().
Referenced by allocAllContactConstraints(), btCollisionDispatcherMt::dispatchAllCollisionPairs(), expandConstraintRowsMt(), initBatchedConstraintInfo(), btSimulationIslandManagerMt::parallelIslandDispatch(), setupAllContactConstraints(), setupSpatialGridBatchesMt(), updateConstraintBatchIdsForMergesMt(), and writeOutConstraintIndicesMt().
btScalar btParallelSum | ( | int | iBegin, |
int | iEnd, | ||
int | grainSize, | ||
const btIParallelSumBody & | body | ||
) |
Definition at line 439 of file btThreads.cpp.
References BT_MAX_THREAD_COUNT, btAssert, btThreadsAreRunning(), gBtTaskScheduler, NULL, btITaskScheduler::parallelSum(), and btIParallelSumBody::sumLoop().
Referenced by resolveAllContactConstraints(), resolveAllContactConstraintsInterleaved(), resolveAllContactFrictionConstraints(), resolveAllJointConstraints(), and resolveAllRollingFrictionConstraints().
void btPopThreadsAreRunning | ( | ) |
Definition at line 374 of file btThreads.cpp.
References gThreadsRunningCounter, gThreadsRunningCounterMutex, btSpinMutex::lock(), and btSpinMutex::unlock().
void btPushThreadsAreRunning | ( | ) |
Definition at line 367 of file btThreads.cpp.
References gThreadsRunningCounter, gThreadsRunningCounterMutex, btSpinMutex::lock(), and btSpinMutex::unlock().
void btResetThreadIndexCounter | ( | ) |
Definition at line 329 of file btThreads.cpp.
References btAssert, btIsMainThread(), gThreadCounter, and ThreadsafeCounter::mCounter.
void btSetTaskScheduler | ( | btITaskScheduler * | ts | ) |
Definition at line 386 of file btThreads.cpp.
References btITaskScheduler::activate(), btAssert, btGetCurrentThreadIndex(), btITaskScheduler::deactivate(), and gBtTaskScheduler.
bool btThreadsAreRunning | ( | ) |
Definition at line 381 of file btThreads.cpp.
References gThreadsRunningCounter.
Referenced by btParallelFor(), and btParallelSum().
|
static |
Definition at line 244 of file btThreads.cpp.
Referenced by btGetCurrentThreadIndex(), btGetTaskScheduler(), btParallelFor(), btParallelSum(), and btSetTaskScheduler().
|
static |
Definition at line 247 of file btThreads.cpp.
Referenced by btITaskScheduler::activate(), btGetCurrentThreadIndex(), btQuickprofGetCurrentThreadIndex2(), btResetThreadIndexCounter(), and btITaskScheduler::deactivate().
|
static |
Definition at line 245 of file btThreads.cpp.
Referenced by btPopThreadsAreRunning(), btPushThreadsAreRunning(), and btThreadsAreRunning().
|
static |
Definition at line 246 of file btThreads.cpp.
Referenced by btPopThreadsAreRunning(), and btPushThreadsAreRunning().