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

Public Member Functions

void setDevice (ResourcePointer< ID3D11Device5 > &device5)
 
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.
 
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, FenceD3D11fences
 

Private Attributes

ResourcePointer< ID3D11Device5 > device5
 

Detailed Description

Definition at line 17 of file SyncObjectsD3D11.h.

Member Function Documentation

◆ createFence()

Cogs::FenceHandle Cogs::SyncObjectsD3D11::createFence ( )
overridevirtual

Create a new fence object.

Implements Cogs::ISyncObjects.

Definition at line 15 of file SyncObjectsD3D11.cpp.

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

◆ isFenceSignalled()

bool Cogs::SyncObjectsD3D11::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 45 of file SyncObjectsD3D11.cpp.

◆ releaseFence()

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

Release an existing fence object.

Implements Cogs::ISyncObjects.

Definition at line 26 of file SyncObjectsD3D11.cpp.

◆ resetFence()

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

Explicitly set fence into unsignalled state unsignalled.

Parameters
fenceHandlevalid fence handle.

Implements Cogs::ISyncObjects.

Definition at line 37 of file SyncObjectsD3D11.cpp.

◆ setDevice()

void Cogs::SyncObjectsD3D11::setDevice ( ResourcePointer< ID3D11Device5 > &  device5)

Definition at line 10 of file SyncObjectsD3D11.cpp.

◆ waitFence()

bool Cogs::SyncObjectsD3D11::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 56 of file SyncObjectsD3D11.cpp.

Member Data Documentation

◆ device5

ResourcePointer<ID3D11Device5> Cogs::SyncObjectsD3D11::device5
private

Definition at line 30 of file SyncObjectsD3D11.h.

◆ fences

ResourceMap<FenceHandle, FenceD3D11> Cogs::SyncObjectsD3D11::fences

Definition at line 27 of file SyncObjectsD3D11.h.


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