Cogs.Core
|
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. | |
Provides sync object management.
Definition at line 13 of file ISyncObjects.h.
|
pure virtual |
Create a new fence object.
Implemented in Cogs::SyncObjectsCommon, Cogs::GLSyncObjects, Cogs::SyncObjectsD3D11, and Cogs::SyncObjectsD3D12.
|
pure virtual |
Poll to see if a fence has been signalled.
fenceHandle | valid fence handle. |
Implemented in Cogs::GLSyncObjects, Cogs::SyncObjectsD3D11, Cogs::SyncObjectsD3D12, and Cogs::SyncObjectsCommon.
|
pure virtual |
Release an existing fence object.
Implemented in Cogs::GLSyncObjects, Cogs::SyncObjectsD3D11, Cogs::SyncObjectsD3D12, and Cogs::SyncObjectsCommon.
|
pure virtual |
Explicitly set fence into unsignalled state unsignalled.
fenceHandle | valid fence handle. |
Implemented in Cogs::GLSyncObjects, Cogs::SyncObjectsD3D11, Cogs::SyncObjectsD3D12, and Cogs::SyncObjectsCommon.
|
pure virtual |
Try to let CPU wait for a fence to be signalled.
On backends that prohibit blocking, this function will poll the fence status.
fenceHandle | valid fence handle. |
timeout_ms | Maximum amount of time to wait. |
Implemented in Cogs::GLSyncObjects, Cogs::SyncObjectsD3D11, Cogs::SyncObjectsD3D12, and Cogs::SyncObjectsCommon.