Prerada VGEM drajvera u Rustu

Maíra Canal iz Igalije predstavila je projekat za prepisivanje VGEM (Virtual GEM Provider) drajvera u Rustu. VGEM se sastoji od približno 400 linija koda i pruža hardverski agnostički GEM (Graphics Execution Manager) pozadinu koja se koristi za dijeljenje pristupa baferu softverskim drajverima 3D uređaja kao što je LLVMpipe radi poboljšanja performansi rasterizacije softvera.

VGEM će biti drugi Rust grafički drajver koji se pokreće na nivou kernela (prvi je bio Asahi DRM (Direct Rendering Manager) drajver za Apple AGX GPU koji se koristi u Apple M1/M2 čipovima). Razvoj je zahtijevao kreiranje novih veza za rad iz Rust koda s uređajem platforme, tipom XArray i apstrakcijama vezanim za DMA kao što su DMA ograde. U trenutnoj fazi razvoja drajver je skoro spreman, prolazi većinu IGT testova, sa izuzetkom dve provere (vgem_slow i vgem_basic@unload), ali zahteva poboljšanje IOCTL podrške.

izvor: opennet.ru

Dodajte komentar