| 原作者 | ブライアン・ポール |
|---|---|
| 開発者 | 現在: Igalia、Collabora、Valve、Intel、Google、AMD、VMware 旧: Tungsten Graphics [1] |
| 初回リリース | 1995年2月 |
| 安定版リリース | 24.3.0 [2]
/ 2024年11月21日 |
| プレビューリリース | 24.3.0-rc2
/ 2024年11月13日 |
| リポジトリ | https://gitlab.freedesktop.org/mesa/mesa |
| 書かれた | C++、 C、アセンブリ言語 |
| オペレーティング·システム | クロスプラットフォーム( BSD、Haiku、Linuxなど) |
| タイプ | グラフィックライブラリ |
| ライセンス | MITライセンス |
| Webサイト | https://www.mesa3d.org |
Mesa は、Mesa3DやThe Mesa 3D Graphics Libraryとも呼ばれ、OpenGL、Vulkan、およびその他のグラフィックス API仕様のオープン ソース実装です。 Mesa は、これらの仕様をベンダー固有のグラフィックス ハードウェア ドライバーに変換します。
その最も重要なユーザーは、主にIntelとAMDがそれぞれのハードウェア向けに開発し資金提供している 2 つのグラフィック ドライバーです(AMD は、廃止されたAMD Catalystよりも Mesa ドライバー Radeon と RadeonSI を推奨しており、Intel は Mesa ドライバーのみをサポートしています)。独自のグラフィック ドライバー (例: Nvidia GeForce ドライバーや Catalyst) は、Mesa のすべてを置き換え、独自のグラフィック API 実装を提供します。Mesa Nvidia ドライバーを作成するためのオープン ソースの取り組みであるNouveauは、主にコミュニティによって開発されています。
ゲームなどの 3D アプリケーションに加えて、最新のディスプレイ サーバー( X.org の GlamorまたはWaylandのWeston ) は OpenGL/ EGL を使用するため、通常、すべてのグラフィックスは Mesa を経由します。
Mesaはfreedesktop.orgでホストされており、1993年8月にブライアン・ポール氏によって開始されました。ポール氏は現在もプロジェクトに積極的に参加しています。Mesaはその後広く採用され、現在ではOpenGL仕様を管理するクロノス・グループのグラフィックス・ハードウェア製造業者を含む世界中の様々な個人や企業からの多数の貢献が含まれています。Linuxの場合、開発はクラウドファンディングによって部分的に推進されてきました。[3]
概要


レンダリングAPIの実装

