MaĆra Canal van Igalia heeft een project gepresenteerd voor het herschrijven van de VGEM (Virtual GEM Provider) driver in de programmeertaal Rust. VGEM bevat ongeveer 400 regels code en biedt een hardware-onafhankelijke backend GEM (Graphics Execution Manager) die wordt gebruikt voor gedeeld toegang tot buffers van drivers van softwarematige 3D-apparaten, zoals LLVMpipe, met als doel de prestaties van softwarematige rasterisatie te verbeteren.
VGEM wordt de tweede grafische driver in Rust die op kernniveau werkt (de eerste was de DRM-driver (Direct Rendering Manager) Asahi voor de Apple AGX GPU, gebruikt in Apple M1/M2 chips). Bij de ontwikkeling moesten nieuwe bindings worden gecreëerd om vanuit de Rust-code met het platformapparaat, het type XArray en abstracties met betrekking tot directe geheugentoegang, zoals DMA-barrières (DMA fence), te werken. In de huidige fase van ontwikkeling is de driver bijna gereed, doorstaat hij de meeste IGT-tests, op twee controles na (vgem_slow en vgem_basic@unload), maar vereist het nog verdere ondersteuning voor IOCTL.
Bron: opennet.ru
