// d3dumddi.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
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.
hContextSpecifies 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.
hFenceObjectSpecifies 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.
NumOperationsSpecifies the number of operations in the Operations array.
OperationsD3DDDI_UPDATEGPUVIRTUALADDRESS_OPERATION array of operations to perform on the GPU virtual address space.
Reserved0This member is reserved and should be set to zero.
Reserved1This member is reserved and should be set to zero.
FenceValueSpecifies 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.
FlagsFlags.DoNotWaitWhen set to 1, there will be no wait for the sync objects before executing the operations.
Flags.ReservedThis member is reserved and should be set to zero.
Flags.ValueThe consolidated value of the Flags union.
D3DDDI_UPDATEGPUVIRTUALADDRESS_OPERATION