Mesa はグラフィックAPIの実装を収容していることで知られています。歴史的に Mesa が実装してきた主な API はOpenGLであり、他のKhronos Group関連の仕様 ( OpenVG、OpenGL ES 、最近ではEGLなど) も実装してきました。しかし Mesa は他の API も実装することができ、実際に2013 年 7 月以降はGlide (非推奨) とDirect3D 9で実装されています。 [5] Mesa は Unix 系オペレーティング システムに限定されているわけではありません。たとえば Windows では、Mesa は DirectX 上で OpenGL API を提供します。
Mesa は、OpenGL などのグラフィックス API とオペレーティング システム カーネル内のグラフィックス ハードウェア ドライバー間の変換レイヤーを実装します。各ハードウェア ドライバーには独自の実装 (したがってステータス) があるため、さまざまなグラフィックス API のサポート バージョンはドライバーによって異なります。これは特に「クラシック」ドライバーに当てはまりますが、Gallium3D ドライバーは、サポートされる拡張機能とバージョンを均一化する傾向がある共通コードを共有しています。
Mesaは、現在のOpenGL準拠のステータスを示すサポートマトリックスを維持しており、mesamatrix.netで視覚化されています[6] [7]。Mesa 10は、Intel、AMD / ATI、およびNvidia GPUハードウェアのOpenGL 3.3に準拠しています。Mesa 11は、一部のドライバーがOpenGL 4.1に準拠していることが発表されました。[8]
Mesa 12 には、OpenGL 4.2 および 4.3 と Intel Vulkan 1.0 のサポートが含まれています。
Mesa 13 では、OpenGL 4.4 および 4.5 の Intel サポート (Intel Gen 8+、Radeon GCN、Nvidia (Fermi、Kepler) のすべての機能がサポートされていますが、4.5 ラベルの Khronos テストはサポートされていません) と、コミュニティ ドライバー RADV による実験的な AMD Vulkan 1.0 サポートが導入されました。OpenGL ES 3.2 は Intel Skylake (Gen9) で可能です。[9]
2017年の最初の安定バージョンは17.0(新年カウント)です。[10] [11] [12]対応機能はOpenGL 4.5、Intel Haswell用OpenGL 4.5、[13] [14] Nvidia MaxwellおよびPascal(GM107+)用OpenGL 4.3が認定されています。[15] Maxwell 1(GM1xxを搭載したGeForce GTX 750 Ti以上)で大幅なパフォーマンス向上が測定されました。Maxwell-2-Cards(GM2xxを搭載したGeForce GTX 980以上)はNvidia情報なしでアンダークロックされています。[16]
OpenGL 4.4、4.5、OpenGL ES 3.0+用のKhronos CTSテストスイートは現在(2017-01-24)オープンソースになっており、Mesa 13および17のすべてのテストが無料で実行できるようになりました。[17]
2017年の2番目の安定バージョンである17.1.0は、いくつかの興味深い改善を伴って2017年5月10日にリリースされました。Intel Ivy BridgeのOpenGL 4.2+とIntel Open SWR RasterizerのOpenGL 3.3+は、2つのハイライトです。[18] [19]
OpenGLのモジュール化された性質により、MesaはOpenGLの新しいバージョンの拡張機能をサポートできますが、そのようなバージョンを完全にサポートしているわけではありません。たとえば、2016年7月、MesaはOpenGL ES 3.1をサポートしていましたが、5つを除くすべてのOpenGL ES 3.2拡張機能と、どのOpenGLまたはOpenGL ESバージョンにも属さない拡張機能もサポートしていました。[20]
3番目のバージョン17.2は、いくつかの新しいOpenGL 4.6機能とIntelおよびAMDの3Dの速度向上を備え、2017年9月から利用可能になりました。Nouveau for Keplerでは、OpenGL 4.5のテストが失敗する割合はわずか1.4%です。[21]
4番目のバージョン17.3は2017年12月から利用可能になりました。多くのドライバーで多くの改善が利用可能です。OpenGL 4.6はほぼ完全に利用可能です(Spir-Vはまだ準備ができていません)。AMD VulkanドライバーRADVは現在、Khronos-Testに完全に準拠しています。[22]
2018年の最初のバージョンは18.0で、2017年と同じスキームで2018年3月から利用可能です。 [23] OpenGL 4.6の完全なサポートはまだ準備ができていませんが、多くの機能と改善がRC3で正常にテストされました。ColorsでのIntel i965の10ビットサポートもハイライトです。[24]実際のLinuxバージョンでのIntel Cannon LakeとAMD Vegaのサポートが新しくなりました。AMD Evergreenチップ(RV800またはR900)はOpenGL 4.5のサポートに近づいています。古いAMD R600またはRV700チップはOpenGL 4.xの一部の機能でOpenGL 3.3のみをサポートできます。FreedrenoはAdrenoハードウェア用のドライバーであり、OpenGL 3.3のサポートに近づいています。
2018 年 2 番目のバージョンは 18.1 で、5 月から利用可能です。ターゲットは、Intel ANV および AMD RADV ドライバーの Vulkan 1.1.72 です。spir-V を使用した OpenGL 4.6 も主なターゲットです。恒久的な作業として、AMD R600/Evergreen、Nvidia Tesla 以前、Fermi、Kepler、または Intel Sandybridge、Ivybridge、Haswell、Broadwell などの古いハードウェア用のドライバーの機能と最適化の完了が可能です。ARM アーキテクチャでは、主なターゲットが OpenGL ES である Raspi 用の Adreno 3xx/4xx/5xx および Broadwell VC4/VC5 も大幅に改善されました。
2018年3番目のバージョンは18.2で、9月にカレンダー安定版で利用可能になります。OpenGL 4.6 with spir-VおよびVulkan 1.1.80は現在開発中です。仮想マシンVIRGLのソフトドライバーはOpenGL 4.3およびOpenGL ES 3.2に対応しています。RadeonSIもOpenGL ES 3.2に対応しています。ASTCテクスチャ圧縮サポートおよびOpenGL 4.4(18.1では3.1)の互換性モードサポートは、AMD GCNカード用RadeonSIのその他のハイライトです。新しいVulkan 1.1およびIntelおよびAMD向けのその他の機能が利用可能です。Vulkanの詳細については、Mesamatrixを参照してください。[25]
2018年4番目のバージョンは18.3で、2018年12月に安定版18.3.1としてリリースされました。多くの機能の詳細と新しいハードウェアのサポートが主な部分です。OpenGL 4.6の完全なサポートはまだ準備ができていません。[26] [27]
2019年の最初のバージョンは19.0で、3月にリリースされました。OpenGL 4.6の完全なサポートはまだ準備ができていませんが、この方法ではすべてのドライバーに多くの改善が加えられています。[28] [29]
2019年の第2バージョンは19.1です。TGSIからNIRへの移行は、Spir-Vとその他のOpenCLを搭載したOpenGL 4.6への移行における主要な機能の1つです。RadeonSIはNIRを搭載した開発バージョンで問題なく動作します。[30]
2019年の第3バージョンは19.2です。OpenGL 4.6は新しいIntel Irisドライバーのベータ版に対応しています。[31]
2019年の第4バージョンは19.3です。OpenGL 4.6はIntel i965に対応しており、新しいIrisドライバーではオプションです。[32]
2020年の最初のバージョンは20.0です。Vulkan 1.2はAMD RADVとIntel ANVに対応しています。Intel IrisはIntel Broadwell Gen 8+のデフォルトです。[33] [34] RadeonSIドライバーは、デフォルトでTGSIではなくNIRを使用するように切り替わりました。
2020年の第2バージョンは20.1です。多くのドライバーに多くの改善が加えられています。ZinkはVulkan上のOpenGL用の新しい仮想ドライバーです。[35]
2020年の第3バージョンは20.2です。Zink用のOpenGL 3.0は新機能の1つです。LLVMpipeはOpenGL 4.3+(20.3では4.5+)をサポートします。ARM Panfrostは多くのモジュールで大幅に改善されています。NouveauのOpenCLでは、Pascal以上で共有仮想メモリが可能です。[36] [37] [38]
2020年の第4バージョンは20.3です。v3dとv3dvは、Raspberry Pi 4などのBroadcomハードウェア向けのOpenGLとVulkan 1.0用の新しいドライバーです。OpenCL 1.2はcloverモジュールで完全にサポートされています。ZinkはOpenGL 3.3以降をサポートしています。LLVMpipe仮想ドライバーは現在OpenGL 4.5以降をサポートしており、4.6も視野に入れています。Lavapipe(元々はVallium [39]と呼ばれていました)は、LLVMpipeのVulkanツリーとして統合されました。[40] [41] [42] [43] [44]
Mesa 21.0では、d3d12はOpenGL 3.0から3.3に統合されます。MicrosoftとCollaboraは、Direct 3D 12を搭載したWindows 10向けにWSL2で新しいエミュレーションd3d12を開発しています。OpenCL 1.2もd3d12の対象です。改良されたOpenGLコードにより、ベンチマークSPECviewperfで2~5倍の高速化が実現しました。[45] [46] [47] [48] Mesa 21.0の多くの機能によりパフォーマンスが向上します。[49]新リリース21.0.0は2021年3月11日から公開されています。
Mesa 21.1は2021年の2番目のリリースです。[50] OpenGL 4.6+およびOpenGL ES 3.1+がZinkで利用可能です。AMD Driver 600gはNIRに変更でき、古いRadeon HD 5000および6000カードの可能性が広がります。[51] Qualcomm TurnipはVulkan 1.1+とソフトウェアエミュレーションLavapipe Vulkan 1.1+に到達しました。Vulkan 1.2+を搭載したGoogle VirtIO GPU Driver Venusは、mesaメインツリーに低パフォーマンスの実験状態でマージされています。[52]
Mesa 21.2は2021年の3番目のリリースです。Google Virtual Vulkan IO Driver Venusは、完全なVulkan 1.2+サポート(mesamatrixの詳細)とともに正式に導入されます。ARM Panfrost:OpenGL ES 3.1+サポートが利用可能で、panVKが新しいVulkanドライバーです。新しいドライバーAsahiによるARM Apple M1の初期サポートが開始されました。21.2は2021年8月4日から利用可能です。[53]
以前の計画では、プログラミング、サポート、バグ修正など、多くの利点があるクラシック ツリー内の古いドライバーを、最新の Gallium 3D パーツ用に分割していました。ここでの問題の 1 つは、Intel i965 が、人気の古いハードウェアを Intel Haswell にサポートし、それ以前は Windows 10 もサポートしていたことです。[54] Intel Gen 4 Graphics から Haswell への新しい Gallium3D ドライバー Crocus が開発中であり、2021 年の次の時期に分割される可能性のある Gallium3D 領域がここで完了します。Crocus は 21.2 でオプションとして利用できます。[55] Amber ブランチは、Radeon R200、Intel i915、965 などの Gallium 3D 機能のない古いドライバー用で、実際のバージョンは 21.3.9 です。[56]
バージョン22.0ではクラシックドライバーは廃止されました。Vulkan 1.3はIntel AnvilとAMD RADVで利用可能です。[57]
マイクロソフトは、Mesa 22.1でd3d12経由のVulkanとして、開発初期段階のWSL 2用の新しいドライバー「Dozen」を導入しました。[58]
RustiCLは、Intel XEグラフィックス用の公式OpenCL 3.0準拠で22.3で利用可能です。パフォーマンスはAMD 6700 XTカードを搭載したAMD ROCmと同等かそれ以上です。[59] [60]
Mesa 23.0の主な開発目標はVulkanのレイトレーシングであった。[61] [62]
MicrosoftはWSLでVulkan用のDozenドライバを開発しています。Vulkan 1.0+(80% 1.1および1.2)は、23.1への遅延の後、Mesa 23.2で利用可能になります(mesamatrixを参照)。[63] AMDハードウェア用のRustiCLは23.1で利用可能です。[64]
仮想マシン用のVirGLはMesa 23.2でOpenGL 4.6にジャンプします。[65] Apple Armマシン用のAppleAsahiはOpenGL 2.1から3.1にジャンプし、OpenGL 3.2と3.3の90%の機能とOpenGL ES 2.0から3.0にジャンプします。[66]
Microsoftは、Mesa 24.0(Mesa 23.3では4.3+)のWSL OpenGL 4.6+を、直接12個の変換ドライバーでサポートしています。[67]
レンダリング API の表
ヴルカン
Khronos Group は2015 年 3 月にVulkan API を公式に発表し、2016 年 2 月 16 日に Vulkan 1.0 を公式にリリースしました。Vulkan は OpenGL との互換性を失っており、モノリシック ステート マシンの概念を完全に放棄しています。Gallium3D の開発者は、Vulkan を Gallium3D 2.0 のようなものと呼んでいます。Gallium3D は、OpenGL ステート マシンを実装するコードをハードウェア固有のコードから分離します。
バージョン1.3はMesa 22.0ですぐに利用可能になります。OpenGL ES 3.1をサポートするハードウェアはVulkanレベル1.3以前で動作するはずです。[105]
Gallium3D が TGSI を取り込むのと同様に、Vulkan は SPIR-V ( 「Vulkan」の「V」は Standard Portable Intermediate Representationバージョン) を取り込みます。
インテルは、仕様が公式に発表された日に自社のハードウェア用のVulkanドライバの実装をリリースしたが、メインライン化されたのは4月になってからで、2016年7月にリリースされたMesa 12.0の一部となった。i965ドライバはGallium3D仕様に従って書かれていなかったが、Vulkanドライバの場合、Gallium3Dの上にフランジするのはさらに意味がない。同様に、NIRでフランジする技術的な理由もないが、インテルの従業員はVulkanドライバをそのように実装した。[106]
AMD独自のVulkanドライバは3月にリリースされ[いつ? ]、将来的には無料のオープンソースソフトウェアとしてリリースされ、Mesaにメインライン化されると発表されていたが、これもGallium3Dを放棄すると予想される。[107]
RADVはAMDの無料プロジェクトであり、バージョン13以降で利用可能です。 [9] Khronos-Testへの準拠はバージョン17.3で実現しました。実際、Mesa 18.1以降ではVulkan 1.0と1.1が完全にサポートされています。
Nvidia は発売日に Vulkan をサポートする独自の GeForce ドライバーをリリースしており、Imagination Technologies (PowerVR)、Qualcomm (Adreno)、ARM (Mali) も同様の対応をしているか、少なくとも Android やその他のオペレーティング システム用の独自の Vulkan ドライバーを発表しています。しかし、これらの GPU 用の追加の無料かつオープンソースの Vulkan 実装がいつ登場するか、また登場するかどうかは、まだわかりません。
Mesa Software Driver VIRGLは、2018年に仮想マシンのサポートのためのGSOCプロジェクトでVulkan開発を開始しました。[108]
LavapipeはCPUベースのソフトウェアVulkanドライバであり、LLVMpipeの兄弟です。Mesaバージョン21.1はVulkan 1.1以降をサポートしています。[109]
GoogleはMesa 21.1で仮想マシン用のVenus Vulkan Driverを導入し、Vulkan 1.2+を完全にサポートしました。[52]
Qualcomm Turnip と Broadcom v3dv は、Qualcomm Adreno と Broadcom Raspberry 4 ハードウェア用の新しいドライバーです。Turnip は OpenGL 用の freedreno の Vulkan 版です。V3dv は Mesa 20.3 以降で Vulkan 1.0+ をサポートしています。バージョン 21.1 では Turnip は Vulkan 1.1+ をサポートしています。[110] [111] [112]
ARM Mali用のPanfrost PanVKはVulkan 1.1に近づいていますが、Mesa 22.0で安定して利用できるのは1.0のみです。[113]
Project Dozenは、Windows 10および11のLinuxエミュレーションWSL2用に、direct 3D 12(d3d12)をVulkanに接続しています。Mesa 23.2では、Vulkan 1.0が完全に準拠しており、1.1と1.2(mesamatrix)の80%がサポートされています。[114] [115]
明示的なフェンシング
1 つのバッファをメモリの残りの部分から分離する一種のメモリ バリアは、フェンスと呼ばれます。フェンスは、レンダリングおよび表示操作が完了する前にバッファが上書きされないようにするためにあります。暗黙的なフェンスは、グラフィックス ドライバーと GPU ハードウェア間の同期に使用されます。フェンスは、バッファが 1 つのコンポーネントによって使用されなくなったときに信号を送り、別のコンポーネントで操作または再利用できるようにします。以前は、Linux カーネルには暗黙的なフェンス メカニズムがあり、フェンスはバッファに直接接続されていました (GEM ハンドルと FD を参照)。ただし、ユーザー空間はこれを認識していません。明示的なフェンスはフェンスをユーザー空間に公開し、ユーザー空間は Direct Rendering Manager (DRM) サブシステムと GPU の両方からフェンスを取得します。明示的なフェンスは Vulkan で必須であり、トレースとデバッグに利点があります。
Linuxカーネル4.9ではAndroidの同期フレームワークがメインラインに追加されました。[116]
汎用バッファ管理
Generic Buffer Management (GBM) は、Mesa に関連付けられたグラフィックス レンダリング用のバッファを割り当てるメカニズムを提供する API です。GBM は、DRM または openwfd 上の EGL のネイティブ プラットフォームとして使用することを目的としています。GBM が作成するハンドルは、EGL を初期化し、レンダリング ターゲット バッファを作成するために使用できます。[117]
Mesa GBM は、グラフィックス ドライバー固有のバッファー管理 API (さまざまな libdrm_* ライブラリなど) を抽象化したものであり、Mesa GPU ドライバーを呼び出すことによって内部的に実装されます。
たとえば、Wayland コンポジターのWeston は OpenGL ES 2 を使用してレンダリングを行いますが、これは EGL を呼び出して初期化されます。サーバーは「ベアKMS ドライバー」上で実行されるため、EGL DRM プラットフォームを使用します。これは Mesa GBM インターフェイスに依存しているため、実際には GBM プラットフォームと呼ぶことができます。
XDC2014で、Nvidiaの従業員Andy RitgerはGBMを置き換えるためにEGLを強化することを提案しました。[118]これはコミュニティに好意的に受け止められず、Nvidiaは最終的に考えを変え、[119]別のアプローチを取りました。
ビデオアクセラレーションAPIの実装
ビデオ ストリームのエンコードとデコードに必要な計算を実行するには、次の 3 つの方法があります。
- ビデオ圧縮または解凍アルゴリズム(一般にコーデックと呼ばれる)のソフトウェア実装を使用し、このソフトウェアをCPU上で実行する
- ビデオ圧縮または解凍アルゴリズム(一般にコーデックと呼ばれる)のソフトウェア実装を使用し、このソフトウェアをG PU(3Dレンダリングエンジン)で実行します。
- ビデオ圧縮または解凍アルゴリズムの完全な(または部分的な)ハードウェア実装を使用します。このようなASIC をGPU/CPU/SoC のチップに統合することは非常に一般的になり、そのため豊富に提供されています。マーケティング上の理由から、企業はPureVideo (Nvidia)、Unified Video Decoder (AMD)、Video Coding Engine (AMD)、Quick Sync Video (Intel)、DaVinci (Texas Instruments)、CedarX (Allwinner)、Crystal HD (Broadcom) などの ASIC のブランドを確立しています。一部の ASIC は、半導体知的財産コアとしてライセンス供与されています。通常、異なるバージョンは異なるビデオ圧縮および/またはビデオ解凍アルゴリズムを実装します。このような ASIC のサポートは、通常、ハードウェアを初期化して低レベルの処理を実行するカーネル ドライバーに属しています。ユーザー空間で実行される Mesa には、VLC メディア プレーヤー、GStreamer、HandBrakeなどのソフトウェア用のいくつかのAPIの実装が含まれており、このような ASIC に簡単にアクセスできます。
- ビデオアクセラレーションAPI(VAAPI) – AMDとIntelが使用するLinuxで最も一般的なAPI
- Unix用ビデオデコードおよびプレゼンテーションAPI(VDPAU) – Nvidiaが使用
- DirectX ビデオ アクセラレーション(DXVA) – Microsoft Windows のみ
- OpenMAX IL – ビデオ圧縮用にクロノスグループが設計
- 分散コーデックエンジン(DCE) – Texas Instruments が設計
- X-Video ビットストリーム アクセラレーション(XvBA) - Xvの拡張- VAAPI に引き継がれました
- X-Video Motion Compensation (XvMC) – Xvの拡張– VAAPI に引き継がれました
例えば、Mesaの一部として開発されているNouveauは、Linuxカーネルの一部として開発されているLinuxカーネルコンポーネントも含み、 PureVideoブランドのASICをサポートし、 VDPAUを介して、また部分的にXvMCを介してそれらへのアクセスを提供します。[120]
無料のRadeonドライバは、 VDPAUとOpenMAXを介して統合ビデオデコーダーとビデオコーディングエンジンをサポートします。[121]
V4L2は、Web カメラまたは TV チューナーによって配信されるビデオ ビット ストリーム用のカーネルからユーザー空間へのインターフェイスです。
H.264、H.265、VC-1ビデオコーデックに関する特許上の懸念から、 Fedora Linuxは2022年9月にMesaのビルドでVAAPIアクセラレーションのサポートを無効にしました。[122]
デバイスドライバー

