WDDM アーキテクチャ

Windows ディスプレイ ドライバー モデル (WDDM) には、ユーザー モードとカーネル モードのコンポーネントがあります。 次の図は WDDM アーキテクチャのさまざまなコンポーネントを示したものです。

ユーザー モード コンポーネントとカーネル モード コンポーネントを含む WDDM アーキテクチャを示した図。

システム提供モジュールが図で白いボックスとして示されています。 グレーのボックスは IHV で提供できるモジュールを表しています。 アプリケーションはパートナーまたはシステム提供によって開発できます。

システム提供モジュール

次のシステム提供モジュールは WDDM アーキテクチャの一部です。

  • Direct3D ランタイムは、アプリケーション用のアプリケーション API を提供するユーザー モード コンポーネントです。 さまざまなサービスを提供し、アプリケーション、ユーザー モード グラフィックス ドライバー (UMD)、および gdi32.dll の間のやりとりを管理します。

  • gdi32.dll は、D3D ランタイムまたはパートナー グラフィックス クライアントがリンクするユーザー モード ライブラリです。 ランタイムまたはクライアントは、DirectX カーネル サブシステム (Dxgkrnl) 内の適切なカーネル モード関数に呼び出しをルーティングする gdi32 "サンク" を呼び出します。

  • Dxgkrnl.sys は、Windows オペレーティング システムのカーネル モード グラフィックス サブシステムのコア コンポーネントです。 オペレーティング システム、UMD、カーネル モード ディスプレイ ミニポート ドライバー (KMD) の間の通信を容易にします。 Dxgkrnl には、ディスプレイ ポート ドライバー、メモリ マネージャー (VidMm)、スケジューラー (VidSch) などのサブコンポーネントが含まれています。 Dxgkrnl は、dxgkrnl.sysdxgmms1.sys (WDDM 2.0 より前の WDDM バージョンを処理)、および dxgmms2.sys (WDDM バージョン 2.0 以降を処理) で構成されています。

  • Win32 GDI と Win32k.sys は、一部のアプリケーションで引き続き使用されるレガシー コンポーネントです。

サード パーティ提供モジュール

  • UMD は、Direct3D ランタイムが読み込むダイナミックリンク ライブラリ (DLL) です。

  • KMD は Dxgkrnl およびグラフィックス ハードウェアと通信します。

グラフィックス ハードウェア ベンダーは UMD と KMD の両方を提供する必要があります。

  • サード パーティのパートナー グラフィックス クライアントは、独自の API とフレームワークを持つユーザー モード コンポーネントです。 gdi32 サンクを呼び出して、カーネル モードのグラフィックス サブシステムと通信します。 Microsoft が認識しているクライアントは D3DKMT_CLIENTHINT に一覧表示されます。