Cogs.Core
ISyncObjects.h
1#pragma once
2
3#include "Common.h"
4#include "TextureData.h"
5#include "SamplerState.h"
6
7namespace Cogs
8{
9
14 {
18 virtual FenceHandle createFence() = 0;
19
23 virtual void releaseFence(FenceHandle fenceHandle) = 0;
24
30 virtual void resetFence(FenceHandle fenceHandle) = 0;
31
38 [[nodiscard]] virtual bool isFenceSignalled(FenceHandle fenceHandle) = 0;
39
52 [[nodiscard]] virtual bool waitFence(FenceHandle fenceHandle, uint32_t timeout_ms) = 0;
53 };
54
55}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
Handle template class used to provide opaque, non-converting handles.
Definition: Common.h:22
Provides sync object management.
Definition: ISyncObjects.h:14
virtual bool isFenceSignalled(FenceHandle fenceHandle)=0
Poll to see if a fence has been signalled.
virtual void releaseFence(FenceHandle fenceHandle)=0
Release an existing fence object.
virtual bool waitFence(FenceHandle fenceHandle, uint32_t timeout_ms)=0
Try to let CPU wait for a fence to be signalled.
virtual FenceHandle createFence()=0
Create a new fence object.
virtual void resetFence(FenceHandle fenceHandle)=0
Explicitly set fence into unsignalled state unsignalled.