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