/ appendices / VK_KHR_get_surface_capabilities2.txt
VK_KHR_get_surface_capabilities2.txt
 1  // Copyright (c) 2017-2019 Khronos Group. This work is licensed under a
 2  // Creative Commons Attribution 4.0 International License; see
 3  // http://creativecommons.org/licenses/by/4.0/
 4  
 5  include::meta/VK_KHR_get_surface_capabilities2.txt[]
 6  
 7  *Last Modified Date*::
 8      2017-02-27
 9  *IP Status*::
10      No known IP claims.
11  *Contributors*::
12    - Ian Elliott, Google
13    - James Jones, NVIDIA
14    - Alon Or-bach, Samsung
15  
16  This extension provides new entry points to query device surface
17  capabilities in a way that can be easily extended by other extensions,
18  without introducing any further entry points.
19  This extension can be considered the `<<VK_KHR_surface>>` equivalent of the
20  `<<VK_KHR_get_physical_device_properties2>>` extension.
21  
22  === New Object Types
23  
24  None.
25  
26  === New Enum Constants
27  
28    * Extending elink:VkStructureType:
29    ** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR
30    ** ename:VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR
31    ** ename:VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR
32  
33  === New Enums
34  
35  None.
36  
37  === New Structures
38  
39    * slink:VkPhysicalDeviceSurfaceInfo2KHR
40    * slink:VkSurfaceCapabilities2KHR
41    * slink:VkSurfaceFormat2KHR
42  
43  === New Functions
44  
45    * flink:vkGetPhysicalDeviceSurfaceCapabilities2KHR
46    * flink:vkGetPhysicalDeviceSurfaceFormats2KHR
47  
48  === Issues
49  
50  1) What should this extension be named?
51  
52  *RESOLVED*: `VK_KHR_get_surface_capabilities2`.
53  Other alternatives:
54  
55    * `VK_KHR_surface2`
56    * One extension, combining a separate display-specific query extension.
57  
58  2) Should additional WSI query functions be extended?
59  
60  *RESOLVED*:
61  
62    * flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR: Yes.
63      The need for this motivated the extension.
64    * flink:vkGetPhysicalDeviceSurfaceSupportKHR: No.
65      Currently only has boolean output.
66      Extensions should instead extend
67      flink:vkGetPhysicalDeviceSurfaceCapabilities2KHR.
68    * flink:vkGetPhysicalDeviceSurfaceFormatsKHR: Yes.
69    * flink:vkGetPhysicalDeviceSurfacePresentModesKHR: No.
70      Recent discussion concluded this introduced too much variability for
71      applications to deal with.
72      Extensions should instead extend
73      flink:vkGetPhysicalDeviceSurfaceCapabilities2KHR.
74    * flink:vkGetPhysicalDeviceXlibPresentationSupportKHR: Not in this
75      extension.
76    * flink:vkGetPhysicalDeviceXcbPresentationSupportKHR: Not in this
77      extension.
78    * flink:vkGetPhysicalDeviceWaylandPresentationSupportKHR: Not in this
79      extension.
80    * flink:vkGetPhysicalDeviceWin32PresentationSupportKHR: Not in this
81      extension.
82  
83  === Version History
84  
85   * Revision 1, 2017-02-27 (James Jones)
86     - Initial draft.