29.06.2022

Релиз Mesa 22.0, свободной реализации OpenGL и Vulkan

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

Источник.