// *** THIS FILE IS GENERATED - DO NOT EDIT ***
// See sync_validation_generator.py for modifications

/***************************************************************************
 *
 * Copyright (c) 2015-2025 Valve Corporation
 * Copyright (c) 2015-2025 LunarG, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ****************************************************************************/

// NOLINTBEGIN

#include "sync_validation_types.h"
// clang-format off
const std::array<SyncAccessInfo, 139>& syncAccessInfoByAccessIndex() {
static const std::array<SyncAccessInfo, 139> variable = { {
    {
        "SYNC_ACCESS_INDEX_NONE",
        VK_PIPELINE_STAGE_2_NONE,
        VK_ACCESS_2_NONE,
        SYNC_ACCESS_INDEX_NONE,
        SyncAccessFlags(0)
    },
    {
        "SYNC_DRAW_INDIRECT_INDIRECT_COMMAND_READ",
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,
        VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT,
        SYNC_DRAW_INDIRECT_INDIRECT_COMMAND_READ,
        SYNC_DRAW_INDIRECT_INDIRECT_COMMAND_READ_BIT
    },
    {
        "SYNC_DRAW_INDIRECT_TRANSFORM_FEEDBACK_COUNTER_READ_EXT",
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,
        VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
        SYNC_DRAW_INDIRECT_TRANSFORM_FEEDBACK_COUNTER_READ_EXT,
        SYNC_DRAW_INDIRECT_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT
    },
    {
        "SYNC_VERTEX_SHADER_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_VERTEX_SHADER_ACCELERATION_STRUCTURE_READ,
        SYNC_VERTEX_SHADER_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_VERTEX_SHADER_DESCRIPTOR_BUFFER_READ_EXT",
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
        SYNC_VERTEX_SHADER_DESCRIPTOR_BUFFER_READ_EXT,
        SYNC_VERTEX_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT
    },
    {
        "SYNC_VERTEX_SHADER_SHADER_BINDING_TABLE_READ",
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
        SYNC_VERTEX_SHADER_SHADER_BINDING_TABLE_READ,
        SYNC_VERTEX_SHADER_SHADER_BINDING_TABLE_READ_BIT
    },
    {
        "SYNC_VERTEX_SHADER_SHADER_SAMPLED_READ",
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
        SYNC_VERTEX_SHADER_SHADER_SAMPLED_READ,
        SYNC_VERTEX_SHADER_SHADER_SAMPLED_READ_BIT
    },
    {
        "SYNC_VERTEX_SHADER_SHADER_STORAGE_READ",
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
        SYNC_VERTEX_SHADER_SHADER_STORAGE_READ,
        SYNC_VERTEX_SHADER_SHADER_STORAGE_READ_BIT
    },
    {
        "SYNC_VERTEX_SHADER_SHADER_STORAGE_WRITE",
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
        SYNC_VERTEX_SHADER_SHADER_STORAGE_WRITE,
        SYNC_VERTEX_SHADER_SHADER_STORAGE_WRITE_BIT
    },
    {
        "SYNC_VERTEX_SHADER_UNIFORM_READ",
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,
        VK_ACCESS_2_UNIFORM_READ_BIT,
        SYNC_VERTEX_SHADER_UNIFORM_READ,
        SYNC_VERTEX_SHADER_UNIFORM_READ_BIT
    },
    {
        "SYNC_TESSELLATION_CONTROL_SHADER_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_TESSELLATION_CONTROL_SHADER_ACCELERATION_STRUCTURE_READ,
        SYNC_TESSELLATION_CONTROL_SHADER_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_TESSELLATION_CONTROL_SHADER_DESCRIPTOR_BUFFER_READ_EXT",
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
        SYNC_TESSELLATION_CONTROL_SHADER_DESCRIPTOR_BUFFER_READ_EXT,
        SYNC_TESSELLATION_CONTROL_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT
    },
    {
        "SYNC_TESSELLATION_CONTROL_SHADER_SHADER_BINDING_TABLE_READ",
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_BINDING_TABLE_READ,
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_BINDING_TABLE_READ_BIT
    },
    {
        "SYNC_TESSELLATION_CONTROL_SHADER_SHADER_SAMPLED_READ",
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_SAMPLED_READ,
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_SAMPLED_READ_BIT
    },
    {
        "SYNC_TESSELLATION_CONTROL_SHADER_SHADER_STORAGE_READ",
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_STORAGE_READ,
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_STORAGE_READ_BIT
    },
    {
        "SYNC_TESSELLATION_CONTROL_SHADER_SHADER_STORAGE_WRITE",
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_STORAGE_WRITE,
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_STORAGE_WRITE_BIT
    },
    {
        "SYNC_TESSELLATION_CONTROL_SHADER_UNIFORM_READ",
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,
        VK_ACCESS_2_UNIFORM_READ_BIT,
        SYNC_TESSELLATION_CONTROL_SHADER_UNIFORM_READ,
        SYNC_TESSELLATION_CONTROL_SHADER_UNIFORM_READ_BIT
    },
    {
        "SYNC_TESSELLATION_EVALUATION_SHADER_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_TESSELLATION_EVALUATION_SHADER_ACCELERATION_STRUCTURE_READ,
        SYNC_TESSELLATION_EVALUATION_SHADER_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_TESSELLATION_EVALUATION_SHADER_DESCRIPTOR_BUFFER_READ_EXT",
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
        SYNC_TESSELLATION_EVALUATION_SHADER_DESCRIPTOR_BUFFER_READ_EXT,
        SYNC_TESSELLATION_EVALUATION_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT
    },
    {
        "SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_BINDING_TABLE_READ",
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_BINDING_TABLE_READ,
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_BINDING_TABLE_READ_BIT
    },
    {
        "SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_SAMPLED_READ",
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_SAMPLED_READ,
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_SAMPLED_READ_BIT
    },
    {
        "SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_STORAGE_READ",
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_STORAGE_READ,
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_STORAGE_READ_BIT
    },
    {
        "SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_STORAGE_WRITE",
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_STORAGE_WRITE,
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_STORAGE_WRITE_BIT
    },
    {
        "SYNC_TESSELLATION_EVALUATION_SHADER_UNIFORM_READ",
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,
        VK_ACCESS_2_UNIFORM_READ_BIT,
        SYNC_TESSELLATION_EVALUATION_SHADER_UNIFORM_READ,
        SYNC_TESSELLATION_EVALUATION_SHADER_UNIFORM_READ_BIT
    },
    {
        "SYNC_GEOMETRY_SHADER_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_GEOMETRY_SHADER_ACCELERATION_STRUCTURE_READ,
        SYNC_GEOMETRY_SHADER_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_GEOMETRY_SHADER_DESCRIPTOR_BUFFER_READ_EXT",
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
        SYNC_GEOMETRY_SHADER_DESCRIPTOR_BUFFER_READ_EXT,
        SYNC_GEOMETRY_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT
    },
    {
        "SYNC_GEOMETRY_SHADER_SHADER_BINDING_TABLE_READ",
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
        SYNC_GEOMETRY_SHADER_SHADER_BINDING_TABLE_READ,
        SYNC_GEOMETRY_SHADER_SHADER_BINDING_TABLE_READ_BIT
    },
    {
        "SYNC_GEOMETRY_SHADER_SHADER_SAMPLED_READ",
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
        SYNC_GEOMETRY_SHADER_SHADER_SAMPLED_READ,
        SYNC_GEOMETRY_SHADER_SHADER_SAMPLED_READ_BIT
    },
    {
        "SYNC_GEOMETRY_SHADER_SHADER_STORAGE_READ",
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
        SYNC_GEOMETRY_SHADER_SHADER_STORAGE_READ,
        SYNC_GEOMETRY_SHADER_SHADER_STORAGE_READ_BIT
    },
    {
        "SYNC_GEOMETRY_SHADER_SHADER_STORAGE_WRITE",
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
        SYNC_GEOMETRY_SHADER_SHADER_STORAGE_WRITE,
        SYNC_GEOMETRY_SHADER_SHADER_STORAGE_WRITE_BIT
    },
    {
        "SYNC_GEOMETRY_SHADER_UNIFORM_READ",
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,
        VK_ACCESS_2_UNIFORM_READ_BIT,
        SYNC_GEOMETRY_SHADER_UNIFORM_READ,
        SYNC_GEOMETRY_SHADER_UNIFORM_READ_BIT
    },
    {
        "SYNC_FRAGMENT_SHADER_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_FRAGMENT_SHADER_ACCELERATION_STRUCTURE_READ,
        SYNC_FRAGMENT_SHADER_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_FRAGMENT_SHADER_COLOR_ATTACHMENT_READ",
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
        VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT,
        SYNC_FRAGMENT_SHADER_COLOR_ATTACHMENT_READ,
        SYNC_FRAGMENT_SHADER_COLOR_ATTACHMENT_READ_BIT
    },
    {
        "SYNC_FRAGMENT_SHADER_DEPTH_STENCIL_ATTACHMENT_READ",
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
        VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
        SYNC_FRAGMENT_SHADER_DEPTH_STENCIL_ATTACHMENT_READ,
        SYNC_FRAGMENT_SHADER_DEPTH_STENCIL_ATTACHMENT_READ_BIT
    },
    {
        "SYNC_FRAGMENT_SHADER_DESCRIPTOR_BUFFER_READ_EXT",
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
        SYNC_FRAGMENT_SHADER_DESCRIPTOR_BUFFER_READ_EXT,
        SYNC_FRAGMENT_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT
    },
    {
        "SYNC_FRAGMENT_SHADER_INPUT_ATTACHMENT_READ",
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
        VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT,
        SYNC_FRAGMENT_SHADER_INPUT_ATTACHMENT_READ,
        SYNC_FRAGMENT_SHADER_INPUT_ATTACHMENT_READ_BIT
    },
    {
        "SYNC_FRAGMENT_SHADER_SHADER_BINDING_TABLE_READ",
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
        SYNC_FRAGMENT_SHADER_SHADER_BINDING_TABLE_READ,
        SYNC_FRAGMENT_SHADER_SHADER_BINDING_TABLE_READ_BIT
    },
    {
        "SYNC_FRAGMENT_SHADER_SHADER_SAMPLED_READ",
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
        SYNC_FRAGMENT_SHADER_SHADER_SAMPLED_READ,
        SYNC_FRAGMENT_SHADER_SHADER_SAMPLED_READ_BIT
    },
    {
        "SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ",
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
        SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ,
        SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ_BIT
    },
    {
        "SYNC_FRAGMENT_SHADER_SHADER_STORAGE_WRITE",
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
        SYNC_FRAGMENT_SHADER_SHADER_STORAGE_WRITE,
        SYNC_FRAGMENT_SHADER_SHADER_STORAGE_WRITE_BIT
    },
    {
        "SYNC_FRAGMENT_SHADER_UNIFORM_READ",
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
        VK_ACCESS_2_UNIFORM_READ_BIT,
        SYNC_FRAGMENT_SHADER_UNIFORM_READ,
        SYNC_FRAGMENT_SHADER_UNIFORM_READ_BIT
    },
    {
        "SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ",
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,
        VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
        SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ,
        SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ_BIT
    },
    {
        "SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE",
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,
        VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
        SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE,
        SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT
    },
    {
        "SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ",
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
        VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
        SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ,
        SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ_BIT
    },
    {
        "SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE",
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
        VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
        SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE,
        SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT
    },
    {
        "SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ",
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT,
        VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT,
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ,
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ_BIT
    },
    {
        "SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ_NONCOHERENT_EXT",
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT,
        VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ_NONCOHERENT_EXT,
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT
    },
    {
        "SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_WRITE",
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT,
        VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT,
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_WRITE,
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_WRITE_BIT
    },
    {
        "SYNC_COMPUTE_SHADER_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_COMPUTE_SHADER_ACCELERATION_STRUCTURE_READ,
        SYNC_COMPUTE_SHADER_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_COMPUTE_SHADER_DESCRIPTOR_BUFFER_READ_EXT",
        VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
        SYNC_COMPUTE_SHADER_DESCRIPTOR_BUFFER_READ_EXT,
        SYNC_COMPUTE_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT
    },
    {
        "SYNC_COMPUTE_SHADER_SHADER_BINDING_TABLE_READ",
        VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
        SYNC_COMPUTE_SHADER_SHADER_BINDING_TABLE_READ,
        SYNC_COMPUTE_SHADER_SHADER_BINDING_TABLE_READ_BIT
    },
    {
        "SYNC_COMPUTE_SHADER_SHADER_SAMPLED_READ",
        VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
        SYNC_COMPUTE_SHADER_SHADER_SAMPLED_READ,
        SYNC_COMPUTE_SHADER_SHADER_SAMPLED_READ_BIT
    },
    {
        "SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ",
        VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
        SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ,
        SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ_BIT
    },
    {
        "SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE",
        VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
        SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE,
        SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE_BIT
    },
    {
        "SYNC_COMPUTE_SHADER_UNIFORM_READ",
        VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
        VK_ACCESS_2_UNIFORM_READ_BIT,
        SYNC_COMPUTE_SHADER_UNIFORM_READ,
        SYNC_COMPUTE_SHADER_UNIFORM_READ_BIT
    },
    {
        "SYNC_HOST_HOST_READ",
        VK_PIPELINE_STAGE_2_HOST_BIT,
        VK_ACCESS_2_HOST_READ_BIT,
        SYNC_HOST_HOST_READ,
        SYNC_HOST_HOST_READ_BIT
    },
    {
        "SYNC_HOST_HOST_WRITE",
        VK_PIPELINE_STAGE_2_HOST_BIT,
        VK_ACCESS_2_HOST_WRITE_BIT,
        SYNC_HOST_HOST_WRITE,
        SYNC_HOST_HOST_WRITE_BIT
    },
    {
        "SYNC_COMMAND_PREPROCESS_NV_COMMAND_PREPROCESS_READ_NV",
        VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV,
        VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,
        SYNC_COMMAND_PREPROCESS_NV_COMMAND_PREPROCESS_READ_NV,
        SYNC_COMMAND_PREPROCESS_BIT_NV_COMMAND_PREPROCESS_READ_BIT_NV
    },
    {
        "SYNC_COMMAND_PREPROCESS_NV_COMMAND_PREPROCESS_WRITE_NV",
        VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV,
        VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,
        SYNC_COMMAND_PREPROCESS_NV_COMMAND_PREPROCESS_WRITE_NV,
        SYNC_COMMAND_PREPROCESS_BIT_NV_COMMAND_PREPROCESS_WRITE_BIT_NV
    },
    {
        "SYNC_CONDITIONAL_RENDERING_EXT_CONDITIONAL_RENDERING_READ_EXT",
        VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,
        VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,
        SYNC_CONDITIONAL_RENDERING_EXT_CONDITIONAL_RENDERING_READ_EXT,
        SYNC_CONDITIONAL_RENDERING_BIT_EXT_CONDITIONAL_RENDERING_READ_BIT_EXT
    },
    {
        "SYNC_TASK_SHADER_EXT_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_TASK_SHADER_EXT_ACCELERATION_STRUCTURE_READ,
        SYNC_TASK_SHADER_EXT_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_TASK_SHADER_EXT_DESCRIPTOR_BUFFER_READ_EXT",
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
        SYNC_TASK_SHADER_EXT_DESCRIPTOR_BUFFER_READ_EXT,
        SYNC_TASK_SHADER_BIT_EXT_DESCRIPTOR_BUFFER_READ_BIT_EXT
    },
    {
        "SYNC_TASK_SHADER_EXT_SHADER_BINDING_TABLE_READ",
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
        SYNC_TASK_SHADER_EXT_SHADER_BINDING_TABLE_READ,
        SYNC_TASK_SHADER_EXT_SHADER_BINDING_TABLE_READ_BIT
    },
    {
        "SYNC_TASK_SHADER_EXT_SHADER_SAMPLED_READ",
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
        SYNC_TASK_SHADER_EXT_SHADER_SAMPLED_READ,
        SYNC_TASK_SHADER_EXT_SHADER_SAMPLED_READ_BIT
    },
    {
        "SYNC_TASK_SHADER_EXT_SHADER_STORAGE_READ",
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
        SYNC_TASK_SHADER_EXT_SHADER_STORAGE_READ,
        SYNC_TASK_SHADER_EXT_SHADER_STORAGE_READ_BIT
    },
    {
        "SYNC_TASK_SHADER_EXT_SHADER_STORAGE_WRITE",
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
        SYNC_TASK_SHADER_EXT_SHADER_STORAGE_WRITE,
        SYNC_TASK_SHADER_EXT_SHADER_STORAGE_WRITE_BIT
    },
    {
        "SYNC_TASK_SHADER_EXT_UNIFORM_READ",
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,
        VK_ACCESS_2_UNIFORM_READ_BIT,
        SYNC_TASK_SHADER_EXT_UNIFORM_READ,
        SYNC_TASK_SHADER_EXT_UNIFORM_READ_BIT
    },
    {
        "SYNC_MESH_SHADER_EXT_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_MESH_SHADER_EXT_ACCELERATION_STRUCTURE_READ,
        SYNC_MESH_SHADER_EXT_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_MESH_SHADER_EXT_DESCRIPTOR_BUFFER_READ_EXT",
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
        SYNC_MESH_SHADER_EXT_DESCRIPTOR_BUFFER_READ_EXT,
        SYNC_MESH_SHADER_BIT_EXT_DESCRIPTOR_BUFFER_READ_BIT_EXT
    },
    {
        "SYNC_MESH_SHADER_EXT_SHADER_BINDING_TABLE_READ",
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
        SYNC_MESH_SHADER_EXT_SHADER_BINDING_TABLE_READ,
        SYNC_MESH_SHADER_EXT_SHADER_BINDING_TABLE_READ_BIT
    },
    {
        "SYNC_MESH_SHADER_EXT_SHADER_SAMPLED_READ",
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
        SYNC_MESH_SHADER_EXT_SHADER_SAMPLED_READ,
        SYNC_MESH_SHADER_EXT_SHADER_SAMPLED_READ_BIT
    },
    {
        "SYNC_MESH_SHADER_EXT_SHADER_STORAGE_READ",
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
        SYNC_MESH_SHADER_EXT_SHADER_STORAGE_READ,
        SYNC_MESH_SHADER_EXT_SHADER_STORAGE_READ_BIT
    },
    {
        "SYNC_MESH_SHADER_EXT_SHADER_STORAGE_WRITE",
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
        SYNC_MESH_SHADER_EXT_SHADER_STORAGE_WRITE,
        SYNC_MESH_SHADER_EXT_SHADER_STORAGE_WRITE_BIT
    },
    {
        "SYNC_MESH_SHADER_EXT_UNIFORM_READ",
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,
        VK_ACCESS_2_UNIFORM_READ_BIT,
        SYNC_MESH_SHADER_EXT_UNIFORM_READ,
        SYNC_MESH_SHADER_EXT_UNIFORM_READ_BIT
    },
    {
        "SYNC_RAY_TRACING_SHADER_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_RAY_TRACING_SHADER_ACCELERATION_STRUCTURE_READ,
        SYNC_RAY_TRACING_SHADER_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_RAY_TRACING_SHADER_DESCRIPTOR_BUFFER_READ_EXT",
        VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
        SYNC_RAY_TRACING_SHADER_DESCRIPTOR_BUFFER_READ_EXT,
        SYNC_RAY_TRACING_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT
    },
    {
        "SYNC_RAY_TRACING_SHADER_SHADER_BINDING_TABLE_READ",
        VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
        SYNC_RAY_TRACING_SHADER_SHADER_BINDING_TABLE_READ,
        SYNC_RAY_TRACING_SHADER_SHADER_BINDING_TABLE_READ_BIT
    },
    {
        "SYNC_RAY_TRACING_SHADER_SHADER_SAMPLED_READ",
        VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
        SYNC_RAY_TRACING_SHADER_SHADER_SAMPLED_READ,
        SYNC_RAY_TRACING_SHADER_SHADER_SAMPLED_READ_BIT
    },
    {
        "SYNC_RAY_TRACING_SHADER_SHADER_STORAGE_READ",
        VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
        SYNC_RAY_TRACING_SHADER_SHADER_STORAGE_READ,
        SYNC_RAY_TRACING_SHADER_SHADER_STORAGE_READ_BIT
    },
    {
        "SYNC_RAY_TRACING_SHADER_SHADER_STORAGE_WRITE",
        VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
        SYNC_RAY_TRACING_SHADER_SHADER_STORAGE_WRITE,
        SYNC_RAY_TRACING_SHADER_SHADER_STORAGE_WRITE_BIT
    },
    {
        "SYNC_RAY_TRACING_SHADER_UNIFORM_READ",
        VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,
        VK_ACCESS_2_UNIFORM_READ_BIT,
        SYNC_RAY_TRACING_SHADER_UNIFORM_READ,
        SYNC_RAY_TRACING_SHADER_UNIFORM_READ_BIT
    },
    {
        "SYNC_FRAGMENT_SHADING_RATE_ATTACHMENT_FRAGMENT_SHADING_RATE_ATTACHMENT_READ",
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
        VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
        SYNC_FRAGMENT_SHADING_RATE_ATTACHMENT_FRAGMENT_SHADING_RATE_ATTACHMENT_READ,
        SYNC_FRAGMENT_SHADING_RATE_ATTACHMENT_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT
    },
    {
        "SYNC_FRAGMENT_DENSITY_PROCESS_EXT_FRAGMENT_DENSITY_MAP_READ_EXT",
        VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,
        VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
        SYNC_FRAGMENT_DENSITY_PROCESS_EXT_FRAGMENT_DENSITY_MAP_READ_EXT,
        SYNC_FRAGMENT_DENSITY_PROCESS_BIT_EXT_FRAGMENT_DENSITY_MAP_READ_BIT_EXT
    },
    {
        "SYNC_TRANSFORM_FEEDBACK_EXT_TRANSFORM_FEEDBACK_COUNTER_READ_EXT",
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
        VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
        SYNC_TRANSFORM_FEEDBACK_EXT_TRANSFORM_FEEDBACK_COUNTER_READ_EXT,
        SYNC_TRANSFORM_FEEDBACK_BIT_EXT_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT
    },
    {
        "SYNC_TRANSFORM_FEEDBACK_EXT_TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT",
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
        VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
        SYNC_TRANSFORM_FEEDBACK_EXT_TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT,
        SYNC_TRANSFORM_FEEDBACK_BIT_EXT_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT
    },
    {
        "SYNC_TRANSFORM_FEEDBACK_EXT_TRANSFORM_FEEDBACK_WRITE_EXT",
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,
        VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
        SYNC_TRANSFORM_FEEDBACK_EXT_TRANSFORM_FEEDBACK_WRITE_EXT,
        SYNC_TRANSFORM_FEEDBACK_BIT_EXT_TRANSFORM_FEEDBACK_WRITE_BIT_EXT
    },
    {
        "SYNC_ACCELERATION_STRUCTURE_BUILD_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_ACCELERATION_STRUCTURE_BUILD_ACCELERATION_STRUCTURE_READ,
        SYNC_ACCELERATION_STRUCTURE_BUILD_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_ACCELERATION_STRUCTURE_BUILD_ACCELERATION_STRUCTURE_WRITE",
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
        SYNC_ACCELERATION_STRUCTURE_BUILD_ACCELERATION_STRUCTURE_WRITE,
        SYNC_ACCELERATION_STRUCTURE_BUILD_ACCELERATION_STRUCTURE_WRITE_BIT
    },
    {
        "SYNC_ACCELERATION_STRUCTURE_BUILD_INDIRECT_COMMAND_READ",
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
        VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT,
        SYNC_ACCELERATION_STRUCTURE_BUILD_INDIRECT_COMMAND_READ,
        SYNC_ACCELERATION_STRUCTURE_BUILD_INDIRECT_COMMAND_READ_BIT
    },
    {
        "SYNC_ACCELERATION_STRUCTURE_BUILD_MICROMAP_READ_EXT",
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
        VK_ACCESS_2_MICROMAP_READ_BIT_EXT,
        SYNC_ACCELERATION_STRUCTURE_BUILD_MICROMAP_READ_EXT,
        SYNC_ACCELERATION_STRUCTURE_BUILD_MICROMAP_READ_BIT_EXT
    },
    {
        "SYNC_ACCELERATION_STRUCTURE_BUILD_SHADER_READ",
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
        VK_ACCESS_2_SHADER_READ_BIT,
        SYNC_ACCELERATION_STRUCTURE_BUILD_SHADER_READ,
        SYNC_ACCELERATION_STRUCTURE_BUILD_SHADER_READ_BIT
    },
    {
        "SYNC_ACCELERATION_STRUCTURE_BUILD_TRANSFER_READ",
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
        VK_ACCESS_2_TRANSFER_READ_BIT,
        SYNC_ACCELERATION_STRUCTURE_BUILD_TRANSFER_READ,
        SYNC_ACCELERATION_STRUCTURE_BUILD_TRANSFER_READ_BIT
    },
    {
        "SYNC_ACCELERATION_STRUCTURE_BUILD_TRANSFER_WRITE",
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
        VK_ACCESS_2_TRANSFER_WRITE_BIT,
        SYNC_ACCELERATION_STRUCTURE_BUILD_TRANSFER_WRITE,
        SYNC_ACCELERATION_STRUCTURE_BUILD_TRANSFER_WRITE_BIT
    },
    {
        "SYNC_VIDEO_DECODE_VIDEO_DECODE_READ",
        VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR,
        VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR,
        SYNC_VIDEO_DECODE_VIDEO_DECODE_READ,
        SYNC_VIDEO_DECODE_VIDEO_DECODE_READ_BIT
    },
    {
        "SYNC_VIDEO_DECODE_VIDEO_DECODE_WRITE",
        VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR,
        VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,
        SYNC_VIDEO_DECODE_VIDEO_DECODE_WRITE,
        SYNC_VIDEO_DECODE_VIDEO_DECODE_WRITE_BIT
    },
    {
        "SYNC_VIDEO_ENCODE_VIDEO_ENCODE_READ",
        VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR,
        VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR,
        SYNC_VIDEO_ENCODE_VIDEO_ENCODE_READ,
        SYNC_VIDEO_ENCODE_VIDEO_ENCODE_READ_BIT
    },
    {
        "SYNC_VIDEO_ENCODE_VIDEO_ENCODE_WRITE",
        VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR,
        VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,
        SYNC_VIDEO_ENCODE_VIDEO_ENCODE_WRITE,
        SYNC_VIDEO_ENCODE_VIDEO_ENCODE_WRITE_BIT
    },
    {
        "SYNC_ACCELERATION_STRUCTURE_COPY_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_ACCELERATION_STRUCTURE_COPY_ACCELERATION_STRUCTURE_READ,
        SYNC_ACCELERATION_STRUCTURE_COPY_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_ACCELERATION_STRUCTURE_COPY_ACCELERATION_STRUCTURE_WRITE",
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
        SYNC_ACCELERATION_STRUCTURE_COPY_ACCELERATION_STRUCTURE_WRITE,
        SYNC_ACCELERATION_STRUCTURE_COPY_ACCELERATION_STRUCTURE_WRITE_BIT
    },
    {
        "SYNC_ACCELERATION_STRUCTURE_COPY_TRANSFER_READ",
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
        VK_ACCESS_2_TRANSFER_READ_BIT,
        SYNC_ACCELERATION_STRUCTURE_COPY_TRANSFER_READ,
        SYNC_ACCELERATION_STRUCTURE_COPY_TRANSFER_READ_BIT
    },
    {
        "SYNC_ACCELERATION_STRUCTURE_COPY_TRANSFER_WRITE",
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,
        VK_ACCESS_2_TRANSFER_WRITE_BIT,
        SYNC_ACCELERATION_STRUCTURE_COPY_TRANSFER_WRITE,
        SYNC_ACCELERATION_STRUCTURE_COPY_TRANSFER_WRITE_BIT
    },
    {
        "SYNC_OPTICAL_FLOW_NV_OPTICAL_FLOW_READ_NV",
        VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV,
        VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV,
        SYNC_OPTICAL_FLOW_NV_OPTICAL_FLOW_READ_NV,
        SYNC_OPTICAL_FLOW_BIT_NV_OPTICAL_FLOW_READ_BIT_NV
    },
    {
        "SYNC_OPTICAL_FLOW_NV_OPTICAL_FLOW_WRITE_NV",
        VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV,
        VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV,
        SYNC_OPTICAL_FLOW_NV_OPTICAL_FLOW_WRITE_NV,
        SYNC_OPTICAL_FLOW_BIT_NV_OPTICAL_FLOW_WRITE_BIT_NV
    },
    {
        "SYNC_MICROMAP_BUILD_EXT_MICROMAP_READ_EXT",
        VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,
        VK_ACCESS_2_MICROMAP_READ_BIT_EXT,
        SYNC_MICROMAP_BUILD_EXT_MICROMAP_READ_EXT,
        SYNC_MICROMAP_BUILD_BIT_EXT_MICROMAP_READ_BIT_EXT
    },
    {
        "SYNC_MICROMAP_BUILD_EXT_MICROMAP_WRITE_EXT",
        VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,
        VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT,
        SYNC_MICROMAP_BUILD_EXT_MICROMAP_WRITE_EXT,
        SYNC_MICROMAP_BUILD_BIT_EXT_MICROMAP_WRITE_BIT_EXT
    },
    {
        "SYNC_MICROMAP_BUILD_EXT_SHADER_READ",
        VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,
        VK_ACCESS_2_SHADER_READ_BIT,
        SYNC_MICROMAP_BUILD_EXT_SHADER_READ,
        SYNC_MICROMAP_BUILD_EXT_SHADER_READ_BIT
    },
    {
        "SYNC_MICROMAP_BUILD_EXT_TRANSFER_READ",
        VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,
        VK_ACCESS_2_TRANSFER_READ_BIT,
        SYNC_MICROMAP_BUILD_EXT_TRANSFER_READ,
        SYNC_MICROMAP_BUILD_EXT_TRANSFER_READ_BIT
    },
    {
        "SYNC_MICROMAP_BUILD_EXT_TRANSFER_WRITE",
        VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,
        VK_ACCESS_2_TRANSFER_WRITE_BIT,
        SYNC_MICROMAP_BUILD_EXT_TRANSFER_WRITE,
        SYNC_MICROMAP_BUILD_EXT_TRANSFER_WRITE_BIT
    },
    {
        "SYNC_COPY_TRANSFER_READ",
        VK_PIPELINE_STAGE_2_COPY_BIT,
        VK_ACCESS_2_TRANSFER_READ_BIT,
        SYNC_COPY_TRANSFER_READ,
        SYNC_COPY_TRANSFER_READ_BIT
    },
    {
        "SYNC_COPY_TRANSFER_WRITE",
        VK_PIPELINE_STAGE_2_COPY_BIT,
        VK_ACCESS_2_TRANSFER_WRITE_BIT,
        SYNC_COPY_TRANSFER_WRITE,
        SYNC_COPY_TRANSFER_WRITE_BIT
    },
    {
        "SYNC_RESOLVE_TRANSFER_READ",
        VK_PIPELINE_STAGE_2_RESOLVE_BIT,
        VK_ACCESS_2_TRANSFER_READ_BIT,
        SYNC_RESOLVE_TRANSFER_READ,
        SYNC_RESOLVE_TRANSFER_READ_BIT
    },
    {
        "SYNC_RESOLVE_TRANSFER_WRITE",
        VK_PIPELINE_STAGE_2_RESOLVE_BIT,
        VK_ACCESS_2_TRANSFER_WRITE_BIT,
        SYNC_RESOLVE_TRANSFER_WRITE,
        SYNC_RESOLVE_TRANSFER_WRITE_BIT
    },
    {
        "SYNC_BLIT_TRANSFER_READ",
        VK_PIPELINE_STAGE_2_BLIT_BIT,
        VK_ACCESS_2_TRANSFER_READ_BIT,
        SYNC_BLIT_TRANSFER_READ,
        SYNC_BLIT_TRANSFER_READ_BIT
    },
    {
        "SYNC_BLIT_TRANSFER_WRITE",
        VK_PIPELINE_STAGE_2_BLIT_BIT,
        VK_ACCESS_2_TRANSFER_WRITE_BIT,
        SYNC_BLIT_TRANSFER_WRITE,
        SYNC_BLIT_TRANSFER_WRITE_BIT
    },
    {
        "SYNC_CLEAR_TRANSFER_WRITE",
        VK_PIPELINE_STAGE_2_CLEAR_BIT,
        VK_ACCESS_2_TRANSFER_WRITE_BIT,
        SYNC_CLEAR_TRANSFER_WRITE,
        SYNC_CLEAR_TRANSFER_WRITE_BIT
    },
    {
        "SYNC_INDEX_INPUT_INDEX_READ",
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT,
        VK_ACCESS_2_INDEX_READ_BIT,
        SYNC_INDEX_INPUT_INDEX_READ,
        SYNC_INDEX_INPUT_INDEX_READ_BIT
    },
    {
        "SYNC_VERTEX_ATTRIBUTE_INPUT_VERTEX_ATTRIBUTE_READ",
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT,
        VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT,
        SYNC_VERTEX_ATTRIBUTE_INPUT_VERTEX_ATTRIBUTE_READ,
        SYNC_VERTEX_ATTRIBUTE_INPUT_VERTEX_ATTRIBUTE_READ_BIT
    },
    {
        "SYNC_SUBPASS_SHADER_HUAWEI_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_SUBPASS_SHADER_HUAWEI_ACCELERATION_STRUCTURE_READ,
        SYNC_SUBPASS_SHADER_HUAWEI_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_SUBPASS_SHADER_HUAWEI_DESCRIPTOR_BUFFER_READ_EXT",
        VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
        SYNC_SUBPASS_SHADER_HUAWEI_DESCRIPTOR_BUFFER_READ_EXT,
        SYNC_SUBPASS_SHADER_HUAWEI_DESCRIPTOR_BUFFER_READ_BIT_EXT
    },
    {
        "SYNC_SUBPASS_SHADER_HUAWEI_INPUT_ATTACHMENT_READ",
        VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT,
        SYNC_SUBPASS_SHADER_HUAWEI_INPUT_ATTACHMENT_READ,
        SYNC_SUBPASS_SHADER_HUAWEI_INPUT_ATTACHMENT_READ_BIT
    },
    {
        "SYNC_SUBPASS_SHADER_HUAWEI_SHADER_BINDING_TABLE_READ",
        VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_BINDING_TABLE_READ,
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_BINDING_TABLE_READ_BIT
    },
    {
        "SYNC_SUBPASS_SHADER_HUAWEI_SHADER_SAMPLED_READ",
        VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_SAMPLED_READ,
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_SAMPLED_READ_BIT
    },
    {
        "SYNC_SUBPASS_SHADER_HUAWEI_SHADER_STORAGE_READ",
        VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_STORAGE_READ,
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_STORAGE_READ_BIT
    },
    {
        "SYNC_SUBPASS_SHADER_HUAWEI_SHADER_STORAGE_WRITE",
        VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_STORAGE_WRITE,
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_STORAGE_WRITE_BIT
    },
    {
        "SYNC_SUBPASS_SHADER_HUAWEI_UNIFORM_READ",
        VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_UNIFORM_READ_BIT,
        SYNC_SUBPASS_SHADER_HUAWEI_UNIFORM_READ,
        SYNC_SUBPASS_SHADER_HUAWEI_UNIFORM_READ_BIT
    },
    {
        "SYNC_INVOCATION_MASK_HUAWEI_INVOCATION_MASK_READ_HUAWEI",
        VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI,
        VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,
        SYNC_INVOCATION_MASK_HUAWEI_INVOCATION_MASK_READ_HUAWEI,
        SYNC_INVOCATION_MASK_HUAWEI_INVOCATION_MASK_READ_HUAWEI_BIT
    },
    {
        "SYNC_CLUSTER_CULLING_SHADER_HUAWEI_ACCELERATION_STRUCTURE_READ",
        VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_ACCELERATION_STRUCTURE_READ,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_ACCELERATION_STRUCTURE_READ_BIT
    },
    {
        "SYNC_CLUSTER_CULLING_SHADER_HUAWEI_DESCRIPTOR_BUFFER_READ_EXT",
        VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_DESCRIPTOR_BUFFER_READ_EXT,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_DESCRIPTOR_BUFFER_READ_BIT_EXT
    },
    {
        "SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_BINDING_TABLE_READ",
        VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_BINDING_TABLE_READ,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_BINDING_TABLE_READ_BIT
    },
    {
        "SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_SAMPLED_READ",
        VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_SAMPLED_READ,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_SAMPLED_READ_BIT
    },
    {
        "SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_STORAGE_READ",
        VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_STORAGE_READ,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_STORAGE_READ_BIT
    },
    {
        "SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_STORAGE_WRITE",
        VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_STORAGE_WRITE,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_STORAGE_WRITE_BIT
    },
    {
        "SYNC_CLUSTER_CULLING_SHADER_HUAWEI_UNIFORM_READ",
        VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,
        VK_ACCESS_2_UNIFORM_READ_BIT,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_UNIFORM_READ,
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_UNIFORM_READ_BIT
    },
    {
        "SYNC_CONVERT_COOPERATIVE_VECTOR_MATRIX_NV_TRANSFER_READ",
        VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV,
        VK_ACCESS_2_TRANSFER_READ_BIT,
        SYNC_CONVERT_COOPERATIVE_VECTOR_MATRIX_NV_TRANSFER_READ,
        SYNC_CONVERT_COOPERATIVE_VECTOR_MATRIX_NV_TRANSFER_READ_BIT
    },
    {
        "SYNC_CONVERT_COOPERATIVE_VECTOR_MATRIX_NV_TRANSFER_WRITE",
        VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV,
        VK_ACCESS_2_TRANSFER_WRITE_BIT,
        SYNC_CONVERT_COOPERATIVE_VECTOR_MATRIX_NV_TRANSFER_WRITE,
        SYNC_CONVERT_COOPERATIVE_VECTOR_MATRIX_NV_TRANSFER_WRITE_BIT
    },
    {
        "SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_ACQUIRE_READ_SYNCVAL",
        VK_PIPELINE_STAGE_2_PRESENT_ENGINE_BIT_SYNCVAL,
        VK_ACCESS_2_PRESENT_ACQUIRE_READ_BIT_SYNCVAL,
        SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_ACQUIRE_READ_SYNCVAL,
        SYNC_PRESENT_ENGINE_BIT_SYNCVAL_PRESENT_ACQUIRE_READ_BIT_SYNCVAL
    },
    {
        "SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_PRESENTED_SYNCVAL",
        VK_PIPELINE_STAGE_2_PRESENT_ENGINE_BIT_SYNCVAL,
        VK_ACCESS_2_PRESENT_PRESENTED_BIT_SYNCVAL,
        SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_PRESENTED_SYNCVAL,
        SYNC_PRESENT_ENGINE_BIT_SYNCVAL_PRESENT_PRESENTED_BIT_SYNCVAL
    },
    {
        "SYNC_IMAGE_LAYOUT_TRANSITION",
        VK_PIPELINE_STAGE_2_NONE,
        VK_ACCESS_2_NONE,
        SYNC_IMAGE_LAYOUT_TRANSITION,
        SYNC_IMAGE_LAYOUT_TRANSITION_BIT
    },
    {
        "SYNC_QUEUE_FAMILY_OWNERSHIP_TRANSFER",
        VK_PIPELINE_STAGE_2_NONE,
        VK_ACCESS_2_NONE,
        SYNC_QUEUE_FAMILY_OWNERSHIP_TRANSFER,
        SYNC_QUEUE_FAMILY_OWNERSHIP_TRANSFER_BIT
    },
}};
return variable;
}
const std::map<VkPipelineStageFlagBits2, SyncAccessFlags>& syncAccessMaskByStageBit() {
    static const std::map<VkPipelineStageFlagBits2, SyncAccessFlags> variable = {
    { VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT, (
        SYNC_DRAW_INDIRECT_INDIRECT_COMMAND_READ_BIT |
        SYNC_DRAW_INDIRECT_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT
    )},
    { VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT, (
        SYNC_VERTEX_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_VERTEX_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_VERTEX_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_VERTEX_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_VERTEX_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_VERTEX_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_VERTEX_SHADER_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, (
        SYNC_TESSELLATION_CONTROL_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_TESSELLATION_CONTROL_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_TESSELLATION_CONTROL_SHADER_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, (
        SYNC_TESSELLATION_EVALUATION_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_TESSELLATION_EVALUATION_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_TESSELLATION_EVALUATION_SHADER_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, (
        SYNC_GEOMETRY_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_GEOMETRY_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_GEOMETRY_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_GEOMETRY_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_GEOMETRY_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_GEOMETRY_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_GEOMETRY_SHADER_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, (
        SYNC_FRAGMENT_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_FRAGMENT_SHADER_COLOR_ATTACHMENT_READ_BIT |
        SYNC_FRAGMENT_SHADER_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
        SYNC_FRAGMENT_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_FRAGMENT_SHADER_INPUT_ATTACHMENT_READ_BIT |
        SYNC_FRAGMENT_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_FRAGMENT_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_FRAGMENT_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_FRAGMENT_SHADER_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT, (
        SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
        SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT, (
        SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
        SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT, (
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ_BIT |
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT |
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, (
        SYNC_COMPUTE_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_COMPUTE_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_COMPUTE_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_COMPUTE_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_COMPUTE_SHADER_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_HOST_BIT, (
        SYNC_HOST_HOST_READ_BIT |
        SYNC_HOST_HOST_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV, (
        SYNC_COMMAND_PREPROCESS_BIT_NV_COMMAND_PREPROCESS_READ_BIT_NV |
        SYNC_COMMAND_PREPROCESS_BIT_NV_COMMAND_PREPROCESS_WRITE_BIT_NV
    )},
    { VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT, (
        SYNC_CONDITIONAL_RENDERING_BIT_EXT_CONDITIONAL_RENDERING_READ_BIT_EXT
    )},
    { VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, (
        SYNC_TASK_SHADER_EXT_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_TASK_SHADER_BIT_EXT_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_TASK_SHADER_EXT_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_TASK_SHADER_EXT_SHADER_SAMPLED_READ_BIT |
        SYNC_TASK_SHADER_EXT_SHADER_STORAGE_READ_BIT |
        SYNC_TASK_SHADER_EXT_SHADER_STORAGE_WRITE_BIT |
        SYNC_TASK_SHADER_EXT_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, (
        SYNC_MESH_SHADER_EXT_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_MESH_SHADER_BIT_EXT_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_MESH_SHADER_EXT_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_MESH_SHADER_EXT_SHADER_SAMPLED_READ_BIT |
        SYNC_MESH_SHADER_EXT_SHADER_STORAGE_READ_BIT |
        SYNC_MESH_SHADER_EXT_SHADER_STORAGE_WRITE_BIT |
        SYNC_MESH_SHADER_EXT_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, (
        SYNC_RAY_TRACING_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_RAY_TRACING_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_RAY_TRACING_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_RAY_TRACING_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_RAY_TRACING_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_RAY_TRACING_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_RAY_TRACING_SHADER_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, (
        SYNC_FRAGMENT_SHADING_RATE_ATTACHMENT_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT, (
        SYNC_FRAGMENT_DENSITY_PROCESS_BIT_EXT_FRAGMENT_DENSITY_MAP_READ_BIT_EXT
    )},
    { VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT, (
        SYNC_TRANSFORM_FEEDBACK_BIT_EXT_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT |
        SYNC_TRANSFORM_FEEDBACK_BIT_EXT_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT |
        SYNC_TRANSFORM_FEEDBACK_BIT_EXT_TRANSFORM_FEEDBACK_WRITE_BIT_EXT
    )},
    { VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, (
        SYNC_ACCELERATION_STRUCTURE_BUILD_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_ACCELERATION_STRUCTURE_BUILD_ACCELERATION_STRUCTURE_WRITE_BIT |
        SYNC_ACCELERATION_STRUCTURE_BUILD_INDIRECT_COMMAND_READ_BIT |
        SYNC_ACCELERATION_STRUCTURE_BUILD_MICROMAP_READ_BIT_EXT |
        SYNC_ACCELERATION_STRUCTURE_BUILD_SHADER_READ_BIT |
        SYNC_ACCELERATION_STRUCTURE_BUILD_TRANSFER_READ_BIT |
        SYNC_ACCELERATION_STRUCTURE_BUILD_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR, (
        SYNC_VIDEO_DECODE_VIDEO_DECODE_READ_BIT |
        SYNC_VIDEO_DECODE_VIDEO_DECODE_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR, (
        SYNC_VIDEO_ENCODE_VIDEO_ENCODE_READ_BIT |
        SYNC_VIDEO_ENCODE_VIDEO_ENCODE_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, (
        SYNC_ACCELERATION_STRUCTURE_COPY_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_ACCELERATION_STRUCTURE_COPY_ACCELERATION_STRUCTURE_WRITE_BIT |
        SYNC_ACCELERATION_STRUCTURE_COPY_TRANSFER_READ_BIT |
        SYNC_ACCELERATION_STRUCTURE_COPY_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV, (
        SYNC_OPTICAL_FLOW_BIT_NV_OPTICAL_FLOW_READ_BIT_NV |
        SYNC_OPTICAL_FLOW_BIT_NV_OPTICAL_FLOW_WRITE_BIT_NV
    )},
    { VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, (
        SYNC_MICROMAP_BUILD_BIT_EXT_MICROMAP_READ_BIT_EXT |
        SYNC_MICROMAP_BUILD_BIT_EXT_MICROMAP_WRITE_BIT_EXT |
        SYNC_MICROMAP_BUILD_EXT_SHADER_READ_BIT |
        SYNC_MICROMAP_BUILD_EXT_TRANSFER_READ_BIT |
        SYNC_MICROMAP_BUILD_EXT_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COPY_BIT, (
        SYNC_COPY_TRANSFER_READ_BIT |
        SYNC_COPY_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_RESOLVE_BIT, (
        SYNC_RESOLVE_TRANSFER_READ_BIT |
        SYNC_RESOLVE_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_BLIT_BIT, (
        SYNC_BLIT_TRANSFER_READ_BIT |
        SYNC_BLIT_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_CLEAR_BIT, (
        SYNC_CLEAR_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT, (
        SYNC_INDEX_INPUT_INDEX_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT, (
        SYNC_VERTEX_ATTRIBUTE_INPUT_VERTEX_ATTRIBUTE_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, (
        SYNC_SUBPASS_SHADER_HUAWEI_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_SUBPASS_SHADER_HUAWEI_INPUT_ATTACHMENT_READ_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_SAMPLED_READ_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_STORAGE_READ_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_STORAGE_WRITE_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI, (
        SYNC_INVOCATION_MASK_HUAWEI_INVOCATION_MASK_READ_HUAWEI_BIT
    )},
    { VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI, (
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_SAMPLED_READ_BIT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_STORAGE_READ_BIT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_STORAGE_WRITE_BIT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV, (
        SYNC_CONVERT_COOPERATIVE_VECTOR_MATRIX_NV_TRANSFER_READ_BIT |
        SYNC_CONVERT_COOPERATIVE_VECTOR_MATRIX_NV_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_PRESENT_ENGINE_BIT_SYNCVAL, (
        SYNC_PRESENT_ENGINE_BIT_SYNCVAL_PRESENT_ACQUIRE_READ_BIT_SYNCVAL |
        SYNC_PRESENT_ENGINE_BIT_SYNCVAL_PRESENT_PRESENTED_BIT_SYNCVAL
    )},
    };
    return variable;
}

const std::map<VkAccessFlagBits2, SyncAccessFlags>& syncAccessMaskByAccessBit() {
    static const std::map<VkAccessFlagBits2, SyncAccessFlags> variable = {
    { VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT, (
        SYNC_DRAW_INDIRECT_INDIRECT_COMMAND_READ_BIT |
        SYNC_ACCELERATION_STRUCTURE_BUILD_INDIRECT_COMMAND_READ_BIT
    )},
    { VK_ACCESS_2_INDEX_READ_BIT, (
        SYNC_INDEX_INPUT_INDEX_READ_BIT
    )},
    { VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT, (
        SYNC_VERTEX_ATTRIBUTE_INPUT_VERTEX_ATTRIBUTE_READ_BIT
    )},
    { VK_ACCESS_2_UNIFORM_READ_BIT, (
        SYNC_VERTEX_SHADER_UNIFORM_READ_BIT |
        SYNC_TESSELLATION_CONTROL_SHADER_UNIFORM_READ_BIT |
        SYNC_TESSELLATION_EVALUATION_SHADER_UNIFORM_READ_BIT |
        SYNC_GEOMETRY_SHADER_UNIFORM_READ_BIT |
        SYNC_FRAGMENT_SHADER_UNIFORM_READ_BIT |
        SYNC_COMPUTE_SHADER_UNIFORM_READ_BIT |
        SYNC_TASK_SHADER_EXT_UNIFORM_READ_BIT |
        SYNC_MESH_SHADER_EXT_UNIFORM_READ_BIT |
        SYNC_RAY_TRACING_SHADER_UNIFORM_READ_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_UNIFORM_READ_BIT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_UNIFORM_READ_BIT
    )},
    { VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT, (
        SYNC_FRAGMENT_SHADER_INPUT_ATTACHMENT_READ_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_INPUT_ATTACHMENT_READ_BIT
    )},
    { VK_ACCESS_2_SHADER_READ_BIT, (
        SYNC_ACCELERATION_STRUCTURE_BUILD_SHADER_READ_BIT |
        SYNC_MICROMAP_BUILD_EXT_SHADER_READ_BIT
    )},
    { VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT, (
        SYNC_FRAGMENT_SHADER_COLOR_ATTACHMENT_READ_BIT |
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ_BIT
    )},
    { VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT, (
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_WRITE_BIT
    )},
    { VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT, (
        SYNC_FRAGMENT_SHADER_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
        SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
        SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ_BIT
    )},
    { VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, (
        SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT |
        SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT
    )},
    { VK_ACCESS_2_TRANSFER_READ_BIT, (
        SYNC_ACCELERATION_STRUCTURE_BUILD_TRANSFER_READ_BIT |
        SYNC_ACCELERATION_STRUCTURE_COPY_TRANSFER_READ_BIT |
        SYNC_MICROMAP_BUILD_EXT_TRANSFER_READ_BIT |
        SYNC_COPY_TRANSFER_READ_BIT |
        SYNC_RESOLVE_TRANSFER_READ_BIT |
        SYNC_BLIT_TRANSFER_READ_BIT |
        SYNC_CONVERT_COOPERATIVE_VECTOR_MATRIX_NV_TRANSFER_READ_BIT
    )},
    { VK_ACCESS_2_TRANSFER_WRITE_BIT, (
        SYNC_ACCELERATION_STRUCTURE_BUILD_TRANSFER_WRITE_BIT |
        SYNC_ACCELERATION_STRUCTURE_COPY_TRANSFER_WRITE_BIT |
        SYNC_MICROMAP_BUILD_EXT_TRANSFER_WRITE_BIT |
        SYNC_COPY_TRANSFER_WRITE_BIT |
        SYNC_RESOLVE_TRANSFER_WRITE_BIT |
        SYNC_BLIT_TRANSFER_WRITE_BIT |
        SYNC_CLEAR_TRANSFER_WRITE_BIT |
        SYNC_CONVERT_COOPERATIVE_VECTOR_MATRIX_NV_TRANSFER_WRITE_BIT
    )},
    { VK_ACCESS_2_HOST_READ_BIT, (
        SYNC_HOST_HOST_READ_BIT
    )},
    { VK_ACCESS_2_HOST_WRITE_BIT, (
        SYNC_HOST_HOST_WRITE_BIT
    )},
    { VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV, (
        SYNC_COMMAND_PREPROCESS_BIT_NV_COMMAND_PREPROCESS_READ_BIT_NV
    )},
    { VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV, (
        SYNC_COMMAND_PREPROCESS_BIT_NV_COMMAND_PREPROCESS_WRITE_BIT_NV
    )},
    { VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT, (
        SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT
    )},
    { VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT, (
        SYNC_CONDITIONAL_RENDERING_BIT_EXT_CONDITIONAL_RENDERING_READ_BIT_EXT
    )},
    { VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR, (
        SYNC_VERTEX_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_TESSELLATION_CONTROL_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_TESSELLATION_EVALUATION_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_GEOMETRY_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_FRAGMENT_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_COMPUTE_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_TASK_SHADER_EXT_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_MESH_SHADER_EXT_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_RAY_TRACING_SHADER_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_ACCELERATION_STRUCTURE_BUILD_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_ACCELERATION_STRUCTURE_COPY_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_ACCELERATION_STRUCTURE_READ_BIT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_ACCELERATION_STRUCTURE_READ_BIT
    )},
    { VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, (
        SYNC_ACCELERATION_STRUCTURE_BUILD_ACCELERATION_STRUCTURE_WRITE_BIT |
        SYNC_ACCELERATION_STRUCTURE_COPY_ACCELERATION_STRUCTURE_WRITE_BIT
    )},
    { VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, (
        SYNC_FRAGMENT_SHADING_RATE_ATTACHMENT_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT
    )},
    { VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT, (
        SYNC_FRAGMENT_DENSITY_PROCESS_BIT_EXT_FRAGMENT_DENSITY_MAP_READ_BIT_EXT
    )},
    { VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT, (
        SYNC_TRANSFORM_FEEDBACK_BIT_EXT_TRANSFORM_FEEDBACK_WRITE_BIT_EXT
    )},
    { VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT, (
        SYNC_DRAW_INDIRECT_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT |
        SYNC_TRANSFORM_FEEDBACK_BIT_EXT_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT
    )},
    { VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT, (
        SYNC_TRANSFORM_FEEDBACK_BIT_EXT_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT
    )},
    { VK_ACCESS_2_SHADER_SAMPLED_READ_BIT, (
        SYNC_VERTEX_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_GEOMETRY_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_FRAGMENT_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_COMPUTE_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_TASK_SHADER_EXT_SHADER_SAMPLED_READ_BIT |
        SYNC_MESH_SHADER_EXT_SHADER_SAMPLED_READ_BIT |
        SYNC_RAY_TRACING_SHADER_SHADER_SAMPLED_READ_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_SAMPLED_READ_BIT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_SAMPLED_READ_BIT
    )},
    { VK_ACCESS_2_SHADER_STORAGE_READ_BIT, (
        SYNC_VERTEX_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_GEOMETRY_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_TASK_SHADER_EXT_SHADER_STORAGE_READ_BIT |
        SYNC_MESH_SHADER_EXT_SHADER_STORAGE_READ_BIT |
        SYNC_RAY_TRACING_SHADER_SHADER_STORAGE_READ_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_STORAGE_READ_BIT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_STORAGE_READ_BIT
    )},
    { VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT, (
        SYNC_VERTEX_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_GEOMETRY_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_FRAGMENT_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_TASK_SHADER_EXT_SHADER_STORAGE_WRITE_BIT |
        SYNC_MESH_SHADER_EXT_SHADER_STORAGE_WRITE_BIT |
        SYNC_RAY_TRACING_SHADER_SHADER_STORAGE_WRITE_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_STORAGE_WRITE_BIT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_STORAGE_WRITE_BIT
    )},
    { VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR, (
        SYNC_VIDEO_DECODE_VIDEO_DECODE_READ_BIT
    )},
    { VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR, (
        SYNC_VIDEO_DECODE_VIDEO_DECODE_WRITE_BIT
    )},
    { VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR, (
        SYNC_VIDEO_ENCODE_VIDEO_ENCODE_READ_BIT
    )},
    { VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR, (
        SYNC_VIDEO_ENCODE_VIDEO_ENCODE_WRITE_BIT
    )},
    { VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI, (
        SYNC_INVOCATION_MASK_HUAWEI_INVOCATION_MASK_READ_HUAWEI_BIT
    )},
    { VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR, (
        SYNC_VERTEX_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_TESSELLATION_CONTROL_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_TESSELLATION_EVALUATION_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_GEOMETRY_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_FRAGMENT_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_COMPUTE_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_TASK_SHADER_EXT_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_MESH_SHADER_EXT_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_RAY_TRACING_SHADER_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_SUBPASS_SHADER_HUAWEI_SHADER_BINDING_TABLE_READ_BIT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_SHADER_BINDING_TABLE_READ_BIT
    )},
    { VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT, (
        SYNC_VERTEX_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_TESSELLATION_CONTROL_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_TESSELLATION_EVALUATION_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_GEOMETRY_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_FRAGMENT_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_COMPUTE_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_TASK_SHADER_BIT_EXT_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_MESH_SHADER_BIT_EXT_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_RAY_TRACING_SHADER_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_SUBPASS_SHADER_HUAWEI_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        SYNC_CLUSTER_CULLING_SHADER_HUAWEI_DESCRIPTOR_BUFFER_READ_BIT_EXT
    )},
    { VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV, (
        SYNC_OPTICAL_FLOW_BIT_NV_OPTICAL_FLOW_READ_BIT_NV
    )},
    { VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV, (
        SYNC_OPTICAL_FLOW_BIT_NV_OPTICAL_FLOW_WRITE_BIT_NV
    )},
    { VK_ACCESS_2_MICROMAP_READ_BIT_EXT, (
        SYNC_ACCELERATION_STRUCTURE_BUILD_MICROMAP_READ_BIT_EXT |
        SYNC_MICROMAP_BUILD_BIT_EXT_MICROMAP_READ_BIT_EXT
    )},
    { VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT, (
        SYNC_MICROMAP_BUILD_BIT_EXT_MICROMAP_WRITE_BIT_EXT
    )},
    { VK_ACCESS_2_PRESENT_ACQUIRE_READ_BIT_SYNCVAL, (
        SYNC_PRESENT_ENGINE_BIT_SYNCVAL_PRESENT_ACQUIRE_READ_BIT_SYNCVAL
    )},
    { VK_ACCESS_2_PRESENT_PRESENTED_BIT_SYNCVAL, (
        SYNC_PRESENT_ENGINE_BIT_SYNCVAL_PRESENT_PRESENTED_BIT_SYNCVAL
    )},
    { VK_ACCESS_2_MEMORY_READ_BIT, (
        syncAccessReadMask
    )},
    { VK_ACCESS_2_MEMORY_WRITE_BIT, (
        syncAccessWriteMask
    )},
    };
    return variable;
}

const vvl::unordered_map<VkPipelineStageFlagBits2, VkAccessFlags2>& syncDirectStageToAccessMask() {
    static const vvl::unordered_map<VkPipelineStageFlagBits2, VkAccessFlags2> variable = {
    { VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT, (
        VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT |
        VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT
    )},
    { VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR |
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT |
        VK_ACCESS_2_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR |
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT |
        VK_ACCESS_2_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR |
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT |
        VK_ACCESS_2_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR |
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT |
        VK_ACCESS_2_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT |
        VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT |
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR |
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT |
        VK_ACCESS_2_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT, (
        VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
        VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT, (
        VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
        VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT, (
        VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT |
        VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT |
        VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR |
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT |
        VK_ACCESS_2_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_HOST_BIT, (
        VK_ACCESS_2_HOST_READ_BIT |
        VK_ACCESS_2_HOST_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV, (
        VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV |
        VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV
    )},
    { VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT, (
        VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT
    )},
    { VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR |
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT |
        VK_ACCESS_2_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR |
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT |
        VK_ACCESS_2_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR |
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT |
        VK_ACCESS_2_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, (
        VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT, (
        VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT
    )},
    { VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT, (
        VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT |
        VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT |
        VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT
    )},
    { VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR |
        VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT |
        VK_ACCESS_2_MICROMAP_READ_BIT_EXT |
        VK_ACCESS_2_SHADER_READ_BIT |
        VK_ACCESS_2_TRANSFER_READ_BIT |
        VK_ACCESS_2_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR, (
        VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR |
        VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR
    )},
    { VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR, (
        VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR |
        VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR
    )},
    { VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR |
        VK_ACCESS_2_TRANSFER_READ_BIT |
        VK_ACCESS_2_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV, (
        VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV |
        VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV
    )},
    { VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, (
        VK_ACCESS_2_MICROMAP_READ_BIT_EXT |
        VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT |
        VK_ACCESS_2_SHADER_READ_BIT |
        VK_ACCESS_2_TRANSFER_READ_BIT |
        VK_ACCESS_2_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COPY_BIT, (
        VK_ACCESS_2_TRANSFER_READ_BIT |
        VK_ACCESS_2_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_RESOLVE_BIT, (
        VK_ACCESS_2_TRANSFER_READ_BIT |
        VK_ACCESS_2_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_BLIT_BIT, (
        VK_ACCESS_2_TRANSFER_READ_BIT |
        VK_ACCESS_2_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_CLEAR_BIT, (
        VK_ACCESS_2_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT, (
        VK_ACCESS_2_INDEX_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT, (
        VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT |
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR |
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT |
        VK_ACCESS_2_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI, (
        VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI
    )},
    { VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI, (
        VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR |
        VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT |
        VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR |
        VK_ACCESS_2_SHADER_SAMPLED_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
        VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT |
        VK_ACCESS_2_UNIFORM_READ_BIT
    )},
    { VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV, (
        VK_ACCESS_2_TRANSFER_READ_BIT |
        VK_ACCESS_2_TRANSFER_WRITE_BIT
    )},
    { VK_PIPELINE_STAGE_2_PRESENT_ENGINE_BIT_SYNCVAL, (
        VK_ACCESS_2_PRESENT_ACQUIRE_READ_BIT_SYNCVAL |
        VK_ACCESS_2_PRESENT_PRESENTED_BIT_SYNCVAL
    )},
    };
    return variable;
}

const vvl::unordered_map<VkQueueFlagBits, VkPipelineStageFlags2>& syncAllCommandStagesByQueueFlags() {
    static const vvl::unordered_map<VkQueueFlagBits, VkPipelineStageFlags2> variable = {
    { VK_QUEUE_TRANSFER_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_HOST_BIT |
        VK_PIPELINE_STAGE_2_COPY_BIT |
        VK_PIPELINE_STAGE_2_RESOLVE_BIT |
        VK_PIPELINE_STAGE_2_BLIT_BIT |
        VK_PIPELINE_STAGE_2_CLEAR_BIT |
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR |
        VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV
    )},
    { VK_QUEUE_GRAPHICS_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_HOST_BIT |
        VK_PIPELINE_STAGE_2_COPY_BIT |
        VK_PIPELINE_STAGE_2_RESOLVE_BIT |
        VK_PIPELINE_STAGE_2_BLIT_BIT |
        VK_PIPELINE_STAGE_2_CLEAR_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT |
        VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT |
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI |
        VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI |
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR |
        VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI |
        VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV
    )},
    { VK_QUEUE_COMPUTE_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_HOST_BIT |
        VK_PIPELINE_STAGE_2_COPY_BIT |
        VK_PIPELINE_STAGE_2_RESOLVE_BIT |
        VK_PIPELINE_STAGE_2_BLIT_BIT |
        VK_PIPELINE_STAGE_2_CLEAR_BIT |
        VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT |
        VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV |
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR |
        VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR |
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR |
        VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT |
        VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV
    )},
    { VK_QUEUE_PROTECTED_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_HOST_BIT
    )},
    { VK_QUEUE_SPARSE_BINDING_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_HOST_BIT
    )},
    { VK_QUEUE_OPTICAL_FLOW_BIT_NV, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_HOST_BIT |
        VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
    )},
    { VK_QUEUE_VIDEO_DECODE_BIT_KHR, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_HOST_BIT |
        VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
    )},
    { VK_QUEUE_VIDEO_ENCODE_BIT_KHR, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_HOST_BIT |
        VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR
    )},
    };
    return variable;
}

const vvl::unordered_map<VkPipelineStageFlagBits2, VkPipelineStageFlags2>& syncLogicallyEarlierStages() {
    static const vvl::unordered_map<VkPipelineStageFlagBits2, VkPipelineStageFlags2> variable = {
    { VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT
    )},
    { VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT
    )},
    { VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT
    )},
    { VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT
    )},
    { VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
    )},
    { VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT
    )},
    { VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT
    )},
    { VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT
    )},
    { VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT |
        VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT |
        VK_PIPELINE_STAGE_2_COPY_BIT |
        VK_PIPELINE_STAGE_2_RESOLVE_BIT |
        VK_PIPELINE_STAGE_2_BLIT_BIT |
        VK_PIPELINE_STAGE_2_CLEAR_BIT |
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR |
        VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI |
        VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT |
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR |
        VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT |
        VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR |
        VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR |
        VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR |
        VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV |
        VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT
    )},
    { VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT
    )},
    { VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT
    )},
    { VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COPY_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_RESOLVE_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_BLIT_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_CLEAR_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT
    )},
    { VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT
    )},
    { VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    )},
    };
    return variable;
}

const vvl::unordered_map<VkPipelineStageFlagBits2, VkPipelineStageFlags2>& syncLogicallyLaterStages() {
    static const vvl::unordered_map<VkPipelineStageFlagBits2, VkPipelineStageFlags2> variable = {
    { VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT, (
        VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT |
        VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT |
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT |
        VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT |
        VK_PIPELINE_STAGE_2_COPY_BIT |
        VK_PIPELINE_STAGE_2_RESOLVE_BIT |
        VK_PIPELINE_STAGE_2_BLIT_BIT |
        VK_PIPELINE_STAGE_2_CLEAR_BIT |
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR |
        VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI |
        VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT |
        VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR |
        VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT |
        VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR |
        VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR |
        VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR |
        VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV |
        VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT, (
        VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT |
        VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT, (
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT, (
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, (
        VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, (
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, (
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT, (
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_COPY_BIT, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_RESOLVE_BIT, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_BLIT_BIT, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_CLEAR_BIT, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT, (
        VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT |
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT, (
        VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT |
        VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
        VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
        VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT |
        VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT |
        VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT |
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    { VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV, (
        VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    )},
    };
    return variable;
}

// clang-format on

// NOLINTEND
