[open,refpage='vkGetPhysicalDeviceSurfaceCapabilities2EXT',desc='Query surface capabilities',type='protos'] -- To query the basic capabilities of a surface, needed in order to create a swapchain, call: include::../../api/protos/vkGetPhysicalDeviceSurfaceCapabilities2EXT.txt[] * pname:physicalDevice is the physical device that will be associated with the swapchain to be created, as described for flink:vkCreateSwapchainKHR. * pname:surface is the surface that will be associated with the swapchain. * pname:pSurfaceCapabilities is a pointer to an instance of the slink:VkSurfaceCapabilities2EXT structure in which the capabilities are returned. fname:vkGetPhysicalDeviceSurfaceCapabilities2EXT behaves similarly to flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, with the ability to return extended information by adding extension structures to the pname:pNext chain of its pname:pSurfaceCapabilities parameter. include::../../validity/protos/vkGetPhysicalDeviceSurfaceCapabilities2EXT.txt[] -- [open,refpage='VkSurfaceCapabilities2EXT',desc='Structure describing capabilities of a surface',type='structs'] -- The sname:VkSurfaceCapabilities2EXT structure is defined as: include::../../api/structs/VkSurfaceCapabilities2EXT.txt[] All members of sname:VkSurfaceCapabilities2EXT are identical to the corresponding members of slink:VkSurfaceCapabilitiesKHR where one exists. The remaining members are: * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. * pname:supportedSurfaceCounters is a bitmask of elink:VkSurfaceCounterFlagBitsEXT indicating the supported surface counter types. .Valid Usage **** * [[VUID-VkSurfaceCapabilities2EXT-supportedSurfaceCounters-01246]] pname:supportedSurfaceCounters must: not include ename:VK_SURFACE_COUNTER_VBLANK_EXT unless the surface queried is a <>. **** include::../../validity/structs/VkSurfaceCapabilities2EXT.txt[] -- [open,refpage='VkSurfaceCounterFlagBitsEXT',desc='Surface-relative counter types',type='enums'] -- Bits which can: be set in slink:VkSurfaceCapabilities2EXT::pname:supportedSurfaceCounters, indicating supported surface counter types, are: include::../../api/enums/VkSurfaceCounterFlagBitsEXT.txt[] * ename:VK_SURFACE_COUNTER_VBLANK_EXT specifies a counter incrementing once every time a vertical blanking period occurs on the display associated with the surface. -- [open,refpage='VkSurfaceCounterFlagsEXT',desc='Bitmask of VkSurfaceCounterFlagBitsEXT',type='enums'] -- include::../../api/flags/VkSurfaceCounterFlagsEXT.txt[] sname:VkSurfaceCounterFlagsEXT is a bitmask type for setting a mask of zero or more slink:VkSurfaceCounterFlagBitsEXT. --