Mesa 19.3.0 controllers arrive with more extensions, greater support and much more

Drivers table

Mesa controllers are open source Linux software 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.

What's new in Mesa 19.3.0?

The launch of Table 19.3.0 was recently announced, being This is the first version of the Mesa branch that has an experimental state, which after the final stabilization of the code, a stable version will be released on Mesa 19.3.1.

Table 19.3.0 provides full OpenGL 4.6 support for Intel GPUs (i965, iris drivers), OpenGL 4.5 support for AMD (r600, radeonsi) and NVIDIA (nvc0) GPUs, as well as Vulkan 1.1 support for Intel and AMD cards.

For, RADV (Vulkan driver for AMD chips) a new backend to compile shaders »ACO», which is developing Valve as an alternative to the LLVM shader compiler. The goal of the backend is to ensure that the code is rendered in the best possible way for game application shaders and to achieve a very high compilation speed.

ACO is written in C ++ and is being developed with the goal of being able to be used for JIT compilation and uses fast data structures to iterate, avoiding pointer-based structures.

Intermediate code rendering is completely based on SSA (Static Single Assignment) and allows record assignment, precisely pre-calculating the record depending on the shader ACO can be activated for the Vega 8, Vega 9, Vega 10, Vega 20 and Navi 10 GPUs setting the environment variable "RADV_PERFTEST = aco";

The Zink Gallium3D driver is included in the code base, which implements the OpenGL API on top of Vulkan. Zink allows you to get hardware accelerated OpenGL if there are drivers on the system that are limited to supporting only the Vulkan API.

The ANV Vulkan driver and the OpenGL iris driver provide initial support for the 12th generation of Intel chips (Tiger Lake, gen12). In the Linux kernel, Tiger Lake support components have been included since version 5.4;

The i965 and iris controllers they provided support for the intermediate presentation of the SPIR-V shaders, which made it possible to achieve full OpenGL 4.6 support in these drivers.

Has been added AMD Navi 14 GPU support to RadeonSI driver and video decoding acceleration tools have been improved, for example, support for 8K video decoding in H.265 and VP9 formats has been added;

La compile mode support protected has been added to the controller Vulkan by RADV, in which the sequences that are run to compile shaders are isolated using the seccomp mechanism.

Drivers for AMD chips use the program interface to reset the GPU that appeared in the AMDGPU core module.

It has worked for improve performance on systems with AMD Radeon APUs. It also improved the performance of the Gallium3D Iris driver for Intel GPUs;

Of the new OpenGL extensions added that are highlighted in the ad we can find:

  • GL_ARB_gl_spirv for i965
  • GL_ARB_spirv _for i965
  • GL_EXT_demote_to_helper_invocation for i965

Vulkan RADV extensions for AMD cards:

  • VK_ANDROID_external_memory_android_hardware_buffer
  • VK_EXT_shader_demote_to_helper_invocation
  • VK_KHR_shader_clock
  • VK_KHR_shader_float_controls
  • VK_KHR_spirv_1_4
  • VK_KHR_timeline_semaphore
  • VK_EXT_texel_buffer_alignment

ANV Vulkan extensions for Intel cards:

  • VK_INTEL_performance_query
  • VK_KHR_vulkan_memory_model
  • VK_EXT_shader_subgroup_ballot
  • VK_EXT_shader_subgroup_vote
  • VK_KHR_spirv_1_4
  • VK_KHR_shader_clock
  • VK_KHR_shader_float_controls

In addition, we can see the publication by AMD of the documentation on the architecture of the APU "Vega" 7nm equipment based on the GCN (Graphics Core Next) microarchitecture.

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.

The content of the article adheres to our principles of editorial ethics. To report an error click here!.

2 comments, leave yours

Leave a Comment

Your email address will not be published.



  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   Antonio said

    Hello. I have read in many places about setting the RADV_PERFTEST = aco system variable but nobody explains how to do that ... it would be a detail if someone would comment on how to activate or configure that variable. Thanks

    1.    David naranjo said

      ACO is a compiler for shaders that in theory is "enabled by default" (that is, nothing has to be done) you just have to have the latest version of the Mesa drivers or in the case of Steam you can force the use of the compiler adding to the game launcher the option `RADV_PERFTEST = aco% command%`

      Or to activate the option in the whole system simply add the environment variable RADV_PERFTEST = aco to the ~ / .profile file.

      You just have to take into account that not all GPUs are compatible and therefore you simply cannot start this compiler.

      In the network there is more information about how to configure the variable in each Linux distribution or about some applications such as Steam, Lutris, etc.


bool (true)