CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
GPUCommandQueue.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 "Common.hpp"
11#include "Forward.hpp"
12
15
19
20namespace CeresEngine {
21
26 template<typename Processor> static constexpr void reflect(Processor&& RTTI) {}
27 };
28
29 class CE_SCRIPT_EXPORT() GPUCommandQueue : public TDeviceObject<GPUCommandQueueDescriptor> {
30 public:
32 using TDeviceObject::TDeviceObject;
33
37
41
42 public:
47 [[nodiscard]] CE_SCRIPT_EXPORT()
48 virtual GPUCommandBufferPtr createCommandBuffer(const GPUCommandBufferDescriptor& descriptor) = 0;
49
50 public:
56 virtual Async<> submit(GPUCommandBuffer& commandBuffer) = 0;
57
61 virtual void wait() = 0;
62 };
63
64} // namespace CeresEngine
#define CE_SCRIPT_EXPORT(...)
The CE_SCRIPT_EXPORT macro marks a class or method as exportable and available in scripting environme...
Definition Macros.hpp:247
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
Definition GPUCommandBuffer.hpp:77
Definition GPUCommandQueue.hpp:29
GPUCommandQueue & operator=(const GPUCommandQueue &)=delete
GPUCommandQueue(GPUCommandQueue &&)=delete
Deleted move constructor.
GPUCommandQueue(const GPUCommandQueue &)=delete
Deleted copy constructor.
GPUCommandQueue & operator=(GPUCommandQueue &&)=delete
Definition Common.hpp:62
Definition Application.hpp:19
cti::continuable< Args... > Async
Defines a non-copyable continuation type which uses the function2 backend for type erasure.
Definition Async.hpp:22
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Command buffer descriptor structure.
Definition GPUCommandBuffer.hpp:32
Command queue descriptor structure.
Definition GPUCommandQueue.hpp:23
static constexpr void reflect(Processor &&RTTI)
Executes the given processor for every field of the struct.
Definition GPUCommandQueue.hpp:26