We are just a few weeks out from the release of Mesa 17.1 as the latest quarterly update to this important component to the open-source 3D Linux graphics driver stack. With "Mesa 17.1" already having been mentioned in 102 Phoronix articles to date, here's a look at some of the most exciting changes and new features with Mesa 17.1.
For those behind on their Phoronix reading or lose track with our daily coverage of Linux news 365 days per year, Mesa 17.1 highlights include:
- With the other key Mesa drivers already being at OpenGL 4.5 (with the exception of Nouveau not yet exposing GL 4.4/4.5), there isn't too much in terms of major version bumps except for... Intel Ivy Bridge at OpenGL 4.2! Up to now Ivy Bridge has only exposed OpenGL 3.3, but thanks to work done by Igalia and others, OpenGL 4.2 is now reached after finishing up the FP64-related work. So for those still on this generation of Intel hardware prior to Haswell, OpenGL 4.2 is in place but given the age of the Intel integrated graphics, don't expect to do too much Linux gaming still, at least for newer titles.
- Radeon RX Vega support is now present within the RadeonSI Gallium3D driver. But you'll also need AMDGPU support kernel-side: with Linux 4.12 the AMDGPU Vega support doesn't support physical displays, so it won't be until at least Linux 4.13 when that will be mainline. So if you want to use Mesa 17.1 with Radeon RX Vega next month, you will need to build an out-of-tree kernel module. You will also need to be using LLVM 5.0 SVN/Git.
- The Mesa shader cache support was merged both for the TGSI shader cache as well as the RadeonSI binary shader cache! This should help game load times for newer titles. Currently the cache is enabled by default but we'll see if they change that prior to the Mesa 17.1.0 release.
- Basic Nouveau TGSI shader cache is also present.
- The initial OpenGL threaded dispatch code was merged.
- There's also been a variety of OpenGL extension work for those not part of a formal OpenGL version. Some of this work includes ARB_gpu_shader_int64 for all the key drivers, ARB_shader_ballot / ARB_shader_clock / ARB_shader_group_vote for RadeonSI, ARB_sparse_buffer for newer AMD GPUs when also paired with what will be the Linux 4.12 kernel, ARB_transform_feedback2 is now supported on older Sandy Bridge hardware.
- Intel's Open SWR software rasterizer now has geometry shader support as well as MSAA support.
- The ILO Gallium3D driver has been dropped with this Intel G3D driver not being maintained anymore by LunarG.
- INTEL_performance_query was restored for the Intel Mesa driver.
- The old Intel i915 Mesa driver has decided to drop from OpenGL 2.1 to 1.4 by default.
- Performance improvements for various GPUs, especially for RadeonSI given the work notably done by AMD and Valve.
- GLVND support for EGL, the OpenGL Vendor Neutral Dispatch Library now working outside of GLX.
- Numerous Vulkan updates for Radeon RADV and Intel ANV. A number of the Vulkan 1.0.42 features are now in place. Notable for RADV is also tessellation shader support and geometry shader support and initial PRIME support and spilling support and fast clears. ANV also has MSAA compression support. This work also puts the Mesa Vulkan drivers closer to being suitable for SteamVR on Linux. The Intel Vulkan driver also now works on Android./
- The Freedreno Gallium3D Driver for Qualcomm Adreno hardware has seen some performance improvements and other work.
Mesa 17.1 should be released early-to-mid May. If I missed covering any other interesting changes of Mesa 17.1, feel free to point them out in the forums. Overall this should be another damn fine update to Mesa. I've already published many Mesa 17.1 benchmarks but more are on the way.