Bezmaksas Panfrost draiveris tagad atbalsta Mali Valhall GPU

Collabora ir ieviesusi atbalstu Valhall sērijas GPU (Mali-G57, Mali-G78) bezmaksas Panfrost draiverī, kas iepriekš koncentrējās uz atbalsta ieviešanu Midgard un Bifrost mikroshēmām. Tiek atzīmēts, ka sagatavotās izmaiņas ar draivera sākotnējo ieviešanu ir iesniegtas iekļaušanai Mesa galvenajā sastāvā un tiks nodotas lietotājiem kādā no nākamajiem nozīmīgajiem laidieniem.

Ieviešana tika sagatavota pēc 6 mēnešiem ilgas reversās inženierijas patentēto draiveru izmantošanas Android viedtālrunī ar Mali G78 GPU. Paveiktais darbs ir ievērojams ar to, ka izstrāde tika veikta pasīvā režīmā, ja viedtālrunim ar pētāmo mikroshēmu nebija root piekļuves, t.i. izstrādātāji nevarēja aizstāt esošo draiveri. Lai pārbaudītu draiveri un analizētu viedtālruņa video atmiņas saturu, mēs izmantojām izstrādātāja režīmu operētājsistēmā Android un koda aizstāšanu, izmantojot LD_PRELOAD.

Apkopotie ēnotāji, GPU instrukciju secības un datu struktūras, kas kontrolē grafikas primitīvu stāvokli, piemēram, faktūras, tika izgūtas no atmiņas, pēc tam šajos ēnotos un struktūrās tika veiktas atsevišķas izmaiņas un rezultāts tika analizēts. Rezultātā mēs sagatavojām savu ēnotāju kompilatoru Valhall GPU, kas ļāva ģenerēt līdzīgus bināros objektus, kā arī Mesa draivera prototipu. Šī gada janvārī izstrādātāju rokās nonāca Chromebook dators, kura pamatā ir MediaTek MT8192 mikroshēma ar Valhall G57 GPU, ar kura palīdzību tika veikta reāla aprīkojuma galīgā pārbaude un iegūtā draivera darba forma.

Avots: opennet.ru

Pievieno komentāru