6#include "TTauri/GUI/GUISystem_base.hpp"
7#include <vulkan/vulkan.hpp>
18 vk::DispatchLoaderDynamic _loader;
20 vk::DebugUtilsMessengerEXT debugUtilsMessager;
56 void initialize() noexcept(false) override;
58 vk::DispatchLoaderDynamic loader() const noexcept {
62 void destroySurfaceKHR(vk::SurfaceKHR surface) {
63 auto lock = std::scoped_lock(guiMutex);
67 static VkBool32 debugUtilsMessageCallback(
68 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
69 VkDebugUtilsMessageTypeFlagsEXT messageType,
70 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
Vulkan GUIDevice controller.
Definition GUISystem_base.hpp:23
Vulkan GUIDevice controller.
Definition GUISystem_vulkan.hpp:14
std::vector< const char * > requiredExtensions
List of extension that where requested when the instance was created.
Definition GUISystem_vulkan.hpp:27
std::vector< const char * > requiredLayers
List of extension that where requested when the instance was created.
Definition GUISystem_vulkan.hpp:30
vk::Instance intrinsic
Vulkan instance.
Definition GUISystem_vulkan.hpp:24
GUISystem_vulkan(GUISystemDelegate *delegate, const std::vector< const char * > extensions)
vk::PhysicalDeviceLimits requiredLimits
List of required limits for each device.
Definition GUISystem_vulkan.hpp:36
vk::PhysicalDeviceFeatures requiredFeatures
List of required features for each device.
Definition GUISystem_vulkan.hpp:33
vk::ApplicationInfo applicationInfo
Application info passed when the instance was created.
Definition GUISystem_vulkan.hpp:39
Definition GUISystemDelegate.hpp:8