Представлен релиз свободной реализации 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).
Основные новшества:
Источник статьи: https://www.opennet.ru/opennews/art.shtml?num=55090
Основные новшества:
- В 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:
- GL_EXT_depth_bounds_test для драйверов softpipe и zink
- GL_EXT_texture_filter_minmax для драйвера nvc0 (gm200+)
- GL_ARB_texture_filter_minmax для драйвера nvc0 (gm200+)
- GL_ARB_post_depth_coverage для драйвера zink.
Источник статьи: https://www.opennet.ru/opennews/art.shtml?num=55090