Release av Mesa 22.3, en gratis implementering av OpenGL och Vulkan

Utgivningen av den fria implementeringen av OpenGL och Vulkan API - Mesa 22.3.0 - har publicerats. Den första utgåvan av Mesa 22.3.0-grenen har en experimentell status - efter den slutliga stabiliseringen av koden kommer en stabil version 22.3.1 att släppas.

I Mesa 22.3 är stöd för Vulkan 1.3 grafik API tillgängligt i anv-drivrutinerna för Intel GPU:er, radv för AMD GPU:er, tu för Qualcomm GPU:er och i emulatorläge (vn). Vulkan 1.1-stöd är implementerat i lavapipe (lvp)-programvaran rasterizer, och Vulkan 1.0 i v3dv-drivrutinen (Broadcom VideoCore VI GPU från Raspberry Pi 4).

Mesa tillhandahåller också fullt OpenGL 4.6-stöd för drivrutiner för 965, iris (Intel), radeonsi (AMD), zink och llvmpipe. OpenGL 4.5-stöd är tillgängligt för AMD (r600), NVIDIA (nvc0) och Qualcomm Adreno (freedreno) GPU:er, OpenGL 4.3 för virgl (virgil3D virtuell GPU för QEMU/KVM) och OpenGL 4.2 för d3d12-drivrutinen (ett lager för att organisera OpenGL fungerar ovanpå DirectX 12).

Huvudsakliga innovationer:

  • Freedreno-drivrutinen för Qualcomm Adreno GPU:er ger stöd för OpenGL 4.5 grafik-API, och emulatordrivrutinen (vn) stöder Vulkan 1.3 API.
  • Panfrost-drivrutinen implementerar möjligheten att cache-shaders på disk och lägger till stöd för Mali T620 GPU. Drivrutinen är kompatibel med OpenGL 3.1-specifikationen och OpenGL ES 3.1.
  • RADV (AMD) Vulkan-drivrutinen har lagt till stöd för GFX11/RDNA3 GPU:er (Radeon RX 7000-serien). Koden för strålspårning har optimerats. Lagt till stöd för R8G8B8, B8G8R8 och R16G16B16 pixelformat, samt 64-bitars vertexbuffertformat. Lade till stöd för flaggan extendedDynamicState2PatchControlPoints, som bestämmer stöd för tillägget VK_EXT_extended_dynamic_state2. Radeon Raytracing Analyzer integrerad.
  • Paketet innehåller Rusticle-drivrutinen med implementeringen av OpenCL 3.0-specifikationen, som definierar API:et och tilläggen av C-språket för att organisera plattformsoberoende parallell datoranvändning. Drivrutinen är skriven i Rust, utvecklad med Gallium-gränssnittet i Mesa och fungerar som en analog till Clover OpenCL-gränssnittet som finns i Mesa. Clover har varit övergiven under lång tid och rusticl är positionerad som dess framtida ersättare. Stöd för Rust och rusticl är inaktiverat som standard och kräver en build med explicita alternativ "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". När du bygger krävs rustc-kompilatorn, bindgen-bindningsgeneratorn, LLVM, SPIRV-Tools och SPIRV-LLVM-Translator som ytterligare beroenden.
  • RadeonSI-drivrutinen inkluderar som standard stöd för flertrådsrendering via OpenGL.
  • Introducerade Mesa-DB, en ny typ av shader-cache som lagrar data i en enda fil.
  • Tillagt stöd för OpenGL-tillägg:
    • GL_ARB_shader_clock för llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent för zink.
    • GL_NV_shader_atomic_float för llvmpipe.
  • Tillagt stöd för Vulkan-tillägg:
    • VK_KHR_shader_clock för lavapipe.
    • VK_EXT_attachment_feedback_loop_layout för RADV, lavapipe.
    • VK_KHR_global_priority för RADV.
    • VK_EXT_load_store_op_none för RADV.
    • VK_EXT_mutable_descriptor_type för RADV.
    • VK_EXT_shader_atomic_float för lvp.
    • VK_EXT_shader_atomic_float2 för lvp.
    • VK_EXT_image_robustness för v3dv.
    • VK_EXT_extended_dynamic_state3 för lavapipe, RADV och ANV.
    • VK_EXT_extended_dynamic_state2 för RADV.
    • VK_EXT_pipeline_robustness för v3dv.
    • VK_EXT_mesh_shader för ANV.

Källa: opennet.ru

Lägg en kommentar