Дата публикации:Wed, 19 Nov 2025 11:28:36 +0300
После трёх месяцев разработки представлен релиз свободной реализации API OpenGL и Vulkan - Mesa 25.3.0. Тег нового выпуска в git был опубликован 15 ноября, но анонс на сайте появился только вчера (в рассылке релиз не объявлен до сих пор). Первый выпуск ветки Mesa 25.3.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 25.3.1.
В Mesa 25.3 доступна поддержка графического API Vulkan 1.4 в драйверах ANV для GPU Intel, RADV для GPU AMD, NVK для GPU NVIDIA, HoneyKrisp (hk) для GPU Apple, Turnip для GPU Qualcomm, PanVK для GPU ARM Mali, в программном растеризаторе lavapipe (lvp) и в режиме эмулятора (vn). В драйверах v3dv (GPU Broadcom VideoCore для Raspberry Pi 4+) и dzn (реализация Vulkan поверх Direct3D 12) поддерживается Vulkan 1.0, в драйвере kk (KosmicKrisp, Vulkan поверх Metal) - Vulkan 1.1, а драйвере pvr (GPU Imagination PowerVR) - Vulkan 1.2.
В Mesa также обеспечивается полная поддержка OpenGL 4.6 для драйверов iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (старые GPU Intel Gen4-Gen7), AMD (r600), zink, llvmpipe, virgl (виртуальный GPU Virgil3D для QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (прослойка для организации работы OpenGL поверх DirectX 12) и asahi (GPU AGX, используемый в чипах Apple M1 и M2). Поддержка OpenGL 4.5 доступна для GPU NVIDIA (nvc0). Поддержка OpenGL 3.3 присутствует в драйверах softpipe (программный растеризатор) и nv50 (NVIDIA NV50). В драйверах panfrost (GPU ARM Mali) и v3d (GPU Broadcom VideoCore) поддерживается OpenGL 3.1.
Основные новшества:
- В состав включён новый Vulkan-драйвер KosmicKrisp (kk), реализующий графический API Vulkan поверх API Metal, развиваемого компанией Apple и применяемого в macOS. Драйвер создан компанией LunarG для использования на компьютерах Mac с чипами Apple Silicon. В текущем виде драйвер полностью совместим с API Vulkan 1.1, но отмечается, что он уже очень близок к реализации поддержки Vulkan 1.3. Добавлен драйвер ethos для NPU Arm Ethos-U65. В Vulkan-драйвере pvr, развиваемом для GPU Imagination PowerVR, обеспечена поддержка Vulkan 1.2. В Vulkan-драйвер RADV добавлены оптимизации, существенно увеличивающие скорость работы движка выполнения больших языковых моделей Llama.cpp при использовании Vulkan-бэкенда на системах с GPU AMD. В некоторых тестах llama-bench конфигурация на базе драйвера RADV стала быстрее драйвера AMDVLK и стека ROCm на 31% при обработке запросов (тесты "pp" - prompt processing) и на 4% при генерации токенов (тесты "tg" - token generation). Удалена поддержка программного интерфейса VDPAU (Video Decode and Presentation API for Unix) созданного компанией NVIDIA. В качестве причин удаления упоминается возможность использования VDPAU только на системах c X11 и OpenGL, из-за отсутствия поддержки Wayland и Vulkan. Кроме того, API VDPAU свойственны ограничения, не позволяющие корректно декодировать некоторые видеопотоки. Вместо VDPAU предложено использовать API VA-API (Video Acceleration API), который может применяться с Wayland и Vulkan и лучше поддерживается в приложениях. В драйвере Zink, реализующий OpenGL 4.6 поверх Vulkan, реализована поддержка mesh-шейдеров, предоставляющих альтернативный способ генерации коллекций геометрических примитивов. В драйвер rusticl добавлена поддержка расширений OpenCL для работы с семафорами (cl_khr_semaphore и cl_khr_external_semaphore). В компилятор шейдеров добавлена функциональность для подмены шейдеров SPIR-V. Реализован Vulkan-слой для поддержки технологии AMD Anti-Lag, минимизирующей задержки между вызовами vkQueueSubmit или vkQueueSubmit2 и началом выполнения операций, что позволяет сократить задержки при выводе на экран в игра Добавлена поддержка OpenGL-расширений: GL_EXT_mesh_shader для zink GL_ARB_robust_buffer_access_behavior для Panfrost GL_KHR_robust_buffer_access_behavior для Panfrost GL_KHR_robustness для Panfrost и v3d GL_ATI_meminfo для r300 GL_NVX_gpu_memory_info для r300 GL_NV_shader_atomic_int64 для radeonsi и Panfrost V9+ GL_NV_representative_fragment_test для zink EGL_EXT_create_context_robustness для Panfrost V10+
- VK_EXT_ycbcr_2plane_444_formats VK_KHR_shader_untyped_pointers VK_KHR_video_encode_intra_refresh VK_KHR_video_encode_quantization_map
- VK_ARM_shader_core_builtins VK_EXT_mutable_descriptor_type VK_KHR_maintenance7 VK_KHR_maintenance8 VK_KHR_maintenance9
- VK_EXT_border_color_swizzle VK_EXT_color_write_enable VK_EXT_custom_border_color VK_EXT_depth_clamp_zero_one VK_EXT_depth_clip_enable VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state2 VK_EXT_extended_dynamic_state3 VK_EXT_image_2d_view_of_3d VK_EXT_line_rasterization VK_EXT_map_memory_placed VK_EXT_physical_device_drm VK_EXT_provoking_vertex VK_EXT_queue_family_foreign VK_EXT_robustness2 VK_EXT_separate_stencil_usage VK_EXT_shader_demote_to_helper_invocation VK_EXT_shader_replicated_composites VK_EXT_vertex_attribute_divisor VK_EXT_zero_initialize_device_memory VK_KHR_buffer_device_address VK_KHR_create_renderpass2 VK_KHR_dedicated_allocation VK_KHR_depth_stencil_resolve VK_KHR_descriptor_update_template VK_KHR_device_group VK_KHR_device_group_creation VK_KHR_imageless_framebuffer VK_KHR_line_rasterization VK_KHR_maintenance1 VK_KHR_maintenance2 VK_KHR_maintenance3 VK_KHR_map_memory2 VK_KHR_multiview VK_KHR_robustness2 VK_KHR_sampler_mirror_clamp_to_edge VK_KHR_separate_depth_stencil_layouts VK_KHR_shader_draw_parameters VK_KHR_shader_float_controls VK_KHR_shader_non_semantic_info VK_KHR_shader_relaxed_extended_instruction VK_KHR_shader_subgroup_extended_types VK_KHR_shader_terminate_invocation VK_KHR_spirv_1_4 VK_KHR_swapchain_mutable_format VK_KHR_vertex_attribute_divisor VK_KHR_wayland_surface
- cl_ext_immutable_memory_objects cl_khr_external_semaphore для radeonsi и zink cl_khr_external_semaphore_sync_fd для radeonsi и zink cl_khr_semaphore для radeonsi и zink
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64283