/ chapters / VK_EXT_display_surface_counter / surface_capabilities.txt
surface_capabilities.txt
 1  [open,refpage='vkGetPhysicalDeviceSurfaceCapabilities2EXT',desc='Query surface capabilities',type='protos']
 2  --
 3  
 4  To query the basic capabilities of a surface, needed in order to create a
 5  swapchain, call:
 6  
 7  include::{generated}/api/protos/vkGetPhysicalDeviceSurfaceCapabilities2EXT.txt[]
 8  
 9    * pname:physicalDevice is the physical device that will be associated with
10      the swapchain to be created, as described for
11      flink:vkCreateSwapchainKHR.
12    * pname:surface is the surface that will be associated with the swapchain.
13    * pname:pSurfaceCapabilities is a pointer to an instance of the
14      slink:VkSurfaceCapabilities2EXT structure in which the capabilities are
15      returned.
16  
17  fname:vkGetPhysicalDeviceSurfaceCapabilities2EXT behaves similarly to
18  flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, with the ability to return
19  extended information by adding extension structures to the pname:pNext chain
20  of its pname:pSurfaceCapabilities parameter.
21  
22  include::{generated}/validity/protos/vkGetPhysicalDeviceSurfaceCapabilities2EXT.txt[]
23  --
24  
25  [open,refpage='VkSurfaceCapabilities2EXT',desc='Structure describing capabilities of a surface',type='structs']
26  --
27  
28  The sname:VkSurfaceCapabilities2EXT structure is defined as:
29  
30  include::{generated}/api/structs/VkSurfaceCapabilities2EXT.txt[]
31  
32  All members of sname:VkSurfaceCapabilities2EXT are identical to the
33  corresponding members of slink:VkSurfaceCapabilitiesKHR where one exists.
34  The remaining members are:
35  
36    * pname:sType is the type of this structure.
37    * pname:pNext is `NULL` or a pointer to an extension-specific structure.
38    * pname:supportedSurfaceCounters is a bitmask of
39      elink:VkSurfaceCounterFlagBitsEXT indicating the supported surface
40      counter types.
41  
42  .Valid Usage
43  ****
44    * [[VUID-VkSurfaceCapabilities2EXT-supportedSurfaceCounters-01246]]
45      pname:supportedSurfaceCounters must: not include
46      ename:VK_SURFACE_COUNTER_VBLANK_EXT unless the surface queried is a
47      <<wsi-display-surfaces,display surface>>.
48  ****
49  
50  include::{generated}/validity/structs/VkSurfaceCapabilities2EXT.txt[]
51  --
52  
53  [open,refpage='VkSurfaceCounterFlagBitsEXT',desc='Surface-relative counter types',type='enums']
54  --
55  
56  Bits which can: be set in
57  slink:VkSurfaceCapabilities2EXT::pname:supportedSurfaceCounters, indicating
58  supported surface counter types, are:
59  
60  include::{generated}/api/enums/VkSurfaceCounterFlagBitsEXT.txt[]
61  
62    * ename:VK_SURFACE_COUNTER_VBLANK_EXT specifies a counter incrementing
63      once every time a vertical blanking period occurs on the display
64      associated with the surface.
65  
66  --
67  
68  [open,refpage='VkSurfaceCounterFlagsEXT',desc='Bitmask of VkSurfaceCounterFlagBitsEXT',type='flags']
69  --
70  include::{generated}/api/flags/VkSurfaceCounterFlagsEXT.txt[]
71  
72  tname:VkSurfaceCounterFlagsEXT is a bitmask type for setting a mask of zero
73  or more elink:VkSurfaceCounterFlagBitsEXT.
74  --
75