| // Copyright 2014-2021 The Khronos Group, Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_KHR_xlib_surface.txt[] |
| |
| === Other Extension Metadata |
| |
| *Last Modified Date*:: |
| 2015-11-28 |
| *IP Status*:: |
| No known IP claims. |
| *Contributors*:: |
| - Patrick Doane, Blizzard |
| - Jason Ekstrand, Intel |
| - Ian Elliott, LunarG |
| - Courtney Goeltzenleuchter, LunarG |
| - Jesse Hall, Google |
| - James Jones, NVIDIA |
| - Antoine Labour, Google |
| - Jon Leech, Khronos |
| - David Mao, AMD |
| - Norbert Nopper, Freescale |
| - Alon Or-bach, Samsung |
| - Daniel Rakos, AMD |
| - Graham Sellers, AMD |
| - Ray Smith, ARM |
| - Jeff Vigil, Qualcomm |
| - Chia-I Wu, LunarG |
| |
| === Description |
| |
| The `VK_KHR_xlib_surface` extension is an instance extension. |
| It provides a mechanism to create a slink:VkSurfaceKHR object (defined by |
| the `apiext:VK_KHR_surface` extension) that refers to an X11 code:Window, |
| using the Xlib client-side library, as well as a query to determine support |
| for rendering via Xlib. |
| |
| include::{generated}/interfaces/VK_KHR_xlib_surface.txt[] |
| |
| === Issues |
| |
| 1) Does X11 need a way to query for compatibility between a particular |
| physical device and a specific screen? This would be a more general query |
| than flink:vkGetPhysicalDeviceSurfaceSupportKHR; if it returned |
| ename:VK_TRUE, then the physical device could be assumed to support |
| presentation to any window on that screen. |
| |
| *RESOLVED*: Yes, this is needed for toolkits that want to create a |
| slink:VkDevice before creating a window. |
| To ensure the query is reliable, it must be made against a particular X |
| visual rather than the screen in general. |
| |
| === Version History |
| |
| * Revision 1, 2015-09-23 (Jesse Hall) |
| - Initial draft, based on the previous contents of VK_EXT_KHR_swapchain |
| (later renamed VK_EXT_KHR_surface). |
| |
| * Revision 2, 2015-10-02 (James Jones) |
| - Added presentation support query for (Display*, VisualID) pair. |
| - Removed "`root`" parameter from CreateXlibSurfaceKHR(), as it is |
| redundant when a window on the same screen is specified as well. |
| - Added appropriate X errors. |
| - Adjusted wording of issue #1 and added agreed upon resolution. |
| |
| * Revision 3, 2015-10-14 (Ian Elliott) |
| - Renamed this extension from VK_EXT_KHR_x11_surface to |
| VK_EXT_KHR_xlib_surface. |
| |
| * Revision 4, 2015-10-26 (Ian Elliott) |
| - Renamed from VK_EXT_KHR_xlib_surface to VK_KHR_xlib_surface. |
| |
| * Revision 5, 2015-11-03 (Daniel Rakos) |
| - Added allocation callbacks to vkCreateXlibSurfaceKHR. |
| |
| * Revision 6, 2015-11-28 (Daniel Rakos) |
| - Updated the surface create function to take a pCreateInfo structure. |