Релиз Mesa 21.0, свободной реализации OpenGL и Vulkan
12 марта 2021 года
Представлен релиз свободной реализации API OpenGL и Vulkan - Mesa 21.0.0. Первый выпуск ветки Mesa 21.0.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 21.0.1. В Mesa 21.0 реализована полная поддержка OpenGL 4.6 для драйверов 965, iris (Intel), radeonsi (AMD), zink и llvmpipe. Поддержка OpenGL 4.5 доступна для GPU AMD (r600) и NVIDIA (nvc0), а OpenGL 4.3 для virgl (виртуальный GPU Virgil3D для QEMU/KVM). Поддержка Vulkan 1.2 реализована для карт Intel и AMD, а Vulkan 1.0 для VideoCore VI (Raspberry Pi 4).
- В драйвере Zink ( реализация API OpenGL поверх Vulkan) обеспечена поддержка OpenGL 4.6. Zink позволяет получить аппаратно ускоренный OpenGL при наличии в системе драйверов, ограниченных поддержкой только API Vulkan. Производительность Zink близка к производительности родных реализаций OpenGL.
- В драйвере llvmpipe, предназначенном для программной отрисовки, реализована поддержка OpenGL 4.6.
- В драйвере Freedreno, применяемом для графической подсистемы чипов Qualcomm, для GPU Adreno a6xx реализована поддержка OpenGL ES 3.0.
- В драйвере Panfrost для GPU Midgard (Mali-T7xx, Mali-T8xx) и Bifrost (Mali G3x, G5x, G7x) реализована поддержка OpenGL 3.1, а также поддержка OpenGL ES 3.0 для GPU Bifrost.
- В драйвере radeonsi реализована поддержка расширений OpenGL GL_EXT_demote_to_helper_invocation(недоступная ссылка) и GL_NV_compute_shader_derivatives. Для игры "Counter-Strike: Global Offensive" по умолчанию включён режим оптимизации "mesa_glthread", позволяющий поднять производительность на 10-20%. Реализованы оптимизации, влияющие на прохождение тестов SPECViewPerf. Добавлена поддержка инструмента профилирования Radeon GPU Profiler (RGP). Для GPU Zen 3 и RDNA 2 добавлена поддержка технологии Smart Access Memory. Добавлена поддержка кодировщиков HEVC SAO (Sample Adaptive Offset, для GPU с поддержкой движков VCN2, VCN2.5 и VCN3) и декодировщиков AV1 (для RDNA 2/RX 6000 и только через интерфейс OpenMAX).
- В Vulkan-драйвер RADV (для карт AMD) добавлена поддержка технологии
Rapid packed math (16-разрядная векторизация) и Sparse-памяти (позволяет размещать ресурсы, такие как изображения и текстуры, непоследовательно и повторно прикреплять их к разным операциям выделения памяти). Проведена оптимизация производительности для карт серии RX 6000. Добавлены расширения VK_VALVE_mutable_descriptor_type и VK_KHR_fragment_shading_rate (только для RDNA2).
- В драйверах Intel ANV и Iris добавлены оптимизации производительности и предложена начальная поддержка расширений Vulkan для трассировки лучей, реализованных в видеокартах Xe HPG.
- Добавлена поддержка расширения EGL_MESA_platform_xcb, позволяющего
приложениям создавать ресурсы EGL из ресурсов X11 без обращения к Xlib.
- В Vulkan-драйвер V3DV, развиваемый для графического ускорителя VideoCore VI, применяемого в платах Raspberry Pi 4 на базе чипа Broadcom BCM2711, добавлена поддержка Wayland WSI (Windowing System Integration), позволяющая обращаться к API Vulkan из окружений на базе
Wayland.
- Принята начальная реализация прослойки, транслирующей вызовы OpenGL в API DirectX 12, для организации работы графических приложений в окружении WSL (Windows Subsystem for Linux). Кроме того, в состав включена библиотека spirv_to_dxil для преобразования промежуточного представления шейдеров SPIR-V в DXIL (DirectX Intermediate Language), разработанная в Microsoft.
- Переработана и значительно улучшена поддержка ОС Haiku.
- Из driconf удалены настройки glx_disable_oml_sync_control, glx_disable_sgi_video_sync и glx_disable_ext_buffer_age.
- Удалена поддержка DRI1 и прекращена возможность загрузки драйверов DRI из версий Mesa ниже 8.0.
- Удалён драйвер swrast, построенный на базе классического интерфейса DRI и предназначенный для программной отрисовки OpenGL (оставшиеся драйверы программной отрисовки llvmpipe и softpipe заметно опережают swrast по производительности и функциональности). Удалению swrast способствовало наличие множества нерешённых проблем и возникновение регрессий, при том, что данный драйвер уже не применяется в дистрибутивах.
- Удалён старый классический вариант программного интерфейса OSMesa (оставлен OSMesa на базе Gallium), позволяющего осуществлять рендеринг не на экран, а в находящийся в памяти буфер.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.