Bullet Collision Detection & Physics Library
|
MiniCLTaskScheduler handles SPU processing of collision pairs. More...
#include <MiniCLTaskScheduler.h>
Public Member Functions | |
MiniCLTaskScheduler (btThreadSupportInterface *threadInterface, int maxNumOutstandingTasks) | |
~MiniCLTaskScheduler () | |
void | initialize () |
call initialize in the beginning of the frame, before addCollisionPairToTask More... | |
void | issueTask (int firstWorkUnit, int lastWorkUnit, MiniCLKernel *kernel) |
void | flush () |
call flush to submit potential outstanding work to SPUs and wait for all involved SPUs to be finished More... | |
class btThreadSupportInterface * | getThreadSupportInterface () |
int | findProgramCommandIdByName (const char *programName) const |
int | getMaxNumOutstandingTasks () const |
void | registerKernel (MiniCLKernel *kernel) |
Private Member Functions | |
void | postProcess (int taskId, int outputSize) |
Optional PPU-size post processing for each task. More... | |
Private Attributes | |
btAlignedObjectArray< bool > | m_taskBusy |
btAlignedObjectArray < MiniCLTaskDesc > | m_spuSampleTaskDesc |
btAlignedObjectArray< const MiniCLKernel * > | m_kernels |
int | m_numBusyTasks |
int | m_currentTask |
bool | m_initialized |
class btThreadSupportInterface * | m_threadInterface |
int | m_maxNumOutstandingTasks |
MiniCLTaskScheduler handles SPU processing of collision pairs.
When PPU issues a task, it will look for completed task buffers PPU will do postprocessing, dependent on workunit output (not likely)
Definition at line 41 of file MiniCLTaskScheduler.h.
MiniCLTaskScheduler::MiniCLTaskScheduler | ( | btThreadSupportInterface * | threadInterface, |
int | maxNumOutstandingTasks | ||
) |
Definition at line 59 of file MiniCLTaskScheduler.cpp.
MiniCLTaskScheduler::~MiniCLTaskScheduler | ( | ) |
Definition at line 83 of file MiniCLTaskScheduler.cpp.
int MiniCLTaskScheduler::findProgramCommandIdByName | ( | const char * | programName | ) | const |
void MiniCLTaskScheduler::flush | ( | ) |
call flush to submit potential outstanding work to SPUs and wait for all involved SPUs to be finished
Definition at line 187 of file MiniCLTaskScheduler.cpp.
|
inline |
Definition at line 86 of file MiniCLTaskScheduler.h.
|
inline |
Definition at line 79 of file MiniCLTaskScheduler.h.
void MiniCLTaskScheduler::initialize | ( | ) |
call initialize in the beginning of the frame, before addCollisionPairToTask
Definition at line 91 of file MiniCLTaskScheduler.cpp.
void MiniCLTaskScheduler::issueTask | ( | int | firstWorkUnit, |
int | lastWorkUnit, | ||
MiniCLKernel * | kernel | ||
) |
Definition at line 108 of file MiniCLTaskScheduler.cpp.
|
private |
Optional PPU-size post processing for each task.
Definition at line 181 of file MiniCLTaskScheduler.cpp.
|
inline |
Definition at line 91 of file MiniCLTaskScheduler.h.
|
private |
Definition at line 54 of file MiniCLTaskScheduler.h.
|
private |
Definition at line 56 of file MiniCLTaskScheduler.h.
|
private |
Definition at line 48 of file MiniCLTaskScheduler.h.
|
private |
Definition at line 62 of file MiniCLTaskScheduler.h.
|
private |
Definition at line 51 of file MiniCLTaskScheduler.h.
|
private |
Definition at line 45 of file MiniCLTaskScheduler.h.
|
private |
Definition at line 44 of file MiniCLTaskScheduler.h.
|
private |
Definition at line 60 of file MiniCLTaskScheduler.h.