[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