我最近正在学习Vulkan API,但无法理解VK_SUBPASS_EXTERNAL
(分配给VkSubpassDependency::srcSubpass
或VkSubpassDependency::dstSubpass
)的含义。
official documentation指出:“如果srcSubpass等于VK_SUBPASS_EXTERNAL,则第一个同步作用域将包括在提交顺序中早于用于开始渲染过程实例的vkCmdBeginRenderPass的命令。”
是否暗示一个子通道可以依赖于其他渲染通道中的另一个子通道?还是其他?
答案 0 :(得分:3)
VK_SUBPASS_EXTERNAL
表示给定渲染过程范围之外的任何事物。当用于srcSubpass
时,它指定渲染传递之前发生的任何事情。并且当用于dstSubpass
时,它指定渲染过程之后发生的任何事情。
是否暗示子通道可以依赖于其他渲染通道中的另一个子通道?
这意味着同步机制需要包括在渲染过程之前或之后进行的操作。这可能是另一个渲染过程,但也可能是其他一些操作,不一定与渲染过程相关。