RadeonSI Gallium3D driver Further Optimized For Mesa3D Version 21.3
Mesa3D, the open-source OpenGL driver for emulation of software and acceleration of hardware for recent graphics cards, as well as primarily used in Linux, has recently merged the RadeonSI Gallium3D driver, further optimizing the driver to be released during the next quarter.
The Mesa project began as an open-source implementation of the OpenGL specification - a system for rendering interactive 3D graphics.
Over the years the project has grown to implement more graphics APIs, including OpenGL ES, OpenCL, OpenMAX, VDPAU, VA-API, XvMC, Vulkan and EGL.
A variety of device drivers allows the Mesa libraries to be used in many different environments ranging from software emulation to complete hardware acceleration for modern GPUs.
Mesa ties into several other open-source projects: the Direct Rendering Infrastructure, X.org, and Wayland to provide OpenGL support on Linux, FreeBSD, and other operating systems.
— Mesa3D project site
Marek Olšák, a software developer for the AMD Open Source lab as well as the largest contributor to the Mesa commits to date, has worked tirelessly with the "open-source AMD Radeon OpenGL driver developers," to create 42 patches over several weeks, focusing on limiting the CPU overhead in conjunction with the new driver.
Olšák has been responsible for almost ten percent of all of the commits for Mesa over the last three years. He is "notable for his many contributions to the kernels graphics stack and the Mesa OpenGL (RadeonSI) and Vulkan (RADV) graphics drivers for AMD graphics cards."
As with other recent workstation optimizations for RadeonSI, the workload in focus for this big patch series was SPECViewPerf / Snx. Though given the low-level overhead work carried out in these patches, it will be interesting to see what other workloads are now also seeing lower overhead on this AMD Gallium3D driver.
Some of the most recent changes and optimizations for the new release include:
- Not using Next-Gen Geometry (NGG) pass-through when culling is possible for better performance.
- Enabling shader-based primitive culling with polygon mode.
- Reducing the frequency of switching geometry shader fast launch on/off due to a performance hit from the extra context rolls.
- Eliminating the primitive discard compute shader since it doesn't always work, only relevant for GFX9/Vega and older, and is considered too complicated.
Other patches to improve efficiency of the driver and performance optimizations.
For a listing of the code slated for the release of Mesa 21.3, please refer to this site for further information. Mesa 21.3 is scheduled to release around November of this year.