Megjelent a Mesa 22.3, az OpenGL és a Vulkan ingyenes megvalósítása

Megjelent az OpenGL és a Vulkan API ingyenes megvalósításának - Mesa 22.3.0 - kiadása. A Mesa 22.3.0 ág első kiadása kísérleti státuszú - a kód végleges stabilizálása után megjelenik egy stabil 22.3.1-es verzió.

A Mesa 22.3 támogatja a Vulkan 1.3 grafikus API-t anv-ban Intel GPU-khoz, radv-ben AMD GPU-khoz, tu-hoz Qualcomm GPU-khoz és emulátor módban (vn). A Vulkan 1.1 támogatás a lavapipe (lvp) szoftver raszterezőjében, a Vulkan 1.0 pedig a v3dv illesztőprogramban van megvalósítva (Broadcom VideoCore VI GPU a Raspberry Pi 4-től).

A Mesa teljes OpenGL 4.6 támogatást is nyújt a 965, az iris (Intel), a radeonsi (AMD), a zink és az llvmpipe illesztőprogramokhoz. Az OpenGL 4.5 támogatása elérhető az AMD (r600), NVIDIA (nvc0) és Qualcomm Adreno (freedreno) GPU-khoz, az OpenGL 4.3 for virgl (virgil3D virtuális GPU QEMU/KVM-hez), valamint az OpenGL 4.2 a d3d12 illesztőprogramhoz (az OpenGL rendszerezésére szolgáló réteg) működik a DirectX 12 tetején).

Főbb újítások:

  • A Qualcomm Adreno GPU-k freedreno illesztőprogramja támogatja az OpenGL 4.5 grafikus API-t, az emulátor illesztőprogramja (vn) pedig a Vulkan 1.3 API-t.
  • A Panfrost illesztőprogram lehetővé teszi a shader-ek gyorsítótárazását a lemezen, és támogatja a Mali T620 GPU-t. Az illesztőprogram kompatibilis az OpenGL 3.1 és az OpenGL ES 3.1 specifikációval.
  • A RADV (AMD) Vulkan illesztőprogram támogatja a GFX11/RDNA3 GPU-kat (Radeon RX 7000 sorozat). A sugárkövetés kódja optimalizálva lett. Hozzáadott támogatás az R8G8B8, B8G8R8 és R16G16B16 pixel formátumokhoz, valamint a 64 bites vertex puffer formátumokhoz. Támogatás hozzáadva az expandedDynamicState2PatchControlPoints jelzőhöz, amely meghatározza a VK_EXT_extended_dynamic_state2 kiterjesztés támogatását. Radeon Raytracing Analyzer integrálva.
  • A csomag tartalmazza a Rusticle illesztőprogramot az OpenCL 3.0 specifikáció megvalósításával, amely meghatározza az API-t és a C nyelv kiterjesztéseit a platformok közötti párhuzamos számítások megszervezéséhez. Az illesztőprogram Rust nyelven íródott, a Mesa-ban található Gallium interfész segítségével lett kifejlesztve, és a Mesa-ban jelenlévő Clover OpenCL frontend analógjaként működik. A lóhere már régóta elhagyatott, és a rusztik a jövőbeni helyettesítője. A Rust és a rusticl támogatása alapértelmezés szerint le van tiltva, és explicit "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" opciókkal rendelkező build szükséges. Építéskor a rustc fordítóra, a bindgen kötésgenerátorra, az LLVM-re, a SPIRV-Tools-ra és a SPIRV-LLVM-Translatorra további függőségként van szükség.
  • A RadeonSI illesztőprogram alapértelmezés szerint támogatja a többszálas renderelést OpenGL-en keresztül.
  • Bevezettük a Mesa-DB-t, egy új típusú shader gyorsítótárat, amely egyetlen fájlban tárolja az adatokat.
  • Hozzáadott támogatás az OpenGL-bővítményekhez:
    • GL_ARB_shader_clock for llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent a cinkhez.
    • GL_NV_shader_atomic_float az llvmpipe számára.
  • Hozzáadott támogatás a Vulkan bővítményekhez:
    • VK_KHR_shader_clock lavapipe-hoz.
    • VK_EXT_attachment_feedback_loop_layout RADV-hez, lavapipe.
    • VK_KHR_global_priority for RADV.
    • VK_EXT_load_store_op_none RADV-hez.
    • VK_EXT_mutable_descriptor_type RADV-hez.
    • VK_EXT_shader_atomic_float lvp-hez.
    • VK_EXT_shader_atomic_float2 lvp-hez.
    • VK_EXT_image_robustness v3dv-hez.
    • VK_EXT_extended_dynamic_state3 lavapipe, RADV és ANV esetén.
    • VK_EXT_extended_dynamic_state2 RADV-hez.
    • VK_EXT_pipeline_robustness v3dv-hez.
    • VK_EXT_mesh_shader az ANV-hez.

Forrás: opennet.ru

Hozzászólás