Windows ディスプレイ ドライバー モデル( WDDM、[1]当初はLonghorn ディスプレイ ドライバー モデルとしてLDDM、その後Windows Vista の時代にはWVDDM ) は、 Windows Vista以降のMicrosoft Windowsバージョンを実行するビデオ カードドライバーのグラフィック ドライバーアーキテクチャです。[2]
これは、以前のWindows 2000およびWindows XPディスプレイドライバモデルXDDM/XPDM [3]の代替であり、より優れたパフォーマンスのグラフィックスと新しいグラフィックス機能と安定性を実現することを目的としています。[2] Windows VistaおよびWindows 7のディスプレイドライバは、 WDDMまたはXDDMのいずれかに準拠することを選択できます。[4]ただし、 Windows 8からXDDMが削除されたため、WDDMが唯一の選択肢になりました。[5]
WDDM は、 Direct3D上で実行される合成ウィンドウマネージャーである Desktop Window Manager を使用して、デスクトップとアプリケーションをレンダリングするために必要な機能を提供します。また、基本的なデバイスの管理と作成に必要な新しいDXGIインターフェイスもサポートしています。WDDM 仕様では、少なくとも Direct3D 9 対応のビデオ カードが必要であり、ディスプレイ ドライバーは、従来の Direct3D アプリケーションを実行するために、Direct3D 9Ex ランタイム用のデバイス ドライバー インターフェイスを実装する必要があります。オプションで、 Direct3D 10以降 のランタイム インターフェイスを実装することもできます。
WDDMによって有効化される機能
WDDM ドライバーは、以前のディスプレイ ドライバー モデルでは均一に提供されていなかった機能領域を有効にします。これには次のものが含まれます。
仮想化ビデオメモリ
グラフィックスのコンテキストでは、仮想化とは、コマンド ストリームに偽造コマンドを挿入することによっても、個々のプロセス (ユーザー モード) が隣接プロセスのメモリを参照できないことを意味します。WDDM ドライバーを使用すると、ビデオ メモリを仮想化し、 [6]ビデオ データをビデオ メモリからシステム RAM にページ アウトできます。使用可能なビデオ メモリがすべてのビデオ データとテクスチャを格納するのに不十分であることが判明した場合、現在使用されていないデータはシステム RAM またはディスクに移動されます。スワップ アウトされたデータが必要になると、フェッチバックされます。仮想化は、以前のドライバー モデル (XP ドライバー モデルなど) でもある程度サポートされていましたが、ランタイム レベルで処理されるのではなく、ドライバーの責任でした。
スケジュール
ランタイムは、同時実行グラフィックス コンテキストのスケジュールを処理します。[7]各コマンド リストはGPUによる実行のためにキューに入れられ、より重要なタスクが到着し、実行が開始されていない場合は、ランタイムによってプリエンプトされます。これは、1 つのタスクを中断できないため、必要以上に時間がかかり、コンピューターの応答性が低下する可能性がある CPU 上のネイティブ スレッドとは異なります。ネイティブ スレッドと軽量スレッド間のハイブリッド スケジューリングアルゴリズムとスレッド間の連携により、シームレスな並列処理が実現されます。スケジューリングは新しい概念ではありませんが、以前は個々のドライバー開発者の責任であったことに注意することが重要です。WDDM は、GPU タスクの実行を制御することで、異なるベンダー間でのエクスペリエンスを統一しようとします。
Direct3D サーフェスのプロセス間共有
Direct3Dグラフィックス サーフェスは、 2D または 3D シーンのレンダリングに使用されるテクスチャメッシュに関する情報を含むメモリ領域です。WDDM を使用すると、プロセス間で Direct3D サーフェスを共有できます。[8]したがって、アプリケーションは、別のアプリケーションによって作成されたメッシュをレンダリングするシーンに組み込むことができます。WDDM 以前は、プロセス間でテクスチャを共有することは困難でした。これは、データをビデオ メモリからシステム メモリにコピーし、新しいデバイスのビデオ メモリに戻す必要があったためです。
強化されたフォールトトレランス


WDDMドライバーがハングしたり障害が発生すると、グラフィックススタックはドライバーを再起動します。[2] [9]グラフィックスハードウェア障害は傍受され、必要に応じてドライバーがリセットされます。
Windows XP のドライバーは、ハードウェア障害をユーザーに報告するか、サイレントに回復を試みるなど、必要に応じて自由に対処できました。ディスプレイ ドライバーを安全に停止できる場合、Windows XP は代わりにディスプレイ ドライバーのクラッシュについて警告し、ビデオ ドライバーも無効にして、画面解像度を 640x480 に下げ、16 色のみに切り替えます。WDDM ドライバーでは、画面解像度はほとんど影響を受けません。すべてのハードウェア障害が発生するとドライバーがリセットされ、ポップアップでユーザーに通知されます。これにより、ベンダー間で動作が統一されます。
以前のドライバーはカーネル モードで完全に実装されていましたが、WDDM はユーザー モードで部分的に実装されています。ユーザー モード領域で回復不能なエラーが発生した場合、以前のドライバー モデルのようにブルー スクリーン エラーが発生するのではなく、せいぜいアプリケーションが予期せず終了するだけです。
WDDMでは、グラフィックスハードウェアをリセットし、再起動せずにドライバーを更新することもできます。[2]
制限事項
新しいドライバモデルでは、固定機能パイプラインが2.0シェーダーに変換されるため、グラフィックスハードウェアが少なくともシェーダーモデル2.0をサポートしている必要があります。ただし、2009年時点でのMicrosoftによると、Windows Vistaを実行しているハードウェアの約1〜2%のみがXDDMを使用しており、[10]残りはすでにWDDMに対応しています。また、他のハードウェア機能も必要であり、その結果、 Intel GMA 900などのSM 2.0をサポートするハードウェアの一部はWDDM認定に合格しません。[11]
WDDM ドライバー モデル バージョン 1.0 の制限の 1 つは、マルチ アダプター、マルチ モニター セットアップで複数のドライバーをサポートしていないことです。マルチ モニター システムに複数のグラフィック アダプターがあり、モニターに電力を供給している場合、両方のアダプターで同じ WDDM ドライバーを使用する必要があります。複数のドライバーが使用されている場合、Windows はそのうちの 1 つを無効にします。[12] WDDM 1.1 にはこの制限はありません。[13]
WDDM 1.0/1.1では、スパニングモード(デスクトップを2台のモニターにまたがって広げる) [14] [15]など、以前はドライバーによって処理されていた一部のモードは許可されませんが、デュアルビューは引き続き利用可能です。[12] [16]
新しいディスプレイドライバモデルの必要性
Windows ディスプレイ ドライバー モデルによって可能になる主なシナリオの 1 つは、デスクトップ ウィンドウ マネージャーです。DWM によって管理されるデスクトップおよびアプリケーション ウィンドウは Direct3D アプリケーションであるため、開いているウィンドウの数は、必要なビデオ メモリの量に直接影響します。開いているウィンドウの数に制限がないため、使用可能なビデオ メモリが不足し、仮想化が必要になる場合があります。DWM が最終的なデスクトップに構成するウィンドウ コンテンツはさまざまなプロセスによって生成されるため、プロセス間のサーフェス共有が必要です。また、DWM 管理デスクトップでは DWM と並行して他の DirectX アプリケーションが実行されている可能性があるため、これらのアプリケーションは GPU に共有でアクセスできる必要があり、スケジュール設定が必要になります。
これは、Microsoft の Windows Vista での複合デスクトップの実装には当てはまりますが、一方で、複合デスクトップは、理論的には、期待どおりに動作するために新しいディスプレイ ドライバー モデルを必要としません。複合デスクトップの実装は、Windows Vista 以前にQuartz、Compiz、WindowFXなどの他のプラットフォームで成功していました。Microsoft が試みたアプローチは、機能とパフォーマンスを標準化することで、WDDM が複数のベンダーのさまざまな GPU 間で統一されたエクスペリエンスになるようにすることでした。他のドライバー モデルに欠けているソフトウェア機能は、拡張機能によって、または制限の少ないドライバー モデルや単に異なるドライバー モデルを導入することで、重要ではなくなる可能性があります。
歴史
WDDM1.0 について
Windows Vista では、パフォーマンスと信頼性が向上し、HDCPなどの新しいテクノロジをサポートするように設計された新しいディスプレイ ドライバー アーキテクチャとして WDDM 1.0 が導入されました。停電時の安定性を高めるために休止状態とスリープ モードの機能を組み合わせたハイブリッド スリープにも WDDM が必要です。 [2] [なぜ? ]
WDDM1.1 について
Windows 7はWDDM 1.1として知られるWDDMへの主要な追加機能をサポートしています。この新バージョンの詳細はWinHEC 2008で発表されました。新しい機能には以下が含まれます: [10]
- DXGI 1.1は、 GDI [17](GDI+は除く)およびDirect2D / DirectWriteで使用するためのハードウェア2Dアクセラレーションの復活を特徴としている。
- Direct3D 11 デバイス ドライバーインターフェイス (DDI)
- OpenGLインストール可能なクライアント ドライバー (ICD)
- DXVA-HDDDI [ 18]
- ハードウェアビデオオーバーレイDDI [19]
- オプションのAES 128暗号化
- 暗号化されたビデオコンテンツのデコード(オプション)
- マルチアダプタおよびマルチモニタ設定で複数のドライバをサポートする[10] [20]
GDIおよびDirect2D/DirectWrite操作のハードウェアアクセラレーションは、 Windows VistaのようにDWM合成エンジンがGDI/GDI+が使用するすべてのサーフェスのシステムメモリコピーを保持する必要がなくなったため、Windows 7ではメモリフットプリントの削減に役立ちます。[21] [22] [23]
DXGI 1.1、Direct3D 11、Direct2D、DirectWriteはWindows Vista Platform Updateで利用可能になりましたが、VistaのGDI/GDI+は引き続きソフトウェアレンダリングに依存しており[24] 、デスクトップウィンドウマネージャーは引き続きDirect3D 9Exを使用しています。[25]
WDDM 1.1 ドライバは WDDM 1.0 仕様と下位互換性があり、プラットフォーム更新の有無にかかわらず、1.0 ドライバと 1.1 ドライバの両方を Windows Vista で使用できます。[10]
WDDM1.2 について
Windows 8にはWDDM 1.2 [26] [27]とDXGI 1.2 [27] [28]が含まれています。新しい機能はBuild 2011カンファレンスで初めてプレビューされ、パフォーマンスの向上や立体3Dレンダリングとビデオ再生のサポートが含まれています。
その他の主な機能としては、より細かい粒度(DMAバッファ、プリミティブ、トライアングル、ピクセル、または命令レベル)でのGPUのプリエンプティブマルチタスク、 [29]メモリフットプリントの削減、リソース共有の改善、およびタイムアウトの検出と回復の高速化などがあります。16ビットカラーサーフェスフォーマット(565、5551、4444)はWindows 8で必須であり、Direct3D 11ビデオは、8、10、16ビット精度のYUV 4:4:4/4:2:2/4:2:0/4:1:1ビデオフォーマット、および4および8ビットのパレット化フォーマットをサポートしています。[30]
WDDM 1.2は、 Microsoft Basic Display Driver [31]やカーネルモードVGAドライバーに代わるWARPベースのMicrosoft Basic Render Driverなど、表示のみとレンダリングのみのWDDMドライバーをサポートしています。
WDDM 1.0/1.1では、「バッチキュー」粒度を使用した基本的なタスクスケジューリングのみが可能です。マルチタスクの改善、高速コンテキスト切り替え、仮想メモリのサポートは、当初はWinHEC 2006で発表された暫定的にWDDM 2.0およびWDDM 2.1と名付けられたバージョンで期待されていました。[32] [33] [34]
WDDM1.3 について
Windows 8.1にはWDDM 1.3 [35]とDXGI 1.3 [36]が含まれています。 DXGIアダプターのメモリ使用量の削減、マルチプレーンオーバーレイ、オーバーラップスワップチェーンとスワップチェーンスケーリング、スワップチェーンのバックバッファーサブ領域の選択、低レイテンシのスワップチェーンプレゼンテーションなどの新機能が追加されました。 ドライバー機能の追加には、ワイヤレスディスプレイ(Miracast)、YUVフォーマットの範囲、クロスアダプターリソース、GPUエンジン列挙機能などがあります。 グラフィックスカーネルのパフォーマンスが向上しました。[1]
WDDM2.0 について
Windows 10にはWDDM 2.0が含まれており、これは仮想メモリアドレッシングをサポートするGPUのカーネルモードドライバーのワークロードを大幅に削減し、[37]ユーザーモードドライバーでマルチスレッド並列処理を可能にし、CPU使用率を低下させるように設計されています。[38] [39] [40] [41] Windows 10にはDXGI 1.4も含まれています。[42]
Build 2014で発表された Direct3D 12 API には、WDDM 2.0 が必要です。新しい API により、自動リソース管理およびパイプライン管理タスクが廃止され、開発者はアダプタ メモリとレンダリング状態を完全に低レベルで制御できるようになります。
Windows 8.1とWindows Phoneのディスプレイドライバーモデルは、Windows 10の統一モデルに統合されました。[43]
各 GPU にプロセスごとの仮想アドレス空間を提供する新しいメモリ モデルが実装されています。ビデオ メモリの直接アドレス指定は、それを必要とするグラフィックス ハードウェアに対して WDDMv2 によって引き続きサポートされていますが、これはレガシー ケースと見なされます。IHV は、仮想アドレス指定をサポートする新しいハードウェアを開発することが期待されています。この新しいメモリ モデルを有効にするために、DDI に大幅な変更が加えられました。
WDDM2.1 について
Windows 10 Anniversary Update(バージョン1607)には、Shader Model 6.0(機能レベル12_0および12_1に必須)をサポートするWDDM 2.1と、ITU-T Rec. 2100 / Rec.2020で定義された10ビットの高ダイナミックレンジ、広色域フォーマット[45]であるHDR10と可変リフレッシュレートをサポートするDXGI 1.5が含まれています。[46]
WDDM2.2 について
Windows 10 Creators Update(バージョン1703)には、 Windows Mixed Realityプラットフォームの立体レンダリングによる仮想現実、拡張現実、複合現実向けにカスタマイズされたWDDM 2.2とDXGI 1.6が含まれています。[47]
WDDM2.3 について
Windows 10 Fall Creators Update(バージョン1709)にはWDDM 2.3が含まれています。以下は、Windows 10バージョン1709のWindowsディスプレイドライバー開発の新機能の一覧です。[48]
- シェーダーモデル6.1では、ビューインスタンス化と重心セマンティクスのサポートが追加されました。[49]
- ディスプレイ カラースペース変換 DDI は、合成後のディスプレイ パイプラインで適用されるカラースペース変換をさらに制御します。
- D3D12 コピー キュー タイムスタンプ クエリ機能により、アプリケーションは COPY コマンド リスト/キューに対してタイムスタンプ クエリを発行できるようになります。これらのタイムスタンプは、他のエンジンのタイムスタンプと同じように機能するように指定されています。
- ハードウェアアクセラレーションによるビデオデコード、コンテンツ保護、ビデオ処理を通じて、Direct3D12 ランタイムへのビデオ統合が強化されました。
WDDM2.4 について
Windows 10 April 2018 Update(バージョン1803)にはWDDM 2.4が含まれています。Windows 10バージョン1803のディスプレイドライバー開発の更新には、次の機能が含まれています[50]。
- シェーダーモデル6.2では、16ビットスカラーのサポートと非正規値による動作を選択する機能が追加されました。[51]
- 間接ディスプレイ UMDF クラス拡張により、ドライバーは SRM をレンダリング GPU に渡し、使用されている SRM バージョンを照会するメカニズムを備えることができます。
- IOMMU ハードウェアベースの GPU 分離サポート。システム メモリへの GPU アクセスを制限することでセキュリティを強化します。
- GPU 準仮想化のサポートにより、ディスプレイ ドライバーは Hyper-V 仮想化環境にレンダリング機能を提供できるようになります。
- 明るさ: 複数のディスプレイをサポートし、調整された nit ベースの明るさレベルに設定できる新しいインターフェイスです。
- D3D11 ビットストリーム暗号化。8 バイトまたは 16 バイトの初期化ベクトルを使用して CENC、CENS、CBC1、および CBCS を公開します。
- D3D11 および D3D12 ビデオ デコード ヒストグラム。ヒストグラムの固定機能ハードウェアを活用して、HDR/EDR シナリオのトーン マッピング品質を向上させることができます。
- D3D12 ビデオ デコードはDecode Tier II をサポートするようになり、アプリケーションは割り当てコストを償却し、解像度の変更時にピーク時のメモリ使用量を削減できるようになりました。
- タイル リソース層と LDA アトミック、リンク アダプター (LDA) ノード間で動作するアトミック シェーダー命令のサポートを追加する新しいクロス ノード共有層。これにより、分割フレーム レンダリング (SFR) などの複数の GPU レンダリング手法を実装できます。
- GPU ディザリング サポートにより、HDMI 2.0 経由の HDR10 など、モニター リンクで物理的に利用可能なビット深度よりも高い有効ビット深度が必要な場合に、オペレーティング システムが明示的にディザリングを要求できるようになります。
- 後処理カラー拡張オーバーライドにより、オペレーティング システムは、特定のアプリケーション シナリオでディスプレイ上で比色的に正確なカラー動作を強制し、OEM または IHV 独自のディスプレイ カラー拡張と安全に共存できるように、ドライバーがディスプレイ カラーを拡張または変更する後処理を一時的に無効にするように要求できます。
- Direct3D12 とビデオ、ハードウェア アクセラレーションによるビデオ デコード、コンテンツ保護、ビデオ処理へのアクセスを提供する新しい API と DDI。
- DisplayID は、グラフィックス アダプターによって制御されるディスプレイから VESA の DisplayID 記述子を照会できるように設計された新しい DDI です。
- GPU パフォーマンス データ、温度、ファン速度、エンジンとメモリのクロック速度、メモリ帯域幅、電力消費、電圧など、GPU ハードウェアに関する情報を公開する拡張機能。
- SupportContextlessPresent は、IHV が新しいドライバーをオンボードするのに役立つドライバー キャップです。
- OS の外部/取り外し可能な GPU サポートが改善され、取り外し可能なGPU のサポートが向上しました。
- ディスプレイ診断では、カーネル モード デバイス ドライバー インターフェイスが変更され、ディスプレイ コントローラーのドライバーがオペレーティング システムに診断イベントを報告できるようになりました。
- 共有グラフィックス電源コンポーネント。これにより、非グラフィックス ドライバーがグラフィックス デバイスの電源管理に参加できるようになります。
- 共有テクスチャの改善により、プロセスおよび Direct3D デバイス間で共有できるテクスチャの種類が増え、最小限のメモリコピーでモノクロのサポートが追加されました。
WDDM2.5 について
Windows 10 2018年10月アップデート(バージョン1809)にはWDDM 2.5が含まれています。[52] Windows 10バージョン1809のディスプレイドライバー開発の更新には、次の機能が含まれています。[53]
- シェーダーモデル6.3、DirectX12レイトレーシング(DXR)のサポートを追加。[54]
- Direct3D 12 でハードウェア アクセラレーションによるレイトレーシングをサポートするために、レイトレーシングが導入されました。
- ユニバーサル ドライバーの要件では、ドライバーは、DirectX 11 および DirectX12 ユーザー モード ドライバーとカーネル モード ドライバー、およびこれらのコンポーネントによって読み込まれるその他の DLL がユニバーサル API に準拠していることを確認する必要があります。
- SRV 専用タイル リソース ティア 3 は、タイル リソースの新しい機能ビットであり、順序なしアクセスやレンダリング ターゲット操作のサポートを必要とせずにスパース ボリューム テクスチャを公開します。
- レンダー パスは、Direct3D 12 にレンダー パスの概念を導入し、既存のドライバーで実行される新しい API を追加して、ユーザー モード ドライバーが CPU に大きな負荷をかけずに最適なレンダリング パスを選択できるようにします。
- メタコマンドは、機械学習用の高性能なハードウェアアクセラレーションDirectX 12ライブラリであるDirectMLのプレビューサポートを追加します。Windows 10バージョン1903以降では、メタコマンドとDirectMLはWindowsの安定した部分です。 [55]
- HDR 輝度補正は、新しい SDR 輝度ブーストであり、SDR コンテンツの基準白色をユーザーの希望値まで引き上げ、SDR コンテンツを標準の 200 ~ 240 nits で再現できるようにします。また、ハードウェア/ドライバーが FP16 ピクセル形式による HDR 出力をサポートしているか、ARGB10 ピクセル形式のみをサポートしているかをレポートすることもできます。
- SDR ホワイト レベル。HDR モードで実行されているディスプレイのすべての SDR コンテンツに対して OS コンポジターによって適用されているSDR ホワイト レベル値をグラフィック ドライバーに通知します。
- ディスプレイの同期。ディスプレイがドライバーによって公開されている場合、およびディスプレイを有効にする前に、オペレーティング システムがディスプレイの同期機能を確認できるようにします。
- 追跡されたワークロードも、プロセッサの実行速度の向上と消費電力の削減のトレードオフをより適切に制御するための実験的な機能として追加されましたが、セキュリティ修正の一環として、Windows 10 バージョン 2004 から削除され、以前の OS バージョンでは非推奨となりました。
WDDM2.6 について
Windows 10 2019年5月アップデート(バージョン1903)にはWDDM 2.6が含まれています。Windows 10バージョン1903のディスプレイドライバー開発のアップデートには、次の機能が含まれています。[56]
- シェーダーモデル6.4では、低精度パックドドット積組み込み関数のサポートが追加され、ライブラリサブオブジェクトのレイトレーシングが簡素化されました。[57]
- Super Wet Ink は、IHV がネイティブにサポートしていない形式やモードでのテクスチャの作成を可能にし、それらをハードウェア/ドライバーがネイティブにサポートする形式へのリソース投影として解決し、内部ドライバーの最適化を可能にします。
- 可変レート シェーディング(粗ピクセル シェーディングとも呼ばれる)は、レンダリングされたイメージ全体にわたってさまざまなレートでレンダリング パフォーマンス/電力を割り当てることができるメカニズムです。2 つの層 (層 1 と層 2) があります。
- 診断情報を収集します。これにより、オペレーティング システムはレンダリング機能と表示機能の両方についてドライバーからプライベート データを収集できます。この新しい機能は、WDDM 2.6 の要件です。
- バックグラウンド処理 では、ユーザー モード ドライバーが目的のスレッド動作を表現し、ランタイムがそれを制御/監視できます。 API を使用すると、アプリはワークロードに適したバックグラウンド処理の量とその作業を実行するタイミングを調整できます。
- ドライバーのホット アップデートにより、サーバーのダウンタイムが短縮され、カーネル モード ドライバーへのドライバー セキュリティのホット パッチが可能になります。
- NPUなどの AI プロセッサ向けのMicrosoft Compute Driver Model (MCDM)。
WDDM2.7 について
Windows 10 2020年5月アップデート[58](バージョン2004)にはWDDM 2.7が含まれています。Windows 10バージョン2004のディスプレイドライバー開発のアップデートには、次の機能が含まれています。[59]
- シェーダーモデル6.5では、新しいパイプライン機能と追加のWave組み込み関数のサポートが追加されました。[60]
- ハードウェアアクセラレーションによるGPUスケジューリング:システム設定の追加オプションとしてマスクされており、有効にすると、高頻度タスクを専用のGPUベースのスケジューリングプロセッサにオフロードし、CPUスケジューリングのオーバーヘッドを削減します。アドホックハードウェアとドライバーのサポートが必要です。[61]
- サンプラーフィードバックは、シーン内のリソース使用量をより細かく調整することができます。[62] 2つのティア(ティア0.9とティア1.0)があります。[63]
- DirectX Raytracing (DXR) Tier 1.1では、インラインレイトレーシング、間接レイディスパッチ、新しいオブジェクトを作成することなく状態オブジェクトを増やす機能、加速構造用の追加の頂点フォーマットが導入されました。[64]
- メッシュおよび増幅シェーダステージ、従来のパイプライン(入力アセンブラ-頂点-ハル-テッセレータ-ドメイン-ジオメトリおよびストリーム出力ステージ)に代わる新しいオプションのジオメトリパイプライン。[65]
- メモリ割り当て制御が改善され、より優れた常駐制御と、新しく作成されたヒープを明示的にゼロにしない可能性が生まれました。[66]
- Direct3D 9リソース相互運用性により、Direct3D 9リソースをDirect3D 12アプリケーションに投影することが可能になります。[67]
- Direct3D 12ビデオ保護リソースのサポートにより、Direct3D 12アプリケーションで保護されたコンテンツを再生できるようになりました。[68]
WDDM2.8 について
Windows 10 Insider Preview Manganese には WDDM 2.8 が含まれていましたが、これをサポートするドライバーは公開されておらず、「Iron」および「Cobalt」開発リリースではスキップされています。
WDDM2.9 について
Windows 10 Insider Preview「Iron」のWDDM 2.9は、Windows Subsystem for Linux 2(WSL 2) [69]にGPUハードウェアアクセラレーションのサポートをもたらし、機能レベル12_2 [70]とHLSLシェーダーモデル6.6 [71]をサポートします。
WDDM3.0 について
Windows 11 RTM最終小売リリースにはWDDM 3.0が含まれており、[72] [73] Windows Subsystem for Linuxのグラフィックスアーキテクチャが改善され、[74] 以下の機能が追加されている: [75]
- WSL パッケージで Linux 用にコンパイルされたユーザー モード ドライバー。
- Linuxにマウントされたホストドライバ
- ダイナミックリフレッシュレート[76]
- Direct3D 12ビデオエンコーディング[77]
- ハードウェアフリップキュー[78]
WDDM3.1 について
Windows 11 2022 Update(バージョン22H2)にはWDDM 3.1が含まれています。[79] [80]
- シェーダーモデル6.7 [81]
- IOMMU DMAリマッピング[82]
- KMDとのバックアップストアの共有[83]
WDDM3.2 について
Windows 11 2024 Update(バージョン24H2)にはWDDM 3.2が含まれています。[84]
- シェーダーモデル6.8 [85]
- ダーティビットトラッキング
- GPU-Pデバイスでのライブマイグレーション
- ネイティブ GPU フェンス オブジェクト
- ユーザーモードでの作業提出
- D3D12 AV1 ビデオエンコーディング
- 作業グラフ[86]
参考文献
- ^ 「 Windowsディスプレイ ドライバー モデル (WDDM) 設計ガイド」。MSDN。Microsoft。2015年2月 19 日閲覧。
- ^ abcde 「Windows Vista ディスプレイ ドライバー モデル」。MSDN。Microsoft。2006年 7 月。2010 年 5 月 6 日時点のオリジナルよりアーカイブ。2013年12月 9 日に閲覧。
- ^ 「XPDM vs. WDDM」。MSDN。Microsoft。2013年 11 月 16 日。2013 年12月 16 日に閲覧。
- ^ 「 Windows 2000 ディスプレイ ドライバー モデル (XDDM) 設計ガイド」。Windowsデベロッパー センター - ハードウェア。Microsoft。2013年 11 月 16 日。2013年12 月 9 日に閲覧。
- ^ 「Windows 2000 ディスプレイ ドライバー モデル (XDDM) 用ドライバーの開発ロードマップ」。Windows Dev Center - ハードウェア。Microsoft。2013年 11 月 16 日。2013年12 月 16 日に取得。XDDM
および VGA ドライバーは、Windows 8 以降のバージョンではコンパイルされません
。 - ^ 「WDDM によるグラフィックス メモリのレポート」。MSDN。Microsoft。2007年 1 月 9 日。2013 年12 月 9日に閲覧。
- ^ Schechter, Greg (2006 年 4 月 2 日)。「DWM における Windows ディスプレイ ドライバー モデルの役割」。Greg Schechter のブログ。Microsoft。2010年 4 月 20 日時点のオリジナルよりアーカイブ。2013 年12 月 9 日に取得。
- ^ 「クロスプロセス リソース共有」。MSDN。Microsoft。2009年 12 月 10 日。2013 年12月9 日に閲覧。
- ^ 「WDDM による GPU のタイムアウト検出と回復」。タイムアウト検出と回復: Microsoft。2011 年 9 月 6 日時点のオリジナルからアーカイブ。2011年9 月 4 日に取得。
- ^ abcd 「Windows 7 のグラフィックス ガイド」。Microsoft。2009 年 6 月 12 日。
- ^ Intel が GMA900 WDDM ドライバーがないことを言い訳に:「HW スケジューラ」がないとドライバーがない、Beyond3D、2006 年 10 月 26 日。
- ^ ab 「マルチモニターのサポートと Windows Vista」 。2007年10 月 20 日閲覧。
- ^ Blythe, David. 「Windows 7 グラフィックス アーキテクチャの操作」。WinHEC 2008。Microsoft。2013年10 月 20 日時点のオリジナルよりアーカイブ。2013年12月9 日閲覧。
- ^ Windows XP では利用できたコントロール パネルの機能で、Windows Vista では利用できなくなったものはありますか?
- ^ Windows Vista の Catalyst コントロール センターでは、デスクトップのストレッチ モードやスパニング モードは利用できません。2009 年 11 月 17 日にWayback Machineにアーカイブされました。
- ^ 「Windows XP の DualView の説明 (リビジョン 1.5)」。サポート。Microsoft。2006年 1 月 15 日。2013 年12 月 9 日に閲覧。
- ^ 「GDI ハードウェア アクセラレーション」。MSDN。Microsoft。2009年6 月14日閲覧。
- ^ 「DXVA-HD DDI」。MSDN。Microsoft。2009年6月13日閲覧。
- ^ 「Overlay DDI」。MSDN。Microsoft。2009年6月 13日閲覧。
- ^ 「複数のモニター とビデオ表示ネットワーク」。MSDN。Microsoft。2010年7月 14 日閲覧。
- ^ Schechter, Greg (2006 年 5 月 3 日)。「GDI、DirectX、および WPF アプリケーションのリダイレクト」。Greg Schechter のブログ。Microsoft。2010年 3 月 5 日時点のオリジナルからアーカイブ。2013 年12 月 9 日に取得。
- ^ Chitre, Ameet (2009 年 8 月 25 日)。Sinofsky , Steven (編)。「Windows 7 のグラフィックス パフォーマンスのエンジニアリング」。エンジニアリングWindows 7。Microsoft。2013年12月 9 日閲覧。
- ^ Mulcahy, Tom (2009 年 2 月 11 日) 。 「 Windowsとビデオ メモリ」。Zemblanity。Microsoft。2013年12 月 9 日閲覧。
- ^ Olsen, Thomas (2008 年 10 月 29 日)。「Microsoft Direct2D API の紹介」。Tomのブログ。Microsoft。2013年12 月 9 日閲覧。
- ^ Mark Lawrence (2009 年 11 月 25 日). 「Internet Explorer が DirectWrite と Direct2D の使用を発表 (Microsoft 公式コメント)」。2014 年 4 月 8 日時点のオリジナルよりアーカイブ。
- ^ 「Windows Developer Preview - ディスプレイ デバイスの新機能」。MSDN。Microsoft。2013年 11 月 16 日。2013 年12月9 日に閲覧。
- ^ ab 「Windows Developer Preview での Windows ディスプレイ ドライバー モデルの機能強化」。MSDN。Microsoft。2012年 9 月 28 日。2013 年12月9 日に閲覧。
- ^ 「DXGI 1.2 の改善点」。MSDN。Microsoft。2013年 11 月 16 日。2013 年12月9 日に閲覧。
- ^ 「DXGI_Graphics_Preemption_Granularity 列挙」。MSDN。Microsoft。2013年 11 月 16 日。2013 年12月9 日に閲覧。
- ^ 「DXGI_FORMAT 列挙」。MSDN。Microsoft。2013年 11 月 16 日。2013 年12月9 日に閲覧。
- ^ 「Microsoft 基本ディスプレイ ドライバー - Windows ドライバー」。2024 年 6 月 27 日。
- ^ Al-Kady, Nabeel. 「 ディスプレイドライバーのロジスティクスとテスト」。WinHEC 2006。Microsoft。2013年12月 9 日閲覧。
- ^ Pronovost, Steve. 「 Windows Display Driver Model (WDDM) v2 以降」。WinHEC 2006。Microsoft。2013年12月 9 日閲覧。
- ^ Dan Warne (2006 年 6 月 1 日)。「Windows グラフィック システムが全面的に刷新される」。APC Magazine。2015年2 月 20 日閲覧。
- ^ 「 Windows 8.1 Preview ディスプレイ ドライバーの新機能 (WDDM 1.3)」。MSDN。Microsoft。2013年 11 月 16 日。2013 年12月 9 日に閲覧。
- ^ 「DXGI 1.3 の改善点」。MSDN。Microsoft。2013年 11 月 16 日。2013 年12月9 日に閲覧。
- ^ 「Windows 10 Insider Preview ディスプレイ ドライバーの新機能 (WDDM 2.0)」。Microsoft。2015年6 月 3 日閲覧。
- ^ McMullen, Max (2014 年 4 月 2 日). Direct3D 12 API プレビュー. MSDN . 2015 年6 月 3 日閲覧。
- ^ Moreton, Henry (2014-03-20). 「DirectX 12: ゲームにとっての大きな前進 | NVIDIA ブログ」。Blogs.nvidia.com。2014年 3 月 26 日閲覧。
- ^ 「DirectX 12 - DirectX 開発者ブログ - サイト ホーム - MSDN ブログ」。Blogs.msdn.com。2014 年 3 月 20 日。2014年 3 月 26 日閲覧。
- ^ Smith, Ryan (2015 年 2 月 6 日)。「DirectX 12 パフォーマンス プレビュー: AMD、NVIDIA、Star Swarm」。AnandTech。Purch。
- ^ MSDN - DXGI 1.4 の改善
- ^ tedhudek. 「ドライバー開発の新機能」. docs.microsoft.com . 2018 年 10 月 8 日閲覧。
- ^ 「HLSL シェーダー モデル 6.0 - Win32 アプリ」。2021 年 8 月 25 日。
- ^ 「ハイダイナミックレンジと広色域 (Windows)」。msdn.microsoft.com。2016年9月13日時点のオリジナルよりアーカイブ。
- ^ 「可変リフレッシュレートディスプレイ - Win32 アプリ」。2021 年 1 月 6 日。
- ^ 「Channel9 が Microsoft Learn に参加しました」。
- ^ 「Windows 10 バージョン 1709 のドライバー開発追加機能 - ディスプレイ」。docs.microsoft.com。2020年 4 月 14 日閲覧。
- ^ 「Shader Model 6.1」。github.com/microsoft/ DirectXShaderCompiler。2017 年 12 月 1 日に取得。
- ^ 「Windows 10 バージョン 1803 の新機能 - ディスプレイ」。docs.microsoft.com。2020年 4 月 28 日閲覧。
- ^ 「Shader Model 6.2」。github.com/microsoft/ DirectXShaderCompiler。2017 年 12 月 1 日閲覧。
- ^ 「以前の WDDM 2.X バージョンで追加された機能 - WDDM 2.5」 。Microsoft Docs。2020年 3 月 28 日閲覧。
- ^ 「Windows ドライバー - Windows 10 バージョン 1809 の新機能 - ディスプレイ」 。Microsoft Docs。2020年 4 月 28 日閲覧。
- ^ 「Shader Model 6.3」。github.com/microsoft/DirectXShaderCompiler 。 2019年3月11日閲覧。
- ^ 「DirectML を使い始める」。github.com/microsoft/DirectML。2021年 11 月 26 日。
- ^ 「以前の WDDM 2.X バージョンで追加された機能 - WDDM 2.6」。docs.microsoft.com。2020年 3 月 24 日閲覧。
- ^ 「Shader Model 6.4」。github.com/microsoft/DirectXShaderCompiler 。 2019年4月11日閲覧。
- ^ 「DirectX 12 の新機能の開発者プレビュー」。devblogs.microsoft.com。2019年10 月 28 日。2019年 10 月 28 日閲覧。
- ^ 「Windows 10 ディスプレイおよびグラフィックス ドライバーの新機能」。docs.microsoft.com。2020年 5 月 12 日閲覧。
- ^ 「HLSL シェーダー モデル 6.5」。microsoft.github.io 。2019年 10 月 15 日閲覧。
- ^ 「ハードウェア アクセラレーション GPU スケジューリング」。devblogs.microsoft.com。2020年6 月 30 日。2020年 6 月 30 日閲覧。
- ^ 「DirectX 12 に登場 — サンプラー フィードバック: かつては隠されていた有用なデータが公開」。devblogs.microsoft.com。2019年11 月 4 日。2019年 11 月4 日閲覧。
- ^ 「DirectX 仕様 - サンプラー フィードバック - 機能サポート」。microsoft.github.io 。2019 年 11 月 4 日閲覧。
- ^ 「DirectX Raytracing (DXR) Tier 1.1」。devblogs.microsoft.com。2019年 11 月 6 日。2019年 11 月 6 日閲覧。
- ^ 「DirectX 12 の登場 - メッシュ シェーダーと増幅シェーダー: ジオメトリ パイプラインの改革」devblogs.microsoft.com。2019 年 11 月 8 日。2019 年 11 月 8日閲覧。
- ^ 「DirectX 12 の新機能: メモリ割り当てのより高度な制御」devblogs.microsoft.com . 2019 年 11 月 11 日. 2019 年 11 月 11 日閲覧。
- ^ 「DirectX 12 に登場: D3D9On12 および D3D11On12 リソース相互運用 API」。devblogs.microsoft.com。2019年11 月 13 日。2019年 11 月 13 日閲覧。
- ^ 「D3D12 ビデオ保護リソースのサポート」。microsoft.github.io 。2019 年 5 月 29 日閲覧。
- ^ 「DirectX ❤ Linux」. devblogs.microsoft.com . 2020 年 5 月 19 日. 2020 年 5 月 19 日閲覧。
- ^ 「DirectX の新機能 - 機能レベル 12_2」。2020 年 8 月 27 日。
- ^ 「HLSL シェーダー モデル 6.6 の発表」。2021 年 4 月 20 日。
- ^ 「Windows 11 の入手方法」。2021 年 10 月 4 日。
- ^ 「Windows 11 をダウンロード」。Microsoft。
- ^ 「WSL グラフィックス アーキテクチャ」。xdc2020.x.org 。2021年 10 月 8 日時点のオリジナルよりアーカイブ。2020年 9 月 16 日閲覧。
- ^ 「Windows 11 ディスプレイおよびグラフィック ドライバーの新機能 - Windows ドライバー」。
- ^ 「ダイナミックリフレッシュレート – 両方の長所を活かす」2021年6月28日。
- ^ 「D3D12 ビデオ エンコーディング - Windows ドライバー」。2022 年 3 月 5 日。
- ^ 「ハードウェア フリップ キュー - Windows ドライバー」。2024 年 6 月 26 日。
- ^ 「本日提供開始: Windows 11 2022 Update」。2022年9月20日。
- ^ 「Windows 11 をダウンロード」。Microsoft。
- ^ 「HLSL シェーダー モデル 6.7」。
- ^ ロリホロラッシュ。 「IOMMU DMA 再マッピング - Windows ドライバー」。docs.microsoft.com 。2022-07-24に取得。
- ^ 「KMD とのバッキング ストアの共有 - Windows ドライバー」。
- ^ 「Windows 11 バージョン 24H2 のドライバー開発の新機能 - Windows ドライバー」。
- ^ 「DirectX 仕様」.
- ^ 「ワークグラフ - Windows ドライバー」。2024 年 5 月 22 日。
