C Specification

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

// Provided by VK_EXT_acquire_drm_display
VkResult vkAcquireDrmDisplayEXT(
    VkPhysicalDevice                            physicalDevice,
    int32_t                                     drmFd,
    VkDisplayKHR                                display);

Parameters

  • physicalDevice The physical device the display is on.

  • drmFd DRM primary file descriptor.

  • display The display the caller wishes Vulkan to control.

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 VK_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 VK_ERROR_INITIALIZATION_FAILED.

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

Valid Usage (Implicit)
  • VUID-vkAcquireDrmDisplayEXT-physicalDevice-parameter
    physicalDevice must be a valid VkPhysicalDevice handle

  • VUID-vkAcquireDrmDisplayEXT-display-parameter
    display must be a valid VkDisplayKHR handle

  • VUID-vkAcquireDrmDisplayEXT-display-parent
    display must have been created, allocated, or retrieved from physicalDevice

Return Codes
On success, this command returns
  • VK_SUCCESS

On failure, this command returns
  • VK_ERROR_INITIALIZATION_FAILED

See Also

Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2021 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0