PxTask implementation for launching CUDA work. More...
#include <PxGpuTask.h>
Public Member Functions | |
PxGpuTask () | |
virtual bool | launchInstance (CUstream stream, int kernelIndex)=0 |
iterative "run" function for a PxGpuTask More... | |
virtual PxGpuTaskHint::Enum | getTaskHint () const =0 |
Returns a hint indicating the function of this task. More... | |
void | setCompletionTask (PxBaseTask &task) |
Specify a task that will have its reference count decremented when this task is released. More... | |
void | release () |
Release method implementation. More... | |
Public Member Functions inherited from physx::PxTask | |
PxTask () | |
virtual | ~PxTask () |
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 int32_t | 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 physx::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_FORCE_INLINE PxTaskManager * | getTaskManager () const |
Return PxTaskManager to which this task was submitted. More... | |
PX_FORCE_INLINE void | setContextId (PxU64 id) |
PX_FORCE_INLINE PxU64 | getContextId () const |
Protected Attributes | |
PxBaseTask * | mComp |
A pointer to the completion task. More... | |
Protected Attributes inherited from physx::PxTask | |
PxTaskID | mTaskID |
ID assigned at submission. More... | |
uint32_t | mStreamIndex |
GpuTask CUDA stream index. More... | |
bool | mPreSyncRequired |
GpuTask sync flag. More... | |
Protected Attributes inherited from physx::PxBaseTask | |
PxU64 | mContextID |
Context ID for profiler interface. More... | |
PxTaskManager * | mTm |
Owning PxTaskManager instance. More... | |
PxTask implementation for launching CUDA work.
|
inline |
|
pure virtual |
Returns a hint indicating the function of this task.
|
pure virtual |
iterative "run" function for a PxGpuTask
The GpuDispatcher acquires the CUDA context for the duration of this function call, and it is highly recommended that the PxGpuTask use the provided CUstream for all kernels.
kernelIndex will be 0 for the initial call and incremented before each subsequent call. Once launchInstance() returns false, its PxGpuTask is considered completed and is released.
|
inlinevirtual |
Release method implementation.
Reimplemented from physx::PxTask.
References mComp, physx::PxTask::release(), and physx::PxBaseTask::removeReference().
|
inline |
Specify a task that will have its reference count decremented when this task is released.
References mComp.
|
protected |
A pointer to the completion task.
Referenced by release(), and setCompletionTask().