    /* Autogenerated file -- do not edit
     * generated by gen_enum_to_str.py
     *
     * Copyright © 2017 Intel Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
     */

    #include <string.h>
    #include <vulkan/vulkan.h>
    #include "../src/mesa/util/macros.h"
    #include "vk_enum_to_str.h"


#ifdef VK_ENABLE_BETA_EXTENSIONS
    const char *
    vk_AccelerationStructureBuildTypeKHR_to_str(VkAccelerationStructureBuildTypeKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR";
            case 1:
                return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR";
            case 2:
                return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }

#endif

#ifdef VK_ENABLE_BETA_EXTENSIONS
    const char *
    vk_AccelerationStructureMemoryRequirementsTypeKHR_to_str(VkAccelerationStructureMemoryRequirementsTypeKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV";
            case 1:
                return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV";
            case 2:
                return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }

#endif

#ifdef VK_ENABLE_BETA_EXTENSIONS
    const char *
    vk_AccelerationStructureTypeKHR_to_str(VkAccelerationStructureTypeKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV";
            case 1:
                return "VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }

#endif

    const char *
    vk_AttachmentLoadOp_to_str(VkAttachmentLoadOp input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_ATTACHMENT_LOAD_OP_LOAD";
            case 1:
                return "VK_ATTACHMENT_LOAD_OP_CLEAR";
            case 2:
                return "VK_ATTACHMENT_LOAD_OP_DONT_CARE";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_AttachmentStoreOp_to_str(VkAttachmentStoreOp input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_ATTACHMENT_STORE_OP_STORE";
            case 1:
                return "VK_ATTACHMENT_STORE_OP_DONT_CARE";
            case 1000301000:
                return "VK_ATTACHMENT_STORE_OP_NONE_QCOM";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_BlendFactor_to_str(VkBlendFactor input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_BLEND_FACTOR_ZERO";
            case 1:
                return "VK_BLEND_FACTOR_ONE";
            case 2:
                return "VK_BLEND_FACTOR_SRC_COLOR";
            case 3:
                return "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR";
            case 4:
                return "VK_BLEND_FACTOR_DST_COLOR";
            case 5:
                return "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR";
            case 6:
                return "VK_BLEND_FACTOR_SRC_ALPHA";
            case 7:
                return "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA";
            case 8:
                return "VK_BLEND_FACTOR_DST_ALPHA";
            case 9:
                return "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA";
            case 10:
                return "VK_BLEND_FACTOR_CONSTANT_COLOR";
            case 11:
                return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR";
            case 12:
                return "VK_BLEND_FACTOR_CONSTANT_ALPHA";
            case 13:
                return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA";
            case 14:
                return "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE";
            case 15:
                return "VK_BLEND_FACTOR_SRC1_COLOR";
            case 16:
                return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR";
            case 17:
                return "VK_BLEND_FACTOR_SRC1_ALPHA";
            case 18:
                return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_BlendOp_to_str(VkBlendOp input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_BLEND_OP_ADD";
            case 1:
                return "VK_BLEND_OP_SUBTRACT";
            case 2:
                return "VK_BLEND_OP_REVERSE_SUBTRACT";
            case 3:
                return "VK_BLEND_OP_MIN";
            case 4:
                return "VK_BLEND_OP_MAX";
            case 1000148000:
                return "VK_BLEND_OP_ZERO_EXT";
            case 1000148001:
                return "VK_BLEND_OP_SRC_EXT";
            case 1000148002:
                return "VK_BLEND_OP_DST_EXT";
            case 1000148003:
                return "VK_BLEND_OP_SRC_OVER_EXT";
            case 1000148004:
                return "VK_BLEND_OP_DST_OVER_EXT";
            case 1000148005:
                return "VK_BLEND_OP_SRC_IN_EXT";
            case 1000148006:
                return "VK_BLEND_OP_DST_IN_EXT";
            case 1000148007:
                return "VK_BLEND_OP_SRC_OUT_EXT";
            case 1000148008:
                return "VK_BLEND_OP_DST_OUT_EXT";
            case 1000148009:
                return "VK_BLEND_OP_SRC_ATOP_EXT";
            case 1000148010:
                return "VK_BLEND_OP_DST_ATOP_EXT";
            case 1000148011:
                return "VK_BLEND_OP_XOR_EXT";
            case 1000148012:
                return "VK_BLEND_OP_MULTIPLY_EXT";
            case 1000148013:
                return "VK_BLEND_OP_SCREEN_EXT";
            case 1000148014:
                return "VK_BLEND_OP_OVERLAY_EXT";
            case 1000148015:
                return "VK_BLEND_OP_DARKEN_EXT";
            case 1000148016:
                return "VK_BLEND_OP_LIGHTEN_EXT";
            case 1000148017:
                return "VK_BLEND_OP_COLORDODGE_EXT";
            case 1000148018:
                return "VK_BLEND_OP_COLORBURN_EXT";
            case 1000148019:
                return "VK_BLEND_OP_HARDLIGHT_EXT";
            case 1000148020:
                return "VK_BLEND_OP_SOFTLIGHT_EXT";
            case 1000148021:
                return "VK_BLEND_OP_DIFFERENCE_EXT";
            case 1000148022:
                return "VK_BLEND_OP_EXCLUSION_EXT";
            case 1000148023:
                return "VK_BLEND_OP_INVERT_EXT";
            case 1000148024:
                return "VK_BLEND_OP_INVERT_RGB_EXT";
            case 1000148025:
                return "VK_BLEND_OP_LINEARDODGE_EXT";
            case 1000148026:
                return "VK_BLEND_OP_LINEARBURN_EXT";
            case 1000148027:
                return "VK_BLEND_OP_VIVIDLIGHT_EXT";
            case 1000148028:
                return "VK_BLEND_OP_LINEARLIGHT_EXT";
            case 1000148029:
                return "VK_BLEND_OP_PINLIGHT_EXT";
            case 1000148030:
                return "VK_BLEND_OP_HARDMIX_EXT";
            case 1000148031:
                return "VK_BLEND_OP_HSL_HUE_EXT";
            case 1000148032:
                return "VK_BLEND_OP_HSL_SATURATION_EXT";
            case 1000148033:
                return "VK_BLEND_OP_HSL_COLOR_EXT";
            case 1000148034:
                return "VK_BLEND_OP_HSL_LUMINOSITY_EXT";
            case 1000148035:
                return "VK_BLEND_OP_PLUS_EXT";
            case 1000148036:
                return "VK_BLEND_OP_PLUS_CLAMPED_EXT";
            case 1000148037:
                return "VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT";
            case 1000148038:
                return "VK_BLEND_OP_PLUS_DARKER_EXT";
            case 1000148039:
                return "VK_BLEND_OP_MINUS_EXT";
            case 1000148040:
                return "VK_BLEND_OP_MINUS_CLAMPED_EXT";
            case 1000148041:
                return "VK_BLEND_OP_CONTRAST_EXT";
            case 1000148042:
                return "VK_BLEND_OP_INVERT_OVG_EXT";
            case 1000148043:
                return "VK_BLEND_OP_RED_EXT";
            case 1000148044:
                return "VK_BLEND_OP_GREEN_EXT";
            case 1000148045:
                return "VK_BLEND_OP_BLUE_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_BlendOverlapEXT_to_str(VkBlendOverlapEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_BLEND_OVERLAP_UNCORRELATED_EXT";
            case 1:
                return "VK_BLEND_OVERLAP_DISJOINT_EXT";
            case 2:
                return "VK_BLEND_OVERLAP_CONJOINT_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_BorderColor_to_str(VkBorderColor input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK";
            case 1:
                return "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK";
            case 2:
                return "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK";
            case 3:
                return "VK_BORDER_COLOR_INT_OPAQUE_BLACK";
            case 4:
                return "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE";
            case 5:
                return "VK_BORDER_COLOR_INT_OPAQUE_WHITE";
            case 1000287003:
                return "VK_BORDER_COLOR_FLOAT_CUSTOM_EXT";
            case 1000287004:
                return "VK_BORDER_COLOR_INT_CUSTOM_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ChromaLocation_to_str(VkChromaLocation input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_CHROMA_LOCATION_COSITED_EVEN";
            case 1:
                return "VK_CHROMA_LOCATION_MIDPOINT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_CoarseSampleOrderTypeNV_to_str(VkCoarseSampleOrderTypeNV input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV";
            case 1:
                return "VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV";
            case 2:
                return "VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV";
            case 3:
                return "VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ColorSpaceKHR_to_str(VkColorSpaceKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_COLORSPACE_SRGB_NONLINEAR_KHR";
            case 1000104001:
                return "VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT";
            case 1000104002:
                return "VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT";
            case 1000104003:
                return "VK_COLOR_SPACE_DCI_P3_LINEAR_EXT";
            case 1000104004:
                return "VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT";
            case 1000104005:
                return "VK_COLOR_SPACE_BT709_LINEAR_EXT";
            case 1000104006:
                return "VK_COLOR_SPACE_BT709_NONLINEAR_EXT";
            case 1000104007:
                return "VK_COLOR_SPACE_BT2020_LINEAR_EXT";
            case 1000104008:
                return "VK_COLOR_SPACE_HDR10_ST2084_EXT";
            case 1000104009:
                return "VK_COLOR_SPACE_DOLBYVISION_EXT";
            case 1000104010:
                return "VK_COLOR_SPACE_HDR10_HLG_EXT";
            case 1000104011:
                return "VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT";
            case 1000104012:
                return "VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT";
            case 1000104013:
                return "VK_COLOR_SPACE_PASS_THROUGH_EXT";
            case 1000104014:
                return "VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT";
            case 1000213000:
                return "VK_COLOR_SPACE_DISPLAY_NATIVE_AMD";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_CommandBufferLevel_to_str(VkCommandBufferLevel input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_COMMAND_BUFFER_LEVEL_PRIMARY";
            case 1:
                return "VK_COMMAND_BUFFER_LEVEL_SECONDARY";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_CompareOp_to_str(VkCompareOp input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_COMPARE_OP_NEVER";
            case 1:
                return "VK_COMPARE_OP_LESS";
            case 2:
                return "VK_COMPARE_OP_EQUAL";
            case 3:
                return "VK_COMPARE_OP_LESS_OR_EQUAL";
            case 4:
                return "VK_COMPARE_OP_GREATER";
            case 5:
                return "VK_COMPARE_OP_NOT_EQUAL";
            case 6:
                return "VK_COMPARE_OP_GREATER_OR_EQUAL";
            case 7:
                return "VK_COMPARE_OP_ALWAYS";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ComponentSwizzle_to_str(VkComponentSwizzle input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_COMPONENT_SWIZZLE_IDENTITY";
            case 1:
                return "VK_COMPONENT_SWIZZLE_ZERO";
            case 2:
                return "VK_COMPONENT_SWIZZLE_ONE";
            case 3:
                return "VK_COMPONENT_SWIZZLE_R";
            case 4:
                return "VK_COMPONENT_SWIZZLE_G";
            case 5:
                return "VK_COMPONENT_SWIZZLE_B";
            case 6:
                return "VK_COMPONENT_SWIZZLE_A";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ComponentTypeNV_to_str(VkComponentTypeNV input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_COMPONENT_TYPE_FLOAT16_NV";
            case 1:
                return "VK_COMPONENT_TYPE_FLOAT32_NV";
            case 2:
                return "VK_COMPONENT_TYPE_FLOAT64_NV";
            case 3:
                return "VK_COMPONENT_TYPE_SINT8_NV";
            case 4:
                return "VK_COMPONENT_TYPE_SINT16_NV";
            case 5:
                return "VK_COMPONENT_TYPE_SINT32_NV";
            case 6:
                return "VK_COMPONENT_TYPE_SINT64_NV";
            case 7:
                return "VK_COMPONENT_TYPE_UINT8_NV";
            case 8:
                return "VK_COMPONENT_TYPE_UINT16_NV";
            case 9:
                return "VK_COMPONENT_TYPE_UINT32_NV";
            case 10:
                return "VK_COMPONENT_TYPE_UINT64_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ConservativeRasterizationModeEXT_to_str(VkConservativeRasterizationModeEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT";
            case 1:
                return "VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT";
            case 2:
                return "VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


#ifdef VK_ENABLE_BETA_EXTENSIONS
    const char *
    vk_CopyAccelerationStructureModeKHR_to_str(VkCopyAccelerationStructureModeKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV";
            case 1:
                return "VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV";
            case 2:
                return "VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR";
            case 3:
                return "VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }

#endif

    const char *
    vk_CoverageModulationModeNV_to_str(VkCoverageModulationModeNV input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_COVERAGE_MODULATION_MODE_NONE_NV";
            case 1:
                return "VK_COVERAGE_MODULATION_MODE_RGB_NV";
            case 2:
                return "VK_COVERAGE_MODULATION_MODE_ALPHA_NV";
            case 3:
                return "VK_COVERAGE_MODULATION_MODE_RGBA_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_CoverageReductionModeNV_to_str(VkCoverageReductionModeNV input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_COVERAGE_REDUCTION_MODE_MERGE_NV";
            case 1:
                return "VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_DebugReportObjectTypeEXT_to_str(VkDebugReportObjectTypeEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT";
            case 1:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT";
            case 2:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT";
            case 3:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT";
            case 4:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT";
            case 5:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT";
            case 6:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT";
            case 7:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT";
            case 8:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT";
            case 9:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT";
            case 10:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT";
            case 11:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT";
            case 12:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT";
            case 13:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT";
            case 14:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT";
            case 15:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT";
            case 16:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT";
            case 17:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT";
            case 18:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT";
            case 19:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT";
            case 20:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT";
            case 21:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT";
            case 22:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT";
            case 23:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT";
            case 24:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT";
            case 25:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT";
            case 26:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT";
            case 27:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT";
            case 28:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT";
            case 29:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT";
            case 30:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT";
            case 33:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT";
            case 1000085000:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT";
            case 1000156000:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT";
            case 1000165000:
                return "VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_DescriptorType_to_str(VkDescriptorType input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_DESCRIPTOR_TYPE_SAMPLER";
            case 1:
                return "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER";
            case 2:
                return "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE";
            case 3:
                return "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE";
            case 4:
                return "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER";
            case 5:
                return "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER";
            case 6:
                return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER";
            case 7:
                return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER";
            case 8:
                return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC";
            case 9:
                return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC";
            case 10:
                return "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT";
            case 1000138000:
                return "VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT";
            case 1000165000:
                return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_DescriptorUpdateTemplateType_to_str(VkDescriptorUpdateTemplateType input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET";
            case 1:
                return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_DeviceEventTypeEXT_to_str(VkDeviceEventTypeEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_DeviceMemoryReportEventTypeEXT_to_str(VkDeviceMemoryReportEventTypeEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT";
            case 1:
                return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT";
            case 2:
                return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT";
            case 3:
                return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT";
            case 4:
                return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_DiscardRectangleModeEXT_to_str(VkDiscardRectangleModeEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT";
            case 1:
                return "VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_DisplayEventTypeEXT_to_str(VkDisplayEventTypeEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_DisplayPowerStateEXT_to_str(VkDisplayPowerStateEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_DISPLAY_POWER_STATE_OFF_EXT";
            case 1:
                return "VK_DISPLAY_POWER_STATE_SUSPEND_EXT";
            case 2:
                return "VK_DISPLAY_POWER_STATE_ON_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_DriverId_to_str(VkDriverId input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 1:
                return "VK_DRIVER_ID_AMD_PROPRIETARY";
            case 2:
                return "VK_DRIVER_ID_AMD_OPEN_SOURCE";
            case 3:
                return "VK_DRIVER_ID_MESA_RADV";
            case 4:
                return "VK_DRIVER_ID_NVIDIA_PROPRIETARY";
            case 5:
                return "VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS";
            case 6:
                return "VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA";
            case 7:
                return "VK_DRIVER_ID_IMAGINATION_PROPRIETARY";
            case 8:
                return "VK_DRIVER_ID_QUALCOMM_PROPRIETARY";
            case 9:
                return "VK_DRIVER_ID_ARM_PROPRIETARY";
            case 10:
                return "VK_DRIVER_ID_GOOGLE_SWIFTSHADER";
            case 11:
                return "VK_DRIVER_ID_GGP_PROPRIETARY";
            case 12:
                return "VK_DRIVER_ID_BROADCOM_PROPRIETARY";
            case 13:
                return "VK_DRIVER_ID_MESA_LLVMPIPE";
            case 14:
                return "VK_DRIVER_ID_MOLTENVK";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_DynamicState_to_str(VkDynamicState input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_DYNAMIC_STATE_VIEWPORT";
            case 1:
                return "VK_DYNAMIC_STATE_SCISSOR";
            case 2:
                return "VK_DYNAMIC_STATE_LINE_WIDTH";
            case 3:
                return "VK_DYNAMIC_STATE_DEPTH_BIAS";
            case 4:
                return "VK_DYNAMIC_STATE_BLEND_CONSTANTS";
            case 5:
                return "VK_DYNAMIC_STATE_DEPTH_BOUNDS";
            case 6:
                return "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK";
            case 7:
                return "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK";
            case 8:
                return "VK_DYNAMIC_STATE_STENCIL_REFERENCE";
            case 1000087000:
                return "VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV";
            case 1000099000:
                return "VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT";
            case 1000143000:
                return "VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT";
            case 1000164004:
                return "VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV";
            case 1000164006:
                return "VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV";
            case 1000205001:
                return "VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV";
            case 1000226000:
                return "VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR";
            case 1000259000:
                return "VK_DYNAMIC_STATE_LINE_STIPPLE_EXT";
            case 1000267000:
                return "VK_DYNAMIC_STATE_CULL_MODE_EXT";
            case 1000267001:
                return "VK_DYNAMIC_STATE_FRONT_FACE_EXT";
            case 1000267002:
                return "VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT";
            case 1000267003:
                return "VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT";
            case 1000267004:
                return "VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT";
            case 1000267005:
                return "VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT";
            case 1000267006:
                return "VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT";
            case 1000267007:
                return "VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT";
            case 1000267008:
                return "VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT";
            case 1000267009:
                return "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT";
            case 1000267010:
                return "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT";
            case 1000267011:
                return "VK_DYNAMIC_STATE_STENCIL_OP_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_Filter_to_str(VkFilter input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_FILTER_NEAREST";
            case 1:
                return "VK_FILTER_LINEAR";
            case 1000015000:
                return "VK_FILTER_CUBIC_IMG";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_Format_to_str(VkFormat input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_FORMAT_UNDEFINED";
            case 1:
                return "VK_FORMAT_R4G4_UNORM_PACK8";
            case 2:
                return "VK_FORMAT_R4G4B4A4_UNORM_PACK16";
            case 3:
                return "VK_FORMAT_B4G4R4A4_UNORM_PACK16";
            case 4:
                return "VK_FORMAT_R5G6B5_UNORM_PACK16";
            case 5:
                return "VK_FORMAT_B5G6R5_UNORM_PACK16";
            case 6:
                return "VK_FORMAT_R5G5B5A1_UNORM_PACK16";
            case 7:
                return "VK_FORMAT_B5G5R5A1_UNORM_PACK16";
            case 8:
                return "VK_FORMAT_A1R5G5B5_UNORM_PACK16";
            case 9:
                return "VK_FORMAT_R8_UNORM";
            case 10:
                return "VK_FORMAT_R8_SNORM";
            case 11:
                return "VK_FORMAT_R8_USCALED";
            case 12:
                return "VK_FORMAT_R8_SSCALED";
            case 13:
                return "VK_FORMAT_R8_UINT";
            case 14:
                return "VK_FORMAT_R8_SINT";
            case 15:
                return "VK_FORMAT_R8_SRGB";
            case 16:
                return "VK_FORMAT_R8G8_UNORM";
            case 17:
                return "VK_FORMAT_R8G8_SNORM";
            case 18:
                return "VK_FORMAT_R8G8_USCALED";
            case 19:
                return "VK_FORMAT_R8G8_SSCALED";
            case 20:
                return "VK_FORMAT_R8G8_UINT";
            case 21:
                return "VK_FORMAT_R8G8_SINT";
            case 22:
                return "VK_FORMAT_R8G8_SRGB";
            case 23:
                return "VK_FORMAT_R8G8B8_UNORM";
            case 24:
                return "VK_FORMAT_R8G8B8_SNORM";
            case 25:
                return "VK_FORMAT_R8G8B8_USCALED";
            case 26:
                return "VK_FORMAT_R8G8B8_SSCALED";
            case 27:
                return "VK_FORMAT_R8G8B8_UINT";
            case 28:
                return "VK_FORMAT_R8G8B8_SINT";
            case 29:
                return "VK_FORMAT_R8G8B8_SRGB";
            case 30:
                return "VK_FORMAT_B8G8R8_UNORM";
            case 31:
                return "VK_FORMAT_B8G8R8_SNORM";
            case 32:
                return "VK_FORMAT_B8G8R8_USCALED";
            case 33:
                return "VK_FORMAT_B8G8R8_SSCALED";
            case 34:
                return "VK_FORMAT_B8G8R8_UINT";
            case 35:
                return "VK_FORMAT_B8G8R8_SINT";
            case 36:
                return "VK_FORMAT_B8G8R8_SRGB";
            case 37:
                return "VK_FORMAT_R8G8B8A8_UNORM";
            case 38:
                return "VK_FORMAT_R8G8B8A8_SNORM";
            case 39:
                return "VK_FORMAT_R8G8B8A8_USCALED";
            case 40:
                return "VK_FORMAT_R8G8B8A8_SSCALED";
            case 41:
                return "VK_FORMAT_R8G8B8A8_UINT";
            case 42:
                return "VK_FORMAT_R8G8B8A8_SINT";
            case 43:
                return "VK_FORMAT_R8G8B8A8_SRGB";
            case 44:
                return "VK_FORMAT_B8G8R8A8_UNORM";
            case 45:
                return "VK_FORMAT_B8G8R8A8_SNORM";
            case 46:
                return "VK_FORMAT_B8G8R8A8_USCALED";
            case 47:
                return "VK_FORMAT_B8G8R8A8_SSCALED";
            case 48:
                return "VK_FORMAT_B8G8R8A8_UINT";
            case 49:
                return "VK_FORMAT_B8G8R8A8_SINT";
            case 50:
                return "VK_FORMAT_B8G8R8A8_SRGB";
            case 51:
                return "VK_FORMAT_A8B8G8R8_UNORM_PACK32";
            case 52:
                return "VK_FORMAT_A8B8G8R8_SNORM_PACK32";
            case 53:
                return "VK_FORMAT_A8B8G8R8_USCALED_PACK32";
            case 54:
                return "VK_FORMAT_A8B8G8R8_SSCALED_PACK32";
            case 55:
                return "VK_FORMAT_A8B8G8R8_UINT_PACK32";
            case 56:
                return "VK_FORMAT_A8B8G8R8_SINT_PACK32";
            case 57:
                return "VK_FORMAT_A8B8G8R8_SRGB_PACK32";
            case 58:
                return "VK_FORMAT_A2R10G10B10_UNORM_PACK32";
            case 59:
                return "VK_FORMAT_A2R10G10B10_SNORM_PACK32";
            case 60:
                return "VK_FORMAT_A2R10G10B10_USCALED_PACK32";
            case 61:
                return "VK_FORMAT_A2R10G10B10_SSCALED_PACK32";
            case 62:
                return "VK_FORMAT_A2R10G10B10_UINT_PACK32";
            case 63:
                return "VK_FORMAT_A2R10G10B10_SINT_PACK32";
            case 64:
                return "VK_FORMAT_A2B10G10R10_UNORM_PACK32";
            case 65:
                return "VK_FORMAT_A2B10G10R10_SNORM_PACK32";
            case 66:
                return "VK_FORMAT_A2B10G10R10_USCALED_PACK32";
            case 67:
                return "VK_FORMAT_A2B10G10R10_SSCALED_PACK32";
            case 68:
                return "VK_FORMAT_A2B10G10R10_UINT_PACK32";
            case 69:
                return "VK_FORMAT_A2B10G10R10_SINT_PACK32";
            case 70:
                return "VK_FORMAT_R16_UNORM";
            case 71:
                return "VK_FORMAT_R16_SNORM";
            case 72:
                return "VK_FORMAT_R16_USCALED";
            case 73:
                return "VK_FORMAT_R16_SSCALED";
            case 74:
                return "VK_FORMAT_R16_UINT";
            case 75:
                return "VK_FORMAT_R16_SINT";
            case 76:
                return "VK_FORMAT_R16_SFLOAT";
            case 77:
                return "VK_FORMAT_R16G16_UNORM";
            case 78:
                return "VK_FORMAT_R16G16_SNORM";
            case 79:
                return "VK_FORMAT_R16G16_USCALED";
            case 80:
                return "VK_FORMAT_R16G16_SSCALED";
            case 81:
                return "VK_FORMAT_R16G16_UINT";
            case 82:
                return "VK_FORMAT_R16G16_SINT";
            case 83:
                return "VK_FORMAT_R16G16_SFLOAT";
            case 84:
                return "VK_FORMAT_R16G16B16_UNORM";
            case 85:
                return "VK_FORMAT_R16G16B16_SNORM";
            case 86:
                return "VK_FORMAT_R16G16B16_USCALED";
            case 87:
                return "VK_FORMAT_R16G16B16_SSCALED";
            case 88:
                return "VK_FORMAT_R16G16B16_UINT";
            case 89:
                return "VK_FORMAT_R16G16B16_SINT";
            case 90:
                return "VK_FORMAT_R16G16B16_SFLOAT";
            case 91:
                return "VK_FORMAT_R16G16B16A16_UNORM";
            case 92:
                return "VK_FORMAT_R16G16B16A16_SNORM";
            case 93:
                return "VK_FORMAT_R16G16B16A16_USCALED";
            case 94:
                return "VK_FORMAT_R16G16B16A16_SSCALED";
            case 95:
                return "VK_FORMAT_R16G16B16A16_UINT";
            case 96:
                return "VK_FORMAT_R16G16B16A16_SINT";
            case 97:
                return "VK_FORMAT_R16G16B16A16_SFLOAT";
            case 98:
                return "VK_FORMAT_R32_UINT";
            case 99:
                return "VK_FORMAT_R32_SINT";
            case 100:
                return "VK_FORMAT_R32_SFLOAT";
            case 101:
                return "VK_FORMAT_R32G32_UINT";
            case 102:
                return "VK_FORMAT_R32G32_SINT";
            case 103:
                return "VK_FORMAT_R32G32_SFLOAT";
            case 104:
                return "VK_FORMAT_R32G32B32_UINT";
            case 105:
                return "VK_FORMAT_R32G32B32_SINT";
            case 106:
                return "VK_FORMAT_R32G32B32_SFLOAT";
            case 107:
                return "VK_FORMAT_R32G32B32A32_UINT";
            case 108:
                return "VK_FORMAT_R32G32B32A32_SINT";
            case 109:
                return "VK_FORMAT_R32G32B32A32_SFLOAT";
            case 110:
                return "VK_FORMAT_R64_UINT";
            case 111:
                return "VK_FORMAT_R64_SINT";
            case 112:
                return "VK_FORMAT_R64_SFLOAT";
            case 113:
                return "VK_FORMAT_R64G64_UINT";
            case 114:
                return "VK_FORMAT_R64G64_SINT";
            case 115:
                return "VK_FORMAT_R64G64_SFLOAT";
            case 116:
                return "VK_FORMAT_R64G64B64_UINT";
            case 117:
                return "VK_FORMAT_R64G64B64_SINT";
            case 118:
                return "VK_FORMAT_R64G64B64_SFLOAT";
            case 119:
                return "VK_FORMAT_R64G64B64A64_UINT";
            case 120:
                return "VK_FORMAT_R64G64B64A64_SINT";
            case 121:
                return "VK_FORMAT_R64G64B64A64_SFLOAT";
            case 122:
                return "VK_FORMAT_B10G11R11_UFLOAT_PACK32";
            case 123:
                return "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32";
            case 124:
                return "VK_FORMAT_D16_UNORM";
            case 125:
                return "VK_FORMAT_X8_D24_UNORM_PACK32";
            case 126:
                return "VK_FORMAT_D32_SFLOAT";
            case 127:
                return "VK_FORMAT_S8_UINT";
            case 128:
                return "VK_FORMAT_D16_UNORM_S8_UINT";
            case 129:
                return "VK_FORMAT_D24_UNORM_S8_UINT";
            case 130:
                return "VK_FORMAT_D32_SFLOAT_S8_UINT";
            case 131:
                return "VK_FORMAT_BC1_RGB_UNORM_BLOCK";
            case 132:
                return "VK_FORMAT_BC1_RGB_SRGB_BLOCK";
            case 133:
                return "VK_FORMAT_BC1_RGBA_UNORM_BLOCK";
            case 134:
                return "VK_FORMAT_BC1_RGBA_SRGB_BLOCK";
            case 135:
                return "VK_FORMAT_BC2_UNORM_BLOCK";
            case 136:
                return "VK_FORMAT_BC2_SRGB_BLOCK";
            case 137:
                return "VK_FORMAT_BC3_UNORM_BLOCK";
            case 138:
                return "VK_FORMAT_BC3_SRGB_BLOCK";
            case 139:
                return "VK_FORMAT_BC4_UNORM_BLOCK";
            case 140:
                return "VK_FORMAT_BC4_SNORM_BLOCK";
            case 141:
                return "VK_FORMAT_BC5_UNORM_BLOCK";
            case 142:
                return "VK_FORMAT_BC5_SNORM_BLOCK";
            case 143:
                return "VK_FORMAT_BC6H_UFLOAT_BLOCK";
            case 144:
                return "VK_FORMAT_BC6H_SFLOAT_BLOCK";
            case 145:
                return "VK_FORMAT_BC7_UNORM_BLOCK";
            case 146:
                return "VK_FORMAT_BC7_SRGB_BLOCK";
            case 147:
                return "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK";
            case 148:
                return "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK";
            case 149:
                return "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK";
            case 150:
                return "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK";
            case 151:
                return "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK";
            case 152:
                return "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK";
            case 153:
                return "VK_FORMAT_EAC_R11_UNORM_BLOCK";
            case 154:
                return "VK_FORMAT_EAC_R11_SNORM_BLOCK";
            case 155:
                return "VK_FORMAT_EAC_R11G11_UNORM_BLOCK";
            case 156:
                return "VK_FORMAT_EAC_R11G11_SNORM_BLOCK";
            case 157:
                return "VK_FORMAT_ASTC_4x4_UNORM_BLOCK";
            case 158:
                return "VK_FORMAT_ASTC_4x4_SRGB_BLOCK";
            case 159:
                return "VK_FORMAT_ASTC_5x4_UNORM_BLOCK";
            case 160:
                return "VK_FORMAT_ASTC_5x4_SRGB_BLOCK";
            case 161:
                return "VK_FORMAT_ASTC_5x5_UNORM_BLOCK";
            case 162:
                return "VK_FORMAT_ASTC_5x5_SRGB_BLOCK";
            case 163:
                return "VK_FORMAT_ASTC_6x5_UNORM_BLOCK";
            case 164:
                return "VK_FORMAT_ASTC_6x5_SRGB_BLOCK";
            case 165:
                return "VK_FORMAT_ASTC_6x6_UNORM_BLOCK";
            case 166:
                return "VK_FORMAT_ASTC_6x6_SRGB_BLOCK";
            case 167:
                return "VK_FORMAT_ASTC_8x5_UNORM_BLOCK";
            case 168:
                return "VK_FORMAT_ASTC_8x5_SRGB_BLOCK";
            case 169:
                return "VK_FORMAT_ASTC_8x6_UNORM_BLOCK";
            case 170:
                return "VK_FORMAT_ASTC_8x6_SRGB_BLOCK";
            case 171:
                return "VK_FORMAT_ASTC_8x8_UNORM_BLOCK";
            case 172:
                return "VK_FORMAT_ASTC_8x8_SRGB_BLOCK";
            case 173:
                return "VK_FORMAT_ASTC_10x5_UNORM_BLOCK";
            case 174:
                return "VK_FORMAT_ASTC_10x5_SRGB_BLOCK";
            case 175:
                return "VK_FORMAT_ASTC_10x6_UNORM_BLOCK";
            case 176:
                return "VK_FORMAT_ASTC_10x6_SRGB_BLOCK";
            case 177:
                return "VK_FORMAT_ASTC_10x8_UNORM_BLOCK";
            case 178:
                return "VK_FORMAT_ASTC_10x8_SRGB_BLOCK";
            case 179:
                return "VK_FORMAT_ASTC_10x10_UNORM_BLOCK";
            case 180:
                return "VK_FORMAT_ASTC_10x10_SRGB_BLOCK";
            case 181:
                return "VK_FORMAT_ASTC_12x10_UNORM_BLOCK";
            case 182:
                return "VK_FORMAT_ASTC_12x10_SRGB_BLOCK";
            case 183:
                return "VK_FORMAT_ASTC_12x12_UNORM_BLOCK";
            case 184:
                return "VK_FORMAT_ASTC_12x12_SRGB_BLOCK";
            case 1000054000:
                return "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG";
            case 1000054001:
                return "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG";
            case 1000054002:
                return "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG";
            case 1000054003:
                return "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG";
            case 1000054004:
                return "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG";
            case 1000054005:
                return "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG";
            case 1000054006:
                return "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG";
            case 1000054007:
                return "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG";
            case 1000066000:
                return "VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT";
            case 1000066001:
                return "VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT";
            case 1000066002:
                return "VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT";
            case 1000066003:
                return "VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT";
            case 1000066004:
                return "VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT";
            case 1000066005:
                return "VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT";
            case 1000066006:
                return "VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT";
            case 1000066007:
                return "VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT";
            case 1000066008:
                return "VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT";
            case 1000066009:
                return "VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT";
            case 1000066010:
                return "VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT";
            case 1000066011:
                return "VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT";
            case 1000066012:
                return "VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT";
            case 1000066013:
                return "VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT";
            case 1000156000:
                return "VK_FORMAT_G8B8G8R8_422_UNORM";
            case 1000156001:
                return "VK_FORMAT_B8G8R8G8_422_UNORM";
            case 1000156002:
                return "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM";
            case 1000156003:
                return "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM";
            case 1000156004:
                return "VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM";
            case 1000156005:
                return "VK_FORMAT_G8_B8R8_2PLANE_422_UNORM";
            case 1000156006:
                return "VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM";
            case 1000156007:
                return "VK_FORMAT_R10X6_UNORM_PACK16";
            case 1000156008:
                return "VK_FORMAT_R10X6G10X6_UNORM_2PACK16";
            case 1000156009:
                return "VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16";
            case 1000156010:
                return "VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16";
            case 1000156011:
                return "VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16";
            case 1000156012:
                return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16";
            case 1000156013:
                return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16";
            case 1000156014:
                return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16";
            case 1000156015:
                return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16";
            case 1000156016:
                return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16";
            case 1000156017:
                return "VK_FORMAT_R12X4_UNORM_PACK16";
            case 1000156018:
                return "VK_FORMAT_R12X4G12X4_UNORM_2PACK16";
            case 1000156019:
                return "VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16";
            case 1000156020:
                return "VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16";
            case 1000156021:
                return "VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16";
            case 1000156022:
                return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16";
            case 1000156023:
                return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16";
            case 1000156024:
                return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16";
            case 1000156025:
                return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16";
            case 1000156026:
                return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16";
            case 1000156027:
                return "VK_FORMAT_G16B16G16R16_422_UNORM";
            case 1000156028:
                return "VK_FORMAT_B16G16R16G16_422_UNORM";
            case 1000156029:
                return "VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM";
            case 1000156030:
                return "VK_FORMAT_G16_B16R16_2PLANE_420_UNORM";
            case 1000156031:
                return "VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM";
            case 1000156032:
                return "VK_FORMAT_G16_B16R16_2PLANE_422_UNORM";
            case 1000156033:
                return "VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM";
            case 1000340000:
                return "VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT";
            case 1000340001:
                return "VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_FragmentShadingRateCombinerOpKHR_to_str(VkFragmentShadingRateCombinerOpKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR";
            case 1:
                return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR";
            case 2:
                return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR";
            case 3:
                return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR";
            case 4:
                return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_FrontFace_to_str(VkFrontFace input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_FRONT_FACE_COUNTER_CLOCKWISE";
            case 1:
                return "VK_FRONT_FACE_CLOCKWISE";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


#ifdef VK_USE_PLATFORM_WIN32_KHR
    const char *
    vk_FullScreenExclusiveEXT_to_str(VkFullScreenExclusiveEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT";
            case 1:
                return "VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT";
            case 2:
                return "VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT";
            case 3:
                return "VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }

#endif

#ifdef VK_ENABLE_BETA_EXTENSIONS
    const char *
    vk_GeometryTypeKHR_to_str(VkGeometryTypeKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_GEOMETRY_TYPE_TRIANGLES_NV";
            case 1:
                return "VK_GEOMETRY_TYPE_AABBS_NV";
            case 1000150000:
                return "VK_GEOMETRY_TYPE_INSTANCES_KHR";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }

#endif

    const char *
    vk_ImageLayout_to_str(VkImageLayout input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_IMAGE_LAYOUT_UNDEFINED";
            case 1:
                return "VK_IMAGE_LAYOUT_GENERAL";
            case 2:
                return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL";
            case 3:
                return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL";
            case 4:
                return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL";
            case 5:
                return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL";
            case 6:
                return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL";
            case 7:
                return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL";
            case 8:
                return "VK_IMAGE_LAYOUT_PREINITIALIZED";
            case 1000001002:
                return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR";
            case 1000111000:
                return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR";
            case 1000117000:
                return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL";
            case 1000117001:
                return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL";
            case 1000164003:
                return "VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV";
            case 1000218000:
                return "VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT";
            case 1000241000:
                return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL";
            case 1000241001:
                return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL";
            case 1000241002:
                return "VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL";
            case 1000241003:
                return "VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ImageTiling_to_str(VkImageTiling input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_IMAGE_TILING_OPTIMAL";
            case 1:
                return "VK_IMAGE_TILING_LINEAR";
            case 1000158000:
                return "VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ImageType_to_str(VkImageType input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_IMAGE_TYPE_1D";
            case 1:
                return "VK_IMAGE_TYPE_2D";
            case 2:
                return "VK_IMAGE_TYPE_3D";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ImageViewType_to_str(VkImageViewType input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_IMAGE_VIEW_TYPE_1D";
            case 1:
                return "VK_IMAGE_VIEW_TYPE_2D";
            case 2:
                return "VK_IMAGE_VIEW_TYPE_3D";
            case 3:
                return "VK_IMAGE_VIEW_TYPE_CUBE";
            case 4:
                return "VK_IMAGE_VIEW_TYPE_1D_ARRAY";
            case 5:
                return "VK_IMAGE_VIEW_TYPE_2D_ARRAY";
            case 6:
                return "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_IndexType_to_str(VkIndexType input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_INDEX_TYPE_UINT16";
            case 1:
                return "VK_INDEX_TYPE_UINT32";
            case 1000165000:
                return "VK_INDEX_TYPE_NONE_NV";
            case 1000265000:
                return "VK_INDEX_TYPE_UINT8_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_IndirectCommandsTokenTypeNV_to_str(VkIndirectCommandsTokenTypeNV input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV";
            case 1:
                return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV";
            case 2:
                return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV";
            case 3:
                return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV";
            case 4:
                return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV";
            case 5:
                return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV";
            case 6:
                return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV";
            case 7:
                return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_InternalAllocationType_to_str(VkInternalAllocationType input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_LineRasterizationModeEXT_to_str(VkLineRasterizationModeEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT";
            case 1:
                return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT";
            case 2:
                return "VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT";
            case 3:
                return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_LogicOp_to_str(VkLogicOp input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_LOGIC_OP_CLEAR";
            case 1:
                return "VK_LOGIC_OP_AND";
            case 2:
                return "VK_LOGIC_OP_AND_REVERSE";
            case 3:
                return "VK_LOGIC_OP_COPY";
            case 4:
                return "VK_LOGIC_OP_AND_INVERTED";
            case 5:
                return "VK_LOGIC_OP_NO_OP";
            case 6:
                return "VK_LOGIC_OP_XOR";
            case 7:
                return "VK_LOGIC_OP_OR";
            case 8:
                return "VK_LOGIC_OP_NOR";
            case 9:
                return "VK_LOGIC_OP_EQUIVALENT";
            case 10:
                return "VK_LOGIC_OP_INVERT";
            case 11:
                return "VK_LOGIC_OP_OR_REVERSE";
            case 12:
                return "VK_LOGIC_OP_COPY_INVERTED";
            case 13:
                return "VK_LOGIC_OP_OR_INVERTED";
            case 14:
                return "VK_LOGIC_OP_NAND";
            case 15:
                return "VK_LOGIC_OP_SET";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_MemoryOverallocationBehaviorAMD_to_str(VkMemoryOverallocationBehaviorAMD input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD";
            case 1:
                return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD";
            case 2:
                return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ObjectType_to_str(VkObjectType input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_OBJECT_TYPE_UNKNOWN";
            case 1:
                return "VK_OBJECT_TYPE_INSTANCE";
            case 2:
                return "VK_OBJECT_TYPE_PHYSICAL_DEVICE";
            case 3:
                return "VK_OBJECT_TYPE_DEVICE";
            case 4:
                return "VK_OBJECT_TYPE_QUEUE";
            case 5:
                return "VK_OBJECT_TYPE_SEMAPHORE";
            case 6:
                return "VK_OBJECT_TYPE_COMMAND_BUFFER";
            case 7:
                return "VK_OBJECT_TYPE_FENCE";
            case 8:
                return "VK_OBJECT_TYPE_DEVICE_MEMORY";
            case 9:
                return "VK_OBJECT_TYPE_BUFFER";
            case 10:
                return "VK_OBJECT_TYPE_IMAGE";
            case 11:
                return "VK_OBJECT_TYPE_EVENT";
            case 12:
                return "VK_OBJECT_TYPE_QUERY_POOL";
            case 13:
                return "VK_OBJECT_TYPE_BUFFER_VIEW";
            case 14:
                return "VK_OBJECT_TYPE_IMAGE_VIEW";
            case 15:
                return "VK_OBJECT_TYPE_SHADER_MODULE";
            case 16:
                return "VK_OBJECT_TYPE_PIPELINE_CACHE";
            case 17:
                return "VK_OBJECT_TYPE_PIPELINE_LAYOUT";
            case 18:
                return "VK_OBJECT_TYPE_RENDER_PASS";
            case 19:
                return "VK_OBJECT_TYPE_PIPELINE";
            case 20:
                return "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT";
            case 21:
                return "VK_OBJECT_TYPE_SAMPLER";
            case 22:
                return "VK_OBJECT_TYPE_DESCRIPTOR_POOL";
            case 23:
                return "VK_OBJECT_TYPE_DESCRIPTOR_SET";
            case 24:
                return "VK_OBJECT_TYPE_FRAMEBUFFER";
            case 25:
                return "VK_OBJECT_TYPE_COMMAND_POOL";
            case 1000000000:
                return "VK_OBJECT_TYPE_SURFACE_KHR";
            case 1000001000:
                return "VK_OBJECT_TYPE_SWAPCHAIN_KHR";
            case 1000002000:
                return "VK_OBJECT_TYPE_DISPLAY_KHR";
            case 1000002001:
                return "VK_OBJECT_TYPE_DISPLAY_MODE_KHR";
            case 1000011000:
                return "VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT";
            case 1000085000:
                return "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE";
            case 1000128000:
                return "VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT";
            case 1000156000:
                return "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION";
            case 1000160000:
                return "VK_OBJECT_TYPE_VALIDATION_CACHE_EXT";
            case 1000165000:
                return "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV";
            case 1000210000:
                return "VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL";
            case 1000268000:
                return "VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR";
            case 1000277000:
                return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV";
            case 1000295000:
                return "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PerformanceConfigurationTypeINTEL_to_str(VkPerformanceConfigurationTypeINTEL input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PerformanceCounterScopeKHR_to_str(VkPerformanceCounterScopeKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_QUERY_SCOPE_COMMAND_BUFFER_KHR";
            case 1:
                return "VK_QUERY_SCOPE_RENDER_PASS_KHR";
            case 2:
                return "VK_QUERY_SCOPE_COMMAND_KHR";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PerformanceCounterStorageKHR_to_str(VkPerformanceCounterStorageKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR";
            case 1:
                return "VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR";
            case 2:
                return "VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR";
            case 3:
                return "VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR";
            case 4:
                return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR";
            case 5:
                return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PerformanceCounterUnitKHR_to_str(VkPerformanceCounterUnitKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR";
            case 1:
                return "VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR";
            case 2:
                return "VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR";
            case 3:
                return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR";
            case 4:
                return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR";
            case 5:
                return "VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR";
            case 6:
                return "VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR";
            case 7:
                return "VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR";
            case 8:
                return "VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR";
            case 9:
                return "VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR";
            case 10:
                return "VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PerformanceOverrideTypeINTEL_to_str(VkPerformanceOverrideTypeINTEL input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL";
            case 1:
                return "VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PerformanceParameterTypeINTEL_to_str(VkPerformanceParameterTypeINTEL input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL";
            case 1:
                return "VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PerformanceValueTypeINTEL_to_str(VkPerformanceValueTypeINTEL input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL";
            case 1:
                return "VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL";
            case 2:
                return "VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL";
            case 3:
                return "VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL";
            case 4:
                return "VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PhysicalDeviceType_to_str(VkPhysicalDeviceType input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_PHYSICAL_DEVICE_TYPE_OTHER";
            case 1:
                return "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU";
            case 2:
                return "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU";
            case 3:
                return "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU";
            case 4:
                return "VK_PHYSICAL_DEVICE_TYPE_CPU";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PipelineBindPoint_to_str(VkPipelineBindPoint input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_PIPELINE_BIND_POINT_GRAPHICS";
            case 1:
                return "VK_PIPELINE_BIND_POINT_COMPUTE";
            case 1000165000:
                return "VK_PIPELINE_BIND_POINT_RAY_TRACING_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PipelineCacheHeaderVersion_to_str(VkPipelineCacheHeaderVersion input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 1:
                return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PipelineExecutableStatisticFormatKHR_to_str(VkPipelineExecutableStatisticFormatKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR";
            case 1:
                return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR";
            case 2:
                return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR";
            case 3:
                return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PointClippingBehavior_to_str(VkPointClippingBehavior input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES";
            case 1:
                return "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PolygonMode_to_str(VkPolygonMode input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_POLYGON_MODE_FILL";
            case 1:
                return "VK_POLYGON_MODE_LINE";
            case 2:
                return "VK_POLYGON_MODE_POINT";
            case 1000153000:
                return "VK_POLYGON_MODE_FILL_RECTANGLE_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PresentModeKHR_to_str(VkPresentModeKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_PRESENT_MODE_IMMEDIATE_KHR";
            case 1:
                return "VK_PRESENT_MODE_MAILBOX_KHR";
            case 2:
                return "VK_PRESENT_MODE_FIFO_KHR";
            case 3:
                return "VK_PRESENT_MODE_FIFO_RELAXED_KHR";
            case 1000111000:
                return "VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR";
            case 1000111001:
                return "VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_PrimitiveTopology_to_str(VkPrimitiveTopology input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_PRIMITIVE_TOPOLOGY_POINT_LIST";
            case 1:
                return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST";
            case 2:
                return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP";
            case 3:
                return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST";
            case 4:
                return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP";
            case 5:
                return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN";
            case 6:
                return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY";
            case 7:
                return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY";
            case 8:
                return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY";
            case 9:
                return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY";
            case 10:
                return "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_QueryPoolSamplingModeINTEL_to_str(VkQueryPoolSamplingModeINTEL input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_QueryType_to_str(VkQueryType input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_QUERY_TYPE_OCCLUSION";
            case 1:
                return "VK_QUERY_TYPE_PIPELINE_STATISTICS";
            case 2:
                return "VK_QUERY_TYPE_TIMESTAMP";
            case 1000028004:
                return "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT";
            case 1000116000:
                return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR";
            case 1000150000:
                return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR";
            case 1000165000:
                return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV";
            case 1000210000:
                return "VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_QueueGlobalPriorityEXT_to_str(VkQueueGlobalPriorityEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 128:
                return "VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT";
            case 256:
                return "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT";
            case 512:
                return "VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT";
            case 1024:
                return "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_RasterizationOrderAMD_to_str(VkRasterizationOrderAMD input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_RASTERIZATION_ORDER_STRICT_AMD";
            case 1:
                return "VK_RASTERIZATION_ORDER_RELAXED_AMD";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


#ifdef VK_ENABLE_BETA_EXTENSIONS
    const char *
    vk_RayTracingShaderGroupTypeKHR_to_str(VkRayTracingShaderGroupTypeKHR input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV";
            case 1:
                return "VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV";
            case 2:
                return "VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }

#endif

    const char *
    vk_Result_to_str(VkResult input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case -1000257000:
                return "VK_ERROR_INVALID_DEVICE_ADDRESS_EXT";
            case -1000255000:
                return "VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT";
            case -1000174001:
                return "VK_ERROR_NOT_PERMITTED_EXT";
            case -1000161000:
                return "VK_ERROR_FRAGMENTATION";
            case -1000158000:
                return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT";
            case -1000150000:
                return "VK_ERROR_INCOMPATIBLE_VERSION_KHR";
            case -1000072003:
                return "VK_ERROR_INVALID_EXTERNAL_HANDLE";
            case -1000069000:
                return "VK_ERROR_OUT_OF_POOL_MEMORY";
            case -1000012000:
                return "VK_ERROR_INVALID_SHADER_NV";
            case -1000011001:
                return "VK_ERROR_VALIDATION_FAILED_EXT";
            case -1000003001:
                return "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR";
            case -1000001004:
                return "VK_ERROR_OUT_OF_DATE_KHR";
            case -1000000001:
                return "VK_ERROR_NATIVE_WINDOW_IN_USE_KHR";
            case -1000000000:
                return "VK_ERROR_SURFACE_LOST_KHR";
            case -13:
                return "VK_ERROR_UNKNOWN";
            case -12:
                return "VK_ERROR_FRAGMENTED_POOL";
            case -11:
                return "VK_ERROR_FORMAT_NOT_SUPPORTED";
            case -10:
                return "VK_ERROR_TOO_MANY_OBJECTS";
            case -9:
                return "VK_ERROR_INCOMPATIBLE_DRIVER";
            case -8:
                return "VK_ERROR_FEATURE_NOT_PRESENT";
            case -7:
                return "VK_ERROR_EXTENSION_NOT_PRESENT";
            case -6:
                return "VK_ERROR_LAYER_NOT_PRESENT";
            case -5:
                return "VK_ERROR_MEMORY_MAP_FAILED";
            case -4:
                return "VK_ERROR_DEVICE_LOST";
            case -3:
                return "VK_ERROR_INITIALIZATION_FAILED";
            case -2:
                return "VK_ERROR_OUT_OF_DEVICE_MEMORY";
            case -1:
                return "VK_ERROR_OUT_OF_HOST_MEMORY";
            case 0:
                return "VK_SUCCESS";
            case 1:
                return "VK_NOT_READY";
            case 2:
                return "VK_TIMEOUT";
            case 3:
                return "VK_EVENT_SET";
            case 4:
                return "VK_EVENT_RESET";
            case 5:
                return "VK_INCOMPLETE";
            case 1000001003:
                return "VK_SUBOPTIMAL_KHR";
            case 1000268000:
                return "VK_THREAD_IDLE_KHR";
            case 1000268001:
                return "VK_THREAD_DONE_KHR";
            case 1000268002:
                return "VK_OPERATION_DEFERRED_KHR";
            case 1000268003:
                return "VK_OPERATION_NOT_DEFERRED_KHR";
            case 1000297000:
                return "VK_PIPELINE_COMPILE_REQUIRED_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_SamplerAddressMode_to_str(VkSamplerAddressMode input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SAMPLER_ADDRESS_MODE_REPEAT";
            case 1:
                return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT";
            case 2:
                return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE";
            case 3:
                return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER";
            case 4:
                return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_SamplerMipmapMode_to_str(VkSamplerMipmapMode input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SAMPLER_MIPMAP_MODE_NEAREST";
            case 1:
                return "VK_SAMPLER_MIPMAP_MODE_LINEAR";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_SamplerReductionMode_to_str(VkSamplerReductionMode input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE";
            case 1:
                return "VK_SAMPLER_REDUCTION_MODE_MIN";
            case 2:
                return "VK_SAMPLER_REDUCTION_MODE_MAX";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_SamplerYcbcrModelConversion_to_str(VkSamplerYcbcrModelConversion input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY";
            case 1:
                return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY";
            case 2:
                return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709";
            case 3:
                return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601";
            case 4:
                return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_SamplerYcbcrRange_to_str(VkSamplerYcbcrRange input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SAMPLER_YCBCR_RANGE_ITU_FULL";
            case 1:
                return "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ScopeNV_to_str(VkScopeNV input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 1:
                return "VK_SCOPE_DEVICE_NV";
            case 2:
                return "VK_SCOPE_WORKGROUP_NV";
            case 3:
                return "VK_SCOPE_SUBGROUP_NV";
            case 5:
                return "VK_SCOPE_QUEUE_FAMILY_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_SemaphoreType_to_str(VkSemaphoreType input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SEMAPHORE_TYPE_BINARY";
            case 1:
                return "VK_SEMAPHORE_TYPE_TIMELINE";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ShaderFloatControlsIndependence_to_str(VkShaderFloatControlsIndependence input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY";
            case 1:
                return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL";
            case 2:
                return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ShaderInfoTypeAMD_to_str(VkShaderInfoTypeAMD input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SHADER_INFO_TYPE_STATISTICS_AMD";
            case 1:
                return "VK_SHADER_INFO_TYPE_BINARY_AMD";
            case 2:
                return "VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ShadingRatePaletteEntryNV_to_str(VkShadingRatePaletteEntryNV input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV";
            case 1:
                return "VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV";
            case 2:
                return "VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV";
            case 3:
                return "VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV";
            case 4:
                return "VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV";
            case 5:
                return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV";
            case 6:
                return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV";
            case 7:
                return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV";
            case 8:
                return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV";
            case 9:
                return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV";
            case 10:
                return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV";
            case 11:
                return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_SharingMode_to_str(VkSharingMode input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SHARING_MODE_EXCLUSIVE";
            case 1:
                return "VK_SHARING_MODE_CONCURRENT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_StencilOp_to_str(VkStencilOp input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_STENCIL_OP_KEEP";
            case 1:
                return "VK_STENCIL_OP_ZERO";
            case 2:
                return "VK_STENCIL_OP_REPLACE";
            case 3:
                return "VK_STENCIL_OP_INCREMENT_AND_CLAMP";
            case 4:
                return "VK_STENCIL_OP_DECREMENT_AND_CLAMP";
            case 5:
                return "VK_STENCIL_OP_INVERT";
            case 6:
                return "VK_STENCIL_OP_INCREMENT_AND_WRAP";
            case 7:
                return "VK_STENCIL_OP_DECREMENT_AND_WRAP";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_StructureType_to_str(VkStructureType input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_STRUCTURE_TYPE_APPLICATION_INFO";
            case 1:
                return "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO";
            case 2:
                return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO";
            case 3:
                return "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO";
            case 4:
                return "VK_STRUCTURE_TYPE_SUBMIT_INFO";
            case 5:
                return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO";
            case 6:
                return "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE";
            case 7:
                return "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO";
            case 8:
                return "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO";
            case 9:
                return "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO";
            case 10:
                return "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO";
            case 11:
                return "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO";
            case 12:
                return "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO";
            case 13:
                return "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO";
            case 14:
                return "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO";
            case 15:
                return "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO";
            case 16:
                return "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO";
            case 17:
                return "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO";
            case 18:
                return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO";
            case 19:
                return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO";
            case 20:
                return "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO";
            case 21:
                return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO";
            case 22:
                return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO";
            case 23:
                return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO";
            case 24:
                return "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO";
            case 25:
                return "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO";
            case 26:
                return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO";
            case 27:
                return "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO";
            case 28:
                return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO";
            case 29:
                return "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO";
            case 30:
                return "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO";
            case 31:
                return "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO";
            case 32:
                return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO";
            case 33:
                return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO";
            case 34:
                return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO";
            case 35:
                return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET";
            case 36:
                return "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET";
            case 37:
                return "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO";
            case 38:
                return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO";
            case 39:
                return "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO";
            case 40:
                return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO";
            case 41:
                return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO";
            case 42:
                return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO";
            case 43:
                return "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO";
            case 44:
                return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER";
            case 45:
                return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER";
            case 46:
                return "VK_STRUCTURE_TYPE_MEMORY_BARRIER";
            case 47:
                return "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO";
            case 48:
                return "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO";
            case 49:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES";
            case 50:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES";
            case 51:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES";
            case 52:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES";
            case 1000001000:
                return "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR";
            case 1000001001:
                return "VK_STRUCTURE_TYPE_PRESENT_INFO_KHR";
            case 1000002000:
                return "VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR";
            case 1000002001:
                return "VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR";
            case 1000003000:
                return "VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR";
            case 1000004000:
                return "VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR";
            case 1000005000:
                return "VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR";
            case 1000006000:
                return "VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR";
            case 1000008000:
                return "VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR";
            case 1000009000:
                return "VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR";
            case 1000011000:
                return "VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT";
            case 1000018000:
                return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD";
            case 1000022000:
                return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT";
            case 1000022001:
                return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT";
            case 1000022002:
                return "VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT";
            case 1000026000:
                return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV";
            case 1000026001:
                return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV";
            case 1000026002:
                return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV";
            case 1000028000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT";
            case 1000028001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT";
            case 1000028002:
                return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT";
            case 1000030000:
                return "VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX";
            case 1000030001:
                return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX";
            case 1000041000:
                return "VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD";
            case 1000049000:
                return "VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP";
            case 1000050000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV";
            case 1000053000:
                return "VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO";
            case 1000053001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES";
            case 1000053002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES";
            case 1000056000:
                return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV";
            case 1000056001:
                return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV";
            case 1000057000:
                return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV";
            case 1000057001:
                return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV";
            case 1000058000:
                return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV";
            case 1000059000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2";
            case 1000059001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2";
            case 1000059002:
                return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2";
            case 1000059003:
                return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2";
            case 1000059004:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2";
            case 1000059005:
                return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2";
            case 1000059006:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2";
            case 1000059007:
                return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2";
            case 1000059008:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2";
            case 1000060000:
                return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO";
            case 1000060003:
                return "VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO";
            case 1000060004:
                return "VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO";
            case 1000060005:
                return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO";
            case 1000060006:
                return "VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO";
            case 1000060007:
                return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR";
            case 1000060008:
                return "VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR";
            case 1000060009:
                return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR";
            case 1000060010:
                return "VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR";
            case 1000060011:
                return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR";
            case 1000060012:
                return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR";
            case 1000060013:
                return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO";
            case 1000060014:
                return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO";
            case 1000061000:
                return "VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT";
            case 1000062000:
                return "VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN";
            case 1000063000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES";
            case 1000066000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT";
            case 1000067000:
                return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT";
            case 1000067001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT";
            case 1000070000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES";
            case 1000070001:
                return "VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO";
            case 1000071000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO";
            case 1000071001:
                return "VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES";
            case 1000071002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO";
            case 1000071003:
                return "VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES";
            case 1000071004:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES";
            case 1000072000:
                return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO";
            case 1000072001:
                return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO";
            case 1000072002:
                return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO";
            case 1000073000:
                return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR";
            case 1000073001:
                return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR";
            case 1000073002:
                return "VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR";
            case 1000073003:
                return "VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR";
            case 1000074000:
                return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR";
            case 1000074001:
                return "VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR";
            case 1000074002:
                return "VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR";
            case 1000075000:
                return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR";
            case 1000076000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO";
            case 1000076001:
                return "VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES";
            case 1000077000:
                return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO";
            case 1000078000:
                return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR";
            case 1000078001:
                return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR";
            case 1000078002:
                return "VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR";
            case 1000078003:
                return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR";
            case 1000079000:
                return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR";
            case 1000079001:
                return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR";
            case 1000080000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR";
            case 1000081000:
                return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT";
            case 1000081001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT";
            case 1000081002:
                return "VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT";
            case 1000082000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR";
            case 1000083000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES";
            case 1000084000:
                return "VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR";
            case 1000085000:
                return "VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO";
            case 1000087000:
                return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV";
            case 1000090000:
                return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT";
            case 1000091000:
                return "VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT";
            case 1000091001:
                return "VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT";
            case 1000091002:
                return "VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT";
            case 1000091003:
                return "VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT";
            case 1000092000:
                return "VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE";
            case 1000094000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES";
            case 1000097000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX";
            case 1000098000:
                return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV";
            case 1000099000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT";
            case 1000099001:
                return "VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT";
            case 1000101000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT";
            case 1000101001:
                return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT";
            case 1000102000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT";
            case 1000102001:
                return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT";
            case 1000105000:
                return "VK_STRUCTURE_TYPE_HDR_METADATA_EXT";
            case 1000108000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES";
            case 1000108001:
                return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO";
            case 1000108002:
                return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO";
            case 1000108003:
                return "VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO";
            case 1000109000:
                return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2";
            case 1000109001:
                return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2";
            case 1000109002:
                return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2";
            case 1000109003:
                return "VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2";
            case 1000109004:
                return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2";
            case 1000109005:
                return "VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO";
            case 1000109006:
                return "VK_STRUCTURE_TYPE_SUBPASS_END_INFO";
            case 1000111000:
                return "VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR";
            case 1000112000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO";
            case 1000112001:
                return "VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES";
            case 1000113000:
                return "VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO";
            case 1000114000:
                return "VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR";
            case 1000114001:
                return "VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR";
            case 1000114002:
                return "VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR";
            case 1000115000:
                return "VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR";
            case 1000115001:
                return "VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR";
            case 1000116000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR";
            case 1000116001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR";
            case 1000116002:
                return "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR";
            case 1000116003:
                return "VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR";
            case 1000116004:
                return "VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR";
            case 1000116005:
                return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR";
            case 1000116006:
                return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR";
            case 1000117000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES";
            case 1000117001:
                return "VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO";
            case 1000117002:
                return "VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO";
            case 1000117003:
                return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO";
            case 1000119000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR";
            case 1000119001:
                return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR";
            case 1000119002:
                return "VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR";
            case 1000120000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES";
            case 1000121000:
                return "VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR";
            case 1000121001:
                return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR";
            case 1000121002:
                return "VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR";
            case 1000121003:
                return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR";
            case 1000121004:
                return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR";
            case 1000122000:
                return "VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK";
            case 1000123000:
                return "VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK";
            case 1000127000:
                return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS";
            case 1000127001:
                return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO";
            case 1000128000:
                return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT";
            case 1000128001:
                return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT";
            case 1000128002:
                return "VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT";
            case 1000128003:
                return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT";
            case 1000128004:
                return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT";
            case 1000129000:
                return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID";
            case 1000129001:
                return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID";
            case 1000129002:
                return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID";
            case 1000129003:
                return "VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID";
            case 1000129004:
                return "VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID";
            case 1000129005:
                return "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID";
            case 1000130000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES";
            case 1000130001:
                return "VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO";
            case 1000138000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT";
            case 1000138001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT";
            case 1000138002:
                return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT";
            case 1000138003:
                return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT";
            case 1000143000:
                return "VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT";
            case 1000143001:
                return "VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT";
            case 1000143002:
                return "VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT";
            case 1000143003:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT";
            case 1000143004:
                return "VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT";
            case 1000145000:
                return "VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO";
            case 1000145001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES";
            case 1000145002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES";
            case 1000145003:
                return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2";
            case 1000146000:
                return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2";
            case 1000146001:
                return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2";
            case 1000146002:
                return "VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2";
            case 1000146003:
                return "VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2";
            case 1000146004:
                return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2";
            case 1000147000:
                return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO";
            case 1000148000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT";
            case 1000148001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT";
            case 1000148002:
                return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT";
            case 1000149000:
                return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV";
            case 1000150000:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR";
            case 1000150001:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR";
            case 1000150002:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR";
            case 1000150003:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR";
            case 1000150004:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR";
            case 1000150005:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR";
            case 1000150006:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR";
            case 1000150008:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR";
            case 1000150009:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR";
            case 1000150010:
                return "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR";
            case 1000150011:
                return "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR";
            case 1000150012:
                return "VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR";
            case 1000150013:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR";
            case 1000150014:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR";
            case 1000150015:
                return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR";
            case 1000150016:
                return "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR";
            case 1000150017:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR";
            case 1000150018:
                return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR";
            case 1000152000:
                return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV";
            case 1000154000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV";
            case 1000154001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV";
            case 1000156000:
                return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO";
            case 1000156001:
                return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO";
            case 1000156002:
                return "VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO";
            case 1000156003:
                return "VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO";
            case 1000156004:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES";
            case 1000156005:
                return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES";
            case 1000157000:
                return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO";
            case 1000157001:
                return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO";
            case 1000158000:
                return "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT";
            case 1000158002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT";
            case 1000158003:
                return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT";
            case 1000158004:
                return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT";
            case 1000158005:
                return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT";
            case 1000160000:
                return "VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT";
            case 1000160001:
                return "VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT";
            case 1000161000:
                return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO";
            case 1000161001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES";
            case 1000161002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES";
            case 1000161003:
                return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO";
            case 1000161004:
                return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT";
            case 1000163000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR";
            case 1000163001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR";
            case 1000164000:
                return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV";
            case 1000164001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV";
            case 1000164002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV";
            case 1000164005:
                return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV";
            case 1000165000:
                return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV";
            case 1000165001:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV";
            case 1000165003:
                return "VK_STRUCTURE_TYPE_GEOMETRY_NV";
            case 1000165004:
                return "VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV";
            case 1000165005:
                return "VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV";
            case 1000165006:
                return "VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV";
            case 1000165007:
                return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV";
            case 1000165008:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV";
            case 1000165009:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV";
            case 1000165011:
                return "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV";
            case 1000165012:
                return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV";
            case 1000166000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV";
            case 1000166001:
                return "VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV";
            case 1000168000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES";
            case 1000168001:
                return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT";
            case 1000170000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT";
            case 1000170001:
                return "VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT";
            case 1000174000:
                return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT";
            case 1000175000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES";
            case 1000177000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES";
            case 1000178000:
                return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT";
            case 1000178001:
                return "VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT";
            case 1000178002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT";
            case 1000180000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES";
            case 1000181000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR";
            case 1000183000:
                return "VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD";
            case 1000184000:
                return "VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT";
            case 1000185000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD";
            case 1000189000:
                return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD";
            case 1000190000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT";
            case 1000190001:
                return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT";
            case 1000190002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT";
            case 1000191000:
                return "VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP";
            case 1000192000:
                return "VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT";
            case 1000196000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES";
            case 1000197000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES";
            case 1000199000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES";
            case 1000199001:
                return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE";
            case 1000201000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV";
            case 1000202000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV";
            case 1000202001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV";
            case 1000203000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV";
            case 1000204000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV";
            case 1000205000:
                return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV";
            case 1000205002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV";
            case 1000206000:
                return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV";
            case 1000206001:
                return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV";
            case 1000207000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES";
            case 1000207001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES";
            case 1000207002:
                return "VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO";
            case 1000207003:
                return "VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO";
            case 1000207004:
                return "VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO";
            case 1000207005:
                return "VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO";
            case 1000209000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL";
            case 1000210000:
                return "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL";
            case 1000210001:
                return "VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL";
            case 1000210002:
                return "VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL";
            case 1000210003:
                return "VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL";
            case 1000210004:
                return "VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL";
            case 1000210005:
                return "VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL";
            case 1000211000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES";
            case 1000212000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT";
            case 1000213000:
                return "VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD";
            case 1000213001:
                return "VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD";
            case 1000214000:
                return "VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA";
            case 1000215000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR";
            case 1000217000:
                return "VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT";
            case 1000218000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT";
            case 1000218001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT";
            case 1000218002:
                return "VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT";
            case 1000221000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES";
            case 1000225000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT";
            case 1000225001:
                return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT";
            case 1000225002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT";
            case 1000226000:
                return "VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR";
            case 1000226001:
                return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR";
            case 1000226002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR";
            case 1000226003:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR";
            case 1000226004:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR";
            case 1000227000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD";
            case 1000229000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD";
            case 1000234000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT";
            case 1000237000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT";
            case 1000238000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT";
            case 1000238001:
                return "VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT";
            case 1000239000:
                return "VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR";
            case 1000240000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV";
            case 1000241000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES";
            case 1000241001:
                return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT";
            case 1000241002:
                return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT";
            case 1000244000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT";
            case 1000244001:
                return "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO";
            case 1000244002:
                return "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT";
            case 1000245000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT";
            case 1000246000:
                return "VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO";
            case 1000247000:
                return "VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT";
            case 1000249000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV";
            case 1000249001:
                return "VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV";
            case 1000249002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV";
            case 1000250000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV";
            case 1000250001:
                return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV";
            case 1000250002:
                return "VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV";
            case 1000251000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT";
            case 1000252000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT";
            case 1000253000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES";
            case 1000255000:
                return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT";
            case 1000255001:
                return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT";
            case 1000255002:
                return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT";
            case 1000256000:
                return "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT";
            case 1000257000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES";
            case 1000257002:
                return "VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO";
            case 1000257003:
                return "VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO";
            case 1000257004:
                return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO";
            case 1000259000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT";
            case 1000259001:
                return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT";
            case 1000259002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT";
            case 1000260000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT";
            case 1000261000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES";
            case 1000265000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT";
            case 1000267000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT";
            case 1000268000:
                return "VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR";
            case 1000269000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR";
            case 1000269001:
                return "VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR";
            case 1000269002:
                return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR";
            case 1000269003:
                return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR";
            case 1000269004:
                return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR";
            case 1000269005:
                return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR";
            case 1000276000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT";
            case 1000277000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV";
            case 1000277001:
                return "VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV";
            case 1000277002:
                return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV";
            case 1000277003:
                return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV";
            case 1000277004:
                return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV";
            case 1000277005:
                return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV";
            case 1000277006:
                return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV";
            case 1000277007:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV";
            case 1000281000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT";
            case 1000281001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT";
            case 1000282000:
                return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM";
            case 1000282001:
                return "VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM";
            case 1000284000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT";
            case 1000284001:
                return "VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT";
            case 1000284002:
                return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT";
            case 1000286000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT";
            case 1000286001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT";
            case 1000287000:
                return "VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT";
            case 1000287001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT";
            case 1000287002:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT";
            case 1000290000:
                return "VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR";
            case 1000295000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT";
            case 1000295001:
                return "VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT";
            case 1000295002:
                return "VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT";
            case 1000297000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT";
            case 1000300000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV";
            case 1000300001:
                return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV";
            case 1000332000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT";
            case 1000332001:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT";
            case 1000335000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT";
            case 1000337000:
                return "VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR";
            case 1000337001:
                return "VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR";
            case 1000337002:
                return "VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR";
            case 1000337003:
                return "VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR";
            case 1000337004:
                return "VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR";
            case 1000337005:
                return "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR";
            case 1000337006:
                return "VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR";
            case 1000337007:
                return "VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR";
            case 1000337008:
                return "VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR";
            case 1000337009:
                return "VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR";
            case 1000337010:
                return "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR";
            case 1000340000:
                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT";
            case 1000346000:
                return "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_SubpassContents_to_str(VkSubpassContents input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SUBPASS_CONTENTS_INLINE";
            case 1:
                return "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_SystemAllocationScope_to_str(VkSystemAllocationScope input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND";
            case 1:
                return "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT";
            case 2:
                return "VK_SYSTEM_ALLOCATION_SCOPE_CACHE";
            case 3:
                return "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE";
            case 4:
                return "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_TessellationDomainOrigin_to_str(VkTessellationDomainOrigin input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT";
            case 1:
                return "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_TimeDomainEXT_to_str(VkTimeDomainEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_TIME_DOMAIN_DEVICE_EXT";
            case 1:
                return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT";
            case 2:
                return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT";
            case 3:
                return "VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ValidationCacheHeaderVersionEXT_to_str(VkValidationCacheHeaderVersionEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 1:
                return "VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ValidationCheckEXT_to_str(VkValidationCheckEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_VALIDATION_CHECK_ALL_EXT";
            case 1:
                return "VK_VALIDATION_CHECK_SHADERS_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ValidationFeatureDisableEXT_to_str(VkValidationFeatureDisableEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_VALIDATION_FEATURE_DISABLE_ALL_EXT";
            case 1:
                return "VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT";
            case 2:
                return "VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT";
            case 3:
                return "VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT";
            case 4:
                return "VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT";
            case 5:
                return "VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT";
            case 6:
                return "VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ValidationFeatureEnableEXT_to_str(VkValidationFeatureEnableEXT input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT";
            case 1:
                return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT";
            case 2:
                return "VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT";
            case 3:
                return "VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT";
            case 4:
                return "VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_VendorId_to_str(VkVendorId input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 65537:
                return "VK_VENDOR_ID_VIV";
            case 65538:
                return "VK_VENDOR_ID_VSI";
            case 65539:
                return "VK_VENDOR_ID_KAZAN";
            case 65540:
                return "VK_VENDOR_ID_CODEPLAY";
            case 65541:
                return "VK_VENDOR_ID_MESA";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_VertexInputRate_to_str(VkVertexInputRate input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_VERTEX_INPUT_RATE_VERTEX";
            case 1:
                return "VK_VERTEX_INPUT_RATE_INSTANCE";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    const char *
    vk_ViewportCoordinateSwizzleNV_to_str(VkViewportCoordinateSwizzleNV input)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(input) {
            case 0:
                return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV";
            case 1:
                return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV";
            case 2:
                return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV";
            case 3:
                return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV";
            case 4:
                return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV";
            case 5:
                return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV";
            case 6:
                return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV";
            case 7:
                return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV";
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined enum value.");
    }


    size_t vk_structure_type_size(const struct VkBaseInStructure *item)
    {
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wswitch"
        switch(item->sType) {
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR: return sizeof(VkAccelerationStructureBuildGeometryInfoKHR);
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR: return sizeof(VkAccelerationStructureCreateGeometryTypeInfoKHR);
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR: return sizeof(VkAccelerationStructureCreateInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV: return sizeof(VkAccelerationStructureCreateInfoNV);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR: return sizeof(VkAccelerationStructureDeviceAddressInfoKHR);
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR: return sizeof(VkAccelerationStructureGeometryAabbsDataKHR);
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR: return sizeof(VkAccelerationStructureGeometryInstancesDataKHR);
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR: return sizeof(VkAccelerationStructureGeometryKHR);
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR: return sizeof(VkAccelerationStructureGeometryTrianglesDataKHR);
    #endif
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV: return sizeof(VkAccelerationStructureInfoNV);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR: return sizeof(VkAccelerationStructureMemoryRequirementsInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV: return sizeof(VkAccelerationStructureMemoryRequirementsInfoNV);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR: return sizeof(VkAccelerationStructureVersionKHR);
    #endif
        case VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR: return sizeof(VkAcquireNextImageInfoKHR);
        case VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR: return sizeof(VkAcquireProfilingLockInfoKHR);
    #ifdef VK_USE_PLATFORM_ANDROID_KHR
        case VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR: return sizeof(VkAndroidSurfaceCreateInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_APPLICATION_INFO: return sizeof(VkApplicationInfo);
        case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2: return sizeof(VkAttachmentDescription2);
        case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: return sizeof(VkAttachmentDescriptionStencilLayout);
        case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2: return sizeof(VkAttachmentReference2);
        case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: return sizeof(VkAttachmentReferenceStencilLayout);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR: return sizeof(VkBindAccelerationStructureMemoryInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: return sizeof(VkBindBufferMemoryDeviceGroupInfo);
        case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO: return sizeof(VkBindBufferMemoryInfo);
        case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: return sizeof(VkBindImageMemoryDeviceGroupInfo);
        case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO: return sizeof(VkBindImageMemoryInfo);
        case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: return sizeof(VkBindImageMemorySwapchainInfoKHR);
        case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: return sizeof(VkBindImagePlaneMemoryInfo);
        case VK_STRUCTURE_TYPE_BIND_SPARSE_INFO: return sizeof(VkBindSparseInfo);
        case VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR: return sizeof(VkBlitImageInfo2KHR);
        case VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR: return sizeof(VkBufferCopy2KHR);
        case VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO: return sizeof(VkBufferCreateInfo);
        case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: return sizeof(VkBufferDeviceAddressCreateInfoEXT);
        case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO: return sizeof(VkBufferDeviceAddressInfo);
        case VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR: return sizeof(VkBufferImageCopy2KHR);
        case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER: return sizeof(VkBufferMemoryBarrier);
        case VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2: return sizeof(VkBufferMemoryRequirementsInfo2);
        case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: return sizeof(VkBufferOpaqueCaptureAddressCreateInfo);
        case VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO: return sizeof(VkBufferViewCreateInfo);
        case VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT: return sizeof(VkCalibratedTimestampInfoEXT);
        case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV: return sizeof(VkCheckpointDataNV);
        case VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO: return sizeof(VkCommandBufferAllocateInfo);
        case VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO: return sizeof(VkCommandBufferBeginInfo);
        case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: return sizeof(VkCommandBufferInheritanceConditionalRenderingInfoEXT);
        case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO: return sizeof(VkCommandBufferInheritanceInfo);
        case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: return sizeof(VkCommandBufferInheritanceRenderPassTransformInfoQCOM);
        case VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO: return sizeof(VkCommandPoolCreateInfo);
        case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: return sizeof(VkComputePipelineCreateInfo);
        case VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT: return sizeof(VkConditionalRenderingBeginInfoEXT);
        case VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV: return sizeof(VkCooperativeMatrixPropertiesNV);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR: return sizeof(VkCopyAccelerationStructureInfoKHR);
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR: return sizeof(VkCopyAccelerationStructureToMemoryInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR: return sizeof(VkCopyBufferInfo2KHR);
        case VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR: return sizeof(VkCopyBufferToImageInfo2KHR);
        case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: return sizeof(VkCopyDescriptorSet);
        case VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR: return sizeof(VkCopyImageInfo2KHR);
        case VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR: return sizeof(VkCopyImageToBufferInfo2KHR);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR: return sizeof(VkCopyMemoryToAccelerationStructureInfoKHR);
    #endif
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: return sizeof(VkD3D12FenceSubmitInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT: return sizeof(VkDebugMarkerMarkerInfoEXT);
        case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT: return sizeof(VkDebugMarkerObjectNameInfoEXT);
        case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT: return sizeof(VkDebugMarkerObjectTagInfoEXT);
        case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: return sizeof(VkDebugReportCallbackCreateInfoEXT);
        case VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT: return sizeof(VkDebugUtilsLabelEXT);
        case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: return sizeof(VkDebugUtilsMessengerCallbackDataEXT);
        case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: return sizeof(VkDebugUtilsMessengerCreateInfoEXT);
        case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: return sizeof(VkDebugUtilsObjectNameInfoEXT);
        case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT: return sizeof(VkDebugUtilsObjectTagInfoEXT);
        case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: return sizeof(VkDedicatedAllocationBufferCreateInfoNV);
        case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: return sizeof(VkDedicatedAllocationImageCreateInfoNV);
        case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: return sizeof(VkDedicatedAllocationMemoryAllocateInfoNV);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR: return sizeof(VkDeferredOperationInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO: return sizeof(VkDescriptorPoolCreateInfo);
        case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: return sizeof(VkDescriptorPoolInlineUniformBlockCreateInfoEXT);
        case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO: return sizeof(VkDescriptorSetAllocateInfo);
        case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: return sizeof(VkDescriptorSetLayoutBindingFlagsCreateInfo);
        case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO: return sizeof(VkDescriptorSetLayoutCreateInfo);
        case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT: return sizeof(VkDescriptorSetLayoutSupport);
        case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: return sizeof(VkDescriptorSetVariableDescriptorCountAllocateInfo);
        case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: return sizeof(VkDescriptorSetVariableDescriptorCountLayoutSupport);
        case VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: return sizeof(VkDescriptorUpdateTemplateCreateInfo);
        case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: return sizeof(VkDeviceCreateInfo);
        case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: return sizeof(VkDeviceDeviceMemoryReportCreateInfoEXT);
        case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: return sizeof(VkDeviceDiagnosticsConfigCreateInfoNV);
        case VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT: return sizeof(VkDeviceEventInfoEXT);
        case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: return sizeof(VkDeviceGroupBindSparseInfo);
        case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: return sizeof(VkDeviceGroupCommandBufferBeginInfo);
        case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: return sizeof(VkDeviceGroupDeviceCreateInfo);
        case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR: return sizeof(VkDeviceGroupPresentCapabilitiesKHR);
        case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: return sizeof(VkDeviceGroupPresentInfoKHR);
        case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: return sizeof(VkDeviceGroupRenderPassBeginInfo);
        case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: return sizeof(VkDeviceGroupSubmitInfo);
        case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: return sizeof(VkDeviceGroupSwapchainCreateInfoKHR);
        case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO: return sizeof(VkDeviceMemoryOpaqueCaptureAddressInfo);
        case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: return sizeof(VkDeviceMemoryOverallocationCreateInfoAMD);
        case VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT: return sizeof(VkDeviceMemoryReportCallbackDataEXT);
        case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT: return sizeof(VkDevicePrivateDataCreateInfoEXT);
        case VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO: return sizeof(VkDeviceQueueCreateInfo);
        case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: return sizeof(VkDeviceQueueGlobalPriorityCreateInfoEXT);
        case VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2: return sizeof(VkDeviceQueueInfo2);
    #ifdef VK_USE_PLATFORM_DIRECTFB_EXT
        case VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT: return sizeof(VkDirectFBSurfaceCreateInfoEXT);
    #endif
        case VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT: return sizeof(VkDisplayEventInfoEXT);
        case VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR: return sizeof(VkDisplayModeCreateInfoKHR);
        case VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR: return sizeof(VkDisplayModeProperties2KHR);
        case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: return sizeof(VkDisplayNativeHdrSurfaceCapabilitiesAMD);
        case VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR: return sizeof(VkDisplayPlaneCapabilities2KHR);
        case VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR: return sizeof(VkDisplayPlaneInfo2KHR);
        case VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR: return sizeof(VkDisplayPlaneProperties2KHR);
        case VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT: return sizeof(VkDisplayPowerInfoEXT);
        case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: return sizeof(VkDisplayPresentInfoKHR);
        case VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR: return sizeof(VkDisplayProperties2KHR);
        case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR: return sizeof(VkDisplaySurfaceCreateInfoKHR);
        case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: return sizeof(VkDrmFormatModifierPropertiesListEXT);
        case VK_STRUCTURE_TYPE_EVENT_CREATE_INFO: return sizeof(VkEventCreateInfo);
        case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: return sizeof(VkExportFenceCreateInfo);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: return sizeof(VkExportFenceWin32HandleInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: return sizeof(VkExportMemoryAllocateInfo);
        case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: return sizeof(VkExportMemoryAllocateInfoNV);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: return sizeof(VkExportMemoryWin32HandleInfoKHR);
    #endif
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: return sizeof(VkExportMemoryWin32HandleInfoNV);
    #endif
        case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: return sizeof(VkExportSemaphoreCreateInfo);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: return sizeof(VkExportSemaphoreWin32HandleInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES: return sizeof(VkExternalBufferProperties);
        case VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES: return sizeof(VkExternalFenceProperties);
        case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: return sizeof(VkExternalImageFormatProperties);
        case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: return sizeof(VkExternalMemoryBufferCreateInfo);
        case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: return sizeof(VkExternalMemoryImageCreateInfo);
        case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: return sizeof(VkExternalMemoryImageCreateInfoNV);
        case VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES: return sizeof(VkExternalSemaphoreProperties);
        case VK_STRUCTURE_TYPE_FENCE_CREATE_INFO: return sizeof(VkFenceCreateInfo);
        case VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR: return sizeof(VkFenceGetFdInfoKHR);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR: return sizeof(VkFenceGetWin32HandleInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: return sizeof(VkFilterCubicImageViewImageFormatPropertiesEXT);
        case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2: return sizeof(VkFormatProperties2);
        case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: return sizeof(VkFragmentShadingRateAttachmentInfoKHR);
        case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO: return sizeof(VkFramebufferAttachmentImageInfo);
        case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: return sizeof(VkFramebufferAttachmentsCreateInfo);
        case VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO: return sizeof(VkFramebufferCreateInfo);
        case VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV: return sizeof(VkFramebufferMixedSamplesCombinationNV);
        case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV: return sizeof(VkGeneratedCommandsInfoNV);
        case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV: return sizeof(VkGeneratedCommandsMemoryRequirementsInfoNV);
        case VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV: return sizeof(VkGeometryAABBNV);
        case VK_STRUCTURE_TYPE_GEOMETRY_NV: return sizeof(VkGeometryNV);
        case VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV: return sizeof(VkGeometryTrianglesNV);
        case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: return sizeof(VkGraphicsPipelineCreateInfo);
        case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: return sizeof(VkGraphicsPipelineShaderGroupsCreateInfoNV);
        case VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV: return sizeof(VkGraphicsShaderGroupCreateInfoNV);
        case VK_STRUCTURE_TYPE_HDR_METADATA_EXT: return sizeof(VkHdrMetadataEXT);
        case VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT: return sizeof(VkHeadlessSurfaceCreateInfoEXT);
    #ifdef VK_USE_PLATFORM_IOS_MVK
        case VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK: return sizeof(VkIOSSurfaceCreateInfoMVK);
    #endif
        case VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR: return sizeof(VkImageBlit2KHR);
        case VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR: return sizeof(VkImageCopy2KHR);
        case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO: return sizeof(VkImageCreateInfo);
        case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: return sizeof(VkImageDrmFormatModifierExplicitCreateInfoEXT);
        case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: return sizeof(VkImageDrmFormatModifierListCreateInfoEXT);
        case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: return sizeof(VkImageDrmFormatModifierPropertiesEXT);
        case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: return sizeof(VkImageFormatListCreateInfo);
        case VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2: return sizeof(VkImageFormatProperties2);
        case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER: return sizeof(VkImageMemoryBarrier);
        case VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2: return sizeof(VkImageMemoryRequirementsInfo2);
    #ifdef VK_USE_PLATFORM_FUCHSIA
        case VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA: return sizeof(VkImagePipeSurfaceCreateInfoFUCHSIA);
    #endif
        case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: return sizeof(VkImagePlaneMemoryRequirementsInfo);
        case VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR: return sizeof(VkImageResolve2KHR);
        case VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2: return sizeof(VkImageSparseMemoryRequirementsInfo2);
        case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: return sizeof(VkImageStencilUsageCreateInfo);
        case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: return sizeof(VkImageSwapchainCreateInfoKHR);
        case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: return sizeof(VkImageViewASTCDecodeModeEXT);
        case VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX: return sizeof(VkImageViewAddressPropertiesNVX);
        case VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO: return sizeof(VkImageViewCreateInfo);
        case VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX: return sizeof(VkImageViewHandleInfoNVX);
        case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: return sizeof(VkImageViewUsageCreateInfo);
        case VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR: return sizeof(VkImportFenceFdInfoKHR);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR: return sizeof(VkImportFenceWin32HandleInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: return sizeof(VkImportMemoryFdInfoKHR);
        case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: return sizeof(VkImportMemoryHostPointerInfoEXT);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: return sizeof(VkImportMemoryWin32HandleInfoKHR);
    #endif
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: return sizeof(VkImportMemoryWin32HandleInfoNV);
    #endif
        case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR: return sizeof(VkImportSemaphoreFdInfoKHR);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: return sizeof(VkImportSemaphoreWin32HandleInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV: return sizeof(VkIndirectCommandsLayoutCreateInfoNV);
        case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV: return sizeof(VkIndirectCommandsLayoutTokenNV);
        case VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL: return sizeof(VkInitializePerformanceApiInfoINTEL);
        case VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO: return sizeof(VkInstanceCreateInfo);
    #ifdef VK_USE_PLATFORM_MACOS_MVK
        case VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK: return sizeof(VkMacOSSurfaceCreateInfoMVK);
    #endif
        case VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE: return sizeof(VkMappedMemoryRange);
        case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: return sizeof(VkMemoryAllocateFlagsInfo);
        case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: return sizeof(VkMemoryAllocateInfo);
        case VK_STRUCTURE_TYPE_MEMORY_BARRIER: return sizeof(VkMemoryBarrier);
        case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: return sizeof(VkMemoryDedicatedAllocateInfo);
        case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: return sizeof(VkMemoryDedicatedRequirements);
        case VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR: return sizeof(VkMemoryFdPropertiesKHR);
        case VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR: return sizeof(VkMemoryGetFdInfoKHR);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR: return sizeof(VkMemoryGetWin32HandleInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: return sizeof(VkMemoryHostPointerPropertiesEXT);
        case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: return sizeof(VkMemoryOpaqueCaptureAddressAllocateInfo);
        case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: return sizeof(VkMemoryPriorityAllocateInfoEXT);
        case VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2: return sizeof(VkMemoryRequirements2);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR: return sizeof(VkMemoryWin32HandlePropertiesKHR);
    #endif
    #ifdef VK_USE_PLATFORM_METAL_EXT
        case VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT: return sizeof(VkMetalSurfaceCreateInfoEXT);
    #endif
        case VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT: return sizeof(VkMultisamplePropertiesEXT);
        case VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL: return sizeof(VkPerformanceConfigurationAcquireInfoINTEL);
        case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR: return sizeof(VkPerformanceCounterDescriptionKHR);
        case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR: return sizeof(VkPerformanceCounterKHR);
        case VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL: return sizeof(VkPerformanceMarkerInfoINTEL);
        case VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL: return sizeof(VkPerformanceOverrideInfoINTEL);
        case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: return sizeof(VkPerformanceQuerySubmitInfoKHR);
        case VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL: return sizeof(VkPerformanceStreamMarkerInfoINTEL);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: return sizeof(VkPhysicalDevice16BitStorageFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: return sizeof(VkPhysicalDevice4444FormatsFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: return sizeof(VkPhysicalDevice8BitStorageFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: return sizeof(VkPhysicalDeviceASTCDecodeFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: return sizeof(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: return sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: return sizeof(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: return sizeof(VkPhysicalDeviceCoherentMemoryFeaturesAMD);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: return sizeof(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: return sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceConservativeRasterizationPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: return sizeof(VkPhysicalDeviceCooperativeMatrixFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: return sizeof(VkPhysicalDeviceCooperativeMatrixPropertiesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: return sizeof(VkPhysicalDeviceCornerSampledImageFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: return sizeof(VkPhysicalDeviceCoverageReductionModeFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: return sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceCustomBorderColorPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: return sizeof(VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: return sizeof(VkPhysicalDeviceDepthClipEnableFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: return sizeof(VkPhysicalDeviceDepthStencilResolveProperties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: return sizeof(VkPhysicalDeviceDescriptorIndexingFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: return sizeof(VkPhysicalDeviceDescriptorIndexingProperties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: return sizeof(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: return sizeof(VkPhysicalDeviceDiagnosticsConfigFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceDiscardRectanglePropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: return sizeof(VkPhysicalDeviceDriverProperties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: return sizeof(VkPhysicalDeviceExclusiveScissorFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: return sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO: return sizeof(VkPhysicalDeviceExternalBufferInfo);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO: return sizeof(VkPhysicalDeviceExternalFenceInfo);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: return sizeof(VkPhysicalDeviceExternalImageFormatInfo);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceExternalMemoryHostPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO: return sizeof(VkPhysicalDeviceExternalSemaphoreInfo);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: return sizeof(VkPhysicalDeviceFeatures2);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: return sizeof(VkPhysicalDeviceFloatControlsProperties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: return sizeof(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: return sizeof(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: return sizeof(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: return sizeof(VkPhysicalDeviceFragmentShadingRateFeaturesKHR);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR: return sizeof(VkPhysicalDeviceFragmentShadingRateKHR);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: return sizeof(VkPhysicalDeviceFragmentShadingRatePropertiesKHR);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES: return sizeof(VkPhysicalDeviceGroupProperties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: return sizeof(VkPhysicalDeviceHostQueryResetFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: return sizeof(VkPhysicalDeviceIDProperties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: return sizeof(VkPhysicalDeviceImageDrmFormatModifierInfoEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2: return sizeof(VkPhysicalDeviceImageFormatInfo2);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT: return sizeof(VkPhysicalDeviceImageRobustnessFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: return sizeof(VkPhysicalDeviceImageViewImageFormatInfoEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: return sizeof(VkPhysicalDeviceImagelessFramebufferFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: return sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: return sizeof(VkPhysicalDeviceInlineUniformBlockFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceInlineUniformBlockPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: return sizeof(VkPhysicalDeviceLineRasterizationFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceLineRasterizationPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: return sizeof(VkPhysicalDeviceMaintenance3Properties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceMemoryBudgetPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: return sizeof(VkPhysicalDeviceMemoryPriorityFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2: return sizeof(VkPhysicalDeviceMemoryProperties2);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: return sizeof(VkPhysicalDeviceMeshShaderFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: return sizeof(VkPhysicalDeviceMeshShaderPropertiesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: return sizeof(VkPhysicalDeviceMultiviewFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: return sizeof(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: return sizeof(VkPhysicalDeviceMultiviewProperties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: return sizeof(VkPhysicalDevicePCIBusInfoPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: return sizeof(VkPhysicalDevicePerformanceQueryFeaturesKHR);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: return sizeof(VkPhysicalDevicePerformanceQueryPropertiesKHR);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT: return sizeof(VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: return sizeof(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: return sizeof(VkPhysicalDevicePointClippingProperties);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: return sizeof(VkPhysicalDevicePortabilitySubsetFeaturesKHR);
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: return sizeof(VkPhysicalDevicePortabilitySubsetPropertiesKHR);
    #endif
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: return sizeof(VkPhysicalDevicePrivateDataFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: return sizeof(VkPhysicalDeviceProperties2);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: return sizeof(VkPhysicalDeviceProtectedMemoryFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: return sizeof(VkPhysicalDeviceProtectedMemoryProperties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: return sizeof(VkPhysicalDevicePushDescriptorPropertiesKHR);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR: return sizeof(VkPhysicalDeviceRayTracingFeaturesKHR);
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR: return sizeof(VkPhysicalDeviceRayTracingPropertiesKHR);
    #endif
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: return sizeof(VkPhysicalDeviceRayTracingPropertiesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: return sizeof(VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: return sizeof(VkPhysicalDeviceRobustness2FeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceRobustness2PropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceSampleLocationsPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: return sizeof(VkPhysicalDeviceSamplerFilterMinmaxProperties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: return sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: return sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: return sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: return sizeof(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: return sizeof(VkPhysicalDeviceShaderAtomicInt64Features);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: return sizeof(VkPhysicalDeviceShaderClockFeaturesKHR);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: return sizeof(VkPhysicalDeviceShaderCoreProperties2AMD);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: return sizeof(VkPhysicalDeviceShaderCorePropertiesAMD);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: return sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: return sizeof(VkPhysicalDeviceShaderDrawParametersFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: return sizeof(VkPhysicalDeviceShaderFloat16Int8Features);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: return sizeof(VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: return sizeof(VkPhysicalDeviceShaderImageFootprintFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: return sizeof(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: return sizeof(VkPhysicalDeviceShaderSMBuiltinsFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: return sizeof(VkPhysicalDeviceShaderSMBuiltinsPropertiesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: return sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: return sizeof(VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: return sizeof(VkPhysicalDeviceShadingRateImageFeaturesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: return sizeof(VkPhysicalDeviceShadingRateImagePropertiesNV);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2: return sizeof(VkPhysicalDeviceSparseImageFormatInfo2);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: return sizeof(VkPhysicalDeviceSubgroupProperties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: return sizeof(VkPhysicalDeviceSubgroupSizeControlFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceSubgroupSizeControlPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: return sizeof(VkPhysicalDeviceSurfaceInfo2KHR);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: return sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: return sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: return sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: return sizeof(VkPhysicalDeviceTimelineSemaphoreProperties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceToolPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: return sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceTransformFeedbackPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: return sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: return sizeof(VkPhysicalDeviceVariablePointersFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: return sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: return sizeof(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: return sizeof(VkPhysicalDeviceVulkan11Features);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: return sizeof(VkPhysicalDeviceVulkan11Properties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: return sizeof(VkPhysicalDeviceVulkan12Features);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: return sizeof(VkPhysicalDeviceVulkan12Properties);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: return sizeof(VkPhysicalDeviceVulkanMemoryModelFeatures);
        case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: return sizeof(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT);
        case VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: return sizeof(VkPipelineCacheCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: return sizeof(VkPipelineColorBlendAdvancedStateCreateInfoEXT);
        case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO: return sizeof(VkPipelineColorBlendStateCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: return sizeof(VkPipelineCompilerControlCreateInfoAMD);
        case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: return sizeof(VkPipelineCoverageModulationStateCreateInfoNV);
        case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: return sizeof(VkPipelineCoverageReductionStateCreateInfoNV);
        case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: return sizeof(VkPipelineCoverageToColorStateCreateInfoNV);
        case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: return sizeof(VkPipelineCreationFeedbackCreateInfoEXT);
        case VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO: return sizeof(VkPipelineDepthStencilStateCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: return sizeof(VkPipelineDiscardRectangleStateCreateInfoEXT);
        case VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO: return sizeof(VkPipelineDynamicStateCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR: return sizeof(VkPipelineExecutableInfoKHR);
        case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR: return sizeof(VkPipelineExecutableInternalRepresentationKHR);
        case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR: return sizeof(VkPipelineExecutablePropertiesKHR);
        case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR: return sizeof(VkPipelineExecutableStatisticKHR);
        case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: return sizeof(VkPipelineFragmentShadingRateStateCreateInfoKHR);
        case VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR: return sizeof(VkPipelineInfoKHR);
        case VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO: return sizeof(VkPipelineInputAssemblyStateCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: return sizeof(VkPipelineLayoutCreateInfo);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: return sizeof(VkPipelineLibraryCreateInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO: return sizeof(VkPipelineMultisampleStateCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: return sizeof(VkPipelineRasterizationConservativeStateCreateInfoEXT);
        case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: return sizeof(VkPipelineRasterizationDepthClipStateCreateInfoEXT);
        case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: return sizeof(VkPipelineRasterizationLineStateCreateInfoEXT);
        case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO: return sizeof(VkPipelineRasterizationStateCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: return sizeof(VkPipelineRasterizationStateRasterizationOrderAMD);
        case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: return sizeof(VkPipelineRasterizationStateStreamCreateInfoEXT);
        case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: return sizeof(VkPipelineRepresentativeFragmentTestStateCreateInfoNV);
        case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: return sizeof(VkPipelineSampleLocationsStateCreateInfoEXT);
        case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO: return sizeof(VkPipelineShaderStageCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: return sizeof(VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT);
        case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: return sizeof(VkPipelineTessellationDomainOriginStateCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO: return sizeof(VkPipelineTessellationStateCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: return sizeof(VkPipelineVertexInputDivisorStateCreateInfoEXT);
        case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO: return sizeof(VkPipelineVertexInputStateCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: return sizeof(VkPipelineViewportCoarseSampleOrderStateCreateInfoNV);
        case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: return sizeof(VkPipelineViewportExclusiveScissorStateCreateInfoNV);
        case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: return sizeof(VkPipelineViewportShadingRateImageStateCreateInfoNV);
        case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO: return sizeof(VkPipelineViewportStateCreateInfo);
        case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: return sizeof(VkPipelineViewportSwizzleStateCreateInfoNV);
        case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: return sizeof(VkPipelineViewportWScalingStateCreateInfoNV);
    #ifdef VK_USE_PLATFORM_GGP
        case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: return sizeof(VkPresentFrameTokenGGP);
    #endif
        case VK_STRUCTURE_TYPE_PRESENT_INFO_KHR: return sizeof(VkPresentInfoKHR);
        case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: return sizeof(VkPresentRegionsKHR);
        case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: return sizeof(VkPresentTimesInfoGOOGLE);
        case VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT: return sizeof(VkPrivateDataSlotCreateInfoEXT);
        case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: return sizeof(VkProtectedSubmitInfo);
        case VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO: return sizeof(VkQueryPoolCreateInfo);
        case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: return sizeof(VkQueryPoolPerformanceCreateInfoKHR);
        case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: return sizeof(VkQueryPoolPerformanceQueryCreateInfoINTEL);
        case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: return sizeof(VkQueueFamilyCheckpointPropertiesNV);
        case VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2: return sizeof(VkQueueFamilyProperties2);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR: return sizeof(VkRayTracingPipelineCreateInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV: return sizeof(VkRayTracingPipelineCreateInfoNV);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR: return sizeof(VkRayTracingPipelineInterfaceCreateInfoKHR);
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR: return sizeof(VkRayTracingShaderGroupCreateInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV: return sizeof(VkRayTracingShaderGroupCreateInfoNV);
        case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: return sizeof(VkRenderPassAttachmentBeginInfo);
        case VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO: return sizeof(VkRenderPassBeginInfo);
        case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: return sizeof(VkRenderPassCreateInfo);
        case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: return sizeof(VkRenderPassCreateInfo2);
        case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
        case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: return sizeof(VkRenderPassInputAttachmentAspectCreateInfo);
        case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: return sizeof(VkRenderPassMultiviewCreateInfo);
        case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: return sizeof(VkRenderPassSampleLocationsBeginInfoEXT);
        case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: return sizeof(VkRenderPassTransformBeginInfoQCOM);
        case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR: return sizeof(VkResolveImageInfo2KHR);
        case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: return sizeof(VkSampleLocationsInfoEXT);
        case VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO: return sizeof(VkSamplerCreateInfo);
        case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: return sizeof(VkSamplerCustomBorderColorCreateInfoEXT);
        case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: return sizeof(VkSamplerReductionModeCreateInfo);
        case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: return sizeof(VkSamplerYcbcrConversionCreateInfo);
        case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: return sizeof(VkSamplerYcbcrConversionImageFormatProperties);
        case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: return sizeof(VkSamplerYcbcrConversionInfo);
        case VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO: return sizeof(VkSemaphoreCreateInfo);
        case VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR: return sizeof(VkSemaphoreGetFdInfoKHR);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR: return sizeof(VkSemaphoreGetWin32HandleInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO: return sizeof(VkSemaphoreSignalInfo);
        case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: return sizeof(VkSemaphoreTypeCreateInfo);
        case VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO: return sizeof(VkSemaphoreWaitInfo);
        case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: return sizeof(VkShaderModuleCreateInfo);
        case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: return sizeof(VkShaderModuleValidationCacheCreateInfoEXT);
        case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: return sizeof(VkSharedPresentSurfaceCapabilitiesKHR);
        case VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2: return sizeof(VkSparseImageFormatProperties2);
        case VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2: return sizeof(VkSparseImageMemoryRequirements2);
    #ifdef VK_USE_PLATFORM_GGP
        case VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP: return sizeof(VkStreamDescriptorSurfaceCreateInfoGGP);
    #endif
        case VK_STRUCTURE_TYPE_SUBMIT_INFO: return sizeof(VkSubmitInfo);
        case VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO: return sizeof(VkSubpassBeginInfo);
        case VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2: return sizeof(VkSubpassDependency2);
        case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2: return sizeof(VkSubpassDescription2);
        case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: return sizeof(VkSubpassDescriptionDepthStencilResolve);
        case VK_STRUCTURE_TYPE_SUBPASS_END_INFO: return sizeof(VkSubpassEndInfo);
        case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT: return sizeof(VkSurfaceCapabilities2EXT);
        case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR: return sizeof(VkSurfaceCapabilities2KHR);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: return sizeof(VkSurfaceCapabilitiesFullScreenExclusiveEXT);
    #endif
        case VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR: return sizeof(VkSurfaceFormat2KHR);
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: return sizeof(VkSurfaceFullScreenExclusiveInfoEXT);
    #endif
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: return sizeof(VkSurfaceFullScreenExclusiveWin32InfoEXT);
    #endif
        case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: return sizeof(VkSurfaceProtectedCapabilitiesKHR);
        case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: return sizeof(VkSwapchainCounterCreateInfoEXT);
        case VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: return sizeof(VkSwapchainCreateInfoKHR);
        case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: return sizeof(VkSwapchainDisplayNativeHdrCreateInfoAMD);
        case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: return sizeof(VkTextureLODGatherFormatPropertiesAMD);
        case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: return sizeof(VkTimelineSemaphoreSubmitInfo);
        case VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT: return sizeof(VkValidationCacheCreateInfoEXT);
        case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: return sizeof(VkValidationFeaturesEXT);
        case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: return sizeof(VkValidationFlagsEXT);
    #ifdef VK_USE_PLATFORM_VI_NN
        case VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN: return sizeof(VkViSurfaceCreateInfoNN);
    #endif
    #ifdef VK_USE_PLATFORM_WAYLAND_KHR
        case VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR: return sizeof(VkWaylandSurfaceCreateInfoKHR);
    #endif
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: return sizeof(VkWin32KeyedMutexAcquireReleaseInfoKHR);
    #endif
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: return sizeof(VkWin32KeyedMutexAcquireReleaseInfoNV);
    #endif
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        case VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR: return sizeof(VkWin32SurfaceCreateInfoKHR);
    #endif
        case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: return sizeof(VkWriteDescriptorSet);
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: return sizeof(VkWriteDescriptorSetAccelerationStructureKHR);
    #endif
        case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: return sizeof(VkWriteDescriptorSetInlineUniformBlockEXT);
    #ifdef VK_USE_PLATFORM_XCB_KHR
        case VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR: return sizeof(VkXcbSurfaceCreateInfoKHR);
    #endif
    #ifdef VK_USE_PLATFORM_XLIB_KHR
        case VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR: return sizeof(VkXlibSurfaceCreateInfoKHR);
    #endif
        }
        #pragma GCC diagnostic pop
        unreachable("Undefined struct type.");
    }

    void vk_load_instance_commands(VkInstance instance,
                                   PFN_vkGetInstanceProcAddr gpa,
                                   struct vk_instance_dispatch_table *table)
    {
        memset(table, 0, sizeof(*table));
        table->GetInstanceProcAddr = gpa;
    #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
        table->AcquireXlibDisplayEXT = (PFN_vkAcquireXlibDisplayEXT) gpa(instance, "vkAcquireXlibDisplayEXT");
    #endif
    #ifdef VK_USE_PLATFORM_ANDROID_KHR
        table->CreateAndroidSurfaceKHR = (PFN_vkCreateAndroidSurfaceKHR) gpa(instance, "vkCreateAndroidSurfaceKHR");
    #endif
        table->CreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT) gpa(instance, "vkCreateDebugReportCallbackEXT");
        table->CreateDebugUtilsMessengerEXT = (PFN_vkCreateDebugUtilsMessengerEXT) gpa(instance, "vkCreateDebugUtilsMessengerEXT");
        table->CreateDevice = (PFN_vkCreateDevice) gpa(instance, "vkCreateDevice");
    #ifdef VK_USE_PLATFORM_DIRECTFB_EXT
        table->CreateDirectFBSurfaceEXT = (PFN_vkCreateDirectFBSurfaceEXT) gpa(instance, "vkCreateDirectFBSurfaceEXT");
    #endif
        table->CreateDisplayModeKHR = (PFN_vkCreateDisplayModeKHR) gpa(instance, "vkCreateDisplayModeKHR");
        table->CreateDisplayPlaneSurfaceKHR = (PFN_vkCreateDisplayPlaneSurfaceKHR) gpa(instance, "vkCreateDisplayPlaneSurfaceKHR");
        table->CreateHeadlessSurfaceEXT = (PFN_vkCreateHeadlessSurfaceEXT) gpa(instance, "vkCreateHeadlessSurfaceEXT");
    #ifdef VK_USE_PLATFORM_IOS_MVK
        table->CreateIOSSurfaceMVK = (PFN_vkCreateIOSSurfaceMVK) gpa(instance, "vkCreateIOSSurfaceMVK");
    #endif
    #ifdef VK_USE_PLATFORM_FUCHSIA
        table->CreateImagePipeSurfaceFUCHSIA = (PFN_vkCreateImagePipeSurfaceFUCHSIA) gpa(instance, "vkCreateImagePipeSurfaceFUCHSIA");
    #endif
        table->CreateInstance = (PFN_vkCreateInstance) gpa(instance, "vkCreateInstance");
    #ifdef VK_USE_PLATFORM_MACOS_MVK
        table->CreateMacOSSurfaceMVK = (PFN_vkCreateMacOSSurfaceMVK) gpa(instance, "vkCreateMacOSSurfaceMVK");
    #endif
    #ifdef VK_USE_PLATFORM_METAL_EXT
        table->CreateMetalSurfaceEXT = (PFN_vkCreateMetalSurfaceEXT) gpa(instance, "vkCreateMetalSurfaceEXT");
    #endif
    #ifdef VK_USE_PLATFORM_GGP
        table->CreateStreamDescriptorSurfaceGGP = (PFN_vkCreateStreamDescriptorSurfaceGGP) gpa(instance, "vkCreateStreamDescriptorSurfaceGGP");
    #endif
    #ifdef VK_USE_PLATFORM_VI_NN
        table->CreateViSurfaceNN = (PFN_vkCreateViSurfaceNN) gpa(instance, "vkCreateViSurfaceNN");
    #endif
    #ifdef VK_USE_PLATFORM_WAYLAND_KHR
        table->CreateWaylandSurfaceKHR = (PFN_vkCreateWaylandSurfaceKHR) gpa(instance, "vkCreateWaylandSurfaceKHR");
    #endif
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->CreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR) gpa(instance, "vkCreateWin32SurfaceKHR");
    #endif
    #ifdef VK_USE_PLATFORM_XCB_KHR
        table->CreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR) gpa(instance, "vkCreateXcbSurfaceKHR");
    #endif
    #ifdef VK_USE_PLATFORM_XLIB_KHR
        table->CreateXlibSurfaceKHR = (PFN_vkCreateXlibSurfaceKHR) gpa(instance, "vkCreateXlibSurfaceKHR");
    #endif
        table->DebugReportMessageEXT = (PFN_vkDebugReportMessageEXT) gpa(instance, "vkDebugReportMessageEXT");
        table->DestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT) gpa(instance, "vkDestroyDebugReportCallbackEXT");
        table->DestroyDebugUtilsMessengerEXT = (PFN_vkDestroyDebugUtilsMessengerEXT) gpa(instance, "vkDestroyDebugUtilsMessengerEXT");
        table->DestroyInstance = (PFN_vkDestroyInstance) gpa(instance, "vkDestroyInstance");
        table->DestroySurfaceKHR = (PFN_vkDestroySurfaceKHR) gpa(instance, "vkDestroySurfaceKHR");
        table->EnumerateDeviceExtensionProperties = (PFN_vkEnumerateDeviceExtensionProperties) gpa(instance, "vkEnumerateDeviceExtensionProperties");
        table->EnumerateDeviceLayerProperties = (PFN_vkEnumerateDeviceLayerProperties) gpa(instance, "vkEnumerateDeviceLayerProperties");
        table->EnumerateInstanceExtensionProperties = (PFN_vkEnumerateInstanceExtensionProperties) gpa(instance, "vkEnumerateInstanceExtensionProperties");
        table->EnumerateInstanceLayerProperties = (PFN_vkEnumerateInstanceLayerProperties) gpa(instance, "vkEnumerateInstanceLayerProperties");
        table->EnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion) gpa(instance, "vkEnumerateInstanceVersion");
        table->EnumeratePhysicalDeviceGroups = (PFN_vkEnumeratePhysicalDeviceGroups) gpa(instance, "vkEnumeratePhysicalDeviceGroups");
        table->EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR) gpa(instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
        table->EnumeratePhysicalDevices = (PFN_vkEnumeratePhysicalDevices) gpa(instance, "vkEnumeratePhysicalDevices");
        table->GetDisplayModeProperties2KHR = (PFN_vkGetDisplayModeProperties2KHR) gpa(instance, "vkGetDisplayModeProperties2KHR");
        table->GetDisplayModePropertiesKHR = (PFN_vkGetDisplayModePropertiesKHR) gpa(instance, "vkGetDisplayModePropertiesKHR");
        table->GetDisplayPlaneCapabilities2KHR = (PFN_vkGetDisplayPlaneCapabilities2KHR) gpa(instance, "vkGetDisplayPlaneCapabilities2KHR");
        table->GetDisplayPlaneCapabilitiesKHR = (PFN_vkGetDisplayPlaneCapabilitiesKHR) gpa(instance, "vkGetDisplayPlaneCapabilitiesKHR");
        table->GetDisplayPlaneSupportedDisplaysKHR = (PFN_vkGetDisplayPlaneSupportedDisplaysKHR) gpa(instance, "vkGetDisplayPlaneSupportedDisplaysKHR");
        table->GetPhysicalDeviceCalibrateableTimeDomainsEXT = (PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT) gpa(instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT");
        table->GetPhysicalDeviceCooperativeMatrixPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV) gpa(instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV");
    #ifdef VK_USE_PLATFORM_DIRECTFB_EXT
        table->GetPhysicalDeviceDirectFBPresentationSupportEXT = (PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT) gpa(instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT");
    #endif
        table->GetPhysicalDeviceDisplayPlaneProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR) gpa(instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR");
        table->GetPhysicalDeviceDisplayPlanePropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR) gpa(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
        table->GetPhysicalDeviceDisplayProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayProperties2KHR) gpa(instance, "vkGetPhysicalDeviceDisplayProperties2KHR");
        table->GetPhysicalDeviceDisplayPropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPropertiesKHR) gpa(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR");
        table->GetPhysicalDeviceExternalBufferProperties = (PFN_vkGetPhysicalDeviceExternalBufferProperties) gpa(instance, "vkGetPhysicalDeviceExternalBufferProperties");
        table->GetPhysicalDeviceExternalFenceProperties = (PFN_vkGetPhysicalDeviceExternalFenceProperties) gpa(instance, "vkGetPhysicalDeviceExternalFenceProperties");
        table->GetPhysicalDeviceExternalImageFormatPropertiesNV = (PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV) gpa(instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV");
        table->GetPhysicalDeviceExternalSemaphoreProperties = (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties) gpa(instance, "vkGetPhysicalDeviceExternalSemaphoreProperties");
        table->GetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures) gpa(instance, "vkGetPhysicalDeviceFeatures");
        table->GetPhysicalDeviceFeatures2 = (PFN_vkGetPhysicalDeviceFeatures2) gpa(instance, "vkGetPhysicalDeviceFeatures2");
        table->GetPhysicalDeviceFormatProperties = (PFN_vkGetPhysicalDeviceFormatProperties) gpa(instance, "vkGetPhysicalDeviceFormatProperties");
        table->GetPhysicalDeviceFormatProperties2 = (PFN_vkGetPhysicalDeviceFormatProperties2) gpa(instance, "vkGetPhysicalDeviceFormatProperties2");
        table->GetPhysicalDeviceFragmentShadingRatesKHR = (PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR) gpa(instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR");
        table->GetPhysicalDeviceImageFormatProperties = (PFN_vkGetPhysicalDeviceImageFormatProperties) gpa(instance, "vkGetPhysicalDeviceImageFormatProperties");
        table->GetPhysicalDeviceImageFormatProperties2 = (PFN_vkGetPhysicalDeviceImageFormatProperties2) gpa(instance, "vkGetPhysicalDeviceImageFormatProperties2");
        table->GetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties) gpa(instance, "vkGetPhysicalDeviceMemoryProperties");
        table->GetPhysicalDeviceMemoryProperties2 = (PFN_vkGetPhysicalDeviceMemoryProperties2) gpa(instance, "vkGetPhysicalDeviceMemoryProperties2");
        table->GetPhysicalDeviceMultisamplePropertiesEXT = (PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT) gpa(instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT");
        table->GetPhysicalDevicePresentRectanglesKHR = (PFN_vkGetPhysicalDevicePresentRectanglesKHR) gpa(instance, "vkGetPhysicalDevicePresentRectanglesKHR");
        table->GetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties) gpa(instance, "vkGetPhysicalDeviceProperties");
        table->GetPhysicalDeviceProperties2 = (PFN_vkGetPhysicalDeviceProperties2) gpa(instance, "vkGetPhysicalDeviceProperties2");
        table->GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = (PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR) gpa(instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
        table->GetPhysicalDeviceQueueFamilyProperties = (PFN_vkGetPhysicalDeviceQueueFamilyProperties) gpa(instance, "vkGetPhysicalDeviceQueueFamilyProperties");
        table->GetPhysicalDeviceQueueFamilyProperties2 = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2) gpa(instance, "vkGetPhysicalDeviceQueueFamilyProperties2");
        table->GetPhysicalDeviceSparseImageFormatProperties = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties) gpa(instance, "vkGetPhysicalDeviceSparseImageFormatProperties");
        table->GetPhysicalDeviceSparseImageFormatProperties2 = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2) gpa(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2");
        table->GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = (PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV) gpa(instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV");
        table->GetPhysicalDeviceSurfaceCapabilities2EXT = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT) gpa(instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT");
        table->GetPhysicalDeviceSurfaceCapabilities2KHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR) gpa(instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR");
        table->GetPhysicalDeviceSurfaceCapabilitiesKHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
        table->GetPhysicalDeviceSurfaceFormats2KHR = (PFN_vkGetPhysicalDeviceSurfaceFormats2KHR) gpa(instance, "vkGetPhysicalDeviceSurfaceFormats2KHR");
        table->GetPhysicalDeviceSurfaceFormatsKHR = (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR");
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->GetPhysicalDeviceSurfacePresentModes2EXT = (PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT) gpa(instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT");
    #endif
        table->GetPhysicalDeviceSurfacePresentModesKHR = (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR) gpa(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR");
        table->GetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceSupportKHR");
        table->GetPhysicalDeviceToolPropertiesEXT = (PFN_vkGetPhysicalDeviceToolPropertiesEXT) gpa(instance, "vkGetPhysicalDeviceToolPropertiesEXT");
    #ifdef VK_USE_PLATFORM_WAYLAND_KHR
        table->GetPhysicalDeviceWaylandPresentationSupportKHR = (PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR");
    #endif
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->GetPhysicalDeviceWin32PresentationSupportKHR = (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
    #endif
    #ifdef VK_USE_PLATFORM_XCB_KHR
        table->GetPhysicalDeviceXcbPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
    #endif
    #ifdef VK_USE_PLATFORM_XLIB_KHR
        table->GetPhysicalDeviceXlibPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR");
    #endif
    #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
        table->GetRandROutputDisplayEXT = (PFN_vkGetRandROutputDisplayEXT) gpa(instance, "vkGetRandROutputDisplayEXT");
    #endif
        table->ReleaseDisplayEXT = (PFN_vkReleaseDisplayEXT) gpa(instance, "vkReleaseDisplayEXT");
        table->SubmitDebugUtilsMessageEXT = (PFN_vkSubmitDebugUtilsMessageEXT) gpa(instance, "vkSubmitDebugUtilsMessageEXT");
    }

    void vk_load_device_commands(VkDevice device,
                                 PFN_vkGetDeviceProcAddr gpa,
                                 struct vk_device_dispatch_table *table)
    {
        memset(table, 0, sizeof(*table));
        table->GetDeviceProcAddr = gpa;
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->AcquireFullScreenExclusiveModeEXT = (PFN_vkAcquireFullScreenExclusiveModeEXT) gpa(device, "vkAcquireFullScreenExclusiveModeEXT");
    #endif
        table->AcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR) gpa(device, "vkAcquireNextImage2KHR");
        table->AcquireNextImageKHR = (PFN_vkAcquireNextImageKHR) gpa(device, "vkAcquireNextImageKHR");
        table->AcquirePerformanceConfigurationINTEL = (PFN_vkAcquirePerformanceConfigurationINTEL) gpa(device, "vkAcquirePerformanceConfigurationINTEL");
        table->AcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR) gpa(device, "vkAcquireProfilingLockKHR");
        table->AllocateCommandBuffers = (PFN_vkAllocateCommandBuffers) gpa(device, "vkAllocateCommandBuffers");
        table->AllocateDescriptorSets = (PFN_vkAllocateDescriptorSets) gpa(device, "vkAllocateDescriptorSets");
        table->AllocateMemory = (PFN_vkAllocateMemory) gpa(device, "vkAllocateMemory");
        table->BeginCommandBuffer = (PFN_vkBeginCommandBuffer) gpa(device, "vkBeginCommandBuffer");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->BindAccelerationStructureMemoryKHR = (PFN_vkBindAccelerationStructureMemoryKHR) gpa(device, "vkBindAccelerationStructureMemoryKHR");
    #endif
        table->BindBufferMemory = (PFN_vkBindBufferMemory) gpa(device, "vkBindBufferMemory");
        table->BindBufferMemory2 = (PFN_vkBindBufferMemory2) gpa(device, "vkBindBufferMemory2");
        table->BindImageMemory = (PFN_vkBindImageMemory) gpa(device, "vkBindImageMemory");
        table->BindImageMemory2 = (PFN_vkBindImageMemory2) gpa(device, "vkBindImageMemory2");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->BuildAccelerationStructureKHR = (PFN_vkBuildAccelerationStructureKHR) gpa(device, "vkBuildAccelerationStructureKHR");
    #endif
        table->CmdBeginConditionalRenderingEXT = (PFN_vkCmdBeginConditionalRenderingEXT) gpa(device, "vkCmdBeginConditionalRenderingEXT");
        table->CmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT) gpa(device, "vkCmdBeginDebugUtilsLabelEXT");
        table->CmdBeginQuery = (PFN_vkCmdBeginQuery) gpa(device, "vkCmdBeginQuery");
        table->CmdBeginQueryIndexedEXT = (PFN_vkCmdBeginQueryIndexedEXT) gpa(device, "vkCmdBeginQueryIndexedEXT");
        table->CmdBeginRenderPass = (PFN_vkCmdBeginRenderPass) gpa(device, "vkCmdBeginRenderPass");
        table->CmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2) gpa(device, "vkCmdBeginRenderPass2");
        table->CmdBeginTransformFeedbackEXT = (PFN_vkCmdBeginTransformFeedbackEXT) gpa(device, "vkCmdBeginTransformFeedbackEXT");
        table->CmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets) gpa(device, "vkCmdBindDescriptorSets");
        table->CmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer) gpa(device, "vkCmdBindIndexBuffer");
        table->CmdBindPipeline = (PFN_vkCmdBindPipeline) gpa(device, "vkCmdBindPipeline");
        table->CmdBindPipelineShaderGroupNV = (PFN_vkCmdBindPipelineShaderGroupNV) gpa(device, "vkCmdBindPipelineShaderGroupNV");
        table->CmdBindShadingRateImageNV = (PFN_vkCmdBindShadingRateImageNV) gpa(device, "vkCmdBindShadingRateImageNV");
        table->CmdBindTransformFeedbackBuffersEXT = (PFN_vkCmdBindTransformFeedbackBuffersEXT) gpa(device, "vkCmdBindTransformFeedbackBuffersEXT");
        table->CmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers) gpa(device, "vkCmdBindVertexBuffers");
        table->CmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT) gpa(device, "vkCmdBindVertexBuffers2EXT");
        table->CmdBlitImage = (PFN_vkCmdBlitImage) gpa(device, "vkCmdBlitImage");
        table->CmdBlitImage2KHR = (PFN_vkCmdBlitImage2KHR) gpa(device, "vkCmdBlitImage2KHR");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CmdBuildAccelerationStructureIndirectKHR = (PFN_vkCmdBuildAccelerationStructureIndirectKHR) gpa(device, "vkCmdBuildAccelerationStructureIndirectKHR");
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CmdBuildAccelerationStructureKHR = (PFN_vkCmdBuildAccelerationStructureKHR) gpa(device, "vkCmdBuildAccelerationStructureKHR");
    #endif
        table->CmdBuildAccelerationStructureNV = (PFN_vkCmdBuildAccelerationStructureNV) gpa(device, "vkCmdBuildAccelerationStructureNV");
        table->CmdClearAttachments = (PFN_vkCmdClearAttachments) gpa(device, "vkCmdClearAttachments");
        table->CmdClearColorImage = (PFN_vkCmdClearColorImage) gpa(device, "vkCmdClearColorImage");
        table->CmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage) gpa(device, "vkCmdClearDepthStencilImage");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CmdCopyAccelerationStructureKHR = (PFN_vkCmdCopyAccelerationStructureKHR) gpa(device, "vkCmdCopyAccelerationStructureKHR");
    #endif
        table->CmdCopyAccelerationStructureNV = (PFN_vkCmdCopyAccelerationStructureNV) gpa(device, "vkCmdCopyAccelerationStructureNV");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CmdCopyAccelerationStructureToMemoryKHR = (PFN_vkCmdCopyAccelerationStructureToMemoryKHR) gpa(device, "vkCmdCopyAccelerationStructureToMemoryKHR");
    #endif
        table->CmdCopyBuffer = (PFN_vkCmdCopyBuffer) gpa(device, "vkCmdCopyBuffer");
        table->CmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR) gpa(device, "vkCmdCopyBuffer2KHR");
        table->CmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage) gpa(device, "vkCmdCopyBufferToImage");
        table->CmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR) gpa(device, "vkCmdCopyBufferToImage2KHR");
        table->CmdCopyImage = (PFN_vkCmdCopyImage) gpa(device, "vkCmdCopyImage");
        table->CmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR) gpa(device, "vkCmdCopyImage2KHR");
        table->CmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer) gpa(device, "vkCmdCopyImageToBuffer");
        table->CmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR) gpa(device, "vkCmdCopyImageToBuffer2KHR");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CmdCopyMemoryToAccelerationStructureKHR = (PFN_vkCmdCopyMemoryToAccelerationStructureKHR) gpa(device, "vkCmdCopyMemoryToAccelerationStructureKHR");
    #endif
        table->CmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults) gpa(device, "vkCmdCopyQueryPoolResults");
        table->CmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT) gpa(device, "vkCmdDebugMarkerBeginEXT");
        table->CmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT) gpa(device, "vkCmdDebugMarkerEndEXT");
        table->CmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT) gpa(device, "vkCmdDebugMarkerInsertEXT");
        table->CmdDispatch = (PFN_vkCmdDispatch) gpa(device, "vkCmdDispatch");
        table->CmdDispatchBase = (PFN_vkCmdDispatchBase) gpa(device, "vkCmdDispatchBase");
        table->CmdDispatchIndirect = (PFN_vkCmdDispatchIndirect) gpa(device, "vkCmdDispatchIndirect");
        table->CmdDraw = (PFN_vkCmdDraw) gpa(device, "vkCmdDraw");
        table->CmdDrawIndexed = (PFN_vkCmdDrawIndexed) gpa(device, "vkCmdDrawIndexed");
        table->CmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect) gpa(device, "vkCmdDrawIndexedIndirect");
        table->CmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount) gpa(device, "vkCmdDrawIndexedIndirectCount");
        table->CmdDrawIndirect = (PFN_vkCmdDrawIndirect) gpa(device, "vkCmdDrawIndirect");
        table->CmdDrawIndirectByteCountEXT = (PFN_vkCmdDrawIndirectByteCountEXT) gpa(device, "vkCmdDrawIndirectByteCountEXT");
        table->CmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount) gpa(device, "vkCmdDrawIndirectCount");
        table->CmdDrawMeshTasksIndirectCountNV = (PFN_vkCmdDrawMeshTasksIndirectCountNV) gpa(device, "vkCmdDrawMeshTasksIndirectCountNV");
        table->CmdDrawMeshTasksIndirectNV = (PFN_vkCmdDrawMeshTasksIndirectNV) gpa(device, "vkCmdDrawMeshTasksIndirectNV");
        table->CmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV) gpa(device, "vkCmdDrawMeshTasksNV");
        table->CmdEndConditionalRenderingEXT = (PFN_vkCmdEndConditionalRenderingEXT) gpa(device, "vkCmdEndConditionalRenderingEXT");
        table->CmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT) gpa(device, "vkCmdEndDebugUtilsLabelEXT");
        table->CmdEndQuery = (PFN_vkCmdEndQuery) gpa(device, "vkCmdEndQuery");
        table->CmdEndQueryIndexedEXT = (PFN_vkCmdEndQueryIndexedEXT) gpa(device, "vkCmdEndQueryIndexedEXT");
        table->CmdEndRenderPass = (PFN_vkCmdEndRenderPass) gpa(device, "vkCmdEndRenderPass");
        table->CmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2) gpa(device, "vkCmdEndRenderPass2");
        table->CmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT) gpa(device, "vkCmdEndTransformFeedbackEXT");
        table->CmdExecuteCommands = (PFN_vkCmdExecuteCommands) gpa(device, "vkCmdExecuteCommands");
        table->CmdExecuteGeneratedCommandsNV = (PFN_vkCmdExecuteGeneratedCommandsNV) gpa(device, "vkCmdExecuteGeneratedCommandsNV");
        table->CmdFillBuffer = (PFN_vkCmdFillBuffer) gpa(device, "vkCmdFillBuffer");
        table->CmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT) gpa(device, "vkCmdInsertDebugUtilsLabelEXT");
        table->CmdNextSubpass = (PFN_vkCmdNextSubpass) gpa(device, "vkCmdNextSubpass");
        table->CmdNextSubpass2 = (PFN_vkCmdNextSubpass2) gpa(device, "vkCmdNextSubpass2");
        table->CmdPipelineBarrier = (PFN_vkCmdPipelineBarrier) gpa(device, "vkCmdPipelineBarrier");
        table->CmdPreprocessGeneratedCommandsNV = (PFN_vkCmdPreprocessGeneratedCommandsNV) gpa(device, "vkCmdPreprocessGeneratedCommandsNV");
        table->CmdPushConstants = (PFN_vkCmdPushConstants) gpa(device, "vkCmdPushConstants");
        table->CmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR) gpa(device, "vkCmdPushDescriptorSetKHR");
        table->CmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR) gpa(device, "vkCmdPushDescriptorSetWithTemplateKHR");
        table->CmdResetEvent = (PFN_vkCmdResetEvent) gpa(device, "vkCmdResetEvent");
        table->CmdResetQueryPool = (PFN_vkCmdResetQueryPool) gpa(device, "vkCmdResetQueryPool");
        table->CmdResolveImage = (PFN_vkCmdResolveImage) gpa(device, "vkCmdResolveImage");
        table->CmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR) gpa(device, "vkCmdResolveImage2KHR");
        table->CmdSetBlendConstants = (PFN_vkCmdSetBlendConstants) gpa(device, "vkCmdSetBlendConstants");
        table->CmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV) gpa(device, "vkCmdSetCheckpointNV");
        table->CmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV) gpa(device, "vkCmdSetCoarseSampleOrderNV");
        table->CmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT) gpa(device, "vkCmdSetCullModeEXT");
        table->CmdSetDepthBias = (PFN_vkCmdSetDepthBias) gpa(device, "vkCmdSetDepthBias");
        table->CmdSetDepthBounds = (PFN_vkCmdSetDepthBounds) gpa(device, "vkCmdSetDepthBounds");
        table->CmdSetDepthBoundsTestEnableEXT = (PFN_vkCmdSetDepthBoundsTestEnableEXT) gpa(device, "vkCmdSetDepthBoundsTestEnableEXT");
        table->CmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT) gpa(device, "vkCmdSetDepthCompareOpEXT");
        table->CmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT) gpa(device, "vkCmdSetDepthTestEnableEXT");
        table->CmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT) gpa(device, "vkCmdSetDepthWriteEnableEXT");
        table->CmdSetDeviceMask = (PFN_vkCmdSetDeviceMask) gpa(device, "vkCmdSetDeviceMask");
        table->CmdSetDiscardRectangleEXT = (PFN_vkCmdSetDiscardRectangleEXT) gpa(device, "vkCmdSetDiscardRectangleEXT");
        table->CmdSetEvent = (PFN_vkCmdSetEvent) gpa(device, "vkCmdSetEvent");
        table->CmdSetExclusiveScissorNV = (PFN_vkCmdSetExclusiveScissorNV) gpa(device, "vkCmdSetExclusiveScissorNV");
        table->CmdSetFragmentShadingRateKHR = (PFN_vkCmdSetFragmentShadingRateKHR) gpa(device, "vkCmdSetFragmentShadingRateKHR");
        table->CmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT) gpa(device, "vkCmdSetFrontFaceEXT");
        table->CmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT) gpa(device, "vkCmdSetLineStippleEXT");
        table->CmdSetLineWidth = (PFN_vkCmdSetLineWidth) gpa(device, "vkCmdSetLineWidth");
        table->CmdSetPerformanceMarkerINTEL = (PFN_vkCmdSetPerformanceMarkerINTEL) gpa(device, "vkCmdSetPerformanceMarkerINTEL");
        table->CmdSetPerformanceOverrideINTEL = (PFN_vkCmdSetPerformanceOverrideINTEL) gpa(device, "vkCmdSetPerformanceOverrideINTEL");
        table->CmdSetPerformanceStreamMarkerINTEL = (PFN_vkCmdSetPerformanceStreamMarkerINTEL) gpa(device, "vkCmdSetPerformanceStreamMarkerINTEL");
        table->CmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT) gpa(device, "vkCmdSetPrimitiveTopologyEXT");
        table->CmdSetSampleLocationsEXT = (PFN_vkCmdSetSampleLocationsEXT) gpa(device, "vkCmdSetSampleLocationsEXT");
        table->CmdSetScissor = (PFN_vkCmdSetScissor) gpa(device, "vkCmdSetScissor");
        table->CmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT) gpa(device, "vkCmdSetScissorWithCountEXT");
        table->CmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask) gpa(device, "vkCmdSetStencilCompareMask");
        table->CmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT) gpa(device, "vkCmdSetStencilOpEXT");
        table->CmdSetStencilReference = (PFN_vkCmdSetStencilReference) gpa(device, "vkCmdSetStencilReference");
        table->CmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT) gpa(device, "vkCmdSetStencilTestEnableEXT");
        table->CmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask) gpa(device, "vkCmdSetStencilWriteMask");
        table->CmdSetViewport = (PFN_vkCmdSetViewport) gpa(device, "vkCmdSetViewport");
        table->CmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV) gpa(device, "vkCmdSetViewportShadingRatePaletteNV");
        table->CmdSetViewportWScalingNV = (PFN_vkCmdSetViewportWScalingNV) gpa(device, "vkCmdSetViewportWScalingNV");
        table->CmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT) gpa(device, "vkCmdSetViewportWithCountEXT");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CmdTraceRaysIndirectKHR = (PFN_vkCmdTraceRaysIndirectKHR) gpa(device, "vkCmdTraceRaysIndirectKHR");
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CmdTraceRaysKHR = (PFN_vkCmdTraceRaysKHR) gpa(device, "vkCmdTraceRaysKHR");
    #endif
        table->CmdTraceRaysNV = (PFN_vkCmdTraceRaysNV) gpa(device, "vkCmdTraceRaysNV");
        table->CmdUpdateBuffer = (PFN_vkCmdUpdateBuffer) gpa(device, "vkCmdUpdateBuffer");
        table->CmdWaitEvents = (PFN_vkCmdWaitEvents) gpa(device, "vkCmdWaitEvents");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CmdWriteAccelerationStructuresPropertiesKHR = (PFN_vkCmdWriteAccelerationStructuresPropertiesKHR) gpa(device, "vkCmdWriteAccelerationStructuresPropertiesKHR");
    #endif
        table->CmdWriteBufferMarkerAMD = (PFN_vkCmdWriteBufferMarkerAMD) gpa(device, "vkCmdWriteBufferMarkerAMD");
        table->CmdWriteTimestamp = (PFN_vkCmdWriteTimestamp) gpa(device, "vkCmdWriteTimestamp");
        table->CompileDeferredNV = (PFN_vkCompileDeferredNV) gpa(device, "vkCompileDeferredNV");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CopyAccelerationStructureKHR = (PFN_vkCopyAccelerationStructureKHR) gpa(device, "vkCopyAccelerationStructureKHR");
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CopyAccelerationStructureToMemoryKHR = (PFN_vkCopyAccelerationStructureToMemoryKHR) gpa(device, "vkCopyAccelerationStructureToMemoryKHR");
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CopyMemoryToAccelerationStructureKHR = (PFN_vkCopyMemoryToAccelerationStructureKHR) gpa(device, "vkCopyMemoryToAccelerationStructureKHR");
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR) gpa(device, "vkCreateAccelerationStructureKHR");
    #endif
        table->CreateAccelerationStructureNV = (PFN_vkCreateAccelerationStructureNV) gpa(device, "vkCreateAccelerationStructureNV");
        table->CreateBuffer = (PFN_vkCreateBuffer) gpa(device, "vkCreateBuffer");
        table->CreateBufferView = (PFN_vkCreateBufferView) gpa(device, "vkCreateBufferView");
        table->CreateCommandPool = (PFN_vkCreateCommandPool) gpa(device, "vkCreateCommandPool");
        table->CreateComputePipelines = (PFN_vkCreateComputePipelines) gpa(device, "vkCreateComputePipelines");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CreateDeferredOperationKHR = (PFN_vkCreateDeferredOperationKHR) gpa(device, "vkCreateDeferredOperationKHR");
    #endif
        table->CreateDescriptorPool = (PFN_vkCreateDescriptorPool) gpa(device, "vkCreateDescriptorPool");
        table->CreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout) gpa(device, "vkCreateDescriptorSetLayout");
        table->CreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate) gpa(device, "vkCreateDescriptorUpdateTemplate");
        table->CreateEvent = (PFN_vkCreateEvent) gpa(device, "vkCreateEvent");
        table->CreateFence = (PFN_vkCreateFence) gpa(device, "vkCreateFence");
        table->CreateFramebuffer = (PFN_vkCreateFramebuffer) gpa(device, "vkCreateFramebuffer");
        table->CreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines) gpa(device, "vkCreateGraphicsPipelines");
        table->CreateImage = (PFN_vkCreateImage) gpa(device, "vkCreateImage");
        table->CreateImageView = (PFN_vkCreateImageView) gpa(device, "vkCreateImageView");
        table->CreateIndirectCommandsLayoutNV = (PFN_vkCreateIndirectCommandsLayoutNV) gpa(device, "vkCreateIndirectCommandsLayoutNV");
        table->CreatePipelineCache = (PFN_vkCreatePipelineCache) gpa(device, "vkCreatePipelineCache");
        table->CreatePipelineLayout = (PFN_vkCreatePipelineLayout) gpa(device, "vkCreatePipelineLayout");
        table->CreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT) gpa(device, "vkCreatePrivateDataSlotEXT");
        table->CreateQueryPool = (PFN_vkCreateQueryPool) gpa(device, "vkCreateQueryPool");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->CreateRayTracingPipelinesKHR = (PFN_vkCreateRayTracingPipelinesKHR) gpa(device, "vkCreateRayTracingPipelinesKHR");
    #endif
        table->CreateRayTracingPipelinesNV = (PFN_vkCreateRayTracingPipelinesNV) gpa(device, "vkCreateRayTracingPipelinesNV");
        table->CreateRenderPass = (PFN_vkCreateRenderPass) gpa(device, "vkCreateRenderPass");
        table->CreateRenderPass2 = (PFN_vkCreateRenderPass2) gpa(device, "vkCreateRenderPass2");
        table->CreateSampler = (PFN_vkCreateSampler) gpa(device, "vkCreateSampler");
        table->CreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion) gpa(device, "vkCreateSamplerYcbcrConversion");
        table->CreateSemaphore = (PFN_vkCreateSemaphore) gpa(device, "vkCreateSemaphore");
        table->CreateShaderModule = (PFN_vkCreateShaderModule) gpa(device, "vkCreateShaderModule");
        table->CreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR) gpa(device, "vkCreateSharedSwapchainsKHR");
        table->CreateSwapchainKHR = (PFN_vkCreateSwapchainKHR) gpa(device, "vkCreateSwapchainKHR");
        table->CreateValidationCacheEXT = (PFN_vkCreateValidationCacheEXT) gpa(device, "vkCreateValidationCacheEXT");
        table->DebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT) gpa(device, "vkDebugMarkerSetObjectNameEXT");
        table->DebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT) gpa(device, "vkDebugMarkerSetObjectTagEXT");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->DeferredOperationJoinKHR = (PFN_vkDeferredOperationJoinKHR) gpa(device, "vkDeferredOperationJoinKHR");
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->DestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR) gpa(device, "vkDestroyAccelerationStructureKHR");
    #endif
        table->DestroyBuffer = (PFN_vkDestroyBuffer) gpa(device, "vkDestroyBuffer");
        table->DestroyBufferView = (PFN_vkDestroyBufferView) gpa(device, "vkDestroyBufferView");
        table->DestroyCommandPool = (PFN_vkDestroyCommandPool) gpa(device, "vkDestroyCommandPool");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->DestroyDeferredOperationKHR = (PFN_vkDestroyDeferredOperationKHR) gpa(device, "vkDestroyDeferredOperationKHR");
    #endif
        table->DestroyDescriptorPool = (PFN_vkDestroyDescriptorPool) gpa(device, "vkDestroyDescriptorPool");
        table->DestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout) gpa(device, "vkDestroyDescriptorSetLayout");
        table->DestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate) gpa(device, "vkDestroyDescriptorUpdateTemplate");
        table->DestroyDevice = (PFN_vkDestroyDevice) gpa(device, "vkDestroyDevice");
        table->DestroyEvent = (PFN_vkDestroyEvent) gpa(device, "vkDestroyEvent");
        table->DestroyFence = (PFN_vkDestroyFence) gpa(device, "vkDestroyFence");
        table->DestroyFramebuffer = (PFN_vkDestroyFramebuffer) gpa(device, "vkDestroyFramebuffer");
        table->DestroyImage = (PFN_vkDestroyImage) gpa(device, "vkDestroyImage");
        table->DestroyImageView = (PFN_vkDestroyImageView) gpa(device, "vkDestroyImageView");
        table->DestroyIndirectCommandsLayoutNV = (PFN_vkDestroyIndirectCommandsLayoutNV) gpa(device, "vkDestroyIndirectCommandsLayoutNV");
        table->DestroyPipeline = (PFN_vkDestroyPipeline) gpa(device, "vkDestroyPipeline");
        table->DestroyPipelineCache = (PFN_vkDestroyPipelineCache) gpa(device, "vkDestroyPipelineCache");
        table->DestroyPipelineLayout = (PFN_vkDestroyPipelineLayout) gpa(device, "vkDestroyPipelineLayout");
        table->DestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT) gpa(device, "vkDestroyPrivateDataSlotEXT");
        table->DestroyQueryPool = (PFN_vkDestroyQueryPool) gpa(device, "vkDestroyQueryPool");
        table->DestroyRenderPass = (PFN_vkDestroyRenderPass) gpa(device, "vkDestroyRenderPass");
        table->DestroySampler = (PFN_vkDestroySampler) gpa(device, "vkDestroySampler");
        table->DestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion) gpa(device, "vkDestroySamplerYcbcrConversion");
        table->DestroySemaphore = (PFN_vkDestroySemaphore) gpa(device, "vkDestroySemaphore");
        table->DestroyShaderModule = (PFN_vkDestroyShaderModule) gpa(device, "vkDestroyShaderModule");
        table->DestroySwapchainKHR = (PFN_vkDestroySwapchainKHR) gpa(device, "vkDestroySwapchainKHR");
        table->DestroyValidationCacheEXT = (PFN_vkDestroyValidationCacheEXT) gpa(device, "vkDestroyValidationCacheEXT");
        table->DeviceWaitIdle = (PFN_vkDeviceWaitIdle) gpa(device, "vkDeviceWaitIdle");
        table->DisplayPowerControlEXT = (PFN_vkDisplayPowerControlEXT) gpa(device, "vkDisplayPowerControlEXT");
        table->EndCommandBuffer = (PFN_vkEndCommandBuffer) gpa(device, "vkEndCommandBuffer");
        table->FlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges) gpa(device, "vkFlushMappedMemoryRanges");
        table->FreeCommandBuffers = (PFN_vkFreeCommandBuffers) gpa(device, "vkFreeCommandBuffers");
        table->FreeDescriptorSets = (PFN_vkFreeDescriptorSets) gpa(device, "vkFreeDescriptorSets");
        table->FreeMemory = (PFN_vkFreeMemory) gpa(device, "vkFreeMemory");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->GetAccelerationStructureDeviceAddressKHR = (PFN_vkGetAccelerationStructureDeviceAddressKHR) gpa(device, "vkGetAccelerationStructureDeviceAddressKHR");
    #endif
        table->GetAccelerationStructureHandleNV = (PFN_vkGetAccelerationStructureHandleNV) gpa(device, "vkGetAccelerationStructureHandleNV");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->GetAccelerationStructureMemoryRequirementsKHR = (PFN_vkGetAccelerationStructureMemoryRequirementsKHR) gpa(device, "vkGetAccelerationStructureMemoryRequirementsKHR");
    #endif
        table->GetAccelerationStructureMemoryRequirementsNV = (PFN_vkGetAccelerationStructureMemoryRequirementsNV) gpa(device, "vkGetAccelerationStructureMemoryRequirementsNV");
        table->GetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress) gpa(device, "vkGetBufferDeviceAddress");
        table->GetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements) gpa(device, "vkGetBufferMemoryRequirements");
        table->GetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2) gpa(device, "vkGetBufferMemoryRequirements2");
        table->GetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress) gpa(device, "vkGetBufferOpaqueCaptureAddress");
        table->GetCalibratedTimestampsEXT = (PFN_vkGetCalibratedTimestampsEXT) gpa(device, "vkGetCalibratedTimestampsEXT");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->GetDeferredOperationMaxConcurrencyKHR = (PFN_vkGetDeferredOperationMaxConcurrencyKHR) gpa(device, "vkGetDeferredOperationMaxConcurrencyKHR");
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->GetDeferredOperationResultKHR = (PFN_vkGetDeferredOperationResultKHR) gpa(device, "vkGetDeferredOperationResultKHR");
    #endif
        table->GetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport) gpa(device, "vkGetDescriptorSetLayoutSupport");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->GetDeviceAccelerationStructureCompatibilityKHR = (PFN_vkGetDeviceAccelerationStructureCompatibilityKHR) gpa(device, "vkGetDeviceAccelerationStructureCompatibilityKHR");
    #endif
        table->GetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures) gpa(device, "vkGetDeviceGroupPeerMemoryFeatures");
        table->GetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR) gpa(device, "vkGetDeviceGroupPresentCapabilitiesKHR");
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->GetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT) gpa(device, "vkGetDeviceGroupSurfacePresentModes2EXT");
    #endif
        table->GetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR) gpa(device, "vkGetDeviceGroupSurfacePresentModesKHR");
        table->GetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment) gpa(device, "vkGetDeviceMemoryCommitment");
        table->GetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress) gpa(device, "vkGetDeviceMemoryOpaqueCaptureAddress");
        table->GetDeviceQueue = (PFN_vkGetDeviceQueue) gpa(device, "vkGetDeviceQueue");
        table->GetDeviceQueue2 = (PFN_vkGetDeviceQueue2) gpa(device, "vkGetDeviceQueue2");
        table->GetEventStatus = (PFN_vkGetEventStatus) gpa(device, "vkGetEventStatus");
        table->GetFenceFdKHR = (PFN_vkGetFenceFdKHR) gpa(device, "vkGetFenceFdKHR");
        table->GetFenceStatus = (PFN_vkGetFenceStatus) gpa(device, "vkGetFenceStatus");
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->GetFenceWin32HandleKHR = (PFN_vkGetFenceWin32HandleKHR) gpa(device, "vkGetFenceWin32HandleKHR");
    #endif
        table->GetGeneratedCommandsMemoryRequirementsNV = (PFN_vkGetGeneratedCommandsMemoryRequirementsNV) gpa(device, "vkGetGeneratedCommandsMemoryRequirementsNV");
        table->GetImageDrmFormatModifierPropertiesEXT = (PFN_vkGetImageDrmFormatModifierPropertiesEXT) gpa(device, "vkGetImageDrmFormatModifierPropertiesEXT");
        table->GetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements) gpa(device, "vkGetImageMemoryRequirements");
        table->GetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2) gpa(device, "vkGetImageMemoryRequirements2");
        table->GetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements) gpa(device, "vkGetImageSparseMemoryRequirements");
        table->GetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2) gpa(device, "vkGetImageSparseMemoryRequirements2");
        table->GetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout) gpa(device, "vkGetImageSubresourceLayout");
        table->GetImageViewAddressNVX = (PFN_vkGetImageViewAddressNVX) gpa(device, "vkGetImageViewAddressNVX");
        table->GetImageViewHandleNVX = (PFN_vkGetImageViewHandleNVX) gpa(device, "vkGetImageViewHandleNVX");
        table->GetMemoryFdKHR = (PFN_vkGetMemoryFdKHR) gpa(device, "vkGetMemoryFdKHR");
        table->GetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR) gpa(device, "vkGetMemoryFdPropertiesKHR");
        table->GetMemoryHostPointerPropertiesEXT = (PFN_vkGetMemoryHostPointerPropertiesEXT) gpa(device, "vkGetMemoryHostPointerPropertiesEXT");
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->GetMemoryWin32HandleKHR = (PFN_vkGetMemoryWin32HandleKHR) gpa(device, "vkGetMemoryWin32HandleKHR");
    #endif
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->GetMemoryWin32HandleNV = (PFN_vkGetMemoryWin32HandleNV) gpa(device, "vkGetMemoryWin32HandleNV");
    #endif
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->GetMemoryWin32HandlePropertiesKHR = (PFN_vkGetMemoryWin32HandlePropertiesKHR) gpa(device, "vkGetMemoryWin32HandlePropertiesKHR");
    #endif
        table->GetPastPresentationTimingGOOGLE = (PFN_vkGetPastPresentationTimingGOOGLE) gpa(device, "vkGetPastPresentationTimingGOOGLE");
        table->GetPerformanceParameterINTEL = (PFN_vkGetPerformanceParameterINTEL) gpa(device, "vkGetPerformanceParameterINTEL");
        table->GetPipelineCacheData = (PFN_vkGetPipelineCacheData) gpa(device, "vkGetPipelineCacheData");
        table->GetPipelineExecutableInternalRepresentationsKHR = (PFN_vkGetPipelineExecutableInternalRepresentationsKHR) gpa(device, "vkGetPipelineExecutableInternalRepresentationsKHR");
        table->GetPipelineExecutablePropertiesKHR = (PFN_vkGetPipelineExecutablePropertiesKHR) gpa(device, "vkGetPipelineExecutablePropertiesKHR");
        table->GetPipelineExecutableStatisticsKHR = (PFN_vkGetPipelineExecutableStatisticsKHR) gpa(device, "vkGetPipelineExecutableStatisticsKHR");
        table->GetPrivateDataEXT = (PFN_vkGetPrivateDataEXT) gpa(device, "vkGetPrivateDataEXT");
        table->GetQueryPoolResults = (PFN_vkGetQueryPoolResults) gpa(device, "vkGetQueryPoolResults");
        table->GetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV) gpa(device, "vkGetQueueCheckpointDataNV");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->GetRayTracingCaptureReplayShaderGroupHandlesKHR = (PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR) gpa(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
    #endif
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->GetRayTracingShaderGroupHandlesKHR = (PFN_vkGetRayTracingShaderGroupHandlesKHR) gpa(device, "vkGetRayTracingShaderGroupHandlesKHR");
    #endif
        table->GetRefreshCycleDurationGOOGLE = (PFN_vkGetRefreshCycleDurationGOOGLE) gpa(device, "vkGetRefreshCycleDurationGOOGLE");
        table->GetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity) gpa(device, "vkGetRenderAreaGranularity");
        table->GetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue) gpa(device, "vkGetSemaphoreCounterValue");
        table->GetSemaphoreFdKHR = (PFN_vkGetSemaphoreFdKHR) gpa(device, "vkGetSemaphoreFdKHR");
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->GetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR) gpa(device, "vkGetSemaphoreWin32HandleKHR");
    #endif
        table->GetShaderInfoAMD = (PFN_vkGetShaderInfoAMD) gpa(device, "vkGetShaderInfoAMD");
        table->GetSwapchainCounterEXT = (PFN_vkGetSwapchainCounterEXT) gpa(device, "vkGetSwapchainCounterEXT");
        table->GetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR) gpa(device, "vkGetSwapchainImagesKHR");
        table->GetSwapchainStatusKHR = (PFN_vkGetSwapchainStatusKHR) gpa(device, "vkGetSwapchainStatusKHR");
        table->GetValidationCacheDataEXT = (PFN_vkGetValidationCacheDataEXT) gpa(device, "vkGetValidationCacheDataEXT");
        table->ImportFenceFdKHR = (PFN_vkImportFenceFdKHR) gpa(device, "vkImportFenceFdKHR");
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->ImportFenceWin32HandleKHR = (PFN_vkImportFenceWin32HandleKHR) gpa(device, "vkImportFenceWin32HandleKHR");
    #endif
        table->ImportSemaphoreFdKHR = (PFN_vkImportSemaphoreFdKHR) gpa(device, "vkImportSemaphoreFdKHR");
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->ImportSemaphoreWin32HandleKHR = (PFN_vkImportSemaphoreWin32HandleKHR) gpa(device, "vkImportSemaphoreWin32HandleKHR");
    #endif
        table->InitializePerformanceApiINTEL = (PFN_vkInitializePerformanceApiINTEL) gpa(device, "vkInitializePerformanceApiINTEL");
        table->InvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges) gpa(device, "vkInvalidateMappedMemoryRanges");
        table->MapMemory = (PFN_vkMapMemory) gpa(device, "vkMapMemory");
        table->MergePipelineCaches = (PFN_vkMergePipelineCaches) gpa(device, "vkMergePipelineCaches");
        table->MergeValidationCachesEXT = (PFN_vkMergeValidationCachesEXT) gpa(device, "vkMergeValidationCachesEXT");
        table->QueueBeginDebugUtilsLabelEXT = (PFN_vkQueueBeginDebugUtilsLabelEXT) gpa(device, "vkQueueBeginDebugUtilsLabelEXT");
        table->QueueBindSparse = (PFN_vkQueueBindSparse) gpa(device, "vkQueueBindSparse");
        table->QueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT) gpa(device, "vkQueueEndDebugUtilsLabelEXT");
        table->QueueInsertDebugUtilsLabelEXT = (PFN_vkQueueInsertDebugUtilsLabelEXT) gpa(device, "vkQueueInsertDebugUtilsLabelEXT");
        table->QueuePresentKHR = (PFN_vkQueuePresentKHR) gpa(device, "vkQueuePresentKHR");
        table->QueueSetPerformanceConfigurationINTEL = (PFN_vkQueueSetPerformanceConfigurationINTEL) gpa(device, "vkQueueSetPerformanceConfigurationINTEL");
        table->QueueSubmit = (PFN_vkQueueSubmit) gpa(device, "vkQueueSubmit");
        table->QueueWaitIdle = (PFN_vkQueueWaitIdle) gpa(device, "vkQueueWaitIdle");
        table->RegisterDeviceEventEXT = (PFN_vkRegisterDeviceEventEXT) gpa(device, "vkRegisterDeviceEventEXT");
        table->RegisterDisplayEventEXT = (PFN_vkRegisterDisplayEventEXT) gpa(device, "vkRegisterDisplayEventEXT");
    #ifdef VK_USE_PLATFORM_WIN32_KHR
        table->ReleaseFullScreenExclusiveModeEXT = (PFN_vkReleaseFullScreenExclusiveModeEXT) gpa(device, "vkReleaseFullScreenExclusiveModeEXT");
    #endif
        table->ReleasePerformanceConfigurationINTEL = (PFN_vkReleasePerformanceConfigurationINTEL) gpa(device, "vkReleasePerformanceConfigurationINTEL");
        table->ReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR) gpa(device, "vkReleaseProfilingLockKHR");
        table->ResetCommandBuffer = (PFN_vkResetCommandBuffer) gpa(device, "vkResetCommandBuffer");
        table->ResetCommandPool = (PFN_vkResetCommandPool) gpa(device, "vkResetCommandPool");
        table->ResetDescriptorPool = (PFN_vkResetDescriptorPool) gpa(device, "vkResetDescriptorPool");
        table->ResetEvent = (PFN_vkResetEvent) gpa(device, "vkResetEvent");
        table->ResetFences = (PFN_vkResetFences) gpa(device, "vkResetFences");
        table->ResetQueryPool = (PFN_vkResetQueryPool) gpa(device, "vkResetQueryPool");
        table->SetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT) gpa(device, "vkSetDebugUtilsObjectNameEXT");
        table->SetDebugUtilsObjectTagEXT = (PFN_vkSetDebugUtilsObjectTagEXT) gpa(device, "vkSetDebugUtilsObjectTagEXT");
        table->SetEvent = (PFN_vkSetEvent) gpa(device, "vkSetEvent");
        table->SetHdrMetadataEXT = (PFN_vkSetHdrMetadataEXT) gpa(device, "vkSetHdrMetadataEXT");
        table->SetLocalDimmingAMD = (PFN_vkSetLocalDimmingAMD) gpa(device, "vkSetLocalDimmingAMD");
        table->SetPrivateDataEXT = (PFN_vkSetPrivateDataEXT) gpa(device, "vkSetPrivateDataEXT");
        table->SignalSemaphore = (PFN_vkSignalSemaphore) gpa(device, "vkSignalSemaphore");
        table->TrimCommandPool = (PFN_vkTrimCommandPool) gpa(device, "vkTrimCommandPool");
        table->UninitializePerformanceApiINTEL = (PFN_vkUninitializePerformanceApiINTEL) gpa(device, "vkUninitializePerformanceApiINTEL");
        table->UnmapMemory = (PFN_vkUnmapMemory) gpa(device, "vkUnmapMemory");
        table->UpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate) gpa(device, "vkUpdateDescriptorSetWithTemplate");
        table->UpdateDescriptorSets = (PFN_vkUpdateDescriptorSets) gpa(device, "vkUpdateDescriptorSets");
        table->WaitForFences = (PFN_vkWaitForFences) gpa(device, "vkWaitForFences");
        table->WaitSemaphores = (PFN_vkWaitSemaphores) gpa(device, "vkWaitSemaphores");
    #ifdef VK_ENABLE_BETA_EXTENSIONS
        table->WriteAccelerationStructuresPropertiesKHR = (PFN_vkWriteAccelerationStructuresPropertiesKHR) gpa(device, "vkWriteAccelerationStructuresPropertiesKHR");
    #endif
    }
