3#include <spdlog/spdlog.h>
4#include <vulkan/vk_platform.h>
5#include <vulkan/vulkan_core.h>
8#include <vulkan/vulkan.hpp>
9#include <vulkan/vulkan_enums.hpp>
10#include <vulkan/vulkan_handles.hpp>
11#include <vulkan/vulkan_structs.hpp>
35 const ::vk::SurfaceKHR &surface)
38VKAPI_ATTR
auto VKAPI_CALL
39debug_callback(VkDebugUtilsMessageSeverityFlagBitsEXT message_severity,
40 VkDebugUtilsMessageTypeFlagsEXT message_type,
41 const VkDebugUtilsMessengerCallbackDataEXT *p_callback_data,
42 void *p_user_data) -> VkBool32;
45 const auto res = ::vk::enumerateInstanceExtensionProperties();
48 for (
const auto &ext : res.value) {
49 if (std::strcmp(ext.extensionName.data(), name.data())) {
59 const auto res = ::vk::enumerateInstanceLayerProperties();
62 for (
const auto &ext : res.value) {
63 if (std::strcmp(ext.layerName, name.data())) {
73 const ::vk::PhysicalDevice &device) {
74 const auto res = device.enumerateDeviceExtensionProperties();
77 for (
const auto &ext : res.value) {
78 if (std::strcmp(ext.extensionName, name.data())) {
auto get_swapchain_support_details(const ::vk::PhysicalDevice &physical_device, const ::vk::SurfaceKHR &surface) -> expected< SwapchainSupportDetails >
Definition vulkan.cpp:77
auto is_device_extension_supported(const std::string_view &name, const ::vk::PhysicalDevice &device)
Definition vulkan.hpp:72
auto is_extension_supported(const std::string_view &name) -> bool
Definition vulkan.hpp:44
auto load_functions(const ::vk::Instance &instance) -> expected< void >
Definition vulkan.cpp:44
auto is_layer_supported(const std::string_view &name) -> bool
Definition vulkan.hpp:58
auto debug_callback(VkDebugUtilsMessageSeverityFlagBitsEXT severity, VkDebugUtilsMessageTypeFlagsEXT type, const VkDebugUtilsMessengerCallbackDataEXT *msg_data, void *user_data) -> VkBool32
Definition vulkan.cpp:51
std::expected< T, Err > expected
Definition result.hpp:49
::vk::SurfaceCapabilitiesKHR surface_capabilites
Definition vulkan.hpp:27
std::vector<::vk::PresentModeKHR > present_modes
Definition vulkan.hpp:29
std::vector<::vk::SurfaceFormatKHR > surface_formats
Definition vulkan.hpp:28