Safe Haskell | None |
---|---|
Language | Haskell2010 |
Name
VK_EXT_acquire_xlib_display - instance extension
VK_EXT_acquire_xlib_display
- Name String
VK_EXT_acquire_xlib_display
- Extension Type
- Instance extension
- Registered Extension Number
- 90
- Revision
- 1
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
VK_EXT_direct_mode_display
- Contact
Other Extension Metadata
- Last Modified Date
- 2016-12-13
- IP Status
- No known IP claims.
- Contributors
- Dave Airlie, Red Hat
- Pierre Boudier, NVIDIA
- James Jones, NVIDIA
- Damien Leone, NVIDIA
- Pierre-Loup Griffais, Valve
- Liam Middlebrook, NVIDIA
- Daniel Vetter, Intel
Description
This extension allows an application to take exclusive control on a display currently associated with an X11 screen. When control is acquired, the display will be deassociated from the X11 screen until control is released or the specified display connection is closed. Essentially, the X11 screen will behave as if the monitor has been unplugged until control is released.
New Commands
New Enum Constants
Issues
1) Should acquireXlibDisplayEXT
take an RandR display ID, or a Vulkan
display handle as input?
RESOLVED: A Vulkan display handle. Otherwise there would be no way to specify handles to displays that had been prevented from being included in the X11 display list by some native platform or vendor-specific mechanism.
2) How does an application figure out which RandR display corresponds to a Vulkan display?
RESOLVED: A new function, getRandROutputDisplayEXT
, is introduced
for this purpose.
3) Should getRandROutputDisplayEXT
be part of this extension, or a
general Vulkan / RandR or Vulkan / Xlib extension?
RESOLVED: To avoid yet another extension, include it in this extension.
Version History
Revision 1, 2016-12-13 (James Jones)
- Initial draft
See Also
acquireXlibDisplayEXT
, getRandROutputDisplayEXT
Document Notes
For more information, see the Vulkan Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- acquireXlibDisplayEXT :: forall io. MonadIO io => PhysicalDevice -> ("dpy" ::: Ptr Display) -> DisplayKHR -> io ()
- getRandROutputDisplayEXT :: forall io. MonadIO io => PhysicalDevice -> ("dpy" ::: Ptr Display) -> RROutput -> io DisplayKHR
- type EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION = 1
- pattern EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION :: forall a. Integral a => a
- type EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_xlib_display"
- pattern EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- type RROutput = Word64
- newtype DisplayKHR = DisplayKHR Word64
- type Display = Ptr ()
Documentation
acquireXlibDisplayEXT Source #
:: forall io. MonadIO io | |
=> PhysicalDevice |
|
-> ("dpy" ::: Ptr Display) |
|
-> DisplayKHR |
|
-> io () |
vkAcquireXlibDisplayEXT - Acquire access to a VkDisplayKHR using Xlib
Description
All permissions necessary to control the display are granted to the
Vulkan instance associated with physicalDevice
until the display is
released or the X11 connection specified by 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 display
. During such periods, operations which require
access to the display must fail with an approriate error code. If the
X11 server associated with dpy
does not own display
, or if
permission to access it has already been acquired by another entity, the
call must return the error code
ERROR_INITIALIZATION_FAILED
.
Note
One example of when an X11 server loses access to a display is when it loses ownership of its virtual terminal.
Return Codes
See Also
getRandROutputDisplayEXT Source #
:: forall io. MonadIO io | |
=> PhysicalDevice |
|
-> ("dpy" ::: Ptr Display) |
|
-> RROutput |
|
-> io DisplayKHR |
vkGetRandROutputDisplayEXT - Query the VkDisplayKHR corresponding to an X11 RandR Output
Description
If there is no DisplayKHR
corresponding to
rrOutput
on physicalDevice
, NULL_HANDLE
must be returned in pDisplay
.
Return Codes
See Also
type EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION = 1 Source #
pattern EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_xlib_display" Source #
pattern EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
newtype DisplayKHR Source #
VkDisplayKHR - Opaque handle to a display object
See Also
DisplayPlanePropertiesKHR
,
DisplayPropertiesKHR
,
acquireWinrtDisplayNV
,
acquireXlibDisplayEXT
,
createDisplayModeKHR
,
displayPowerControlEXT
,
getDisplayModeProperties2KHR
,
getDisplayModePropertiesKHR
,
getDisplayPlaneSupportedDisplaysKHR
,
getRandROutputDisplayEXT
,
getWinrtDisplayNV
,
registerDisplayEventEXT
,
releaseDisplayEXT