Structures

VkPhysicalDeviceSurfaceInfo2KHR

Structure specifying a surface and related swapchain creation parameters

The VkPhysicalDeviceSurfaceInfo2KHR structure is defined as:

typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
    VkStructureType sType;
    const void* pNext;
    VkSurfaceKHR surface;
} VkPhysicalDeviceSurfaceInfo2KHR;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • surface is the surface that will be associated with the swapchain.

The members of VkPhysicalDeviceSurfaceInfo2KHR correspond to the arguments to vkGetPhysicalDeviceSurfaceCapabilitiesKHR, with sType and pNext added for extensibility.

Additional capabilities of a surface may be available to swapchains created with different full-screen exclusive settings - particularly if exclusive full-screen access is application controlled. These additional capabilities can be queried by adding a VkSurfaceFullScreenExclusiveInfoEXT structure to the pNext chain of this structure when used to query surface properties. Additionally, for Win32 surfaces with application controlled exclusive full-screen access, chaining a VkSurfaceFullScreenExclusiveWin32InfoEXT structure may also report additional surface capabilities. These additional capabilities only apply to swapchains created with the same parameters included in the pNext chain of VkSwapchainCreateInfoKHR.

Valid Usage

VUID-VkPhysicalDeviceSurfaceInfo2KHR-pNext-02672

If the pNext chain includes a VkSurfaceFullScreenExclusiveInfoEXT structure with its fullScreenExclusive member set to VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT, and surface was created using vkCreateWin32SurfaceKHR, a VkSurfaceFullScreenExclusiveWin32InfoEXT structure must be included in the pNext chain

VUID-VkPhysicalDeviceSurfaceInfo2KHR-surface-07919

If surface is not VK_NULL_HANDLE, and the VK_GOOGLE_surfaceless_query extension is not enabled, surface must be a valid VkSurfaceKHR handle

Valid Usage (Implicit)

VUID-VkPhysicalDeviceSurfaceInfo2KHR-sType-sType

sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR

VUID-VkPhysicalDeviceSurfaceInfo2KHR-pNext-pNext

Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkSurfaceFullScreenExclusiveInfoEXT, VkSurfaceFullScreenExclusiveWin32InfoEXT, or VkSurfacePresentModeEXT

VUID-VkPhysicalDeviceSurfaceInfo2KHR-sType-unique

The sType value of each struct in the pNext chain must be unique