RADV Vulkan Driver Lands Out-of-Order Rasterization Support, Small Performance Boost

Written by Michael Larabel in Radeon on 4 April 2018 at 08:26 AM EDT. 8 Comments
RADEON
The Mesa-based RADV Vulkan driver has landed initial support for out-of-rasterization support, but it's currently disabled by default.

Back in 2016 AMD developers introduced the VK_AMD_rasterization_order extension for out-of-order rasterization handling. This VK_AMD_rasterization_order extension has been present since Vulkan 1.0.12 and has already been supported in AMDGPU-PRO.

The out-of-order rasterization mode doesn't enforce ordering guarantees of primitives and in turn may allow better parallel processing. Obviously it's only relevant in cases where the primitive rasterization order is not important.

There is this GPUOpen post from 2016 that announced their VK_AMD_rasterization_order extension. In that post they noted in some Vulkan workloads the performance could be around 10% better.

As of this morning, the VK_AMD_rasterization_order support is in place in Mesa Git but not enabled by default. The RADV_PERFTEST=outoforder environment variable is needed to enable this out-of-order rasterization functionality. Additionally, the extension only works with Volcanic Islands hardware and newer.

This work was done by Valve's Samuel Pitoiset and he notes "small performance improvements" in relevant games. I will be firing up some fresh RADV Git benchmarks in the days ahead.
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