Cogs.Core
SyncObjectsCommon.h
1#pragma once
2
3#include "../ISyncObjects.h"
4
5namespace Cogs
6{
7
9 {
10 virtual FenceHandle createFence() override { return FenceHandle::NoHandle; }
11 virtual void releaseFence(FenceHandle /*fenceHandle*/) override {}
12 virtual void resetFence(FenceHandle /*fenceHandle*/) override {}
13 virtual bool isFenceSignalled(FenceHandle /*fenceHandle*/) override { return false; }
14 virtual bool waitFence(FenceHandle /*fenceHandle*/, uint32_t /*timeout_ms*/) override { return false; }
15 };
16
17}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
Handle template class used to provide opaque, non-converting handles.
Definition: Common.h:22
static const Handle_t NoHandle
Represents a handle to nothing.
Definition: Common.h:77
Provides sync object management.
Definition: ISyncObjects.h:14
virtual bool waitFence(FenceHandle, uint32_t) override
Try to let CPU wait for a fence to be signalled.
virtual bool isFenceSignalled(FenceHandle) override
Poll to see if a fence has been signalled.
virtual void resetFence(FenceHandle) override
Explicitly set fence into unsignalled state unsignalled.
virtual void releaseFence(FenceHandle) override
Release an existing fence object.
virtual FenceHandle createFence() override
Create a new fence object.