Cogs.Rendering
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Cogs::ISyncObjects Struct Referenceabstract

Provides sync object management. More...

#include <ISyncObjects.h>

Public Member Functions

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

Provides sync object management.

Member Function Documentation

◆ createFence()

virtual FenceHandle Cogs::ISyncObjects::createFence ( )
pure virtual

Create a new fence object.

◆ isFenceSignalled()

virtual bool Cogs::ISyncObjects::isFenceSignalled ( FenceHandle  fenceHandle)
pure virtual

Poll to see if a fence has been signalled.

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

◆ releaseFence()

virtual void Cogs::ISyncObjects::releaseFence ( FenceHandle  fenceHandle)
pure virtual

Release an existing fence object.

◆ resetFence()

virtual void Cogs::ISyncObjects::resetFence ( FenceHandle  fenceHandle)
pure virtual

Explicitly set fence into unsignalled state unsignalled.

Parameters
fenceHandlevalid fence handle.

◆ waitFence()

virtual bool Cogs::ISyncObjects::waitFence ( FenceHandle  fenceHandle,
uint32_t  timeout_ms 
)
pure virtual

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.

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