#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