Преработка на драйвера VGEM на езика Rust

Майра Канал (Maíra Canal) от компанията Igalia представи проект за пренаписване на драйвера VGEM (Virtual GEM Provider) на езика Rust. VGEM включва около 400 реда код и предлага не зависи от хардуер бекенд GEM (Graphics Execution Manager), използван за споделен достъп до буферите на драйверите на софтуерни 3D устройства, като LLVMpipe, с цел повишаване на производителността на софтуерната растеризация.

VGEM ще бъде вторият графичен драйвер на Rust, работещ на ниво ядро (първият беше DRM драйверът (Direct Rendering Manager) Asahi за GPU Apple AGX, използван в чиповете Apple M1/M2). При разработката беше необходимо създаването на нови връзки за работа с код на езика Rust с устройството на платформата, тип XArray и абстракции, свързани с директен достъп до памет, като DMA бариери (DMA fence). На текущия етап на развитие драйверът е почти готов, преминава повечето тестове IGT, с изключение на две проверки (vgem_slow и vgem_basic@unload), но изисква допълнителна работа по поддръжка на IOCTL.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster