DXGKARG_SUBMITCOMMANDVIRTUAL 结构 (d3dkmddi.h)

DXGKARG_SUBMITCOMMANDVIRTUAL 用于将直接内存访问 (DMA) 缓冲区提交到支持使用 DxgkDdiSubmitCommandVirtual设备驱动程序接口 (DDI) 进行虚拟寻址的上下文。

语法

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 中的用户模式驱动程序设置的专用驱动程序数据的大小(以字节为单位)。 调用 SubmitCommandCb 时,DirectX 图形内核为专用驱动程序数据分配一个缓冲区,其大小等于 DXGK_CONTEXTINFO::DmaBufferPrivateDataSize。 此大小由 DxgkDdiCreateContext 调用中的内核模式驱动程序报告。 DirectX 图形内核将驱动程序专用数据从 SubmitCommandCb 复制到分配的缓冲区。

SubmissionFenceId

驱动程序可以写入环形缓冲区中的围栏命令的唯一标识符,该缓冲区是 DMA 缓冲区排队等待 GPU 运行的缓冲区。 有关这些类型的标识符的详细信息,请参阅 提供围栏标识符

VidPnSourceId

视频呈现网络路径中视频呈现源的从零开始的标识号 (用于翻转操作的 VidPN) 拓扑。 仅当 Flags 成员中设置了 FlipFlipWithNoWait 位字段标志时,此成员才有效。

FlipInterval

一个D3DDDI_FLIPINTERVAL_TYPE类型的值,指示翻转间隔 (即,如果在零、一、二、三或四个垂直同步之后发生翻转,则) 。 FlipInterval 仅在设置 Flip 位字段标志 (即 Flags 成员中的 TRUE) 时有效。

Flags

一个DXGK_SUBMITCOMMANDFLAGS结构,用于标识有关要提交的 DMA 缓冲区的信息。

EngineOrdinal

保留供将来使用。

NodeOrdinal

为其创建上下文的节点的从零开始的索引。 标识上下文为 NULL 时的节点。

要求

要求
最低受支持的客户端 Windows 10
最低受支持的服务器 Windows Server 2016
标头 d3dkmddi.h (包括 D3dkmddi.h)

另请参阅

D3DDDI_FLIPINTERVAL_TYPE

DXGK_CONTEXTINFO

DxgkDdiCreateContext

DxgkDdiSubmitCommandVirtual

提供围栏标识符