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

Опубликован релиз свободной реализации API OpenGL и Vulkan — Mesa 22.3.0. Первый выпуск ветки Mesa 22.3.0 имеет экспериментальный статус — после проведения окончательной стабилизации кода будет выпущена стабильная версия 22.3.1.

В Mesa 22.3 доступна поддержка графического API Vulkan 1.3 в драйверах anv для GPU Intel, radv для GPU AMD, tu для GPU Qualcomm и в режиме эмулятора (vn). Поддержка Vulkan 1.1 реализована в программном растеризаторе lavapipe (lvp), а Vulkan 1.0 в драйвере v3dv (GPU Broadcom VideoCore VI из Raspberry Pi 4).

В Mesa также обеспечивается полная поддержка OpenGL 4.6 для драйверов 965, iris (Intel), radeonsi (AMD), zink и llvmpipe. Поддержка OpenGL 4.5 доступна для GPU AMD (r600), NVIDIA (nvc0) и Qualcomm Adreno (freedreno), OpenGL 4.3 для virgl (виртуальный GPU Virgil3D для QEMU/KVM), а OpenGL 4.2 для драйвера d3d12 (прослойка для организации работы OpenGL поверх DirectX 12).

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

  • В драйвере freedreno для GPU Qualcomm Adreno обеспечена поддержка графического API OpenGL 4.5, а в драйвере для эмулятора (vn) поддержка API Vulkan 1.3.
  • В драйвере Panfrost реализована возможность кэширования шейдеров на диске и добавлена поддержка GPU Mali T620. Драйвер совместим со спецификацией OpenGL 3.1 и OpenGL ES 3.1.
  • В Vulkan-драйвере RADV (AMD) добавлена поддержка GPU GFX11/RDNA3 (серия Radeon RX 7000). Проведена оптимизация кода для трассировки лучей. Добавлена поддержка пиксельных форматов R8G8B8, B8G8R8 и R16G16B16, а также 64-разрядных форматов вершинного буфера. Добавлена поддержка флага extendedDynamicState2PatchControlPoints, определяющего поддержку расширения VK_EXT_extended_dynamic_state2. Интегрирован Radeon Raytracing Analyzer.
  • В состав включён драйвер Rusticl с реализацией спецификации OpenCL 3.0, определяющей API и расширения языка С для организации кросс-платформенных параллельных вычислений. Драйвер написан на языке Rust, разработан с использованием предоставляемого в Mesa интерфейса Gallium и выступает в роли аналога присутствующего в Mesa OpenCL-фронтэнда Clover. Clover уже давно находится в заброшенном состоянии и rusticl позиционируется как его будущая замена. Поддержка Rust и rusticl по умолчанию отключена и требует сборки с явным указанием опций «-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021». При сборке в качестве дополнительных зависимостей необходимы компилятор rustc, генератор привязок bindgen, LLVM, инструментарий SPIRV-Tools и транслятор SPIRV-LLVM-Translator.
  • В драйвере RadeonSI включена по умолчанию поддержка многопоточной отрисовки через OpenGL.
  • Представлен Mesa-DB, новый тип кэша шейдеров, сохраняющий данные в одном файле.
  • Добавлена поддержка расширений OpenGL:
  • Добавлена поддержка Vulkan-расширений:

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