Zink Lands Threaded Context Support For A Big Speed Boost With OpenGL Over Vulkan
Gallium3D threaded context support is now wired up for Zink including async buffer mapping/replacement, async queue submission, and the async Gallium3D flush handing.
Gallium3D threaded context support has already shown to be a sizable win for the likes of RadeonSI, Freedreno, and as of last month for the Intel Iris driver.
Lead Zink developer Mike Blumenkrantz, continuing to work on this GL-over-VLK code under contract for Valve, confirmed the performance is indeed looking good. With the Zink threaded context support now in place, users should be able to expect roughly 60~70% native performance of Zink compared to the hardware's proper OpenGL drivers. In some cases it may well exceed that 60~70% mark. Mike also noted that the timeline semaphore handling that was also merged to Mesa 21.1-devel should help in reducing CPU overhead for async queue-related work.
I'll be running a number of Zink performance benchmarks this month for showing the OpenGL-on-Vulkan performance - compared to Intel Iris and RadeonSI - around the time of the Mesa 21.1 branching in roughly two weeks. It will be exciting to see what more Zink performance work can squeeze into this next quarterly feature release.