1// Copyright 2019-2022 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5[open,refpage='VkSwapchainPresentModesCreateInfoEXT',desc='All presentation modes usable by the swapchain',type='structs'] 6-- 7Applications can: modify the presentation mode used by the swapchain on a 8per-presentation basis. 9However, all presentation modes the application intends to use with the 10swapchain must: be specified at swapchain creation time. 11To specify more than one presentation mode when creating a swapchain, 12include the sname:VkSwapchainPresentModesCreateInfoEXT structure in the 13pname:pNext chain of the slink:VkSwapchainCreateInfoKHR structure. 14 15The sname:VkSwapchainPresentModesCreateInfoEXT structure is defined as: 16 17include::{generated}/api/structs/VkSwapchainPresentModesCreateInfoEXT.adoc[] 18 19 * pname:sType is the type of this structure. 20 * pname:pNext is `NULL` or a pointer to a structure extending this 21 structure. 22 * pname:presentModeCount is the number of presentation modes provided. 23 * pname:pPresentModes is a list of presentation modes with 24 pname:presentModeCount entries 25 26.Valid Usage 27**** 28 * [[VUID-VkSwapchainPresentModesCreateInfoEXT-None-07762]] 29 Each entry in pPresentModes must: be one of the elink:VkPresentModeKHR 30 values returned by fname:vkGetPhysicalDeviceSurfacePresentModesKHR for 31 the surface 32 * [[VUID-VkSwapchainPresentModesCreateInfoEXT-pPresentModes-07763]] 33 The entries in pPresentModes must: be a subset of the present modes 34 returned in 35 slink:VkSurfacePresentModeCompatibilityEXT::pname:pPresentModes, given 36 slink:VkSwapchainCreateInfoKHR::pname:presentMode in 37 slink:VkSurfacePresentModeEXT 38 * [[VUID-VkSwapchainPresentModesCreateInfoEXT-presentMode-07764]] 39 slink:VkSwapchainCreateInfoKHR::pname:presentMode must: be included in 40 pname:pPresentModes 41**** 42 43include::{generated}/validity/structs/VkSwapchainPresentModesCreateInfoEXT.adoc[] 44-- 45 46