Avalikustatud on OpenGL ja Vulkan API vabade teostuste väljaanne - Mesa 22.3.0. Esimene versioon harust Mesa 22.3.0 on eksperimentaalses faasis - pärast koodi lõplikku stabiliseerimist antakse välja stabiilne versioon 22.3.1.
Mesa 22.3 sisaldab to support Vulkan 1.3 graafika API-d draiverites anv Intel GPU-dele, radv AMD GPU-dele, tu Qualcomm GPU-dele ja emulaatorirežiimis (vn). Toetust Vulkan 1.1 on rakendatud tarkvara rasteris ja lavapipe (lvp) ning Vulkan 1.0 on draiveris v3dv (GPU Broadcom VideoCore VI Raspberry Pi 4-l).
Mesa tagab ka täieliku OpenGL 4.6 toe draiveritele 965, iris (Intel), radeonsi (AMD), zink ja llvmpipe. OpenGL 4.5 tugi on saadaval AMD (r600), NVIDIA (nvc0) ja Qualcomm Adreno (freedreno) GPU-dele, OpenGL 4.3 on virgl (virtuaalne GPU Virgil3D QEMU/KVM-i jaoks), ning OpenGL 4.2 on saadaval draiveri d3d12 jaoks (tugi OpenGL töötamiseks DirectX 12 peal).
Põhilised uuendused:
- Draiveris freedreno Qualcomm Adreno GPU-dele on tagatud OpenGL 4.5 graafika API toetus ja emulaatori draiveris (vn) on toetus Vulkan 1.3 API-le.
- Draiveris Panfrost on rakendatud võimalus salvestada shaderite vahemälu ketta peale ning lisatud on toetus Mali T620 GPU-dele. Draiver on ühilduv OpenGL 3.1 ja OpenGL ES 3.1 spetsifikatsiooniga.
- Vulkan-draiveris RADV (AMD) on lisatud toetus GFX11/RDNA3 (Radeon RX 7000 seeria) GPU-dele. Koodi on optimeeritud kiirteekonnaks. Lisatud on toetus piksliformaatidele R8G8B8, B8G8R8 ja R16G16B16, samuti 64-bitiste vertex-bufferi formaatide toetus. Lisatud on laienduse VK_EXT_extended_dynamic_state2 toetava lipu extendedDynamicState2PatchControlPoints toetus. Integreeritud on Radeon Raytracing Analyzer.
- Kokkuvõtteks on lisatud draiver Rusticl, mis rakendab OpenCL 3.0 spetsifikatsiooni, määratledes API ja C-keele laiendused, et korraldada platvormideülest paralleelset arvutamist. Draiver on kirjutatud Rust keeles, arendatud Mesa pakutava Galliumi liidese abil ja toimib Mesa OpenCL-frontendina, asendades Clover'i, mis on juba ammu hüljatud. Rust ja rusticl on vaikimisi sisse lülitatud ja nõuavad ülesehitamist, selgelt määrates valikud "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Täiendavateks sõltuvusteks vajalikke on rustc kompilaator, bindgen viidete generaator, LLVM, SPIRV-Tools tööriistakomplekt ja SPIRV-LLVM-Translator.
- Draiveris RadeonSI on vaikimisi aktiveeritud mitme lõimega renderdamise toetus OpenGL kaudu.
- Esitatud on Mesa-DB, uus shaderite vahemälu tüüp, mis salvestab andmeid ühte faili.
- OpenGL laiendite tugi on lisatud:
- GL_ARB_shader_clock llvmpipe jaoks.
- GL_KHR_blend_equation_advanced_coherent zink'i jaoks.
- GL_NV_shader_atomic_float llvmpipe jaoks.
- Lisatud tugi Vulkan-i laiendustele:
- VK_KHR_shader_clock lavapipe jaoks.
- VK_EXT_attachment_feedback_loop_layout RADV, lavapipe jaoks.
- VK_KHR_global_priority RADV jaoks.
- VK_EXT_load_store_op_none RADV jaoks.
- VK_EXT_mutable_descriptor_type RADV jaoks.
- VK_EXT_shader_atomic_float lvp jaoks.
- VK_EXT_shader_atomic_float2 lvp jaoks.
- VK_EXT_image_robustness v3dv jaoks.
- VK_EXT_extended_dynamic_state3 lavapipe, RADV ja ANV jaoks.
- VK_EXT_extended_dynamic_state2 RADV jaoks.
- VK_EXT_pipeline_robustness v3dv jaoks.
- VK_EXT_mesh_shader ANV jaoks.
Allikas: opennet.ru
