VGEM tvarkyklės pertvarkymas Rust

Maíra Canal iš Igalia pristatė projektą, skirtą VGEM (Virtual GEM Provider) tvarkyklei perrašyti Ruste. VGEM susideda iš maždaug 400 kodo eilučių ir suteikia aparatinės įrangos agnostinį GEM (Graphics Execution Manager) užpakalinę programą, naudojamą buferio prieigai prie programinės įrangos 3D įrenginių tvarkyklių, pvz., LLVMpipe, bendrinti, siekiant pagerinti programinės įrangos rastrizacijos našumą.

VGEM bus antroji „Rust“ grafikos tvarkyklė, veikianti branduolio lygiu (pirmoji buvo „Asahi DRM“ (tiesioginio atvaizdavimo tvarkyklės) tvarkyklė, skirta „Apple AGX GPU“, naudojama Apple M1/M2 lustuose). Kuriant reikėjo sukurti naujus apkaustus, kad jie veiktų iš Rust kodo su platformos įrenginiu, XArray tipu ir su DMA susijusiomis abstrakcijomis, tokiomis kaip DMA tvoros. Dabartiniame kūrimo etape tvarkyklė yra beveik paruošta, išlaiko daugumą IGT testų, išskyrus du patikrinimus (vgem_slow ir vgem_basic@unload), tačiau reikia tobulinti IOCTL palaikymą.

Šaltinis: opennet.ru

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