Mesa 22.3, OpenGL:n ja Vulkanin ilmainen toteutus, julkaisu

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

Lisää kommentti