Рэліз Mesa 21.1, свабоднай рэалізацыі OpenGL і Vulkan

Прадстаўлены рэліз свабоднай рэалізацыі API OpenGL і Vulkan – Mesa 21.1.0. Першы выпуск галінкі Mesa 21.1.0 мае эксперыментальны статус - пасля правядзення канчатковай стабілізацыі кода будзе выпушчана стабільная версія 21.1.1. У Mesa 21.1/4.6 рэалізавана поўная падтрымка OpenGL 965 для драйвераў 4.5, iris (Intel), radeonsi (AMD), zink і llvmpipe. Падтрымка OpenGL 600 даступная для GPU AMD (r0) і NVIDIA (nvc4.3), а OpenGL 3 для virgl (віртуальны GPU Virgil1.2D для QEMU/KVM). Падтрымка Vulkan 1.1 рэалізавана для карт Intel і AMD, Vulkan 1.0 для GPU Qualcomm і праграмнага растэрызатара lavapipe, а Vulkan 4 для GPU Broadcom VideoCore VI (Raspberry Pi XNUMX).

Асноўныя навіны:

  • У 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

Дадаць каментар