Релиз 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).

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

  • Добавлена поддержка графического API Vulkan 1.3.

  • Из основного состава Mesa в отдельную ветку «Amber» перенесён код классических драйверов OpenGL, не использующих интерфейс Gallium3D, включая драйверы i915 и i965 для GPU Intel, r100 и r200 для GPU AMD и Nouveau для GPU NVIDIA. В ветку «Amber» также перенесён драйвер SWR, предлагавший программный растеризатор OpenGL на базе проекта Intel OpenSWR, выступавший альтернативой llvmpipe. Из основного состава исключена классическая библиотека 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)
    • .txt 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


    Источник: http://www.opennet.ru/opennews/art.shtml? num=56833

© OpenNet