Mengolah semula pemacu VGEM dalam Rust

MaΓ­ra Canal dari Igalia membentangkan projek untuk menulis semula pemacu VGEM (Pembekal GEM Maya) di Rust. VGEM terdiri daripada kira-kira 400 baris kod dan menyediakan bahagian belakang GEM (Graphics Execution Manager) perkakasan-agnostik yang digunakan untuk berkongsi akses penimbal kepada pemacu peranti 3D perisian seperti LLVMpipe untuk meningkatkan prestasi rasterisasi perisian.

VGEM akan menjadi pemacu grafik Rust kedua yang dijalankan pada tahap kernel (yang pertama ialah pemacu Asahi DRM (Pengurus Rendering Langsung) untuk GPU Apple AGX yang digunakan dalam cip Apple M1/M2). Pembangunan memerlukan mencipta pengikatan baharu untuk berfungsi daripada kod Rust dengan peranti platform, jenis XArray dan abstraksi berkaitan DMA seperti pagar DMA. Pada peringkat pembangunan semasa, pemandu hampir bersedia, melepasi kebanyakan ujian IGT, kecuali dua pemeriksaan (vgem_slow dan vgem_basic@unload), tetapi memerlukan peningkatan sokongan IOCTL.

Sumber: opennet.ru

Tambah komen