VGEM-draiveri ümbertöötamine Rustis

Igaliast pärit Maíra Canal esitles projekti VGEM (Virtual GEM Provider) draiveri ümberkirjutamiseks Rustis. VGEM koosneb ligikaudu 400 koodireast ja pakub riistvara-agnostilist GEM-i (Graphics Execution Manager) taustaprogrammi, mida kasutatakse puhverjuurdepääsu jagamiseks tarkvara 3D-seadme draiveritele (nt LLVMpipe), et parandada tarkvara rasterdamise jõudlust.

VGEM on teine ​​​​kerneli tasemel töötav Rust graafikadraiver (esimene oli Apple M1/M2 kiipides kasutatav Apple AGX GPU draiver Asahi DRM-i (Direct Rendering Manager) jaoks). Arenduseks oli vaja luua uusi sidemeid, et töötada Rust-koodist platvormseadmega, XArray tüüpi ja DMA-ga seotud abstraktsioonidega, nagu DMA piirded. Praeguses arendusjärgus on draiver peaaegu valmis, läbib enamiku IGT teste, välja arvatud kaks kontrolli (vgem_slow ja vgem_basic@unload), kuid nõuab IOCTL-i toe parandamist.

Allikas: opennet.ru

Lisa kommentaar