DXGKARG_SUBMITCOMMANDVIRTUAL结构传递给 DxgkDdiSubmitCommandVirtual,以便将 DMA 缓冲区提交到支持虚拟寻址的上下文。
语法
typedef struct _DXGKARG_SUBMITCOMMANDVIRTUAL {
HANDLE hContext;
D3DGPU_VIRTUAL_ADDRESS DmaBufferVirtualAddress;
UINT DmaBufferSize;
VOID *pDmaBufferPrivateData;
UINT DmaBufferPrivateDataSize;
UINT DmaBufferUmdPrivateDataSize;
UINT SubmissionFenceId;
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
D3DDDI_FLIPINTERVAL_TYPE FlipInterval;
DXGK_SUBMITCOMMANDFLAGS Flags;
UINT EngineOrdinal;
UINT NodeOrdinal;
} DXGKARG_SUBMITCOMMANDVIRTUAL;
成员
hContext
从 DxgkDdiCreateContext 返回的句柄。
DmaBufferVirtualAddress
提交过程的上下文中 DMA 缓冲区的虚拟地址。
DmaBufferSize
DMA 缓冲区的大小(以字节为单位)。
pDmaBufferPrivateData
指向驱动程序的专用数据缓冲区的指针。
DmaBufferPrivateDataSize
驱动程序的专用数据缓冲区的大小(以字节为单位)。
DmaBufferUmdPrivateDataSize
由 SubmitCommandCb 中的用户模式驱动程序 (UMD) 设置的专用驱动程序数据的大小(以字节为单位)。 调用 SubmitCommandCb 时, Dxgkrnl 为大小等于 DXGK_CONTEXTINFO::DmaBufferPrivateDataSize 的专用驱动程序数据分配缓冲区。 此大小由内核模式驱动程序 (KMD) 在其 DxgkDdiCreateContext 调用中报告。 Dxgkrnl 将驱动程序的私有数据从 SubmitCommandCb 复制到分配的缓冲区。
SubmissionFenceId
驱动程序可以写入环形缓冲区中的围栏命令的唯一标识符,该缓冲区是 DMA 缓冲区排队等待 GPU 运行的缓冲区。 有关这些类型的标识符的详细信息,请参阅 提供围栏标识符。
VidPnSourceId
视频演示网络(VidPN)拓扑路径中视频演示源的从零开始的标识号,用于翻转作。 仅当 Flip 或 FlipWithNoWait 位字段标志在 标志 成员中设置时,此成员才有效。
FlipInterval
一个 D3DDDI_FLIPINTERVAL_TYPE类型的值,该值指示翻转间隔(即,如果翻转发生在零、一、二、三或四个垂直同步之后)。 仅当 Flags 成员中设置了 Flip 位字段标志(即 TRUE)时,FlipInterval 才有效。
Flags
一个DXGK_SUBMITCOMMANDFLAGS结构,用于标识要提交的 DMA 缓冲区的相关信息。
EngineOrdinal
保留以供将来使用。
NodeOrdinal
为上下文创建的节点的从零开始的索引。 标识上下文为 NULL 时的节点。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | Windows 10 |
| 支持的最低服务器 | Windows Server 2016 |
| 标头 | d3dkmddi.h (包括 D3dkmddi.h) |