Mesa 22.3 чыгаруу, OpenGL жана Vulkan акысыз ишке ашыруу

OpenGL жана Vulkan API'лерин акысыз ишке ашыруунун релизи - Mesa 22.3.0 - жарыяланды. Mesa 22.3.0 бутагынын биринчи чыгарылышы эксперименталдык статуска ээ - код акыркы турукташтырылгандан кийин 22.3.1 туруктуу версиясы чыгат.

Mesa 22.3 Vulkan 1.3 графикалык API'син Intel GPU'лери үчүн anv, AMD GPU'лери үчүн radv, Qualcomm GPU'лери үчүн tu жана эмулятор режиминде (vn) колдойт. 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 драйвери үчүн OpenGL 12 (OpenG уюштуруу катмары) үчүн жеткиликтүү. 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 интеграцияланган.
  • Пакетке OpenCL 3.0 спецификациясын ишке ашыруу менен Rusticle драйвери кирет, ал API жана C тилинин кеңейтүүлөрүн платформалар аралык параллелдүү эсептөөлөрдү уюштуруу үчүн аныктайт. Айдоочу Rust тилинде жазылган, Mesaда берилген Gallium интерфейсин колдонуу менен иштелип чыккан жана Месада болгон Clover OpenCL фронтунун аналогу катары иштейт. Беде узак убакыт бою ташталган жана анын келечектеги ордун rusticl жайгаштырылган. Rust жана rusticl үчүн колдоо демейки боюнча өчүрүлгөн жана "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" ачык параметрлери менен түзүүнү талап кылат. Куруп жатканда rustc компилятору, байланыштыруучу генератор, LLVM, SPIRV-Tools жана SPIRV-LLVM-Translator кошумча көз карандылык катары талап кылынат.
  • RadeonSI драйвери демейки боюнча OpenGL аркылуу көп жиптүү көрсөтүүнү колдоону камтыйт.
  • Mesa-DB, маалыматтарды бир файлда сактаган шейдер кэшинин жаңы түрү киргизилди.
  • OpenGL кеңейтүүлөрү үчүн кошумча колдоо:
    • llvmpipe үчүн GL_ARB_shader_clock.
    • Цинк үчүн GL_KHR_blend_equation_advanced_coherent.
    • llvmpipe үчүн GL_NV_shader_atomic_float.
  • Vulkan кеңейтүүлөрү үчүн кошумча колдоо:
    • Lavapipe үчүн VK_KHR_shader_сааты.
    • RADV үчүн VK_EXT_attachment_feedback_loop_layout, lavappipe.
    • RADV үчүн VK_KHR_глобалдык_артыкчылык.
    • RADV үчүн VK_EXT_load_store_op_none.
    • RADV үчүн VK_EXT_mutable_descriptor_type.
    • lvp үчүн VK_EXT_shader_atomic_float.
    • lvp үчүн VK_EXT_shader_atomic_float2.
    • v3dv үчүн VK_EXT_image_robustness.
    • Lavapipe, RADV жана ANV үчүн VK_EXT_extended_dynamic_state3.
    • RADV үчүн VK_EXT_extended_dynamic_state2.
    • v3dv үчүн VK_EXT_pipeline_robustness.
    • ANV үчүн VK_EXT_mesh_shader.

Source: opennet.ru

Комментарий кошуу