Релиз Mesa 25.2, свободной реализации OpenGL и Vulkan

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 226
Зарегистрирован: 20.08.2022

#

Релиз Mesa 25.2, свободной реализации OpenGL и Vulkan
Дата публикации:Thu, 07 Aug 2025 15:24:44 +0300

После трёх месяцев разработки представлен релиз свободной реализации API OpenGL и Vulkan - Mesa 25.2.0. Первый выпуск ветки Mesa 25.2.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 25.2.1.
В Mesa 25.2 доступна поддержка графического API Vulkan 1.4 в драйверах ANV для GPU Intel, RADV для GPU AMD, NVK для GPU NVIDIA, Asahi для 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.
В 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-драйвер PanVK для устройств с GPU ARM Mali на базе архитектуры V10, таких как Mali-G610 и Mali-G310, добавлена поддержка графического API Vulkan 1.4 (ранее поддерживался Vulkan 1.2). В OpenGL-драйвер r600 для старых GPU AMD (до серии Radeon HD 7000 включительно) добавлена поддержка графического API OpenGL 4.6 (ранее поддерживался OpenGL 4.5). В Vulkan-драйвер NVK добавлена поддержка GPU NVIDIA на базе микроархитектур Blackwell и Kepler (GTX 600/700). Для GPU Blackwell реализована поддержка Vulkan 1.4, а для GPU Kepler - API Vulkan 1.2 (более новые версии Vulkan не поддерживаются из-за аппаратных ограничений). Для GPU NVIDIA на базе микроархитектуры Maxwell обеспечена полная совместимость с Vulkan 1.4. Оптимизирована работа компилятора шейдеров NAK, написанного на языке Rust и применяемого в драйвере NVK. В число зависимостей к драйверу NVK включён crate-пакет rustc-hash, благодаря которому удалось сократить время компиляции шейдеров примерно на 12%. Поддержка OpenGL для GPU NVIDIA Maxwell, Pascal и Volta переключена по умолчанию с драйвера Nouveau на использование драйвера Zink в связке с Vulkan-драйвером NVK. Zink также задействован для обеспечения поддержки OpenGL на системах с GPU Blackwell (в OpenGL-драйвер Nouveau добавлять поддержку GPU Blackwell не планируют). Zink предоставляет реализацию OpenGL 4.6 поверх Vulkan, позволяющую получить аппаратно ускоренный OpenGL на устройствах, поддерживающих API Vulkan. Производительность Zink близка к производительности родных реализаций OpenGL. Значительно повышена производительность Vulkan-драйвера Honeykrisp для графических процессоров, поставляемых в чипах Apple M1/M2. В Vulkan-драйверы RADV (GPU AMD) и ANV (Intel) добавлена поддержка аппаратного ускорения декодирования видео в формате VP9. Возможность реализована при помощи Vulkan-расширения VK_KHR_video_decode_vp9, весной подготовленного рабочей группой Vulkan WG. Аппаратное ускорение доступно для GPU AMD начиная с GPU Navi 10 на базе микроархитектуры RDNA 1.0. В Vulkan-драйвере RADV для GPU AMD на базе микроархитектур RDNA3 и RDNA4 повышена производительность трассировки лучей и улучшена поддержка технологии суперсэмплинга FSR 4 (FidelityFX Super Resolution). Добавлена возможность настройки приоритетов для очереди потока команд (OpenCL-расширение cl_khr_priority_hints). В OpenGL-драйвере radeonsi для старых семейств GPU AMD Evergreen и Cayman реализована поддержка OpenGL 4.6. Добавлена поддержка разделяемой виртуальной памяти (SVM, Shared Virtual Memory). В OpenGL-драйвере Iris и Vulkan-драйвере ANV реализована поддержка GPU, применяемых в процессорах Intel Wildcat Lake. В Iris и ANV также объявлена стабильной поддержка GPU Intel на базе архитектуры Xe3, задействованной в процессорах Panther Lake. Улучшена поддержка семейств GPU Xe2 и Xe3. В драйвер Iris добавлена поддержка разделяемой виртуальной памяти (SVM, Shared Virtual Memory). В OpenGL-драйвер freedreno добавлена поддержка GPU Adreno X1-45, применяемом в SoC Qualcomm Snapdragon X Plus. Продолжено развитие OpenCL-драйвера Rusticl, написанного на языке Rust и пришедшего на смену драйверу Clover. В Rusticl добавлена поддержка SVM (Shared Virtual Memory), изображений в цветовом пространстве sRGB (форматы CL_sRGBA и CL_sBGRA), формата FP16 (OpenCL-расширение cl_khr_fp16 для драйверов asahi, freedreno, llvmpipe, panfrost, radeonsi и zink). Добавлен Gallium3D-фронтэнд MFT (Media Foundation Transform), позволяющий использовать драйвер D3D12 (Direct3D 12) для реализации других графических API. Разработан Microsoft для WSL (Windows Subsystem for Linux). Удалена поддержка инфраструктуры DRI2 (Direct Rendering Infrastructure), на смену которой для организации прямого доступа к видеоадаптеру пришёл интерфейс DRI3, использующий DMA-BUF. В качестве причины упоминается, что интерфейс DRI3 существует уже более 10 лет, DRI2 давно устарел, а все поддерживаемые драйверы GPU давно реализовали интерфейс DRI3. Прекращена поддержка устаревших методов совместной работы с буферами - оставлена только возможность использования dma-buf. Прекращена поддержка версий libX11, не обеспечивающих безопасную работу в многопоточных приложениях. Оставлена только поддержка libX11 1.8 (апрель 2022 года) и более новых выпусков, использующих вызов XInitThreads(). Объявлена устаревшей и отключена по умолчанию поддержка EGL-расширения EGL_WL_bind_wayland_display, реализованного для Wayland. Для обмена пиксельными буферами между клиентом и сервером Wayland предлагается использовать Wayland-протокол linux_dmabuf. Для возвращения поддержки требуется указание флага "-Dlegacy-wayland=bind-wayland-display" во время сборки. Xwayland поддерживает корректную работу без EGL_WL_bind_wayland_display начиная с выпуска 24.1 (май 2024 года). Удалён устаревший OpenCL-драйвер Clover. Для OpenCL слежует использовать драйвер RustiCL, более функциональный и поддерживающий больше версий OpenCL. В драйвере ANV (Intel) реализовано Vulkan-расширение:
  • VK_KHR_shader_bfloat16
