iOS Metal可能有条件地将命令编码到命令缓冲区

时间:2020-01-17 05:09:57

标签: ios metal

在这种情况下,我的所有管道都可以在单个命令缓冲区上运行,除了两个计算内核外。我必须检查最后一个内核的结果才能对命令A或命令B进行编码。

伪代码流:

Command Buffer 1: commandEncoder1 -> dispatchThreads , commandEncoder2 -> dispatchThreads 
Check output of commandEncoder2, if it is 1 then commandEncoder3 -> dispatchThreads else commandEncoder4->dispatchThreads.

现在,我必须在CommandBuffer1上等待,检查结果并根据来自commandEncoder2的结果使用commandEncoder3或commandEncoder4启动新的CommandBuffer。

是否有一种无需提交命令缓冲区即可执行相同操作的方法?从提交到分派新的commandBuffer大约要花3.2毫秒,我真的需要3.2毫秒来加快处理速度。

0 个答案:

没有答案