Přepracování ovladače VGEM v Rustu

Maira Canal z Igalie představil projekt přepsání ovladače VGEM (Virtual GEM Provider) v Rustu. VGEM se skládá z přibližně 400 řádků kódu a poskytuje hardwarově agnostický backend GEM (Graphics Execution Manager), který se používá ke sdílení přístupu do vyrovnávací paměti k softwarovým ovladačům 3D zařízení, jako je LLVMpipe, ke zlepšení výkonu rasterizace softwaru.

VGEM bude druhým ovladačem grafiky Rust, který běží na úrovni jádra (prvním byl ovladač Asahi DRM (Direct Rendering Manager) pro GPU Apple AGX používaný v čipech Apple M1/M2). Vývoj vyžadoval vytvoření nových vazeb pro práci z kódu Rust s platformovým zařízením, typem XArray a abstrakcemi souvisejícími s DMA, jako jsou ploty DMA. V současné fázi vývoje je ovladač téměř připraven, prošel většinou testů IGT, s výjimkou dvou kontrol (vgem_slow a vgem_basic@unload), ale vyžaduje zlepšení podpory IOCTL.

Zdroj: opennet.ru

Přidat komentář