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