| この記事は更新が必要とされています。
この記事には古い情報が掲載されています。編集の際に新しい情報を記事に 反映させてください。反映後、このタグは除去してください。 (2019年9月) |
Gallium3D は3Dグラフィックスハードウェアアクセラレーションのためのソフトウェアライブラリであり、Linuxとオープンソースのグラフィックス専門技術をもつ技術会社であるTungsten Graphicsによって開発されている。Gallium3DはグラフィックスAPIとオペレーティングシステム間を操作し、第一目標をドライバの開発を容易にし、いくつかの異なるドライバの別の方法で実装し重複したコードを一つにまとめることにしている。これはより良い分業を提供し(例えば、メモリ管理をカーネルのDRIドライバに残す)現代的なハードウェアアーキテクチャをサポートすることでなされている。
Gallium3Dは現代的なハードウェア上に見られるシェーダーユニットのような標準的なハードウェア機能を公開するための統一されたAPIを提供する。そのため、OpenGLやOpenVG(英語版)のようなグラフィックスAPI、OpenCLなどのGPGPU基盤や、(Wine互換レイヤーにある)Direct3Dのような3D APIは、Gallium3D APIを対象とするスタックトラッカーと呼ばれる単一のバックエンドのみを必要とする。一方、Mesa 3Dには個々のハードウェアプラットフォームに対して異なるバックエンドが必要で、いくつかの異なるAPIでは将来のオーバーヘッドを犠牲にしてOpenGLへの翻訳が必要である[1][2]。
さらに、モジュラ構造のGallium3Dを使うことで、LLVMコンパイラスイートを利用し、オンザフライでシェーダーコードを最適化するためのモジュールを作成する作業が進行中である[3]。
Gallium3Dのもとでは、DRM (Direct Rendering Manager(英語版)) カーネルドライバはメモリを管理し、(現在[いつ?] DRI2 と呼ばれている)DRI (Direct Rendering Infrastructure) ドライバはよりGPU処理指向になる。Mesa 3Dのもとでは実行不可能だと考えられているメモリ管理問題の解決をこれによって行える[4]。
現状
最初の実装と既に部分的に動作するドライバはCellとIntel GPUドライバである。作業はスケルトンドライバを提供するATI Radeonカード上で完了し[5]、nouveauチームは開発をGallium3Dに移している[6][7]。
2008年7月13日時点でNouveau開発はGalliumフレームワーク専用でなされている。古いDRIドライバは Freedesktop.org 上のMesaリポジトリのmasterブランチから削除された[8]。
脚注
外部リンク