It was just earlier this month that mainline Mesa achieved OpenGL 4.1 for Zink, the Gallium3D driver allowing OpenGL to be implemented atop Vulkan. Now OpenGL 4.2 support is in place for this promising Mesa component.
Even in 2021 longtime open-source AMD Mesa driver developer Marek Olšák isn't done optimizing OpenGL for delivering the best possible performance with the Radeon graphics driver. Marek's latest work includes more OpenGL threading enhancements and other work seemingly targeted at SPECViewPerf workloads.
While Mesa's Panfrost Gallium3D driver has been working out well for modern ARM Mali open-source graphics support, for the old Mali 400/450 series hardware there still is the "Lima" driver within Mesa that doesn't receive too much attention these days (just around 70 commits over the past year) but as its first work of 2021 saw an initial shader cache implementation.
Prior to Mesa 21.0 being branched this week in preparations for the quarterly stable Mesa3D release, a number of open-source Radeon Vulkan "RADV" driver optimizations were merged.
Hitting the Mesa tree when Mesa 21.0 was being branched (but looks like it will still make it now part of "staging/21.0") is support for AMD's "rapid packed math" with the RADV driver's ACO compiler back-end.
While normally the feature branching and first release candidate for new Mesa3D quarterly releases doesn't begin until around the end of the first month of a new quarter, this time around with Mesa 21.0 it has begun today -- half-way through the month of January. This should at least ensure Mesa 21.0 stable ships in February rather than March. Mesa 20.3.3 was also released today as the newest stable version for the time being.
Mesa 21.0 is bringing some overdue improvements for the RadeonSI Gallium3D driver with the game Counter-Strike: Global Offensive.
BeOS-inspired Haiku OS can now run with Mesa 21.0 well using the latest development code.
It was just at the end of December that the Mesa 21.0 development code enabled OpenGL 3.2 support for Freedreno, the open-source Gallium3D driver for Qualcomm Adreno graphics hardware. Now in time for Mesa 21.0 still, OpenGL 3.3 support has been achieved.
Adding to the long list of changes for Mesa 21.0 is the Panfrost Gallium3D driver that provides open-source OpenGL for Arm Mali graphics hardware now supporting Arm Frame Buffer Compression (AFBC) for Bifrost GPUs.
While for months there have been experimental patches taking Zink to OpenGL 4.6 for this OpenGL-on-Vulkan translation layer integrated into Mesa, the upstreaming process around testing and code review is quite lengthy with up until today still only exposing OpenGL 3.3 with mainline Mesa. But with the latest Git commits, Zink is now up to OpenGL 4.1.
While many Linux users were excited when finding out the open-source AMD Radeon Linux drivers were allowing Smart Access Memory (Resizable BAR) support on older motherboards/CPUs and older Radeon GPUs rather than basically the very latest AMD products as seen on Windows, there is a change of course due to bugs. Now, officially, Mesa 21.0 is just enabling Smart Access Memory for systems with AMD Zen 3 processors and RDNA 2 graphics cards though if you have other hardware you can force-enable it.
The latest OpenCL "Clover" work to land in Mesa 21.0 is support for the cl_khr_il_program extension.
2020 was easily the best year yet for Mesa with this collection of open-source OpenGL/Vulkan drivers seeing timely new hardware support, Intel's OpenGL support defaulting to Iris Gallium3D, the Radeon Vulkan (RADV) driver adding and defaulting to the ACO compiler back-end, many performance optimizations throughout, timely new GPU hardware support, and a lot more!
The Panfrost open-source Gallium3D driver matured into good shape over the course of 2020 with providing OpenGL support for Arm Mali graphics hardware. As we enter 2021 it will be interesting to see this year if any "Panfrost Vulkan" driver materializes for open-source Vulkan support on the newer Mali graphics hardware. But at least one area making interesting process is in regards to OpenCL compute support.
For years LLVMpipe has been around as a superior software-based OpenGL implementation for those without a working GPU / hardware driver support or needing to test a bit of GL code along a vendor-neutral path. LLVMpipe thanks to leveraging LLVM is more performant than the traditional Mesa software rasterizer or similar avenues like Softpipe. Finally as we hit 2021, SWRAST has been removed from the Mesa code-base.
Mesa 21.0 has flipped on support for allowing OpenGL 3.2 contexts with the Freedreno Gallium3D driver that provides open-source GL support for Qualcomm Adreno hardware.
Landing in Mesa 21.0 on Tuesday was support for OpenGL tessellation shaders (ARB_tessellation_shader) with the Zink Gallium3D code implementing generic OpenGL support atop Vulkan.
Lavapipe (nee Vallium) continues picking up more functionality for this software-based Vulkan implementation just as LLVMpipe is to OpenGL.
Mesa 20.3 shipped earlier this month while those waiting for the first point release to upgrade to this quarterly series can now safely make the shift as Mesa 20.3.1 was released today.
The latest Mesa 21.0 improvement is support for building Microsoft's Direct3D 12 Gallium3D driver code for Windows Subsystem for Linux 2 (WSL2).
While working on some core Mesa cleaning/improvements, Eric Anholt has retired the classic OSMesa support in next quarter's Mesa 21.0.
Raspberry Pi's V3DV Vulkan driver is on quite a streak lately. The V3DV driver has seen inclusion in Mesa 20.3, Vulkan 1.0 conformance, and Wayland support, more performance work is being pursued with those initial milestones reached. Meanwhile the V3D OpenGL driver is also being improved upon still.
Mesa 20.3 has been released as the Q4'2020 open-source graphics driver update, primarily around providing OpenGL and Vulkan support on the likes of Intel and AMD Radeon graphics along with the reverse-engineered Nouveau support, many smaller drivers especially in the embedded space, and the growing list of CPU-based implementations and other translation efforts.
Well known open-source AMD Linux graphics driver developer Marek Olšák has just merged one of his largest set of optimizations in recent times: 2~5x faster performance for SPECViewPerf.
The weekly release candidates of Mesa 20.3 fell off the wagon last week due to the US Thanksgiving holiday but now is updated today for Mesa 20.3-RC3.
Just yesterday Raspberry Pi fans were celebrating that the V3DV driver is now officially Vulkan 1.0 conformant for supporting this modern high performance graphics/compute API atop the Raspberry Pi 4 and newer. Today another milestone was reached with V3DV.
Longtime open-source developer Mike Blumenkrantz who has been an Enlightenment developer for many years and was working for Samsung's Open-Source Group prior to its demise jumped into the open-source Linux graphics world this year. While being unemployed he began hacking on the Zink Gallium3D code that allows generic OpenGL acceleration over the Vulkan API. He quickly got the code to the point of OpenGL 4.6 support and quite compelling performance compared to where Zink was at earlier this year. Now it turns out he will continue with his Linux graphics adventures thanks to funding from Valve.
The fallout should be minimal and hopefully not impact any Phoronix readers, but as Mesa rolls into 2021 it is looking to drop support for loading DRI1 graphics drivers.
The second release candidate of Mesa 20.3 is now available for testing ahead of its likely stable debut in early December.
1921 Mesa news articles published on Phoronix.