Keluaran Mesa 22.3, pelaksanaan percuma OpenGL dan Vulkan

Keluaran pelaksanaan percuma OpenGL dan API Vulkan - Mesa 22.3.0 - telah diterbitkan. Keluaran pertama cawangan Mesa 22.3.0 mempunyai status percubaan - selepas penstabilan akhir kod, versi stabil 22.3.1 akan dikeluarkan.

Mesa 22.3 menyediakan sokongan untuk API grafik Vulkan 1.3 dalam anv untuk GPU Intel, radv untuk GPU AMD, tu untuk GPU Qualcomm dan dalam mod emulator (vn). Sokongan Vulkan 1.1 dilaksanakan dalam rasterizer perisian lavapipe (lvp), dan Vulkan 1.0 dalam pemacu v3dv (Broadcom VideoCore VI GPU daripada Raspberry Pi 4).

Mesa juga menyediakan sokongan penuh OpenGL 4.6 untuk pemacu 965, iris (Intel), radeonsi (AMD), zink dan llvmpipe. Sokongan OpenGL 4.5 tersedia untuk GPU AMD (r600), NVIDIA (nvc0) dan Qualcomm Adreno (freedreno), OpenGL 4.3 untuk virgl (GPU maya virgil3D untuk QEMU/KVM), dan OpenGL 4.2 untuk pemacu d3d12 (lapisan untuk mengatur OpenGL bekerja di atas DirectX 12).

Inovasi utama:

  • Pemacu freedreno untuk GPU Qualcomm Adreno menyediakan sokongan untuk API grafik OpenGL 4.5 dan pemacu emulator (vn) menyokong API Vulkan 1.3.
  • Pemacu Panfrost melaksanakan keupayaan untuk men-cache shader pada cakera dan menambah sokongan untuk GPU Mali T620. Pemacu serasi dengan spesifikasi OpenGL 3.1 dan OpenGL ES 3.1.
  • Pemacu Vulkan RADV (AMD) telah menambah sokongan untuk GPU GFX11/RDNA3 (siri Radeon RX 7000). Kod untuk pengesanan sinar telah dioptimumkan. Menambah sokongan untuk format piksel R8G8B8, B8G8R8 dan R16G16B16, serta format penimbal puncak 64-bit. Menambah sokongan untuk bendera extendedDynamicState2PatchControlPoints, yang menentukan sokongan untuk sambungan VK_EXT_extended_dynamic_state2. Radeon Raytracing Analyzer bersepadu.
  • Pakej ini termasuk pemacu Rusticle dengan pelaksanaan spesifikasi OpenCL 3.0, yang mentakrifkan API dan sambungan bahasa C untuk mengatur pengkomputeran selari merentas platform. Pemacu ditulis dalam Rust, dibangunkan menggunakan antara muka Gallium yang disediakan dalam Mesa dan bertindak sebagai analog bagi bahagian hadapan OpenCL Clover yang terdapat di Mesa. Clover telah lama ditinggalkan dan rusticl diletakkan sebagai pengganti masa depannya. Sokongan untuk Rust dan rusticl dilumpuhkan secara lalai dan memerlukan binaan dengan pilihan eksplisit "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Semasa membina, pengkompil rustc, penjana pengikat bindgen, LLVM, SPIRV-Tools dan SPIRV-LLVM-Translator diperlukan sebagai kebergantungan tambahan.
  • Pemacu RadeonSI termasuk sokongan untuk pemaparan berbilang benang melalui OpenGL secara lalai.
  • Memperkenalkan Mesa-DB, jenis cache shader baharu yang menyimpan data dalam satu fail.
  • Menambah sokongan untuk sambungan OpenGL:
    • GL_ARB_shader_clock untuk llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent untuk zink.
    • GL_NV_shader_atomic_float untuk llvmpipe.
  • Menambah sokongan untuk sambungan Vulkan:
    • VK_KHR_shader_clock untuk lavapipe.
    • VK_EXT_attachment_feedback_loop_layout untuk RADV, lavapipe.
    • VK_KHR_global_priority untuk RADV.
    • VK_EXT_load_store_op_none untuk RADV.
    • VK_EXT_mutable_descriptor_type untuk RADV.
    • VK_EXT_shader_atomic_float untuk lvp.
    • VK_EXT_shader_atomic_float2 untuk lvp.
    • VK_EXT_image_robustness untuk v3dv.
    • VK_EXT_extended_dynamic_state3 untuk lavapipe, RADV dan ANV.
    • VK_EXT_extended_dynamic_state2 untuk RADV.
    • VK_EXT_pipeline_robustness untuk v3dv.
    • VK_EXT_mesh_shader untuk ANV.

Sumber: opennet.ru

Tambah komen