1// Copyright 2014-2023 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5include::{generated}/meta/{refprefix}VK_KHR_xlib_surface.adoc[] 6 7=== Other Extension Metadata 8 9*Last Modified Date*:: 10 2015-11-28 11*IP Status*:: 12 No known IP claims. 13*Contributors*:: 14 - Patrick Doane, Blizzard 15 - Faith Ekstrand, Intel 16 - Ian Elliott, LunarG 17 - Courtney Goeltzenleuchter, LunarG 18 - Jesse Hall, Google 19 - James Jones, NVIDIA 20 - Antoine Labour, Google 21 - Jon Leech, Khronos 22 - David Mao, AMD 23 - Norbert Nopper, Freescale 24 - Alon Or-bach, Samsung 25 - Daniel Rakos, AMD 26 - Graham Sellers, AMD 27 - Ray Smith, ARM 28 - Jeff Vigil, Qualcomm 29 - Chia-I Wu, LunarG 30 31=== Description 32 33The `VK_KHR_xlib_surface` extension is an instance extension. 34It provides a mechanism to create a slink:VkSurfaceKHR object (defined by 35the `apiext:VK_KHR_surface` extension) that refers to an X11 code:Window, 36using the Xlib client-side library, as well as a query to determine support 37for rendering via Xlib. 38 39include::{generated}/interfaces/VK_KHR_xlib_surface.adoc[] 40 41=== Issues 42 431) Does X11 need a way to query for compatibility between a particular 44physical device and a specific screen? This would be a more general query 45than flink:vkGetPhysicalDeviceSurfaceSupportKHR; if it returned 46ename:VK_TRUE, then the physical device could be assumed to support 47presentation to any window on that screen. 48 49*RESOLVED*: Yes, this is needed for toolkits that want to create a 50slink:VkDevice before creating a window. 51To ensure the query is reliable, it must be made against a particular X 52visual rather than the screen in general. 53 54=== Version History 55 56 * Revision 1, 2015-09-23 (Jesse Hall) 57 ** Initial draft, based on the previous contents of VK_EXT_KHR_swapchain 58 (later renamed VK_EXT_KHR_surface). 59 60 * Revision 2, 2015-10-02 (James Jones) 61 ** Added presentation support query for (Display*, VisualID) pair. 62 ** Removed "`root`" parameter from CreateXlibSurfaceKHR(), as it is 63 redundant when a window on the same screen is specified as well. 64 ** Added appropriate X errors. 65 ** Adjusted wording of issue #1 and added agreed upon resolution. 66 67 * Revision 3, 2015-10-14 (Ian Elliott) 68 ** Renamed this extension from VK_EXT_KHR_x11_surface to 69 VK_EXT_KHR_xlib_surface. 70 71 * Revision 4, 2015-10-26 (Ian Elliott) 72 ** Renamed from VK_EXT_KHR_xlib_surface to VK_KHR_xlib_surface. 73 74 * Revision 5, 2015-11-03 (Daniel Rakos) 75 ** Added allocation callbacks to vkCreateXlibSurfaceKHR. 76 77 * Revision 6, 2015-11-28 (Daniel Rakos) 78 ** Updated the surface create function to take a pCreateInfo structure. 79