// Copyright (c) 2017 Khronos Group. This work is licensed under a // Creative Commons Attribution 4.0 International License; see // http://creativecommons.org/licenses/by/4.0/ [[VK_KHR_get_surface_capabilities2]] == VK_KHR_get_surface_capabilities2 *Name String*:: +VK_KHR_get_surface_capabilities2+ *Extension Type*:: Instance extension *Registered Extension Number*:: 120 *Last Modified Date*:: 2017-02-27 *Revision*:: 1 *IP Status*:: No known IP claims. *Dependencies*:: - This extension is written against version 1.0 of the Vulkan API. - This extension requires +VK_KHR_surface+. *Contributors*:: - Ian Elliott, Google - James Jones, NVIDIA - Alon Or-bach, Samsung *Contacts*:: - James Jones, NVIDIA 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 <> equivalent of the <> 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, combined with VK_KHR_get_display_properties2 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:vkGetPhysicalDeviceMirPresentationSupportKHR: Not in this extension. * flink:vkGetPhysicalDeviceWin32PresentationSupportKHR: Not in this extension. === Version History * Revision 1, 2017-02-27 (James Jones) - Initial draft.