Vulkan-Docs/doc/specs/vulkan/validity/protos/vkCmdPipelineBarrier.txt

63 lines
3.6 KiB
Plaintext

// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry
ifndef::doctype-manpage[]
.Valid Usage
********************************************************************************
endif::doctype-manpage[]
ifdef::doctype-manpage[]
Valid Usage
-----------
endif::doctype-manpage[]
* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle
* pname:srcStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values
* pname:srcStageMask mustnot: be `0`
* pname:dstStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values
* pname:dstStageMask mustnot: be `0`
* pname:dependencyFlags must: be a valid combination of elink:VkDependencyFlagBits values
* If pname:memoryBarrierCount is not `0`, pname:pMemoryBarriers must: be a pointer to an array of pname:memoryBarrierCount valid sname:VkMemoryBarrier structures
* If pname:bufferMemoryBarrierCount is not `0`, pname:pBufferMemoryBarriers must: be a pointer to an array of pname:bufferMemoryBarrierCount valid sname:VkBufferMemoryBarrier structures
* If pname:imageMemoryBarrierCount is not `0`, pname:pImageMemoryBarriers must: be a pointer to an array of pname:imageMemoryBarrierCount valid sname:VkImageMemoryBarrier structures
* pname:commandBuffer must: be in the recording state
* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support transfer, graphics or compute operations
* If the <<features-features-geometryShader,geometry shaders>> feature is not enabled, pname:srcStageMask mustnot: contain ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT
* If the <<features-features-geometryShader,geometry shaders>> feature is not enabled, pname:dstStageMask mustnot: contain ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT
* If the <<features-features-tessellationShader,tessellation shaders>> feature is not enabled, pname:srcStageMask mustnot: contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
* If the <<features-features-tessellationShader,tessellation shaders>> feature is not enabled, pname:dstStageMask mustnot: contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or pname:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
* If fname:vkCmdPipelineBarrier is called within a render pass instance, the render pass must: declare at least one self-dependency from the current subpass to itself - see <<synchronization-pipeline-barriers-subpass-self-dependencies,Subpass Self-dependency>>
ifndef::doctype-manpage[]
********************************************************************************
endif::doctype-manpage[]
ifndef::doctype-manpage[]
.Host Synchronization
********************************************************************************
endif::doctype-manpage[]
ifdef::doctype-manpage[]
Host Synchronization
--------------------
endif::doctype-manpage[]
* Host access to pname:commandBuffer must: be externally synchronized
ifndef::doctype-manpage[]
********************************************************************************
endif::doctype-manpage[]
ifndef::doctype-manpage[]
.Command Properties
********************************************************************************
endif::doctype-manpage[]
ifdef::doctype-manpage[]
Command Properties
------------------
endif::doctype-manpage[]
[options="header", width="100%"]
|=====================
|Command Buffer Levels|Render Pass Scope|Supported Queue Types
|Primary +
Secondary|Both|TRANSFER +
GRAPHICS +
COMPUTE
|=====================
ifndef::doctype-manpage[]
********************************************************************************
endif::doctype-manpage[]