Është publikuar një lëshim i zbatimit të lirë të API-së OpenGL dhe Vulkan - Mesa 22.3.0. Lëshimi i parë i degës Mesa 22.3.0 ka status eksperimental - pas stabilizimit përfundimtar të kodit, do të lëshohet një version stabil 22.3.1.
Në Mesa 22.3 është e disponueshme mbështetje për API-në grafike Vulkan 1.3 në driverat anv për GPU-të Intel, radv për GPU-të AMD, tu për GPU-të Qualcomm dhe në modalitetin e emulatorit (vn). Mbështetje për Vulkan 1.1 është realizuar në rasterizuesin softuerik lavapipe (lvp), ndërsa Vulkan 1.0 në driverin v3dv (GPU Broadcom VideoCore VI nga Raspberry Pi 4).
Në Mesa po ashtu sigurohet mbështetje e plotë për OpenGL 4.6 për drejtuesit 965, iris (Intel), radeonsi (AMD), zink dhe llvmpipe. Mbështetje për OpenGL 4.5 është në dispozicion për GPU AMD (r600), NVIDIA (nvc0) dhe Qualcomm Adreno (freedreno), OpenGL 4.3 për virgl (GPU virtual Virgil3D për QEMU/KVM), dhe OpenGL 4.2 për drejtuesin d3d12 (shtresë për organizimin e punës OpenGL mbi DirectX 12).
Të rejat kryesore:
- Në driverin freedreno për GPU Qualcomm Adreno është siguruar mbështetje për API-në grafike OpenGL 4.5, ndërsa në driverin për emulatorin (vn) mbështetje për API-në Vulkan 1.3.
- Në driverin Panfrost është realizuar mundësia e ruajtjes së shenjave në disk dhe është shtuar mbështetje për GPU Mali T620. Driveri është i pajtueshëm me specifikimin OpenGL 3.1 dhe OpenGL ES 3.1.
- Në driverin Vulkan RADV (AMD) është shtuar mbështetje për GPU GFX11/RDNA3 (seria Radeon RX 7000). Është optimizuar kodi për gjurmimin e rrezeve. Janë shtuar mbështetje për formate pixel R8G8B8, B8G8R8 dhe R16G16B16, si dhe formate 64-bit për bufferin e pikselëve. Janë shtuar mbështetje për flagun extendedDynamicState2PatchControlPoints, i cili përcakton mbështetje për zgjerimin VK_EXT_extended_dynamic_state2. Është integruar Radeon Raytracing Analyzer.
- Në përbërje është përfshirë driveri Rusticl me implementimin e specifikacionit OpenCL 3.0, i cili përcakton API-në dhe zgjerimet e gjuhës C për organizimin e llogaritjeve paralele të platformave të ndryshme. Driveri është shkruar në gjuhën Rust, është zhvilluar duke përdorur ndërfaqen Gallium të siguruar në Mesa dhe shërben si një ekuivalent për front-end-in OpenCL të pranishëm në Mesa, Clover. Clover ka kohë që është lënë pas dore dhe rusticl pozicionohet si zëvendësimi i tij i ardhshëm. Mbështetje për Rust dhe rusticl është e çaktivizuar si parazgjedhje dhe kërkon ndërtim me specifiken e opsioneve "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Gjatë ndërtimit, si varësi të tjera kërkohet kompilatorin rustc, gjeneratorin e lidhjeve bindgen, LLVM, setin e instrumenteve SPIRV-Tools dhe përkthyesin SPIRV-LLVM-Translator.
- Në driverin RadeonSI është e aktivizuar si parazgjedhje mbështetja për renderimin shumëtaşë nëpërmjet OpenGL.
- Është paraqitur Mesa-DB, një tip i ri cache të shenjave, që ruan të dhënat në një skedar të vetëm.
- Është shtuar mbështetje për zgjerimet OpenGL:
- GL_ARB_shader_clock për llvmpipe.
- GL_KHR_blend_equation_advanced_coherent për zink.
- GL_NV_shader_atomic_float për llvmpipe.
- Është shtuar mbështetje për zgjerimet Vulkan:
- VK_KHR_shader_clock për lavapipe.
- VK_EXT_attachment_feedback_loop_layout për RADV, lavapipe.
- VK_KHR_global_priority për RADV.
- VK_EXT_load_store_op_none për RADV.
- VK_EXT_mutable_descriptor_type për RADV.
- VK_EXT_shader_atomic_float për lvp.
- VK_EXT_shader_atomic_float2 për lvp.
- VK_EXT_image_robustness për v3dv.
- VK_EXT_extended_dynamic_state3 për lavapipe, RADV dhe ANV.
- VK_EXT_extended_dynamic_state2 për RADV.
- VK_EXT_pipeline_robustness për v3dv.
- VK_EXT_mesh_shader për ANV.
Burimi: opennet.ru
