DXGKARG_SUBMITCOMMANDTOHWQUEUE结构(d3dkmddi.h)

用于将命令提交到硬件队列的参数。

语法

typedef struct _DXGKARG_SUBMITCOMMANDTOHWQUEUE {
  [in] HANDLE                  hHwQueue;
       UINT64                  HwQueueProgressFenceId;
       D3DGPU_VIRTUAL_ADDRESS  DmaBufferVirtualAddress;
       UINT                    DmaBufferSize;
       UINT                    DmaBufferPrivateDataSize;
       VOID                    *pDmaBufferPrivateData;
       DXGK_SUBMITCOMMANDFLAGS Flags;
       D3DGPU_VIRTUAL_ADDRESS  HwQueueProgressFenceGpuVa;
       VOID                    *HwQueueProgressFenceCpuVa;
} DXGKARG_SUBMITCOMMANDTOHWQUEUE;

成员

[in] hHwQueue

正在提交到的硬件队列。

HwQueueProgressFenceId

硬件队列进度围栏 ID,将在 GPU 上完成当前 Blt 时发出信号。

DmaBufferVirtualAddress

要对 GPU 执行的 DMA 缓冲区的虚拟地址。

DmaBufferSize

要对 GPU 执行的 DMA 缓冲区的大小。

DmaBufferPrivateDataSize

缓冲区的私有数据大小。

pDmaBufferPrivateData

由用户模式 DDI 回调 pfnSubmitToHwQueueCb 传递的二进制数据,用于从用户模式提交命令,或者对于内核模式提交(例如 Present Blt、由 DdiPresent 填充的专用驱动程序数据缓冲区)的二进制数据。

重要

从 DxgkDdiSubmitCommandToHwQueue 返回后,将释放专用驱动程序数据缓冲区。 这不同于 WDDM 2.0-2.3,其中专用驱动程序数据生存期延长到 GPU 上的命令缓冲区完成为止。

Flags

对于用户模式驱动程序生成的命令缓冲区,这些缓冲区将设置为零。 内核模式驱动程序 DdiPresentToHwQueue 生成的命令缓冲区将 Present 标志设置为 1。

HwQueueProgressFenceGpuVa

将在完成此 DMA 缓冲区后发出信号的围栏的 GPU VA(视频加速)。

HwQueueProgressFenceCpuVa

此 DMA 缓冲区完成时将发出信号的围栏的内核模式 CPU VA。

如果提交的节点已 RingBufferFenceRelease cap 设置为 0,则用户模式驱动程序会将围栏更新作为 DMA 缓冲区末尾的最后一条指令或内核提交(由内核模式驱动程序响应 DdiSignalMonitoredFence 调用)插入。

如果提交的节点已 RingBufferFenceRelease 上限设置为 1,则会在 GPU 或 CPU 不再使用 DMA 缓冲区后执行围栏更新。 围栏更新的确切机制由 KMD/GPU 组成。 例如,在停用 DMA 缓冲区或 KMD 时,上下文管理处理器硬件可以执行此作。

要求

要求 价值
标头 d3dkmddi.h