Utgivelse av Mesa 22.3, en gratis implementering av OpenGL og Vulkan

Utgivelsen av den gratis implementeringen av OpenGL og Vulkan APIer - Mesa 22.3.0 - har blitt publisert. Den første utgivelsen av Mesa 22.3.0-grenen har en eksperimentell status - etter den endelige stabiliseringen av koden vil en stabil versjon 22.3.1 bli utgitt.

I Mesa 22.3 er støtte for Vulkan 1.3 grafikk API tilgjengelig i anv-driverne for Intel GPUer, radv for AMD GPUer, tu for Qualcomm GPUer og i emulatormodus (vn). Vulkan 1.1-støtte er implementert i lavapipe (lvp) programvarerasterizer, og Vulkan 1.0 i v3dv-driveren (Broadcom VideoCore VI GPU fra Raspberry Pi 4).

Mesa gir også full OpenGL 4.6-støtte for 965, iris (Intel), radeonsi (AMD), zink og llvmpipe-drivere. OpenGL 4.5-støtte er tilgjengelig for AMD (r600), NVIDIA (nvc0) og Qualcomm Adreno (freedreno) GPUer, OpenGL 4.3 for virgl (virgil3D virtuell GPU for QEMU/KVM), og OpenGL 4.2 for d3d12-driveren (et lag for organisering av OpenGL) fungerer på toppen av DirectX 12).

Hovedinnovasjoner:

  • Freedreno-driveren for Qualcomm Adreno GPUer gir støtte for OpenGL 4.5 grafikk-API, og emulatordriveren (vn) støtter Vulkan 1.3 API.
  • Panfrost-driveren implementerer muligheten til å cache shaders på disk og legger til støtte for Mali T620 GPU. Driveren er kompatibel med OpenGL 3.1-spesifikasjonen og OpenGL ES 3.1.
  • RADV (AMD) Vulkan-driveren har lagt til støtte for GFX11/RDNA3 GPUer (Radeon RX 7000-serien). Koden for strålesporing er optimert. Lagt til støtte for R8G8B8, B8G8R8 og R16G16B16 pikselformater, samt 64-bits toppunktbufferformater. Lagt til støtte for flagget extendedDynamicState2PatchControlPoints, som bestemmer støtte for utvidelsen VK_EXT_extended_dynamic_state2. Radeon Raytracing Analyzer integrert.
  • Pakken inkluderer Rusticle-driveren med implementering av OpenCL 3.0-spesifikasjonen, som definerer API og utvidelser av C-språket for organisering av parallelldatabehandling på tvers av plattformer. Driveren er skrevet i Rust, utviklet ved hjelp av Gallium-grensesnittet i Mesa og fungerer som en analog av Clover OpenCL-frontend som finnes i Mesa. Clover har vært forlatt i lang tid og rusticl er posisjonert som dens fremtidige erstatning. Støtte for Rust og rusticl er deaktivert som standard og krever en build med eksplisitte alternativer "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Ved bygging kreves rustc-kompilatoren, bindgen-bindingsgeneratoren, LLVM, SPIRV-Tools og SPIRV-LLVM-Translator som ekstra avhengigheter.
  • RadeonSI-driveren inkluderer støtte for flertrådsgjengivelse via OpenGL som standard.
  • Introduserte Mesa-DB, en ny type shader-cache som lagrer data i en enkelt fil.
  • Lagt til støtte for OpenGL-utvidelser:
    • GL_ARB_shader_clock for llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent for zink.
    • GL_NV_shader_atomic_float for llvmpipe.
  • Lagt til støtte for Vulkan-utvidelser:
    • VK_KHR_shader_clock for 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 for lvp.
    • VK_EXT_shader_atomic_float2 for 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 for v3dv.
    • VK_EXT_mesh_shader for ANV.

Kilde: opennet.ru

Legg til en kommentar