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

Public Member Functions

FenceHandle createFence () override
 Create a new fence object.
 
void releaseFence (FenceHandle fenceHandle) override
 Release an existing fence object.
 
void resetFence (FenceHandle fenceHandle) override
 Explicitly set fence into unsignalled state unsignalled.
 
bool isFenceSignalled (FenceHandle fenceHandle) override
 Poll to see if a fence has been signalled.
 
bool waitFence (FenceHandle fenceHandle, uint32_t timeout_ms) override
 Try to let CPU wait for a fence to be signalled.
 
void signal (FenceHandle fenceHandle)
 
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.
 

Public Attributes

ResourceMap< FenceHandle, GLFencefences
 

Detailed Description

Definition at line 15 of file SyncObjects.h.

Member Function Documentation

◆ createFence()

Cogs::FenceHandle Cogs::GLSyncObjects::createFence ( )
overridevirtual

Create a new fence object.

Implements Cogs::ISyncObjects.

Definition at line 9 of file SyncObjects.cpp.

◆ isFenceSignalled()

bool Cogs::GLSyncObjects::isFenceSignalled ( FenceHandle  fenceHandle)
overridevirtual

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 37 of file SyncObjects.cpp.

◆ releaseFence()

void Cogs::GLSyncObjects::releaseFence ( FenceHandle  fenceHandle)
overridevirtual

Release an existing fence object.

Implements Cogs::ISyncObjects.

Definition at line 14 of file SyncObjects.cpp.

◆ resetFence()

void Cogs::GLSyncObjects::resetFence ( FenceHandle  fenceHandle)
overridevirtual

Explicitly set fence into unsignalled state unsignalled.

Parameters
fenceHandlevalid fence handle.

Implements Cogs::ISyncObjects.

Definition at line 26 of file SyncObjects.cpp.

◆ signal()

void Cogs::GLSyncObjects::signal ( FenceHandle  fenceHandle)

Definition at line 80 of file SyncObjects.cpp.

◆ waitFence()

bool Cogs::GLSyncObjects::waitFence ( FenceHandle  fenceHandle,
uint32_t  timeout_ms 
)
overridevirtual

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 47 of file SyncObjects.cpp.

Member Data Documentation

◆ fences

ResourceMap<FenceHandle, GLFence> Cogs::GLSyncObjects::fences

Definition at line 25 of file SyncObjects.h.


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