physx::PxTask Class Reference
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. | |
PX_INLINE void | finishBefore (PxTaskID taskID) |
Inform the PxTaskManager this task must finish before the given. | |
PX_INLINE void | startAfter (PxTaskID taskID) |
Inform the PxTaskManager this task cannot start until the given. | |
PX_INLINE void | addReference () |
Manually increment this task's reference count. The task will not be allowed to run until removeReference() is called. | |
PX_INLINE void | removeReference () |
Manually decrement this task's reference count. If the reference count reaches zero, the task will be dispatched. | |
PX_INLINE int32_t | getReference () const |
Return the ref-count for this task. | |
PX_INLINE PxTaskID | getTaskID () const |
Return the unique ID for this task. | |
virtual void | submitted () |
Called by PxTaskManager at submission time for initialization. | |
PX_INLINE void | requestSyncPoint () |
Specify that the GpuTask sync flag be set. | |
Protected Attributes | |
PxTaskID | mTaskID |
ID assigned at submission. | |
uint32_t | mStreamIndex |
GpuTask CUDA stream index. | |
bool | mPreSyncRequired |
GpuTask sync flag. | |
Friends | |
class | PxTaskMgr |
class | PxGpuWorkerThread |
Detailed Description
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.
Constructor & Destructor Documentation
physx::PxTask::PxTask | ( | ) | [inline] |
virtual physx::PxTask::~PxTask | ( | ) | [inline, virtual] |
Member Function Documentation
PX_INLINE void physx::PxTask::addReference | ( | ) | [inline, virtual] |
Manually increment this task's reference count. The task will not be allowed to run until removeReference() is called.
Implements physx::PxBaseTask.
References mTaskID, physx::PxBaseTask::mTm, and PX_ASSERT.
PX_INLINE void physx::PxTask::finishBefore | ( | PxTaskID | taskID | ) | [inline] |
Inform the PxTaskManager this task must finish before the given.
References physx::PxBaseTask::mTm, and PX_ASSERT.
PX_INLINE int32_t physx::PxTask::getReference | ( | ) | const [inline, virtual] |
Return the ref-count for this task.
Implements physx::PxBaseTask.
References mTaskID, and physx::PxBaseTask::mTm.
PX_INLINE PxTaskID physx::PxTask::getTaskID | ( | ) | const [inline] |
virtual void physx::PxTask::release | ( | ) | [inline, virtual] |
Release method implementation.
Implements physx::PxBaseTask.
Reimplemented in physx::PxGpuTask.
References physx::PxBaseTask::mTm, PX_ASSERT, and physx::PxTaskManager::taskCompleted().
PX_INLINE void physx::PxTask::removeReference | ( | ) | [inline, virtual] |
Manually decrement this task's reference count. If the reference count reaches zero, the task will be dispatched.
Implements physx::PxBaseTask.
References mTaskID, physx::PxBaseTask::mTm, and PX_ASSERT.
PX_INLINE void physx::PxTask::requestSyncPoint | ( | ) | [inline] |
PX_INLINE void physx::PxTask::startAfter | ( | PxTaskID | taskID | ) | [inline] |
Inform the PxTaskManager this task cannot start until the given.
References physx::PxBaseTask::mTm, and PX_ASSERT.
virtual void physx::PxTask::submitted | ( | ) | [inline, virtual] |
Called by PxTaskManager at submission time for initialization.
Perform simulation step initialization here.
References mPreSyncRequired, and mStreamIndex.
Friends And Related Function Documentation
friend class PxGpuWorkerThread [friend] |
friend class PxTaskMgr [friend] |
Reimplemented from physx::PxBaseTask.
Member Data Documentation
bool physx::PxTask::mPreSyncRequired [protected] |
uint32_t physx::PxTask::mStreamIndex [protected] |
PxTaskID physx::PxTask::mTaskID [protected] |
ID assigned at submission.
Referenced by addReference(), getReference(), getTaskID(), and removeReference().
The documentation for this class was generated from the following file:
Copyright © 2008-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com