Vulkan的RenderPass和Command是否在GPU上并行执行

问题描述

第一个问题是,我有两个renderPasses,并且我没有设置它们的依赖关系,这两个renderPasses是在GPU中并行执行还是根据执行vkQueueSubmit时提交的commanbuffer序列执行。例如:

1,renderpass1

2,renderpass2

3,renderpass3

那么gpu会按顺序执行1,2,3吗? 还是再次,乱序并行执行2,1,3?

第二个问题是,只有一个renderPass,一个命令缓冲区,并且记录在vkCmdBeginRenderPass和vkCmdEndRenderPass之间的命令缓冲区中的命令在GPU上并行执行,或者按vkQueueSubmit的顺序执行。例如,记录的命令顺序为:

1,vkCmdBindPipeline

2,vkCmdBindDescriptorSets

3,vkCmdDrawIndexed

4,vkCmdBindPipeline

5,vkCmdBindDescriptorSets

6,vkCmdDrawIndexed

那么在GPU中我们依次执行1,3,4,5,6吗? 还是再次,顺序为5,6,3并并行进行?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)