D3DDDI_RESERVEGPUVIRTUALADDRESS structure (d3dukmdt.h)

D3DDDI_RESERVEGPUVIRTUALADDRESS is used with pfnReserveGpuVirtualAddressCb to reserve an address range in the graphics processing unit (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;
  };
  [out] D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
  union {
          D3DKMT_ALIGN64 UINT64 PagingFenceValue;
          D3DKMT_ALIGN64 UINT64 Reserved2;
  };
} D3DDDI_RESERVEGPUVIRTUALADDRESS;

Members

hPagingQueue

Paging queue to synchronize the operation on.

hAdapter

DirectX graphics adapter handle.

BaseAddress

(Optional) If non-NULL, the video memory manager will attempt 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 will fail. When this parameter is non-NULL, MinimumAddress and MaximumAddress are ignored.

BaseAddress is in bytes and must be aligned to 64KB boundary.

If NULL is specified the video memory manager will pick the base address for the allocation within the specified MinimumAddress and MaximumAddress.

MinimumAddress

(Optional) Specifies the minimum GPU virtual address to consider for the reserved range.

MinimumAddress is in bytes and must be aligned to 64KB boundary.

This parameter is ignored when BaseAddress != NULL.

MaximumAddress

(Optional) Specifies the maximum GPU virtual address to consider for the reserved range. the video memory manager will guarantee that BaseAddress+Size <= MaximumAddress. If this is set to NULL the video memory manager will not apply any limit.

MaximumAddress is in bytes and must be aligned to 64KB boundary.

This parameter is ignored when BaseAddress != NULL.

Size

Specify the size of the range to reserve in bytes. Must be a multiple of 64KB.

ReservationType

Specifies the virtual address reservation type.

Reserved0

This member is reserved and should be set to zero.

DriverProtection

Specifies the driver-specific protection

Reserved1

This member is reserved and should be set to zero.

[out] VirtualAddress

The reserved virtual address.

PagingFenceValue

Paging fence identifier for synchronization

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)

See also

pfnReserveGpuVirtualAddressCb