HORIZON HASKELLDocslts/ghc-9.14.x3e2d5682026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_EXT_acquire_drm_display

Name

VK_EXT_acquire_drm_display - instance extension

VK_EXT_acquire_drm_display

Name String

VK_EXT_acquire_drm_display

Extension Type

Instance extension

Registered Extension Number

286

Revision

1

Ratification Status

Ratified

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.

Description

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.

New Commands

New Enum Constants

Issues

None.

Version History

  • Revision 1, 2021-05-11 (Simon Zeni)

    • Initial draft

See Also

No cross-references are available

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.

  • 3 types
  • 2 values
  • Packagevulkan-3.27
  • Exports7
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_EXT_acquire_drm_display.hs
valueacquireDrmDisplayEXT
  1. :: MonadIO io
  2. => PhysicalDevice

    physicalDevice The physical device the display is on.

    physicalDevice must be a valid PhysicalDevice handle

  3. -> "drmFd" ::: Int32

    drmFd DRM primary file descriptor.

  4. -> DisplayKHR

    display The display the caller wishes Vulkan to control.

    display must be a valid DisplayKHR handle

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

  5. -> io ()
#

vkAcquireDrmDisplayEXT - Acquire access to a VkDisplayKHR using DRM

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 mast⁠er 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.

Return Codes

Success
Failure

See Also

VK_EXT_acquire_drm_display, DisplayKHR, PhysicalDevice

valuegetDrmDisplayEXT
  1. :: MonadIO io
  2. => PhysicalDevice

    physicalDevice The physical device to query the display from.

    physicalDevice must be a valid PhysicalDevice handle

  3. -> "drmFd" ::: Int32

    drmFd DRM primary file descriptor.

  4. -> "connectorId" ::: Word32

    connectorId Identifier of the specified DRM connector.

  5. -> io DisplayKHR
#

vkGetDrmDisplayEXT - Query the VkDisplayKHR corresponding to a DRM connector ID

Description

If there is no DisplayKHR 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. Mast⁠er 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.

Return Codes

Success
Failure

See Also

VK_EXT_acquire_drm_display, DisplayKHR, PhysicalDevice

newtypenewtype DisplayKHR
#
Instances7Eq, Ord, Show, Storable, HasObjectType, IsHandle, …