D3DDDI_RESERVEGPUVIRTUALADDRESS structure (d3dukmdt.h)
The user-mode graphics driver passes D3DDDI_RESERVEGPUVIRTUALADDRESS to the D3D runtime's pfnReserveGpuVirtualAddressCb callback to reserve an address range in the GPU virtual address space of the current process.
Syntax
typedef struct D3DDDI_RESERVEGPUVIRTUALADDRESS {
union {
D3DKMT_HANDLE hPagingQueue;
D3DKMT_HANDLE hAdapter;
};
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS BaseAddress;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MinimumAddress;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MaximumAddress;
D3DKMT_ALIGN64 D3DGPU_SIZE_T Size;
union {
D3DDDIGPUVIRTUALADDRESS_RESERVATION_TYPE ReservationType;
UINT Reserved0;
};
union {
D3DKMT_ALIGN64 UINT64 DriverProtection;
D3DKMT_ALIGN64 UINT64 Reserved1;
};
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
union {
D3DKMT_ALIGN64 UINT64 PagingFenceValue;
D3DKMT_ALIGN64 UINT64 Reserved2;
};
} D3DDDI_RESERVEGPUVIRTUALADDRESS;
Members
hPagingQueue
This member is obsolete. Don't use it.
hAdapter
[in] DirectX graphics adapter handle or zero (0). If UMD sets hAdapter set to 0, the D3D runtime will set hAdapter to the kernel's D3DKMT_HANDLE before calling the D3DKMTReserveGpuVirtualAddress kernel interface.
BaseAddress
[in/optional] The number of bytes to reserve in the GPU virtual address space. BaseAddress must be aligned to a 64KB boundary.
If BaseAddress is non-NULL, the video memory manager attempts to use this address as the base address for the reserved range. If the range from BaseAddress to BaseAddress+Size isn’t free, the call fails. When BaseAddress is non-NULL, MinimumAddress and MaximumAddress are ignored.
If NULL is specified the video memory manager picks the base address for the allocation within the specified MinimumAddress and MaximumAddress.
MinimumAddress
[in/optional] The minimum GPU virtual address to consider for the reserved range. MinimumAddress is in bytes and must be aligned to 64KB boundary. It's ignored when BaseAddress is non-NULL.
MaximumAddress
[in/optional] The maximum GPU virtual address to consider for the reserved range. The video memory manager guarantees that BaseAddress+Size <= MaximumAddress. If MaximumAddress is set to NULL the video memory manager will not apply any limit.
MaximumAddress is in bytes and must be aligned to 64KB boundary. It's ignored when BaseAddress is non-NULL.
Size
[in] The size of the range to reserve, in bytes. Must be a multiple of 64KB.
ReservationType
This member is obsolete. Don't use it.
Reserved0
This member is reserved and should be set to zero.
DriverProtection
This member is obsolete. Don't use it.
Reserved1
This member is reserved and should be set to zero.
VirtualAddress
[out] The reserved virtual address.
PagingFenceValue
This member is obsolete. Don't use it.
Reserved2
This member is reserved and should be set to zero.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Minimum supported server | Windows Server 2016 |
Header | d3dukmdt.h (include D3dumddi.h, D3dkmddi.h) |