У вольным драйверы Panfrost забяспечана падтрымка GPU Mali Valhall

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

Рэалізацыя была падрыхтавана пасля 6 месяцаў зваротнага інжынірынгу прапрыетарных драйвераў, якія выкарыстоўваюцца ў Android-смартфоне з GPU Mali G78. Праведзеная праца характэрна тым, што распрацоўка вялася ў пасіўным рэжыме ва ўмовах адсутнасці root-доступу да смартфона з які вывучаецца чыпам, г.зн. распрацоўшчыкі не маглі замяніць наяўны драйвер. Для тэставання драйвера і аналізу змесціва відэапамяці ў смартфоне выкарыстоўваўся рэжым распрацоўніка ў Android і падстаноўка свайго кода пры дапамозе LD_PRELOAD.

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

Крыніца: opennet.ru

Дадаць каментар