vulkan-3.15: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_acquire_drm_display

Description

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
Extension and Version Dependencies
  • Requires Vulkan 1.0
  • Requires 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

acquireDrmDisplayEXT, getDrmDisplayEXT

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.

Synopsis

Documentation

acquireDrmDisplayEXT Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

physicalDevice The physical device the display is on.

physicalDevice must be a valid PhysicalDevice handle

-> ("drmFd" ::: Int32)

drmFd DRM primary file descriptor.

-> 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

-> 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 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 behaviour.

Return Codes

Success
Failure

See Also

VK_EXT_acquire_drm_display, DisplayKHR, PhysicalDevice

getDrmDisplayEXT Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

physicalDevice The physical device to query the display from.

physicalDevice must be a valid PhysicalDevice handle

-> ("drmFd" ::: Int32)

drmFd DRM primary file descriptor.

-> ("connectorId" ::: Word32)

connectorId Identifier of the specified DRM connector.

-> 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 set to 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.

Return Codes

Success
Failure

See Also

VK_EXT_acquire_drm_display, DisplayKHR, PhysicalDevice

type EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" Source #

pattern EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #

newtype DisplayKHR Source #

Constructors

DisplayKHR Word64 

Instances

Instances details
Eq DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Storable DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle DisplayKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles