След четири месеца разработка е публикувано освобождаването на свободна имплементация на API OpenGL и Vulkan — Mesa 22.0.0. Първият релийз на клона Mesa 22.0.0 има експериментален статус — след завършване на окончателното стабилизиране на кода ще бъде издадена стабилна версия 22.0.1. Новото издание е забележително с реализирането на графичния API Vulkan 1.3 в драйвера anv за GPU Intel и radv за GPU AMD.
Поддръжката на Vulkan 1.2 е реализирана в режим на емулатор (vn), поддръжката на Vulkan 1.1 е налична за GPU Qualcomm (tu) и софтуерния растеризатор lavapipe, а поддръжката на Vulkan 1.0 е налична за GPU Broadcom VideoCore VI (Raspberry Pi 4). В Mesa 22.0 също така се осигурява пълна поддръжка на OpenGL 4.6 за драйверите 965, iris (Intel), radeonsi (AMD), zink и llvmpipe. Поддръжката на OpenGL 4.5 е налична за GPU AMD (r600) и NVIDIA (nvc0), а OpenGL 4.3 за virgl (виртуален GPU Virgil3D за QEMU/KVM) и vmwgfx (VMware).
Основни нововъведения:
- Добавена е поддръжка за графичния API Vulkan 1.3.
- От основния състав на Mesa в отделен клон „Amber“ е прехвърлен кодът на класическите драйвери OpenGL, които не използват интерфейса Gallium3D, включително драйверите i915 и i965 за GPU Intel, r100 и r200 за GPU AMD и Nouveau за GPU NVIDIA. В клона „Amber“ е прехвърлен и драйверът SWR, който предлага софтуерен растеризатор OpenGL, базиран на проекта Intel OpenSWR. Класическата библиотека xlib е изключена от основния състав, вместо която се препоръчва да се използва вариантът gallium-xlib.
- В Gallium драйвера D3D12 с прослойка, за да работи OpenGL над API DirectX 12 (D3D12), е осигурена съвместимост с OpenGL ES 3.1. Драйвера се използва в прослойка WSL2 за стартиране на графични приложения на Linux във Windows.
- В OpenGL драйвера „iris“ и Vulkan драйвера „ANV“ е добавена поддръжка за чиповете Intel Alderlake (S и N).
- В драйверите за GPU Intel е включена по подразбиране поддръжка на технологията Adaptive-Sync (VRR), позволяваща адаптивна промяна на честотата на опресняване на монитора за осигуряване на плавно извеждане и липса на разкъсвания.
- В Vulkan драйвера RADV (AMD) продължава реализацията на поддръжка за трасировка на лъчи и шейдъри за трасировка на лъчи.
- В драйвера v3dv, разработван за графичния ускорител VideoCore VI, използван от модел Raspberry Pi 4, е осигурена възможност за работа на платформата Android.
- За EGL е реализиран механизъм „dma-buf feedback“, предоставящ допълнителна информация за наличните GPU и позволяващ да се повиши ефективността на обмена на данни между основния и вторичния GPU, например, за организиране на извеждане без междинно буфериране.
- В драйвера vmwgfx, използван за реализиране на 3D ускорение в средите VMware, е добавена поддръжка на OpenGL 4.3.
- В Vulkan драйверите RADV (AMD), ANV (Intel) и zink (OpenGL върху 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)
- Добавени са нови разширения OpenGL:
- 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
Източник: opennet.ru
