A PxBaseTask implementation with deferred execution and full dependencies. More...
#include <PxTask.h>
Public Member Functions | |
PxTask () | |
virtual | ~PxTask () |
virtual void | release () |
Release method implementation. More... | |
PX_INLINE void | finishBefore (PxTaskID taskID) |
Inform the PxTaskManager this task must finish before the given. More... | |
PX_INLINE void | startAfter (PxTaskID taskID) |
Inform the PxTaskManager this task cannot start until the given. More... | |
PX_INLINE void | addReference () |
Manually increment this task's reference count. The task will not be allowed to run until removeReference() is called. More... | |
PX_INLINE void | removeReference () |
Manually decrement this task's reference count. If the reference count reaches zero, the task will be dispatched. More... | |
PX_INLINE PxI32 | getReference () const |
Return the ref-count for this task. More... | |
PX_INLINE PxTaskID | getTaskID () const |
Return the unique ID for this task. More... | |
virtual void | submitted () |
Called by PxTaskManager at submission time for initialization. More... | |
PX_INLINE void | requestSyncPoint () |
Specify that the GpuTask sync flag be set. More... | |
Public Member Functions inherited from PxBaseTask | |
PxBaseTask () | |
virtual | ~PxBaseTask () |
virtual void | run ()=0 |
The user-implemented run method where the task's work should be performed. More... | |
virtual const char * | getName () const =0 |
Return a user-provided task name for profiling purposes. More... | |
PX_INLINE void | runProfiled (PxU32 threadId=0) |
Execute user run method with wrapping profiling events. More... | |
PX_INLINE void | setProfileStat (PxU16 stat) |
Specify stop event statistic. More... | |
PX_INLINE PxTaskManager * | getTaskManager () const |
Return PxTaskManager to which this task was submitted. More... | |
Protected Attributes | |
PxTaskID | mTaskID |
ID assigned at submission. More... | |
PxU32 | mStreamIndex |
GpuTask CUDA stream index. More... | |
bool | mPreSyncRequired |
GpuTask sync flag. More... | |
Protected Attributes inherited from PxBaseTask | |
PxU16 | mEventID |
Registered profile event ID. More... | |
PxU16 | mProfileStat |
Profiling statistic. More... | |
PxTaskManager * | mTm |
Owning PxTaskManager instance. More... | |
Friends | |
class | PxTaskMgr |
class | PxGpuWorkerThread |
A PxBaseTask implementation with deferred execution and full dependencies.
A PxTask must be submitted to a PxTaskManager to to be executed, Tasks may optionally be named when they are submitted.
|
inline |
|
inlinevirtual |
|
inlinevirtual |
Manually increment this task's reference count. The task will not be allowed to run until removeReference() is called.
Implements PxBaseTask.
References PX_ASSERT.
Inform the PxTaskManager this task must finish before the given.
References PX_ASSERT.
Return the ref-count for this task.
Implements PxBaseTask.
|
inlinevirtual |
Release method implementation.
Implements PxBaseTask.
Reimplemented in PxGpuTask.
References NULL, PX_ASSERT, and PxTaskManager::taskCompleted().
Referenced by PxGpuTask::release().
|
inlinevirtual |
Manually decrement this task's reference count. If the reference count reaches zero, the task will be dispatched.
Implements PxBaseTask.
References PX_ASSERT.
|
inline |
Specify that the GpuTask sync flag be set.
Inform the PxTaskManager this task cannot start until the given.
References PX_ASSERT.
|
inlinevirtual |
Called by PxTaskManager at submission time for initialization.
Perform simulation step initialization here.
|
friend |
|
friend |
|
protected |
GpuTask sync flag.
|
protected |
GpuTask CUDA stream index.
|
protected |
ID assigned at submission.