Reelaborant el controlador VGEM a Rust

Maíra Canal d'Igalia va presentar un projecte per reescriure el controlador VGEM (Proveïdor Virtual GEM) a Rust. VGEM consta d'aproximadament 400 línies de codi i proporciona un backend GEM (Gestor d'execució gràfica) independent del maquinari que s'utilitza per compartir l'accés a la memòria intermèdia als controladors de dispositiu 3D de programari com ara LLVMpipe per millorar el rendiment de la rasterització del programari.

VGEM serà el segon controlador de gràfics Rust que s'executarà al nivell del nucli (el primer va ser el controlador Asahi DRM (Direct Rendering Manager) per a la GPU Apple AGX utilitzat als xips Apple M1/M2). El desenvolupament va requerir la creació de nous enllaços per treballar a partir del codi Rust amb el dispositiu de la plataforma, el tipus XArray i abstraccions relacionades amb DMA, com ara les tanques DMA. En l'etapa actual de desenvolupament, el controlador està gairebé preparat, passa la majoria de proves IGT, amb l'excepció de dues comprovacions (vgem_slow i vgem_basic@unload), però requereix una millora del suport IOCTL.

Font: opennet.ru

Afegeix comentari