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

After four months of development, the release of a free implementation of the OpenGL and Vulkan APIs - Mesa 22.0.0 - was published. The first release of the Mesa 22.0.0 branch has an experimental status - after the final stabilization of the code, a stable version 22.0.1 will be released. The new release is notable for the implementation of the Vulkan 1.3 graphics API in the anv driver for Intel GPUs and radv for AMD GPUs.

Vulkan 1.2 support is available in emulator (vn) mode, Vulkan 1.1 support is available for Qualcomm (tu) GPUs and lavapipe software rasterizer, and Vulkan 1.0 support is available for Broadcom VideoCore VI (Raspberry Pi 4) GPUs. Mesa 22.0 also provides 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 support for virgl (virgil3D virtual GPU for QEMU/KVM) and vmwgfx (VMware).

Main innovations:

  • Added support for Vulkan 1.3 graphics API.
  • The code for classic OpenGL drivers that do not use the Gallium3D interface has been moved from the main Mesa to a separate branch "Amber", including the i915 and i965 drivers for Intel GPUs, r100 and r200 for AMD GPUs and Nouveau for NVIDIA GPUs. The SWR driver, which offered an OpenGL software rasterizer based on the Intel OpenSWR project, was also moved to the “Amber” branch. The classic xlib library is excluded from the main structure, instead of which it is recommended to use the gallium-xlib variant.
  • The Gallium driver D3D12 with a layer for organizing OpenGL work on top of the DirectX 12 API (D3D12) ensures compatibility with OpenGL ES 3.1. The driver is used in the WSL2 layer to run Linux graphical applications on Windows.
  • Support for Intel Alderlake (S and N) chips has been added to the OpenGL driver "iris" and Vulkan driver "ANV".
  • Intel GPU drivers include support for Adaptive-Sync (VRR) technology by default, allowing you to adaptively change the monitor's refresh rate for smooth, tear-free display.
  • The RADV Vulkan driver (AMD) continues to implement support for ray tracing and shaders for ray tracing.
  • The v3dv driver, developed for the VideoCore VI graphics accelerator, used starting with the Raspberry Pi 4 model, provides the ability to work on the Android platform.
  • For EGL, a “dma-buf feedback” mechanism is implemented, which provides additional information about the available GPUs and makes it possible to increase the efficiency of data exchange between the main and secondary GPU, for example, to organize output without intermediate buffering.
  • OpenGL 3 support has been added to the vmwgfx driver, used to implement 4.3D acceleration in VMware environments.
  • Support for extensions has been added to the Vulkan drivers RADV (AMD), ANV (Intel) and zink (OpenGL over Vulkan):
    • VK_KHR_dynamic_rendering (lavapipe,radv,anv)
    • VK_EXT_image_view_min_lod (radv) KHR_synchronization2.txt VK_KHR_synchronization2]] (radv)
    • VK_EXT_memory_object (zink)
    • VK_EXT_memory_object_fd (zink)
    • VK_EXT_semaphore (zink)
    • VK_EXT_semaphore_fd (zink)
    • VK_VALVE_mutable_descriptor_type (zink)
  • Added new OpenGL extensions:
    • GL_ARB_sparse_texture (radeonsi, zink)
    • GL_ARB_sparse_texture2 (radeonsi, zink)
    • GL_ARB_sparse_texture_clamp (radeonsi, zink)
    • GL_ARB_framebuffer_no_attachments
    • GL_ARB_sample_shading

    Source: opennet.ru

Add a comment