Omarbeiding av VGEM-sjåføren i Rust

Maíra Canal fra Igalia presenterte et prosjekt for å omskrive VGEM-driveren (Virtual GEM Provider) i Rust. VGEM består av omtrent 400 linjer med kode og gir en maskinvareagnostisk GEM (Graphics Execution Manager) backend som brukes til å dele buffertilgang til programvare 3D-enhetsdrivere som LLVMpipe for å forbedre ytelsen til programvarerasterisering.

VGEM vil være den andre Rust-grafikkdriveren som kjøres på kjernenivå (den første var Asahi DRM (Direct Rendering Manager)-driveren for Apple AGX GPU brukt i Apple M1/M2-brikker). Utvikling krevde å lage nye bindinger for å jobbe fra Rust-kode med plattformenheten, XArray-typen og DMA-relaterte abstraksjoner som DMA-gjerder. På det nåværende utviklingsstadiet er driveren nesten klar, består de fleste IGT-tester, med unntak av to kontroller (vgem_slow og vgem_basic@unload), men krever forbedring av IOCTL-støtte.

Kilde: opennet.ru

Legg til en kommentar