Release of Mesa 22.2, 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 22.2.0, has been published. The first release of the Mesa 22.2.0 branch has an experimental status - after the final stabilization of the code, a stable version 22.2.1 will be released.

In Mesa 22.2, support for the Vulkan 1.3 graphics API is available in anv for Intel GPUs, radv for AMD GPUs, and tu for Qualcomm GPUs. Vulkan 1.2 is supported in emulator mode (vn), Vulkan 1.1 in lavapipe software rasterizer (lvp), and Vulkan 1.0 in v3dv driver (Broadcom VideoCore VI GPU from Raspberry Pi 4). 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 Qualcomm (tu) GPU driver provides support for the Vulkan 1.3 graphics API.
  • Added support for Mali GPUs based on the Valhall microarchitecture (Mali-G57) to the Panfrost driver. The driver is compatible with the OpenGL ES 3.1 specification.
  • Continued implementation of the Vulkan driver for GPUs based on the PowerVR Rogue architecture developed by Imagination.
  • Improved support for discrete Intel DG2-G12 graphics cards (Arc Alchemist) in the ANV Vulkan driver (Intel) and the Iris OpenGL driver. The Vulkan driver significantly (about 100 times) improved the performance of the ray tracing code.
  • The R600g driver for AMD Radeon HD 2000 to HD 6000 series GPUs has been moved to use 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.
  • Nouveau's OpenGL driver has begun work on implementing support for the RTX 30 "Ampere" GPU.
  • Support for asynchronous shader compilation has been implemented in the Etnaviv driver for Vivante cards.
  • Added support for Vulkan extensions:
    • VK_EXT_robustness2 for the lavapipe driver.
    • VK_EXT_image_2d_view_of_3d for RADV.
    • VK_EXT_primitives_generated_query for RADV.
    • VK_EXT_non_seamless_cube_map for RADV, ANV, lavapipe.
    • VK_EXT_border_color_swizzle for lavapipe, ANV, turnip, RADV.
    • VK_EXT_shader_module_identifier for RADV.
    • VK_EXT_multisampled_render_to_single_sampled for lavapipe.
    • VK_EXT_shader_subgroup_vote for lavapipe.
    • VK_EXT_shader_subgroup_ballot for lavapipe
    • VK_EXT_attachment_feedback_loop_layout for RADV.
  • Added support for OpenGL extensions:
    • WGL_ARB_create_context_robustness.
    • ARB_robust_buffer_access_behavior for d3d12.
    • EGL_KHR_context_flush_control.
    • GLX_ARB_context_flush_control
    • GL_EXT_memory_object_win32 for zink and d3d12.
    • GL_EXT_semaphore_win32 for zink and d3d12.

Source: opennet.ru

Add a comment