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 Midgard та Bifrost мають спільні структури даних для фіксованих функцій, але Bifrost використовує принципово інший набір інструкцій, що ускладнює синхронну реалізацію функціональних можливостей для даних GPU.

В архітектурному відношенні Bifrost ділиться з Midgard більшістю своїх структур даних з фіксованою функцією, але представляє новий набір інструкцій. Наша робота щодо впровадження OpenGL ES 3.0 у Bifrost відображає цей розділ.

Деякі функції фіксованих функцій, такі як екземпляри та зворотний зв'язок перетворення, працювали без особливих змін Bifrost, як ми це вже робили в Midgard. Інші функції шейдерів, такі як уніфіковані буферні об'єкти, вимагали реалізації "з нуля" у компіляторі Bifrost - завдання, спрощене зрілим проміжним представленням компілятора з першокласною підтримкою збірки.

Наприклад, виправлені функції, вже реалізовані для Midgardтакі як "зворотний зв'язок про перетворення", можна перенести на Bifrost без змін, тоді як такі функції, як багатоцільові цілі візуалізації (MRT), обмежені деякими конкретними змінами Bifrost.

У той же час інші шейдерні операції, такі як уніфіковані буферні об'єкти, вимагають нової реалізації для компілятора шейдерів Bifrost.

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

Однак інші функції, такі як багатоцільові цілі візуалізації, вимагали певного коду від Bifrost, користуючись при цьому перевагами іншого коду, спільного з Midgard. Проте робота прогресувала набагато швидше вдруге, що є свідченням сили спільних кодів. Але вам не потрібно обмежувати свій обмін лише графічними процесорами Panfrost; Драйвери з відкритим кодом можуть обмінюватися кодом між постачальниками.

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

Зокрема, розробники згадують, що для впровадження OpenGL на настільних системах драйвер Panfrost вимагав використання готових до використання компонентів Mesa, тоді як власний драйвер для Малі обмежений лише підтримкою OpenGL ES.

Однак підтримка OpenGL 3.1 для настільних комп'ютерів є майже "безкоштовною" для нас як контролера Mesa вище, використовуючи загальну інфраструктуру.

Нарешті, якщо вам цікаво дізнатись більше про це про нову реалізацію Panfrost, запропоновану розробниками Collabora, ви можете перевірити деталі У наступному посиланні.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.