Release of Mesa 19.3.0, a free implementation of OpenGL and Vulkan

Submitted by release of a free implementation of the OpenGL and Vulkan APIs - Table 19.3.0. The first release of the Mesa 19.3.0 branch has an experimental status - after the final stabilization of the code, a stable version 19.3.1 will be released. In Mesa 19.3 implemented full OpenGL 4.6 support for Intel GPUs (i965, iris drivers), OpenGL 4.5 support for AMD (r600, radeonsi) and NVIDIA (nvc0) GPUs, and Vulkan 1.1 support for Intel and AMD cards. Yesterday changes to support OpenGL 4.6 also added in the radeonsi driver, but they were not included in the Mesa 19.3 branch.

Among changes:

  • For RADV (Vulkan driver for AMD chips), a new backend for compiling shaders has been proposedACO", which is being developed by Valve as an alternative to the LLVM shader compiler. The backend aims to provide code generation that is as optimal as possible for game application shaders, as well as achieving very high compilation speeds. ACO is written in C++, designed with JIT-compilation in mind, and uses fast data structures to iterate over, avoiding pointer-based structures. Code Intermediate Representation is fully based on SSA (Static Single Assignment) and allows for register allocation by accurately precalculating the register depending on the shader. ACO can be enabled for Vega 8, Vega 9, Vega 10 and Navi 10 GPUs by setting the "RADV_PERFTEST=aco" environment variable;
  • Gallium3D driver included in codebase Zinc, which implements the OpenGL API on top of Vulkan. Zink allows you to get hardware accelerated OpenGL if you have drivers in the system that are limited to supporting only the Vulkan API;
  • The ANV Vulkan driver and the iris OpenGL driver have implemented initial support for the 12th generation of Intel chips (Tiger Lake, gen12). In the Linux kernel, components to support Tiger Lake have been included since release 5.4;
  • The i965 and iris drivers provide support for SPIR-V shader intermediate representation, which made it possible to achieve full support in these drivers OpenGL 4.6;
  • The RadeonSI driver adds support for AMD Navi 14 GPUs and improves video decoding acceleration, such as adding support for 8K video decoding in H.265 and VP9 formats;
  • Added support for RADV Vulkan driver protected compilation, in which the threads run to compile shaders are isolated using the seccomp mechanism. The mode is enabled using the RADV_SECURE_COMPILE_THREADS environment variable;
  • Drivers for AMD chips use the AMDGPU that appeared in the kernel module software interface to reset the GPU;
  • Work has been done to improve performance on systems with AMD Radeon APUs. The performance of the Gallium3D Iris driver for Intel GPUs has also been improved;
  • In the Gallium3D driver LLVMpipe, which provides software rendering, appeared support for compute shaders;
  • On-disk shader caching system optimized for systems with more than 4 CPU cores;
  • Implemented the Meson build system for compiling on Windows using MSVC and MinGW. The build use of scons has been deprecated on non-Windows systems;
  • Implemented EGL extension EGL_EXT_image_flush_external;
  • Added new OpenGL extensions:
  • Added extensions to RADV Vulkan driver (for AMD cards):
  • Added extensions to ANV Vulkan driver (for Intel cards):

Additionally, it can be noted the publication of by AMD documentation on the APU "Vega" 7nm command architecture based on the GCN (Graphics Core Next) microarchitecture.

Source: opennet.ru

Add a comment