Vydání Mesa 22.3, bezplatné implementace OpenGL a Vulkan

Bylo zveřejněno vydání bezplatné implementace API OpenGL a Vulkan - Mesa 22.3.0. První vydání větve Mesa 22.3.0 má experimentální status – po finální stabilizaci kódu vyjde stabilní verze 22.3.1.

V Mesa 22.3 je podpora pro grafické rozhraní API Vulkan 1.3 dostupná v anv pro GPU Intel, radv pro GPU AMD, tu pro GPU Qualcomm a v režimu emulátoru (vn). Podpora pro Vulkan 1.1 je implementována v softwarovém rasterizéru lavapipe (lvp) a Vulkan 1.0 v ovladači v3dv (GPU Broadcom VideoCore VI z Raspberry Pi 4).

Mesa také poskytuje plnou podporu OpenGL 4.6 pro ovladače 965, iris (Intel), radeonsi (AMD), zink a llvmpipe. Podpora OpenGL 4.5 je k dispozici pro GPU AMD (r600), NVIDIA (nvc0) a Qualcomm Adreno (freedreno), OpenGL 4.3 pro virgl (virtuální GPU Virgil3D pro QEMU/KVM) a OpenGL 4.2 pro ovladač d3d12 (vrstva pro spuštění OpenGL přes DirectX 12).

Hlavní inovace:

  • Ovladač freedreno pro GPU Qualcomm Adreno podporuje grafické API OpenGL 4.5 a ovladač emulátoru (vn) podporuje Vulkan 1.3 API.
  • Ovladač Panfrost implementuje možnost ukládat shadery na disk do mezipaměti a přidává podporu pro GPU Mali T620. Ovladač je kompatibilní se specifikací OpenGL 3.1 a OpenGL ES 3.1.
  • Přidána podpora pro GPU GFX11/RDNA3 (řada Radeon RX 7000) v ovladači RADV (AMD) Vulkan. Kód pro sledování paprsků byl optimalizován. Přidána podpora pro pixelové formáty R8G8B8, B8G8R8 a R16G16B16 a také 64bitové formáty vertex bufferu. Přidána podpora příznaku extendedDynamicState2PatchControlPoints, který určuje podporu pro rozšíření VK_EXT_extended_dynamic_state2. Integrovaný Radeon Raytracing Analyzer.
  • Ovladač Rusticl je součástí implementace specifikace OpenCL 3.0, která definuje API a rozšíření jazyka C pro organizování multiplatformního paralelního počítání. Ovladač je napsán v Rustu, vyvíjen pomocí rozhraní Gallium poskytovaného v Mesa a funguje jako analog Clover OpenCL frontendu přítomného v Mesa. Jetel je dlouho v dezolátním stavu a rustikální je umístěn jako jeho budoucí náhrada. Podpora Rust a Rusticl je ve výchozím nastavení zakázána a vyžaduje sestavení s explicitními možnostmi "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Při sestavování jsou jako další závislosti vyžadovány kompilátor rustc, bindgen, LLVM, SPIRV-Tools a SPIRV-LLVM-Translator.
  • Ovladač RadeonSI má ve výchozím nastavení povolenou podporu vícevláknového vykreslování přes OpenGL.
  • Je představena Mesa-DB, nový typ shader cache, který ukládá data do jednoho souboru.
  • Přidána podpora pro rozšíření OpenGL:
    • GL_ARB_shader_clock pro llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent pro zink.
    • GL_NV_shader_atomic_float pro llvmpipe.
  • Přidána podpora pro rozšíření Vulkan:
    • VK_KHR_shader_clock pro lavapipe.
    • VK_EXT_attachment_feedback_loop_layout pro RADV, lavapipe.
    • VK_KHR_global_priority pro RADV.
    • VK_EXT_load_store_op_none pro RADV.
    • VK_EXT_mutable_descriptor_type pro RADV.
    • VK_EXT_shader_atomic_float pro lvp.
    • VK_EXT_shader_atomic_float2 pro lvp.
    • VK_EXT_image_robustness pro v3dv.
    • VK_EXT_extended_dynamic_state3 pro lavapipe, RADV a ANV.
    • VK_EXT_extended_dynamic_state2 pro RADV.
    • VK_EXT_pipeline_robustness pro v3dv.
    • VK_EXT_mesh_shader pro ANV.

Zdroj: opennet.ru

Přidat komentář