Vydanie Mesa 22.3, bezplatnej implementácie OpenGL a Vulkan

Bolo zverejnené vydanie bezplatnej implementácie API OpenGL a Vulkan – Mesa 22.3.0. Prvé vydanie vetvy Mesa 22.3.0 má experimentálny status – po konečnej stabilizácii kódu vyjde stabilná verzia 22.3.1.

Mesa 22.3 poskytuje podporu pre grafické rozhranie API Vulkan 1.3 v anv pre GPU Intel, radv pre GPU AMD, tu pre GPU Qualcomm a v režime emulátora (vn). Podpora Vulkan 1.1 je implementovaná v softvérovom rasterizéri lavapipe (lvp) a Vulkan 1.0 v ovládači v3dv (GPU Broadcom VideoCore VI od Raspberry Pi 4).

Mesa tiež poskytuje plnú podporu OpenGL 4.6 pre ovládače 965, iris (Intel), radeonsi (AMD), zink a llvmpipe. Podpora OpenGL 4.5 je dostupná pre GPU AMD (r600), NVIDIA (nvc0) a Qualcomm Adreno (freedreno), OpenGL 4.3 pre virgl (virgil3D virtuálny GPU pre QEMU/KVM) a OpenGL 4.2 pre ovládač d3d12 (vrstva na organizáciu OpenGL pracovať nad DirectX 12).

Hlavné inovácie:

  • Ovládač freedreno pre GPU Qualcomm Adreno poskytuje podporu pre grafické API OpenGL 4.5 a ovládač emulátora (vn) podporuje Vulkan 1.3 API.
  • Ovládač Panfrost implementuje možnosť ukladať shadery na disk do vyrovnávacej pamäte a pridáva podporu pre GPU Mali T620. Ovládač je kompatibilný so špecifikáciami OpenGL 3.1 a OpenGL ES 3.1.
  • Ovládač RADV (AMD) Vulkan pridáva podporu pre GPU GFX11/RDNA3 (séria Radeon RX 7000). Kód pre sledovanie lúčov bol optimalizovaný. Pridaná podpora pre pixelové formáty R8G8B8, B8G8R8 a R16G16B16, ako aj 64-bitové formáty vyrovnávacej pamäte vrcholov. Pridaná podpora pre príznak extendedDynamicState2PatchControlPoints, ktorý určuje podporu pre rozšírenie VK_EXT_extended_dynamic_state2. Integrovaný Radeon Raytracing Analyzer.
  • Balík obsahuje ovládač Rusticle s implementáciou špecifikácie OpenCL 3.0, ktorá definuje API a rozšírenia jazyka C pre organizovanie multiplatformových paralelných výpočtov. Ovládač je napísaný v jazyku Rust, vyvinutý pomocou rozhrania Gallium poskytovaného v Mesa a funguje ako analóg rozhrania Clover OpenCL prítomného v Mesa. Ďatelina je už dlho opustená a jej budúcou náhradou je rustikál. Podpora pre Rust a rusticl je predvolene vypnutá a vyžaduje zostavu s explicitnými možnosťami "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Pri vytváraní sa ako ďalšie závislosti vyžaduje kompilátor rustc, generátor väzby bindgen, LLVM, SPIRV-Tools a SPIRV-LLVM-Translator.
  • Ovládač RadeonSI štandardne obsahuje podporu pre viacvláknové vykresľovanie cez OpenGL.
  • Predstavil Mesa-DB, nový typ vyrovnávacej pamäte shadera, ktorá ukladá údaje do jedného súboru.
  • Pridaná podpora pre rozšírenia OpenGL:
    • GL_ARB_shader_clock pre llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent pre zink.
    • GL_NV_shader_atomic_float pre llvmpipe.
  • Pridaná podpora pre rozšírenia Vulkan:
    • VK_KHR_shader_clock pre lavapipe.
    • VK_EXT_attachment_feedback_loop_layout pre RADV, lavapipe.
    • VK_KHR_global_priority pre RADV.
    • VK_EXT_load_store_op_none pre RADV.
    • VK_EXT_mutable_descriptor_type pre RADV.
    • VK_EXT_shader_atomic_float pre lvp.
    • VK_EXT_shader_atomic_float2 pre lvp.
    • VK_EXT_image_robustness pre v3dv.
    • VK_EXT_extended_dynamic_state3 pre lavapipe, RADV a ANV.
    • VK_EXT_extended_dynamic_state2 pre RADV.
    • VK_EXT_pipeline_robustness pre v3dv.
    • VK_EXT_mesh_shader pre ANV.

Zdroj: opennet.ru

Pridať komentár