Intel's Iris Gallium3D OpenGL Driver Now Supports Threaded Shader Compilation
Intel's open-source "Iris" Gallium3D driver for providing modern OpenGL driver support on their graphics hardware from Broadwell through all current Gen12 / Xe Graphics era hardware has been in great shape for some time and works wonderfully. But Intel's not done furthering this Linux OpenGL driver and today they now have threaded shader compilation merged.
Longtime Intel Linux graphics engineer Ian Romanick has been working on threaded shader compilation for the Iris driver. As of this afternoon, the work is now merged for the Mesa 21.3 release in Q4.
This functionality should ideally speed up the shader compilation process when dealing with many shaders and in turn help game load times, etc. However, no performance figures were provided as part of the Git messages.
This threaded shader compile handling will use the number of CPU threads - 1 for systems with 2 to 5 threads, the number of CPU threads - 2 for systems with 6 to 11 threads, or otherwise on larger systems the number of threads * 3 / 4 will be made available during the shader compilation phase.
There still are some further optimizations possible with this Iris threaded compile code, including possibly tweaking the thread count behavior depending upon the big vs. little core layout, but for now it's good enough already for mainlining into upstream Mesa.