Vulkan-Docs/appendices/VK_KHR_get_surface_capabili...

87 lines
2.5 KiB
Plaintext

// Copyright (c) 2017-2018 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
include::meta/VK_KHR_get_surface_capabilities2.txt[]
*Last Modified Date*::
2017-02-27
*IP Status*::
No known IP claims.
*Contributors*::
- Ian Elliott, Google
- James Jones, NVIDIA
- Alon Or-bach, Samsung
This extension provides new entry points to query device surface
capabilities in a way that can be easily extended by other extensions,
without introducing any further entry points.
This extension can be considered the `<<VK_KHR_surface>>` equivalent of the
`<<VK_KHR_get_physical_device_properties2>>` extension.
=== New Object Types
None.
=== New Enum Constants
* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR
** ename:VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR
** ename:VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR
=== New Enums
None.
=== New Structures
* slink:VkPhysicalDeviceSurfaceInfo2KHR
* slink:VkSurfaceCapabilities2KHR
* slink:VkSurfaceFormat2KHR
=== New Functions
* flink:vkGetPhysicalDeviceSurfaceCapabilities2KHR
* flink:vkGetPhysicalDeviceSurfaceFormats2KHR
=== Issues
1) What should this extension be named?
*RESOLVED*: `VK_KHR_get_surface_capabilities2`.
Other alternatives:
* `VK_KHR_surface2`
* One extension, combining a separate display-specific query extension.
2) Should additional WSI query functions be extended?
*RESOLVED*:
* flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR: Yes.
The need for this motivated the extension.
* flink:vkGetPhysicalDeviceSurfaceSupportKHR: No.
Currently only has boolean output.
Extensions should instead extend
flink:vkGetPhysicalDeviceSurfaceCapabilities2KHR.
* flink:vkGetPhysicalDeviceSurfaceFormatsKHR: Yes.
* flink:vkGetPhysicalDeviceSurfacePresentModesKHR: No.
Recent discussion concluded this introduced too much variability for
applications to deal with.
Extensions should instead extend
flink:vkGetPhysicalDeviceSurfaceCapabilities2KHR.
* flink:vkGetPhysicalDeviceXlibPresentationSupportKHR: Not in this
extension.
* flink:vkGetPhysicalDeviceXcbPresentationSupportKHR: Not in this
extension.
* flink:vkGetPhysicalDeviceWaylandPresentationSupportKHR: Not in this
extension.
* flink:vkGetPhysicalDeviceWin32PresentationSupportKHR: Not in this
extension.
=== Version History
* Revision 1, 2017-02-27 (James Jones)
- Initial draft.