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);
physicalDevice
is the physical device that will be associated with the swapchain to be created, as described for vkCreateSwapchainKHR.pSurfaceInfo
is a pointer to a VkPhysicalDeviceSurfaceInfo2KHR structure describing the surface and other fixed parameters that would be consumed by vkCreateSwapchainKHR.pSurfaceCapabilities
is 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