У вільному драйвері Panfrost забезпечено підтримку GPU Mali Valhall

Співробітники компанії Collabora реалізували підтримку GPU серії Valhall (Mali-G57, Mali-G78) у вільному драйвері Panfrost, який раніше зосереджувався на реалізації підтримки чіпів Midgard і Bifrost. Зазначається, що підготовлені зміни з початковою реалізацією драйвера передані для включення до основного складу Mesa та будуть доведені до користувачів в одному з наступних релізів.

Реалізація була підготовлена ​​після шести місяців зворотного інжинірингу пропрієтарних драйверів, що використовуються в Android-смартфоні з GPU Mali G6. Виконана робота примітна тим, що велася в пасивному режимі в умовах відсутності root-доступу до смартфону з чіпом, що вивчається, тобто. розробники було неможливо замінити наявний драйвер. Для тестування драйвера та аналізу вмісту відеопам'яті у смартфоні використовувався режим розробника в Android та підстановка свого коду за допомогою LD_PRELOAD.

З пам'яті вилучалися скомпіловані шейдери, послідовності інструкцій для GPU і структури даних, що управляють станом графічних примітивів, таких як текстури, після чого ці шейдери і структури вносилися окремі зміни і аналізувався результат. У результаті було підготовлено власний компілятор шейдерів для GPU Valhall, що дозволяв генерувати аналогічні бінарні об'єкти, і навіть прототип драйвера для Mesa. У січні цього року в руки розробників потрапив Chromebook на базі чіпа MediaTek MT8192 з GPU Valhall G57, за допомогою якого була виконана остаточна перевірка на реальному устаткуванні і доведення до робочого вигляду драйвера, що вийшов.

Джерело: opennet.ru

Додати коментар або відгук