グラフィックチップセット用の利用可能な無料およびオープンソースのデバイスドライバーは、Mesaによって「管理」されています(既存の無料およびオープンソースのAPI実装はMesa内で開発されているため)。現在、グラフィックドライバーを作成するためのフレームワークは、「クラシック」とGallium3Dの2つがあります。[123] Mesaで利用可能なドライバーの一部(すべてではありません)の概要は、 mesamatrix.netで提供されています。
3Dアクセラレーション機能を備えたAMD/ATI R100からR800、Intel、Nvidiaカード用のデバイスドライバがあります。以前は、 PlayStation 3のIBM/Toshiba/Sony Cellプロセッサ、S3 VirgeおよびSavageチップセット、VIAチップセット、Matrox G200およびG400などのドライバが存在していました。[124]
フリーおよびオープンソースのドライバーは、プロプライエタリなクローズドソースのドライバーと競合します。ハードウェアのドキュメントや人的資源の可用性に応じて、フリーおよびオープンソースのドライバーは、新しいハードウェアの 3D アクセラレーションのサポートにおいて多かれ少なかれ遅れをとります。また、3D レンダリングのパフォーマンスは、いくつかの注目すべき例外を除いて、通常は大幅に遅くなります。[125] [126] [127] [128]今日でも、ほとんどの NVIDIA GPU の Nouveau ではこれが当てはまりますが、AMD の Radeon GPU では、オープン ドライバーは現在、プロプライエタリ ドライバーのパフォーマンスとほぼ同等か、それを上回っています。
ダイレクトレンダリングインフラストラクチャ (DRI)
3Dグラフィック カードがPC で主流になった頃、一部の企業の支援を受けた個人が、Mesa にハードウェア アクセラレーションによる 3D レンダリングのサポートを追加する作業を開始しました。 [いつ? ] Direct Rendering Infrastructure (DRI) は、Mesa、OpenGL、その他の 3D レンダリング API ライブラリをデバイス ドライバやハードウェアとインターフェイスするアプローチの 1 つでした。基本的なレベルの使いやすさが実現した後、DRI サポートが正式に Mesa に追加されました。これにより、Mesa ライブラリを使用する際に実現可能なハードウェア サポートの範囲が大幅に広がりました。[129]
DRIへの適応により、Mesaライブラリは最終的に、完全なソフトウェアレンダリング機能を失うことなく、さまざまなレベルの3Dハードウェアサポートを提供できるさまざまなバックエンドコンポーネントを備えたフルスケールのOpenGLフレームワークのフロントエンドコンポーネントの役割を引き継ぎました。システム全体では、さまざまなソフトウェアコンポーネントが使用されました。[129]
設計上、これらすべてのコンポーネントが慎重に相互作用することが求められますが、それらの間のインターフェースは比較的固定されています。とはいえ、Mesa スタックと相互作用するほとんどのコンポーネントはオープンソースであるため、実験作業は、複数のコンポーネントとそれらの間のインターフェースを同時に変更することによって行われることがよくあります。このような実験が成功した場合、次のメジャー リリースまたはマイナー リリースに組み込むことができます。これは、たとえば 2007 年から 2008 年にかけて開発された DRI 仕様の更新に当てはまります。この実験の結果である DRI2 は、ロックなしで動作し、バック バッファーのサポートが改善されています。このために、Mesa の特別なgitブランチが作成されました。[130]
DRI3は2013年からIntelドライバでサポートされており[131] [132]、2016年からは一部のLinuxディストリビューションでVulkanサポートなどを有効にするためにデフォルトになっています[133]。また、2016年後半からはAMDハードウェアでもデフォルトになっています(X.Org Server 1.18.3以降)。[134]
ソフトウェアレンダラー
Mesa にはswrastと呼ばれるソフトウェア レンダリングの実装も含まれており、グラフィックス ハードウェア アクセラレータが存在しない場合にフォールバックとしてシェーダを CPU 上で実行できます。Gallium ソフトウェア ラスタライザはsoftpipeとして知られており、 LLVMのサポート付きでビルドされている場合はllvmpipeと呼ばれ、実行時に CPU コードを生成します。[135] [136] Mesa 10.x 以降、Softpipe (10.3) と LLVMpipe (10.2) では OpenGL 3.3+ がサポートされています。実際、OpenGL 4.x の機能の約 80% が Mesa 17.3 に実装されています (Mesamatrix を参照)。
Mesa 12.0では、大規模なデータセットのクラスターで大きな利点を持つ新しいIntel Rasterizer OpenSWRが利用可能になりました。これは、ゲームやアート画像よりもエンジニアリングの視覚化に重点を置いており、x86プロセッサでのみ動作します。[137]一方、OpenGL 3.1+がサポートされるようになりました。[138]いくつかの例では、LLVMPIPEに関連する29から51の加速値が測定されました。[139] Mesa 17.1以降、OpenSWRではOpenGL 3.3+がサポートされています。
VirGL は、2015 年から Mesa 11.1 に実装され、OpenGL 3.3 をサポートし、Mesa 18 以降 Mesamatrix に登場した仮想マシン用のラスタライザーです。実際の新しい Mesa 18.2 では、OpenGL 4.3 と OpenGL ES 3.2 を他よりも多くサポートしています。OpenGL 4.4 と 4.5 の機能の約 80% も準備が整っています。Vulkan の開発は GSOC 2018 プロジェクトから始まります。[140] [141] [142] [108] [143] [144] [145]
Mesamatrixの実際のvirGLの状態は、いくつかの必要なLinuxソフトウェアを備えたOpenGL 4.6+とOpenGL ES 3.2+を完全にサポートしています。[146]
D3d12は、Direct3D 12を使用したOpenGL 3.3+およびOpenCL 1.2+のWSL2エミュレーションのためのMicrosoftのプロジェクトです。D3D12は21.0に統合されています。[45] Mesa 23.1の実際の状態は、ほぼ4.4+およびOpenGL ES 3.1+を備えたOpenGL 4.2+です。
Venusは、Googleによる仮想マシンのGPU用の新しいVulkan VirtIO GPUドライバーです。Venusは21.1に統合され、21.2で一般向けに導入されました。[52] VenusはMesa 23.1でVulkan 1.3+をサポートしています。ハードウェアの最小要件は、いくつかの拡張機能を備えたVulkan 1.1です。[147]
メガドライバー
複数のドライバーを 1 つの「メガ」ドライバーにまとめるというアイデアは、Emma Anholt によって提案されました。これにより、共有 Mesa コードの 1 つのコピーを複数のドライバーで使用できるようになります (各ドライバーに個別に存在するのではなく)。また、内部ライブラリ インターフェイスが削除されるため、個別の共有ライブラリよりも優れたパフォーマンスが得られます。[148] VDPAUと XvMCの状態トラッカーは、個別のライブラリになりました。[149]
シェーダーDB
shader-db は、さまざまなコンピューター ゲームやベンチマークから収集された約 20,000 個のシェーダーと、これらをコンパイルして統計を収集するためのスクリプトのコレクションです。Shader-db は、最適化の検証を支援することを目的としています。
予想外の数のシェーダーが手書きではなく、生成されていることがわかりました。つまり、これらのシェーダーは元々HLSLで書かれ、その後HLSL2GLSLなどのトランスレータ プログラムによって GLSL に変換されたということです。問題は、生成されたコードが最適とは程遠いことが多いことです。Matt Turner 氏は、このような肥大化したシェーダーを処理する負担を Mesa のコンパイラに負わせるよりも、トランスレータ プログラムでこれを修正する方がはるかに簡単だと述べました。
shader-db は、フリーでオープンソースのソフトウェアとは言えません。合法的に使用するには、シェーダーが含まれるすべてのコンピューター ゲームのライセンスを取得する必要があります。
ソフトウェアアーキテクチャ



