Structures

VkSurfacePresentModeCompatibilityEXT

Structure describing the subset of compatible presentation modes for the purposes of switching without swapchain recreation

The VkSurfacePresentModeCompatibilityEXT structure is defined as:

typedef struct VkSurfacePresentModeCompatibilityEXT {
    VkStructureType sType;
    void* pNext;
    uint32_t presentModeCount;
    VkPresentModeKHR* pPresentModes;
} VkSurfacePresentModeCompatibilityEXT;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • presentModeCount is an integer related to the number of present modes available or queried, as described below.
  • pPresentModes is a pointer to an array of VkPresentModeKHR in which present modes compatible with a given present mode are returned.

If pPresentModes is NULL, then the number of present modes that are compatible with the one specified in VkSurfacePresentModeEXT is returned in presentModeCount. Otherwise, presentModeCount must point to a variable set by the application to the number of elements in the pPresentModes array, and on return the variable is overwritten with the number of values actually written to pPresentModes. If the value of presentModeCount is less than the number of compatible present modes that are supported, at most presentModeCount values will be written to pPresentModes. The implementation must include the present mode passed to VkSurfacePresentModeEXT in pPresentModes, unless presentModeCount is zero.

Before creating a swapchain whose present modes can be modified through the use of VkSwapchainPresentModesCreateInfoEXT, obtain the set of present modes compatible with a given initial present mode by including a VkSurfacePresentModeEXT structure in the pNext chain of VkPhysicalDeviceSurfaceInfo2KHR when calling vkGetPhysicalDeviceSurfaceCapabilities2KHR.

Valid Usage (Implicit)

VUID-VkSurfacePresentModeCompatibilityEXT-sType-sType

sType must be VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT

VUID-VkSurfacePresentModeCompatibilityEXT-pPresentModes-parameter

If presentModeCount is not 0, and pPresentModes is not NULL, pPresentModes must be a valid pointer to an array of presentModeCount VkPresentModeKHR values