OpenGL болон Vulkan-ийн үнэгүй хэрэгжүүлэлт болох Mesa 22.3 хувилбарыг гаргалаа

OpenGL болон Vulkan API - Mesa 22.3.0-ийн үнэгүй хэрэгжилтийн хувилбар нийтлэгдсэн. Mesa 22.3.0 салбарын анхны хувилбар нь туршилтын статустай - кодыг эцсийн тогтворжуулсны дараа 22.3.1 тогтвортой хувилбар гарах болно.

Mesa 22.3 нь Intel GPU-д зориулсан anv, AMD GPU-д зориулсан radv, Qualcomm GPU-д зориулсан tu, эмулятор горимд (vn) Vulkan 1.3 график API-г дэмждэг. Vulkan 1.1-ийн дэмжлэгийг lavapipe (lvp) програм хангамжийн растеризатор, Vulkan 1.0 нь v3dv драйвер (Raspberry Pi 4-ийн Broadcom VideoCore VI GPU) дээр хэрэгжүүлдэг.

Mesa нь 4.6, iris (Intel), radeonsi (AMD), zink, llvmpipe драйверуудад OpenGL 965-г бүрэн дэмждэг. OpenGL 4.5 дэмжлэгийг AMD (r600), NVIDIA (nvc0) болон Qualcomm Adreno (freereno) GPU, virgl-д зориулсан OpenGL 4.3 (QEMU/KVM-д зориулсан virgil3D виртуал GPU), d4.2d3 драйверт (OpenG-г зохион байгуулах давхарга) OpenGL 12-д ашиглах боломжтой. DirectX 12 дээр ажиллах).

Гол инноваци:

  • Qualcomm Adreno GPU-д зориулсан freedreno драйвер нь OpenGL 4.5 график API-г дэмждэг бөгөөд эмулятор драйвер (vn) нь Vulkan 1.3 API-г дэмждэг.
  • Panfrost драйвер нь дискэн дээрх шэйдерүүдийг кэшлэх чадварыг хэрэгжүүлдэг бөгөөд Mali T620 GPU-д дэмжлэг үзүүлдэг. Драйвер нь OpenGL 3.1 тодорхойлолт болон OpenGL ES 3.1-тэй нийцдэг.
  • RADV (AMD) Vulkan драйвер нь GFX11/RDNA3 GPU (Radeon RX 7000 цуврал)-ийн дэмжлэгийг нэмсэн. Цацрагийн хяналтын кодыг оновчтой болгосон. R8G8B8, B8G8R8, R16G16B16 пикселийн формат, мөн 64 битийн оройн буфер форматын дэмжлэгийг нэмсэн. VK_EXT_extended_dynamic_state2 өргөтгөлийн дэмжлэгийг тодорхойлдог extendedDynamicState2PatchControlPoints тугны дэмжлэгийг нэмсэн. Radeon Raytracing Analyzer нэгдсэн.
  • Энэхүү багцад платформ хоорондын зэрэгцээ тооцооллыг зохион байгуулахад зориулсан C хэлний API болон өргөтгөлүүдийг тодорхойлсон OpenCL 3.0 тодорхойлолтыг хэрэгжүүлсэн Rusticle драйвер багтсан болно. Драйвер нь Mesa-д өгөгдсөн Gallium интерфэйсийг ашиглан боловсруулсан Rust хэл дээр бичигдсэн бөгөөд Mesa-д байгаа Clover OpenCL-ийн аналогийн үүрэг гүйцэтгэдэг. Гэрийн хошоонгорыг удаан хугацаагаар орхисон бөгөөд rusticl нь түүнийг ирээдүйд орлуулах болно. Rust болон rusticl-ийн дэмжлэгийг анхдагчаар идэвхгүй болгосон бөгөөд "-D gallium-rusticl=true -Dllvm=идэвхжүүлсэн -Drust_std=2021" гэсэн тодорхой сонголттой бүтээх шаардлагатай. Барилга хийхдээ rustc хөрвүүлэгч, bindgen холбох генератор, LLVM, SPIRV-Tools, SPIRV-LLVM-Translator зэрэг нь нэмэлт хамаарал болгон шаардлагатай.
  • RadeonSI драйвер нь анхдагчаар OpenGL-ээр дамжуулан олон урсгалт дүрслэлийг дэмждэг.
  • Мэдээллийг нэг файлд хадгалдаг шинэ төрлийн шэйдер кэш болох Mesa-DB-г танилцууллаа.
  • OpenGL өргөтгөлүүдийн дэмжлэгийг нэмсэн:
    • llvmpipe-д зориулсан GL_ARB_shader_цаг.
    • GL_KHR_холимог_тэгшитгэл цайрын хувьд дэвшилтэт уялдаатай.
    • llvmpipe-д зориулсан GL_NV_shader_atomic_float.
  • Vulkan өргөтгөлүүдийн нэмэлт дэмжлэг:
    • Lavapipe-д зориулсан VK_KHR_shader_цаг.
    • RADV, lavapipe-д зориулсан VK_EXT_хавсралт_санал хүсэлтийн_гогцоо.
    • RADV-д зориулсан VK_KHR_дэлхийн_тэргүүлэх чиглэл.
    • RADV-д зориулсан VK_EXT_load_store_op_none.
    • RADV-д зориулсан VK_EXT_хувиргах_тодорхойлогчийн төрөл.
    • lvp-д зориулсан VK_EXT_shader_atomic_float.
    • lvp-д зориулсан VK_EXT_shader_atomic_float2.
    • v3dv-д зориулсан VK_EXT_зургийн_бат бөх байдал.
    • Lavapipe, RADV болон ANV-д зориулсан VK_EXT_extended_dynamic_state3.
    • RADV-д зориулсан VK_EXT_extended_dynamic_state2.
    • v3dv-д зориулсан VK_EXT_pipeline_robustness.
    • ANV-д зориулсан VK_EXT_mesh_shader.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх