Den kostnadsfria Panfrost-drivrutinen ger stöd för Mali Valhall GPU

Collabora-anställda har implementerat stöd för Valhall-seriens GPU:er (Mali-G57, Mali-G78) i den kostnadsfria Panfrost-drivrutinen, som tidigare var fokuserad på att implementera stöd för Midgard- och Bifrost-chips. Det noteras att de förberedda ändringarna med den initiala implementeringen av drivrutinen har skickats in för inkludering i Mesa-huvudsammansättningen och kommer att presenteras för användare i en av de nästa betydande utgåvorna.

Implementeringen förbereddes efter 6 månaders omvänd utveckling av de proprietära drivrutinerna som används i en Android-smarttelefon med en Mali G78 GPU. Arbetet som utförs är anmärkningsvärt genom att utvecklingen utfördes i passivt läge i avsaknad av root-åtkomst till smarttelefonen med chipet som studeras, d.v.s. utvecklarna kunde inte ersätta den befintliga drivrutinen. För att testa drivrutinen och analysera innehållet i videominnet i smarttelefonen använde vi utvecklarläget i Android och ersatte vår kod med LD_PRELOAD.

Kompilerade shaders, GPU-instruktionssekvenser och datastrukturer som styr tillståndet för grafikprimitiver som texturer hämtades från minnet, individuella ändringar gjordes i dessa shaders och strukturer och resultaten analyserades. Som ett resultat förbereddes en proprietär shader-kompilator för Valhall GPU, som gjorde det möjligt att generera liknande binära objekt, samt en prototypdrivrutin för Mesa. I januari i år föll en Chromebook baserad på MediaTek MT8192-chippet med en Valhall G57 GPU i händerna på utvecklarna, med hjälp av vilken ett sista test utfördes på riktig utrustning och den resulterande drivrutinen fördes till fungerande form .

Källa: opennet.ru

Lägg en kommentar