Bullet Collision Detection & Physics Library
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SpuSampleTaskProcess Class Reference

SpuSampleTaskProcess handles SPU processing of collision pairs. More...

#include <SpuSampleTaskProcess.h>

Collaboration diagram for SpuSampleTaskProcess:
Collaboration graph
[legend]

Public Member Functions

 SpuSampleTaskProcess (btThreadSupportInterface *threadInterface, int maxNumOutstandingTasks)
 
 ~SpuSampleTaskProcess ()
 
void initialize ()
 call initialize in the beginning of the frame, before addCollisionPairToTask More...
 
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 More...
 

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
< SpuSampleTaskDesc
m_spuSampleTaskDesc
 
int m_numBusyTasks
 
int m_currentTask
 
bool m_initialized
 
class btThreadSupportInterfacem_threadInterface
 
int m_maxNumOutstandingTasks
 

Detailed Description

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.

Constructor & Destructor Documentation

SpuSampleTaskProcess::SpuSampleTaskProcess ( btThreadSupportInterface threadInterface,
int  maxNumOutstandingTasks 
)

Definition at line 61 of file SpuSampleTaskProcess.cpp.

SpuSampleTaskProcess::~SpuSampleTaskProcess ( )

Definition at line 83 of file SpuSampleTaskProcess.cpp.

Member Function Documentation

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.

Member Data Documentation

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.

btAlignedObjectArray<SpuSampleTaskDesc> SpuSampleTaskProcess::m_spuSampleTaskDesc
private

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.


The documentation for this class was generated from the following files: