VGEM դրայվերի վերամշակում Rust-ում

Իգալիայից Maíra Canal-ը ներկայացրել է VGEM (Վիրտուալ GEM մատակարար) վարորդը Ռաստում վերաշարադրելու նախագիծ: VGEM-ը բաղկացած է մոտավորապես 400 տող կոդից և ապահովում է ապարատային-ագնոստիկ GEM (Graphics Execution Manager), որն օգտագործվում է բուֆերային հասանելիությունը ծրագրային ապահովման 3D սարքի դրայվերներին, ինչպիսիք են LLVMpipe-ը, բարելավելու ծրագրաշարի ռաստերացման աշխատանքը:

VGEM-ը կլինի Rust գրաֆիկայի երկրորդ դրայվերը, որը կաշխատի միջուկի մակարդակում (առաջինը Asahi DRM (Direct Rendering Manager) դրայվերն էր Apple AGX GPU-ի համար, որն օգտագործվում էր Apple M1/M2 չիպերում): Մշակումը պահանջում էր ստեղծել նոր կապեր՝ Rust կոդից աշխատելու համար պլատֆորմի սարքի, XArray տեսակի և DMA-ի հետ կապված աբստրակցիաների, ինչպիսիք են DMA ցանկապատերը: Մշակման ներկա փուլում վարորդը գրեթե պատրաստ է, անցնում է IGT թեստերի մեծ մասը, բացառությամբ երկու ստուգումների (vgem_slow և vgem_basic@unload), բայց պահանջում է IOCTL աջակցության բարելավում:

Source: opennet.ru

Добавить комментарий