Skip to main content
创建命令列表。

语法

参数

nodeMask [in]
类型:UINT
对于单 GPU 操作,将其设置为零。如果有多个 GPU 节点,则设置一个位以标识要为其创建命令列表的节点(设备的物理适配器)。掩码中的每一位都对应一个节点。只能设置一位。另请参阅 多适配器系统 type [in]
类型:D3D12_COMMAND_LIST_TYPE
指定要创建的命令列表的类型。 pCommandAllocator [in]
类型:ID3D12CommandAllocator *
指向命令分配器对象的指针,设备将从该对象创建命令列表。 pInitialState [in, optional]
类型:ID3D12PipelineState *
指向管道状态对象的可选指针,其中包含命令列表的初始管道状态。如果它为 nullptr,则运行时将设置一个虚拟初始管道状态,这样驱动程序就不必处理未定义的状态。这样做的开销很小,特别是对于命令列表而言,因为记录命令列表的整体成本可能远远超过设置单个初始状态的成本。因此,如果设置初始管道状态参数不便,则不设置它的成本很低。 另一方面,对于捆绑包,尝试设置初始状态参数可能更有意义(因为捆绑包通常整体较小,并且可能被频繁重用)。 riid [in]
类型:const IID &
要在 ppCommandList 中返回的命令列表接口的全局唯一标识符 (GUID) 的引用。 ppCommandList [out]
类型:void **
指向内存块的指针,该内存块接收命令列表的 ID3D12CommandListID3D12GraphicsCommandList 接口的指针。

返回值

类型:HRESULT 如果函数成功,则返回 S_OK。否则,返回 HRESULT 错误代码 有关其他可能的返回值,请参阅 Direct3D 12 返回代码

备注

设备从命令分配器创建命令列表。

示例

D3D12Bundles 示例按以下方式使用 ID3D12Device::CreateCommandList 创建管道对象。
创建命令分配器。
创建直接命令列表。
请参阅 D3D12 参考中的示例代码

要求

头文件: d3d12_xs.h 或 d3d12_x.h
库: d3d12_xs.lib 或 d3d12_x.lib
支持的平台:XBOX Series 主机和 XBOX One 系列

另请参阅

ID3D12Device ID3D12GraphicsCommandList::Reset
最后修改于 2026年8月24日