次の方法で共有


D3DDDICB_UPDATEGPUVIRTUALADDRESS構造体 (d3dumddi.h)

D3DDDICB_UPDATEGPUVIRTUALADDRESSpfnUpdateGpuVirtualAddressCb と共に使用され、ユーザー モード ドライバーは、1 回のページ テーブル更新のバッチでプロセス仮想アドレス空間に適用する多数のマッピング操作を指定できます。

構文

typedef struct _D3DDDICB_UPDATEGPUVIRTUALADDRESS {
  HANDLE                                   hContext;
  D3DKMT_HANDLE                            hFenceObject;
  UINT                                     NumOperations;
  D3DDDI_UPDATEGPUVIRTUALADDRESS_OPERATION *Operations;
  UINT                                     Reserved0;
  UINT64                                   Reserved1;
  UINT64                                   FenceValue;
  union {
    struct {
      UINT DoNotWait : 1;
      UINT Reserved : 31;
    };
    UINT Value;
  } Flags;
} D3DDDICB_UPDATEGPUVIRTUALADDRESS;

メンバー

hContext

マップ操作の同期対象となるコンテキストを指定します。 これにより、マップ操作を実行するカーネル コンテキストも決定されます。 リンクされたディスプレイ アダプター構成 では、hContext は、ページ テーブルが変更される物理 GPU を定義します。

hFenceObject

同期に使用する監視対象のフェンス オブジェクトを指定します。 これは通常、 hContext の進行状況を追跡するためにユーザー モード ドライバーによって使用される監視対象のフェンスに設定する必要があります。

NumOperations

Operations 配列内の操作の数を指定します。

Operations

D3DDDI_UPDATEGPUVIRTUALADDRESS_OPERATION GPU 仮想アドレス空間で実行する操作の配列です。

Reserved0

このメンバーは予約済みであり、0 に設定する必要があります。

Reserved1

このメンバーは予約済みであり、0 に設定する必要があります。

FenceValue

マップ操作で待機する hFenceObjectFenceValue を指定します (DoNotWait が 1 の場合を除く)。 Map 操作が完了すると、fence オブジェクトは fenceValue+ 1 で hFenceObject を通知します。

Flags

Flags.DoNotWait

1 に設定すると、操作を実行する前に同期オブジェクトの待機は行われません。

Flags.Reserved

このメンバーは予約済みであり、0 に設定する必要があります。

Flags.Value

Flags 共用体の統合値。

要件

要件
サポートされている最小のクライアント Windows 10
サポートされている最小のサーバー Windows Server 2016
Header d3dumddi.h (D3dumddi.h を含む)

こちらもご覧ください

D3DDDI_UPDATEGPUVIRTUALADDRESS_OPERATION

pfnUpdateGpuVirtualAddressCb