vkGetPhysicalDeviceSurfaceFormats2KHR
To query the supported swapchain format tuples for a surface, call:
VkResult vkGetPhysicalDeviceSurfaceFormats2KHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
uint32_t* pSurfaceFormatCount,
VkSurfaceFormat2KHR* pSurfaceFormats);
physicalDeviceis the physical device that will be associated with the swapchain to be created, as described for vkCreateSwapchainKHR.pSurfaceInfois a pointer to a VkPhysicalDeviceSurfaceInfo2KHR structure describing the surface and other fixed parameters that would be consumed by vkCreateSwapchainKHR.pSurfaceFormatCountis a pointer to an integer related to the number of format tuples available or queried, as described below.pSurfaceFormatsis eitherNULLor a pointer to an array of VkSurfaceFormat2KHR structures.
vkGetPhysicalDeviceSurfaceFormats2KHR behaves similarly to
vkGetPhysicalDeviceSurfaceFormatsKHR, with the ability to be extended
via pNext chains.
If pSurfaceFormats is NULL, then the number of format tuples
supported for the given surface is returned in
pSurfaceFormatCount.
Otherwise, pSurfaceFormatCount must point to a variable set by the
application to the number of elements in the pSurfaceFormats array,
and on return the variable is overwritten with the number of structures
actually written to pSurfaceFormats.
If the value of pSurfaceFormatCount is less than the number of format
tuples supported, at most pSurfaceFormatCount structures will be
written, and VK_INCOMPLETE will be returned instead of
VK_SUCCESS, to indicate that not all the available values were
returned.
Valid Usage
VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceInfo-06521
If the VK_GOOGLE_surfaceless_query extension is not enabled,
pSurfaceInfo→surface must be a valid VkSurfaceKHR handle
VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceInfo-06522
If pSurfaceInfo→surface is not VK_NULL_HANDLE,
pSurfaceInfo→surface must be supported by physicalDevice,
as reported by vkGetPhysicalDeviceSurfaceSupportKHR or an
equivalent platform-specific mechanism
Valid Usage (Implicit)
VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-physicalDevice-parameter
physicalDevice must be a valid VkPhysicalDevice handle
VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceInfo-parameter
pSurfaceInfo must be a valid pointer to a valid VkPhysicalDeviceSurfaceInfo2KHR structure
VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceFormatCount-parameter
pSurfaceFormatCount must be a valid pointer to a uint32_t value
VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceFormats-parameter
If the value referenced by pSurfaceFormatCount is not 0, and pSurfaceFormats is not NULL, pSurfaceFormats must be a valid pointer to an array of pSurfaceFormatCount VkSurfaceFormat2KHR structures