The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

04.12.2020 09:42

Представлен релиз свободной реализации API OpenGL и Vulkan - Mesa 20.3.0. Первый выпуск ветки Mesa 20.3.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 20.3.1. В Mesa 20.3 реализована полная поддержка OpenGL 4.6 для GPU Intel (драйверы i965, iris) и AMD (radeonsi), поддержка OpenGL 4.5 для GPU AMD (r600), NVIDIA (nvc0) и llvmpipe, OpenGL 4.3 для virgl (виртуальный GPU Virgil3D для QEMU/KVM), а также поддержка Vulkan 1.2 для карт Intel и AMD, и Vulkan 1.0 для VideoCore VI (Raspberry Pi 4).

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

  • В состав принят драйвер v3dv с поддержкой графического ускорителя VideoCore VI, применяемого в платах Raspberry Pi 4, Raspberry Pi 400 и Compute Module 4 на базе чипа Broadcom BCM2711. Драйвер признан организацией Kronos полностью совместимым со спецификацией Vulkan 1.0.
  • В драйвере llvmpipe, предназначенном для программной отрисовки OpenGL, обеспечена поддержка OpenGL 4.5.
  • В состав включён новый драйвер lavapipe с реализацией программного растеризатора для API Vulkan (аналог llvmpipe, но для Vulkan). Программная реализация основана на отражении вызовов API Vulkan в API Gallium.
  • Существенно увеличена производительность и расширена функциональность Gallium-драйвера Zink с реализацией API OpenGL поверх Vulkan (драйвер позволяет получить аппаратно ускоренный OpenGL при наличии в системе драйверов, ограниченных поддержкой только API Vulkan). Производительность Zink теперь близка к производительности родных реализаций OpenGL и отстаёт от них лишь примерно на 5%. Обеспечена полноценная поддержка OpenGL 3.3.
  • В OpenGL и Vulkan драйверах для GPU Intel добавлена поддержка семейства процессоров Alder Lake (12 поколение).
  • Проведена оптимизация производительности графических операций на чипах Tiger Lake и Rocket Lake (в некоторых играх и тестах, таких как Unreal Engine 4 Vulkan Demo, отмечается ускорение на 9-12%).
  • Для GPU Intel Haswell в драйвере ANV добавлена поддержка Vulkan-расширения Transform Feedback, которое позволяет проекту DXVK использовать API Direct3D Stream Output, отвечающий за отображение многих поверхностей в играх.
  • В драйвере Iris для GPU Intel реализована поддержка ядер OpenCL (MESA_SHADER_KERNEL) для выноса вычислений на сторону GPU.
  • В трекер состояний Clover c реализацией OpenCL добавлена поддержка спецификации OpenCL 1.2.
  • В бэкенд для компиляции шейдеров "ACO", который развивается компанией Valve в качестве альтернативы компилятору шейдеров LLVM, добавлена поддержка движков NGG (Next-Gen Geometry) при работе с геометрическими шейдерами. Возможность реализована в драйвере RADV (для карт AMD).
  • В driconf добавлены настройки glx_extension_override и indirect_gl_extension_override при помощи которых можно переопределить список доступных GLX-расширений.
  • Добавлен слой для трансляции промежуточного представления (IR) шейдеров NIR в промежуточное представление TGSI (Tungsten Graphics Shader Infrastructure). Применение указанного слоя позволяет добавить поддержку TGSI в драйверы, уже поддерживающие NIR.
  • В драйвер RadeonSI добавлена начальная поддержка графических карт AMD Dimgrey Cavefish (NAVI 23) и APU Van Gogh (RDNA2).
  • В драйверах Nouveau (NVIDIA NVC0) и Etnaviv (GPU Vivante) появилась поддержка кэширования скомпилированных шейдеров на диске.
  • Добавлены новые расширения OpenGL:
  • В Vulkan-драйвер RADV (для карт AMD) добавлены расширения:
  • В Vulkan-драйвер ANV (для карт Intel) добавлены расширения:


  1. Главная ссылка к новости (https://lists.freedesktop.org/...)
  2. OpenNews: Разработчики Mesa обсуждают возможность добавления кода на языке Rust
  3. OpenNews: Релиз Mesa 20.2.0, свободной реализации OpenGL и Vulkan
  4. OpenNews: Vulkan-драйвер RADV переведён на использование бэкенда компиляции шейдеров ACO
  5. OpenNews: Для Raspberry Pi 4 сертифицирована поддержка графического API Vulkan 1.0
  6. OpenNews: Существенное увеличение производительности Zink, реализации OpenGL поверх API Vulkan
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54193-mesa
Ключевые слова: mesa, opengl, vulkan
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (59) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, uis (ok), 10:04, 04/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >GLX_EXT_swap_control

    Кек. А что было до этого? Это-же про vsync.

     
     
  • 2.6, Аноним (6), 10:50, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    GLX_MESA_swap_control и GLX_SGI_swap_control
     
  • 2.10, Аноним (10), 11:07, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    GLX_EXT_swap_control
    Version 8 (November 8, 2011)
     

  • 1.2, uis (ok), 10:06, 04/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А lavapipe будет полезен.
    Осрбенно кошеrно будет, если он сможет эмулировать compute шейдеры, а остыльные запросы слать на видяху. Тогда vulkan будет на sandybridge.
     
     
  • 2.54, Аноним (-), 06:57, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > если он сможет эмулировать compute шейдеры, а остыльные запросы слать на видяху.
    > Тогда vulkan будет на sandybridge.

    А когда кто-то вгрузит вам вычислительный шейдер вы получите свои 5FPS и попомните анекдот про "не жалейте заварки".

     
     
  • 3.66, uis (ok), 17:25, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А когда не вгрузит - 555FPS
     
  • 2.56, Аноним (56), 07:09, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Во времена OpenGL такое с llvmpipe не сделали. Может в Mesa нельзя даже частично использовать драйверу иные драйверы, не знаю.
    В DXVK производительность на Haswell (это gen7.5) вроде была у меня 70% от wined3d-csmt (OpenGL). Нет transform feedback. Вроде еще некоторые, причем не новые, игры не запускались, ибо нет A4R4G4B4.
    И при запуске любых приложений пишется ANV'ом до сих пор Haswell Vulkan support is incomplete.
    Когда был на Haswell, так и не нашел пользы от Vulkan (на новой видюхе нашел) и его (vulkan-intel-git) удалил.
    Вот на Broadwell (gen8) полезен Vulkan.
     

  • 1.5, Козлетто (?), 10:41, 04/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Программная реализация основана на отражении вызовов API Vulkan в API Gallium.

    Я как понимаю в mesa opengl сначала преобразуются во внутреннее представление Gallium, а лишь затем идёт в драйвер видеокарты. Тогда почему нельзя запилить поддержку vulkan на всех поддерживаемых Gallium'ом видеокартах, просто написав бекенд для преобразвания vulkan -> gallium?
    А то сколько лет трындят об этом вулкане, а попробовать я ещё до сих пор не могу, потому-что, видите ли, видеокарта у меня слишком старая.

     
     
  • 2.9, Fracta1L (ok), 10:58, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –15 +/
    Зачем на таком старом хламе сидеть?
     
     
  • 3.13, _hide_ (ok), 11:10, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Потому что работает.
     
  • 3.14, Аноним (10), 11:10, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ты уже выбросил свой вчерашний айфон?
     
  • 2.11, Аноним (11), 11:08, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Тогда почему нельзя запилить поддержку vulkan на всех поддерживаемых Gallium'ом видеокартах, просто написав бекенд для преобразвания vulkan -> gallium?

    Как будто это дело пяти минут, взял и написал за обеденный перерыв. Зачем кому-то тратить на это время и силы? Поддержка Vulkan есть в видеокартах 2012-2013 годов выпуска.

     
     
  • 3.15, _hide_ (ok), 11:10, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Это Вы оптимист
     
  • 3.17, Аноним (10), 11:13, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Зачем кому-то тратить на это время и силы?

    Тратят же силы на раст, на системду, на вулкан, на инклюзивность... Если хватает времени переименовывать мастера в примари...

     
     
  • 4.28, Тратят (?), 13:13, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Спасение потопающих - дело рук самих потопающих (с)

    Вместо нытья на форумах возьми и добавь, заодно и скиллы обретешь вместо сидения на толстой диванной жoпe.

     
     
  • 5.32, Козлетто (?), 14:36, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Вместо нытья на форумах возьми и добавь, заодно и скиллы обретешь вместо сидения на толстой диванной жoпe.

    Только есть одно но, далеко не все в мире программисты, чтобы просто взять и пилить там в коде что-нибудь. Вот я например специалист в области вообще никак не связанными с программированием и с IT вообще. Просто я иногда читаю сайты, типа опеннета, поэтому немного чуть эрудированнее типичный домохозяйки, в области IT

     
     
  • 6.36, Аноним (36), 14:59, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    зато все зарабатывают деньги, если тебе это нужно, ты можешь поддержать разрабов деньгами
     
  • 6.38, простовзять (?), 15:04, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > чтобы просто взять и пилить

    Крутой шедулер к ядру линкаса написал профессиональный анестезиолог, ЛАЛ. Так что соглашусь с выше^ - 99% проблем этого мира в ленивых жoпах.

     
     
  • 7.74, Аноним (74), 15:03, 11/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Написать-то — написал, а дальше что?
    Не приняли его код, видители не так его подал хозяевам Линукса
     
  • 6.43, Аноним (43), 18:27, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Тогда оплатите работу программиста который сделает ваши хотелки
     
  • 5.68, Орк (?), 17:32, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Спасение потопающих - дело рук самих потопающих (с)

    Верно, я бы даже сказал: не в бровь, а в рот.

     
  • 4.30, Аноним (36), 13:53, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Тратят же силы на раст, на системду, на вулкан, на инклюзивность... Если хватает времени переименовывать мастера в примари...

    это говорит о том, что всё это кому-то нужно, а "запилить поддержку vulkan на всех поддерживаемых Gallium'ом видеокартах, просто написав бекенд" никому не нужно

     
  • 2.39, Аноним (39), 15:19, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вулкан стал возможен благодаря MMU для GPU (впервые появился у невидии для того, чтобы можно было поделить 1 GPU между виртуалками и сдавать в аренду в облаках, и чтобы при этом один клиент не мешал другому и не воровал его данные напрямую и не ломал хосты), что позволило запесочить потоки команд и не позволить им лезть куда не надо. В OpenCL верификация всего этого лежит на компиляторе и рантайме, разумеется без должных гарантий. Вулкан переложил это на аппаратуру в рантайме. Поэтому все карты без аппаратного MMU в пролёте.
     
  • 2.41, pda (?), 16:07, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Тогда почему нельзя запилить поддержку vulkan на всех поддерживаемых Gallium'ом видеокартах, просто написав бекенд для преобразвания vulkan -> gallium?

    Потому что Vulkan более низкоуровневый, чем Gallium. Gallium это просто библиотека кода, упрощающая реализацию поддержки OpenGL Скорее наоборт можно было бы сделать. Но это тоже было бы избыточно.

     
     
  • 3.45, Аноним (45), 18:58, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Vulkan не является более низкоуровневым чем gallium. Gallium вообще не графический api, это такой HAL для графических библиотек.
     
  • 2.44, Аноним (45), 18:51, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не поверишь, но оно так и есть! Драйверы vulkan используют gallium и nir и в имеют много общего кода, просто кто-то не хочет допилить gpu-специфичные бэкэнды чтобы они поддерживали нужные вызовы.
     
  • 2.55, Аноним (-), 07:01, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Тогда почему нельзя запилить поддержку vulkan на всех поддерживаемых Gallium'ом видеокартах,
    > просто написав бекенд для преобразвания vulkan -> gallium?

    А смысл? Вулкан подразумевает быстрое и легкое апи, тонкая прослойка между железом GPU и программой минимально необходимая для абстракции от конкретики. Это подразумевает что архитектурно GPU соответствует некоторым паттернам, так что его можно так вывесить без напряга. А если это не получается, ну и смысл? Зачем вам видеотормозитель? Caller'ы ожидают что это работает быстро, а то так не сможет.

     
     
  • 3.59, Аноним (10), 10:25, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Вулкан подразумевает быстрое и легкое апи, тонкая прослойка

    В цирке клоуном работаешь? Сколько уже приводили примеров, что рисование на вулкане только чёрного квадрата занимает ~900 строк. Там запутаешься считать количество слоёв, через которые пробиться надо.

     
     
  • 4.60, Аноним (60), 13:32, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В цирке клоуном работаешь? Сколько уже приводили примеров, что hello world на ассемблере занимает ~50 строк. Там запутаешься считать количество слоёв, через которые пробиться надо.
     
  • 4.73, Ordu (ok), 11:59, 06/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не нравится, рисуй на html'е в браузере -- можно за одну строчку нарисовать чёрный квадрат. Охрененно просто и доступно любому. И да, в современных браузерах, это будет даже с gpu-акселерацией.
     

  • 1.7, leibniz (ok), 10:57, 04/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Года три-четыре назад сидел на генте с четвертыми кедами под Nouveau для какой-то средней нвидии — артефактов было пруд пруди. Стал ли он лучше?
     
     
  • 2.16, Аноним (10), 11:11, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    вряд ли оно сейчас вообще заработает.
     
     
  • 3.20, Аноним (20), 11:28, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Максвелы не такие уж и старые, только динамического управления частотой кулера не будет. Но у меня выше 70% под нагрузкой не поднимается и это довольно тихо, вот полные обороты шумновато.
     
  • 2.21, Аноним (20), 11:30, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я использовал 5 кеды года 4 назад с нуво, всё нормально было. Разве что в некоторых игрушках проблемы были.
     
     
  • 3.22, Аноним (20), 11:31, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У меня ферми была тогда, реклокинга на ней не было.
     
  • 3.27, Аноним (27), 12:54, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Всё, что слинковано с qtwebengine не падало? У меня всё валилось, пока на Radeon не заменил.
     
     
  • 4.33, Аноним (20), 14:39, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У меня нет таких программ, но электрон нормально работал. Я как раз поменял радеон потому что тот ловил gpu hang из-за хромиума (и не только).
     
     
  • 5.64, vitalif (ok), 16:31, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    gpu hang радеона это не то что лечится через amdgpu.runpm=0?
     
     
  • 6.65, Аноним (20), 16:46, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > gpu hang радеона это не то что лечится через amdgpu.runpm=0?

    Там было несколько проблем, и в том числе связанные с шейдерами.

     
     
  • 7.72, Hamer13 (ok), 22:45, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так шейдерную же вылечили, посмотрев какие команды выдаёт fglrx и таки обнаружив ту самую «фатальную» последовательность команд, которая вешает GPU. Сами AMD признались что доку во время переезда из ATI умудрились пролюбить и теперь уже сами не знают какой конкретно там был косяк в железе.
     
  • 2.35, bobr (?), 14:58, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Аналогично на генте и кедах нуво норм работает. До этого юзались проприетарные дрова - вот на них иногда был странный артефакт с морганием половины экрана
     
  • 2.69, uis (ok), 17:40, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сижу на Кеплере, полёт нормальный. Артефачила только одна игра. Скинул apitrace, сказали, что косяк в компиляторе.

    Nouveau пилят полтора землекопа. Кому не нравится, пусть тоже пилят, а не ноют. Полтора землекопа, как видим, смогли.

     

  • 1.8, corvuscor (ok), 10:57, 04/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Наверное, стоило бы еще добавить, что Clover бампнули до полноценного OpenCL 1.2, что на сегодня является минимальной поддерживаемой версией для ряда софта.
     
     
  • 2.12, leibniz (ok), 11:09, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Clover такая вещь, которую поставил и настроил один раз, и коли работает на конкретном железе, то лучше не трогать (: Есть ли смысл в обновлении?
     
     
  • 3.18, Аноним (18), 11:19, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А там есть что настраивать? Да и зачем её ставить, если она и так в составе mesa
     
     
  • 4.19, leibniz (ok), 11:20, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    я про bootloader...
     
     
  • 5.25, commiethebeastie (ok), 12:24, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    https://memepedia.ru/wp-content/uploads/2017/08/%D0%BC%D0%
     
  • 5.57, Lex (??), 08:22, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Говоря о бутлоадере, опенкор таки лучше
     
  • 2.40, Аноним (39), 15:21, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А толку что бампанули, если в конкретных драйверах для конкретных карт поддержки нет и не будет.
     

  • 1.46, Ilya Indigo (ok), 19:55, 04/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Gallium-драйвера Zink с реализацией API OpenGL поверх Vulkan (драйвер позволяет получить аппаратно ускоренный OpenGL при наличии в системе драйверов, ограниченных поддержкой только API Vulkan).

    А такое разве бывает, чтобы видеокарта поддерживала Vulkan и не поддерживала OpenGL?
    Или это какие-то специфические чипы для мобилок или встроек?

     
     
  • 2.48, Андрей (??), 21:42, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    например помойное видеоядро всем известной малины. оно
     
     
  • 3.70, uis (ok), 17:43, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если ты не знал, то малина только недавно научидась в vulkan, а до этого только ogl.

    Нечего людей вводить в заблуждение.

     
     
  • 4.71, Андрей (??), 22:36, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    поправочка, умела не OGL а GLES,который настолько убогий и кастрированный, что нефига не opengl полноценный.
     
  • 2.52, Аноним (10), 23:20, 04/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А такое разве бывает

    всё зависит от производятлов дров для железок.

     
  • 2.53, Аноним (53), 04:03, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мобильные GPU не поддерживают десктопный OpenGL, но поддерживают vulkan через который собственно можно реализовать тот самый десктопный опенгл
     
     
  • 3.58, Аноним (10), 10:22, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Мобильные GPU ... поддерживают vulkan

    Ты перепутал, кто кого поддерживает.

     
  • 3.61, Ilya Indigo (ok), 15:10, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Мобильные GPU не поддерживают десктопный OpenGL, но поддерживают vulkan через который собственно
    > можно реализовать тот самый десктопный опенгл

    Благодарю!

     
  • 3.62, Аноним (62), 15:13, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что мешает производителям напрямую реализовать opengl, если карта уже умеет в vulkan?
     
     
  • 4.63, Аноним (20), 16:30, 05/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Осталось только выяснить, зачем им реализовывать весь legacy opengl, когда opengl next объединивший все прошлые диалекты opengl уже реализовали.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру