Omarbejdning af VGEM-driveren i Rust

Maíra Canal fra Igalia præsenterede et projekt for at omskrive VGEM-driveren (Virtual GEM Provider) i Rust. VGEM består af cirka 400 linjer kode og giver en hardware-agnostisk GEM (Graphics Execution Manager) backend, der bruges til at dele bufferadgang til software 3D-enhedsdrivere såsom LLVMpipe for at forbedre softwarerasteriseringsydelsen.

VGEM bliver den anden Rust-grafikdriver, der kører på kerneniveau (den første var Asahi DRM-driveren (Direct Rendering Manager) til Apple AGX GPU'en brugt i Apple M1/M2-chips). Udvikling krævede at skabe nye bindinger for at arbejde ud fra rustkode med platformenheden, XArray-typen og DMA-relaterede abstraktioner såsom DMA-hegn. På det nuværende udviklingstrin er driveren næsten klar, består de fleste IGT-test, med undtagelse af to kontroller (vgem_slow og vgem_basic@unload), men kræver forbedring af IOCTL-understøttelse.

Kilde: opennet.ru

Tilføj en kommentar