Panthor, avoimen lähdekoodin ohjain 10. sukupolven Mali GPU:lle, on julkistettu

Collabora on ilmoittanut kymmenennen sukupolven Mali GPU:lle (G310, G510, G710) kehitetyn avoimen panthor-ohjaimen valmiudesta. Se käyttää CSF (Command Stream Frontend) -tekniikkaa, joka siirtää osan ajurin toiminnoista laiteohjelmiston puolelle vähentääkseen kuormitusta. prosessorin ja tarjoaa uuden mallin GPU:n järjestämiseen. DRM-ohjain (Direct Rendering Manager) -panthor on hyväksytty drm-misc-haaraan, ja sen odotetaan sisällytettävän Linux 6.10 -ytimeen. Myös Mesa on hyväksynyt muutokset, jotka tukevat uutta ajuria, ja ne sisältyvät Malin GPU:iden Panfrost Gallium -ohjaimeen.

Uuden sukupolven Mali-grafiikkasuorittimissa Job Manager -ajastin on korvattu CSF (Command Stream Frontend) -rajapinnalla, jossa työketjun lähettämiseen perustuvan mallin sijasta käytetään komentovirtapohjaista mallia aikataulutuksen kanssa. komentovirtajono laiteohjelmiston puolella. Suunnittelijan työn organisoimiseksi GPU:hun on sisäänrakennettu erillinen Cortex-M7-mikrokontrolleri ja CSF-käskyjen suorittamiseen on erityinen komentojen suoritusyksikkö (Command Execution Unit). Tällaiset ominaisuudet vaativat olennaisesti erilaisen organisaation työn siirtämiseksi GPU:lle käyttäjätilasta.

Aluksi yritettiin ottaa käyttöön tuki CSF-pohjaisille Malin GPU:ille Panfrost DRM -ohjaimessa, mutta kehittäjät tulivat siihen tulokseen, että tämä johtaisi suureen monimutkaisuuteen olemassa olevan ohjaimen kanssa ja CSF:lle olisi optimaalisempaa luoda uusi ohjain, joka on rakennettu eri arkkitehtuurilla. Panthor-ohjain toteuttaa täysin uuden uAPI:n, uuden työn ajoituslogiikan ja uuden MMU/GPU-VA-ohjauslogiikan. Uusi ohjain perustuu Panfrostin olemassa olevaan DRM-ohjainkoodiin, josta se lainaa tyypillisiä ohjaimen alustus-, taajuudensäätö- ja virranhallintamalleja.

Aluksi uuden ajurin kehitystyö tehtiin käänteisen suunnittelun avulla, mutta sitten ARM liittyi projektiin, tarjosi pääsyn dokumentaatioon ja osallistui koodin tarkistamiseen. Kaksi ARM-työntekijää on ylennetty Linux-ytimen kuljettajan rinnakkaisylläpitäjäksi. Jatkossa, kun OpenGL-ajuri on valmis, työ keskittyy Vulkan-ohjaimen käyttöönottoon uusille Malin GPU:ille ja nykyisen Vulkan-ohjaimen päivittämiseen vanhoille Malin GPU:ille.

On huomattava, että valmis panthor-ohjain mahdollistaa GPU-tuen SoC Rockchip RK3588 -levyillä. Collabora on myös tehnyt työtä varmistaakseen, että Rockchip RK3588 -pohjaiset levyt voidaan ladata täysin avoimella ohjelmistopinolla. Rockchip RK3588:lle Debian-pohjainen järjestelmänäköistiedosto ja avoin käynnistyslatain on valmistettu korvaamaan patentoidut BL31-komponentit (Boot Loader -vaihe 3.1).

Lähde: opennet.ru

Lisää kommentti