Коркарди ронандаи VGEM дар Rust

Канали Майра аз Игалия лоиҳаеро барои аз нав навиштани ронандаи VGEM (Virtual GEM Provider) дар Rust пешниҳод кард. VGEM тақрибан аз 400 сатри рамз иборат аст ва пуштибонии сахтафзор-агностикии GEM (Менеҷери графикӣ)-ро таъмин мекунад, ки барои мубодилаи дастрасии буферӣ ба драйверҳои нармафзори 3D ба монанди LLVMpipe барои беҳтар кардани кори растеризатсияи нармафзор истифода мешавад.

VGEM дуввумин драйвери графикии Rust хоҳад буд, ки дар сатҳи ядро ​​​​кор мекунад (аввал драйвери Asahi DRM (Мудирияти мустақими Rendering) барои Apple AGX GPU, ки дар микросхемаҳои Apple M1/M2 истифода мешавад). Таҳия барои кор кардан аз рамзи Rust бо дастгоҳи платформа, навъи XArray ва абстраксияҳои марбут ба DMA, ба монанди панҷараҳои DMA, эҷоди пайвандҳои навро талаб мекард. Дар марҳилаи кунунии рушд, ронанда қариб омода аст, аксари санҷишҳои IGT-ро мегузаранд, ба истиснои ду санҷиш (vgem_slow ва vgem_basic@unload), аммо такмили дастгирии IOCTL-ро талаб мекунад.

Манбаъ: opennet.ru

Илова Эзоҳ