D3DDDI_RESERVEGPUVIRTUALADDRESS結構(d3dukmdt.h)
使用者模式圖形驅動程式會將 D3DDDI_RESERVEGPUVIRTUALADDRESS 傳遞給 D3D 運行時間的 pfnReserveGpuVirtualAddressCb 回呼,以在目前進程的 GPU 虛擬地址空間中保留位址範圍。
語法
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;
成員
hPagingQueue
這個成員已經過時。 請勿使用它。
hAdapter
[in]DirectX 圖形配接器句柄或零 (0)。 如果 UMD 設定 hAdapter 設為 0,D3D 運行時間會在呼叫 D3DKMTReserveGpuVirtualAddress 核心介面之前,將 hAdapter 設為核心D3DKMT_HANDLE。
BaseAddress
[in/optional]要保留在 GPU 虛擬位址空間中的位元元數目。 BaseAddress 必須對齊 64KB 界限。
如果 BaseAddress 為非NULL,影片記憶體管理員會嘗試使用此位址作為保留範圍的基位址。 如果從 BaseAddress 到 BaseAddress+Size 的範圍不是免費,則呼叫會失敗。 當 baseAddress 為非 NULL 時,MinimumAddress 和 MaximumAddress。
如果指定 NULL,則視訊記憶體管理員會挑選指定之 MinimumAddress 和 MaximumAddress內的配置基位址。
MinimumAddress
[in/optional]保留範圍的最小 GPU 虛擬位址。
MinimumAddress 為位元組,且必須對齊 64KB 界限。 當BaseAddress
MaximumAddress
[in/optional]保留範圍的 GPU 虛擬位址上限。 影片記憶體管理員保證 BaseAddress+Size<= MaximumAddress。 如果 MaximumAddress 設為 NULL,則視訊記憶體管理員將不會套用任何限制。
MaximumAddress 為位元組,且必須對齊 64KB 界限。 當BaseAddress
Size
[in]要保留的範圍大小,以位元組為單位。 必須是 64KB 的倍數。
ReservationType
這個成員已經過時。 請勿使用它。
Reserved0
這個成員是保留的,而且應該設定為零。
DriverProtection
這個成員已經過時。 請勿使用它。
Reserved1
這個成員是保留的,而且應該設定為零。
VirtualAddress
[out]保留的虛擬位址。
PagingFenceValue
這個成員已經過時。 請勿使用它。
Reserved2
這個成員是保留的,而且應該設定為零。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 |
支援的最低伺服器 | Windows Server 2016 |
標頭 | d3dukmdt.h (包括 D3dumddi.h, D3dkmddi.h) |