次の方法で共有


DXGK_NATIVE_FENCE_CAPS構造体 (d3dkmddi.h)

カーネル モードディスプレイ ミニポート ドライバー (KMD) は、DxgkDdiQueryAdapterInfo 関数が DXGKQAITYPE_NATIVE_FENCE_CAPS クエリ アダプター情報の種類で呼び出されたときに、DXGK_NATIVE_FENCE_CAPS で GPU のネイティブ フェンス機能を返します。

構文

typedef struct _DXGK_NATIVE_FENCE_CAPS {
  UINT                   MonitoredValueStride;
  BOOLEAN                MapToGpuSystemProcess;
  D3DGPU_VIRTUAL_ADDRESS MinimumAddress;
  D3DGPU_VIRTUAL_ADDRESS MaximumAddress;
  BYTE                   Reserved[28];
} DXGK_NATIVE_FENCE_CAPS;

メンバーズ

MonitoredValueStride

メモリを節約するために、OS は共有不可能なネイティブ GPU フェンス オブジェクトをまとめて同じメモリ ページにパックします。 MonitoredValueStride は、同じメモリ ページを共有する異なるフェンス オブジェクトの OS マネージド ストレージ間のストライドをバイト単位で指定します。

MapToGpuSystemProcess

コンテキスト管理プロセッサで使用するために、ネイティブ フェンスの現在の値と監視対象の値を GPU システム プロセスのアドレス空間にマップするかどうかを指定します。

MinimumAddress

GPU VA マッピングの最小仮想アドレス (省略可能)。

MaximumAddress

GPU VA マッピングの最大仮想アドレス (省略可能)。

Reserved[28]

システム用に予約されています。

備考

CurrentValueStridemonitoredValueStride 値は、同じメモリ ページを共有する異なるフェンス オブジェクトの OS マネージド ストレージ間のストライドをバイト単位で指定します。

ドライバーが MapToGpuSystemProcess設定すると、OS は、コンテキスト管理プロセッサが使用するシステム プロセス GPU 仮想アドレス空間を予約し、そのアドレス空間に GPU VA マッピングを作成して、CurrentValue と MonitoredValueのネイティブ フェンス するように指示します。 これらの GPUVA は、その後、DXGKARG_CREATENATIVEFENCE のCurrentValueSystemProcessGpuVa および MonitoredValueSystemProcessGpuVaとして KMD フェンス作成コールバックに渡されます。

KMD では、MinimumAddress と MaximumAddress オプションの を指定して、プロセス アドレス空間とシステム アドレス空間の両方について、選択した範囲内のネイティブ フェンス GPU VA マッピングを制限することもできます。 この制限は、システムで作成されたすべてのネイティブ フェンスに適用されます。

ネイティブ GPU フェンスの詳細については、「ネイティブ GPU フェンス オブジェクト」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 11 バージョン 24H2 (WDDM 3.2)
ヘッダー d3dkmddi.h

関連項目

DxgkDdiQueryAdapterInfo の

DXGKQAITYPE_NATIVE_FENCE_CAPS