Cogs.Core
Public Member Functions | List of all members
Cogs::SyncObjectsCommon Struct Reference
Inheritance diagram for Cogs::SyncObjectsCommon:
Cogs::ISyncObjects

Public Member Functions

virtual FenceHandle createFence () override
 Create a new fence object.
 
virtual void releaseFence (FenceHandle) override
 Release an existing fence object.
 
virtual void resetFence (FenceHandle) override
 Explicitly set fence into unsignalled state unsignalled.
 
virtual bool isFenceSignalled (FenceHandle) override
 Poll to see if a fence has been signalled.
 
virtual bool waitFence (FenceHandle, uint32_t) override
 Try to let CPU wait for a fence to be signalled.
 
virtual FenceHandle createFence ()=0
 Create a new fence object.
 
virtual void releaseFence (FenceHandle fenceHandle)=0
 Release an existing fence object.
 
virtual void resetFence (FenceHandle fenceHandle)=0
 Explicitly set fence into unsignalled state unsignalled.
 
virtual bool isFenceSignalled (FenceHandle fenceHandle)=0
 Poll to see if a fence has been signalled.
 
virtual bool waitFence (FenceHandle fenceHandle, uint32_t timeout_ms)=0
 Try to let CPU wait for a fence to be signalled.
 

Detailed Description

Definition at line 8 of file SyncObjectsCommon.h.

Member Function Documentation

◆ createFence()

virtual FenceHandle Cogs::SyncObjectsCommon::createFence ( )
inlineoverridevirtual

Create a new fence object.

Implements Cogs::ISyncObjects.

Definition at line 10 of file SyncObjectsCommon.h.

References Cogs::Handle_t< Type, Convertible >::NoHandle.

◆ isFenceSignalled()

virtual bool Cogs::SyncObjectsCommon::isFenceSignalled ( FenceHandle  fenceHandle)
inlineoverridevirtual

Poll to see if a fence has been signalled.

Parameters
fenceHandlevalid fence handle.
Returns
True if fence is signalled.

Implements Cogs::ISyncObjects.

Definition at line 13 of file SyncObjectsCommon.h.

◆ releaseFence()

virtual void Cogs::SyncObjectsCommon::releaseFence ( FenceHandle  fenceHandle)
inlineoverridevirtual

Release an existing fence object.

Implements Cogs::ISyncObjects.

Definition at line 11 of file SyncObjectsCommon.h.

◆ resetFence()

virtual void Cogs::SyncObjectsCommon::resetFence ( FenceHandle  fenceHandle)
inlineoverridevirtual

Explicitly set fence into unsignalled state unsignalled.

Parameters
fenceHandlevalid fence handle.

Implements Cogs::ISyncObjects.

Definition at line 12 of file SyncObjectsCommon.h.

◆ waitFence()

virtual bool Cogs::SyncObjectsCommon::waitFence ( FenceHandle  fenceHandle,
uint32_t  timeout_ms 
)
inlineoverridevirtual

Try to let CPU wait for a fence to be signalled.

Note
The function might wait less than the specified timeout, even though the fence was not signalled.

On backends that prohibit blocking, this function will poll the fence status.

Parameters
fenceHandlevalid fence handle.
timeout_msMaximum amount of time to wait.
Returns
True if fence is signalled.

Implements Cogs::ISyncObjects.

Definition at line 14 of file SyncObjectsCommon.h.


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