Реліз 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

Додати коментар або відгук