blob: 16fbbae3501ff90724b786864f0c4355172d2b1f [file] [log] [blame]
// Copyright (c) 2014-2018 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
[[create_shared_swapchains,create_shared_swapchains]]
[open,refpage='vkCreateSharedSwapchainsKHR',desc='Create multiple swapchains that share presentable images',type='protos']
--
When the `VK_KHR_display_swapchain` extension is enabled, multiple
swapchains that share presentable images are created by calling:
include::../../api/protos/vkCreateSharedSwapchainsKHR.txt[]
* pname:device is the device to create the swapchains for.
* pname:swapchainCount is the number of swapchains to create.
* pname:pCreateInfos is a pointer to an array of
slink:VkSwapchainCreateInfoKHR structures specifying the parameters of
the created swapchains.
* pname:pAllocator is the allocator used for host memory allocated for the
swapchain objects when there is no more specific allocator available
(see <<memory-allocation,Memory Allocation>>).
* pname:pSwapchains is a pointer to an array of slink:VkSwapchainKHR
handles in which the created swapchain objects will be returned.
fname:vkCreateSharedSwapchains is similar to flink:vkCreateSwapchainKHR,
except that it takes an array of sname:VkSwapchainCreateInfoKHR structures,
and returns an array of swapchain objects.
The swapchain creation parameters that affect the properties and number of
presentable images must: match between all the swapchains.
If the displays used by any of the swapchains do not use the same
presentable image layout or are incompatible in a way that prevents sharing
images, swapchain creation will fail with the result code
ename:VK_ERROR_INCOMPATIBLE_DISPLAY_KHR.
If any error occurs, no swapchains will be created.
Images presented to multiple swapchains must: be re-acquired from all of
them before transitioning away from ename:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR.
After destroying one or more of the swapchains, the remaining swapchains and
the presentable images can: continue to be used.
include::../../validity/protos/vkCreateSharedSwapchainsKHR.txt[]
--