1#ifndef SDL3PP_VULKAN_H_
2#define SDL3PP_VULKAN_H_
4#include <SDL3/SDL_vulkan.h>
105 return SDL_Vulkan_GetVkGetInstanceProcAddr();
152 auto data =
CheckError(SDL_Vulkan_GetInstanceExtensions(&count));
153 return std::span<char const* const>(data,
size_t(count));
181 const struct VkAllocationCallbacks* allocator,
182 VkSurfaceKHR* surface)
184 CheckError(SDL_Vulkan_CreateSurface(window, instance, allocator, surface));
211 VkSurfaceKHR surface,
212 const struct VkAllocationCallbacks* allocator)
214 SDL_Vulkan_DestroySurface(instance, surface, allocator);
235 VkPhysicalDevice physicalDevice,
238 return SDL_Vulkan_GetPresentationSupport(
239 instance, physicalDevice, queueFamilyIndex);
Helpers to use C++ strings parameters.
Definition: SDL3pp_strings.h:43
constexpr void CheckError(bool result)
Check and throw if returned value from SDL is an error.
Definition: SDL3pp_error.h:198
SDL_FunctionPointer FunctionPointer
A generic function pointer.
Definition: SDL3pp_stdinc.h:6203
Uint32 Uint32
An unsigned 32-bit integer type.
Definition: SDL3pp_stdinc.h:325
FunctionPointer Vulkan_GetVkGetInstanceProcAddr()
Get the address of the vkGetInstanceProcAddr function.
Definition: SDL3pp_vulkan.h:103
std::span< char const *const > Vulkan_GetInstanceExtensions()
Get the Vulkan instance extensions needed for vkCreateInstance.
Definition: SDL3pp_vulkan.h:149
void Vulkan_CreateSurface(WindowParam window, VkInstance instance, const struct VkAllocationCallbacks *allocator, VkSurfaceKHR *surface)
Create a Vulkan rendering surface for a window.
Definition: SDL3pp_vulkan.h:179
void Vulkan_UnloadLibrary()
Unload the Vulkan library previously loaded by Vulkan_LoadLibrary().
Definition: SDL3pp_vulkan.h:128
void Vulkan_LoadLibrary(StringParam path)
Dynamically load the Vulkan loader library.
Definition: SDL3pp_vulkan.h:79
bool Vulkan_GetPresentationSupport(VkInstance instance, VkPhysicalDevice physicalDevice, Uint32 queueFamilyIndex)
Query support for presentation via a given physical device and queue family.
Definition: SDL3pp_vulkan.h:234
void Vulkan_DestroySurface(VkInstance instance, VkSurfaceKHR surface, const struct VkAllocationCallbacks *allocator)
Destroy the Vulkan rendering surface of a window.
Definition: SDL3pp_vulkan.h:210
Main include header for the SDL3pp library.
Safely wrap Window for non owning parameters.
Definition: SDL3pp_video.h:54