CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
VKRenderAPI.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 "VKCommon.hpp"
11
13
15
17
18namespace CeresEngine {
19
20 class VKDevice;
21
46
85
86} // namespace CeresEngine
#define CE_EXPLICIT_FALSE
Definition Macros.hpp:416
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
Definition DynamicLibrary.hpp:16
Definition RenderAPI.hpp:81
Definition VKDevice.hpp:79
Definition VKRenderAPI.hpp:47
DynamicLibrary library
Definition VKRenderAPI.hpp:51
DebugMessageCallback mDebugMessageCallback
Definition VKRenderAPI.hpp:57
VkInstance mInstance
Definition VKRenderAPI.hpp:52
VKRenderAPI(const RenderAPIDescriptor &descriptor)
GPUDevicePtr getDefaultDevice() final
VkDebugUtilsMessengerEXT mDebugMessenger
Definition VKRenderAPI.hpp:58
VKDevicePtr mDevice
Definition VKRenderAPI.hpp:60
VKFuncTable funcTable
The Vulkan function table.
Definition VKRenderAPI.hpp:55
GPUDevicePtr createDevice(const GPUDeviceDescriptor &descriptor, const DevicePickerFunc &pickerFunc=nullptr) final
static bool available() noexcept
Checks if the Vulkan renderer is available on this system.
Definition Application.hpp:19
std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > Vector
Vector is a sequence container that encapsulates dynamic size arrays.
Definition Vector.hpp:17
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
std::function< bool(const String &type, const String &message)> DebugMessageCallback
Callback interface function that is used whenever the renderer receives a debug message.
Definition RenderAPI.hpp:48
std::function< bool(const GPUDeviceInfo &, const GPURenderingCapabilities &)> DevicePickerFunc
Callback interface for the createDevice method.
Definition RenderAPI.hpp:79
Device descriptor structure.
Definition GPUDevice.hpp:313
Definition RenderAPI.hpp:61
Definition VKLoader.hpp:56
Definition VKRenderAPI.hpp:22
Vector< String > optionalLayers
List of optional Vulkan layers.
Definition VKRenderAPI.hpp:41
Vector< String > requiredExtensions
List of required Vulkan extensions.
Definition VKRenderAPI.hpp:30
bool debug
If set to true, will enable the "VK_EXT_debug_utils" extension.
Definition VKRenderAPI.hpp:25
Vector< String > requiredLayers
List of required Vulkan layers.
Definition VKRenderAPI.hpp:38
DevicePickerFunc defaultDevicePicker
A function that picks the default device.
Definition VKRenderAPI.hpp:44
Vector< String > optionalExtensions
List of optional Vulkan extensions.
Definition VKRenderAPI.hpp:33