D3DDDICB_UPDATEGPUVIRTUALADDRESS structure (d3dumddi.h)

D3DDDICB_UPDATEGPUVIRTUALADDRESS is used with pfnUpdateGpuVirtualAddressCb to allow the user mode driver to specify a number of mapping operations to be applied to the process virtual address space in a single batch of page table updates.

Syntax

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;

Members

hContext

Specifies the context against which the map operation will be synchronized against. This also determines which kernel context the map operation will be executed against. In a linked display adapter configuration hContext defines a physical GPU, whose page tables are modified.

hFenceObject

Specifies the monitored fence object to use for synchronization. This should typically be set to the monitored fence used by the user mode driver to track progress of hContext.

NumOperations

Specifies the number of operations in the Operations array.

Operations

D3DDDI_UPDATEGPUVIRTUALADDRESS_OPERATION array of operations to perform on the GPU virtual address space.

Reserved0

This member is reserved and should be set to zero.

Reserved1

This member is reserved and should be set to zero.

FenceValue

Specifies the FenceValue for hFenceObject that the Map operation should wait on (unless DoNotWait is 1). When the Map operation completes, the fence object will signal hFenceObject with FenceValue+1.

Flags

Flags.DoNotWait

When set to 1, there will be no wait for the sync objects before executing the operations.

Flags.Reserved

This member is reserved and should be set to zero.

Flags.Value

The consolidated value of the Flags union.

Requirements

Requirement Value
Minimum supported client Windows 10
Minimum supported server Windows Server 2016
Header d3dumddi.h (include D3dumddi.h)

See also

D3DDDI_UPDATEGPUVIRTUALADDRESS_OPERATION

pfnUpdateGpuVirtualAddressCb