C Specification
The VkSurfacePresentModeEXT
structure is defined as:
// Provided by VK_EXT_surface_maintenance1
typedef struct VkSurfacePresentModeEXT {
VkStructureType sType;
void* pNext;
VkPresentModeKHR presentMode;
} VkSurfacePresentModeEXT;
Members
-
sType
is a VkStructureType value identifying this structure. -
pNext
isNULL
or a pointer to a structure extending this structure. -
presentMode
is the presentation mode the swapchain will use.
Description
If the VkSurfacePresentModeEXT
structure is included in the
pNext
chain of VkPhysicalDeviceSurfaceInfo2KHR, the values
returned in VkSurfaceCapabilitiesKHR::minImageCount
,
VkSurfaceCapabilitiesKHR::maxImageCount
,
VkSurfacePresentScalingCapabilitiesEXT::minScaledImageExtent
,
and VkSurfacePresentScalingCapabilitiesEXT::maxScaledImageExtent
are valid only for the specified presentMode
.
If presentMode
is VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR
or
VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
, the per-present mode
image counts must both be one.
The per-present mode image counts may be less-than or greater-than the
image counts returned when VkSurfacePresentModeEXT
is not provided.
Note
If VkSwapchainPresentModesCreateInfoEXT is provided to swapchain
creation, the requirements for forward progress may be less strict.
For example, a FIFO swapchain might only require 2 images to guarantee
forward progress, but a MAILBOX one might require 4.
Without the per-present image counts, such an implementation would have to
return 4 in VkSurfaceCapabilitiesKHR:: VkSwapchainPresentModesCreateInfoEXT is required for the specification to be backwards compatible with applications that do not know about, or make use of this feature. |
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.