Public Member Functions | Private Member Functions | Private Attributes

MiniCLTaskScheduler Class Reference

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

#include <MiniCLTaskScheduler.h>

Collaboration diagram for MiniCLTaskScheduler:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MiniCLTaskScheduler (btThreadSupportInterface *threadInterface, int maxNumOutstandingTasks)
 ~MiniCLTaskScheduler ()
void initialize ()
 call initialize in the beginning of the frame, before addCollisionPairToTask
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
class btThreadSupportInterfacegetThreadSupportInterface ()
int findProgramCommandIdByName (const char *programName) const
int getMaxNumOutstandingTasks () const
void registerKernel (MiniCLKernel *kernel)

Private Member Functions

void postProcess (int taskId, int outputSize)

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 btThreadSupportInterfacem_threadInterface
int m_maxNumOutstandingTasks

Detailed Description

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.


Constructor & Destructor Documentation

MiniCLTaskScheduler::MiniCLTaskScheduler ( btThreadSupportInterface threadInterface,
int  maxNumOutstandingTasks 
)
MiniCLTaskScheduler::~MiniCLTaskScheduler (  ) 

Member Function Documentation

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

int MiniCLTaskScheduler::getMaxNumOutstandingTasks (  )  const [inline]

Definition at line 86 of file MiniCLTaskScheduler.h.

class btThreadSupportInterface* MiniCLTaskScheduler::getThreadSupportInterface (  )  [inline]

Definition at line 79 of file MiniCLTaskScheduler.h.

void MiniCLTaskScheduler::initialize (  ) 

call initialize in the beginning of the frame, before addCollisionPairToTask

void MiniCLTaskScheduler::issueTask ( int  firstWorkUnit,
int  lastWorkUnit,
MiniCLKernel kernel 
)
void MiniCLTaskScheduler::postProcess ( int  taskId,
int  outputSize 
) [private]
void MiniCLTaskScheduler::registerKernel ( MiniCLKernel kernel  )  [inline]

Definition at line 91 of file MiniCLTaskScheduler.h.


Member Data Documentation

Definition at line 54 of file MiniCLTaskScheduler.h.

Definition at line 56 of file MiniCLTaskScheduler.h.

Definition at line 48 of file MiniCLTaskScheduler.h.

Definition at line 62 of file MiniCLTaskScheduler.h.

Definition at line 51 of file MiniCLTaskScheduler.h.

Definition at line 45 of file MiniCLTaskScheduler.h.

Definition at line 44 of file MiniCLTaskScheduler.h.

Definition at line 60 of file MiniCLTaskScheduler.h.


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