Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What exactly is VK_SUBPASS_EXTERNAL?

Tags:

vulkan

I was recently learning the Vulkan API but just cannot understand what VK_SUBPASS_EXTERNAL (assigned to VkSubpassDependency::srcSubpass or VkSubpassDependency::dstSubpass) means. The official documentation states: "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."

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

like image 734
ph3rin Avatar asked Dec 31 '18 07:12

ph3rin


1 Answers

VK_SUBPASS_EXTERNAL means anything outside of a given render pass scope. When used for srcSubpass it specifies anything that happened before the render pass. And when used for dstSubpass it specifies anything that happens after the render pass.

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

It means that synchronization mechanisms need to include operations that happen before or after the render pass. It may be another render pass, but it also may be some other operations, not necessarily render pass-related.

like image 71
Ekzuzy Avatar answered Sep 18 '22 07:09

Ekzuzy