Brezplačni gonilnik Panfrost zagotavlja podporo za GPU Mali Valhall

Zaposleni pri Collabori so implementirali podporo za grafične procesorje serije Valhall (Mali-G57, Mali-G78) v brezplačnem gonilniku Panfrost, ki je bil prej osredotočen na implementacijo podpore za čipe Midgard in Bifrost. Opozoriti je treba, da so bile pripravljene spremembe z začetno izvedbo gonilnika predložene za vključitev v glavno sestavo Mesa in bodo uporabnikom predstavljene v eni od naslednjih pomembnih izdaj.

Izvedba je bila pripravljena po 6 mesecih obratnega inženiringa lastniških gonilnikov, ki se uporabljajo v pametnem telefonu Android z grafično procesorsko enoto Mali G78. Opravljeno delo je omembe vredno, saj je bil razvoj izveden v pasivnem načinu brez korenskega dostopa do pametnega telefona s preučevanim čipom, tj. razvijalci niso mogli zamenjati obstoječega gonilnika. Za preizkus gonilnika in analizo vsebine video pomnilnika v pametnem telefonu smo uporabili razvijalski način v Androidu in našo kodo nadomestili z LD_PRELOAD.

Prevedeni senčniki, zaporedja ukazov GPU in podatkovne strukture, ki nadzorujejo stanje grafičnih primitivov, kot so teksture, so bili pridobljeni iz pomnilnika, narejene so bile posamezne spremembe teh senčil in struktur, rezultati pa so bili analizirani. Kot rezultat je bil pripravljen lastniški prevajalnik senčil za Valhall GPU, ki je omogočil generiranje podobnih binarnih objektov, kot tudi prototipni gonilnik za Mesa. Januarja letos je Chromebook, ki temelji na čipu MediaTek MT8192 z grafično kartico Valhall G57, padel v roke razvijalcev, s pomočjo katerega je bil izveden zadnji test na realni opremi in nastali gonilnik spravil v delujočo obliko .

Vir: opennet.ru

Dodaj komentar