Class EXTAcquireDrmDisplay

java.lang.Object
org.lwjgl.vulkan.EXTAcquireDrmDisplay

public class EXTAcquireDrmDisplay extends Object
This extension allows an application to take exclusive control of a display using the Direct Rendering Manager (DRM) interface. When acquired, the display will be under full control of the application until the display is either released or the connector is unplugged.
Name String
VK_EXT_acquire_drm_display
Extension Type
Instance extension
Registered Extension Number
286
Revision
1
Extension and Version Dependencies
VK_EXT_direct_mode_display
Contact
Other Extension Metadata
Last Modified Date
2021-06-09
IP Status
No known IP claims.
Contributors
  • Simon Zeni, Status Holdings, Ltd.
  • Field Details

    • VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION

      public static final int VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION
      The extension specification version.
      See Also:
    • VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME

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

    • vkAcquireDrmDisplayEXT

      public static int vkAcquireDrmDisplayEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int drmFd, long display)
      Acquire access to a VkDisplayKHR using DRM.
      C Specification

      To acquire permission to directly a display in Vulkan from the Direct Rendering Manager (DRM) interface, call:

      
       VkResult vkAcquireDrmDisplayEXT(
           VkPhysicalDevice                            physicalDevice,
           int32_t                                     drmFd,
           VkDisplayKHR                                display);
      Description

      All permissions necessary to control the display are granted to the Vulkan instance associated with the provided physicalDevice until the display is either released or the connector is unplugged. The provided drmFd must correspond to the one owned by the physicalDevice. If not, the error code ERROR_UNKNOWN must be returned. The DRM FD must have DRM master permissions. If any error is encountered during the acquisition of the display, the call must return the error code ERROR_INITIALIZATION_FAILED.

      The provided DRM fd should not be closed before the display is released, attempting to do it may result in undefined behavior.

      Valid Usage (Implicit)
      • physicalDevice must be a valid VkPhysicalDevice handle
      • 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.
      drmFd - DRM primary file descriptor.
      display - The display the caller wishes Vulkan to control.
    • nvkGetDrmDisplayEXT

      public static int nvkGetDrmDisplayEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int drmFd, int connectorId, long display)
      Unsafe version of: GetDrmDisplayEXT
    • vkGetDrmDisplayEXT

      public static int vkGetDrmDisplayEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int drmFd, int connectorId, LongBuffer display)
      Query the VkDisplayKHR corresponding to a DRM connector ID.
      C Specification

      Before acquiring a display from the DRM interface, the caller may want to select a specific VkDisplayKHR handle by identifying it using a connectorId. To do so, call:

      
       VkResult vkGetDrmDisplayEXT(
           VkPhysicalDevice                            physicalDevice,
           int32_t                                     drmFd,
           uint32_t                                    connectorId,
           VkDisplayKHR*                               display);
      Description

      If there is no VkDisplayKHR corresponding to the connectorId on the physicalDevice, the returning display must be NULL_HANDLE. The provided drmFd must correspond to the one owned by the physicalDevice. If not, the error code ERROR_UNKNOWN must be returned. Master permissions are not required, because the file descriptor is just used for information gathering purposes. The given connectorId must be a resource owned by the provided drmFd. If not, the error code ERROR_UNKNOWN must be returned. If any error is encountered during the identification of the display, the call must return the error code ERROR_INITIALIZATION_FAILED.

      Valid Usage (Implicit)
      • physicalDevice must be a valid VkPhysicalDevice handle
      • display 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 from.
      drmFd - DRM primary file descriptor.
      connectorId - Identifier of the specified DRM connector.
      display - The corresponding VkDisplayKHR handle will be returned here.
    • vkGetDrmDisplayEXT

      public static int vkGetDrmDisplayEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int drmFd, int connectorId, long[] display)
      Array version of: GetDrmDisplayEXT