OpenGL- ja Vulkan-sovellusliittymien ilmaisen toteutuksen - Mesa 22.3.0 -julkaisu on julkaistu. Mesa 22.3.0 -haaran ensimmäinen julkaisu on kokeellisessa tilassa - koodin lopullisen vakautuksen jälkeen julkaistaan vakaa versio 22.3.1.
Mesa 22.3:ssa tuki Vulkan 1.3 -grafiikkasovellusliittymälle on saatavilla anv-ajureissa Intel GPU:ille, radv AMD GPU:ille, tu Qualcomm GPU:ille ja emulaattoritilassa (vn). Vulkan 1.1 -tuki on toteutettu lavapipe (lvp) -ohjelmiston rasterizerissä ja Vulkan 1.0 v3dv-ohjaimessa (Broadcom VideoCore VI GPU Raspberry Pi 4:stä).
Mesa tarjoaa myös täyden OpenGL 4.6 -tuen 965-, iris- (Intel-), radeonsi- (AMD-), zink- ja llvmpipe-ajureille. OpenGL 4.5 -tuki on saatavilla AMD (r600), NVIDIA (nvc0) ja Qualcomm Adreno (freedreno) GPU:lle, OpenGL 4.3 virgl:lle (virgil3D virtuaalinen GPU QEMU/KVM:lle) ja OpenGL 4.2 d3d12-ohjaimelle (taso OpenGL:n järjestämiseen). toimii DirectX 12:n päällä).
Tärkeimmät innovaatiot:
- Qualcomm Adreno GPU:iden freedreno-ohjain tukee OpenGL 4.5 -grafiikkasovellusliittymää ja emulaattoriohjain (vn) tukee Vulkan 1.3 API:ta.
- Panfrost-ohjain mahdollistaa varjostajien välimuistin tallentamisen levylle ja lisää tuen Mali T620 GPU:lle. Ohjain on yhteensopiva OpenGL 3.1:n ja OpenGL ES 3.1:n kanssa.
- RADV (AMD) Vulkan -ohjain on lisännyt tuen GFX11/RDNA3 GPU:ille (Radeon RX 7000 -sarja). Säteenseurannan koodi on optimoitu. Lisätty tuki R8G8B8-, B8G8R8- ja R16G16B16 pikseliformaateille sekä 64-bittisille vertex-puskuriformaateille. Lisätty tuki ExtendedDynamicState2PatchControlPoints-lipulle, joka määrittää tuen VK_EXT_extended_dynamic_state2-laajennukselle. Integroitu Radeon Raytracing Analyzer.
- Paketti sisältää Rusticle-ajurin, jossa on toteutettu OpenCL 3.0 -spesifikaatio, joka määrittelee API:n ja C-kielen laajennukset eri alustojen rinnakkaislaskennan järjestämiseen. Ohjain on kirjoitettu Rust-kielellä, ja se on kehitetty Mesan Gallium-rajapinnalla ja toimii analogisena Mesassa olevan Clover OpenCL -käyttöliittymän kanssa. Apila on hylätty pitkään ja rusticl on asetettu sen tilalle tulevaisuudessa. Rust- ja rusticl-tuki on oletuksena poistettu käytöstä, ja se vaatii koontiversion, jossa on nimenomaiset valinnat "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Rakennettaessa rustc-kääntäjä, bindgen-sidosgeneraattori, LLVM, SPIRV-Tools ja SPIRV-LLVM-Translator vaaditaan lisäriippuvuuksina.
- RadeonSI-ajuri sisältää oletuksena tuen monisäikeiseen renderöintiin OpenGL:n kautta.
- Esitteli Mesa-DB:n, uudenlaisen Shader-välimuistin, joka tallentaa tiedot yhteen tiedostoon.
- Lisätty tuki OpenGL-laajennuksille:
- GL_ARB_shader_clock for llvmpipe.
- GL_KHR_blend_equation_advanced_coherent sinkin osalta.
- GL_NV_shader_atomic_float for llvmpipe.
- Lisätty tuki Vulkan-laajennuksille:
- VK_KHR_shader_clock lavapipelle.
- VK_EXT_attachment_feedback_loop_layout RADV:lle, lavapipe.
- VK_KHR_global_priority RADV:lle.
- VK_EXT_load_store_op_none RADV:lle.
- VK_EXT_mutable_descriptor_type RADV:lle.
- VK_EXT_shader_atomic_float lvp:lle.
- VK_EXT_shader_atomic_float2 lvp:lle.
- VK_EXT_image_robustness v3dv:lle.
- VK_EXT_extended_dynamic_state3 lavapipelle, RADV:lle ja ANV:lle.
- VK_EXT_extended_dynamic_state2 RADV:lle.
- VK_EXT_pipeline_robustness v3dv:lle.
- VK_EXT_mesh_shader ANV:lle.
Lähde: opennet.ru