• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_xcb_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_xcb_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 XCB client-side library, as well as a query to determine support for
33rendering via XCB.
34
35=== New Object Types
36
37None
38
39=== New Enum Constants
40
41  * Extending elink:VkStructureType:
42  ** ename:VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR
43
44=== New Enums
45
46None
47
48=== New Structures
49
50  * slink:VkXcbSurfaceCreateInfoKHR
51
52=== New Functions
53
54  * flink:vkCreateXcbSurfaceKHR
55  * flink:vkGetPhysicalDeviceXcbPresentationSupportKHR
56
57=== Issues
58
591) Does XCB 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 an (xcb_connection_t*,
78     xcb_visualid_t) pair.
79   - Removed "root" parameter from CreateXcbSurfaceKHR(), as it is redundant
80     when a window on the same screen is specified as well.
81   - Adjusted wording of issue #1 and added agreed upon resolution.
82
83 * Revision 3, 2015-10-14 (Ian Elliott)
84   - Removed "root" parameter from CreateXcbSurfaceKHR() in one more place.
85
86 * Revision 4, 2015-10-26 (Ian Elliott)
87   - Renamed from VK_EXT_KHR_xcb_surface to VK_KHR_xcb_surface.
88
89 * Revision 5, 2015-10-23 (Daniel Rakos)
90   - Added allocation callbacks to vkCreateXcbSurfaceKHR.
91
92 * Revision 6, 2015-11-28 (Daniel Rakos)
93   - Updated the surface create function to take a pCreateInfo structure.
94