Пускане на Mesa 21.1, безплатна реализация на OpenGL и Vulkan

Представена е версията на безплатната реализация на OpenGL и Vulkan API - 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 е налична за графични процесори AMD (r600) и NVIDIA (nvc0), а поддръжката на OpenGL 4.3 за virgl (виртуален графичен процесор Virgil3D за QEMU/KVM). Поддръжката на Vulkan 1.2 е внедрена за карти Intel и AMD, Vulkan 1.1 за графични процесори Qualcomm и софтуерния растеризатор lavapipe и Vulkan 1.0 за графични процесори Broadcom VideoCore VI (Raspberry Pi 4).

Основни иновации:

  • Поддръжката на разширенията VK_KHR_workgroup_memory_explicit_layout и VK_KHR_zero_initialize_workgroup_memory е добавена към Vulkan драйверите RADV (AMD) и ANV (Intel).
  • Поддръжката на модификатори на DRM формат е добавена към драйвера RADV (за AMD GFX9 карти) (разширението VK_EXT_image_drm_format_modifier е активирано).
  • Драйверът RADV включва VRS (Variable Rate Shading) поддръжка за използване с всякакви буфери за дълбочина. VRS подобрява производителността за сметка на качеството.
  • Добавена е поддръжка за AMD Aldebaran GPU (gfx90a).
  • Добавен е нов драйвер venus с внедряване на виртуален GPU (virtio-gpu), базиран на API на Vulkan.
  • Драйверът Zink (имплементация на OpenGL API върху Vulkan) включва поддръжка за OpenGL 4.6 и OpenGL ES 3.1. Zink ви позволява да получите хардуерно ускорен OpenGL, ако системата има драйвери, ограничени да поддържат само Vulkan API. Производителността на Zink е близка до тази на естествените реализации на OpenGL.
  • Драйверът на lavapipe с внедряването на софтуерен растеризатор за API на Vulkan (аналогично на llvmpipe, но за Vulkan) добави поддръжка за Vulkan 1.1 и внедри разширението Vulkan VK_KHR_copy_commands2. Софтуерното внедряване в lavapipe се основава на отразяване на извиквания на API на Vulkan към API на Gallium.
  • Добавена е поддръжка за съхраняване на шейдърни кешове в един файл.
  • Драйверите Virgl (Virtual GPU Virgil3D за QEMU/KVM) и Lima (ARM Mali GPU) осигуряват поддръжка за кеширане на шейдъри на диск.
  • Драйверът Gallium D3D12 със слой за организиране на OpenGL работа върху DirectX 12 API (D3D12) осигурява съвместимост с OpenGL 3.3 при работа върху D3D12 драйверите WARP (софтуерен растеризатор) и NVIDIA. Драйверът се използва в слоя WSL2 за стартиране на Linux графични приложения в Windows.
  • Добавени са нови OpenGL разширения:
    • GL_EXT_depth_bounds_test за драйвери за софтпайп и цинк
    • GL_EXT_texture_filter_minmax за драйвер nvc0 (gm200+)
    • GL_ARB_texture_filter_minmax за драйвер nvc0 (gm200+)
    • GL_ARB_post_depth_coverage за драйвера за цинк.

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

Добавяне на нов коментар