This structure defines a memory dependency limited to a range of a buffer, and can define a queue family transfer operation for that range.
The first synchronization scope and access scope described by this structure include only operations and memory accesses specified by srcStageMask and srcAccessMask.
The second synchronization scope and access scope described by this structure include only operations and memory accesses specified by dstStageMask and dstAccessMask.
Both access scopes are limited to only memory accesses to buffer in the range defined by offset and size.
If buffer was created with SHARING_MODE_EXCLUSIVE, and srcQueueFamilyIndex is not equal to dstQueueFamilyIndex, this memory barrier defines a queue family transfer operation. When executed on a queue in the family identified by srcQueueFamilyIndex, this barrier defines a queue family release operation for the specified buffer range, and the second synchronization and access scopes do not synchronize operations on that queue. When executed on a queue in the family identified by dstQueueFamilyIndex, this barrier defines a queue family acquire operation for the specified buffer range, and the first synchronization and access scopes do not synchronize operations on that queue.
A queue family 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 Queue Family Ownership Transfer. 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.
geometryShader feature is not enabled, srcStageMask must not contain PIPELINE_STAGE_2_GEOMETRY_SHADER_BITtessellationShader feature is not enabled, srcStageMask must not contain PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT or PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BITconditionalRendering feature is not enabled, srcStageMask must not contain PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXTfragmentDensityMap feature is not enabled, srcStageMask must not contain PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXTtransformFeedback feature is not enabled, srcStageMask must not contain PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXTmeshShader feature is not enabled, srcStageMask must not contain PIPELINE_STAGE_2_MESH_SHADER_BIT_EXTtaskShader feature is not enabled, srcStageMask must not contain PIPELINE_STAGE_2_TASK_SHADER_BIT_EXTshadingRateImage or attachmentFragmentShadingRate are enabled, srcStageMask must not contain PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHRsubpassShading feature is not enabled, srcStageMask must not contain PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEIinvocationMask feature is not enabled, srcStageMask must not contain PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEIVK_NV_ray_tracing extension or rayTracingPipeline feature are enabled, srcStageMask must not contain PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHRsrcAccessMask 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_ALL_GRAPHICS_BIT, or PIPELINE_STAGE_2_ALL_COMMANDS_BITsrcAccessMask 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_BITsrcAccessMask 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_BITsrcAccessMask 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_BITsrcAccessMask 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 stagessrcAccessMask 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 stagessrcAccessMask 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 stagessrcAccessMask 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 stagessrcAccessMask 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 stagessrcAccessMask 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 stagessrcAccessMask 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_BITsrcAccessMask 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_BITsrcAccessMask 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_BITsrcAccessMask 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_BITsrcAccessMask 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, or PIPELINE_STAGE_2_ALL_COMMANDS_BITsrcAccessMask 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, or PIPELINE_STAGE_2_ALL_COMMANDS_BITsrcAccessMask includes ACCESS_2_HOST_READ_BIT, srcStageMask must include PIPELINE_STAGE_2_HOST_BITsrcAccessMask includes ACCESS_2_HOST_WRITE_BIT, srcStageMask must include PIPELINE_STAGE_2_HOST_BITsrcAccessMask 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_BITsrcAccessMask 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_BITsrcAccessMask 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_BITsrcAccessMask 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_BITsrcAccessMask 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_BITsrcAccessMask 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_BITsrcAccessMask includes ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI, srcStageMask must include PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEIsrcAccessMask includes ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV, srcStageMask must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV or PIPELINE_STAGE_2_ALL_COMMANDS_BITsrcAccessMask includes ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV, srcStageMask must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV or PIPELINE_STAGE_2_ALL_COMMANDS_BITsrcAccessMask 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_BITsrcAccessMask includes ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR, srcStageMask must include PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stagessrcAccessMask 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_BITrayQuery feature is not enabled and srcAccessMask includes ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR, srcStageMask must not include any of the VK_PIPELINE_STAGE_*_SHADER_BIT stages except PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHRsrcAccessMask 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_KHRsrcAccessMask includes ACCESS_2_VIDEO_DECODE_READ_BIT_KHR, srcStageMask must include PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHRsrcAccessMask includes ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR, srcStageMask must include PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHRsrcAccessMask includes ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR, srcStageMask must include PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHRsrcAccessMask includes ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR, srcStageMask must include PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHRsrcAccessMask includes ACCESS_2_OPTICAL_FLOW_READ_BIT_NV, srcStageMask must include PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NVsrcAccessMask includes ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV, srcStageMask must include PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NVsrcAccessMask includes ACCESS_2_MICROMAP_WRITE_BIT_EXT, srcStageMask must include PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXTsrcAccessMask 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_KHRsrcAccessMask 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 stagesgeometryShader feature is not enabled, dstStageMask must not contain PIPELINE_STAGE_2_GEOMETRY_SHADER_BITtessellationShader feature is not enabled, dstStageMask must not contain PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT or PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BITconditionalRendering feature is not enabled, dstStageMask must not contain PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXTfragmentDensityMap feature is not enabled, dstStageMask must not contain PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXTtransformFeedback feature is not enabled, dstStageMask must not contain PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXTmeshShader feature is not enabled, dstStageMask must not contain PIPELINE_STAGE_2_MESH_SHADER_BIT_EXTtaskShader feature is not enabled, dstStageMask must not contain PIPELINE_STAGE_2_TASK_SHADER_BIT_EXTshadingRateImage or attachmentFragmentShadingRate are enabled, dstStageMask must not contain PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHRsubpassShading feature is not enabled, dstStageMask must not contain PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEIinvocationMask feature is not enabled, dstStageMask must not contain PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEIVK_NV_ray_tracing extension or rayTracingPipeline feature are enabled, dstStageMask must not contain PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHRdstAccessMask 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_ALL_GRAPHICS_BIT, or PIPELINE_STAGE_2_ALL_COMMANDS_BITdstAccessMask 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_BITdstAccessMask 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_BITdstAccessMask 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_BITdstAccessMask 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 stagesdstAccessMask 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 stagesdstAccessMask 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 stagesdstAccessMask 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 stagesdstAccessMask 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 stagesdstAccessMask 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 stagesdstAccessMask 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_BITdstAccessMask 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_BITdstAccessMask 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_BITdstAccessMask 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_BITdstAccessMask 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, or PIPELINE_STAGE_2_ALL_COMMANDS_BITdstAccessMask 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, or PIPELINE_STAGE_2_ALL_COMMANDS_BITdstAccessMask includes ACCESS_2_HOST_READ_BIT, dstStageMask must include PIPELINE_STAGE_2_HOST_BITdstAccessMask includes ACCESS_2_HOST_WRITE_BIT, dstStageMask must include PIPELINE_STAGE_2_HOST_BITdstAccessMask 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_BITdstAccessMask 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_BITdstAccessMask 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_BITdstAccessMask 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_BITdstAccessMask 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_BITdstAccessMask 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_BITdstAccessMask includes ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI, dstStageMask must include PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEIdstAccessMask includes ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV, dstStageMask must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV or PIPELINE_STAGE_2_ALL_COMMANDS_BITdstAccessMask includes ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV, dstStageMask must include PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV or PIPELINE_STAGE_2_ALL_COMMANDS_BITdstAccessMask 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_BITdstAccessMask includes ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR, dstStageMask must include PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of the VK_PIPELINE_STAGE_*_SHADER_BIT stagesdstAccessMask 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_BITrayQuery feature is not enabled and dstAccessMask includes ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR, dstStageMask must not include any of the VK_PIPELINE_STAGE_*_SHADER_BIT stages except PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHRdstAccessMask 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_KHRdstAccessMask includes ACCESS_2_VIDEO_DECODE_READ_BIT_KHR, dstStageMask must include PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHRdstAccessMask includes ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR, dstStageMask must include PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHRdstAccessMask includes ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR, dstStageMask must include PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHRdstAccessMask includes ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR, dstStageMask must include PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHRdstAccessMask includes ACCESS_2_OPTICAL_FLOW_READ_BIT_NV, dstStageMask must include PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NVdstAccessMask includes ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV, dstStageMask must include PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NVdstAccessMask includes ACCESS_2_MICROMAP_WRITE_BIT_EXT, dstStageMask must include PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXTdstAccessMask 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_KHRdstAccessMask 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 stagesoffset must be less than the size of buffersize is not equal to WHOLE_SIZE, size must be greater than 0size is not equal to WHOLE_SIZE, size must be less than or equal to than the size of buffer minus offsetbuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory objectbuffer 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 familybuffer 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 familysrcQueueFamilyIndex is not equal to dstQueueFamilyIndex, at least one of srcQueueFamilyIndex or dstQueueFamilyIndex must not be QUEUE_FAMILY_EXTERNAL or QUEUE_FAMILY_FOREIGN_EXTVK_KHR_external_memory extension is not enabled, and the value of VkApplicationInfo::apiVersion used to create the VkInstance is not greater than or equal to Version 1.1, srcQueueFamilyIndex must not be QUEUE_FAMILY_EXTERNALVK_KHR_external_memory extension is not enabled, and the value of VkApplicationInfo::apiVersion used to create the VkInstance is not greater than or equal to Version 1.1, dstQueueFamilyIndex must not be QUEUE_FAMILY_EXTERNALVK_EXT_queue_family_foreign extension is not enabled srcQueueFamilyIndex must not be QUEUE_FAMILY_FOREIGN_EXTVK_EXT_queue_family_foreign extension is not enabled dstQueueFamilyIndex must not be QUEUE_FAMILY_FOREIGN_EXTsrcStageMask or dstStageMask includes PIPELINE_STAGE_2_HOST_BIT, srcQueueFamilyIndex and dstQueueFamilyIndex must be equalsType must be STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2pNext must be NULL or a pointer to a valid instance of VkExternalMemoryAcquireUnmodifiedEXTsType value of each struct in the pNext chain must be uniquesrcStageMask must be a valid combination of VkPipelineStageFlagBits2 valuessrcAccessMask must be a valid combination of VkAccessFlagBits2 valuesdstStageMask must be a valid combination of VkPipelineStageFlagBits2 valuesdstAccessMask must be a valid combination of VkAccessFlagBits2 valuesbuffer must be a valid VkBuffer handle
struct VkBufferMemoryBarrier2 {
VkStructureType sType;
void const * pNext;
VkPipelineStageFlags2 srcStageMask;
VkAccessFlags2 srcAccessMask;
VkPipelineStageFlags2 dstStageMask;
VkAccessFlags2 dstAccessMask;
uint32_t srcQueueFamilyIndex;
uint32_t dstQueueFamilyIndex;
VkBuffer buffer;
VkDeviceSize offset;
VkDeviceSize size;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkBufferMemoryBarrier2.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | BUFFER
The struct member offsets. |
| public static final int | DSTACCESSMASK
The struct member offsets. |
| public static final int | DSTQUEUEFAMILYINDEX
The struct member offsets. |
| public static final int | DSTSTAGEMASK
The struct member offsets. |
| public static final int | OFFSET
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | SIZE
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | SRCACCESSMASK
The struct member offsets. |
| public static final int | SRCQUEUEFAMILYINDEX
The struct member offsets. |
| public static final int | SRCSTAGEMASK
The struct member offsets. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkBufferMemoryBarrier2(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public long | |
| public VkBufferMemoryBarrier2 | |
| public static VkBufferMemoryBarrier2 | |
| public static VkBufferMemoryBarrier2. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkBufferMemoryBarrier2 | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkBufferMemoryBarrier2. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkBufferMemoryBarrier2 | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkBufferMemoryBarrier2 | |
| public static VkBufferMemoryBarrier2 | |
| public static VkBufferMemoryBarrier2. | create(int
the buffer capacity capacity)Returns a new |
| public static VkBufferMemoryBarrier2. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkBufferMemoryBarrier2 | |
| public static VkBufferMemoryBarrier2. | |
| public long | |
| public VkBufferMemoryBarrier2 | |
| public int | |
| public VkBufferMemoryBarrier2 | |
| public long | dstStageMask()
a |
| public VkBufferMemoryBarrier2 | |
| public static VkBufferMemoryBarrier2 | |
| public static VkBufferMemoryBarrier2. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkBufferMemoryBarrier2 | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkBufferMemoryBarrier2. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public long | offset()
an offset in bytes into the backing memory for |
| public VkBufferMemoryBarrier2 | |
| public long | |
| public VkBufferMemoryBarrier2 | |
| public VkBufferMemoryBarrier2 | pNext(VkExternalMemoryAcquireUnmodifiedEXT value)
Prepends the specified |
| public VkBufferMemoryBarrier2 | set(int sType, long pNext, long srcStageMask, long srcAccessMask, long dstStageMask, long dstAccessMask, int srcQueueFamilyIndex, int dstQueueFamilyIndex, long buffer, long offset, long size)
Initializes this struct with the specified values. |
| public VkBufferMemoryBarrier2 | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public long | size()
a size in bytes of the affected area of backing memory for |
| public VkBufferMemoryBarrier2 | |
| public int | |
| public long | |
| public VkBufferMemoryBarrier2 | |
| public int | |
| public VkBufferMemoryBarrier2 | |
| public long | srcStageMask()
a |
| public VkBufferMemoryBarrier2 | |
| public int | |
| public VkBufferMemoryBarrier2 | |
| public VkBufferMemoryBarrier2 |