В драйвере RADV (AMD) реализованы Vulkan-расширения: В драйвере NVK (NVIDIA) реализованы Vulkan-расширения: В драйвере zink реализовано Vulkan-расширение: В драйвере v3d (GPU Broadcom VideoCore для Raspberry Pi 4+) реализовано OpenGL-расширение: В драйвере panfrost реализованы OpenGL-расширения: В драйвере asahi (Apple) реализовано OpenGL-расширение: В драйвере r600 (AMD) реализованы OpenGL-расширения В драйвере PanVK (GPU ARM Mali) реализованы Vulkan-расширения:
  • VK_EXT_vertex_input_dynamic_state/vertexInputDynamicState
  • VK_EXT_vertex_input_dynamic_state
  • VK_EXT_vertex_attribute_divisor
  • VK_KHR_maintenance4
  • VK_KHR_maintenance5
  • VK_EXT_direct_mode_display
  • VK_EXT_extended_dynamic_state
  • VK_KHR_shader_quad_control
  • VK_KHR_draw_indirect_count
  • VK_KHR_shader_integer_dot_product
  • VK_KHR_shader_terminate_invocation
  • VK_EXT_shader_demote_to_helper_invocation
  • VK_EXT_shader_replicated_composites
  • VK_EXT_depth_bias_control
  • VK_EXT_primitive_topology_list_restart
  • VK_EXT_image_2d_view_of_3d
  • VK_EXT_texel_buffer_alignment
  • VK_EXT_shader_subgroup_ballot
  • VK_EXT_shader_subgroup_vote
  • VK_KHR_load_store_op_none
  • VK_EXT_load_store_op_none
  • VK_EXT_inline_uniform_block
  • VK_EXT_texture_compression_astc_hdr
  • VK_EXT_depth_clamp_zero_one
  • VK_KHR_depth_clamp_zero_one
  • VK_EXT_depth_clip_control
  • VK_KHR_unified_image_layouts
  • VK_KHR_vulkan_memory_model
  • VK_EXT_descriptor_indexing
  • VK_KHR_maintenance6
  • VK_KHR_shader_clock
  • VK_KHR_shader_atomic_int64
  • VK_KHR_calibrated_timestamps
  • VK_EXT_non_seamless_cube_map
  • VK_ARM_shader_core_properties
  • VK_KHR_host_image_copy
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=63694

Жизнь за Нер'зула!

Ответить