C Specification
The VkSurfacePresentModeCompatibilityKHR
structure is defined as:
// Provided by VK_KHR_surface_maintenance1
typedef struct VkSurfacePresentModeCompatibilityKHR {
VkStructureType sType;
void* pNext;
uint32_t presentModeCount;
VkPresentModeKHR* pPresentModes;
} VkSurfacePresentModeCompatibilityKHR;
or the equivalent
// Provided by VK_EXT_surface_maintenance1
typedef VkSurfacePresentModeCompatibilityKHR VkSurfacePresentModeCompatibilityEXT;
Members
-
sType
is a VkStructureType value identifying this structure. -
pNext
isNULL
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 VkSurfacePresentModeKHR 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
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.
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.