7#include "gfx_system.hpp"
8#include <vulkan/vulkan.hpp>
18 vk::DispatchLoaderDynamic _loader;
20 vk::DebugUtilsMessengerEXT debugUtilsMessager;
55 void init() noexcept(false) override;
57 [[nodiscard]]
std::unique_ptr<
gfx_surface> make_surface(os_handle instance,
void *os_window) const noexcept override;
59 vk::DispatchLoaderDynamic loader() const noexcept
65 void destroySurfaceKHR(vk::SurfaceKHR surface)
71 static VkBool32 debugUtilsMessageCallback(
72 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
73 VkDebugUtilsMessageTypeFlagsEXT messageType,
74 const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData,
Definition gfx_surface.hpp:16
Graphics system.
Definition gfx_system.hpp:21
Vulkan gfx_device controller.
Definition gfx_system_vulkan.hpp:15
std::vector< const char * > requiredLayers
List of extension that where requested when the instance was created.
Definition gfx_system_vulkan.hpp:30
std::vector< const char * > requiredExtensions
List of extension that where requested when the instance was created.
Definition gfx_system_vulkan.hpp:27
vk::PhysicalDeviceLimits requiredLimits
List of required limits for each device.
Definition gfx_system_vulkan.hpp:36
void init() noexcept(false) override
Initialize after construction.
gfx_system_vulkan()
Create an instance of a gfx_device.
vk::PhysicalDeviceFeatures requiredFeatures
List of required features for each device.
Definition gfx_system_vulkan.hpp:33
vk::Instance intrinsic
Vulkan instance.
Definition gfx_system_vulkan.hpp:24
vk::ApplicationInfo applicationInfo
application info passed when the instance was created.
Definition gfx_system_vulkan.hpp:39
int recurse_lock_count() const noexcept
This function should be used in tt_axiom() to check if the lock is held by current thread.
Definition unfair_recursive_mutex.hpp:60