Even In 2021, Intel Squeezes Some Very Nice Performance Gains Out Of Their OpenGL Driver

Longtime Intel open-source Linux graphics driver developer Kenneth Graunke - who has also been the lead Iris Gallium3D developer over the past three years - merged his work on threaded context support.
With the "u_threaded_context" support merged today to Mesa 21.1-devel, the game Civilization VI is now running 17% faster, Shadow of Mordor and Bioshock Infinite each 6% faster, and even Xonotic clocks in at 6% faster. Meanwhile micro-benchmarks like GfxBench and SynMark are more than 50% faster. These are some impressive gains and I'll be firing up various benchmarks on different Intel Linux graphics systems shortly.
The u_threaded_context functionality for Gallium3D was originally written by AMD for their Gallium3D driver code. The u_threaded_context allows for writes to the command stream to be handled asynchronously off of the main application thread. A few months ago the Zink code began making use of u_threaded_context and now Intel's Iris is as well to great performance success thanks to the extra threading / avoiding driver overhead.
The Intel Iris u_threaded_context support was merged today across the span of several commits in first needing to make the driver more thread-safe. This exciting addition is part of next quarter's Mesa 21.1 release. The GALLIUM_THREAD=0 environment variable can be used for disabling the threaded context behavior if wanting to compare the performance impact as this functionality is enabled by default. Benchmarks soon!
20 Comments