Mesa Zink Improvements For OpenGL-On-Vulkan Reportedly Make It Faster Than Radeon OpenGL
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:
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.
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!
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!
38 Comments