|
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.
1.8.6