| // Copyright 2018-2021 The Khronos Group, Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| [open,refpage='vkAcquireXlibDisplayEXT',desc='Acquire access to a VkDisplayKHR using Xlib',type='protos'] |
| -- |
| To acquire permission to directly access a display in Vulkan from an X11 |
| server, call: |
| |
| include::{generated}/api/protos/vkAcquireXlibDisplayEXT.txt[] |
| |
| * pname:physicalDevice The physical device the display is on. |
| * pname:dpy A connection to the X11 server that currently owns |
| pname:display. |
| * pname:display The display the caller wishes to control in Vulkan. |
| |
| All permissions necessary to control the display are granted to the Vulkan |
| instance associated with pname:physicalDevice until the display is released |
| or the X11 connection specified by pname:dpy is terminated. |
| Permission to access the display may: be temporarily revoked during periods |
| when the X11 server from which control was acquired itself loses access to |
| pname:display. |
| During such periods, operations which require access to the display must: |
| fail with an approriate error code. |
| If the X11 server associated with pname:dpy does not own pname:display, or |
| if permission to access it has already been acquired by another entity, the |
| call must: return the error code ename:VK_ERROR_INITIALIZATION_FAILED. |
| |
| [NOTE] |
| .Note |
| ==== |
| One example of when an X11 server loses access to a display is when it loses |
| ownership of its virtual terminal. |
| ==== |
| |
| include::{generated}/validity/protos/vkAcquireXlibDisplayEXT.txt[] |
| -- |
| |
| [open,refpage='vkGetRandROutputDisplayEXT',desc='Query the VkDisplayKHR corresponding to an X11 RandR Output',type='protos'] |
| -- |
| When acquiring displays from an X11 server, an application may also wish to |
| enumerate and identify them using a native handle rather than a |
| sname:VkDisplayKHR handle. |
| To determine the sname:VkDisplayKHR handle corresponding to an X11 RandR |
| Output, call: |
| |
| include::{generated}/api/protos/vkGetRandROutputDisplayEXT.txt[] |
| |
| * pname:physicalDevice The physical device to query the display handle on. |
| * pname:dpy A connection to the X11 server from which pname:rrOutput was |
| queried. |
| * pname:rrOutput An X11 RandR output ID. |
| * pname:pDisplay The corresponding slink:VkDisplayKHR handle will be |
| returned here. |
| |
| If there is no slink:VkDisplayKHR corresponding to pname:rrOutput on |
| pname:physicalDevice, dlink:VK_NULL_HANDLE must: be returned in |
| pname:pDisplay. |
| |
| include::{generated}/validity/protos/vkGetRandROutputDisplayEXT.txt[] |
| -- |