Rust ішінде VGEM драйверін қайта өңдеу

Игалиядан келген Майра каналы Rust қаласындағы VGEM (виртуалды GEM провайдері) драйверін қайта жазу жобасын ұсынды. VGEM шамамен 400 код жолынан тұрады және бағдарламалық құралды растризациялау өнімділігін жақсарту үшін LLVMpipe сияқты 3D бағдарламалық құрал драйверлеріне буферлік қатынасты ортақ пайдалану үшін пайдаланылатын аппараттық-агностикалық GEM (Graphics Execution Manager) серверін қамтамасыз етеді.

VGEM ядро ​​деңгейінде жұмыс істейтін екінші Rust графикалық драйвері болады (біріншісі Apple M1/M2 чиптерінде қолданылатын Apple AGX GPU үшін Asahi DRM (Direct Rendering Manager) драйвері болды). Әзірлеу платформа құрылғысымен, XArray түрімен және DMA қоршаулары сияқты DMA-ға қатысты абстракциялармен Rust кодынан жұмыс істеу үшін жаңа байланыстыруларды жасауды талап етті. Әзірлеудің қазіргі кезеңінде драйвер екі тексеруді (vgem_slow және vgem_basic@unload) қоспағанда, IGT сынақтарының көпшілігінен өтеді, бірақ IOCTL қолдауын жақсартуды талап етеді.

Ақпарат көзі: opennet.ru

пікір қалдыру