Реліз Mesa 24.3, вільної реалізації OpenGL та Vulkan

Після трьох місяців розробки опубліковано реліз вільної реалізації API OpenGL і Vulkan - Mesa 24.3.0. Перший випуск гілки Mesa 24.3.0 має експериментальний статус – після проведення остаточної стабілізації коду буде випущено стабільну версію 24.3.1.

У Mesa 24.3 доступна підтримка графічного API Vulkan 1.3 у драйверах anv для GPU Intel, radv для GPU AMD, NVK для GPU NVIDIA, tu для GPU Qualcomm, в програмному розтеризаторі lavapipe (lvp), в режимі емулятора (vn) і v3 Broadcom VideoCore для Raspberry Pi 4+). Підтримка Vulkan 1.0 реалізована в драйверах dzn (реалізація Vulkan поверх Direct3D 12) та panvk (GPU ARM Mali).

Mesa також забезпечується повна підтримка OpenGL 4.6 для драйверів iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (старі GPU Intel Gen4-Gen7), zink, llvmpipe, virgl (віртуальний GPU Virgil3D для QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (прошарка для організації роботи OpenGL поверх DirectX 12) та asahi (GPU AGX, що використовується в чіпах Apple M1 та M2). Підтримка OpenGL 4.5 доступна для GPU AMD (r600) та NVIDIA (nvc0). Підтримка OpenGL 3.3 є у драйверах softpipe (програмний розтеризатор) і nv50 (NVIDIA NV50).

Основні нововведення:

  • У драйвері v3dv забезпечено повну підтримку графічного API Vulkan 1.3 для GPU VideoCore, що використовуються на платах Raspberry Pi 4 і Raspberry Pi 5.
  • Доданий новий Vulkan-драйвер gfxstream-vk, який може застосовуватися для віртуалізації API Vulkan та доступу до даного графічного API із гостьових систем на базі Linux, Android та Fuchsia. Драйвер використовується Google в емуляторі Android, емуляторі Fuchsia, в хмарних сервісах з Android та Android Automotive OS (AAOS).
  • В інтерфейс інтеграції графічного API Vulkan з віконними системами (WSI, Windowing System Integration) додана підтримка Vulkan-розширення VK_PRESENT_MODE_FIFO_KHR для застосування в оточеннях на базі Wayland протоколу FIFO, що дозволяє при виведенні використовувати очікування завершення вертикальної розгортки ( готовності відобразити новий кадр, що вирішує проблему з високим навантаженням на GPU під час використання VSync.
  • На системах з GPU Intel на базі архітектури Xe2 за замовчуванням увімкнено стиснення буферів глибини (z-буферів).
  • OpenGL-драйвер iris і Vulkan-драйвер ANV додають початкову підтримку GPU Intel на базі архітектури Xe3, задіяної в процесорах Panther Lake.
  • До драйвера NVK (NVIDIA) додано підтримку Vulkan-розширень:
    • VK_EXT_descriptor_buffer
    • VK_EXT_покриття_глибини_постів
    • VK_EXT_legacy_vertex_attributes
    • VK_KHR_maintenance7
    • VK_KHR_dynamic_rendering_local_read
    • VK_NV_compute_shader_derivatives
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_host_image_copy (для GPU Turing+)
    • VK_KHR_shader_quad_control
    • VK_KHR_fragment_shading_rate
    • VK_EXT_depth_clamp_zero_one
    • VK_EXT_device_generated_commands
  • До драйвера RADV (AMD) додано підтримку Vulkan-розширень:
    • VK_KHR_video_maintenance1
    • VK_KHR_pipeline_binary
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_device_generated_commands
    • VK_KHR_shader_relaxed_extended_instruction
  • До драйвера ANV (Intel) додано підтримку Vulkan-розширень
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_relaxed_extended_instruction
    • VK_EXT_depth_clamp_control
  • У драйвер hasvk (Intel Ivy Bridge, Haswell та Broadwell) додана підтримка Vulkan-розширень:
    • VK_EXT_depth_clamp_control
    • VK_KHR_shader_relaxed_extended_instruction
  • У драйверах hk, tu, v3dv і lvp додано підтримку Vulkan-розширення VK_KHR_shader_relaxed_extended_instruction.
  • Додано підтримку нових розширень OpenGL:
    • GL_KHR_shader_subgroup драйвером radeonsi
    • GL_OVR_multiview до драйвера zink
    • GL_OVR_multiview2 до драйвера zink
    • GL_ARB_draw_indirect до драйвера etnaviv/HALTI5+
    • GL_EXT_draw_buffers2 до драйвера etnaviv/HALTI5+
    • GL_ARB_draw_buffers_blend до драйвера etnaviv/HALTI5+
    • GL_ARB_framebuffer_no_attachments до драйвера etnaviv
    • GL_ARB_timer_query до драйвера Panfrost
    • GL_EXT_disjoint_timer_query до драйвера Panfrost

Джерело: opennet.ru

Додати коментар або відгук