LINUX.ORG.RU

Mesa 21.2

 , , , ,


0

1

Вышла новая версия свободной реализации API OpenGL и Vulkan - Mesa 21.2

Основные новшества:

  • Добавлен OpenGL-драйвер asahi с начальной поддержкой графического процессора, поставляемого в чипах Apple M1. Драйвер использует интерфейс Gallium и поддерживает большую часть возможностей OpenGL 2.1 и OpenGL ES 2.0. Код драйвера основан на эталонном Gallium-драйвере noop с переносом некоторого кода из драйвера Panfrost, развиваемого для GPU ARM Mali.
  • Добавлен OpenGL-драйвер Crocus с поддержкой старых GPU Intel (на базе микроархитектур с 4-го по 7-ое поколение), не поддерживаемых драйвером Iris. В отличие от драйвера i965 новый драйвер основан на архитектуре Gallium3D, выносящей задачи управления памятью на сторону DRI-драйвера в ядре Linux и предоставляющей готовый трекер состояний с поддержкой кэша повторного использования выводимых объектов.
  • Добавлен драйвер PanVk, предоставляющий поддержку графического API Vulkan для GPU ARM Mali Midgard и Bifrost. PanVk развивается сотрудниками компании Collabora и позиционируется как продолжение развития проекта Panfrost, обеспечивающего поддержку OpenGL.
  • В драйвере Panfrost для GPU Midgard (Mali T760 и новее) и GPU Bifrost (Mali G31, G52, G76) реализована поддержка OpenGL ES 3.1. Из дальнейших планов отмечается проведение работы по увеличению производительности на чипах Bifrost и реализация поддержки GPU на базе архитектуры Valhall (Mali G77 и новее).
  • В 32-разрядных сборках для архитектуры x86 вместо инструкций x87 для математических вычислений задействованы инструкции sse2.
  • В драйвере Nouveau nv50 для GPU NVIDIA GT21x (GeForce GT 2x0) реализована поддержка OpenGL ES 3.1.
  • В Vulkan-драйвер TURNIP и OpenGL-драйвер Freedreno, развиваемых для GPU Qualcomm Adreno, реализована начальная поддержка GPU Adreno a6xx gen4 (a660, a635).
  • В Vulkan-драйвер RADV (AMD) добавлена поддержка отсеивания примитивов (primitive culling) с использованием шейдерных движков NGG (Next-Gen Geometry). Реализована возможность сборки драйвера RADV на платформе Windows с использованием компилятора MSVC.
  • В Vulkan-драйвере ANV (Intel) и OpenGL-драйвере Iris проведена подготовительная работа по обеспечению поддержки грядущих видеокарт Intel Xe-HPG (DG2). В том числе включены начальные возможности, связанные с трассировкой лучей и поддержкой шейдеров для трассировки лучей.
  • В драйвере lavapipe с реализацией программного растеризатора для API Vulkan (аналог llvmpipe, но для Vulkan, выполняющий трансляцию вызовов API Vulkan в API Gallium) реализована поддержка режима wideLines (обеспечивает поддержку линий с шириной, превышающей значение 1.0).
  • Реализована поддержка динамического обнаружения и загрузки альтернативных бэкендов GBM (Generic Buffer Manager). Изменение нацелено на улучшение поддержки Wayland на системах с драйверами NVIDIA.
  • В драйвере Zink (реализация API OpenGL поверх Vulkan, которая позволяет получить аппаратно ускоренный OpenGL при наличии в системе драйверов, ограниченных поддержкой только API Vulkan) реализована поддержка OpenGL-расширений GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_ARB_texture_filter_minmax и GL_ARB_shader_clock. Добавлены модификаторы формата DRM (Direct Rendering Manager, включено расширение VK_EXT_image_drm_format_modifier).
  • В Vulkan-драйверы RADV (AMD), ANV (Intel) и lavapipe добавлена поддержка расширений:
VK_EXT_provoking_vertex (RADV);
VK_EXT_extended_dynamic_state2 (RADV);
VK_EXT_global_priority_query (RADV);
VK_EXT_physical_device_drm (RADV);
VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
VK_EXT_color_write_enable (RADV);
VK_EXT_acquire_drm_display (RADV, ANV);
VK_EXT_vertex_input_dynamic_state (lavapipe);
VK_EXT_line_rasterization (lavapipe);
VK_EXT_multi_draw (ANV, lavapipe, RADV);
VK_KHR_separate_depth_stencil_layouts (lavapipe);
VK_EXT_separate_stencil_usage (lavapipe);
VK_EXT_extended_dynamic_state2 (lavapipe).

>>> Подробности

★★

Проверено: Shaman007 ()

Добавлен OpenGL-драйвер Crocus с поддержкой старых GPU Intel (на базе микроархитектур с 4-го по 7-ое поколение)

Ура, это, как минимум, позволит использовать gallium-nine в wine на старых Intel’ах. Должно увеличить производительность старых игр на не таком уж старом оборудовании (эта графика устанавливалась на Haswell включительно).

ValdikSS ★★★★★ ()

