VK_SUBPASS_EXTERNAL 到底是什么?

What exactly is VK_SUBPASS_EXTERNAL?

我最近在学习 Vulkan API,但无法理解 VK_SUBPASS_EXTERNAL(分配给 VkSubpassDependency::srcSubpassVkSubpassDependency::dstSubpass)的含义。 official documentation 声明:"If srcSubpass is equal to VK_SUBPASS_EXTERNAL, the first synchronization scope includes commands that occur earlier in submission order than the vkCmdBeginRenderPass used to begin the render pass instance."

这是否意味着子通道可以依赖于其他渲染通道中的另一个子通道?或者其他什么?

VK_SUBPASS_EXTERNAL 表示给定渲染过程范围之外的任何内容。当用于 srcSubpass 时,它指定渲染过程之前发生的任何事情。当用于 dstSubpass 时,它指定渲染过程之后发生的任何事情。

Does it imply that a subpass can depend on another subpass residing in other render passes?

这意味着同步机制需要包括在渲染过程之前或之后发生的操作。可能是另一个render pass,但也可能是其他一些操作,不一定是render pass相关的。