Mesa Zink Improvements For OpenGL-On-Vulkan Reportedly Make It Faster Than Radeon OpenGL

Written by Michael Larabel in Mesa on 20 August 2022 at 06:25 AM EDT. 38 Comments
MESA
The latest Mesa 22.3-devel code for Zink's OpenGL on Vulkan implementation has hit an important milestone with the latest code refactoring: it looks like this OpenGL implementation atop the Vulkan API with the RADV driver is beginning to outpace AMD's RadeonSI Gallium3D driver providing native OpenGL support for Radeon GPUs.

A goal that seemed elusive when Zink was getting started was whether this generic OpenGL-on-Vulkan driver could outperform a quality, dedicated OpenGL driver. This would have dramatic ramifications especially as hardware vendors could then focus just on Vulkan driver support moving forward without needing to maintain OpenGL support, Zink's growing presence for Windows support would be a big deal there too such as Laminar Research looking to use Zink on Windows for X-Plane, and hopefully reduce the number of OpenGL driver bugs if more efforts were focused on this generic implementation.

As of the latest code merged overnight to Git, it looks like we are possibly approaching that reality with Zink lead developer Mike Blumenkrantz indicating Zink potentially being faster than RadeonSI. Mike Blumenkrantz has been employed by Valve to work on the Zink code for Mesa.

As part of a Zink 2022 refactor: part 3, he ended the merge request with:
overall yields +15% or so for drawoverhead 7 (program changing), making zink faster than radeonsi

no significant binary size increase

The "making zink faster than radeonsi" is a tantalizing statement considering that RadeonSI is the most mature open-source OpenGL driver around that has been well optimized for AMD Radeon GCN GPUs and newer with the investments over the years by AMD, Valve, Red Hat, and the countless other contributors over the years to this main AMD OpenGL driver.

The merged code touches just under one thousand lines of code and has clean-ups, using templates for pipeline management for "big speedups", and other low-level improvements.


Whaaaat!?! I'm running some fresh benchmarks now...


In my Zink vs. RadeonSI benchmarks in May, Zink was running quite close to RadeonSI and in a few rare games/settings even matching or slightly outperforming RadeonSI. Given the progress now over the past three months, this weekend I'll be firing up Mesa Git benchmarks of Zink vs. RadeonSI to see how this driver situation is looking across a broad selection of OpenGL games on Linux. Stay tuned for an exciting round of 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