Rust で VGEM ドライバーを再加工する

Igalia の Maíra Canal は、Rust で VGEM (仮想 GEM プロバイダー) ドライバーを書き直すプロジェクトを発表しました。 VGEM は約 400 行のコードで構成され、LLVMpipe などの 3D ソフトウェア デバイス ドライバーへのバッファ アクセスを共有してソフトウェア ラスタライズのパフォーマンスを向上させるために使用されるハードウェアに依存しない GEM (Graphics Execution Manager) バックエンドを提供します。

VGEM は、カーネル レベルで実行される 1 番目の Rust グラフィックス ドライバーになります (2 つ目は、Apple MXNUMX/MXNUMX チップで使用される Apple AGX GPU 用の Asahi DRM (ダイレクト レンダリング マネージャー) ドライバーでした)。 開発では、Rust コードからプラットフォーム デバイス、XArray 型、DMA フェンスなどの DMA 関連の抽象化を使用して動作する新しいバインディングを作成する必要がありました。 現在の開発段階では、ドライバーはほぼ準備が整っており、XNUMX つのチェック (vgem_slow と vgem_basic@unload) を除いてほとんどの IGT テストに合格していますが、IOCTL サポートの改善が必要です。

出所: オープンネット.ru

コメントを追加します