Mesa のいわゆる「ユーザー モード グラフィックス デバイス ドライバー」(UMD) は、一般にデバイス ドライバーと呼ばれるものとほとんど共通点がありません。違いはいくつかあります。
- これらは、Linuxカーネルの一部として利用できる、追加で存在するカーネルモードグラフィックデバイスドライバーの上で動作するように意図されており、各UMDは、特定のライブラリ(libdrm_specific)と汎用ライブラリ(libdrm)
/drivers/gpu/drm/の助けを借りて、カーネルモードの対応するものと通信します。このセクションでは、 libdrmの上のユーザーモード部分のみを見ていきます。 - 例えばOpenGLで規定されている有限状態マシンの実装がいくつかある。このOpenGL状態マシンの実装は複数のUMD間で共有される場合もあれば、そうでない場合もある。
- これらは、例えばGLSLを取り込み、最終的に機械語を出力するコンパイラーの大部分を構成します。パーサーは複数のUMD間で共有することも、特定のUMDにすることもできます。
Mesaの中間表現
Mesa の目標の 1 つは、それぞれの GPU で実行されるコードの最適化です。もう 1 つはコードの共有です。この記事では、ソフトウェアの各部分を文書化するのではなく、コンパイルと最適化のプロセスで使用される中間表現について説明します。「抽象構文木(AST)」と「静的単一代入形式(SSA 形式)」を参照してください。
スピルV
SPIR-V は、 Standard Portable Intermediate Representationの特定のバージョンです。グラフィックス アプリケーションは GLSL ではなく SPIR-V を出力するという考え方です。GLSL とは対照的に、SPIR-V はバイナリであり、異なるドライバ実装の GLSL コンパイラ フロントエンド間の実装の違いを回避します。これがアプリケーションの非互換性とバグの主な原因となっていたためです。また、SPIR-V バイナリは通常、いくつかの一般的な最適化も通過します。SPIR-V のバイナリ表現はある程度の難読化も提供し、これは一部のソフトウェア ベンダーにとって知的財産保護の一形態として魅力的かもしれません。ただし、SPIR-V にはリフレクションのための十分な情報が含まれており、SPIR-V を高品質で人間が判読できる高レベル コードに変換するツールが存在します。UMD は、サポートされているハードウェアに固有の最適化のみを適用する必要があります。
- SPIR-V仕様(暫定)
GLSL IR
- cgit.freedesktop.org/mesa/mesa/tree/src/compiler/glsl/README
- XDC2014、Matt Turner: YouTubeのビデオ、Matt Turner - GLSL コンパイラ: これまでの歩みと今後の展望
- XDC2015、Matt Turner: YouTubeのビデオ、www.x.org/wiki/ Events/XDC2015/Program/turner_glsl_compiler.pdf
メサIR
近赤外線
NIR (New Internal Representation) は、TGSI の制限を克服するために導入されました。[150] [151] NIR は、Spir-V サポートのベースとして最後のリリースと現在のリリースで拡張され、2016 年以降は主要な開発領域となっています。LLVMpipe、i965、RadeonSI、Nouveau、freedreno、vc4 は、TGSI から NIR に変更されました。RADV、Zink、その他の新しいドライバーは NIR から始まります。OpenGL 4.6 を完全にサポートするすべてのドライバーは、SPIR-V サポートによって NIR に関連付けられています。また、AMD r600 には、HD5000 および HD6000 シリーズのサポートを向上させるために NIR とのフォークがあります。r600 のこのオプションは、Mesa 21.0 以降はデフォルトです。
- Connor Abbott - NIR、または Mesa XDC2014 での GLSL IR を超える
- (Mesa-dev) 2014-12-15 mesa の新しい IR、NIR を再導入
- cgit.freedesktop.org/mesa/mesa/tree/src/compiler/nir/README
- fosdem.org/2016/schedule/event/i965_nir/attachments/slides/1113/export/events/attachments/i965_nir/slides/1113/nir_vec4_i965_fosdem_2016_rc1.pdf
- RadeonSI の NIR
- 2018年ヌーボーアップデート
- Mesa 19.3 の NIR 搭載 Nouveau
TGSI
Tungsten Graphics Shader Infrastructure (TGSI) は、2008 年に Tungsten Graphics によって導入されました。すべての Gallium3D スタイルの UMD は TGSI を取り込みます。NIR は現在主要な開発領域であるため、TGSI は r300g のデフォルト インフラストラクチャなどの古いドライバー専用であり、数年後には廃止される予定です。
GLSL-To-TGSI コードは Mesa 22.2 で削除されます。デフォルトは、すべてのネイティブ NIR ドライバーに対して GLSL-to-NIR を使用した新しい NIR-to-TGSI です。一部の古い TGSI ドライバーは、この NIR コード パスでサポートされています。後日、NIR-To-TGSI はネイティブ NIR ドライバーに対してのみ非推奨になります。[152]
LLVM IR
UMD はradeonsiマシンllvmpipeコードを出力せず、代わりに LLVM IR を出力します。ここから、LLVM は最適化とマシン コードへのコンパイルを実行します。つまり、LLVM の特定の最小バージョンもインストールする必要があるということです。
RADV ACO IR
RADV ACO は、NIR に近い独自の IR を使用して、Radeon GPU (GCN 1+、別名 GFX6+) GPU 上の Vulkan SPIR-V シェーダーの最終バイナリ コードを最適化および生成します。バージョン 20.1.0 の時点では、ACO は RADV (Vulkan ドライバー) でのみ使用され、RadeonSI ではまだ使用されていません。
MesaのGLSLコンパイラ
Mesa の GLSL コンパイラは独自の IR を生成します。各ドライバーの LIR に対する要件は大きく異なるため、HIR (高レベル IR) と LIR (低レベル IR) を区別します。
ガリウム3D
| 原作者 | タングステングラフィックス(現VMware) |
|---|---|
| プレビューリリース | 0.4 [153]
/ 2010年4月24日 |
| リポジトリ |
|
| 書かれた | C++、 C、アセンブリ言語 |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | グラフィックライブラリ |
| ライセンス | MITライセンス |
| Webサイト | www.freedesktop.org/wiki/Software/gallium/ |
Gallium3Dは、複数のオペレーティングシステム、レンダリング、またはビデオアクセラレーションAPI用の3Dグラフィックスチップセットのデバイスドライバのプログラミングを容易にすることを目的とした、一連のインタフェースとサポートライブラリ[154]のコレクションです。これは、無料のオープンソースのグラフィックスデバイスドライバソフトウェアです。
機能マトリックスはmesamatrix.netで提供されています。
Gallium3Dの開発は2008年にTungsten Graphicsで開始され、[155]その実装はfreedesktop.orgがホストするMesa 3Dの一部として無料のオープンソースソフトウェアとして提供されています。主な目的は、ドライバー開発を容易にし、複数の異なるドライバーの重複コードを一箇所にまとめ、最新のハードウェアアーキテクチャをサポートすることです。これは、たとえばメモリ管理をカーネルDRIドライバー に任せるなど、より適切な分業体制を提供することで実現されます。
Gallium3Dは2009年からMesaの一部となっており[156]、現在はNvidia(nouveauプロジェクト)用の無料のオープンソースグラフィックドライバー[157] [158]、AMDのR300~R900用の[159] [160] [161]、第8世代以降のiGPU用のIntelの「Iris」ドライバー[162]、その他の無料のオープンソースGPUデバイスドライバーに使用されています。
ソフトウェアアーキテクチャ
Gallium3D は、グラフィックス デバイス ドライバーを 3 つの部分に分割することで、デバイス ドライバーのプログラミングを容易にします。これは、Gallium3D State Tracker インターフェイスとGallium3D WinSys インターフェイスという 2 つのインターフェイスの導入によって実現されます。3つのコンポーネントは次のように呼ばれます。
- Gallium3D ステートトラッカー
- デバイス ドライバーがアドレス指定される各グラフィカルAPIには、独自の状態トラッカーがあります。たとえば、 OpenGL用の Gallium3D 状態トラッカーがあり、 Direct3DまたはGLX用の別の状態トラッカーがあります。各状態トラッカーには Gallium3D 状態トラッカー インターフェイスの実装が含まれており、一意であるため、既存のすべての Gallium3D デバイス ドライバーで共有されます。
- Gallium3D ハードウェア デバイス ドライバー
- これは実際のコードであり、基盤となる 3D グラフィック アクセラレータに固有のものですが、Gallium3D WinSys インターフェイスが許す範囲に限られます。使用可能なグラフィック チップごとに固有の Gallium3D ハードウェア デバイス ドライバーがあり、それぞれが Gallium3D 状態トラッカー インターフェイスと Gallium3D WinSys インターフェイスを実装しています。Gallium3D ハードウェア デバイス ドライバーは、シェーダーを記述するための中間言語である TGSI (Tungsten Graphics Shader Infrastructure) のみを理解します。このコードは、GLSL から TGSI に変換されたシェーダーを、GPU によって実装される命令セットに変換します。
- ガリウム3D WinSys
- これはオペレーティング システムの基礎となるカーネルに固有のものであり、それぞれが Gallium3D WinSys インターフェイスを実装して、利用可能なすべての Gallium3D ハードウェア デバイス ドライバーとインターフェイスします。




