Ukukhutshwa kweMesa 22.3, ukuphunyezwa kwamahhala kwe-OpenGL kunye neVulkan

Ukukhutshwa kokuphunyezwa kwamahhala kwe-OpenGL kunye ne-Vulkan APIs - i-Mesa 22.3.0 ishicilelwe. Ukukhutshwa kokuqala kwesebe le-Mesa 22.3.0 kunesimo sokulinga - emva kokuzinziswa kokugqibela kwekhowudi, i-stable version 22.3.1 iya kukhutshwa.

I-Mesa 22.3 ibonelela ngenkxaso yeVulkan 1.3 yemizobo API kwi-anv ye-Intel GPUs, i-radv ye-AMD GPUs, i-tu ye-Qualcomm GPUs, kunye nemowudi yokulinganisa (vn). Inkxaso ye-Vulkan 1.1 iphunyezwe kwi-lavapipe (lvp) i-rasterizer yesofthiwe, kunye ne-Vulkan 1.0 kumqhubi we-v3dv (i-Broadcom VideoCore VI GPU esuka kwi-Raspberry Pi 4).

I-Mesa ikwabonelela ngenkxaso epheleleyo ye-OpenGL 4.6 ye-965, iris (Intel), i-radeonsi (AMD), i-zink, kunye nabaqhubi be-llvmpipe. Inkxaso ye-OpenGL 4.5 iyafumaneka kwi-AMD (r600), i-NVIDIA (nvc0) kunye ne-Qualcomm Adreno (freedreno) GPUs, i-OpenGL 4.3 ye-virgl (virgil3D virtual GPU ye-QEMU/KVM), kunye ne-OpenGL 4.2 yomqhubi we-d3d12 (umaleko wokuququzelela i-OpenGL sebenza ngaphezulu kweDirectX 12).

Iinguqulelo eziphambili:

  • В драйвере freedreno для GPU Qualcomm Adreno обеспечена поддержка графического API OpenGL 4.5, а в драйвере для эмулятора (vn) поддержка API Vulkan 1.3.
  • В драйвере Panfrost реализована возможность кэширования шейдеров на диске и добавлена поддержка GPU Mali T620. Драйвер совместим со спецификацией OpenGL 3.1 и OpenGL ES 3.1.
  • В Vulkan-драйвере RADV (AMD) добавлена поддержка GPU GFX11/RDNA3 (серия Radeon RX 7000). Проведена оптимизация кода для трассировки лучей. Добавлена поддержка пиксельных форматов R8G8B8, B8G8R8 и R16G16B16, а также 64-разрядных форматов вершинного буфера. Добавлена поддержка флага extendedDynamicState2PatchControlPoints, определяющего поддержку расширения VK_EXT_extended_dynamic_state2. Интегрирован Radeon Raytracing Analyzer.
  • В состав включён драйвер Rusticl с реализацией спецификации OpenCL 3.0, определяющей API и расширения языка С для организации кросс-платформенных параллельных вычислений. Драйвер написан на языке Rust, разработан с использованием предоставляемого в Mesa интерфейса Gallium и выступает в роли аналога присутствующего в Mesa OpenCL-фронтэнда Clover. Clover уже давно находится в заброшенном состоянии и rusticl позиционируется как его будущая замена. Поддержка Rust и rusticl по умолчанию отключена и требует сборки с явным указанием опций «-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021». При сборке в качестве дополнительных зависимостей необходимы компилятор rustc, генератор привязок bindgen, LLVM, инструментарий SPIRV-Tools и транслятор SPIRV-LLVM-Translator.
  • В драйвере RadeonSI включена по умолчанию поддержка многопоточной отрисовки через OpenGL.
  • Представлен Mesa-DB, новый тип кэша шейдеров, сохраняющий данные в одном файле.
  • Inkxaso eyongeziweyo yezandiso ze-OpenGL:
    • GL_ARB_shader_clock для llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent для zink.
    • GL_NV_shader_atomic_float для llvmpipe.
  • Inkxaso eyongeziweyo yezandiso zeVulkan:
    • VK_KHR_shader_clock для lavapipe.
    • VK_EXT_attachment_feedback_loop_layout для RADV, lavapipe.
    • VK_KHR_global_priority для RADV.
    • VK_EXT_load_store_op_none для RADV.
    • VK_EXT_mutable_descriptor_type для RADV.
    • VK_EXT_shader_atomic_float для lvp.
    • VK_EXT_shader_atomic_float2 для lvp.
    • VK_EXT_image_robustness для v3dv.
    • VK_EXT_extended_dynamic_state3 для lavapipe, RADV и ANV.
    • VK_EXT_extended_dynamic_state2 для RADV.
    • VK_EXT_pipeline_robustness для v3dv.
    • VK_EXT_mesh_shader для ANV.

umthombo: opennet.ru

Yongeza izimvo