CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
MTFence.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "Metal.hpp"
11
14
16
17namespace CeresEngine {
18
20 class MTFence final : public GPUFence, public MTDeviceObject<MTFence, GPUFence> {
21 public:
23
24 private:
27
30
31 public:
36
39
42
43 public:
45 void reset() final;
46
49 };
50
51} // namespace CeresEngine
#define CE_EXPLICIT_FALSE
Definition Macros.hpp:416
#define CE_MT_HANDLE(T)
Definition Metal.hpp:20
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
GPUDevice & device
The owning device this object was created from.
Definition Common.hpp:55
Definition GPUFence.hpp:29
Definition Metal.hpp:124
Metal RenderAPI fence object.
Definition MTFence.hpp:20
const GPUFenceDescriptor mDescriptor
A structure that describes the fence and it's properties.
Definition MTFence.hpp:26
MTFence(MTDevicePtr device, const GPUFenceDescriptor &descriptor)
Creates a new MTFence object.
void * MTLFenceType
Definition MTFence.hpp:22
void reset() final
MTLFenceType mFence
The Metal API fence object.
Definition MTFence.hpp:29
~MTFence() final
Destroys the MTFence object.
const Descriptor & descriptor
A structure that describes the object and it's properties.
Definition Common.hpp:69
Definition Application.hpp:19
std::uint64_t UInt64
Definition DataTypes.hpp:26
auto wait()
Awaits (and blocks) until the continuation has finished running.
Definition Async.hpp:226
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition GPUFence.hpp:23