Релиз Mesa 22.1, свободной реализации OpenGL и Vulkan
После двух месяцев разработки опубликован релиз свободной реализации API OpenGL и Vulkan — Mesa 22.1.0. Первый выпуск ветки Mesa 22.1.0 имеет экспериментальный статус — после проведения окончательной стабилизации кода будет выпущена стабильная версия 22.1.1.
В Mesa 22.1 доступна поддержка графического API Vulkan 1.3 в драйверах anv для GPU Intel, radv для GPU AMD и программном растеризаторе lavapipe. Поддержка Vulkan 1.2 реализована в режиме эмулятора (vn), Vulkan 1.1 — в драйвере для GPU Qualcomm (tu)., а Vulkan 1.0 в драйвере для 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), а OpenGL 4.3 для virgl (виртуальный GPU Virgil3D для QEMU/KVM) и vmwgfx (VMware).
Основные новшества:
В Vulkan-драйвере ANV (Intel) и OpenGL-драйвере Iris реализована поддержка дискретных видеокарт Intel DG2 (Arc Alchemist) и Arctic Sound-M.
- В драйвере D3D12 с прослойкой для организации работы OpenGL поверх API DirectX 12 (D3D12) обеспечена совместимость с OpenGL 4.2. Драйвер применяется в прослойке WSL2 для запуска графических приложений Linux в Windows.
В драйвере lavapipe с реализацией программного растеризатора для API Vulkan (аналог llvmpipe, но для Vulkan, выполняющий трансляцию вызовов API Vulkan в API Gallium) реализована поддержка Vulkan 1.3.
Добавлена поддержка GPU AMD GFX1036 и GFX1037.
- В драйвере RADV (AMD) реализована возможность отсеивания примитивов при трассировке лучей (ray primitive culling), что улучшило поддержку трассировки лучей для игр, таких как DOOM Eternal.
Предложена начальная реализация драйвера Vulkan для GPU на базе архитектуры PowerVR Rogue, развиваемой компанией Imagination.
Драйвер Nouveau для старых GPU GeForce 6/7/8 переведён на использование бестипового промежуточного представление (IR) шейдеров NIR. Поддержка NIR также позволяет получить поддержку промежуточного представления TGSI (Tungsten Graphics Shader Infrastructure) через задействование слоя для трансляции NIR в TGSI.
В состав включён компактный компилятор OpenCL, предложенный компанией Intel и используемый при трассировке лучей.
В OpenGL-драйвере v3d, развиваемом для графического ускорителя VideoCore VI, применяемого начиная с модели Raspberry Pi 4, реализована поддержка кэширования шейдеров на диске.
Для GPU AMD, оснащённым движком обработки видео VCN 2.0, реализована поддержка EFC (Encoder Format Conversion), позволяющая использовать аппаратный кодировщик видео для прямого чтения RGB-поверхностей без преобразований RGB→YUV, выполняемых шейдерами.
В драйвере Crocus, развиваемом для старых GPU Intel на базе микроархитектур Gen4-Gen7, не поддерживаемых драйвером Iris, включён профиль совместимости со старыми версиями OpenGL.
В драйвере PanVk, предоставляющем поддержку графического API Vulkan для GPU ARM Mali Midgard и Bifrost, началась работа по поддержке вычислительных шейдеров.
В драйвер Venus с реализацией виртуального GPU (virtio-gpu) на базе API Vulkan добавлена поддержка прослойки ANGLE, отвечающей за трансляцию вызовов OpenGL ES в OpenGL, Direct3D 9/11, Desktop GL и Vulkan.
- Добавлена поддержка предложенного компанией NVIDIA OpenGL-расширения GL_NV_pack_subimage, предназначенного для обновления прямоугольников в памяти хоста с использованием данных из фреймбуфера или текстуры.
- В Vulkan-драйверы RADV (AMD), ANV (Intel) и lavapipe добавлена поддержка расширений:
- VK_EXT_depth_clip_control для lavapipe и RADV.
- VK_EXT_graphics_pipeline_library для lavapipe.
- VK_EXT_primitives_generated_query для lavapip.
- VK_EXT_image_2d_view_of_3d для ANV и lavapipe.
- VK_KHR_swapchain_mutable_format для lavapipe.
Источник: http://www.opennet.ru/opennews/art.shtml? num=57214
© OpenNet