D3DKMTSubmitCommand 函数 (d3dkmthk.h)
D3DKMTSubmitCommand 用于在支持图形处理单元 (GPU) 虚拟寻址的上下文上提交命令缓冲区。 这些上下文直接从用户模式生成命令,管理自己的命令缓冲池,并且不使用分配或修补程序位置列表。
语法
NTSTATUS D3DKMTSubmitCommand(
[in] const D3DKMT_SUBMITCOMMAND *unnamedParam1
);
参数
[in] unnamedParam1
指向描述操作 的 D3DKMT_SUBMITCOMMAND 结构的指针。
返回值
返回代码 | 说明 |
---|---|
STATUS_SUCCESS | 已成功创建设备上下文。 |
STATUS_INVALID_PARAMETER | 参数已验证,确定为不正确。 |
此函数还可能返回其他 NTSTATUS 值。
注解
此函数将替换此类上下文的旧 Render 函数,并且必须在其位置使用。 在旧版修补模式下运行的上下文必须继续使用旧的 Render 函数。
尽管用户模式驱动程序不会生成修补程序位置,但它仍必须生成正在写入的主要项的列表。 视频内存管理器使用分配列表来确定每个命令缓冲区引用哪些主分配以供写入。 此信息用于通过 翻转 操作将呈现同步到主数据库。
某些内核模式驱动程序需要用户模式驱动程序提供有关如何将特定直接内存访问 (DMA) 缓冲区提交到其 GPU 的信息。 在 Windows 显示驱动程序模型 (WDDM) 1.0 中,用户模式驱动程序通过命令缓冲区将此信息发送到内核模式驱动程序。 由于 DMA 缓冲区由用户模式驱动程序直接生成,并且无需修改即可提交到 GPU,因此它们不能再用于将信息发送到内核驱动程序。 为了能够在用户模式和内核模式驱动程序之间传输信息,已添加显式专用驱动程序数据缓冲区,以便随提交一起发送。
注意
此专用驱动程序数据是单向的,内核模式驱动程序无法通过此缓冲区将信息返回给用户模式驱动程序。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 |
最低受支持的服务器 | Windows Server 2016 |
目标平台 | 通用 |
标头 | d3dkmthk.h (包括 D3dkmthk.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |