Cogs.Core
Public Member Functions | List of all members
Cogs::ISyncObjects Struct Referenceabstract

Provides sync object management. More...

#include <ISyncObjects.h>

Inheritance diagram for Cogs::ISyncObjects:
Cogs::GLSyncObjects Cogs::SyncObjectsCommon Cogs::SyncObjectsD3D11 Cogs::SyncObjectsD3D12

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.

Definition at line 13 of file ISyncObjects.h.

Member Function Documentation

◆ createFence()

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

◆ 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.

Implemented in Cogs::GLSyncObjects, Cogs::SyncObjectsD3D11, Cogs::SyncObjectsD3D12, and Cogs::SyncObjectsCommon.

◆ releaseFence()

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

Release an existing fence object.

Implemented in Cogs::GLSyncObjects, Cogs::SyncObjectsD3D11, Cogs::SyncObjectsD3D12, and Cogs::SyncObjectsCommon.

◆ resetFence()

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

Explicitly set fence into unsignalled state unsignalled.

Parameters
fenceHandlevalid fence handle.

Implemented in Cogs::GLSyncObjects, Cogs::SyncObjectsD3D11, Cogs::SyncObjectsD3D12, and Cogs::SyncObjectsCommon.

◆ 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.

Implemented in Cogs::GLSyncObjects, Cogs::SyncObjectsD3D11, Cogs::SyncObjectsD3D12, and Cogs::SyncObjectsCommon.


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