次の方法で共有


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

同じページにパックされているネイティブ フェンスの監視対象値のストライド (バイト単位)。

MapToGpuSystemProcess

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

MinimumAddress

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

MaximumAddress

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

Reserved[28]

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

備考

メモリを節約するために、OS は共有不可能なネイティブ GPU フェンス オブジェクトをまとめて同じメモリ ページにパックします。

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

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

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

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

必要条件

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

関連項目

DxgkDdiQueryAdapterInfo の

DXGKQAITYPE_NATIVE_FENCE_CAPS