01.12.2021

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

Представлен релиз свободной реализации API OpenGL и Vulkan — Mesa 21.1.0. Первый выпуск ветки Mesa 21.1.0 имеет экспериментальный статус — после проведения окончательной стабилизации кода будет выпущена стабильная версия 21.1.1. В Mesa 21.1 реализована полная поддержка 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). Поддержка Vulkan 1.2 реализована для карт Intel и AMD, Vulkan 1.1 для GPU Qualcomm и программного растеризатора lavapipe, а Vulkan 1.0 для GPU Broadcom VideoCore VI (Raspberry Pi 4).

Основные новшества:

  • В Vulkan-драйверы RADV (AMD) и ANV (Intel) добавлена поддержка расширений VK_KHR_workgroup_memory_explicit_layout и VK_KHR_zero_initialize_workgroup_memory.
  • В драйвер RADV (для карт AMD GFX9) добавлена поддержка модификаторов формата DRM (включено расширение VK_EXT_image_drm_format_modifier).
  • В драйвере RADV реализована поддержка VRS (Variable Rate Shading) для использования с любыми буферами глубины. VRS позволяет повысить производительность ценой снижения качества.
  • Добавлена поддержка GPU AMD Aldebaran (gfx90a).
  • Добавлен новый драйвер
    venus с реализацией виртуального GPU (virtio-gpu) на базе API Vulkan.
  • В драйвере Zink (реализация API OpenGL поверх Vulkan) включена поддержка OpenGL 4.6 и OpenGL ES 3.1. Zink позволяет получить аппаратно ускоренный OpenGL при наличии в системе драйверов, ограниченных поддержкой только API Vulkan. Производительность Zink близка к производительности родных реализаций OpenGL.
  • В драйвере lavapipe с реализацией программного растеризатора для API Vulkan (аналог llvmpipe, но для Vulkan) добавлена поддержка Vulkan 1.1 и реализовано Vulkan-расширение VK_KHR_copy_commands2. Программная реализация в lavapipe основана на отражении вызовов API Vulkan в API Gallium.
  • Добавлена поддержка хранения кэша шейдеров в одном файле.
  • В драйверах Virgl (виртуальный GPU Virgil3D для QEMU/KVM) и Lima (GPU ARM Mali) реализована поддержка кэширования шейдеров на диске.
  • В Gallium-драйвере D3D12 с прослойкой для организации работы OpenGL поверх API DirectX 12 (D3D12) обеспечена совместимость с OpenGL 3.3 при работе поверх D3D12-драйверов WARP (программный растеризатор) и NVIDIA. Драйвер применяется в прослойке WSL2 для запуска графических приложений Linux в Windows.
  • Добавлены новые расширения OpenGL:

Источник.