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

Прадстаўлены рэліз свабоднай рэалізацыі API OpenGL і Vulkan – Mesa 21.0.0. Першы выпуск галінкі Mesa 21.0.0 мае эксперыментальны статус - пасля правядзення канчатковай стабілізацыі кода будзе выпушчана стабільная версія 21.0.1. У Mesa 21.0 рэалізавана поўная падтрымка 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.0 для VideoCore VI (Raspberry Pi 4).

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

  • У драйверы Zink (рэалізацыя API OpenGL па-над Vulkan) забяспечана падтрымка OpenGL 4.6. Zink дазваляе атрымаць апаратна паскораны OpenGL пры наяўнасці ў сістэме драйвераў, абмежаваных падтрымкай толькі API Vulkan. Прадукцыйнасць Zink блізкая да прадукцыйнасці родных рэалізацый OpenGL.
  • У драйверы llvmpipe, прызначаным для праграмнай адмалёўкі, рэалізавана падтрымка OpenGL 4.6.
  • У драйверы Freedreno, ужывальным для графічнай падсістэмы чыпаў Qualcomm, для GPU Adreno a6xx рэалізаваная падтрымка OpenGL ES 3.0.
  • У драйверы Panfrost для GPU Midgard (Mali-T7xx, Mali-T8xx) і Bifrost (Mali G3x, G5x, G7x) рэалізавана падтрымка OpenGL 3.1, а таксама падтрымка OpenGL ES 3.0 для GPU Bifrost.
  • У драйверы radeonsi рэалізавана падтрымка пашырэнняў OpenGL GL_EXT_demote_to_helper_invocation і GL_NV_compute_shader_derivatives. Для гульні "Counter-Strike: Global Offensive" па змаўчанні ўключаны рэжым аптымізацыі "mesa_glthread", які дазваляе падняць прадукцыйнасць на 10-20%. Рэалізаваны аптымізацыі, якія ўплываюць на праходжанне тэстаў SPECViewPerf. Дададзена падтрымка прылады прафілявання Radeon GPU Profiler (RGP). Для GPU Zen 3 і RDNA 2 дададзена падтрымка тэхналогіі Smart Access Memory. Дададзена падтрымка кадавальнікаў HEVC SAO (Sample Adaptive Offset, для GPU з падтрымкай рухавікоў VCN2, VCN2.5 і VCN3) і дэкадавальнікаў AV1 (для RDNA 2/RX 6000 і толькі праз інтэрфейс OpenMAX).
  • У Vulkan-драйвер RADV (для карт AMD) дададзеная падтрымка тэхналогіі Rapid packed math (16-разрадная вектарызацыі) і Sparse-памяці (дазваляе размяшчаць рэсурсы, такія як выявы і тэкстуры, непаслядоўна і паўторна прымацоўваць іх да розных аперацый вылучэння памяці). Праведзена аптымізацыя прадукцыйнасці для карт серыі RX 6000. Дададзеныя пашырэнні VK_VALVE_mutable_descriptor_type і VK_KHR_fragment_shading_rate (толькі для RDNA2).
  • У драйверах Intel ANV і Iris дададзены аптымізацыі прадукцыйнасці і прапанавана пачатковая падтрымка пашырэнняў Vulkan для трасіроўкі прамянёў, рэалізаваных у відэакартах Xe HPG.
  • Дададзена падтрымка пашырэння EGL_MESA_platform_xcb, які дазваляе прыкладанням ствараць рэсурсы EGL з рэсурсаў X11 без звароту да Xlib.
  • У Vulkan-драйвер V3DV, які развіваецца для графічнага паскаральніка VideoCore VI, ужывальнага ў поплатках Raspberry Pi 4 на базе чыпа Broadcom BCM2711, дададзеная падтрымка Wayland WSI (Windowing System Integration), якая дазваляе звяртацца да API Vulkan з акружэнняў на базе Wayland.
  • Прынята пачатковая рэалізацыя праслойкі, якая транслюе выклікі OpenGL у API DirectX 12, для арганізацыі працы графічных прыкладанняў у асяроддзі WSL (Windows Subsystem for Linux). Акрамя таго, у склад уключана бібліятэка spirv_to_dxil для пераўтварэння прамежкавага прадстаўлення шэйдараў SPIR-V у DXIL (DirectX Intermediate Language), распрацаваная ў Microsoft.
  • Перапрацавана і значна палепшана падтрымка АС Haiku.
  • З driconf выдалены налады glx_disable_oml_sync_control, glx_disable_sgi_video_sync і glx_disable_ext_buffer_age.
  • Выдалена падтрымка DRI1 і спынена магчымасць загрузкі драйвераў DRI з версій Mesa ніжэй 8.0.
  • Выдалены драйвер swrast, пабудаваны на базе класічнага інтэрфейсу DRI і прызначаны для праграмнай адмалёўкі OpenGL (якія засталіся драйверы праграмнай адмалёўкі llvmpipe і softpipe прыкметна апярэджваюць swrast па прадукцыйнасці і функцыянальнасці). Выдаленню swrast спрыяла наяўнасць мноства нявырашаных праблем і ўзнікненне рэгрэсій, пры тым, што дадзены драйвер ужо не прымяняецца ў дыстрыбутывах.
  • Выдалены стары класічны варыянт праграмнага інтэрфейсу OSMesa (пакінуты OSMesa на базе Gallium), які дазваляе ажыццяўляць рэндэрынгу не на экран, а ў які знаходзіцца ў памяці буфер.

    Крыніца: opennet.ru

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