C Specification
The VkImageMemoryBarrier2 structure is defined as:
// Provided by VK_VERSION_1_3
typedef struct VkImageMemoryBarrier2 {
VkStructureType sType;
const void* pNext;
VkPipelineStageFlags2 srcStageMask;
VkAccessFlags2 srcAccessMask;
VkPipelineStageFlags2 dstStageMask;
VkAccessFlags2 dstAccessMask;
VkImageLayout oldLayout;
VkImageLayout newLayout;
uint32_t srcQueueFamilyIndex;
uint32_t dstQueueFamilyIndex;
VkImage image;
VkImageSubresourceRange subresourceRange;
} VkImageMemoryBarrier2;
or the equivalent
// Provided by VK_KHR_synchronization2
typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
srcStageMaskis a VkPipelineStageFlags2 mask of pipeline stages to be included in the first synchronization scope. -
srcAccessMaskis a VkAccessFlags2 mask of access flags to be included in the first access scope. -
dstStageMaskis a VkPipelineStageFlags2 mask of pipeline stages to be included in the second synchronization scope. -
dstAccessMaskis a VkAccessFlags2 mask of access flags to be included in the second access scope. -
oldLayoutis the old layout in an image layout transition. -
newLayoutis the new layout in an image layout transition. -
srcQueueFamilyIndexis the source queue family for a queue family ownership transfer. -
dstQueueFamilyIndexis the destination queue family for a queue family ownership transfer. -
imageis a handle to the image affected by this barrier. -
subresourceRangedescribes the image subresource range withinimagethat is affected by this barrier.
Description
This structure defines a memory dependency limited to an image subresource range, and can define a queue family ownership transfer operation and image layout transition for that subresource range.
The first synchronization scope and access scope described by this structure include only operations and memory accesses specified by the source stage mask and the source access mask.
The second synchronization scope and access scope described by this structure include only operations and memory accesses specified by the destination stage mask and the destination access mask.
Both access scopes are
limited to only memory accesses to image in the subresource range
defined by subresourceRange.
If image was created with VK_SHARING_MODE_EXCLUSIVE, and
srcQueueFamilyIndex is not equal to dstQueueFamilyIndex, this
memory barrier defines a queue family
ownership transfer operation.
When executed on a queue in the family identified by
srcQueueFamilyIndex, this barrier defines a
queue family release operation
for the specified image subresource range, and
if VkDependencyInfoKHR::dependencyFlags did not include
VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR,
the second synchronization scope does not apply to this operation.
When executed on a queue in the family identified by
dstQueueFamilyIndex, this barrier defines a
queue family acquire operation
for the specified image subresource range, and
if VkDependencyInfoKHR::dependencyFlags did not include
VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR,
the first synchronization scope does not apply to this operation.
A queue family ownership transfer
operation is also defined if the values are not equal, and either is one
of the special queue family values reserved for external memory ownership
transfers, as described in https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-queue-transfers.
A queue family release
operation is defined when dstQueueFamilyIndex is one of those
values, and a queue family
acquire operation is defined when srcQueueFamilyIndex is one of
those values.
If oldLayout is not equal to newLayout, then the memory barrier
defines an image layout
transition for the specified image subresource range.
If this memory barrier defines a queue
family ownership transfer operation, the layout transition is only
executed once between the queues.
|
Note
|
When the old and new layout are equal, the layout values are ignored - data is preserved no matter what values are specified, or what layout the image is currently in. |
If image has a multi-planar format and the
image is disjoint, then including VK_IMAGE_ASPECT_COLOR_BIT in the
aspectMask member of subresourceRange is equivalent to including
VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, and
(for three-plane formats only) VK_IMAGE_ASPECT_PLANE_2_BIT.
-
VUID-VkImageMemoryBarrier2-srcStageMask-03929
If thegeometryShaderfeature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT -
VUID-VkImageMemoryBarrier2-srcStageMask-03930
If thetessellationShaderfeature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BITorVK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT -
VUID-VkImageMemoryBarrier2-srcStageMask-03931
If theconditionalRenderingfeature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT -
VUID-VkImageMemoryBarrier2-srcStageMask-03932
If thefragmentDensityMapfeature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT -
VUID-VkImageMemoryBarrier2-srcStageMask-03933
If thetransformFeedbackfeature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT -
VUID-VkImageMemoryBarrier2-srcStageMask-03934
If themeshShaderfeature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT -
VUID-VkImageMemoryBarrier2-srcStageMask-03935
If thetaskShaderfeature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT -
VUID-VkImageMemoryBarrier2-srcStageMask-07316
If neither of theshadingRateImageor theattachmentFragmentShadingRatefeatures are enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcStageMask-04957
If thesubpassShadingfeature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI -
VUID-VkImageMemoryBarrier2-srcStageMask-04995
If theinvocationMaskfeature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI -
VUID-VkImageMemoryBarrier2-srcStageMask-07946
If neither the VK_NV_ray_tracing extension or therayTracingPipelinefeature are enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcStageMask-10751
If theaccelerationStructurefeature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcStageMask-10752
If therayTracingMaintenance1feature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcStageMask-10753
If themicromapfeature is not enabled,srcStageMaskmust not containVK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
-
VUID-VkImageMemoryBarrier2-srcAccessMask-03900
IfsrcAccessMaskincludesVK_ACCESS_2_INDIRECT_COMMAND_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03901
IfsrcAccessMaskincludesVK_ACCESS_2_INDEX_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_INDEX_INPUT_BIT,VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03902
IfsrcAccessMaskincludesVK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT,VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03903
IfsrcAccessMaskincludesVK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03904
IfsrcAccessMaskincludesVK_ACCESS_2_UNIFORM_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-srcAccessMask-03905
IfsrcAccessMaskincludesVK_ACCESS_2_SHADER_SAMPLED_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-srcAccessMask-03906
IfsrcAccessMaskincludesVK_ACCESS_2_SHADER_STORAGE_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-srcAccessMask-03907
IfsrcAccessMaskincludesVK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-srcAccessMask-07454
IfsrcAccessMaskincludesVK_ACCESS_2_SHADER_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-srcAccessMask-03909
IfsrcAccessMaskincludesVK_ACCESS_2_SHADER_WRITE_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-srcAccessMask-03910
IfsrcAccessMaskincludesVK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03911
IfsrcAccessMaskincludesVK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03912
IfsrcAccessMaskincludesVK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03913
IfsrcAccessMaskincludesVK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03914
IfsrcAccessMaskincludesVK_ACCESS_2_TRANSFER_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_COPY_BIT,VK_PIPELINE_STAGE_2_BLIT_BIT,VK_PIPELINE_STAGE_2_RESOLVE_BIT,VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03915
IfsrcAccessMaskincludesVK_ACCESS_2_TRANSFER_WRITE_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_COPY_BIT,VK_PIPELINE_STAGE_2_BLIT_BIT,VK_PIPELINE_STAGE_2_RESOLVE_BIT,VK_PIPELINE_STAGE_2_CLEAR_BIT,VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03916
IfsrcAccessMaskincludesVK_ACCESS_2_HOST_READ_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_HOST_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03917
IfsrcAccessMaskincludesVK_ACCESS_2_HOST_WRITE_BIT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_HOST_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03918
IfsrcAccessMaskincludesVK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03919
IfsrcAccessMaskincludesVK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03920
IfsrcAccessMaskincludesVK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-04747
IfsrcAccessMaskincludesVK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03922
IfsrcAccessMaskincludesVK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03923
IfsrcAccessMaskincludesVK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV,srcStageMaskmust includeVK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-04994
IfsrcAccessMaskincludesVK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,srcStageMaskmust includeVK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI -
VUID-VkImageMemoryBarrier2-srcAccessMask-03924
IfsrcAccessMaskincludesVK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,srcStageMaskmust includeVK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NVorVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03925
IfsrcAccessMaskincludesVK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,srcStageMaskmust includeVK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NVorVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03926
IfsrcAccessMaskincludesVK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-03927
IfsrcAccessMaskincludesVK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,srcStageMaskmust includeVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-srcAccessMask-03928
IfsrcAccessMaskincludesVK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,srcStageMaskmust includeVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHRorVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-srcAccessMask-06256
If therayQueryfeature is not enabled andsrcAccessMaskincludesVK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,srcStageMaskmust not include any of theVK_PIPELINE_STAGE_*_SHADER_BITstages exceptVK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcAccessMask-07272
IfsrcAccessMaskincludesVK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,srcStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_COMMANDS_BITorVK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcAccessMask-04858
IfsrcAccessMaskincludesVK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR,srcStageMaskmust includeVK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcAccessMask-04859
IfsrcAccessMaskincludesVK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,srcStageMaskmust includeVK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcAccessMask-04860
IfsrcAccessMaskincludesVK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR,srcStageMaskmust includeVK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcAccessMask-04861
IfsrcAccessMaskincludesVK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,srcStageMaskmust includeVK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcAccessMask-07455
IfsrcAccessMaskincludesVK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV,srcStageMaskmust includeVK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV -
VUID-VkImageMemoryBarrier2-srcAccessMask-07456
IfsrcAccessMaskincludesVK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV,srcStageMaskmust includeVK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV -
VUID-VkImageMemoryBarrier2-srcAccessMask-07457
IfsrcAccessMaskincludesVK_ACCESS_2_MICROMAP_WRITE_BIT_EXT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT -
VUID-VkImageMemoryBarrier2-srcAccessMask-07458
IfsrcAccessMaskincludesVK_ACCESS_2_MICROMAP_READ_BIT_EXT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXTorVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcAccessMask-08118
IfsrcAccessMaskincludesVK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,srcStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one ofVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-srcAccessMask-10670
IfsrcAccessMaskincludesVK_ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM,srcStageMaskmust includeVK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BITorVK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT. -
VUID-VkImageMemoryBarrier2-srcAccessMask-10671
IfsrcAccessMaskincludesVK_ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM,srcStageMaskmust includeVK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BITorVK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT.
-
VUID-VkImageMemoryBarrier2-dstStageMask-03929
If thegeometryShaderfeature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT -
VUID-VkImageMemoryBarrier2-dstStageMask-03930
If thetessellationShaderfeature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BITorVK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT -
VUID-VkImageMemoryBarrier2-dstStageMask-03931
If theconditionalRenderingfeature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT -
VUID-VkImageMemoryBarrier2-dstStageMask-03932
If thefragmentDensityMapfeature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT -
VUID-VkImageMemoryBarrier2-dstStageMask-03933
If thetransformFeedbackfeature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT -
VUID-VkImageMemoryBarrier2-dstStageMask-03934
If themeshShaderfeature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT -
VUID-VkImageMemoryBarrier2-dstStageMask-03935
If thetaskShaderfeature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT -
VUID-VkImageMemoryBarrier2-dstStageMask-07316
If neither of theshadingRateImageor theattachmentFragmentShadingRatefeatures are enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR -
VUID-VkImageMemoryBarrier2-dstStageMask-04957
If thesubpassShadingfeature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI -
VUID-VkImageMemoryBarrier2-dstStageMask-04995
If theinvocationMaskfeature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI -
VUID-VkImageMemoryBarrier2-dstStageMask-07946
If neither the VK_NV_ray_tracing extension or therayTracingPipelinefeature are enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR -
VUID-VkImageMemoryBarrier2-dstStageMask-10751
If theaccelerationStructurefeature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR -
VUID-VkImageMemoryBarrier2-dstStageMask-10752
If therayTracingMaintenance1feature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR -
VUID-VkImageMemoryBarrier2-dstStageMask-10753
If themicromapfeature is not enabled,dstStageMaskmust not containVK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
-
VUID-VkImageMemoryBarrier2-dstAccessMask-03900
IfdstAccessMaskincludesVK_ACCESS_2_INDIRECT_COMMAND_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03901
IfdstAccessMaskincludesVK_ACCESS_2_INDEX_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_INDEX_INPUT_BIT,VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03902
IfdstAccessMaskincludesVK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT,VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03903
IfdstAccessMaskincludesVK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03904
IfdstAccessMaskincludesVK_ACCESS_2_UNIFORM_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-dstAccessMask-03905
IfdstAccessMaskincludesVK_ACCESS_2_SHADER_SAMPLED_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-dstAccessMask-03906
IfdstAccessMaskincludesVK_ACCESS_2_SHADER_STORAGE_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-dstAccessMask-03907
IfdstAccessMaskincludesVK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-dstAccessMask-07454
IfdstAccessMaskincludesVK_ACCESS_2_SHADER_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-dstAccessMask-03909
IfdstAccessMaskincludesVK_ACCESS_2_SHADER_WRITE_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-dstAccessMask-03910
IfdstAccessMaskincludesVK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03911
IfdstAccessMaskincludesVK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03912
IfdstAccessMaskincludesVK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03913
IfdstAccessMaskincludesVK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03914
IfdstAccessMaskincludesVK_ACCESS_2_TRANSFER_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_COPY_BIT,VK_PIPELINE_STAGE_2_BLIT_BIT,VK_PIPELINE_STAGE_2_RESOLVE_BIT,VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03915
IfdstAccessMaskincludesVK_ACCESS_2_TRANSFER_WRITE_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_COPY_BIT,VK_PIPELINE_STAGE_2_BLIT_BIT,VK_PIPELINE_STAGE_2_RESOLVE_BIT,VK_PIPELINE_STAGE_2_CLEAR_BIT,VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03916
IfdstAccessMaskincludesVK_ACCESS_2_HOST_READ_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_HOST_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03917
IfdstAccessMaskincludesVK_ACCESS_2_HOST_WRITE_BIT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_HOST_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03918
IfdstAccessMaskincludesVK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03919
IfdstAccessMaskincludesVK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03920
IfdstAccessMaskincludesVK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-04747
IfdstAccessMaskincludesVK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03922
IfdstAccessMaskincludesVK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03923
IfdstAccessMaskincludesVK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV,dstStageMaskmust includeVK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-04994
IfdstAccessMaskincludesVK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,dstStageMaskmust includeVK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI -
VUID-VkImageMemoryBarrier2-dstAccessMask-03924
IfdstAccessMaskincludesVK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,dstStageMaskmust includeVK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NVorVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03925
IfdstAccessMaskincludesVK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,dstStageMaskmust includeVK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NVorVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03926
IfdstAccessMaskincludesVK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-03927
IfdstAccessMaskincludesVK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,dstStageMaskmust includeVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-dstAccessMask-03928
IfdstAccessMaskincludesVK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,dstStageMaskmust includeVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHRorVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT -
VUID-VkImageMemoryBarrier2-dstAccessMask-06256
If therayQueryfeature is not enabled anddstAccessMaskincludesVK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,dstStageMaskmust not include any of theVK_PIPELINE_STAGE_*_SHADER_BITstages exceptVK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR -
VUID-VkImageMemoryBarrier2-dstAccessMask-07272
IfdstAccessMaskincludesVK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,dstStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_COMMANDS_BITorVK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR -
VUID-VkImageMemoryBarrier2-dstAccessMask-04858
IfdstAccessMaskincludesVK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR,dstStageMaskmust includeVK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR -
VUID-VkImageMemoryBarrier2-dstAccessMask-04859
IfdstAccessMaskincludesVK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,dstStageMaskmust includeVK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR -
VUID-VkImageMemoryBarrier2-dstAccessMask-04860
IfdstAccessMaskincludesVK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR,dstStageMaskmust includeVK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR -
VUID-VkImageMemoryBarrier2-dstAccessMask-04861
IfdstAccessMaskincludesVK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,dstStageMaskmust includeVK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR -
VUID-VkImageMemoryBarrier2-dstAccessMask-07455
IfdstAccessMaskincludesVK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV,dstStageMaskmust includeVK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV -
VUID-VkImageMemoryBarrier2-dstAccessMask-07456
IfdstAccessMaskincludesVK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV,dstStageMaskmust includeVK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV -
VUID-VkImageMemoryBarrier2-dstAccessMask-07457
IfdstAccessMaskincludesVK_ACCESS_2_MICROMAP_WRITE_BIT_EXT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT -
VUID-VkImageMemoryBarrier2-dstAccessMask-07458
IfdstAccessMaskincludesVK_ACCESS_2_MICROMAP_READ_BIT_EXT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXTorVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR -
VUID-VkImageMemoryBarrier2-dstAccessMask-08118
IfdstAccessMaskincludesVK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,dstStageMaskmust includeVK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one ofVK_PIPELINE_STAGE_*_SHADER_BITstages -
VUID-VkImageMemoryBarrier2-dstAccessMask-10670
IfdstAccessMaskincludesVK_ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM,dstStageMaskmust includeVK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BITorVK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT. -
VUID-VkImageMemoryBarrier2-dstAccessMask-10671
IfdstAccessMaskincludesVK_ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM,dstStageMaskmust includeVK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BITorVK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT.
-
VUID-VkImageMemoryBarrier2-oldLayout-01208
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMALthenimagemust have been created withVK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT -
VUID-VkImageMemoryBarrier2-oldLayout-01209
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMALthenimagemust have been created withVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT -
VUID-VkImageMemoryBarrier2-oldLayout-01210
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMALthenimagemust have been created withVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT -
VUID-VkImageMemoryBarrier2-oldLayout-01211
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMALthenimagemust have been created withVK_IMAGE_USAGE_SAMPLED_BITorVK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT -
VUID-VkImageMemoryBarrier2-oldLayout-01212
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMALthenimagemust have been created withVK_IMAGE_USAGE_TRANSFER_SRC_BIT -
VUID-VkImageMemoryBarrier2-oldLayout-01213
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMALthenimagemust have been created withVK_IMAGE_USAGE_TRANSFER_DST_BIT -
VUID-VkImageMemoryBarrier2-oldLayout-01197
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition,oldLayoutmust beVK_IMAGE_LAYOUT_UNDEFINEDor the current layout of the image subresources affected by the barrier -
VUID-VkImageMemoryBarrier2-newLayout-01198
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition,newLayoutmust not beVK_IMAGE_LAYOUT_UNDEFINEDorVK_IMAGE_LAYOUT_PREINITIALIZED -
VUID-VkImageMemoryBarrier2-oldLayout-01658
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMALthenimagemust have been created withVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT -
VUID-VkImageMemoryBarrier2-oldLayout-01659
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMALthenimagemust have been created withVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-04065
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMALthenimagemust have been created with at least one ofVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,VK_IMAGE_USAGE_SAMPLED_BIT, orVK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-04066
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMALthenimagemust have been created withVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BITset -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-04067
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMALthenimagemust have been created with at least one ofVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,VK_IMAGE_USAGE_SAMPLED_BIT, orVK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-04068
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMALthenimagemust have been created withVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BITset -
VUID-VkImageMemoryBarrier2-synchronization2-07793
If thesynchronization2feature is not enabled,oldLayoutmust not beVK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHRorVK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR -
VUID-VkImageMemoryBarrier2-synchronization2-07794
If thesynchronization2feature is not enabled,newLayoutmust not beVK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHRorVK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-03938
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,imagemust have been created withVK_IMAGE_USAGE_COLOR_ATTACHMENT_BITorVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-03939
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL,imagemust have been created with at least one ofVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,VK_IMAGE_USAGE_SAMPLED_BIT, orVK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT -
VUID-VkImageMemoryBarrier2-oldLayout-02088
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHRthenimagemust have been created withVK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHRset -
VUID-VkImageMemoryBarrier2-image-09117
Ifimagewas created with a sharing mode ofVK_SHARING_MODE_EXCLUSIVE, andsrcQueueFamilyIndexanddstQueueFamilyIndexare not equal,srcQueueFamilyIndexmust beVK_QUEUE_FAMILY_EXTERNAL,VK_QUEUE_FAMILY_FOREIGN_EXT, or a valid queue family -
VUID-VkImageMemoryBarrier2-image-09118
Ifimagewas created with a sharing mode ofVK_SHARING_MODE_EXCLUSIVE, andsrcQueueFamilyIndexanddstQueueFamilyIndexare not equal,dstQueueFamilyIndexmust beVK_QUEUE_FAMILY_EXTERNAL,VK_QUEUE_FAMILY_FOREIGN_EXT, or a valid queue family -
VUID-VkImageMemoryBarrier2-None-09119
If the VK_KHR_external_memory extension is not enabled, and the value of VkApplicationInfo::apiVersionused to create the VkInstance is not greater than or equal to Version 1.1,srcQueueFamilyIndexmust not beVK_QUEUE_FAMILY_EXTERNAL -
VUID-VkImageMemoryBarrier2-None-09120
If the VK_KHR_external_memory extension is not enabled, and the value of VkApplicationInfo::apiVersionused to create the VkInstance is not greater than or equal to Version 1.1,dstQueueFamilyIndexmust not beVK_QUEUE_FAMILY_EXTERNAL -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-09121
If the VK_EXT_queue_family_foreign extension is not enabledsrcQueueFamilyIndexmust not beVK_QUEUE_FAMILY_FOREIGN_EXT -
VUID-VkImageMemoryBarrier2-dstQueueFamilyIndex-09122
If the VK_EXT_queue_family_foreign extension is not enableddstQueueFamilyIndexmust not beVK_QUEUE_FAMILY_FOREIGN_EXT -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07120
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07121
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07122
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07123
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07124
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07125
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-10287
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHRorVK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07006
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXTthenimagemust have been created with either theVK_IMAGE_USAGE_COLOR_ATTACHMENT_BITorVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BITusage bits, and theVK_IMAGE_USAGE_INPUT_ATTACHMENT_BITorVK_IMAGE_USAGE_SAMPLED_BITusage bits, and theVK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXTusage bit -
VUID-VkImageMemoryBarrier2-attachmentFeedbackLoopLayout-07313
If theattachmentFeedbackLoopLayoutfeature is not enabled,newLayoutmust not beVK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT -
VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-09550
IfsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_RENDERING_LOCAL_READthenimagemust have been created with eitherVK_IMAGE_USAGE_STORAGE_BIT, or with bothVK_IMAGE_USAGE_INPUT_ATTACHMENT_BITand either ofVK_IMAGE_USAGE_COLOR_ATTACHMENT_BITorVK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT -
VUID-VkImageMemoryBarrier2-dynamicRenderingLocalRead-09551
If thedynamicRenderingLocalReadfeature is not enabled,oldLayoutmust not beVK_IMAGE_LAYOUT_RENDERING_LOCAL_READ -
VUID-VkImageMemoryBarrier2-dynamicRenderingLocalRead-09552
If thedynamicRenderingLocalReadfeature is not enabled,newLayoutmust not beVK_IMAGE_LAYOUT_RENDERING_LOCAL_READ
-
VUID-VkImageMemoryBarrier2-subresourceRange-01486
subresourceRange.baseMipLevelmust be less than themipLevelsspecified in VkImageCreateInfo whenimagewas created -
VUID-VkImageMemoryBarrier2-subresourceRange-01724
IfsubresourceRange.levelCountis notVK_REMAINING_MIP_LEVELS,subresourceRange.baseMipLevel+subresourceRange.levelCountmust be less than or equal to themipLevelsspecified in VkImageCreateInfo whenimagewas created -
VUID-VkImageMemoryBarrier2-subresourceRange-01488
subresourceRange.baseArrayLayermust be less than thearrayLayersspecified in VkImageCreateInfo whenimagewas created -
VUID-VkImageMemoryBarrier2-subresourceRange-01725
IfsubresourceRange.layerCountis notVK_REMAINING_ARRAY_LAYERS,subresourceRange.baseArrayLayer+subresourceRange.layerCountmust be less than or equal to thearrayLayersspecified in VkImageCreateInfo whenimagewas created -
VUID-VkImageMemoryBarrier2-image-01932
Ifimageis non-sparse then it must be bound completely and contiguously to a singleVkDeviceMemoryobject -
VUID-VkImageMemoryBarrier2-image-09241
Ifimagehas a color format that is single-plane, then theaspectMaskmember ofsubresourceRangemust beVK_IMAGE_ASPECT_COLOR_BIT -
VUID-VkImageMemoryBarrier2-image-09242
Ifimagehas a color format and is not disjoint, then theaspectMaskmember ofsubresourceRangemust beVK_IMAGE_ASPECT_COLOR_BIT -
VUID-VkImageMemoryBarrier2-image-01672
Ifimagehas a multi-planar format and the image is disjoint, then theaspectMaskmember ofsubresourceRangemust include at least one multi-planar aspect mask bit orVK_IMAGE_ASPECT_COLOR_BIT -
VUID-VkImageMemoryBarrier2-image-03320
Ifimagehas a depth/stencil format with both depth and stencil and theseparateDepthStencilLayoutsfeature is not enabled, then theaspectMaskmember ofsubresourceRangemust include bothVK_IMAGE_ASPECT_DEPTH_BITandVK_IMAGE_ASPECT_STENCIL_BIT -
VUID-VkImageMemoryBarrier2-image-03319
Ifimagehas a depth/stencil format with both depth and stencil and theseparateDepthStencilLayoutsfeature is enabled, then theaspectMaskmember ofsubresourceRangemust include either or bothVK_IMAGE_ASPECT_DEPTH_BITandVK_IMAGE_ASPECT_STENCIL_BIT -
VUID-VkImageMemoryBarrier2-image-10749
Ifimagehas a depth-only format then theaspectMaskmember ofsubresourceRangemust beVK_IMAGE_ASPECT_DEPTH_BIT -
VUID-VkImageMemoryBarrier2-image-10750
Ifimagehas a stencil-only format then theaspectMaskmember ofsubresourceRangemust beVK_IMAGE_ASPECT_STENCIL_BIT -
VUID-VkImageMemoryBarrier2-aspectMask-08702
If theaspectMaskmember ofsubresourceRangeincludesVK_IMAGE_ASPECT_DEPTH_BIT,oldLayoutandnewLayoutmust not be one ofVK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMALorVK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL -
VUID-VkImageMemoryBarrier2-aspectMask-08703
If theaspectMaskmember ofsubresourceRangeincludesVK_IMAGE_ASPECT_STENCIL_BIT,oldLayoutandnewLayoutmust not be one ofVK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMALorVK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL -
VUID-VkImageMemoryBarrier2-subresourceRange-09601
subresourceRange.aspectMaskmust be valid for theformattheimagewas created with -
VUID-VkImageMemoryBarrier2-srcStageMask-03854
If eithersrcStageMaskordstStageMaskincludesVK_PIPELINE_STAGE_2_HOST_BIT,srcQueueFamilyIndexanddstQueueFamilyIndexmust be equal -
VUID-VkImageMemoryBarrier2-srcStageMask-03855
IfsrcStageMaskincludesVK_PIPELINE_STAGE_2_HOST_BIT, andsrcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition,oldLayoutmust be one ofVK_IMAGE_LAYOUT_PREINITIALIZED,VK_IMAGE_LAYOUT_UNDEFINED, orVK_IMAGE_LAYOUT_GENERAL
-
VUID-VkImageMemoryBarrier2-sType-sType
sTypemust beVK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 -
VUID-VkImageMemoryBarrier2-pNext-pNext
EachpNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance of VkExternalMemoryAcquireUnmodifiedEXT, VkMemoryBarrierAccessFlags3KHR, or VkSampleLocationsInfoEXT -
VUID-VkImageMemoryBarrier2-sType-unique
ThesTypevalue of each structure in thepNextchain must be unique -
VUID-VkImageMemoryBarrier2-srcStageMask-parameter
srcStageMaskmust be a valid combination of VkPipelineStageFlagBits2 values -
VUID-VkImageMemoryBarrier2-srcAccessMask-parameter
srcAccessMaskmust be a valid combination of VkAccessFlagBits2 values -
VUID-VkImageMemoryBarrier2-dstStageMask-parameter
dstStageMaskmust be a valid combination of VkPipelineStageFlagBits2 values -
VUID-VkImageMemoryBarrier2-dstAccessMask-parameter
dstAccessMaskmust be a valid combination of VkAccessFlagBits2 values -
VUID-VkImageMemoryBarrier2-oldLayout-parameter
oldLayoutmust be a valid VkImageLayout value -
VUID-VkImageMemoryBarrier2-newLayout-parameter
newLayoutmust be a valid VkImageLayout value -
VUID-VkImageMemoryBarrier2-image-parameter
imagemust be a valid VkImage handle -
VUID-VkImageMemoryBarrier2-subresourceRange-parameter
subresourceRangemust be a valid VkImageSubresourceRange structure
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.