PFND3DDDI_SUBMITCOMMANDCB回调函数 (d3dumddi.h)

pfnSubmitCommandCb 用于在支持图形处理单元(GPU)虚拟寻址的上下文上提交命令缓冲区。 这些上下文直接从用户模式生成命令,管理自己的命令缓冲池,并且不使用分配或修补位置列表。

pfnSubmitCommandCb 替换了用于此类上下文的旧 pfnRenderCb,并且必须在其位置使用。 在旧版修补模式下运行的上下文必须继续使用旧的 pfnRenderCb

尽管用户模式驱动程序不生成修补程序位置,但它仍必须生成要写入到的初选的列表。 视频内存管理器使用分配列表来确定要由每个命令缓冲区写入的主要分配。 此信息用于将呈现与 Flip作同步到主要副本。

某些内核模式驱动程序需要用户模式驱动程序中的信息,了解如何将特定的直接内存访问(DMA)缓冲区提交到其 GPU。 在 Windows 显示驱动程序模型 (WDDM) 1.0 中,用户模式驱动程序通过命令缓冲区将此信息发送到内核模式驱动程序。 由于 DMA 缓冲区由用户模式驱动程序直接生成,并且无需修改即可提交到 GPU,因此它们不能再用于将信息发送到内核驱动程序。 因此,我们将添加要随提交一起发送的显式专用驱动程序数据缓冲区。 请注意,此专用驱动程序数据是单向的,内核模式驱动程序无法通过此缓冲区将信息返回到用户模式驱动程序。

语法

PFND3DDDI_SUBMITCOMMANDCB Pfnd3dddiSubmitcommandcb;

HRESULT Pfnd3dddiSubmitcommandcb(
  HANDLE hDevice,
  const D3DDDICB_SUBMITCOMMAND *unnamedParam2
)
{...}

参数

hDevice

显示设备的句柄。

unnamedParam2

pData [in]

指向描述要执行的作的 D3DDDICB_SUBMITCOMMAND 结构的指针。

返回值

如果此回调函数成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。

要求

要求 价值
最低支持的客户端 Windows 10
支持的最低服务器 Windows Server 2016
目标平台 桌面
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDICB_SUBMITCOMMAND

pfnRenderCb