Blender V4.3
btThreads.h File Reference
#include "btScalar.h"

Go to the source code of this file.

Classes

class  btSpinMutex
 
class  btIParallelForBody
 
class  btIParallelSumBody
 
class  btITaskScheduler
 

Macros

#define BT_OVERRIDE
 

Functions

bool btIsMainThread ()
 
bool btThreadsAreRunning ()
 
unsigned int btGetCurrentThreadIndex ()
 
void btResetThreadIndexCounter ()
 
SIMD_FORCE_INLINE void btMutexLock (btSpinMutex *mutex)
 
SIMD_FORCE_INLINE void btMutexUnlock (btSpinMutex *mutex)
 
SIMD_FORCE_INLINE bool btMutexTryLock (btSpinMutex *mutex)
 
void btSetTaskScheduler (btITaskScheduler *ts)
 
btITaskSchedulerbtGetTaskScheduler ()
 
btITaskSchedulerbtGetSequentialTaskScheduler ()
 
btITaskSchedulerbtCreateDefaultTaskScheduler ()
 
btITaskSchedulerbtGetOpenMPTaskScheduler ()
 
btITaskSchedulerbtGetTBBTaskScheduler ()
 
btITaskSchedulerbtGetPPLTaskScheduler ()
 
void btParallelFor (int iBegin, int iEnd, int grainSize, const btIParallelForBody &body)
 
btScalar btParallelSum (int iBegin, int iEnd, int grainSize, const btIParallelSumBody &body)
 

Variables

const unsigned int BT_MAX_THREAD_COUNT = 64
 

Macro Definition Documentation

◆ BT_OVERRIDE

#define BT_OVERRIDE

Definition at line 26 of file btThreads.h.

Function Documentation

◆ btCreateDefaultTaskScheduler()

btITaskScheduler * btCreateDefaultTaskScheduler ( )

Definition at line 787 of file btTaskScheduler.cpp.

References NULL.

◆ btGetCurrentThreadIndex()

◆ btGetOpenMPTaskScheduler()

btITaskScheduler * btGetOpenMPTaskScheduler ( )

Definition at line 762 of file btThreads.cpp.

References NULL.

◆ btGetPPLTaskScheduler()

btITaskScheduler * btGetPPLTaskScheduler ( )

Definition at line 784 of file btThreads.cpp.

References NULL.

◆ btGetSequentialTaskScheduler()

btITaskScheduler * btGetSequentialTaskScheduler ( )

Definition at line 755 of file btThreads.cpp.

◆ btGetTaskScheduler()

btITaskScheduler * btGetTaskScheduler ( )

Definition at line 407 of file btThreads.cpp.

References gBtTaskScheduler.

Referenced by btCollisionDispatcherMt::btCollisionDispatcherMt(), and writeGrainSizes().

◆ btGetTBBTaskScheduler()

btITaskScheduler * btGetTBBTaskScheduler ( )

Definition at line 773 of file btThreads.cpp.

References NULL.

◆ btIsMainThread()

bool btIsMainThread ( )

Definition at line 324 of file btThreads.cpp.

References btGetCurrentThreadIndex().

Referenced by btResetThreadIndexCounter().

◆ btMutexLock()

SIMD_FORCE_INLINE void btMutexLock ( btSpinMutex * mutex)

◆ btMutexTryLock()

SIMD_FORCE_INLINE bool btMutexTryLock ( btSpinMutex * mutex)

Definition at line 88 of file btThreads.h.

References mutex.

◆ btMutexUnlock()

SIMD_FORCE_INLINE void btMutexUnlock ( btSpinMutex * mutex)

◆ btParallelFor()

◆ btParallelSum()

◆ btResetThreadIndexCounter()

void btResetThreadIndexCounter ( )

Definition at line 329 of file btThreads.cpp.

References btAssert, btIsMainThread(), gThreadCounter, and ThreadsafeCounter::mCounter.

◆ btSetTaskScheduler()

◆ btThreadsAreRunning()

bool btThreadsAreRunning ( )

Definition at line 381 of file btThreads.cpp.

References gThreadsRunningCounter.

Referenced by btParallelFor(), and btParallelSum().

Variable Documentation

◆ BT_MAX_THREAD_COUNT

const unsigned int BT_MAX_THREAD_COUNT = 64