Після трьох місяців розробки опубліковано реліз вільної реалізації 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
