Επανεργασία του προγράμματος οδήγησης VGEM στο Rust

Το Maíra Canal από την Ιγαλία παρουσίασε ένα έργο για να ξαναγράψει το πρόγραμμα οδήγησης VGEM (Virtual GEM Provider) στο Rust. Το VGEM αποτελείται από περίπου 400 γραμμές κώδικα και παρέχει ένα αγνωστικό υλικό GEM (Graphics Execution Manager) που χρησιμοποιείται για την κοινή χρήση πρόσβασης buffer σε προγράμματα οδήγησης συσκευών λογισμικού 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.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο