To create a swapchain, call:
// Provided by VK_KHR_swapchain VkResult vkCreateSwapchainKHR( VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
deviceis the device to create the swapchain for.
pCreateInfois a pointer to a VkSwapchainCreateInfoKHR structure specifying the parameters of the created swapchain.
pAllocatoris the allocator used for host memory allocated for the swapchain object when there is no more specific allocator available (see Memory Allocation).
pSwapchainis a pointer to a VkSwapchainKHR handle in which the created swapchain object will be returned.
oldSwapchain parameter of
pCreateInfo is a valid
swapchain, which has exclusive full-screen access, that access is released
If the command succeeds in this case, the newly created swapchain will
automatically acquire exclusive full-screen access from
This implicit transfer is intended to avoid exiting and entering full-screen exclusive mode, which may otherwise cause unwanted visual updates to the display.
In some cases, swapchain creation may fail if exclusive full-screen mode is
requested for application control, but for some implementation-specific
reason exclusive full-screen access is unavailable for the particular
combination of parameters provided.
If this occurs,
VK_ERROR_INITIALIZATION_FAILED will be returned.
In particular, it will fail if the
When the VkSurfaceKHR in VkSwapchainCreateInfoKHR is a display
surface, then the VkDisplayModeKHR in display surface’s
VkDisplaySurfaceCreateInfoKHR is associated with a particular
Swapchain creation may fail if that VkDisplayKHR is not acquired by
In this scenario
VK_ERROR_INITIALIZATION_FAILED is returned.
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.