Panfrost теперь поддерживает OpenGL 3.1 для графических процессоров Mali

Разработчики Collabora не перестали работать, и это то, что в последние месяцы они дали много поводов для разговоров, и на этот раз это не исключение, потому что недавно объявил, что объявил о реализации в драйвере Panfrost поддержки OpenGL 3.1 для графических процессоров Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) и графических процессоров Bifrost (Mali G3x, G5x, G7x), а также поддержка OpenGL ES 3.0 для графических процессоров Bifrost.

Эти изменения Ожидается, что будет включен в выпуск Mesa 21.0, который в настоящее время находится на стадии кандидата на запуск.

Следует помнить, что разработчики Collabora долгое время работали над реализацией контроллеров для таблиц и примером этого является прошлое. Галлиевый настольный контроллер, который реализует промежуточный уровень организовать OpenCL 1.2 и OpenGL 3.3 API о драйверах с поддержкой DirectX 12 (D3D12) и о том, что их исходный код выпущен под лицензией MIT.

Предлагаемый контроллер позволяет использовать Mesa на устройствах которые изначально не совместимы с OpenCL и OpenGL а также в качестве отправной точки для портирования приложений OpenGL / OpenCL для работы на D3D12.

Со стороны нового драйвера Panfrost замечено, что GPU Мидгард и Бифрост имеют общие структуры данных для фиксированных функций, но Бифрост использует принципиально другой набор инструкций., что затрудняет синхронную реализацию функций для данных GPU.

Архитектурно Bifrost разделяет большую часть своих структур данных с фиксированными функциями с Midgard, но вводит новый набор инструкций. Наша работа по внедрению OpenGL ES 3.0 в Bifrost отражает это разделение.

Некоторые фиксированные функции, такие как создание экземпляров и обратная связь по преобразованию, работали без каких-либо конкретных изменений Bifrost, как мы уже делали в Мидгарде. Другие функции теневого копирования, такие как унифицированные буферные объекты, требовали реализации «с нуля» в компиляторе Bifrost, задача, упрощенная благодаря зрелому промежуточному представлению компилятора с первоклассной поддержкой сборки.

Например, фиксированные функции, уже реализованные для Мидгарданапример, "обратная связь по преобразованию", можно без изменений перенести на Bifrost, в то время как такие функции, как Multiple Render Targets (MRT), ограничены некоторыми конкретными изменениями Bifrost.

В то же время другие операции шейдера, такие как объекты унифицированного буфера, требуют полной реализации для компилятора шейдера Bifrost.

Это следует за поддержкой OpenGL ES 3.0 в Мидгарде, которая появилась летом, а также за первоначальной поддержкой OpenGL ES 2.0, которая недавно дебютировала для Bifrost. OpenGL ES 3.0 теперь протестирован на Mali G52 в непрерывной интеграции Mesa, достигнув 99.9% успешности в соответствующих тестах программы качества DrawElements.

Однако для других функций, таких как несколько целей рендеринга, требовался конкретный код от Bifrost, при этом использовался другой код, совместно используемый с Midgard. Тем не менее, во второй раз работа продвигалась намного быстрее, что свидетельствует о силе общих кодов. Но вам не нужно ограничивать своп только графическими процессорами Panfrost; Драйверы с открытым исходным кодом могут совместно использовать код между поставщиками.

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

В частности, разработчики упоминают, что для реализации OpenGL в настольных системах драйвер Panfrost требовал использования готовых к использованию компонентов Mesa, в то время как проприетарный драйвер для Mali ограничивается поддержкой только OpenGL ES.

Однако поддержка OpenGL 3.1 для настольных ПК почти «бесплатна» для нас, как для вышестоящего контроллера Mesa, благодаря использованию общей инфраструктуры.

Наконец, если вам интересно узнать об этом больше о новой реализации Panfrost, предложенной разработчиками Collabora, вы можете проверить подробности По следующей ссылке.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.