The launch of the new version of the free OpenGL and Vulkan implementation, Table 19.2.0, this being the first version from the Table branch 19.2.0 which has an experimental state, as after the final stabilization of the code, a stable version 19.2.1 will be released.
For those unaware of the drivers MESA are the open source Linux software drivers available for AMD, NVIDIA and Intel hardware. Mesa's project began as an open source implementation of the OpenGL specification (a system for rendering interactive 3D graphics).
Through the years, the project grew to implement more graphics APIs, including OpenGL ES (versions 1, 2, 3), OpenCL, OpenMAX, VDPAU, VA API, XvMC, and Vulkan.
A variety of controllers of devices allows Mesa libraries to be used in many different environments, from software emulation to complete hardware acceleration for modern GPUs.
Mesa implements a vendor-independent translation layer between a graphics API such as OpenGL and the graphics drivers in the kernel of the operating system.
In addition to 3D applications, like games, graphics servers use OpenGL / EGL calls to produce the image on the screen.
Table 19.2.0 main novelties
This new version of Mesa 19.2 provides full OpenGL 4.5 support for i965 controllers, radeonsi and nvc0, Vulkan 1.1 support for Intel and AMD cards, as well as support for the standard OpenGL 4.6 for Intel cards.
Drivers (i965, iris) for Intel graphics cards (gen7+) provide full support for OpenGL 4.6 and the language to describe the GLSL 4.60 shaders.
Before providing support for OpenGL 4.6 in radeonsi (AMD) and nvc0 (NVIDIA) drivers, it remains to implement the GL_ARB_gl_spirv and GL_ARB_spirv_extensions extensions, which were added for the i965 driver in August.
The expansion of the functionality of the new Iris controller for Intel GPUs continued, which in terms of its capabilities almost reached parity with the i965 controller.
The Iris driver is based on the Gallium3D architecture, which brings memory management tasks to the DRI driver in the Linux kernel and provides an out-of-the-box health tracker with support for output object reuse cache.
The controller only supports GPUs based on Gen8 + microarchitecture (Broadwell, Skylake) with HD, UHD and Iris GPUs.
In the case of controllers and RADV Radeon SI in this new version of Mesa 19.2.0 AMD Navi 10 GPU support added (Radeon RX 5700) and initial support for Navi 14.
The RadeonSI driver also added future APU Renoir support (Zen 2 c GPU Navi) and partially Arcturus (while only computational capabilities and VCN 2.5 video decoding engine, no 3D).
In Gallium3D R600 drivers for some older AMD cards (HD 5800/6900) provided with OpenGL 4.5 support.
Also also in this release Newly added OpenGL extensions are highlighted:
- GL_ARB_post_depth_coverage for radeonsi (Navi) driver
- GL_ARB_seamless_cubemap_per_texture for etnaviv controller (compatible with SEAMLESS_CUBE_MAP on GPU)
- GL_EXT_shader_image_load_store for radeonsi driver (with LLVM 10+)
- GL_EXT_shader_samples_identical for iris and radeonsi drivers (if using NIR)
- GL_EXT_texture_shadow_lod for i965 and iris drivers
As well as extensions to the Vulkan RADV driver (for AMD cards):
And an extension to the ANV Vulkan driver (for Intel cards):
Of the other changes announced in this new version of the drivers:
- For RadeonSI it introduced a new runtime linker: rtld;
- Performance optimization of RADV and Virgl drivers
- The Panfrost driver for GPUs based on Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) and Bifrost (Mali G3x, G5x, G7x) microarchitectures used in many devices with ARM processors has been expanded. Controller capabilities are now sufficient for GNOME Shell to work
- Added the EGL extension proposed by NVIDIA EGL_EXT_platform_device, which allows to initialize EGL without accessing the device-specific API
Finally, wait for this new version of the Mesa drivers to begin to be distributed in the main Linux distributions during the next few days.