SDL Wiki
(This is the documentation for SDL3, which is under heavy development and the API is changing! SDL2 is the current stable version!)


Create a Vulkan rendering surface for a window.


SDL_bool SDL_Vulkan_CreateSurface(SDL_Window *window,
                                  VkInstance instance,
                                  const struct VkAllocationCallbacks *allocator,
                                  VkSurfaceKHR* surface);

Function Parameters

window The window to which to attach the Vulkan surface
instance The Vulkan instance handle
allocator A VkAllocationCallbacks struct, which lets the app set the allocator that creates the surface. Can be NULL.
surface A pointer to a VkSurfaceKHR handle to output the newly created surface

Return Value

Returns SDL_TRUE on success, SDL_FALSE on error.


The window must have been created with the SDL_WINDOW_VULKAN flag and instance must have been created with extensions returned by SDL_Vulkan_GetInstanceExtensions() enabled.

If allocator is NULL, Vulkan will use the system default allocator. This argument is passed directly to Vulkan and isn't used by SDL itself.


This function is available since SDL 3.0.0.

Code Examples

VkSurfaceKHR surface;

if (!SDL_Vulkan_CreateSurface(window, instance, &surface)) handle_error();

CategoryAPI, CategoryVulkan

[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.