If the
tessellationShader
feature is not enabled, srcStageMask must not contain
PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT
or
PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT
If the
conditionalRendering
feature is not enabled, srcStageMask must not contain
PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
If the
fragmentDensityMap
feature is not enabled, srcStageMask must not contain
PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
If the
transformFeedback
feature is not enabled, srcStageMask must not contain
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
If the
meshShader
feature is not enabled, srcStageMask must not contain
PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT
If the
taskShader
feature is not enabled, srcStageMask must not contain
PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT
If neither of the
shadingRateImage
or the
attachmentFragmentShadingRate
features are enabled, srcStageMask must not contain
PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
If the
subpassShading
feature is not enabled, srcStageMask must not contain
PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI
If the
invocationMask
feature is not enabled, srcStageMask must not contain
PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
If neither the
VK_NV_ray_tracing
extension or the
rayTracingPipeline
feature are enabled, srcStageMask must not contain
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
If the
accelerationStructure
feature is not enabled, srcStageMask must not contain
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
If the
rayTracingMaintenance1
feature is not enabled, srcStageMask must not contain
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR
If the
::micromap
feature is not enabled, srcStageMask must not contain
PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
If srcAccessMask
includes
ACCESS_2_INDIRECT_COMMAND_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes ACCESS_2_INDEX_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_INDEX_INPUT_BIT,
PIPELINE_STAGE_2_VERTEX_INPUT_BIT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT,
PIPELINE_STAGE_2_VERTEX_INPUT_BIT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_INPUT_ATTACHMENT_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_UNIFORM_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If srcAccessMask
includes
ACCESS_2_SHADER_SAMPLED_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If srcAccessMask
includes
ACCESS_2_SHADER_STORAGE_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If srcAccessMask
includes
ACCESS_2_SHADER_STORAGE_WRITE_BIT,
srcStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If srcAccessMask
includes
ACCESS_2_SHADER_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If srcAccessMask
includes
ACCESS_2_SHADER_WRITE_BIT,
srcStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If srcAccessMask
includes
ACCESS_2_COLOR_ATTACHMENT_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT,
srcStageMask must include
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,
PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
srcStageMask must include
PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,
PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_TRANSFER_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_COPY_BIT,
PIPELINE_STAGE_2_BLIT_BIT,
PIPELINE_STAGE_2_RESOLVE_BIT,
PIPELINE_STAGE_2_ALL_TRANSFER_BIT,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_TRANSFER_WRITE_BIT,
srcStageMask must include
PIPELINE_STAGE_2_COPY_BIT,
PIPELINE_STAGE_2_BLIT_BIT,
PIPELINE_STAGE_2_RESOLVE_BIT,
PIPELINE_STAGE_2_CLEAR_BIT,
PIPELINE_STAGE_2_ALL_TRANSFER_BIT,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes ACCESS_2_HOST_READ_BIT,
srcStageMask must include
PIPELINE_STAGE_2_HOST_BIT
If srcAccessMask
includes ACCESS_2_HOST_WRITE_BIT,
srcStageMask must include
PIPELINE_STAGE_2_HOST_BIT
If srcAccessMask
includes
ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV,
srcStageMask must include
PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,
srcStageMask must include
PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
If srcAccessMask
includes
ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,
srcStageMask must include
PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,
srcStageMask must include
PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
and the
rayQuery
feature is enabled, srcStageMask must include
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
srcStageMask must include
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
and the
rayQuery
feature is not enabled, srcStageMask must include
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If srcAccessMask
includes
ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
srcStageMask must include
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
or
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
If srcAccessMask
includes
VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR,
srcStageMask must include
VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
If srcAccessMask
includes
VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,
srcStageMask must include
VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
If srcAccessMask
includes
VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR,
srcStageMask must include
VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR
If srcAccessMask
includes
VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,
srcStageMask must include
VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR
If srcAccessMask
includes
ACCESS_2_OPTICAL_FLOW_READ_BIT_NV,
srcStageMask must include
PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
If srcAccessMask
includes
ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV,
srcStageMask must include
PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
If srcAccessMask
includes
ACCESS_2_MICROMAP_WRITE_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
If srcAccessMask
includes
ACCESS_2_MICROMAP_READ_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
or
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
If srcAccessMask
includes
ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of VK_PIPELINE_STAGE_*_SHADER_BIT stages
If srcAccessMask
includes
ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM,
srcStageMask must include
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT
or
PIPELINE_STAGE_2_COMPUTE_SHADER_BIT
If srcAccessMask
includes
ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM,
srcStageMask must include
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT
or
PIPELINE_STAGE_2_COMPUTE_SHADER_BIT
If srcAccessMask
includes
ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT
If srcAccessMask
includes
ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT
If srcAccessMask
includes
ACCESS_2_SAMPLER_HEAP_READ_BIT_EXT
or
ACCESS_2_RESOURCE_HEAP_READ_BIT_EXT,
srcStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of VK_PIPELINE_STAGE_*_SHADER_BIT stages
If the
geometryShader
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT
If the
tessellationShader
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT
or
PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT
If the
conditionalRendering
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
If the
fragmentDensityMap
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
If the
transformFeedback
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
If the
meshShader
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT
If the
taskShader
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT
If neither of the
shadingRateImage
or the
attachmentFragmentShadingRate
features are enabled, dstStageMask must not contain
PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
If the
subpassShading
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI
If the
invocationMask
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
If neither the
VK_NV_ray_tracing
extension or the
rayTracingPipeline
feature are enabled, dstStageMask must not contain
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
If the
accelerationStructure
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
If the
rayTracingMaintenance1
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR
If the
::micromap
feature is not enabled, dstStageMask must not contain
PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
If dstAccessMask
includes
ACCESS_2_INDIRECT_COMMAND_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes ACCESS_2_INDEX_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_INDEX_INPUT_BIT,
PIPELINE_STAGE_2_VERTEX_INPUT_BIT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT,
PIPELINE_STAGE_2_VERTEX_INPUT_BIT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_INPUT_ATTACHMENT_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_UNIFORM_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If dstAccessMask
includes
ACCESS_2_SHADER_SAMPLED_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If dstAccessMask
includes
ACCESS_2_SHADER_STORAGE_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If dstAccessMask
includes
ACCESS_2_SHADER_STORAGE_WRITE_BIT,
dstStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If dstAccessMask
includes
ACCESS_2_SHADER_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If dstAccessMask
includes
ACCESS_2_SHADER_WRITE_BIT,
dstStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages
If dstAccessMask
includes
ACCESS_2_COLOR_ATTACHMENT_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT,
dstStageMask must include
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,
PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
dstStageMask must include
PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,
PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_TRANSFER_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_COPY_BIT,
PIPELINE_STAGE_2_BLIT_BIT,
PIPELINE_STAGE_2_RESOLVE_BIT,
PIPELINE_STAGE_2_ALL_TRANSFER_BIT,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_TRANSFER_WRITE_BIT,
dstStageMask must include
PIPELINE_STAGE_2_COPY_BIT,
PIPELINE_STAGE_2_BLIT_BIT,
PIPELINE_STAGE_2_RESOLVE_BIT,
PIPELINE_STAGE_2_CLEAR_BIT,
PIPELINE_STAGE_2_ALL_TRANSFER_BIT,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes ACCESS_2_HOST_READ_BIT,
dstStageMask must include
PIPELINE_STAGE_2_HOST_BIT
If dstAccessMask
includes ACCESS_2_HOST_WRITE_BIT,
dstStageMask must include
PIPELINE_STAGE_2_HOST_BIT
If dstAccessMask
includes
ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV,
dstStageMask must include
PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,
dstStageMask must include
PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
If dstAccessMask
includes
ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,
dstStageMask must include
PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,
dstStageMask must include
PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
and the
rayQuery
feature is enabled, dstStageMask must include
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
one of the VK_PIPELINE_STAGE_*_SHADER_BIT stages,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
dstStageMask must include
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
and the
rayQuery
feature is not enabled, dstStageMask must include
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
or
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
If dstAccessMask
includes
ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
dstStageMask must include
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
or
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
If dstAccessMask
includes
VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR,
dstStageMask must include
VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
If dstAccessMask
includes
VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,
dstStageMask must include
VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
If dstAccessMask
includes
VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR,
dstStageMask must include
VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR
If dstAccessMask
includes
VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,
dstStageMask must include
VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR
If dstAccessMask
includes
ACCESS_2_OPTICAL_FLOW_READ_BIT_NV,
dstStageMask must include
PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
If dstAccessMask
includes
ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV,
dstStageMask must include
PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
If dstAccessMask
includes
ACCESS_2_MICROMAP_WRITE_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
If dstAccessMask
includes
ACCESS_2_MICROMAP_READ_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
or
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
If dstAccessMask
includes
ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of VK_PIPELINE_STAGE_*_SHADER_BIT stages
If dstAccessMask
includes
ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM,
dstStageMask must include
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT
or
PIPELINE_STAGE_2_COMPUTE_SHADER_BIT
If dstAccessMask
includes
ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM,
dstStageMask must include
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT
or
PIPELINE_STAGE_2_COMPUTE_SHADER_BIT
If dstAccessMask
includes
ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT
If dstAccessMask
includes
ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT
If dstAccessMask
includes
ACCESS_2_SAMPLER_HEAP_READ_BIT_EXT
or
ACCESS_2_RESOURCE_HEAP_READ_BIT_EXT,
dstStageMask must include
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
or one of VK_PIPELINE_STAGE_*_SHADER_BIT stages
If
layouts are not ignored,
oldLayout must be
IMAGE_LAYOUT_UNDEFINED or the
current layout of the image subresources affected by the barrier
If
layouts are not ignored,
newLayout must not be
IMAGE_LAYOUT_UNDEFINED or
IMAGE_LAYOUT_ZERO_INITIALIZED_EXT
or IMAGE_LAYOUT_PREINITIALIZED
If image was created with
a sharing mode of
SHARING_MODE_EXCLUSIVE, and
srcQueueFamilyIndex and dstQueueFamilyIndex are not equal,
srcQueueFamilyIndex must be
QUEUE_FAMILY_EXTERNAL,
QUEUE_FAMILY_FOREIGN_EXT, or a valid
queue family
If image was created with
a sharing mode of
SHARING_MODE_EXCLUSIVE, and
srcQueueFamilyIndex and dstQueueFamilyIndex are not equal,
dstQueueFamilyIndex must be
QUEUE_FAMILY_EXTERNAL,
QUEUE_FAMILY_FOREIGN_EXT, or a valid
queue family
If the
VK_KHR_external_memory
extension is not enabled, and the value of
ApplicationInfo::apiVersion
used to create the Instance is not greater
than or equal to Version 1.1, srcQueueFamilyIndex must not be
QUEUE_FAMILY_EXTERNAL
If the
VK_KHR_external_memory
extension is not enabled, and the value of
ApplicationInfo::apiVersion
used to create the Instance is not greater
than or equal to Version 1.1, dstQueueFamilyIndex must not be
QUEUE_FAMILY_EXTERNAL
If the
VK_EXT_queue_family_foreign
extension is not enabled srcQueueFamilyIndex must not be
QUEUE_FAMILY_FOREIGN_EXT
If the
VK_EXT_queue_family_foreign
extension is not enabled dstQueueFamilyIndex must not be
QUEUE_FAMILY_FOREIGN_EXT
subresourceRange.baseMipLevel must be less than the mipLevels
specified in ImageCreateInfo when image was
created
If
subresourceRange.levelCount is not
REMAINING_MIP_LEVELS,
subresourceRange.baseMipLevel + subresourceRange.levelCount
must be less than or equal to the mipLevels specified in
ImageCreateInfo when image was created
If image is
not a 3D image or was created without
IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
set, or the
maintenance9
feature is not enabled, subresourceRange.baseArrayLayer must be
less than the arrayLayers specified in
ImageCreateInfo when image was created
If the
maintenance9
feature is enabled and image is a 3D image created with
IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
set, subresourceRange.baseArrayLayer must be less than the depth
computed from baseMipLevel and extent.depth specified in
ImageCreateInfo when image was created,
according to the formula defined in
Image Mip Level Sizing
If the
maintenance9
feature is enabled and image is a 3D image created with
IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
set and either subresourceRange.baseArrayLayer is not equal to 0
or subresourceRange.layerCount is not equal to
REMAINING_ARRAY_LAYERS,
subresourceRange.levelCount must be 1
If image is
not a 3D image or was created without
IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
set, or the
maintenance9
feature is not enabled, and subresourceRange.layerCount is not
REMAINING_ARRAY_LAYERS,
subresourceRange.baseArrayLayer + subresourceRange.layerCount
must be less than or equal to the arrayLayers specified in
ImageCreateInfo when image was created
If the
maintenance9
feature is enabled, subresourceRange.layerCount is not
REMAINING_ARRAY_LAYERS, and image is
a 3D image created with
IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
set, subresourceRange.baseArrayLayer +
subresourceRange.layerCount must be less than or equal to the
depth computed from baseMipLevel and extent.depth specified in
ImageCreateInfo when image was created,
according to the formula defined in
Image Mip Level Sizing
If image is non-sparse
then the image or each specified disjoint plane must be bound
completely and contiguously to a single
DeviceMemory object
If image has a color
format that is single-plane, then the aspectMask member of
subresourceRange must be
IMAGE_ASPECT_COLOR_BIT
If image has a color
format and is not disjoint, then the aspectMask member of
subresourceRange must be
IMAGE_ASPECT_COLOR_BIT
If image has a
multi-planar format
and the image is disjoint, then the aspectMask member of
subresourceRange must include at least one
multi-planar aspect mask
bit or
IMAGE_ASPECT_COLOR_BIT
If image has a
depth/stencil format with both depth and stencil and the
separateDepthStencilLayouts
feature is not enabled, then the aspectMask member of
subresourceRange must include both
IMAGE_ASPECT_DEPTH_BIT and
IMAGE_ASPECT_STENCIL_BIT
If image has a
depth/stencil format with both depth and stencil and the
separateDepthStencilLayouts
feature is enabled, then the aspectMask member of
subresourceRange must include either or both
IMAGE_ASPECT_DEPTH_BIT and
IMAGE_ASPECT_STENCIL_BIT
If image has a depth-only
format then the aspectMask member of subresourceRange must be
IMAGE_ASPECT_DEPTH_BIT
If image has a
stencil-only format then the aspectMask member of
subresourceRange must be
IMAGE_ASPECT_STENCIL_BIT
If the aspectMask
member of subresourceRange includes
IMAGE_ASPECT_DEPTH_BIT,
oldLayout and newLayout must not be one of
IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL
or
IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
If the aspectMask
member of subresourceRange includes
IMAGE_ASPECT_STENCIL_BIT,
oldLayout and newLayout must not be one of
IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL
or
IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
subresourceRange.aspectMask must be valid for the format the
image was created with
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
then image must have been created with the
IMAGE_USAGE_COLOR_ATTACHMENT_BIT
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
then image must have been created with the
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
then image must have been created with the
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
then image must have been created with the
IMAGE_USAGE_SAMPLED_BIT or
IMAGE_USAGE_INPUT_ATTACHMENT_BIT
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
then image must have been created with the
IMAGE_USAGE_TRANSFER_SRC_BIT
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
then image must have been created with the
IMAGE_USAGE_TRANSFER_DST_BIT
usage flag set
If the
zeroInitializeDeviceMemory
feature is not enabled, oldLayout must not be
IMAGE_LAYOUT_ZERO_INITIALIZED_EXT
If oldLayout is
IMAGE_LAYOUT_ZERO_INITIALIZED_EXT,
then all subresources must be included in the barrier
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
then image must have been created with the
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
then image must have been created with the
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
then image must have been created with at least one of the
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
IMAGE_USAGE_SAMPLED_BIT, or
IMAGE_USAGE_INPUT_ATTACHMENT_BIT
usage flags set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL
then image must have been created with the
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
then image must have been created with at least one of the
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
IMAGE_USAGE_SAMPLED_BIT, or
IMAGE_USAGE_INPUT_ATTACHMENT_BIT
usage flags set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL
then image must have been created with the
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
usage flag set
If the
synchronization2
feature is not enabled, oldLayout must not be
IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR
or
IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR
If the
synchronization2
feature is not enabled, newLayout must not be
IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR
or
IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,
image must have been created with the
IMAGE_USAGE_COLOR_ATTACHMENT_BIT
or
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_READ_ONLY_OPTIMAL,
image must have been created with at least one of the
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
IMAGE_USAGE_SAMPLED_BIT, or
IMAGE_USAGE_INPUT_ATTACHMENT_BIT
usage flags set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
then image must have been created with the
IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR
then image must have been created with the
VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR
then image must have been created with the
VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR
then image must have been created with the
VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR
then image must have been created with the
VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR
then image must have been created with the
VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR
then image must have been created with the
VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR
usage flag set
If
layouts are not ignored,
oldLayout or newLayout is
VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR
then image must have been created with the
VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR
or
VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR
usage flags set
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
then image must have been created with either the
IMAGE_USAGE_COLOR_ATTACHMENT_BIT
or
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
usage flags set, and the
IMAGE_USAGE_INPUT_ATTACHMENT_BIT
or IMAGE_USAGE_SAMPLED_BIT
usage flags set, and the
IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
usage flag set
If
the
attachmentFeedbackLoopLayout
feature is not enabled, newLayout must not be
IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
If
layouts are not ignored,
oldLayout or newLayout is
IMAGE_LAYOUT_RENDERING_LOCAL_READ
then image must have been created with either the
IMAGE_USAGE_STORAGE_BIT
usage flag set, or with both the
IMAGE_USAGE_INPUT_ATTACHMENT_BIT
usage flag and either of the
IMAGE_USAGE_COLOR_ATTACHMENT_BIT
or
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
usage flags set
If the
dynamicRenderingLocalRead
feature is not enabled, oldLayout must not be
IMAGE_LAYOUT_RENDERING_LOCAL_READ
If the
dynamicRenderingLocalRead
feature is not enabled, newLayout must not be
IMAGE_LAYOUT_RENDERING_LOCAL_READ
If either
srcStageMask or dstStageMask includes
PIPELINE_STAGE_2_HOST_BIT,
srcQueueFamilyIndex and dstQueueFamilyIndex must be equal
If srcStageMask
includes
PIPELINE_STAGE_2_HOST_BIT,
and srcQueueFamilyIndex and dstQueueFamilyIndex define a
queue family ownership transfer
or oldLayout and newLayout define an
image layout transition,
oldLayout must be one of
IMAGE_LAYOUT_PREINITIALIZED,
IMAGE_LAYOUT_ZERO_INITIALIZED_EXT,
IMAGE_LAYOUT_UNDEFINED, or
IMAGE_LAYOUT_GENERAL