physx::PxTask Class Reference

A PxBaseTask implementation with deferred execution and full dependencies. More...

#include <PxTask.h>

Inheritance diagram for physx::PxTask:

Inheritance graph
physx::PxGpuTaskphysx::PxBaseTask
[legend]
Collaboration diagram for physx::PxTask:

Collaboration graph
physx::PxBaseTaskphysx::PxTaskManager
[legend]

List of all members.

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]

Return the unique ID for this task.

References mTaskID.

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]

Specify that the GpuTask sync flag be set.

References mPreSyncRequired.

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

GpuTask sync flag.

Referenced by requestSyncPoint(), and submitted().

uint32_t physx::PxTask::mStreamIndex [protected]

GpuTask CUDA stream index.

Referenced by submitted().

ID assigned at submission.

Referenced by addReference(), getReference(), getTaskID(), and removeReference().


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


Copyright © 2008-2018 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com