首页 > 解决方案 > VK_SUBPASS_EXTERNAL 到底是什么?

问题描述

我最近在学习 Vulkan API,但无法理解VK_SUBPASS_EXTERNAL(分配给VkSubpassDependency::srcSubpassor VkSubpassDependency::dstSubpass)是什么意思。官方文档指出:“如果 srcSubpass 等于 VK_SUBPASS_EXTERNAL,则第一个同步范围包括在提交顺序中比用于开始渲染通道实例的 vkCmdBeginRenderPass 更早出现的命令。”

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

标签: vulkan

解决方案


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

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

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


推荐阅读