Class EXTAcquireXlibDisplay

java.lang.Object
org.lwjgl.vulkan.EXTAcquireXlibDisplay

public class EXTAcquireXlibDisplay extends Object
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.
Name String
VK_EXT_acquire_xlib_display
Extension Type
Instance extension
Registered Extension Number
90
Revision
1
Extension and Version Dependencies
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
  • Field Details

    • VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION

      public static final int VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION
      The extension specification version.
      See Also:
    • VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME

      public static final String VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME
      The extension name.
      See Also:
  • Method Details

    • vkAcquireXlibDisplayEXT

      public static int vkAcquireXlibDisplayEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long dpy, long display)
      Acquire access to a VkDisplayKHR using Xlib.
      C Specification

      To acquire permission to directly access a display in Vulkan from an X11 server, call:

      
       VkResult vkAcquireXlibDisplayEXT(
           VkPhysicalDevice                            physicalDevice,
           Display*                                    dpy,
           VkDisplayKHR                                display);
      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 appropriate 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.

      Valid Usage (Implicit)
      • physicalDevice must be a valid VkPhysicalDevice handle
      • dpy must be a valid pointer to a Display value
      • display must be a valid VkDisplayKHR handle
      • display must have been created, allocated, or retrieved from physicalDevice
      Return Codes
      On success, this command returns
      On failure, this command returns
      Parameters:
      physicalDevice - The physical device the display is on.
      dpy - A connection to the X11 server that currently owns display.
      display - The display the caller wishes to control in Vulkan.
    • nvkGetRandROutputDisplayEXT

      public static int nvkGetRandROutputDisplayEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long dpy, long rrOutput, long pDisplay)
      Unsafe version of: GetRandROutputDisplayEXT
    • vkGetRandROutputDisplayEXT

      public static int vkGetRandROutputDisplayEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long dpy, long rrOutput, LongBuffer pDisplay)
      Query the VkDisplayKHR corresponding to an X11 RandR Output.
      C Specification

      When acquiring displays from an X11 server, an application may also wish to enumerate and identify them using a native handle rather than a VkDisplayKHR handle. To determine the VkDisplayKHR handle corresponding to an X11 RandR Output, call:

      
       VkResult vkGetRandROutputDisplayEXT(
           VkPhysicalDevice                            physicalDevice,
           Display*                                    dpy,
           RROutput                                    rrOutput,
           VkDisplayKHR*                               pDisplay);
      Description

      If there is no VkDisplayKHR corresponding to rrOutput on physicalDevice, NULL_HANDLE must be returned in pDisplay.

      Valid Usage (Implicit)
      • physicalDevice must be a valid VkPhysicalDevice handle
      • dpy must be a valid pointer to a Display value
      • pDisplay must be a valid pointer to a VkDisplayKHR handle
      Return Codes
      On success, this command returns
      On failure, this command returns
      Parameters:
      physicalDevice - The physical device to query the display handle on.
      dpy - A connection to the X11 server from which rrOutput was queried.
      rrOutput - An X11 RandR output ID.
      pDisplay - The corresponding VkDisplayKHR handle will be returned here.
    • vkGetRandROutputDisplayEXT

      public static int vkGetRandROutputDisplayEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long dpy, long rrOutput, long[] pDisplay)
      Array version of: GetRandROutputDisplayEXT