3#include <vulkan/vk_platform.h>
4#include <vulkan/vulkan_core.h>
7#include <vulkan/vulkan.hpp>
8#include <vulkan/vulkan_enums.hpp>
9#include <vulkan/vulkan_handles.hpp>
10#include <vulkan/vulkan_structs.hpp>
28 const ::vk::SurfaceKHR& surface)
31VKAPI_ATTR
auto VKAPI_CALL
33 ::vk::DebugUtilsMessageTypeFlagsEXT message_type,
34 const ::vk::DebugUtilsMessengerCallbackDataEXT* p_callback_data,
35 void* p_user_data) -> ::vk::Bool32;
38 const auto res = ::vk::enumerateInstanceExtensionProperties();
41 for (
const auto& ext : res.value) {
42 if (std::strcmp(ext.extensionName.data(), name.data())) {
52 const auto res = ::vk::enumerateInstanceLayerProperties();
55 for (
const auto& ext : res.value) {
56 if (std::strcmp(ext.layerName, name.data())) {
66 const ::vk::PhysicalDevice& device) {
67 const auto res = device.enumerateDeviceExtensionProperties();
70 for (
const auto& ext : res.value) {
71 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:74
auto is_device_extension_supported(const std::string_view &name, const ::vk::PhysicalDevice &device)
Definition vulkan.hpp:65
auto is_extension_supported(const std::string_view &name) -> bool
Definition vulkan.hpp:37
auto load_functions(const ::vk::Instance &instance) -> expected< void >
Definition vulkan.cpp:45
auto is_layer_supported(const std::string_view &name) -> bool
Definition vulkan.hpp:51
auto debug_callback(vk::DebugUtilsMessageSeverityFlagBitsEXT severity, vk::DebugUtilsMessageTypeFlagsEXT type, const vk::DebugUtilsMessengerCallbackDataEXT *msg_data, void *) -> VkBool32
Definition vulkan.cpp:52
std::expected< T, Err > expected
Definition result.hpp:43
::vk::SurfaceCapabilitiesKHR surface_capabilites
Definition vulkan.hpp:20
std::vector<::vk::PresentModeKHR > present_modes
Definition vulkan.hpp:22
std::vector<::vk::SurfaceFormatKHR > surface_formats
Definition vulkan.hpp:21