SpuSampleTaskProcess handles SPU processing of collision pairs. More...
#include <SpuSampleTaskProcess.h>
Public Member Functions | |
SpuSampleTaskProcess (btThreadSupportInterface *threadInterface, int maxNumOutstandingTasks) | |
~SpuSampleTaskProcess () | |
void | initialize () |
call initialize in the beginning of the frame, before addCollisionPairToTask | |
void | issueTask (void *sampleMainMemPtr, int sampleValue, int sampleCommand) |
void | flush () |
call flush to submit potential outstanding work to SPUs and wait for all involved SPUs to be finished | |
Private Member Functions | |
void | postProcess (int taskId, int outputSize) |
Optional PPU-size post processing for each task. | |
Private Attributes | |
btAlignedObjectArray< bool > | m_taskBusy |
btAlignedObjectArray < SpuSampleTaskDesc > | m_spuSampleTaskDesc |
int | m_numBusyTasks |
int | m_currentTask |
bool | m_initialized |
class btThreadSupportInterface * | m_threadInterface |
int | m_maxNumOutstandingTasks |
SpuSampleTaskProcess 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 40 of file SpuSampleTaskProcess.h.
SpuSampleTaskProcess::SpuSampleTaskProcess | ( | btThreadSupportInterface * | threadInterface, | |
int | maxNumOutstandingTasks | |||
) |
Definition at line 61 of file SpuSampleTaskProcess.cpp.
SpuSampleTaskProcess::~SpuSampleTaskProcess | ( | ) |
Definition at line 83 of file SpuSampleTaskProcess.cpp.
void SpuSampleTaskProcess::flush | ( | ) |
call flush to submit potential outstanding work to SPUs and wait for all involved SPUs to be finished
Definition at line 180 of file SpuSampleTaskProcess.cpp.
void SpuSampleTaskProcess::initialize | ( | ) |
call initialize in the beginning of the frame, before addCollisionPairToTask
Definition at line 91 of file SpuSampleTaskProcess.cpp.
void SpuSampleTaskProcess::issueTask | ( | void * | sampleMainMemPtr, | |
int | sampleValue, | |||
int | sampleCommand | |||
) |
Definition at line 108 of file SpuSampleTaskProcess.cpp.
void SpuSampleTaskProcess::postProcess | ( | int | taskId, | |
int | outputSize | |||
) | [private] |
Optional PPU-size post processing for each task.
Definition at line 174 of file SpuSampleTaskProcess.cpp.
int SpuSampleTaskProcess::m_currentTask [private] |
Definition at line 49 of file SpuSampleTaskProcess.h.
bool SpuSampleTaskProcess::m_initialized [private] |
Definition at line 51 of file SpuSampleTaskProcess.h.
int SpuSampleTaskProcess::m_maxNumOutstandingTasks [private] |
Definition at line 57 of file SpuSampleTaskProcess.h.
int SpuSampleTaskProcess::m_numBusyTasks [private] |
Definition at line 46 of file SpuSampleTaskProcess.h.
Definition at line 44 of file SpuSampleTaskProcess.h.
btAlignedObjectArray<bool> SpuSampleTaskProcess::m_taskBusy [private] |
Definition at line 43 of file SpuSampleTaskProcess.h.
class btThreadSupportInterface* SpuSampleTaskProcess::m_threadInterface [private] |
Definition at line 55 of file SpuSampleTaskProcess.h.