Udgivelse af Mesa 22.3, en gratis implementering af OpenGL og Vulkan

Frigivelsen af ​​den gratis implementering af OpenGL og Vulkan API'erne - Mesa 22.3.0 - er blevet offentliggjort. Den første udgivelse af Mesa 22.3.0-grenen har en eksperimentel status - efter den endelige stabilisering af koden vil en stabil version 22.3.1 blive frigivet.

Mesa 22.3 giver understøttelse af Vulkan 1.3 grafik API i anv til Intel GPU'er, radv til AMD GPU'er, tu til Qualcomm GPU'er og i emulatortilstand (vn). Vulkan 1.1-understøttelse er implementeret i lavapipe (lvp)-softwarerasterizeren og Vulkan 1.0 i v3dv-driveren (Broadcom VideoCore VI GPU fra Raspberry Pi 4).

Mesa giver også fuld OpenGL 4.6-understøttelse til 965, iris (Intel), radeonsi (AMD), zink og llvmpipe-drivere. OpenGL 4.5-understøttelse er tilgængelig for AMD (r600), NVIDIA (nvc0) og Qualcomm Adreno (freedreno) GPU'er, OpenGL 4.3 for virgl (virgil3D virtuel GPU til QEMU/KVM) og OpenGL 4.2 til d3d12-driveren (et lag til organisering af OpenGL) arbejde oven på DirectX 12).

Vigtigste innovationer:

  • Freedreno-driveren til Qualcomm Adreno GPU'er understøtter OpenGL 4.5 grafik-API, og emulatordriveren (vn) understøtter Vulkan 1.3 API.
  • Panfrost-driveren implementerer muligheden for at cache shaders på disken og tilføjer understøttelse af Mali T620 GPU. Driveren er kompatibel med OpenGL 3.1-specifikationen og OpenGL ES 3.1.
  • RADV (AMD) Vulkan-driveren har tilføjet understøttelse af GFX11/RDNA3 GPU'er (Radeon RX 7000-serien). Koden til strålesporing er blevet optimeret. Tilføjet understøttelse af R8G8B8, B8G8R8 og R16G16B16 pixelformater, samt 64-bit vertex bufferformater. Tilføjet understøttelse af flaget extendedDynamicState2PatchControlPoints, som bestemmer understøttelse af VK_EXT_extended_dynamic_state2-udvidelsen. Radeon Raytracing Analyzer integreret.
  • Pakken inkluderer Rusticle-driveren med implementeringen af ​​OpenCL 3.0-specifikationen, som definerer API'et og udvidelser af C-sproget til at organisere parallel computing på tværs af platforme. Driveren er skrevet i Rust, udviklet ved hjælp af Gallium-grænsefladen i Mesa og fungerer som en analog til Clover OpenCL-frontend, der findes i Mesa. Clover har været forladt i lang tid, og rusticl er placeret som dens fremtidige erstatning. Understøttelse af Rust og rusticl er deaktiveret som standard og kræver en build med eksplicitte muligheder "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Når du bygger, kræves rustc-kompileren, bindgen-bindingsgeneratoren, LLVM, SPIRV-Tools og SPIRV-LLVM-Translator som yderligere afhængigheder.
  • RadeonSI-driveren inkluderer som standard understøttelse af multi-threaded rendering via OpenGL.
  • Introducerede Mesa-DB, en ny type shader-cache, der gemmer data i en enkelt fil.
  • Tilføjet understøttelse af OpenGL-udvidelser:
    • GL_ARB_shader_clock for llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent for zink.
    • GL_NV_shader_atomic_float til llvmpipe.
  • Tilføjet support til Vulkan-udvidelser:
    • VK_KHR_shader_clock til lavapipe.
    • VK_EXT_attachment_feedback_loop_layout for RADV, lavapipe.
    • VK_KHR_global_priority for RADV.
    • VK_EXT_load_store_op_none for RADV.
    • VK_EXT_mutable_descriptor_type for RADV.
    • VK_EXT_shader_atomic_float til lvp.
    • VK_EXT_shader_atomic_float2 til lvp.
    • VK_EXT_image_robustness for v3dv.
    • VK_EXT_extended_dynamic_state3 for lavapipe, RADV og ANV.
    • VK_EXT_extended_dynamic_state2 for RADV.
    • VK_EXT_pipeline_robustness til v3dv.
    • VK_EXT_mesh_shader til ANV.

Kilde: opennet.ru

Tilføj en kommentar