103 lines
3.6 KiB
Plaintext
103 lines
3.6 KiB
Plaintext
// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a
|
|
// Creative Commons Attribution 4.0 International License; see
|
|
// http://creativecommons.org/licenses/by/4.0/
|
|
|
|
VkSubpassDependency(3)
|
|
======================
|
|
|
|
Name
|
|
----
|
|
VkSubpassDependency - Structure specifying a subpass dependency
|
|
|
|
C Specification
|
|
---------------
|
|
|
|
// refBegin VkSubpassDependency - Structure specifying a subpass dependency
|
|
|
|
The sname:VkSubpassDependency structure is defined as:
|
|
|
|
include::../api/structs/VkSubpassDependency.txt[]
|
|
|
|
|
|
Members
|
|
-------
|
|
|
|
* pname:srcSubpass and pname:dstSubpass are the subpass indices of the
|
|
producer and consumer subpasses, respectively. pname:srcSubpass and
|
|
pname:dstSubpass can: also have the special value
|
|
ename:VK_SUBPASS_EXTERNAL. The source subpass must: always be a lower
|
|
numbered subpass than the destination subpass (excluding external
|
|
subpasses and
|
|
<<synchronization-pipeline-barriers-subpass-self-dependencies,
|
|
self-dependencies>>), so that the order of subpass descriptions is a
|
|
valid execution ordering, avoiding cycles in the dependency graph.
|
|
* pname:srcStageMask, pname:dstStageMask, pname:srcAccessMask,
|
|
pname:dstAccessMask, and pname:dependencyFlags describe an
|
|
<<synchronization-execution-and-memory-dependencies,execution and memory
|
|
dependency>> between subpasses. The bits that can: be included in
|
|
pname:dependencyFlags are:
|
|
+
|
|
--
|
|
// refBegin VkDependencyFlagBits - Bitmask specifying dependencies between subpasses
|
|
include::../api/enums/VkDependencyFlagBits.txt[]
|
|
--
|
|
** If pname:dependencyFlags contains ename:VK_DEPENDENCY_BY_REGION_BIT,
|
|
then the dependency is by-region as defined in
|
|
<<synchronization-execution-and-memory-dependencies,Execution And Memory
|
|
Dependencies>>.
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
Each subpass dependency defines an execution and memory dependency
|
|
between two sets of commands, with the second set depending on the first
|
|
set. When pname:srcSubpass does not equal pname:dstSubpass then the first
|
|
set of commands is:
|
|
|
|
* All commands in the subpass indicated by pname:srcSubpass, if
|
|
pname:srcSubpass is not ename:VK_SUBPASS_EXTERNAL.
|
|
* All commands before the render pass instance, if pname:srcSubpass is
|
|
ename:VK_SUBPASS_EXTERNAL.
|
|
|
|
While the corresponding second set of commands is:
|
|
|
|
* All commands in the subpass indicated by pname:dstSubpass, if
|
|
pname:dstSubpass is not ename:VK_SUBPASS_EXTERNAL.
|
|
* All commands after the render pass instance, if pname:dstSubpass is
|
|
ename:VK_SUBPASS_EXTERNAL.
|
|
|
|
When pname:srcSubpass equals pname:dstSubpass then the first set consists of
|
|
commands in the subpass before a call to flink:vkCmdPipelineBarrier and the
|
|
second set consists of commands in the subpass following that same call as
|
|
described in the
|
|
<<synchronization-pipeline-barriers-subpass-self-dependencies, Subpass
|
|
Self-dependency>> section.
|
|
|
|
The pname:srcStageMask, pname:dstStageMask, pname:srcAccessMask,
|
|
pname:dstAccessMask, and pname:dependencyFlags parameters of the dependency
|
|
are interpreted the same way as for other dependencies, as described in
|
|
<<synchronization, Synchronization and Cache Control>>.
|
|
|
|
include::../validity/structs/VkSubpassDependency.txt[]
|
|
|
|
|
|
See Also
|
|
--------
|
|
|
|
elink:VkAccessFlags, elink:VkDependencyFlags, elink:VkPipelineStageFlags, slink:VkRenderPassCreateInfo
|
|
|
|
|
|
Document Notes
|
|
--------------
|
|
|
|
For more information, see the Vulkan Specification at URL
|
|
|
|
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkSubpassDependency
|
|
|
|
This page is extracted from the Vulkan Specification.
|
|
Fixes and changes should be made to the Specification,not directly.
|
|
|
|
include::footer.txt[]
|
|
|