blob: 535547e8623fe65d0bab20bf968f19453bc331e7 [file] [log] [blame]
// 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[]
--