ハイブリッド システムでのクロス アダプター リソースの使用
Windows 8.1 以降では、Windows ディスプレイ ドライバー モデル (WDDM) ドライバーはハイブリッド システムをサポートでき、このシステムでは、クロスアダプター リソース が統合 GPU と個別 GPU の間で共有され、アプリケーションのニーズに応じて、いずれかの GPU でアプリケーションを実行できます。 オペレーティング システムとドライバーが一緒に、アプリケーションを実行する GPU を決定します。
ディスプレイ ミニポート ドライバーは、CrossAdapterResource メンバー (DXGK_VIDMMCAPS 構造体のメンバー) を設定することによって、クロスアダプター リソースのサポートを表現する必要があります。
ドライバーは、割り当ての種類に応じてさまざまな方法で情報を取得します。 割り当てが従来の全画面表示プライマリである場合、ユーザー モード ディスプレイ ドライバーは、プライマリ フラグ、ビデオ 提示ネットワーク (VidPN) ソース ID、更新レート、ローテーション情報など、プライマリの作成時に通常提供される情報を取得します。 ただし、割り当てが直接フリップ プライマリの場合、クロスアダプター割り当てはプライマリとして使用できますが、ユーザー モードのディスプレイ ドライバーは、プライマリの作成時に提供される通常の情報を取得しません。 また、この場合、個別のユーザー モード ディスプレイ ドライバーはプライマリに関する情報を受け取りますが、検証しないでください。 統合ドライバーは、それがプライマリであることを示す情報を受け取りません。
以降のトピックでは、ハイブリッド システムのドライバーの実装について詳しく説明します。
ハイブリッド システムの定義とプロパティ:
- このシステムには、1 つの統合 GPU と 1 つのディスクリート GPU が含まれています。統合 GPU は CPU チップセットに統合され、LCD パネルなどの統合ディスプレイ パネルに出力されます。 ディスクリート GPU は通常、PCI などのバスを介してマザーボード チップセットのノース ブリッジに接続するリムーバブル カードです。
- ディスクリート GPU は、統合 GPU よりも大幅に高いパフォーマンスを発揮します。
- ディスクリート GPU はレンダリング専用デバイスであり、ディスプレイ出力は接続されません。
- どちらの GPU も物理的に同じハウジングに囲まれており、コンピューターの実行中に個別の GPU を接続または切断することはできません。
- オペレーティング システムは、電源オン自己テスト (POST) ルーチンを実行するとき、新しいドライバーがインストールされたとき、またはディスプレイ アダプターが有効または無効になっているときに、ハイブリッド システムの構成を検出します。
クロスアダプター リソースの定義とプロパティ:
- アダプター間リソースは、Windows 8.1 以降でのみ使用できます。
- これは、絞り GPU メモリ セグメントにのみページングできます。
- 共有リソースとして割り当てられます。
- 線形形式の割り当ては 1 つだけです。
- これは (D3DKMT_CROSS_ADAPTER_RESOURCE_PITCH_ALIGNMENT定数によって定義される) 128 バイトの標準ピッチ アライメントを持ちます。
- 標準の高さの配置は 4 行です (D3DKMT_CROSS_ADAPTER_RESOURCE_HEIGHT_ALIGNMENT定数で定義されます)。
- そのメモリ開始アドレスは、1 ページの境界にアラインされます。
- これは、ディスプレイ ミニポート ドライバーによってカーネル モードからの標準割り当てとして作成された後、ユーザー モードのディスプレイ ドライバーによって後で開かれる可能性があります。
- ユーザー モードのディスプレイ ドライバーによって作成される場合があります。