RADV Vulkan Driver Lands Support For External Fences

Written by Michael Larabel in Radeon on 18 December 2017 at 07:52 AM EST. 9 Comments
RADEON
Even with AMD open-sourcing their official Vulkan driver any day now, David Airlie, Bas Nieuwenhuizen, and others independently continue to advance the dissenting RADV Vulkan driver.

The latest to report on RADV is that it now supports external fences and the associated VK_KHR_external_fence_fd extension. External fences for Vulkan is about allowing synchronized access to external memory using fences. Vulkan external memory in turn is about memory outside of the scope of the logical device and can be used for multi-process/device handling and among the current use-cases for Vulkan external memory is SteamVR on Linux.

Initial support for DRM sync objects was added in Linux 4.13 and further improved in Linux 4.14. The just-released libdrm 2.4.89 supports the "syncobj" API for synchronization objects and now RADV builds off this synchronization object API for its external memory fencing implementation.

So if you are using Mesa 17.4-dev Git with the latest libdrm and on the latest Linux kernel, you can have external fences working, including the fence_fd extension. VK_KHR_external_fence_fd is for exporting the fence payload to/from POSIX file descriptors.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week