Structures

VkSurfacePresentModeCompatibilityKHR

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

The VkSurfacePresentModeCompatibilityKHR structure is defined as:

typedef struct VkSurfacePresentModeCompatibilityKHR {
    VkStructureType sType;
    void* pNext;
    uint32_t presentModeCount;
    VkPresentModeKHR* pPresentModes;
} VkSurfacePresentModeCompatibilityKHR;
typedef VkSurfacePresentModeCompatibilityKHR 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 VkSurfacePresentModeKHR is returned in presentModeCount. Otherwise, presentModeCount must be set by the application to the number of elements in the pPresentModes array, and on return 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 VkSurfacePresentModeKHR in pPresentModes, unless presentModeCount is zero.

To query the set of present modes compatible with a given initial present mode, add a VkSurfacePresentModeKHR structure in the pNext chain of VkPhysicalDeviceSurfaceInfo2KHR when calling vkGetPhysicalDeviceSurfaceCapabilities2KHR.

The application can create a swapchain whose present mode can be modified through the use of VkSwapchainPresentModesCreateInfoKHR.

Valid Usage (Implicit)

VUID-VkSurfacePresentModeCompatibilityKHR-sType-sType

sType must be VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR

VUID-VkSurfacePresentModeCompatibilityKHR-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