ID3D11DeviceContext::ExecuteCommandList 方法 (d3d11.h)

将命令列表中的命令排队到设备上。

语法

void ExecuteCommandList(
  [in] ID3D11CommandList *pCommandList,
       BOOL              RestoreContextState
);

参数

[in] pCommandList

类型: ID3D11CommandList*

指向封装命令列表的 ID3D11CommandList 接口的指针。

RestoreContextState

类型: BOOL

一个布尔标志,用于确定目标上下文状态是否在执行命令列表之前和之后还原。 使用 TRUE 指示运行时需要保存和还原状态。 使用 FALSE 指示不应保存或还原任何状态,这会导致目标上下文在执行命令列表后返回到其默认状态。 应用程序通常应使用 FALSE ,除非它们会将状态还原为几乎等效于通过 TRUE 时运行时将还原的状态。 当应用程序使用 FALSE 时,可以避免不必要的低效状态转换。

返回值

备注

使用此方法可播放由任何线程上的延迟上下文记录的命令列表。

需要调用从延迟上下文到直接上下文的命令列表的 ExecuteCommandList ,才能在图形处理单元上执行记录的命令 (GPU) 。 将命令列表从延迟上下文调用到另一个延迟上下文的 ExecuteCommandList 可用于合并记录的列表。 但是,若要在 GPU 上运行合并的延迟命令列表中的命令,需要在即时上下文中执行这些命令。

此方法执行与查询相关的一些运行时验证。 无法通过执行命令列表间接操作在设备上下文中启动的查询, (即,由生成命令列表) 的延迟上下文针对同一查询调用 Begin 或 End。 如果出现此类情况,ExecuteCommandList 方法不会执行命令列表。 但是,仍会像执行 ID3D11DeviceContext::ClearState (预期的那样维护设备上下文的状态,除非应用程序指示) 保留设备上下文状态。

Windows Phone 8:支持此 API。

要求

要求
目标平台 Windows
标头 d3d11.h
Library D3d11.lib

另请参阅

ID3D11DeviceContext