D3DDDICB_UPDATEGPUVIRTUALADDRESS 结构 (d3dumddi.h)

D3DDDICB_UPDATEGPUVIRTUALADDRESSpfnUpdateGpuVirtualAddressCb 一起使用,以允许用户模式驱动程序指定要应用于单批页表更新中的进程虚拟地址空间的多个映射操作。

语法

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

此成员为保留成员,应设置为零。

Reserved1

此成员为保留成员,应设置为零。

FenceValue

hFenceObject 指定 Map 操作应在 (等待的 FenceValue,除非 DoNotWait 为 1) 。 映射操作完成后,fence 对象将使用 FenceValue+1 向 hFenceObject 发出信号。

Flags

Flags.DoNotWait

设置为 1 时,在执行操作之前不会等待同步对象。

Flags.Reserved

此成员为保留成员,应设置为零。

Flags.Value

Flags 联合的合并值。

要求

要求
最低受支持的客户端 Windows 10
最低受支持的服务器 Windows Server 2016
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDI_UPDATEGPUVIRTUALADDRESS_OPERATION

pfnUpdateGpuVirtualAddressCb