MaĂra Canal frĂ„n Igalia presenterade ett projekt för att skriva om VGEM-drivaren (Virtual GEM Provider) i Rust. VGEM omfattar ungefĂ€r 400 kodrader och erbjuder en hĂ„rdvaruoberoende backend GEM (Graphics Execution Manager) som anvĂ€nds för delad Ă„tkomst till buffertar för mjukvaru 3D-enheter som LLVMpipe, med mĂ„let att förbĂ€ttra prestandan för mjukvarurasterisering.
VGEM blir den andra grafiska drivrutinen i Rust som fungerar pÄ kÀrnnivÄ (den första var DRM-drivrutinen (Direct Rendering Manager) Asahi för GPU Apple AGX, som anvÀnds i Apple M1/M2-chips). Under utvecklingen krÀvdes skapandet av nya bindningar för att interagera med plattformens enhet frÄn koden i Rust, typ XArray och abstraktioner relaterade till direkt minÄtkomst, sÄsom DMA-barriÀrer (DMA fence). Vid den nuvarande utvecklingsfasen Àr drivrutinen nÀstan klar, den passerar de flesta IGT-testerna, förutom tvÄ kontroller (vgem_slow och vgem_basic@unload), men krÀver mer arbete för att stödja IOCTL.
KĂ€lla: opennet.ru
