Cogs.Rendering
Loading...
Searching...
No Matches
ISyncObjects.h
Go to the documentation of this file.
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}
Definition: Base.h:24
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.