vkGetPhysicalDeviceSurfaceCapabilities2KHR
To query the basic capabilities of a surface defined by the core or extensions, call:
VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
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.pSurfaceCapabilitiesis a pointer to a VkSurfaceCapabilities2KHR structure in which the capabilities are returned.
vkGetPhysicalDeviceSurfaceCapabilities2KHR behaves similarly to
vkGetPhysicalDeviceSurfaceCapabilitiesKHR, with the ability to specify
extended inputs via chained input structures, and to return extended
information via chained output structures.
Valid Usage
VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-pSurfaceInfo-06521
If the VK_GOOGLE_surfaceless_query extension is not enabled,
pSurfaceInfo→surface must be a valid VkSurfaceKHR handle
VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-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
VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-pNext-02671
If a VkSurfaceCapabilitiesFullScreenExclusiveEXT structure is
included in the pNext chain of pSurfaceCapabilities, a
VkSurfaceFullScreenExclusiveWin32InfoEXT structure must be
included in the pNext chain of pSurfaceInfo
VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-pNext-07776
If a VkSurfacePresentModeCompatibilityEXT structure is included in
the pNext chain of pSurfaceCapabilities, a
VkSurfacePresentModeEXT structure must be included in the
pNext chain of pSurfaceInfo
VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-pNext-07777
If a VkSurfacePresentScalingCapabilitiesEXT structure is included
in the pNext chain of pSurfaceCapabilities, a
VkSurfacePresentModeEXT structure must be included in the
pNext chain of pSurfaceInfo
VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-pNext-07778
If a VkSurfacePresentModeCompatibilityEXT structure is included in
the pNext chain of pSurfaceCapabilities,
pSurfaceInfo→surface must be a valid VkSurfaceKHR handle
VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-pNext-07779
If a VkSurfacePresentScalingCapabilitiesEXT structure is included
in the pNext chain of pSurfaceCapabilities,
pSurfaceInfo→surface must be a valid VkSurfaceKHR handle
Valid Usage (Implicit)
VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-physicalDevice-parameter
physicalDevice must be a valid VkPhysicalDevice handle
VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-pSurfaceInfo-parameter
pSurfaceInfo must be a valid pointer to a valid VkPhysicalDeviceSurfaceInfo2KHR structure
VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-pSurfaceCapabilities-parameter
pSurfaceCapabilities must be a valid pointer to a VkSurfaceCapabilities2KHR structure