След три месеца разработка беше публикуван релиза на свободната реализация на 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) и в v3dv (GPU 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, позволяващ при изхода да се използва изчакване за завършване на вертикалната синхронизация (vblank) вместо използването на извиквания на callback при всяка готовност да се покаже нов кадър, което решава проблема с високо натоварване на GPU при използването на VSync.
- На системи с GPU Intel, базирани на архитектурата Xe2, по подразбиране е включено компресиране на буферите за дълбочина (z-буферите).
- В OpenGL-драйвера iris и Vulkan-драйвера ANV е добавена начална поддръжка на GPU Intel, базирани на архитектурата Xe3, използвани в процесорите Panther Lake.
- В драйвера NVK (NVIDIA) е добавена поддръжка на разширения на Vulkan:
- VK_EXT_descriptor_buffer
- VK_EXT_post_depth_coverage
- 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
