// Copyright 2017-2021 The Khronos Group, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_KHR_get_surface_capabilities2.txt[]

=== Other Extension Metadata

*Last Modified Date*::
    2017-02-27
*IP Status*::
    No known IP claims.
*Contributors*::
  - Ian Elliott, Google
  - James Jones, NVIDIA
  - Alon Or-bach, Samsung

=== Description

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.

include::{generated}/interfaces/VK_KHR_get_surface_capabilities2.txt[]

=== 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.
