Retravailler le pilote VGEM dans Rust

Maíra Canal d'Igalia a présenté un projet de réécriture du pilote VGEM (Virtual GEM Provider) dans Rust. VGEM se compose d'environ 400 lignes de code et fournit un backend GEM (Graphics Execution Manager) indépendant du matériel utilisé pour partager l'accès au tampon aux pilotes de périphériques logiciels 3D tels que LLVMpipe afin d'améliorer les performances de rastérisation des logiciels.

VGEM sera le deuxième pilote graphique Rust à s'exécuter au niveau du noyau (le premier était le pilote Asahi DRM (Direct Rendering Manager) pour le GPU Apple AGX utilisé dans les puces Apple M1/M2). Le développement a nécessité la création de nouvelles liaisons pour fonctionner à partir du code Rust avec le périphérique de plate-forme, le type XArray et les abstractions liées au DMA telles que les clôtures DMA. Au stade actuel de développement, le pilote est presque prêt, réussit la plupart des tests IGT, à l'exception de deux vérifications (vgem_slow et vgem_basic@unload), mais nécessite une amélioration du support IOCTL.

Source: opennet.ru

Ajouter un commentaire