vulkan-3.13: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_acquire_xlib_display

Description

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

Documentation

acquireXlibDisplayEXT Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

physicalDevice The physical device the display is on.

physicalDevice must be a valid PhysicalDevice handle

-> ("dpy" ::: Ptr Display)

dpy A connection to the X11 server that currently owns display.

dpy must be a valid pointer to a Display value

-> DisplayKHR

display The display the caller wishes to control in Vulkan.

display must be a valid DisplayKHR handle

display must have been created, allocated, or retrieved from physicalDevice

-> 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

Success
Failure

See Also

VK_EXT_acquire_xlib_display, DisplayKHR, PhysicalDevice

getRandROutputDisplayEXT Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

physicalDevice The physical device to query the display handle on.

physicalDevice must be a valid PhysicalDevice handle

-> ("dpy" ::: Ptr Display)

dpy A connection to the X11 server from which rrOutput was queried.

dpy must be a valid pointer to a Display value

-> RROutput

rrOutput An X11 RandR output ID.

-> 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

Success
Failure

See Also

VK_EXT_acquire_xlib_display, DisplayKHR, PhysicalDevice

type EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_xlib_display" Source #

newtype DisplayKHR Source #

Constructors

DisplayKHR Word64 

Instances

Instances details
Eq DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Storable DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

type Display = Ptr () Source #