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

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.
8 Comments