VK_SUBPASS_EXTERNAL 究竟是什么?

Kae*_*Rin 8 vulkan

我最近正在学习 Vulkan API,但无法理解VK_SUBPASS_EXTERNAL(分配给VkSubpassDependency::srcSubpassVkSubpassDependency::dstSubpass)的含义。的官方文件的状态:“如果srcSubpass等于VK_SUBPASS_EXTERNAL,第一同步范围包括比所述vkCmdBeginRenderPass用于开始渲染过程实例,在提交顺序更早发生的命令”。

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

Ekz*_*uzy 8

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

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

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