VkSurfacePresentModeCompatibilityEXT(3)

# VkSurfacePresentModeCompatibilityEXT(3) Manual Page

## Name

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

Loading… please wait.

## C Specification

The `VkSurfacePresentModeCompatibilityEXT` structure is defined as:

    // Provided by VK_EXT_surface_maintenance1
    typedef struct VkSurfacePresentModeCompatibilityEXT {
        VkStructureType      sType;
        void*                pNext;
        uint32_t             presentModeCount;
        VkPresentModeKHR*    pPresentModes;
    } VkSurfacePresentModeCompatibilityEXT;

## Members

- `sType` is the type of 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.

## Description

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 be set by the user 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

## See Also

VK_EXT_surface_maintenance1, VkPresentModeKHR, VkStructureType

## Document Notes

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.

## Copyright

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0