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 is a 3D image created with
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT and the
maintenance9 feature is enabled, the
baseArrayLayer and layerCount members of subresourceRange
specify the subset of slices of the 3D image affected by the memory barrier,
including the layout transition.
Any slices of a 3D image not included in subresourceRange are not
affected by the memory barrier and remain in their existing layout.
| Note | Enabling the  | 
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-oldLayout-10767 
 If the zeroInitializeDeviceMemory feature is not enabled,oldLayoutmust not beVK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT
- 
VUID-VkImageMemoryBarrier2-oldLayout-10768 
 IfoldLayoutisVK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT, then all subresources must be included in 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_ZERO_INITIALIZED_EXTorVK_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 
 Ifimageis not a 3D image or was created withoutVK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BITset, or themaintenance9feature is not enabled,subresourceRange.baseArrayLayermust be less than thearrayLayersspecified in VkImageCreateInfo whenimagewas created
- 
VUID-VkImageMemoryBarrier2-maintenance9-10798 
 If themaintenance9feature is enabled andimageis a 3D image created withVK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BITset,subresourceRange.baseArrayLayermust be less than the depth computed frombaseMipLevelandextent.depthspecified in VkImageCreateInfo whenimagewas created, according to the formula defined in Image Mip Level Sizing
- 
VUID-VkImageMemoryBarrier2-maintenance9-10799 
 If themaintenance9feature is enabled andimageis a 3D image created withVK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BITset and eithersubresourceRange.baseArrayLayeris not equal to 0 orsubresourceRange.layerCountis not equal toVK_REMAINING_ARRAY_LAYERS,subresourceRange.levelCountmust be 1
- 
VUID-VkImageMemoryBarrier2-subresourceRange-01725 
 Ifimageis not a 3D image or was created withoutVK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BITset, or themaintenance9feature is not enabled, andsubresourceRange.layerCountis notVK_REMAINING_ARRAY_LAYERS,subresourceRange.baseArrayLayer+subresourceRange.layerCountmust be less than or equal to thearrayLayersspecified in VkImageCreateInfo whenimagewas created
- 
VUID-VkImageMemoryBarrier2-maintenance9-10800 
 If themaintenance9feature is enabled,subresourceRange.layerCountis notVK_REMAINING_ARRAY_LAYERS, andimageis a 3D image created withVK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BITset,subresourceRange.baseArrayLayer+subresourceRange.layerCountmust be less than or equal to the depth computed frombaseMipLevelandextent.depthspecified in VkImageCreateInfo whenimagewas created, according to the formula defined in Image Mip Level Sizing
- 
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_ZERO_INITIALIZED_EXT,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.