Добавлен OpenGL-драйвер Crocus с поддержкой старых GPU Intel (на базе микроархитектур с 4-го по 7-ое поколение), не поддерживаемых драйвером Iris. В отличие от драйвера i965 новый драйвер основан на архитектуре Gallium3D, выносящей задачи управления памятью на сторону DRI-драйвера в ядре Linux и предоставляющей готовый трекер состояний с поддержкой кэша повторного использования выводимых объектов.

Самое интересное в этой новости.

anonymous ()

Добавлен OpenGL-драйвер Crocus с поддержкой старых GPU Intel (на базе микроархитектур с 4-го по 7-ое поколение), не поддерживаемых драйвером Iris.

Полезная штука. К сожалению, пока что Crocus у меня багует: в Team Fortress 2 жесткие артефакты, с Gallium Nine тоже неиграбельные артефакты, и после выхода из игры артефакты на экране остаются. Но это не страшно, Iris тоже сначала криво работал.

Kron4ek ★★★★★ ()
Ответ на: комментарий от anonymous

Кто нибудь уже тестировал?

Да, Phoronix.

Как он по производительности и по feature parity в сравнении с i965?

Лучше.

4.2:

OpenArena / Xonotic first person shooter game meanwhile saw similar performance between these two drivers.
The i965 driver was consistently performing better for the Unvanquished game than Crocus.
The i965 driver was having a higher frame rate for the Urban Terror game but the peak frame time was lower with Crocus Gallium3D.

P.S. Вот до чего деградировал лор в целом, и его анонимусы в частности.

LamerOk ★★★★★ ()
Ответ на: комментарий от LamerOk

Geometric Mean Of All Test Results
Result Composite - Ivy Bridge Graphics
Geometric Mean, More Is Better

i965 224.38
Crocus 230.36

Так что анонимус прав, а ты «ламерок» =)

P. S. чем новее, тем лучше результаты — с Haswell практически все тесты Crocus проходит «так же или лучше»

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 3)

Попробовал gallium-nine в wine на Sandy Bridge HD 3000.

NFS Underground и Underground 2 работают гораздо производительней, а вот запуск GTA San Andreas приводит к зависанию GPU (GPU stall) с неуспешным восстановлением драйвером, приходится перезагружаться.

Увы, вряд ли это исправят: Intel уже не оказывает поддержки на таких старых платформах, баги остаются без ответа.

ValdikSS ★★★★★ ()
Ответ на: комментарий от intelfx

man Asahi Linux, там чувак портирует линуксы на M1

Раньше был BootCamp (или как там его…), позволяющий в дуалбуте винду грузить вместо макоси.

Если чел допилит Asahi (M1 -это же АРМ, а значит должно получиться быстро, нежели х.з. какая архитектура), то оффтопик под буткампом отправится в отсосиновик(точнее в привычный parallels). imxo.

Или как там сейчас - просветите, если известно…

drfaust ★★★★★ ()
Ответ на: комментарий от drfaust

M1 -это же АРМ, а значит должно получиться быстро, нежели х.з. какая архитектура

Абсолютно неверное заключение. ARM — это огромный зоопарк. Дело же не в наборе команд, а в устройстве самой системы, вспомогательных блоков процессора и периферии.

оффтопик под буткампом отправится в отсосиновик(точнее в привычный parallels)

Оффтопик под буткампом уже давно отправился в страну вечной охоты. Под M1 его (буткампа) нет и не будет.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Khnazile

я обычно собирал под slackware, можно посмотреть какие там (в -current) версии meson/ninja/clang/gcc/llvm/bison/python и собрать с такими же, по возможности? Но я последний раз собирал в марте что ли этого года… могли и поломать.

Andrew-R ★★★ ()

В Vulkan-драйвер TURNIP и OpenGL-драйвер Freedreno, развиваемых для GPU Qualcomm Adreno, реализована начальная поддержка GPU Adreno a6xx gen4 (a660, a635).

Когда a512 сдеалют? Фигнёй какой-то ненужной ещё не выпущенной страдают

mittorn ★★★★★ ()
Ответ на: комментарий от LINUX-ORG-RU

Уже intelfx объяснил, точнее напомнил, что это SоС с ядром ARM, а что понапихано в него - одному «яблоку» известно.

drfaust ★★★★★ ()
Последнее исправление: drfaust (всего исправлений: 1)
Ответ на: комментарий от intelfx

Geometric Mean Of All Test Results

Только у такого чудика как ты java 2d microbenchmark может что-то значить в сравнении драйверов видеокарт, а результат сравнения определятся как Geometric Mean.

Впрочем, чего ещё ожидать от готовой уцепится за любой нанопроцент перемоги маньки, жаждущей защитить свой манямирок любой ценой.

LamerOk ★★★★★ ()
Ответ на: комментарий от LamerOk

Это ты вертишься как уж на сковородке. Анонимус сказал «лучше» и он прав, т. к. общая производительность выше (объективный результат) и фич в галлиуме больше просто по факту того что это галлиум (например вот, gallium-nine etc.). А от себя я уже добавил про приоритеты.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)

кстати крокус запилили ровно по одной причине: разрабы хотят перевести все драйверы в месе на галлиум, чтобы шарить больше кода между ними и проще поддерживать все это хозяйство. Какие-то фичи или производительность тут вторичны)

Lrrr ★★ ()