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

After four months of development, the release of the free implementation of the OpenGL and Vulkan APIs, Mesa 21.3.0, has been published. The first release of the Mesa 21.3.0 branch has an experimental status - after the final stabilization of the code, a stable version 21.3.1 will be released.

Mesa 21.3 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 support is available for Intel and AMD cards, as well as in emulator (vn) mode and lavapipe software rasterizer, Vulkan 1.1 support is available for Qualcomm GPU and lavapipe software rasterizer, and Vulkan 1.0 for Broadcom VideoCore VI GPU (Raspberry Pi 4).

Main innovations:

  • The Zink driver (an implementation of the OpenGL API on top of Vulkan that allows you to get hardware accelerated OpenGL when you have drivers in your system that are limited to supporting only the Vulkan API) supports OpenGL ES 3.2.
  • The Panfrost driver, designed to work with GPUs based on Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) and Bifrost (Mali G3x, G5x, G7x) microarchitectures, has been officially certified for compatibility with OpenGL ES 3.1.
  • The v3dv driver, developed for the VideoCore VI graphics accelerator used since the Raspberry Pi 4 model, has been certified to support the Vulkan 1.1 graphics API and added support for geometry shaders. The performance of code generated by the shader compiler has been significantly improved, which has a positive impact on the speed of programs that actively use shaders, such as games based on the Unreal Engine 4 engine.
  • Experimental support for ray tracing and ray tracing shaders has been added to the RADV (AMD) Vulkan driver. For GFX10.3 cards, support for primitive culling is enabled by default using NGG (Next-Gen Geometry) shader engines.
  • The Iris OpenGL driver (new driver for Intel GPUs) added the ability to multi-thread shader compilation.
  • The lavapipe driver with the implementation of a software rasterizer for the Vulkan API (similar to llvmpipe, but for Vulkan, which translates Vulkan API calls to the Gallium API)) supports anisotropic texture filtering and adds support for Vulkan 1.2.
  • The llvmpipe OpenGL driver for software rendering has 2-3 times better performance for 2D operations. Added support for FP16 operations, anisotropic texture filtering (GL_ARB_texture_filter_anisotropic) and memory pinning (GL_AMD_pinned_memory). Support for the OpenGL 4.5 Compatibility Profile has been provided.
  • The VA-API (Video Acceleration API) status tracker supports acceleration of AV1 video encoding and decoding when using drivers for AMD GPUs.
  • Support for EGL has been implemented for the Windows platform.
  • Added support for the EGL_EXT_present_opaque extension for Wayland. Fixed problems with displaying transparency in games running in environments based on the Wayland protocol.
  • Added support for extensions to RADV (AMD), ANV (Intel) and lavapipe Vulkan drivers:
    • VK_EXT_shader_atomic_float2 (Intel, RADV).
    • VK_EXT_vertex_input_dynamic_state (RADV).
    • VK_EXT_primitive_topology_list_restart (RADV, lavapipe).
    • VK_KHR_shader_integer_dot_product (RADV).
    • VK_KHR_synchronization2 (Intel).
    • VK_KHR_maintenance4 (RADV).
    • VK_KHR_format_feature_flags2 (RADV).
    • VK_KHR_shader_subgroup_extended_types (lavapipe).
    • VK_KHR_spirv_1_4 (flush pipe).
    • VK_KHR_timeline_semaphore (washpipe).
    • VK_EXT_external_memory_host (lavapipe).
    • VK_KHR_depth_stencil_resolve (lavapipe).
    • VK_KHR_shader_float16_int8 (washpipe).
    • VK_EXT_color_write_enable(washpipe).

Source: opennet.ru

Add a comment