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

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

In Mesa 22.1, support for the Vulkan 1.3 graphics API is available in the anv drivers for Intel GPUs, radv for AMD GPUs, and the lavapipe software rasterizer. Support for Vulkan 1.2 is implemented in emulator mode (vn), Vulkan 1.1 is supported in the Qualcomm GPU driver (tu). and Vulkan 1.0 in Broadcom VideoCore VI (Raspberry Pi 4) GPU driver. Mesa 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 for virgl (Virgil3D virtual GPU for QEMU/KVM) and vmwgfx (VMware).

Main innovations:

  • The ANV Vulkan driver (Intel) and the Iris OpenGL driver support Intel DG2 (Arc Alchemist) and Arctic Sound-M discrete graphics cards.
  • The D3D12 driver, with OpenGL Overlay on DirectX 12 (D3D12) APIs, is compatible with OpenGL 4.2. The driver is used in the WSL2 layer to run Linux graphics applications on Windows.
  • 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 Vulkan 1.3.
  • Added support for AMD GFX1036 and GFX1037 GPUs.
  • The RADV (AMD) driver implemented ray primitive culling, which improved ray tracing support for games like DOOM Eternal.
  • An initial implementation of the Vulkan GPU driver based on the PowerVR Rogue architecture developed by Imagination is proposed.
  • The Nouveau driver for older GeForce 6/7/8 GPUs has been switched to use the untyped intermediate representation (IR) of NIR shaders. NIR support also allows you to get TGSI (Tungsten Graphics Shader Infrastructure) intermediate representation support by enabling a layer to translate NIR to TGSI.
  • The package includes a compact OpenCL compiler proposed by Intel and used in ray tracing.
  • The v3d OpenGL driver developed for the VideoCore VI graphics accelerator used since the Raspberry Pi 4 model implements support for caching shaders on disk.
  • For AMD GPUs equipped with the VCN 2.0 video engine, EFC (Encoder Format Conversion) support has been implemented, which allows using a hardware video encoder to directly read RGB surfaces without RGB-> YUV conversions performed by shaders.
  • The Crocus driver, developed for older Intel GPUs based on Gen4-Gen7 microarchitectures that are not supported by the Iris driver, includes a compatibility profile with older versions of OpenGL.
  • The PanVk driver, which provides support for the Vulkan graphics API for ARM Mali Midgard and Bifrost GPUs, has begun work on compute shader support.
  • Added support for the ANGLE layer responsible for translating OpenGL ES calls to OpenGL, Direct3D 9/11, Desktop GL, and Vulkan in the Venus driver with a virtual GPU (virtio-gpu) implementation based on the Vulkan API.
  • Added support for NVIDIA's GL_NV_pack_subimage OpenGL extension for updating rectangles in host memory using framebuffer or texture data.
  • Added support for extensions to RADV (AMD), ANV (Intel) and lavapipe Vulkan drivers:
    • VK_EXT_depth_clip_control for lavapipe and RADV.
    • VK_EXT_graphics_pipeline_library for lavapipe.
    • VK_EXT_primitives_generated_query for lavapipe.
    • VK_EXT_image_2d_view_of_3d for ANV and lavapipe.
    • VK_KHR_swapchain_mutable_format for lavapipe.

Source: opennet.ru

Add a comment