После четырёх месяцев разработки опубликован релиз свободной реализации 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