7#include "gui_system.hpp"
8#include <vulkan/vulkan.hpp>
19 vk::DispatchLoaderDynamic _loader;
21 vk::DebugUtilsMessengerEXT debugUtilsMessager;
58 void init() noexcept(false) override;
60 vk::DispatchLoaderDynamic loader() const noexcept {
61 ttlet lock = std::scoped_lock(gui_system_mutex);
65 void destroySurfaceKHR(vk::SurfaceKHR surface) {
66 ttlet lock = std::scoped_lock(gui_system_mutex);
70 static VkBool32 debugUtilsMessageCallback(
71 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
72 VkDebugUtilsMessageTypeFlagsEXT messageType,
73 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
Vulkan gui_device controller.
Definition gui_system.hpp:24
Vulkan gui_device controller.
Definition gui_system_vulkan.hpp:15
std::vector< const char * > requiredLayers
List of extension that where requested when the instance was created.
Definition gui_system_vulkan.hpp:31
vk::Instance intrinsic
Vulkan instance.
Definition gui_system_vulkan.hpp:25
gui_system_vulkan(std::weak_ptr< gui_system_delegate > const &delegate, const std::vector< const char * > extensions)
Create an instance of a gui_device.
vk::PhysicalDeviceLimits requiredLimits
List of required limits for each device.
Definition gui_system_vulkan.hpp:37
vk::ApplicationInfo applicationInfo
application info passed when the instance was created.
Definition gui_system_vulkan.hpp:40
vk::PhysicalDeviceFeatures requiredFeatures
List of required features for each device.
Definition gui_system_vulkan.hpp:34
void init() noexcept(false) override
Initialize after construction.
std::vector< const char * > requiredExtensions
List of extension that where requested when the instance was created.
Definition gui_system_vulkan.hpp:28