Релиз на 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:
    • 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.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster