Überarbeitung des VGEM-Treibers in Rust

Maíra Canal von Igalia hat ein Projekt zur Neuschreibung des VGEM (Virtual GEM Provider)-Treiber in Rust vorgestellt. VGEM umfasst etwa 400 Zeilen Code und bietet ein hardwareunabhängiges Backend GEM (Graphics Execution Manager), das für den gemeinsamen Zugriff auf die Puffer von Software-3D-Gerätetreibern wie LLVMpipe verwendet wird, um die Leistung der Software-Rasterisierung zu steigern.

VGEM wird der zweite Grafiktreiber in Rust sein, der auf Kernel-Ebene arbeitet (der erste war der DRM-Treiber (Direct Rendering Manager) Asahi für die Apple AGX GPU, die in den Apple M1/M2 Chips verwendet wird). Bei der Entwicklung mussten neue Bindings erstellt werden, um Rust-Code mit Plattformgeräten, dem Typ XArray und Abstraktionen für den Direktzugriff auf den Speicher, wie DMA-Barrieren (DMA-Fence), zu verbinden. In der aktuellen Entwicklungsphase ist der Treiber fast fertig und besteht die meisten IGT-Tests, mit Ausnahme von zwei Prüfungen (vgem_slow und vgem_basic@unload), benötigt jedoch noch Anpassungen für die IOCTL-Unterstützung.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster