D3DDDI_MAPGPUVIRTUALADDRESS结构(d3dukmdt.h)
D3DDDI_MAPGPUVIRTUALADDRESS 结构用于 pfnMapGpuVirtualAddressCb,将 GPU 虚拟地址范围映射到特定分配范围,或将其置于 无效 或 零 状态。
语法
typedef struct D3DDDI_MAPGPUVIRTUALADDRESS {
D3DKMT_HANDLE hPagingQueue;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS BaseAddress;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MinimumAddress;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MaximumAddress;
D3DKMT_HANDLE hAllocation;
D3DKMT_ALIGN64 D3DGPU_SIZE_T OffsetInPages;
D3DKMT_ALIGN64 D3DGPU_SIZE_T SizeInPages;
D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE Protection;
D3DKMT_ALIGN64 UINT64 DriverProtection;
UINT Reserved0;
D3DKMT_ALIGN64 UINT64 Reserved1;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
D3DKMT_ALIGN64 UINT64 PagingFenceValue;
} D3DDDI_MAPGPUVIRTUALADDRESS;
成员
hPagingQueue
用于作的设备分页队列的句柄。
BaseAddress
(可选)如果为非 NULL,则视频内存管理器将尝试将此地址用作映射的基址。 如果从 BaseAddress 到 BaseAddress+Size 的范围不是免费的,则它必须属于以前通过调用 pfnReserveGpuVirtualAddressCb 或 pfnMapGpuVirtualAddressCb获取的范围。
BaseAddress 值以字节为单位,必须与 CPU 页边界对齐。 如果指定 NULL,则视频内存管理器将选取指定 MinimumAddress 和 MaximumAddress中分配的基址。
MinimumAddress
(可选)指定要为映射范围考虑的最小 GPU 虚拟地址。
MinimumAddress 值为字节,并且必须与 4KB 页对齐。 BaseAddress != NULL 时,将忽略此参数。
MaximumAddress
(可选)指定要为映射范围考虑的最大 GPU 虚拟地址。 视频内存管理器将保证 BaseAddress+Size<= MaximumAddress。 如果 MaximumAddress 设置为 NULL,则视频内存管理器将不适用任何限制。
MaximumAddress 值以字节为单位,必须与 4KB 页面对齐。 BaseAddress != NULL 时,将忽略此参数。
hAllocation
映射到 GPU 虚拟地址空间的分配的句柄。 指定 protection.NoAccess 或 Protection.Zero 时,必须为 NULL。
OffsetInPages
指定必须映射的指定分配中的起始页的偏移量(以 4KB 为单位)。
SizeInPages
指定要映射的范围的大小,以 4KB 页为单位。
Protection
D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE 结构,指定映射的 GPU 虚拟地址上的保护。
DriverProtection
指定与要分配的 VA 范围关联的特定于驱动程序的 64 位保护值。 指定的驱动程序保护将用于调用 DxgkDdiUpdatePageTable 对应于此虚拟地址范围的页表条目。
Reserved0
此成员是保留的,应设置为零。
Reserved1
此成员是保留的,应设置为零。
VirtualAddress
分配给分配的虚拟地址。
PagingFenceValue
当地图作在 GPU 上完成时,视频内存管理器发出信号的设备分页围栏值。 用户模式驱动程序必须确保此围栏已停用或显式等待该围栏上的 CPU 或 GPU,然后允许 GPU 访问映射范围或可能发生不可恢复的故障。 可能会返回零围栏值,这意味着作已完成。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 |
支持的最低服务器 | Windows Server 2016 |
标头 | d3dukmdt.h (包括 D3dumddi.h, D3dkmddi.h) |