従来のグラフィックドライバーとの違い
Gallium3D は、最新のハードウェアに見られるシェーダユニットなどの標準的なハードウェア機能を公開する統一されたAPI を提供します。したがって、 OpenGL 1.x/2.x、OpenGL 3.x、OpenVG、GPGPUインフラストラクチャ、さらにはDirect3D ( Wine互換レイヤーにある) などの 3D API では、Gallium3D API をターゲットとする状態トラッカーと呼ばれる単一のバックエンドのみが必要になります。対照的に、クラシックスタイルの DRI デバイスドライバでは、ハードウェアプラットフォームごとに異なるバックエンドが必要であり、他のいくつかの API では、コードの重複を犠牲にして OpenGL に変換する必要があります。[163] [164] [165]すべてのベンダーのデバイスドライバは、プロプライエタリでクローズドソースであるため、そのように記述されています。たとえば、AMD Catalyst はOpenGLとDirect3D の両方を実装しており、 GeForceのベンダードライバにはそれぞれの実装があります。
Gallium3Dでは、Direct Rendering Manager (DRM)カーネルドライバーがメモリを管理し、Direct Rendering Interface (DRI2)ドライバーはよりGPU処理指向になります。[166]ユーザースペースモード設定からカーネルスペースモード設定への移行期間中、RadeonドライバーやIntelドライバーなどの一部のMesa 3Dドライバーは、最終的にDRI1とDRI2の両方をサポートするようになり、システムで使用可能な場合はDRI2を使用しました。Gallium3Dはさらに、ATi r100-r200などの古いカードでは利用できないレベルのシェーダーサポートを必要とするため、これらのカードのユーザーは3D使用のためにDRI2を搭載したMesa 3Dを使い続ける必要があります。
タングステン グラフィックス シェーダー インフラストラクチャ
Tungsten Graphics Shader Infrastructure ( TGSI ) は、Vulkan APIおよび OpenCL 2.1で使用されるLLVM 中間表現や新しいStandard Portable Intermediate Representation (SPIR)のような中間表現です。OpenGLシェーディング言語で記述されたシェーダーは TGSI に変換/コンパイルされ、最適化が行われ、その後 TGSI シェーダーは使用される GPU の命令セット用のシェーダーにコンパイルされます。
NIR は、SPIR-V を完全にサポートし、2019 年以降、OpenGL 4.6 をサポートするすべての新しいドライバーの主要な開発領域である Mesa の新しいレイヤー表現です。
LLVMの使用

