// d3dkmthk.h
typedef struct _D3DKMT_UPDATEGPUVIRTUALADDRESS {
D3DKMT_HANDLE hDevice;
D3DKMT_HANDLE hContext;
D3DKMT_HANDLE hFenceObject;
UINT NumOperations;
D3DDDI_UPDATEGPUVIRTUALADDRESS_OPERATION *Operations;
D3DKMT_ALIGN64 D3DKMT_SIZE_T Reserved0;
D3DKMT_ALIGN64 UINT64 Reserved1;
D3DKMT_ALIGN64 UINT64 FenceValue;
union {
struct {
UINT DoNotWait : 1;
UINT Reserved : 31;
};
UINT Value;
} Flags;
} D3DKMT_UPDATEGPUVIRTUALADDRESS;
View the official Windows Driver Kit DDI referenceNo description available.
D3DKMT_UPDATEGPUVIRTUALADDRESS is used with UpdateGpuVirtualAddress to allow the 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.
hDeviceA handle to the device.
hContextA handle to a context that 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 (LDA) 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.
FlagsFlag options.
Flags.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.