Native platform surface or window objects are abstracted by surface objects,
which are represented by
// Provided by VK_KHR_surface VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
VK_KHR_surface extension declares the
VkSurfaceKHR object, and
provides a function for destroying
Separate platform-specific extensions each provide a function for creating a
VkSurfaceKHR object for the respective platform.
From the application’s perspective this is an opaque handle, just like the
handles of other Vulkan objects.
On certain platforms, the Vulkan loader and ICDs may have conventions that
treat the handle as a pointer to a structure containing the
platform-specific information about the surface.
This will be described in the documentation for the loader-ICD interface,
and in the
VK_KHR_surface, VkPhysicalDeviceSurfaceInfo2KHR, VkSwapchainCreateInfoKHR, vkCreateDisplayPlaneSurfaceKHR, vkCreateHeadlessSurfaceEXT, vkDestroySurfaceKHR, vkGetDeviceGroupSurfacePresentModesKHR, vkGetPhysicalDevicePresentRectanglesKHR, vkGetPhysicalDeviceSurfaceCapabilities2EXT, vkGetPhysicalDeviceSurfaceCapabilitiesKHR, vkGetPhysicalDeviceSurfaceFormatsKHR, vkGetPhysicalDeviceSurfacePresentModesKHR, vkGetPhysicalDeviceSurfaceSupportKHR
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.