The Vulkan driver RADV has been switched to use the ACO shader compilation backend.

In the codebase used to prepare the Mesa 20.2 release, a change has been made to switch RADV, the Vulkan driver for AMD chips, to use the ACO compilation backend by default,ACO, which is being developed by Valve as an alternative to the LLVM shader compiler. This change will lead to improved game performance and reduced loading times. To revert to the old backend, the environment variable "RADV_DEBUG=llvm" can be used.

The switch of the RADV driver to the new backend was made possible after ACO reached parity in functionality with the old backend developed by AMD for the AMDGPU driver, which continues to be used in the OpenGL RadeonSI driver. Tests conducted by Valve showed, that ACO outperforms the AMDGPU shader compiler nearly twofold in compilation speed and demonstrates an increase in FPS in some games when run on systems with the RADV driver.

The Vulkan driver RADV has been switched to use the ACO shader compilation backend.

The Vulkan driver RADV has been switched to use the ACO shader compilation backend.

The ACO backend aims to generate code that is as optimal as possible for game application shaders and to achieve very high compilation speeds. ACO is written in C++, developed with JIT compilation in mind, and utilizes fast data structures while avoiding pointer-based structures. The intermediate representation of the code is fully based on SSA (Static Single Assignment) and allows for precise register allocation by calculating register usage based on the shader.

Note: Currently, ACO works only for the Vulkan driver Mesa RADV. However, the ACO developers have confirmed, that their next step will be to start working on extending ACO's capabilities to support the OpenGL RadeonSI driver so that in the future, ACO can also replace the LLVM shader compiler by default for this driver.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster