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

The release of the free implementation of the OpenGL API and Vulkan - Mesa 21.1.0 is presented. The first release of the Mesa 21.1.0 branch has an experimental status - after the final stabilization of the code, a stable version 21.1.1 will be released. Mesa 21.1 has full OpenGL 4.6 support for the 965, iris (Intel), radeonsi (AMD), zink, and llvmpipe drivers. OpenGL 4.5 support is available for AMD (r600) and NVIDIA (nvc0) GPUs, and OpenGL 4.3 for virgl (Virgil3D virtual GPU for QEMU/KVM). Vulkan 1.2 is supported for Intel and AMD cards, Vulkan 1.1 for Qualcomm GPUs and lavapipe software rasterizer, and Vulkan 1.0 for Broadcom VideoCore VI (Raspberry Pi 4) GPUs.

Main innovations:

  • Added support for the VK_KHR_workgroup_memory_explicit_layout and VK_KHR_zero_initialize_workgroup_memory extensions to the RADV (AMD) and ANV (Intel) Vulkan drivers.
  • Added support for DRM format modifiers to the RADV driver (for AMD GFX9 cards) (VK_EXT_image_drm_format_modifier extension included).
  • The RADV driver implements VRS (Variable Rate Shading) support for use with any depth buffers. VRS allows you to increase performance at the cost of reduced quality.
  • Added support for AMD Aldebaran (gfx90a) GPUs.
  • A new venus driver has been added with a virtual GPU implementation (virtio-gpu) based on the Vulkan API.
  • The Zink driver (an implementation of the OpenGL API on top of Vulkan) includes support for OpenGL 4.6 and OpenGL ES 3.1. Zink allows you to get hardware accelerated OpenGL if you have drivers in your system that are limited to supporting only the Vulkan API. The performance of Zink is close to that of native OpenGL implementations.
  • The lavapipe driver with the implementation of a software rasterizer for the Vulkan API (similar to llvmpipe, but for Vulkan) added support for Vulkan 1.1 and implemented the Vulkan extension VK_KHR_copy_commands2. The programming implementation in lavapipe is based on the reflection of Vulkan API calls in the Gallium API.
  • Added support for storing the shader cache in a single file.
  • Drivers Virgl (Virgil3D virtual GPU for QEMU/KVM) and Lima (GPU ARM Mali) implement support for caching shaders on disk.
  • The D3D12 Gallium Driver with OpenGL Overlay on DirectX 12 (D3D12) API provides compatibility with OpenGL 3.3 when running on top of the D3D12 WARP (software rasterizer) and NVIDIA drivers. The driver is used in the WSL2 layer to run Linux graphics applications on Windows.
  • Added new OpenGL extensions:
    • GL_EXT_depth_bounds_test for softpipe and zink drivers
    • GL_EXT_texture_filter_minmax for nvc0 driver (gm200+)
    • GL_ARB_texture_filter_minmax for nvc0 driver (gm200+)
    • GL_ARB_post_depth_coverage for the zink driver.

Source: opennet.ru

Add a comment