95 lines
3.3 KiB
Plaintext
95 lines
3.3 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/
|
|
|
|
vkCmdPipelineBarrier(3)
|
|
=======================
|
|
|
|
Name
|
|
----
|
|
vkCmdPipelineBarrier - Insert a set of execution and memory barriers.
|
|
|
|
C Specification
|
|
---------------
|
|
|
|
// refBegin vkCmdPipelineBarrier Insert a set of execution and memory barriers.
|
|
|
|
To record a pipeline barrier, call:
|
|
|
|
include::../api/protos/vkCmdPipelineBarrier.txt[]
|
|
|
|
|
|
Parameters
|
|
----------
|
|
|
|
* pname:commandBuffer is the command buffer into which the command is
|
|
recorded.
|
|
* pname:srcStageMask is a bitmask of elink:VkPipelineStageFlagBits
|
|
specifying a set of source pipeline stages (see
|
|
<<synchronization-pipeline-stage-flags>>).
|
|
* pname:dstStageMask is a bitmask specifying a set of destination pipeline
|
|
stages.
|
|
+
|
|
The pipeline barrier specifies an execution dependency such that all
|
|
work performed by the set of pipeline stages included in
|
|
pname:srcStageMask of the first set of commands completes before any
|
|
work performed by the set of pipeline stages included in
|
|
pname:dstStageMask of the second set of commands begins.
|
|
+
|
|
* pname:dependencyFlags is a bitmask of elink:VkDependencyFlagBits. The
|
|
execution dependency is by-region if the mask includes
|
|
ename:VK_DEPENDENCY_BY_REGION_BIT.
|
|
* pname:memoryBarrierCount is the length of the pname:pMemoryBarriers
|
|
array.
|
|
* pname:pMemoryBarriers is a pointer to an array of slink:VkMemoryBarrier
|
|
structures.
|
|
* pname:bufferMemoryBarrierCount is the length of the
|
|
pname:pBufferMemoryBarriers array.
|
|
* pname:pBufferMemoryBarriers is a pointer to an array of
|
|
slink:VkBufferMemoryBarrier structures.
|
|
* pname:imageMemoryBarrierCount is the length of the
|
|
pname:pImageMemoryBarriers array.
|
|
* pname:pImageMemoryBarriers is a pointer to an array of
|
|
slink:VkImageMemoryBarrier structures.
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
Each element of the pname:pMemoryBarriers, pname:pBufferMemoryBarriers and
|
|
pname:pImageMemoryBarriers arrays specifies two halves of a memory
|
|
dependency, as defined above. Specifics of each type of memory barrier and
|
|
the memory access types are defined further in
|
|
<<synchronization-memory-barriers,Memory Barriers>>.
|
|
|
|
If fname:vkCmdPipelineBarrier is called outside a render pass instance, then
|
|
the first set of commands is all prior commands submitted to the queue and
|
|
recorded in the command buffer and the second set of commands is all
|
|
subsequent commands recorded in the command buffer and submitted to the
|
|
queue. If fname:vkCmdPipelineBarrier is called inside a render pass
|
|
instance, then the first set of commands is all prior commands in the same
|
|
subpass and the second set of commands is all subsequent commands in the
|
|
same subpass.
|
|
|
|
include::../validity/protos/vkCmdPipelineBarrier.txt[]
|
|
|
|
|
|
See Also
|
|
--------
|
|
|
|
slink:VkBufferMemoryBarrier, slink:VkCommandBuffer, elink:VkDependencyFlags, slink:VkImageMemoryBarrier, slink:VkMemoryBarrier, elink:VkPipelineStageFlags
|
|
|
|
|
|
Document Notes
|
|
--------------
|
|
|
|
For more information, see the Vulkan Specification at URL
|
|
|
|
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#vkCmdPipelineBarrier
|
|
|
|
This page is extracted from the Vulkan Specification.
|
|
Fixes and changes should be made to the Specification,not directly.
|
|
|
|
include::footer.txt[]
|
|
|