Class EXTAcquireXlibDisplay


  • public class EXTAcquireXlibDisplay
    extends java.lang.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
    Contact
    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 Detail

      • VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION

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

        public static final java.lang.String VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME
        The extension name.
        See Also:
        Constant Field Values
    • Method Detail

      • vkAcquireXlibDisplayEXT

        public static int vkAcquireXlibDisplayEXT​(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 looses 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.

        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
        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​(VkPhysicalDevice physicalDevice,
                                                      long dpy,
                                                      long rrOutput,
                                                      long pDisplay)
        Unsafe version of: GetRandROutputDisplayEXT
      • vkGetRandROutputDisplayEXT

        public static int vkGetRandROutputDisplayEXT​(VkPhysicalDevice physicalDevice,
                                                     long dpy,
                                                     long rrOutput,
                                                     java.nio.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
        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​(VkPhysicalDevice physicalDevice,
                                                     long dpy,
                                                     long rrOutput,
                                                     long[] pDisplay)
        Array version of: GetRandROutputDisplayEXT