[Mesa-dev] [PATCH mesa 0/3] Add VK_KHR_display and friends for radv
Keith Packard
keithp at keithp.com
Fri Dec 22 03:19:12 UTC 2017
Here's an implementation of a suite of extensions necessary to
directly drive displays from the mesa Vulkan implementation:
VK_KHR_display
Provides basic enumeration, control and display to directly
connected devices.
VK_EXT_direct_mode_display
VK_EXT_acquire_xlib_display
These allow the application to borrow an output from X and use
it with Vulkan. The Mesa/DRM implementation is slightly
different from the existing nVidia code as it requires that
the application use RandR to discover the desired output and
convert that to a Vulkan Display using
vkGetRandROutputDisplayEXT. It cannot use the display
enumeration API provided in VK_KHR_display because DRM doesn't
allow normal applications to access any of the display
resources from the kernel.
An application wanting to support both sets of devices will
need to use both enumeration methods.
VK_EXT_display_surface_counter
This lets you tell if the vblank counter from
VK_EXT_display_control is supported.
VK_EXT_display_control
This provides vblank fences for direct displays along with
DPMS control and hotplug events. The implementation provided
here does not wire up the hotplug events.
The previous series included a new extension for passing device
file descriptors directly to the driver; that may still be a nice
thing to have, but isn't required to support HMD displays in a fairly
straightforward fashion.
-keith
More information about the mesa-dev
mailing list