VidPN ハードウェア機能のクエリ
Windows 7 以降では、ディスプレイ ミニポート ドライバーは、指定された機能 VidPN のすべてのハードウェア機能を報告する必要があります。 ドライバーは、次のコールバック関数とそれに関連付けられている構造体をサポートする必要があります。
ドライバーが、ハードウェア機能を報告する場合、クローンの作成をローテーションまたはスケーリング変換の一部として行われる暗黙的なプロシージャであると考える必要があります。ソースはまずはクローンを作成しないと、回転またはスケーリングできるようにはなりません。
D3DKMDT_VIDPN_HW_CAPABILITY のメンバーのいずれかが、指定された VidPN パスで意味を持たない場合、メンバーが 0 以外の値に設定されていると、ディスプレイ モード マネージャー (DMM) はエラーを報告しません。 DMM は、ユーザー モード クライアントに報告する前に、このような値をすべてクリアします。 ただし、ドライバーは、D3DKMDT_VIDPN_HW_CAPABILITY の Reserved メンバーの値を 0 に設定する必要があります。
サンプル シナリオ
ディスプレイ ミニポート ドライバーがハードウェア機能を報告する方法を示すには、次のハードウェア構成セット P1、P2、および P3 の例を考えてみてください。
P1: サーフェスは、ソース S1 からクローンが作成された後、90 度回転し、ターゲットに合わせて拡大縮小されます。
P2: サーフェスは、ソース S1 からクローンが作成されますが、変換は適用されません。
P3: ソース S2 には変換は適用されていません。
DxgkDdiQueryVidPnHWCapability が呼び出されると、ドライバーは次の表に従って、D3DKMDT_VIDPN_HW_CAPABILITY の回転、スケーリング、およびクローン作成の各メンバーの値を返す必要があります。
D3DKMDT_VIDPN_HW_CAPABILITY ハードウェア機能 VidPN パス DriverRotation DriverScaling DriverCloning Hardware のメンバーの戻り値は、回転、スケーリング、およびクローン作成のすべての変換を実行できます。
P₁
0
0
0
P₂
0
0
0
P₃
0
0
0
ハードウェアは、クローン作成を除くすべての変換を実行できます。
P₁
0
0
0
P₂
0
0
1
P₃
0
0
0
ハードウェアは、クローン作成とスケーリングの変換を実行できますが、回転は実行できません。 ドライバーは、中間回転 blit を使用して、回転を実行します。
P₁
1
0
0
P₂
0
0
0
P₃
0
0
0
ハードウェアは、クローン作成、スケーリング、および回転変換を実行できません。 これらの操作はドライバーによって実行されます。
P₁
1
1
0
P₂
0
0
1
P₃
0
0
0