さらに、Gallium3Dのモジュール構造を利用して、LLVMコンパイラスイートを使用してシェーダコードをオンザフライで最適化するモジュールを作成する取り組みが進行中です。 [167]
ライブラリは、Tungsten Graphics Shader Infrastructure (TGSI) と呼ばれる拡張可能なバイナリ中間表現を使用して各シェーダー プログラムを表し、LLVM はそれをターゲット ハードウェア用に最適化されたGLSLシェーダーに変換します。
採択
クリーンルームリバースエンジニアリングを通じて得られた情報に基づいて作成された、または作成中のいくつかの無料およびオープンソースのグラフィックスデバイスドライバーは、Gallium3D が提供するドライバーモデルを採用しています (例: nouveauなど) (完全なリストについては、無料およびオープンソースのグラフィックスデバイスドライバーを参照してください)。主な理由は、Gallium3D ドライバーモデルでは記述する必要のあるコードの量が少なくなるためと考えられます。[独自の研究? ]もちろん、このコードはフリーソフトウェアライセンスでライセンスされているため、誰でもいつでも DRI ドライバーモデルまたはその他のドライバーモデルを実装するように書き直すことができます。
歴史
Gallium3Dのオリジナルの作者は、タングステングラフィックス(2008年にVMwareに買収)のキース・ウィットウェルとブライアン・ポールでした。[168]
マイルストーン
2011年秋時点で、少なくとも10の既知の成熟した動作するGallium3Dドライバーがありました。[169] [検証失敗] [要出典] Nouveauチームという名前のNvidiaグラフィックカード用のオープンソースドライバーは、Gallium3Dフレームワークを使用してドライバーを開発しています。[158] [170]
2008-07-13: Nouveau の開発は Gallium フレームワーク専用に行われます。古い DRI ドライバは Freedesktop.org の Mesa リポジトリのマスター ブランチから削除されました。[171]
2009-02-11: gallium-0.2ブランチがMesaのメインラインマスターブランチに統合されました。[172]開発はMesaメインラインで行われています。
2009-02-25: Gallium3DはLinuxカーネルとFreeBSDカーネルの両方で実行できます。[173]
2009-05-01: Tungsten GraphicsのZack RusinがMesa 3DにOpenVG状態トラッカーを追加しました。 [174]これにより、Scalable Vector GraphicsをGallium3Dベースのドライバーでハードウェアアクセラレーションできるようになりました。
2009-07-17: Mesa3D 7.5がリリースされました。これはGallium3Dを搭載した最初のバージョンです。[175]
2010-09-10: r600gドライバにEvergreen GPUの初期サポートが追加されました。[176]
2010-09-21: ATI ハードウェア用の Gallium3D ドライバーには、それぞれ R300-R500 GPU 用と R600-Evergreen GPU 用の r300g と r600g という 2 つがあります。
2010-09-21: Direct3D 10および11をサポートするためにコードに大きなコミットが行われました。[177]将来的には、Linuxシステムで最新のDirect3D実装を使用できるようになるかもしれません。
2011-11-30: Intel 965gおよびCell Galliumドライバはメンテナンスされておらず壊れているため、Mesaのマスターブランチから削除されました。[178] [179]
2013-11-30: Mesa 10 (OpenGL 3.2、3.3、OpenCL 1.0+ 搭載)
2014-11-18: Direct3D 9をサポートするためにコードに大きなコミットが行われました。[180]
2015-09-15: Mesa 11 と OpenGL 4.0、4.1、OpenCL 1.2 (未完了)
2015-12-15: OpenGL 3.3 搭載仮想マシン用 Mesa 11.1 ドライバー VIRGL
2016-07-08: OpenGL 4.2、4.3、Vulkan 1.0 を搭載した Mesa 12 (Intel ANV および AMD RADV)
2016-11-01: OpenGL 4.4 および OpenGL ES 3.2 を搭載した Mesa 13
2017-02-13: OpenGL 4.5 を搭載した Mesa 17.0 と OpenGL 3.0 および 3.1 を搭載した freedreno ドライバー
2017-05-10: Mesa 17.1 OpenGL 4.2+ for Intel Ivy Bridge (Windows 用 Intel ドライバー以上)、OpenGL 3.3+ for Intel Open SWR Rasterizer (大規模なシミュレーションを行うクラスター コンピューターにとって重要)
2017-12-08: Mesa 17.3 AMD Vulkan ドライバー RADV が Vulkan 1.0 の Khronos テストに完全準拠
2018-05-18: Vulkan 1.1 を搭載した Mesa 18.1 (Intel ANV および AMD RADV)
2018-09-07: Mesa 18.2、Soft Driver VIRGL 用 OpenGL 4.3 (クラウド クラスタ コンピュータの仮想マシンに重要)、Freedreno 用 OpenGL ES 3.1、Adreno A5xx
2019-06-11:第8世代以降のiGPU向けのIntelの次世代「iris」グラフィックドライバーを搭載したMesa 19.1がリリースされました[181]
2019-12-11: Mesa 19.3 は、Intel i965 の Gen 7+ およびオプションの Iris Gen 8+ で OpenGL 4.6 をリリースしました。
2020-03-18: Mesa 20.0 は、Intel 向けの AMD GCN と Vulkan 1.2 を搭載した OpenGL 4.6 をリリースしました。
2020-05-27: Mesa 20.1 は、Clover の OpenCL の NIR ベクトル化サポートと共有仮想メモリ サポートをリリースしました。
2020-11-30: Mesa 20.3、CloverでOpenCL 1.2を完全サポート[41]
2021-03-11: Mesa 21.0 の「D3D12」の初期サポート: OpenGL 3.3+ を搭載した Windows 10 の WSL2 向け Direct 3D 12、ARM Freedreno: OpenGL 3.3+
2021-05-05: Mesa 21.1 が Vulkan 1.2+ を搭載した Google VirtIO GPU ドライバー「Venus」の初期サポートを開始しました。Zink: OpenGL 4.6+、OpenGL ES 3.1+、Qualcomm Turnip、Lavapipe: Vulkan 1.1+
2021-08-04: Mesa 21.2 は、gallium3D をベースにした新しい Intel Crocus OpenGL 4.6 ドライバー、Intel Sandy Bridge、古い i965 用の Haswell、ARM Panfrost 用の Vulkan ドライバー panVK の初期サポートを開始しました。
2022-03-09: Mesa 22.0 は Intel Anvil と AMD RADV による Vulkan 1.3 を完全サポート
2023-05-10: Mesa 23.1 OpenCL with Rust: AMD GCN ハードウェア用の RustiCL が利用可能 (その他のハードウェアは WIP 中) [182]
2023-09-30: Apple Morningstar OpenGL 3.1およびOpenGL ES 3.0を搭載したMesa 23.2、RADVはAMD RDNA 2および3でのレイトレーシングをサポート、Intel Anvil Vulkan H.265デコードをサポート[183]
パフォーマンス
歴史
プロジェクトの発起人であるブライアン・ポールはグラフィックス愛好家だった。彼は、OpenGL APIを使用して簡単な3Dグラフィックスライブラリを実装したら面白いだろうと考え、それをVOGL(非常に普通のGLのようなライブラリ)の代わりに使用できるかもしれないと考えた。[184] 1993年から、彼は18か月間パートタイムで開発を行い、1995年2月にインターネット上でソフトウェアをリリースした。[185]ソフトウェアは好評を博し、人々はその開発に貢献し始めた。 Mesaは、すべての3DコンピュータグラフィックスをCPUでレンダリングすることから始まった。それにもかかわらず、Mesaの内部アーキテクチャは、グラフィックスプロセッサで加速される3Dレンダリングに接続できるように設計されていた。この最初の段階では、レンダリングはディスプレイサーバーで間接的に行われ、いくらかのオーバーヘッドと理論上の最大値よりも明らかに遅い速度が残った。Voodoo Graphicsチップセットを使用したDiamond Monster 3Dは、Mesaがサポートした最初の3Dハードウェアデバイスの1つであった。
最初の真のグラフィックハードウェアサポートは、1997年にMesaに追加されました。これは、当時新しかった3dfx Voodoo I/IIグラフィックカードとその後継機用のGlide APIに基づいています。[129] Glideをアクセラレーションレイヤーとして使用する場合の主な問題は、Glideがフルスクリーンで実行されるという性質で、これはコンピュータゲームにしか適していませんでした。さらに、Glideは画面メモリをロックするため、ディスプレイサーバーは他のGUIタスクを実行できなくなりました。[186]
参照
参考文献
- ^ Marshall, David (2008 年 12 月 16 日)。「VMware による年末の Tungsten Graphics 買収」。InfoWorld。2011年8 月 6 日閲覧。
- ^ "[ANNOUNCE] mesa 24.3.0". 2024年11月21日. 2024年11月21日閲覧。
- ^ 「Linux グラフィック ドライバーの OpenGL サポートの改善 - Mesa」Indiegogo 2013 年 12 月 11 日。2015年1 月 21 日閲覧。
- ^ 「AMD、新たなLinuxドライバー戦略を検討中」。2014年3月22日。 2014年3月23日閲覧。
- ^ 「Direct3D 9 サポートが Gallium3D 経由で Linux 向けにリリースされ、ゲームが実行可能 - Phoronix」。Phoronix.com。2018年8月 1 日閲覧。
- ^ 「mesa/mesa - Mesa 3D グラフィックス ライブラリ」 。2016年11 月 2 日閲覧。
- ^ 「OpenGL vs Mesaマトリックス」 2015年3月25日. 2015年3月29日閲覧。
- ^ 「Mesa 11.0 がブランチ化され、リリース 3 月が始まります」。2015 年 8 月 22 日。2015 年8 月 22 日閲覧。
- ^ ab 「RADV Radeon Vulkan ドライバーがレビューのために提出され、Mesa に同梱される - Phoronix」。2016 年 11 月 4 日時点のオリジナルよりアーカイブ。2016年11 月 3 日閲覧。
- ^ ab 「Mesa 17.0.0 正式リリース」。Phoronix 2017年 2 月 13 日。2017 年2 月 13 日閲覧。
- ^ 「mesa/mesa - Mesa 3D グラフィック ライブラリ」。Cgit.freedesktop.org。2018年8月 1 日閲覧。
- ^ 「Mesa 17.0 の大きな変更点と改善点 - Phoronix」。Phoronix.com。2018年8月 1 日閲覧。
- ^ 「mesa/mesa - Mesa 3D グラフィック ライブラリ」。Cgit.freedesktop.org。2018年8月 1 日閲覧。
- ^ 「プログラム」(PDF) . www.x.org . 2016年。
- ^ 「mesa/mesa - Mesa 3D グラフィック ライブラリ」。Cgit.freedesktop.org。2018年8月 1 日閲覧。
- ^ 「Maxwell 上の Nouveau Mesa 17.0-devel による大幅なパフォーマンス向上の概要 - Phoronix」。Phoronix.com。2018年8 月 1 日閲覧。
- ^ 「Khronos が OpenGL / OpenGL ES 適合性テストをオープンソース化 - Phoronix」。Phoronix.com。2018年8月 1 日閲覧。
- ^ 「Mesa 17.1 の主な機能: Vega、RadeonSI シェーダー キャッシュ、成熟した Vulkan、新しい OpenGL 拡張機能 - Phoronix」。Phoronix.com。2018年8月 1 日閲覧。
- ^ 「Mesa リリースノート」Mesa3d.org . 2018 年8 月 1 日閲覧。
- ^ 「OpenGL vs Mesaマトリックス」mesamatrix.net . 2016年7月31日閲覧。
- ^ 「イベント一覧」(PDF) . www.x.org .
- ^ 「Mesa 17.3 の機能 - Vulkan の更新、パフォーマンスの向上 - Phoronix」。Phoronix.com。2018年8月 1 日閲覧。
- ^ abcdefghijklmnopqr 「リリースカレンダー」Mesa3d.org 2018年8月1日閲覧。
- ^ 「Mesa 18.0 の機能には、OpenGL/Vulkan の多くの改善、Intel Shader Cache と追加機能が含まれます - Phoronix」。Phoronix.com。2018年8月 1 日閲覧。
- ^ ab 「Mesa 18.2 が OpenGL / Vulkan ドライバーの多くの改善を伴ってまもなくリリースされます - Phoronix」。www.phoronix.com。
- ^ 「オープンソース Intel / Radeon グラフィックス ドライバー向け Mesa 18.3 の輝かしい新機能 - Phoronix」www.phoronix.com。
- ^ 「Mesa は 2018 年にオープンソースの Vulkan / OpenGL ドライバーで大きな進歩を遂げました - Phoronix」。www.phoronix.com。
- ^ 「Mesa 19.0 の新機能: Vulkan の追加、FreeSync、ソフト FP64 など - Phoronix」。
- ^ 「Mesa 18.2 vs. 18.3 vs. 19.0 1 月の RadeonSI/RADV ベンチマーク - Phoronix」。
- ^ 「Mesa 19.1 Git で RadeonSI NIR バックエンドを実行する - Phoronix」。
- ^ 「Intel の Iris Gallium3D ドライバーの OpenGL 互換性プロファイルのサポートが強化されました - Phoronix」。
- ^ 「Mesa 19.3 では、オープンソースの OpenGL + Vulkan ドライバーの改良が多数導入されています - Phoronix」。
- ^ 「Mesa 20.0-rc1 が Intel Gallium3D デフォルト、RadeonSI 用 OpenGL 4.6、Vulkan 1.2 とともにリリースされました - Phoronix」。
- ^ 「Mesa 20.0 がリリースされ、Intel、AMD Radeon Vulkan/OpenGL が大幅に改善されました - Phoronix」。
- ^ ab 「Mesa 20.1 の機能には、オープンソースの Intel、Radeon グラフィックス ドライバーの大幅な改善が含まれています - Phoronix」。
- ^ 「Zink は、Vulkan 経由の汎用 GL に対応した OpenGL 3.0 が完成しました - Phoronix」。
- ^ 「Mesa 20.2 の開発は、多数の新機能のリリース後に終了 - Phoronix」。
- ^ 「Mesa 20.2 の Nouveau により HMM が有効になり、OpenCL SVM がサポートされるようになりました - Phoronix」。
- ^ 「Mesa の Vulkan ソフトウェア実装は現在 Lavapipe として知られています」。Phoronix。
- ^ 「V3DV 開発者が Mesa で Raspberry Pi 4 Vulkan ドライバーをアップストリームする計画を発表 - Phoronix」。
- ^ abc 「OpenCL 3.0 に取り組んでいる間に、Mesa の Gallium3D Clover に OpenCL 1.2 サポートが統合されました - Phoronix」。
- ^ 「Mesa 20.3 の Zink が OpenGL 3.3 に対応し、OpenGL-on-Vulkan で Blender を実行できるようになりました - Phoronix」。
- ^ 「Mesa 20.3 で LLVMpipe で OpenGL 4.5 が有効になり、20.2 にバックポートされる予定 - Phoronix」。
- ^ “VALLIUM、Gallium3D の Vulkan フロントエンドとして Mesa 20.3 に統合”.フォロニクス。
- ^ ab "Mesa 21.0 が Direct3D 12 Gallium3D ドライバーを統合 - Phoronix".
- ^ https://xdc2020.x.org/event/9/contributions/621/attachments/701/1297/XDC_-_Mesa_for_Mapping_Layers.pdf 2020年10月30日アーカイブ、Wayback Machine [ URLのみのPDF ]
- ^ 「Microsoft + Collabora が OpenGL/OpenCL を DirectX 12 にマッピングする作業 - Phoronix」。
- ^ 「Mesa、OpenGL 最適化により SPECViewPerf が 2~5 倍高速化 - Phoronix」。
- ^ 「Mesa 21.0 には、特に Radeon オープンソース グラフィックス向けの多くの新機能が搭載されています - Phoronix」。
- ^ 「Mesa 21.1-rc1 が RADV の最適化、Zink の高速化、その他多数の新機能とともにリリースされました - Phoronix」。
- ^ 「Mesa%2021.1 - Phoronix」.
- ^ abc 「Google の VirtIO-GPU「Venus」Vulkan ドライバーが Mesa 21.1 に統合されました - Phoronix」。
- ^ 「Mesa 21.2 が新しい Intel Crocus ドライバー、PanVK、初期の M1 コードとともにリリースされました - Phoronix」。
- ^ 「今年中に Mesa のクラシック OpenGL ドライバーをメインラインから削除する提案が提起される - Phoronix」。
- ^ 「Crocus Gallium3D、Haswell Graphics を通じて Gallium3D i965 向けメインライン Mesa に近づく - Phoronix」。
- ^ 「Amber Branch — Mesa 3D グラフィックス ライブラリの最新ドキュメント」。
- ^ 「Mesa 22.0-rc1 が、多くの Radeon および Intel Linux GPU ドライバー機能、Vulkan 1.3 とともにリリースされました」。
- ^ 「Mesa の「Dozen」が Direct3D 12 経由で Vulkan の提供に近づいています」。
- ^ 「Mesa の Rusticl が公式 OpenCL 3.0 準拠を達成」。
- ^ 「Mesa の Rusticl OpenCL 実装は Radeon の ROCm コンピューティング スタックを上回るパフォーマンスを発揮します」。
- ^ 「Mesa 23.0 の機能開発は、多数の Vulkan の追加で終了」。
- ^ 「オープンソースの Radeon および Intel グラフィックス ドライバー向けに多くの変更を加えた Mesa 23.0 がリリースされました」。
- ^ 「Microsoft の DZN Mesa ドライバーはすでに Vulkan 1.2 に到達」。
- ^ 「Mesa 23.1 が RadeonSI Rusticl-OpenCL、RADV GPL とともにリリースされました」。
- ^ 「Mesa 23.2 Virgl が仮想マシン内で OpenGL 4.6 のサポートを開始」。
- ^ 「Mesa 23.2 は OpenGL 3.1 + GLES 3.0 向けの Asahi AGX Gallium3D の変更を受け取りました」。
- ^ 「Microsoft が Direct3D 12 上で OpenGL 4.6 のサポートを有効化」
- ^ 「リリース ノート - Mesa 3D グラフィックス ライブラリの最新ドキュメント」。
- ^ 「Mesa 23.1 リリース - Phoronix」。
- ^ Larabel, Michael (2015 年 3 月 4 日). 「Gallium3D から OpenVG サポートが削除されました」. Phoronix . 2015 年7 月 11 日閲覧。
- ^ 「St/Vega: 削除。 (3acd7a34) · コミット · Mesa / Mesa · GitLab」。2015年3月3日。
- ^ 「「9」状態トラッカーの最新パッチ」Cgit.freedesktop.org 2016年2月4日。
- ^ Larabel, Michael (2014 年 12 月 14 日). 「Mesa 10.4 が Direct3D 9 ステート トラッカーを搭載して正式リリース」. Phoronix . 2015 年7 月 11 日閲覧。
- ^ 「Mesa 23.0 リリース - Phoronix」。
- ^ 「Mesa 22.3 リリース - Phoronix」。
- ^ 「Mesa 22.2 リリース - Phoronix」。
- ^ 「Mesa 22.1 リリース - Phoronix」。
- ^ 「Mesa 22.0 リリース - Phoronix」。
- ^ 「Mesa 21.3 リリース - Phoronix」。
- ^ 「Mesa 21.2 が新しい Intel Crocus ドライバー、PanVK、初期の M1 コードとともにリリースされました - Phoronix」。
- ^ 「Mesa 21.1 が RADV 可変レート シェーディングと Intel Vulkan のさらなる改善とともにリリースされました - Phoronix」。
- ^ 「Mesa 21.0 が多数の RADV 改善、新しい Vulkan 拡張機能、多くの修正を伴ってリリースされました - Phoronix」。
- ^ 「オープンソース グラフィックス ドライバーの大幅な改善を伴った Mesa 20.3 がリリースされました - Phoronix」。
- ^ 「Mesa 20.2.2 がランダムな修正を加えてリリースされました - Phoronix」。
- ^ 「RadeonSI NIR ベンチマークは Mesa 20.0 で大きな進歩を示しています - Phoronix」。
- ^ 「Mesa 19.3-RC1 が Intel 向け OpenGL 4.6 および Vulkan ドライバーの多数の改善とともにリリースされました - Phoronix」。
- ^ 「Mesa 19.3 では、オープンソースの OpenGL + Vulkan ドライバーの改良が多数導入されています - Phoronix」。
- ^ 「Mesa 18.0 は、多くの Vulkan/OpenGL ドライバーの改善を伴って本日リリース予定 - Phoronix」。Phoronix.com。2018年8 月 1 日閲覧。
- ^ 「GalliumCompute」Dri.freedesktop.org . 2019年1月24日閲覧。
- ^ 「Clover Status Update」(PDF) . 2020年3月27日閲覧。
- ^ "[Mesa-announce] mesa 17.0.0". 2017年2月13日. 2017年2月13日閲覧。
- ^ "[Mesa-announce] mesa 13.0.0". 2016年11月. 2016年11月2日閲覧。
- ^ ab 「Mesa 12.0 が OpenGL 4.3 サポート、Intel Vulkan およびその他多数の機能とともにリリースされました」。2016 年 7 月 8 日。2016年7 月 8 日閲覧。
- ^ "[Mesa-announce] Mesa 11.2.0". 2016年4月4日. 2016年4月4日閲覧。
- ^ “[Mesa-発表] Mesa 11.1.0”. 2015 年 12 月 15 日。2015 年12 月 15 日に取得。
- ^ "[Mesa-announce] Mesa 11.0.0". 2015年9月12日. 2015年9月26日閲覧。
- ^ 「[Mesa-announce] Mesa 10.6.0」。2015年6月15日。 2015年6月15日閲覧。
- ^ Larabel, Michael (2013 年 10 月 26 日). 「Mesa 10.0 で注目すべき機能」. Phoronix .
- ^ 「[Mesa-announce] Mesa 10.5.0」。2015年3月7日。 2015年3月7日閲覧。
- ^ 「[Mesa-announce] Mesa 10.4.0 リリース」 2014 年 12 月 14 日。 2015 年3 月 7 日閲覧。
- ^ 「[Mesa-announce] Mesa 10.3 リリース」 2014 年 9 月 19 日. 2015 年3 月 7 日閲覧。
- ^ 「[Mesa-announce] Mesa 10.2 リリース」 2014 年 6 月 7 日. 2015 年3 月 7 日閲覧。
- ^ 「[Mesa-announce] Mesa 10.1 リリース」 2014 年 3 月 5 日。 2015 年3 月 7 日閲覧。
- ^ 「[Mesa-announce] Mesa 10.0 リリース」 2013 年 12 月. 2015 年3 月 7 日閲覧。
- ^ 「コアのダイナミック レンダリングと最新 GPU 向けの新しいロードマップ ガイダンスを備えた Vulkan 1.3 がリリースされました」。
- ^ 「プログラム」(PDF) . www.x.org .
- ^ 「Radeon Vulkan ドライバーが Mesa に追加され、Radeon Vulkan と OpenGL のベンチマークが新しくなり、AMDGPU-PRO も公開 - Phoronix」。Phoronix.com。2018年8月 1 日閲覧。
- ^ ab 「Vulkan Virgl が VM 内でこのグラフィックス/コンピューティング API のサポートを開始 - Phoronix」。www.phoronix.com。
- ^ 「Lavapipe CPU ベースの Vulkan が Windows に移植されました - Phoronix」。
- ^ 「オープンソースの Qualcomm「TURNIP」Vulkan ドライバーが重要なパフォーマンス機能を追加 - Phoronix」。
- ^ 「TURNIP Vulkan ドライバーが Qualcomm の KGSL で稼働中 - Phoronix」。
- ^ 「Raspberry Pi 4 Vulkan ドライバー「V3DV」が Mesa 20.3 に統合されました - Phoronix」。
- ^ 「PanVK は今のところ Vulkan 1.1 の宣伝を中止」
- ^ 「Microsoft の「DZN」Mesa コードが 99.75% 以上の Vulkan 1.0 準拠を達成」。
- ^ 「「Dozen」がMesaに統合され、Direct3D 12でVulkanを実装」
- ^ 「Android の明示的なフェンシングをメインラインに導入」LWN.net 2016 年 10 月 5 日。
- ^ 「Debian リポジトリの libgbm」。Packages.debian.org。
- ^ 「Mesa 以外のグラフィック ドライバー実装による代替ウィンドウ システムの有効化」X.org。
- ^ 「NVIDIA がデバイス メモリ アロケータ プロジェクトに関するフィードバックを求めています」。Phoronix。
- ^ “Nouveau Video Acceleration”. freedesktop.org。
- ^ 「Radeon 機能マトリックス」. freedesktop.org .
- ^ 「Fedora Linux、法的な懸念からMesaのH.264 / H.265 / VC1 VA-APIサポートを無効化」Phoronix 2022年10月1日閲覧。
- ^ トラル、イアーゴ (2014 年 8 月 8 日)。 「メサへのダイブ」。2016 年5 月 19 日に取得。
- ^ 「ダイレクトレンダリングインフラストラクチャステータスページ」。freedesktop.org。
- ^ 「Linux マシンでゲームのパフォーマンスを向上させる方法 - APC」。Apcmag.com。2013年 7 月 25 日。2019 年 1 月 25 日時点のオリジナルよりアーカイブ。2018年8 月 1 日閲覧。
- ^ 「Linux: Mesa、Gallium3D、Nouveau、NVIDIA ドライバー、OpenGL テスト (GTX 280、GTX 480、GTX 580) – Geeks3D」。Geeks3d.com。2012年1 月 10 日。2018 年8 月 1 日閲覧。
- ^ 「Nouveau ドライバーは NVIDIA の公式ドライバーよりずっと遅いまま - Phoronix」。Phoronix.com。2018年8月 1 日閲覧。
- ^ 「Intel/NVIDIA/AMD、オープンソース/クローズドソースのLinux GPUドライバーのパフォーマンスで競争 - Phoronix」。Phoronix.com 。 2018年8月1日閲覧。
- ^ abc Paul, Brian (2000年8月10日). 「ダイレクトレンダリングインフラストラクチャの紹介」. Dri.sourceforge.net . 2018年3月16日時点のオリジナルよりアーカイブ。2012年1月25日閲覧。
- ^ "DRI2". X.org. 2013年4月16日時点のオリジナルよりアーカイブ。2012年1月25日閲覧。
- ^ 「DRI3と現在 [LWN.net]」lwn.net . 2018年8月1日閲覧。
- ^ 「[PATCH 0/6] Core および i965 ドライバーに DRI3000 サポートを追加」。Lists.freedesktop.org。2013 年 10 月 31 日。2018 年8 月 1 日閲覧。
- ^ 「xorg-x11-drv-intel-2.99.917-19.20151206.fc23 dri3 をデフォルトで (再)有効化 - kde - Fedora メーリングリスト」。lists.fedoraproject.org。2016年12月 3 日閲覧。
- ^ 「Radeon-AMDGPU-1.19-Updates」。Google.de 。 2016年12月3日閲覧。
- ^ 「LLVMpipe: OpenGL と Gallium3D を CPU で利用」Phoronix.com 2010 年 4 月 30 日。2014年11 月 4 日閲覧。
- ^ "llvmpipe". mesa3d.org . 2015年6月8日閲覧。
- ^ “OpenSWR”. openswr.org . 2018年8月1日閲覧。
- ^ 「Mesamatrix: OpenGL vs Mesaマトリックス」mesamatrix.net . 2018年8月1日閲覧。
- ^ “OpenSWR”. openswr.org . 2018年8月1日閲覧。
- ^ “Mesa (Master): Virgl: virtio-gpu 3D (V2) 用ドライバーを追加”. 2018年8月28日時点のオリジナルよりアーカイブ。2018年8月28日閲覧。
- ^ 「Mesa の VirGL OpenGL 機能の追跡 - Phoronix」。www.phoronix.com。
- ^ 「Mesa の VirGL が OpenGL 4.2 をサポートし、ゲスト VM を提供 - Phoronix」www.phoronix.com。
- ^ 「Virgl3D の現在のパフォーマンス、将来の計画 - Phoronix」。www.phoronix.com。
- ^ 「仮想世界の新機能とは?」(PDF) 。 2018年10月1日時点のオリジナルよりアーカイブ(PDF) 。 2023年11月19日閲覧。
- ^ https://archive.fosdem.org/2019/schedule/event/virtual_gpu/attachments/slides/3353/export/events/attachments/virtual_gpu/slides/3353/Virgl_Presentation_FOSDEM2019.pdf [ベア URL PDF ]
- ^ 「VirGL — Mesa 3D グラフィックス ライブラリの最新ドキュメント」。
- ^ 「Virtio-GPU Venus — Mesa 3D グラフィックス ライブラリの最新ドキュメント」。
- ^ “DRI メガドライバー”. X.org。 2013 年 9 月 25 日。
- ^ 「VDPAU と XvMC の状態トラッカーは別のライブラリになりました」。Phoronix.com。2014年 6 月 23 日。
- ^ 「はじめに — NIR 0.0.1 ドキュメント」
- ^ "NIR: Mesa 用の新しいコンパイラー IR".
- ^ 「Mesa が古い GLSL-To-TGSI の廃止を準備 - 大規模なコード削除、パフォーマンスと修正の勝利」。
- ^ 「ビルド構成ファイル」。cgit.freedesktop.org。Galliumドキュメント。
- ^ Fonseca, José (2008年4月27日). 「Gallium3D: Introduction」 . 2014年6月20日閲覧。
- ^ Fonseca, José. 「MESA3D.org: はじめに」 。2016年10 月 28 日閲覧。
- ^ 「Gallium3D が Mesa のメインライン コードベースに登場!」Phoronix 2009 年 2 月 11 日。2010年10 月 26 日閲覧。
- ^ 「Nouveauの現状、パート2」LWN.net 2008年2月26日2008年3月7日閲覧。
- ^ ab "Nouveau Companion 36". Nouveau.freedesktop.org . 2008年3月7日. 2013年3月7日時点のオリジナルよりアーカイブ。 2008年4月1日閲覧。
- ^ 「ATI R300 Gallium3D DRI サポートは「完了」」。Phoronix 2009 年 11 月 9 日。2010年11月 15 日閲覧。
- ^ 「Radeon "R600g" Gallium3D ドライバー が[Mesa] Master に統合」。Phoronix 2010 年 5 月 27 日。2010年10 月 26 日閲覧。
- ^ “X.Org Wiki GalliumStatus”. Xorg。 2010 年 9 月 22 日。2010 年12 月 7 日に取得。
- ^ 「iris: Intel Gen8+ GPU 用の新しい実験的な Gallium ドライバーを追加 (!283) · マージリクエスト · Mesa / mesa」。GitLab。2019年 2 月 20 日。2019年9 月 21 日閲覧。
- ^ 「TG-Gallium3D」。タングステングラフィックス。2008年5月3日時点のオリジナルよりアーカイブ。2008年4月1日閲覧。
- ^ Rusin, Zack (2008 年 2 月 6 日). 「GPGPU」 . 2008 年4 月 1 日閲覧。
- ^ Rusin, Zack (2008 年 2 月 7 日). 「OpenVG と 2D の高速化」 . 2008 年4 月 1 日閲覧。
- ^ 「DRI2」 2007年10月4日。2008年7月4日時点のオリジナルよりアーカイブ。2008年4月1日閲覧。
- ^ Rusin, Zack (2007 年 11 月 2 日). 「Gallium3D LLVM」 . 2008 年4 月 1 日閲覧。
- ^ Marshall, David (2008 年 12 月 16 日)。「VMware による年末の Tungsten Graphics 買収」。InfoWorld。
- ^ 「Gallium」. Freedesktop.org . 2011年11月2日. 2012年8月24日閲覧。
- ^ 「Nouveau Companion 37」。Nouveau.freedesktop.org。2008年3月21日。2012年2月8日時点のオリジナルよりアーカイブ。2008年4月1日閲覧。
- ^ 「nouveau: 古い DRI ドライバーに別れを告げましょう... (FDO 上の cgit)」。Cgit.freedesktop.org。2008年 7 月 13 日。
- ^ 「Gallium3D が Mesa のメインライン コードベースに登場!」Phoronix.com 2009 年 2 月 11 日。
- ^ Larabel, Michael (2009 年 2 月 25 日). 「Gallium3D、EGL が FreeBSD でビルド可能に」. Phoronix .
- ^ 「OpenVG 状態トラッカーは Mesa 3D に搭載されています」。Sourceforge.net。2009年5 月 1 日。
- ^ 「Mesa 7.5 リリースノート / 2009 年 7 月 17 日」。Mesa3d.org。2009年 7 月 17 日。2010 年 6 月 13 日時点のオリジナルよりアーカイブ。2017年9 月 12 日閲覧。
- ^ 「r600g: 初期のエバーグリーン サポートを追加 (FDO 上の cgit)」。Cgit.freedesktop.org。2010年 9 月 10 日。
- ^ 「d3d1x: Gallium 用の新しい Direct3D 10/11 COM 状態トラッカーを追加」。Cgit.freedesktop.org。2010年 9 月 21 日。
- ^ Larabel, Michael (2011 年 11 月 30 日). 「Gallium3D Intel 965 ドライバーが廃止される」. Phoronix . p. 1. 2011 年12 月 1 日閲覧。
- ^ Larabel, Michael (2011 年 11 月 30 日). 「Gallium3D セル ドライバーも削除される」. Phoronix . p. 1. 2011 年12 月 1 日閲覧。
- ^ 「nine: Direct3D9 (v3) 用の状態トラッカー 9 を追加」。Cgit.freedesktop.org。2014年11 月 18 日。
- ^ 「Mesa 19.1 が実験的な Intel Gallium3D およびその他の新しい GL/VLK ドライバーとともにリリースされました - Phoronix」。www.phoronix.com。2019年9 月 21 日閲覧。
- ^ 「Mesa 23.1 が RadeonSI Rusticl-OpenCL、RADV GPL とともにリリースされました」。
- ^ 「Mesa 23.2 の機能開発は多数の新しい Vulkan 拡張機能で完了」。
- ^ 「Mesa の紹介」Mesa チーム。2015 年 5 月 4 日時点のオリジナルよりアーカイブ。2015 年6 月 8 日閲覧。
- ^ 「プロジェクト履歴」。Mesaドキュメント。2021年3 月 11 日閲覧。
- ^ 「Glide と DRI の関係は?」dri.freedesktop.org 。2012年1 月 25 日閲覧。
外部リンク
- 公式サイト
- エッジ、ジェイク (2013 年 10 月)。「メサの歴史」
Gallium3Dの外部リンク
- freedesktop.org - Gallium3D、Gallium3D の現状に関する記事
- ホセ、フォンセカ (2008 年 4 月)、Gallium3D の概要
- ルシン、ザック(2007年9月21日)、Gallium3D
- コルベット、ジョナサン(2007 年 11 月)、グラフィックス プロセッサのメモリ管理
- 汎用 GPU アクセラレーション ビデオ デコード、Gallium を使用した Google Summer of Code 2008 プロジェクト、2008 年 7 月 31 日のオリジナルからアーカイブ
- Rusin, Zack (2008)、Gallium3D: Graphics Done Right (PDF) (プレゼンテーション)、Akademy
- Rusin, Zack (2008)、Gallium3D: Graphics Done Right (プレゼンテーション)、Akademy 、 2011年1月1日にオリジナル(ビデオ)からアーカイブ
- Gallium3D の AROS および Haiku への移植に関する最新情報(PDF)、FOSDEM 2010、2010 年 2 月 7 日
- ^ 「管理者ガイド README」。Kernel.org git リポジトリ。
