C Specification
To query the supported presentation modes for a surface, call:
// Provided by VK_KHR_surface
VkResult vkGetPhysicalDeviceSurfacePresentModesKHR(
VkPhysicalDevice physicalDevice,
VkSurfaceKHR surface,
uint32_t* pPresentModeCount,
VkPresentModeKHR* pPresentModes);
Parameters
-
physicalDevice
is the physical device that will be associated with the swapchain to be created, as described for vkCreateSwapchainKHR. -
surface
is the surface that will be associated with the swapchain. -
pPresentModeCount
is a pointer to an integer related to the number of presentation modes available or queried, as described below. -
pPresentModes
is eitherNULL
or a pointer to an array of VkPresentModeKHR values, indicating the supported presentation modes.
Description
If pPresentModes
is NULL
, then the number of presentation modes
supported for the given surface
is returned in
pPresentModeCount
.
Otherwise, pPresentModeCount
must point to a variable 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 pPresentModeCount
is less than the number of
presentation modes supported, at most pPresentModeCount
values will be
written, and VK_INCOMPLETE
will be returned instead of
VK_SUCCESS
, to indicate that not all the available modes were
returned.
If the VK_GOOGLE_surfaceless_query
extension is enabled and
surface
is VK_NULL_HANDLE, the values returned in
pPresentModes
will only indicate support for
VK_PRESENT_MODE_FIFO_KHR
,
VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR
, and
VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
.
To query support for any other present mode, a valid handle must be
provided in surface
.
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.