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

Апублікаваны рэліз свабоднай рэалізацыі API OpenGL і Vulkan - Mesa 22.3.0. Першы выпуск галінкі Mesa 22.3.0 мае эксперыментальны статус - пасля правядзення канчатковай стабілізацыі кода будзе выпушчана стабільная версія 22.3.1.

У Mesa 22.3 даступная падтрымка графічнага API Vulkan 1.3 у драйверах anv для GPU Intel, radv для GPU AMD, tu для GPU Qualcomm і ў рэжыме эмулятара (vn). Падтрымка Vulkan 1.1 рэалізавана ў праграмным растэрызатары lavapipe (lvp), а Vulkan 1.0 у драйверы v3dv (GPU Broadcom VideoCore VI з Raspberry Pi 4).

У Mesa таксама забяспечваецца поўная падтрымка OpenGL 4.6 для драйвераў 965, iris (Intel), radeonsi (AMD), zink і llvmpipe. Падтрымка OpenGL 4.5 даступная для GPU AMD (r600), NVIDIA (nvc0) і Qualcomm Adreno (freedreno), OpenGL 4.3 для virgl (віртуальны GPU Virgil3D для QEMU/KVM), а OpenGL 4.2 для драйвера d3d12 (просло 12).

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

  • У драйверы freedreno для GPU Qualcomm Adreno забяспечана падтрымка графічнага API OpenGL 4.5, а ў драйверы для эмулятара (vn) падтрымка API Vulkan 1.3.
  • У драйверы Panfrost рэалізавана магчымасць кэшавання шэйдараў на дыску і дададзена падтрымка GPU Mali T620. Драйвер сумяшчальны са спецыфікацыяй OpenGL 3.1 і OpenGL ES 3.1.
  • У Vulkan-драйверы RADV (AMD) дададзена падтрымка GPU GFX11/RDNA3 (серыя Radeon RX 7000). Праведзена аптымізацыя кода для трасіроўкі прамянёў. Дададзена падтрымка піксельных фарматаў R8G8B8, B8G8R8 і R16G16B16, а таксама 64-разрадных фарматаў вяршыняга буфера. Дададзена падтрымка сцяга extendedDynamicState2PatchControlPoints, які вызначае падтрымку пашырэння VK_EXT_extended_dynamic_state2. Інтэграваны Radeon Raytracing Analyzer.
  • У склад уключаны драйвер Rusticl з рэалізацыяй спецыфікацыі OpenCL 3.0, вызначальнай API і пашырэнні мовы З для арганізацыі крос-платформавых раўналежных вылічэнняў. Драйвер напісаны на мове Rust, распрацаваны з выкарыстаннем які прадстаўляецца ў Mesa інтэрфейсу Gallium і выступае ў ролі аналогу прысутнага ў Mesa OpenCL-франтэнда Clover. Clover ужо даўно знаходзіцца ў закінутым стане і rusticl пазіцыянуецца як яго будучая замена. Падтрымка Rust і rusticl па змаўчанні адключаная і патрабуе зборкі з відавочным указаннем опцый "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Пры зборцы ў якасці дадатковых залежнасцяў неабходны кампілятар rustc, генератар прывязак bindgen, LLVM, інструментар SPIRV-Tools і транслятар SPIRV-LLVM-Translator.
  • У драйверы RadeonSI уключаная па змаўчанні падтрымка шматструменнай адмалёўкі праз OpenGL.
  • Прадстаўлены Mesa-DB, новы тып кэша шэйдараў, які захоўвае дадзеныя ў адным файле.
  • Дададзена падтрымка пашырэнняў OpenGL:
    • GL_ARB_shader_clock для llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent для zink.
    • GL_NV_shader_atomic_float для llvmpipe.
  • Дададзена падтрымка Vulkan-пашырэнняў:
    • VK_KHR_shader_clock для lavapipe.
    • VK_EXT_attachment_feedback_loop_layout для RADV, lavapipe.
    • VK_KHR_global_priority для RADV.
    • VK_EXT_load_store_op_none для RADV.
    • VK_EXT_mutable_descriptor_type для RADV.
    • VK_EXT_shader_atomic_float для lvp.
    • VK_EXT_shader_atomic_float2 для lvp.
    • VK_EXT_image_robustness для v3dv.
    • VK_EXT_extended_dynamic_state3 для lavapipe, RADV і ANV.
    • VK_EXT_extended_dynamic_state2 для RADV.
    • VK_EXT_pipeline_robustness для v3dv.
    • VK_EXT_mesh_shader для ANV.

Крыніца: opennet.ru

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