Przebudowa sterownika VGEM w języku Rust

Maíra Canal z firmy Igalia przedstawiła projekt przepisania sterownika VGEM (Virtual GEM Provider) w języku Rust. VGEM zawiera około 400 linii kodu i zapewnia niezwiązany ze sprzętem backend GEM (Graphics Execution Manager), używany do współdzielonego dostępu do buforów sterowników programowych urządzeń 3D, takich jak LLVMpipe, aby zwiększyć wydajność programowej rastrowania.

VGEM będzie drugim sterownikiem graficznym w Rust, działającym na poziomie jądra (pierwszym był sterownik DRM (Direct Rendering Manager) Asahi dla GPU Apple AGX, używanego w chipach Apple M1/M2). W trakcie opracowywania konieczne było stworzenie nowych wiązań do pracy z kodem napisanym w języku Rust z urządzeniem platformy, typem XArray oraz abstrakcjami związanymi z bezpośrednim dostępem do pamięci, takimi jak bariery DMA (DMA fence). Na obecnym etapie rozwoju sterownik jest prawie gotowy, przeszedł większość testów IGT, z wyjątkiem dwóch kontrolnych (vgem_slow i vgem_basic@unload), ale wymaga dopracowania wsparcia dla IOCTL.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster