グラフィックドライバアーキテクチャ
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] Windows 9x では 、VxDDM ( VxD ディスプレイ ドライバー モデル)、WDMDM ( WDM ディスプレイ ドライバー モデル)、および VxD と WDM のハイブリッド DDM を使用できます。Windows 2000 および Windows XPでは、XDDM/XPDM は WDM に基づいています 。
WDDMは、 Direct3D 上で動作する 合成 ウィンドウマネージャーであるデスクトップウィンドウ マネージャー を使用して、 デスクトップとアプリケーションをレンダリングするために必要な機能を提供します 。また、基本的なデバイスの管理と作成に必要な新しい 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が登場する前は、プロセス間でテクスチャを共有することは困難でした。これは、ビデオメモリからシステムメモリにデータをコピーし、新しいデバイスのビデオメモリに戻す必要があったためです。
強化されたフォールトトレランス
Windows Vista は WDDM 回復が成功したことをユーザーに通知します
Windows XP は、ディスプレイ ドライバーのクラッシュからフェイルセーフ モードへの正常な回復をユーザーに通知します。
WDDMドライバーがハングしたり障害に遭遇すると、グラフィックススタックはドライバーを再起動します。 [2] [9] グラフィックスハードウェア障害は傍受され、必要に応じてドライバーがリセットされます。
Windows XP のドライバは、ハードウェア障害が発生した場合、ユーザーに報告するか、サイレントモードで復旧を試みるなど、状況に応じて自由に対処できました。ディスプレイドライバを安全に停止できる場合でも、Windows XP はディスプレイドライバのクラッシュを警告すると同時にビデオドライバを無効化し、画面解像度を 640x480、16 色に下げることがあります。WDDM ドライバでは、画面解像度への影響はほとんどなく、すべてのハードウェア障害が発生するとドライバがリセットされ、ポップアップでユーザーに通知されます。これにより、ベンダー間で動作が統一されます。
以前のドライバはカーネルモードで完全に実装されていましたが、WDDMはユーザーモードで部分的に実装されています。ユーザーモード領域で回復不能なエラーが発生した場合、以前のドライバモデルのように ブルースクリーンエラー が発生するのではなく、せいぜいアプリケーションが予期せず終了する程度です。
WDDMではグラフィックハードウェアをリセットし、再起動せずにドライバーを更新することもできます。 [2]
制限事項
新しいドライバモデルでは、固定関数パイプラインが2.0シェーダー に変換されるため、グラフィックスハードウェアは少なくともShader Model 2.0をサポートしている必要があります 。しかし、Microsoftによると、2009年時点でWindows Vista搭載ハードウェアのうちXDDMを使用しているのはわずか1~2%であり、 [10]残りのハードウェアは既にWDDMに対応しています。また、他のハードウェア機能も必要となるため、 Intel GMA 900など、SM 2.0をサポートする一部のハードウェアは WDDM認証に不合格となります。 [11]
WDDMドライバモデルバージョン1.0の制限事項の一つは、マルチアダプタ、マルチモニタ環境で複数のドライバをサポートしていないことです。マルチモニタシステムで複数のグラフィックアダプタがモニタに電力を供給している場合、両方のアダプタで同じ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が試みたアプローチは、機能とパフォーマンスを標準化することで、複数ベンダーの異なるGPU間でWDDMが統一されたエクスペリエンスになるようにすることでした。他のドライバモデルに欠けているソフトウェア機能は、拡張機能によって、あるいは制限の少ないドライバモデルや単に異なるドライバモデルを導入することで、問題にならないようにすることができます。
歴史
WDDM 1.0
Windows Vistaでは、パフォーマンスと信頼性を向上させ、 HDCP などの新技術をサポートするように設計された新しいディスプレイドライバアーキテクチャとしてWDDM 1.0が導入されました。停電時の安定性を高めるために 休止状態 と スリープモードの 機能を組み合わせた ハイブリッドスリープ にもWDDMが必要です。 [2] [ なぜ? ]
WDDM 1.1
Windows 7はWDDM 1.1として知られるWDDMの主要な追加機能をサポートしています。この新バージョンの詳細は WinHEC 2008で発表されました。新しい機能には以下が含まれます。 [10]
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]
WDDM 1.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]
WDDM 1.3
Windows 8.1 にはWDDM 1.3 [35] とDXGI 1.3 [36] が含まれています。新機能としては、DXGIアダプターのメモリ使用量の削減、マルチプレーンオーバーレイ、オーバーラップスワップチェーンとスワップチェーンのスケーリング、スワップチェーンのバックバッファーサブリージョンの選択、低レイテンシスワップチェーンプレゼンテーションなどがあります。ドライバー機能の追加には、ワイヤレスディスプレイ( Miracast )、 YUV フォーマット範囲、クロスアダプターリソース、GPUエンジン列挙機能などがあります。グラフィックスカーネルのパフォーマンスが向上しました。[1]
WDDM 2.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にプロセスごとの仮想アドレス空間を与える新しいメモリモデルが実装され、 WDDM 2.0で GPU仮想メモリが実現しました。 [44] ビデオメモリの直接アドレス指定は、それを必要とするグラフィックスハードウェアではWDDMv2でも引き続きサポートされていますが、これはレガシーケースと見なされています。IHVは仮想アドレス指定をサポートする新しいハードウェアを開発することが期待されています。この新しいメモリモデルを実現するために、DDIに大幅な変更が加えられました。
WDDM 2.1
Windows 10 Anniversary Update(バージョン1607)には、Shader Model 6.0( 機能レベル 12_0および12_1 に必須)をサポートするWDDM 2.1と、 ITU-T Rec. 2100 / Rec.2020 で定義された10ビットの高ダイナミックレンジ、広色域フォーマット [46] である HDR10 と可変リフレッシュレートをサポートするDXGI 1.5が含まれています 。 [47]
WDDM 2.2
Windows 10 Creators Update(バージョン1703)には、Windows Mixed Reality プラットフォームの 立体視レンダリング による 仮想現実 、 拡張 現実、 複合現実 向けにカスタマイズされたWDDM 2.2 とDXGI 1.6が含まれています。 [48]
WDDM 2.3
Windows 10 Fall Creators Update(バージョン1709)にはWDDM 2.3が含まれています。以下は、Windows 10 バージョン1709におけるWindowsディスプレイドライバー開発の新機能の一覧です。 [49]
シェーダーモデル6.1では 、ビューインスタンス化と重心セマンティクスのサポートが追加されました。 [50]
ディスプレイ カラー スペース変換 DDI は、 合成後のディスプレイ パイプラインに適用されるカラー スペース変換をさらに制御します。
D3D12 コピーキューのタイムスタンプクエリ 機能により、アプリケーションはコピーコマンドリスト/キューに対してタイムスタンプクエリを発行できるようになります。これらのタイムスタンプは、他のエンジンのタイムスタンプと同様に機能するように指定されています。
ハードウェアアクセラレーションによるビデオデコード、コンテンツ保護、ビデオ処理を通じて、 Direct3D12 ランタイムへのビデオ統合が強化されました。
WDDM 2.4
Windows 10 April 2018 Update(バージョン1803)にはWDDM 2.4が含まれています。Windows 10バージョン1803におけるディスプレイドライバー開発の更新には、以下の機能が含まれています [51] 。
シェーダーモデル6.2では 、16ビットスカラーのサポートと、非正規化値による動作を選択する機能が追加されました。 [52]
間接ディスプレイ 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 デバイス間で共有できるテクスチャの種類が増え、最小限のメモリコピーでモノクロのサポートが追加されました。
WDDM 2.5
Windows 10 October 2018 Update(バージョン1809)にはWDDM 2.5が含まれています。 [53] Windows 10バージョン1809のディスプレイドライバー開発の更新には、次の機能が含まれています。 [54]
シェーダーモデル6.3 、DirectX12レイトレーシング(DXR)のサポートを追加。 [55]
レイトレーシング 、Direct3D 12 でハードウェア アクセラレーションによるレイトレーシングをサポートするため。
ユニバーサル ドライバーの要件では 、ドライバーは、DirectX 11 および DirectX12 ユーザー モード ドライバーとカーネル モード ドライバー、およびこれらのコンポーネントによって読み込まれるその他の DLL がユニバーサル API に準拠していることを確認する必要があります。
SRV 専用タイル リソース ティア 3 は 、タイル リソースの新しい機能ビットであり、順序なしアクセスやレンダリング ターゲット操作のサポートを必要とせずにスパース ボリューム テクスチャを公開します。
レンダー パスは 、Direct3D 12 にレンダー パスの概念を導入し、既存のドライバーで実行される新しい API を追加して、ユーザー モード ドライバーが CPU に大きな負荷をかけずに最適なレンダリング パスを選択できるようにします。
メタコマンド 。機械学習向けの高性能ハードウェアアクセラレーション対応DirectX 12ライブラリである DirectML のプレビューサポートが追加されました。Windows 10バージョン1903以降では、メタコマンドとDirectMLはWindowsの安定した機能として組み込まれています。 [56]
HDR輝度補正は 、SDRコンテンツの基準白色をユーザーが希望する値まで引き上げる新しいSDR輝度ブースト機能です。これにより、SDRコンテンツを標準的な200~240ニットで再現できます。また、ハードウェア/ドライバーがFP16ピクセル形式によるHDR出力をサポートしているか、ARGB10ピクセル形式のみをサポートしているかをレポートすることもできます。
SDR ホワイト レベル : HDR モードで実行されているディスプレイのすべての SDR コンテンツに対して OS コンポジターによって適用されている SDR ホワイト レベル 値をグラフィック ドライバーに通知します。
ディスプレイ同期 。ディスプレイがドライバーによって公開されている場合、ディスプレイを有効にする前に、オペレーティング システムがディスプレイ同期機能をチェックできるようにします。
Tracked Workloads も、プロセッサ実行の高速化と消費電力の削減のトレードオフをより適切に制御するための実験的な機能として追加されましたが、セキュリティ修正の一環として Windows 10 バージョン 2004 から削除され、以前の OS バージョンでは非推奨となりました。
WDDM 2.6
Windows 10 May 2019 Update(バージョン1903)にはWDDM 2.6が含まれています。Windows 10バージョン1903におけるディスプレイドライバー開発の更新には、以下の機能が含まれています。 [57]
シェーダーモデル6.4では 、低精度のパックド積組み込み関数とライブラリサブオブジェクトのサポートが追加され、レイトレーシングが簡素化されました。 [58]
Super Wet Ink は 、IHV がネイティブにサポートしていない形式やモードでのテクスチャの作成を可能にし、それらをハードウェア/ドライバーがネイティブにサポートする形式へのリソース投影として解決し、内部ドライバーの最適化を可能にします。
可変レートシェーディング( 粗ピクセルシェーディング とも呼ばれる)は 、レンダリングされた画像全体にわたってレンダリングパフォーマンス/電力を異なるレートで割り当てることを可能にするメカニズムです。2つのティア(ティア1とティア2)が用意されています。
診断情報の収集 :オペレーティングシステムがレンダリング機能と表示機能の両方についてドライバーからプライベートデータを収集できるようにします。この新機能はWDDM 2.6の要件です。
バックグラウンド処理 :ユーザー モード ドライバーが希望するスレッド動作を表現し、ランタイムがそれを制御/監視できるようにします。 API を使用すると、アプリはワークロードに適したバックグラウンド処理の量とその処理を実行するタイミングを調整できます。
ドライバーのホット アップデートにより 、サーバーのダウンタイムが短縮され、カーネル モード ドライバーへのドライバー セキュリティのホット パッチが可能になります。
NPU などの AI プロセッサ向けの Microsoft Compute Driver Model (MCDM) 。
WDDM 2.7
Windows 10 2020年5月アップデート [59] (バージョン2004)にはWDDM 2.7が含まれています。Windows 10バージョン2004のディスプレイドライバー開発の更新には、以下の機能が含まれています。 [60]
シェーダーモデル6.5では 、新しいパイプライン機能と追加のWave組み込み関数のサポートが追加されました。 [61]
ハードウェアアクセラレーションによるGPUスケジューリング :システム設定の追加オプションとしてマスクされており、有効にすると、高頻度タスクを専用のGPUベースのスケジューリングプロセッサにオフロードし、CPUスケジューリングのオーバーヘッドを削減します。アドホックなハードウェアとドライバのサポートが必要です。 [62]
サンプラーフィードバックは 、シーン内のリソース使用量をより細かく調整できます。 [63] 2つのティア(ティア0.9とティア1.0)があります。 [64]
DirectX Raytracing(DXR)Tier 1.1 では、インラインレイトレーシング、間接レイディスパッチ、新しいオブジェクトを作成することなく状態オブジェクトを増やす機能、加速構造用の追加の頂点フォーマットが導入されました。 [65]
メッシュと増幅シェーダステージ 、従来のパイプライン(入力アセンブラ-頂点-ハル-テッセレータ-ドメイン-ジオメトリとストリーム出力ステージ)に代わる新しいオプションのジオメトリパイプライン。 [66]
メモリ割り当て制御が改善され 、より優れた常駐制御が可能になり、新しく作成されたヒープを明示的にゼロにしなくてもよくなりました。 [67]
Direct3D 9リソース相互運用性 により、Direct3D 9リソースをDirect3D 12アプリケーションに投影できるようになります。 [68]
Direct3D 12ビデオ保護リソースのサポート により、Direct3D 12アプリケーションで保護されたコンテンツを再生できます。 [69]
WDDM 2.8
Windows 10 Insider Preview Manganese には WDDM 2.8 が含まれていましたが、これをサポートするドライバーは公開されておらず、「Iron」および「Cobalt」開発リリースでは省略されています。
WDDM 2.9
Windows 10 Insider Preview「Iron」のWDDM 2.9は、Windows Subsystem for Linux 2(WSL 2) [70] にGPUハードウェアアクセラレーションのサポートをもたらし、機能レベル12_2 [71] とHLSLシェーダーモデル6.6 [72]のサポートも提供します。
WDDM 3.0
Windows 11 RTM最終小売リリースにはWDDM 3.0が含まれており、 [73] [74] Windows Subsystem for Linuxのグラフィックスアーキテクチャが改善され、 [75 ] 以下の機能が追加されている: [76]
WSL パッケージで Linux 用にコンパイルされた ユーザー モード ドライバー。
Linuxにマウントされた ホストドライバー
ダイナミックリフレッシュレート [77]
Direct3D 12ビデオエンコーディング [78]
ハードウェアフリップキュー [79]
WDDM 3.1
Windows 11 2022 Update(バージョン22H2)にはWDDM 3.1が含まれています。 [80] [81]
シェーダーモデル6.7 [82]
IOMMU DMAリマッピング [83]
KMDとのバックアップストアの共有 [84]
WDDM 3.2
Windows 11 2024 Update(バージョン24H2)にはWDDM 3.2が含まれています。 [85]
シェーダーモデル6.8 [86]
ダーティビットトラッキング
GPU-Pデバイスでのライブマイグレーション
ネイティブ GPU フェンス オブジェクト
ユーザーモードでの作業提出
D3D12 AV1 ビデオエンコーディング
作業グラフ [87]
参考文献
^ 「Windows Display Driver Model (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 デベロッパー センター - ハードウェア 。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 のグラフィックスパフォーマンスのエンジニアリング」. Engineering 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's Blog . 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 Enumeration". 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 And Beyond」. 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年3月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. 2015年2月7日時点のオリジナルよりアーカイブ。
^ MSDN - DXGI 1.4 の改善点
^ tedhudek. 「ドライバー開発の新機能」. docs.microsoft.com . 2018年10月8日 閲覧。
^ lorihollasch. 「WDDM 2.0のGPU仮想メモリ - Windowsドライバー」. learn.microsoft.com . 2025年6月15日 閲覧 。
^ 「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日 閲覧 。
^ 「シェーダーモデル 6.1」 。github.com/microsoft/DirectXShaderCompiler 。 2017年12月1日 閲覧 。
^ 「Windows 10 バージョン 1803 の新機能 - ディスプレイ」。docs.microsoft.com 。 2020年4月28日 閲覧 。
^ 「シェーダーモデル 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日 閲覧 。
^ 「シェーダーモデル 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日 閲覧 。
^ 「シェーダーモデル 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-Specs - Sampler Feedback - Feature Support」. 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 ドライバー」。2024 年 8 月 22 日。
^ 「ダイナミックリフレッシュレート – 両方の長所を活かす」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ドライバー」。2024年8月22日。
^ 「Windows 11 バージョン 24H2 のドライバー開発の新機能 - Windows ドライバー」。2024 年 9 月 18 日。
^ 「DirectX 仕様」。
^ 「作業グラフ - Windows ドライバー」。2024年5月22日。