Home | History | Annotate | Download | only in include
      1 #pragma once
      2 
      3 #ifdef _WIN32
      4 
      5 #pragma warning( disable : 4065 )
      6 
      7 #endif
      8 
      9 #include <vulkan/vulkan.h>
     10 
     11 
     12 static inline const char* string_VkAccessFlagBits(VkAccessFlagBits input_value)
     13 {
     14     switch ((VkAccessFlagBits)input_value)
     15     {
     16         case VK_ACCESS_COLOR_ATTACHMENT_READ_BIT:
     17             return "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT";
     18         case VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT:
     19             return "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT";
     20         case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT:
     21             return "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT";
     22         case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT:
     23             return "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT";
     24         case VK_ACCESS_HOST_READ_BIT:
     25             return "VK_ACCESS_HOST_READ_BIT";
     26         case VK_ACCESS_HOST_WRITE_BIT:
     27             return "VK_ACCESS_HOST_WRITE_BIT";
     28         case VK_ACCESS_INDEX_READ_BIT:
     29             return "VK_ACCESS_INDEX_READ_BIT";
     30         case VK_ACCESS_INDIRECT_COMMAND_READ_BIT:
     31             return "VK_ACCESS_INDIRECT_COMMAND_READ_BIT";
     32         case VK_ACCESS_INPUT_ATTACHMENT_READ_BIT:
     33             return "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT";
     34         case VK_ACCESS_MEMORY_READ_BIT:
     35             return "VK_ACCESS_MEMORY_READ_BIT";
     36         case VK_ACCESS_MEMORY_WRITE_BIT:
     37             return "VK_ACCESS_MEMORY_WRITE_BIT";
     38         case VK_ACCESS_SHADER_READ_BIT:
     39             return "VK_ACCESS_SHADER_READ_BIT";
     40         case VK_ACCESS_SHADER_WRITE_BIT:
     41             return "VK_ACCESS_SHADER_WRITE_BIT";
     42         case VK_ACCESS_TRANSFER_READ_BIT:
     43             return "VK_ACCESS_TRANSFER_READ_BIT";
     44         case VK_ACCESS_TRANSFER_WRITE_BIT:
     45             return "VK_ACCESS_TRANSFER_WRITE_BIT";
     46         case VK_ACCESS_UNIFORM_READ_BIT:
     47             return "VK_ACCESS_UNIFORM_READ_BIT";
     48         case VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT:
     49             return "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT";
     50         default:
     51             return "Unhandled VkAccessFlagBits";
     52     }
     53 }
     54 
     55 
     56 static inline const char* string_VkAttachmentDescriptionFlagBits(VkAttachmentDescriptionFlagBits input_value)
     57 {
     58     switch ((VkAttachmentDescriptionFlagBits)input_value)
     59     {
     60         case VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT:
     61             return "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT";
     62         default:
     63             return "Unhandled VkAttachmentDescriptionFlagBits";
     64     }
     65 }
     66 
     67 
     68 static inline const char* string_VkAttachmentLoadOp(VkAttachmentLoadOp input_value)
     69 {
     70     switch ((VkAttachmentLoadOp)input_value)
     71     {
     72         case VK_ATTACHMENT_LOAD_OP_CLEAR:
     73             return "VK_ATTACHMENT_LOAD_OP_CLEAR";
     74         case VK_ATTACHMENT_LOAD_OP_DONT_CARE:
     75             return "VK_ATTACHMENT_LOAD_OP_DONT_CARE";
     76         case VK_ATTACHMENT_LOAD_OP_LOAD:
     77             return "VK_ATTACHMENT_LOAD_OP_LOAD";
     78         default:
     79             return "Unhandled VkAttachmentLoadOp";
     80     }
     81 }
     82 
     83 
     84 static inline const char* string_VkAttachmentStoreOp(VkAttachmentStoreOp input_value)
     85 {
     86     switch ((VkAttachmentStoreOp)input_value)
     87     {
     88         case VK_ATTACHMENT_STORE_OP_DONT_CARE:
     89             return "VK_ATTACHMENT_STORE_OP_DONT_CARE";
     90         case VK_ATTACHMENT_STORE_OP_STORE:
     91             return "VK_ATTACHMENT_STORE_OP_STORE";
     92         default:
     93             return "Unhandled VkAttachmentStoreOp";
     94     }
     95 }
     96 
     97 
     98 static inline const char* string_VkBlendFactor(VkBlendFactor input_value)
     99 {
    100     switch ((VkBlendFactor)input_value)
    101     {
    102         case VK_BLEND_FACTOR_CONSTANT_ALPHA:
    103             return "VK_BLEND_FACTOR_CONSTANT_ALPHA";
    104         case VK_BLEND_FACTOR_CONSTANT_COLOR:
    105             return "VK_BLEND_FACTOR_CONSTANT_COLOR";
    106         case VK_BLEND_FACTOR_DST_ALPHA:
    107             return "VK_BLEND_FACTOR_DST_ALPHA";
    108         case VK_BLEND_FACTOR_DST_COLOR:
    109             return "VK_BLEND_FACTOR_DST_COLOR";
    110         case VK_BLEND_FACTOR_ONE:
    111             return "VK_BLEND_FACTOR_ONE";
    112         case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA:
    113             return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA";
    114         case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR:
    115             return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR";
    116         case VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA:
    117             return "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA";
    118         case VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR:
    119             return "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR";
    120         case VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA:
    121             return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA";
    122         case VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR:
    123             return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR";
    124         case VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA:
    125             return "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA";
    126         case VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR:
    127             return "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR";
    128         case VK_BLEND_FACTOR_SRC1_ALPHA:
    129             return "VK_BLEND_FACTOR_SRC1_ALPHA";
    130         case VK_BLEND_FACTOR_SRC1_COLOR:
    131             return "VK_BLEND_FACTOR_SRC1_COLOR";
    132         case VK_BLEND_FACTOR_SRC_ALPHA:
    133             return "VK_BLEND_FACTOR_SRC_ALPHA";
    134         case VK_BLEND_FACTOR_SRC_ALPHA_SATURATE:
    135             return "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE";
    136         case VK_BLEND_FACTOR_SRC_COLOR:
    137             return "VK_BLEND_FACTOR_SRC_COLOR";
    138         case VK_BLEND_FACTOR_ZERO:
    139             return "VK_BLEND_FACTOR_ZERO";
    140         default:
    141             return "Unhandled VkBlendFactor";
    142     }
    143 }
    144 
    145 
    146 static inline const char* string_VkBlendOp(VkBlendOp input_value)
    147 {
    148     switch ((VkBlendOp)input_value)
    149     {
    150         case VK_BLEND_OP_ADD:
    151             return "VK_BLEND_OP_ADD";
    152         case VK_BLEND_OP_MAX:
    153             return "VK_BLEND_OP_MAX";
    154         case VK_BLEND_OP_MIN:
    155             return "VK_BLEND_OP_MIN";
    156         case VK_BLEND_OP_REVERSE_SUBTRACT:
    157             return "VK_BLEND_OP_REVERSE_SUBTRACT";
    158         case VK_BLEND_OP_SUBTRACT:
    159             return "VK_BLEND_OP_SUBTRACT";
    160         default:
    161             return "Unhandled VkBlendOp";
    162     }
    163 }
    164 
    165 
    166 static inline const char* string_VkBorderColor(VkBorderColor input_value)
    167 {
    168     switch ((VkBorderColor)input_value)
    169     {
    170         case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK:
    171             return "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK";
    172         case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE:
    173             return "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE";
    174         case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK:
    175             return "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK";
    176         case VK_BORDER_COLOR_INT_OPAQUE_BLACK:
    177             return "VK_BORDER_COLOR_INT_OPAQUE_BLACK";
    178         case VK_BORDER_COLOR_INT_OPAQUE_WHITE:
    179             return "VK_BORDER_COLOR_INT_OPAQUE_WHITE";
    180         case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK:
    181             return "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK";
    182         default:
    183             return "Unhandled VkBorderColor";
    184     }
    185 }
    186 
    187 
    188 static inline const char* string_VkBufferCreateFlagBits(VkBufferCreateFlagBits input_value)
    189 {
    190     switch ((VkBufferCreateFlagBits)input_value)
    191     {
    192         case VK_BUFFER_CREATE_SPARSE_ALIASED_BIT:
    193             return "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT";
    194         case VK_BUFFER_CREATE_SPARSE_BINDING_BIT:
    195             return "VK_BUFFER_CREATE_SPARSE_BINDING_BIT";
    196         case VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT:
    197             return "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT";
    198         default:
    199             return "Unhandled VkBufferCreateFlagBits";
    200     }
    201 }
    202 
    203 
    204 static inline const char* string_VkBufferUsageFlagBits(VkBufferUsageFlagBits input_value)
    205 {
    206     switch ((VkBufferUsageFlagBits)input_value)
    207     {
    208         case VK_BUFFER_USAGE_INDEX_BUFFER_BIT:
    209             return "VK_BUFFER_USAGE_INDEX_BUFFER_BIT";
    210         case VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT:
    211             return "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT";
    212         case VK_BUFFER_USAGE_STORAGE_BUFFER_BIT:
    213             return "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT";
    214         case VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT:
    215             return "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT";
    216         case VK_BUFFER_USAGE_TRANSFER_DST_BIT:
    217             return "VK_BUFFER_USAGE_TRANSFER_DST_BIT";
    218         case VK_BUFFER_USAGE_TRANSFER_SRC_BIT:
    219             return "VK_BUFFER_USAGE_TRANSFER_SRC_BIT";
    220         case VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT:
    221             return "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT";
    222         case VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT:
    223             return "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT";
    224         case VK_BUFFER_USAGE_VERTEX_BUFFER_BIT:
    225             return "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT";
    226         default:
    227             return "Unhandled VkBufferUsageFlagBits";
    228     }
    229 }
    230 
    231 
    232 static inline const char* string_VkColorComponentFlagBits(VkColorComponentFlagBits input_value)
    233 {
    234     switch ((VkColorComponentFlagBits)input_value)
    235     {
    236         case VK_COLOR_COMPONENT_A_BIT:
    237             return "VK_COLOR_COMPONENT_A_BIT";
    238         case VK_COLOR_COMPONENT_B_BIT:
    239             return "VK_COLOR_COMPONENT_B_BIT";
    240         case VK_COLOR_COMPONENT_G_BIT:
    241             return "VK_COLOR_COMPONENT_G_BIT";
    242         case VK_COLOR_COMPONENT_R_BIT:
    243             return "VK_COLOR_COMPONENT_R_BIT";
    244         default:
    245             return "Unhandled VkColorComponentFlagBits";
    246     }
    247 }
    248 
    249 
    250 static inline const char* string_VkColorSpaceKHR(VkColorSpaceKHR input_value)
    251 {
    252     switch ((VkColorSpaceKHR)input_value)
    253     {
    254         case VK_COLOR_SPACE_SRGB_NONLINEAR_KHR:
    255             return "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR";
    256         default:
    257             return "Unhandled VkColorSpaceKHR";
    258     }
    259 }
    260 
    261 
    262 static inline const char* string_VkCommandBufferLevel(VkCommandBufferLevel input_value)
    263 {
    264     switch ((VkCommandBufferLevel)input_value)
    265     {
    266         case VK_COMMAND_BUFFER_LEVEL_PRIMARY:
    267             return "VK_COMMAND_BUFFER_LEVEL_PRIMARY";
    268         case VK_COMMAND_BUFFER_LEVEL_SECONDARY:
    269             return "VK_COMMAND_BUFFER_LEVEL_SECONDARY";
    270         default:
    271             return "Unhandled VkCommandBufferLevel";
    272     }
    273 }
    274 
    275 
    276 static inline const char* string_VkCommandBufferResetFlagBits(VkCommandBufferResetFlagBits input_value)
    277 {
    278     switch ((VkCommandBufferResetFlagBits)input_value)
    279     {
    280         case VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT:
    281             return "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT";
    282         default:
    283             return "Unhandled VkCommandBufferResetFlagBits";
    284     }
    285 }
    286 
    287 
    288 static inline const char* string_VkCommandBufferUsageFlagBits(VkCommandBufferUsageFlagBits input_value)
    289 {
    290     switch ((VkCommandBufferUsageFlagBits)input_value)
    291     {
    292         case VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT:
    293             return "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT";
    294         case VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT:
    295             return "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT";
    296         case VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT:
    297             return "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT";
    298         default:
    299             return "Unhandled VkCommandBufferUsageFlagBits";
    300     }
    301 }
    302 
    303 
    304 static inline const char* string_VkCommandPoolCreateFlagBits(VkCommandPoolCreateFlagBits input_value)
    305 {
    306     switch ((VkCommandPoolCreateFlagBits)input_value)
    307     {
    308         case VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT:
    309             return "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT";
    310         case VK_COMMAND_POOL_CREATE_TRANSIENT_BIT:
    311             return "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT";
    312         default:
    313             return "Unhandled VkCommandPoolCreateFlagBits";
    314     }
    315 }
    316 
    317 
    318 static inline const char* string_VkCommandPoolResetFlagBits(VkCommandPoolResetFlagBits input_value)
    319 {
    320     switch ((VkCommandPoolResetFlagBits)input_value)
    321     {
    322         case VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT:
    323             return "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT";
    324         default:
    325             return "Unhandled VkCommandPoolResetFlagBits";
    326     }
    327 }
    328 
    329 
    330 static inline const char* string_VkCompareOp(VkCompareOp input_value)
    331 {
    332     switch ((VkCompareOp)input_value)
    333     {
    334         case VK_COMPARE_OP_ALWAYS:
    335             return "VK_COMPARE_OP_ALWAYS";
    336         case VK_COMPARE_OP_EQUAL:
    337             return "VK_COMPARE_OP_EQUAL";
    338         case VK_COMPARE_OP_GREATER:
    339             return "VK_COMPARE_OP_GREATER";
    340         case VK_COMPARE_OP_GREATER_OR_EQUAL:
    341             return "VK_COMPARE_OP_GREATER_OR_EQUAL";
    342         case VK_COMPARE_OP_LESS:
    343             return "VK_COMPARE_OP_LESS";
    344         case VK_COMPARE_OP_LESS_OR_EQUAL:
    345             return "VK_COMPARE_OP_LESS_OR_EQUAL";
    346         case VK_COMPARE_OP_NEVER:
    347             return "VK_COMPARE_OP_NEVER";
    348         case VK_COMPARE_OP_NOT_EQUAL:
    349             return "VK_COMPARE_OP_NOT_EQUAL";
    350         default:
    351             return "Unhandled VkCompareOp";
    352     }
    353 }
    354 
    355 
    356 static inline const char* string_VkComponentSwizzle(VkComponentSwizzle input_value)
    357 {
    358     switch ((VkComponentSwizzle)input_value)
    359     {
    360         case VK_COMPONENT_SWIZZLE_A:
    361             return "VK_COMPONENT_SWIZZLE_A";
    362         case VK_COMPONENT_SWIZZLE_B:
    363             return "VK_COMPONENT_SWIZZLE_B";
    364         case VK_COMPONENT_SWIZZLE_G:
    365             return "VK_COMPONENT_SWIZZLE_G";
    366         case VK_COMPONENT_SWIZZLE_IDENTITY:
    367             return "VK_COMPONENT_SWIZZLE_IDENTITY";
    368         case VK_COMPONENT_SWIZZLE_ONE:
    369             return "VK_COMPONENT_SWIZZLE_ONE";
    370         case VK_COMPONENT_SWIZZLE_R:
    371             return "VK_COMPONENT_SWIZZLE_R";
    372         case VK_COMPONENT_SWIZZLE_ZERO:
    373             return "VK_COMPONENT_SWIZZLE_ZERO";
    374         default:
    375             return "Unhandled VkComponentSwizzle";
    376     }
    377 }
    378 
    379 
    380 static inline const char* string_VkCompositeAlphaFlagBitsKHR(VkCompositeAlphaFlagBitsKHR input_value)
    381 {
    382     switch ((VkCompositeAlphaFlagBitsKHR)input_value)
    383     {
    384         case VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR:
    385             return "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR";
    386         case VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR:
    387             return "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR";
    388         case VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR:
    389             return "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR";
    390         case VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR:
    391             return "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR";
    392         default:
    393             return "Unhandled VkCompositeAlphaFlagBitsKHR";
    394     }
    395 }
    396 
    397 
    398 static inline const char* string_VkCullModeFlagBits(VkCullModeFlagBits input_value)
    399 {
    400     switch ((VkCullModeFlagBits)input_value)
    401     {
    402         case VK_CULL_MODE_BACK_BIT:
    403             return "VK_CULL_MODE_BACK_BIT";
    404         case VK_CULL_MODE_FRONT_AND_BACK:
    405             return "VK_CULL_MODE_FRONT_AND_BACK";
    406         case VK_CULL_MODE_FRONT_BIT:
    407             return "VK_CULL_MODE_FRONT_BIT";
    408         case VK_CULL_MODE_NONE:
    409             return "VK_CULL_MODE_NONE";
    410         default:
    411             return "Unhandled VkCullModeFlagBits";
    412     }
    413 }
    414 
    415 
    416 static inline const char* string_VkDebugReportErrorEXT(VkDebugReportErrorEXT input_value)
    417 {
    418     switch ((VkDebugReportErrorEXT)input_value)
    419     {
    420         case VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT:
    421             return "VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT";
    422         case VK_DEBUG_REPORT_ERROR_NONE_EXT:
    423             return "VK_DEBUG_REPORT_ERROR_NONE_EXT";
    424         default:
    425             return "Unhandled VkDebugReportErrorEXT";
    426     }
    427 }
    428 
    429 
    430 static inline const char* string_VkDebugReportFlagBitsEXT(VkDebugReportFlagBitsEXT input_value)
    431 {
    432     switch ((VkDebugReportFlagBitsEXT)input_value)
    433     {
    434         case VK_DEBUG_REPORT_DEBUG_BIT_EXT:
    435             return "VK_DEBUG_REPORT_DEBUG_BIT_EXT";
    436         case VK_DEBUG_REPORT_ERROR_BIT_EXT:
    437             return "VK_DEBUG_REPORT_ERROR_BIT_EXT";
    438         case VK_DEBUG_REPORT_INFORMATION_BIT_EXT:
    439             return "VK_DEBUG_REPORT_INFORMATION_BIT_EXT";
    440         case VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT:
    441             return "VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT";
    442         case VK_DEBUG_REPORT_WARNING_BIT_EXT:
    443             return "VK_DEBUG_REPORT_WARNING_BIT_EXT";
    444         default:
    445             return "Unhandled VkDebugReportFlagBitsEXT";
    446     }
    447 }
    448 
    449 
    450 static inline const char* string_VkDebugReportObjectTypeEXT(VkDebugReportObjectTypeEXT input_value)
    451 {
    452     switch ((VkDebugReportObjectTypeEXT)input_value)
    453     {
    454         case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT:
    455             return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT";
    456         case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT:
    457             return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT";
    458         case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT:
    459             return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT";
    460         case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT:
    461             return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT";
    462         case VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT:
    463             return "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT";
    464         case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT:
    465             return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT";
    466         case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT:
    467             return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT";
    468         case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT:
    469             return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT";
    470         case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT:
    471             return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT";
    472         case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT:
    473             return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT";
    474         case VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT:
    475             return "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT";
    476         case VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT:
    477             return "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT";
    478         case VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT:
    479             return "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT";
    480         case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT:
    481             return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT";
    482         case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT:
    483             return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT";
    484         case VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT:
    485             return "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT";
    486         case VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT:
    487             return "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT";
    488         case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT:
    489             return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT";
    490         case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT:
    491             return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT";
    492         case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT:
    493             return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT";
    494         case VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT:
    495             return "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT";
    496         case VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT:
    497             return "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT";
    498         case VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT:
    499             return "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT";
    500         case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT:
    501             return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT";
    502         case VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT:
    503             return "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT";
    504         case VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT:
    505             return "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT";
    506         case VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT:
    507             return "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT";
    508         case VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT:
    509             return "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT";
    510         case VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT:
    511             return "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT";
    512         default:
    513             return "Unhandled VkDebugReportObjectTypeEXT";
    514     }
    515 }
    516 
    517 
    518 static inline const char* string_VkDependencyFlagBits(VkDependencyFlagBits input_value)
    519 {
    520     switch ((VkDependencyFlagBits)input_value)
    521     {
    522         case VK_DEPENDENCY_BY_REGION_BIT:
    523             return "VK_DEPENDENCY_BY_REGION_BIT";
    524         default:
    525             return "Unhandled VkDependencyFlagBits";
    526     }
    527 }
    528 
    529 
    530 static inline const char* string_VkDescriptorPoolCreateFlagBits(VkDescriptorPoolCreateFlagBits input_value)
    531 {
    532     switch ((VkDescriptorPoolCreateFlagBits)input_value)
    533     {
    534         case VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT:
    535             return "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT";
    536         default:
    537             return "Unhandled VkDescriptorPoolCreateFlagBits";
    538     }
    539 }
    540 
    541 
    542 static inline const char* string_VkDescriptorType(VkDescriptorType input_value)
    543 {
    544     switch ((VkDescriptorType)input_value)
    545     {
    546         case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
    547             return "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER";
    548         case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
    549             return "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT";
    550         case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
    551             return "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE";
    552         case VK_DESCRIPTOR_TYPE_SAMPLER:
    553             return "VK_DESCRIPTOR_TYPE_SAMPLER";
    554         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
    555             return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER";
    556         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
    557             return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC";
    558         case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
    559             return "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE";
    560         case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
    561             return "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER";
    562         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
    563             return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER";
    564         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
    565             return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC";
    566         case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
    567             return "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER";
    568         default:
    569             return "Unhandled VkDescriptorType";
    570     }
    571 }
    572 
    573 
    574 static inline const char* string_VkDisplayPlaneAlphaFlagBitsKHR(VkDisplayPlaneAlphaFlagBitsKHR input_value)
    575 {
    576     switch ((VkDisplayPlaneAlphaFlagBitsKHR)input_value)
    577     {
    578         case VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR:
    579             return "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR";
    580         case VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR:
    581             return "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR";
    582         case VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR:
    583             return "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR";
    584         case VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR:
    585             return "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR";
    586         default:
    587             return "Unhandled VkDisplayPlaneAlphaFlagBitsKHR";
    588     }
    589 }
    590 
    591 
    592 static inline const char* string_VkDynamicState(VkDynamicState input_value)
    593 {
    594     switch ((VkDynamicState)input_value)
    595     {
    596         case VK_DYNAMIC_STATE_BLEND_CONSTANTS:
    597             return "VK_DYNAMIC_STATE_BLEND_CONSTANTS";
    598         case VK_DYNAMIC_STATE_DEPTH_BIAS:
    599             return "VK_DYNAMIC_STATE_DEPTH_BIAS";
    600         case VK_DYNAMIC_STATE_DEPTH_BOUNDS:
    601             return "VK_DYNAMIC_STATE_DEPTH_BOUNDS";
    602         case VK_DYNAMIC_STATE_LINE_WIDTH:
    603             return "VK_DYNAMIC_STATE_LINE_WIDTH";
    604         case VK_DYNAMIC_STATE_SCISSOR:
    605             return "VK_DYNAMIC_STATE_SCISSOR";
    606         case VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK:
    607             return "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK";
    608         case VK_DYNAMIC_STATE_STENCIL_REFERENCE:
    609             return "VK_DYNAMIC_STATE_STENCIL_REFERENCE";
    610         case VK_DYNAMIC_STATE_STENCIL_WRITE_MASK:
    611             return "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK";
    612         case VK_DYNAMIC_STATE_VIEWPORT:
    613             return "VK_DYNAMIC_STATE_VIEWPORT";
    614         default:
    615             return "Unhandled VkDynamicState";
    616     }
    617 }
    618 
    619 
    620 static inline const char* string_VkExternalMemoryFeatureFlagBitsNV(VkExternalMemoryFeatureFlagBitsNV input_value)
    621 {
    622     switch ((VkExternalMemoryFeatureFlagBitsNV)input_value)
    623     {
    624         case VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV:
    625             return "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV";
    626         case VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV:
    627             return "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV";
    628         case VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV:
    629             return "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV";
    630         default:
    631             return "Unhandled VkExternalMemoryFeatureFlagBitsNV";
    632     }
    633 }
    634 
    635 
    636 static inline const char* string_VkExternalMemoryHandleTypeFlagBitsNV(VkExternalMemoryHandleTypeFlagBitsNV input_value)
    637 {
    638     switch ((VkExternalMemoryHandleTypeFlagBitsNV)input_value)
    639     {
    640         case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV:
    641             return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV";
    642         case VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV:
    643             return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV";
    644         case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV:
    645             return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV";
    646         case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV:
    647             return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV";
    648         default:
    649             return "Unhandled VkExternalMemoryHandleTypeFlagBitsNV";
    650     }
    651 }
    652 
    653 
    654 static inline const char* string_VkFenceCreateFlagBits(VkFenceCreateFlagBits input_value)
    655 {
    656     switch ((VkFenceCreateFlagBits)input_value)
    657     {
    658         case VK_FENCE_CREATE_SIGNALED_BIT:
    659             return "VK_FENCE_CREATE_SIGNALED_BIT";
    660         default:
    661             return "Unhandled VkFenceCreateFlagBits";
    662     }
    663 }
    664 
    665 
    666 static inline const char* string_VkFilter(VkFilter input_value)
    667 {
    668     switch ((VkFilter)input_value)
    669     {
    670         case VK_FILTER_CUBIC_IMG:
    671             return "VK_FILTER_CUBIC_IMG";
    672         case VK_FILTER_LINEAR:
    673             return "VK_FILTER_LINEAR";
    674         case VK_FILTER_NEAREST:
    675             return "VK_FILTER_NEAREST";
    676         default:
    677             return "Unhandled VkFilter";
    678     }
    679 }
    680 
    681 
    682 static inline const char* string_VkFormat(VkFormat input_value)
    683 {
    684     switch ((VkFormat)input_value)
    685     {
    686         case VK_FORMAT_A1R5G5B5_UNORM_PACK16:
    687             return "VK_FORMAT_A1R5G5B5_UNORM_PACK16";
    688         case VK_FORMAT_A2B10G10R10_SINT_PACK32:
    689             return "VK_FORMAT_A2B10G10R10_SINT_PACK32";
    690         case VK_FORMAT_A2B10G10R10_SNORM_PACK32:
    691             return "VK_FORMAT_A2B10G10R10_SNORM_PACK32";
    692         case VK_FORMAT_A2B10G10R10_SSCALED_PACK32:
    693             return "VK_FORMAT_A2B10G10R10_SSCALED_PACK32";
    694         case VK_FORMAT_A2B10G10R10_UINT_PACK32:
    695             return "VK_FORMAT_A2B10G10R10_UINT_PACK32";
    696         case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
    697             return "VK_FORMAT_A2B10G10R10_UNORM_PACK32";
    698         case VK_FORMAT_A2B10G10R10_USCALED_PACK32:
    699             return "VK_FORMAT_A2B10G10R10_USCALED_PACK32";
    700         case VK_FORMAT_A2R10G10B10_SINT_PACK32:
    701             return "VK_FORMAT_A2R10G10B10_SINT_PACK32";
    702         case VK_FORMAT_A2R10G10B10_SNORM_PACK32:
    703             return "VK_FORMAT_A2R10G10B10_SNORM_PACK32";
    704         case VK_FORMAT_A2R10G10B10_SSCALED_PACK32:
    705             return "VK_FORMAT_A2R10G10B10_SSCALED_PACK32";
    706         case VK_FORMAT_A2R10G10B10_UINT_PACK32:
    707             return "VK_FORMAT_A2R10G10B10_UINT_PACK32";
    708         case VK_FORMAT_A2R10G10B10_UNORM_PACK32:
    709             return "VK_FORMAT_A2R10G10B10_UNORM_PACK32";
    710         case VK_FORMAT_A2R10G10B10_USCALED_PACK32:
    711             return "VK_FORMAT_A2R10G10B10_USCALED_PACK32";
    712         case VK_FORMAT_A8B8G8R8_SINT_PACK32:
    713             return "VK_FORMAT_A8B8G8R8_SINT_PACK32";
    714         case VK_FORMAT_A8B8G8R8_SNORM_PACK32:
    715             return "VK_FORMAT_A8B8G8R8_SNORM_PACK32";
    716         case VK_FORMAT_A8B8G8R8_SRGB_PACK32:
    717             return "VK_FORMAT_A8B8G8R8_SRGB_PACK32";
    718         case VK_FORMAT_A8B8G8R8_SSCALED_PACK32:
    719             return "VK_FORMAT_A8B8G8R8_SSCALED_PACK32";
    720         case VK_FORMAT_A8B8G8R8_UINT_PACK32:
    721             return "VK_FORMAT_A8B8G8R8_UINT_PACK32";
    722         case VK_FORMAT_A8B8G8R8_UNORM_PACK32:
    723             return "VK_FORMAT_A8B8G8R8_UNORM_PACK32";
    724         case VK_FORMAT_A8B8G8R8_USCALED_PACK32:
    725             return "VK_FORMAT_A8B8G8R8_USCALED_PACK32";
    726         case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
    727             return "VK_FORMAT_ASTC_10x10_SRGB_BLOCK";
    728         case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:
    729             return "VK_FORMAT_ASTC_10x10_UNORM_BLOCK";
    730         case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:
    731             return "VK_FORMAT_ASTC_10x5_SRGB_BLOCK";
    732         case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:
    733             return "VK_FORMAT_ASTC_10x5_UNORM_BLOCK";
    734         case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:
    735             return "VK_FORMAT_ASTC_10x6_SRGB_BLOCK";
    736         case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:
    737             return "VK_FORMAT_ASTC_10x6_UNORM_BLOCK";
    738         case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:
    739             return "VK_FORMAT_ASTC_10x8_SRGB_BLOCK";
    740         case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:
    741             return "VK_FORMAT_ASTC_10x8_UNORM_BLOCK";
    742         case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
    743             return "VK_FORMAT_ASTC_12x10_SRGB_BLOCK";
    744         case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:
    745             return "VK_FORMAT_ASTC_12x10_UNORM_BLOCK";
    746         case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
    747             return "VK_FORMAT_ASTC_12x12_SRGB_BLOCK";
    748         case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
    749             return "VK_FORMAT_ASTC_12x12_UNORM_BLOCK";
    750         case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:
    751             return "VK_FORMAT_ASTC_4x4_SRGB_BLOCK";
    752         case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:
    753             return "VK_FORMAT_ASTC_4x4_UNORM_BLOCK";
    754         case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:
    755             return "VK_FORMAT_ASTC_5x4_SRGB_BLOCK";
    756         case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:
    757             return "VK_FORMAT_ASTC_5x4_UNORM_BLOCK";
    758         case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:
    759             return "VK_FORMAT_ASTC_5x5_SRGB_BLOCK";
    760         case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:
    761             return "VK_FORMAT_ASTC_5x5_UNORM_BLOCK";
    762         case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:
    763             return "VK_FORMAT_ASTC_6x5_SRGB_BLOCK";
    764         case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:
    765             return "VK_FORMAT_ASTC_6x5_UNORM_BLOCK";
    766         case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:
    767             return "VK_FORMAT_ASTC_6x6_SRGB_BLOCK";
    768         case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:
    769             return "VK_FORMAT_ASTC_6x6_UNORM_BLOCK";
    770         case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:
    771             return "VK_FORMAT_ASTC_8x5_SRGB_BLOCK";
    772         case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:
    773             return "VK_FORMAT_ASTC_8x5_UNORM_BLOCK";
    774         case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:
    775             return "VK_FORMAT_ASTC_8x6_SRGB_BLOCK";
    776         case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:
    777             return "VK_FORMAT_ASTC_8x6_UNORM_BLOCK";
    778         case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:
    779             return "VK_FORMAT_ASTC_8x8_SRGB_BLOCK";
    780         case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:
    781             return "VK_FORMAT_ASTC_8x8_UNORM_BLOCK";
    782         case VK_FORMAT_B10G11R11_UFLOAT_PACK32:
    783             return "VK_FORMAT_B10G11R11_UFLOAT_PACK32";
    784         case VK_FORMAT_B4G4R4A4_UNORM_PACK16:
    785             return "VK_FORMAT_B4G4R4A4_UNORM_PACK16";
    786         case VK_FORMAT_B5G5R5A1_UNORM_PACK16:
    787             return "VK_FORMAT_B5G5R5A1_UNORM_PACK16";
    788         case VK_FORMAT_B5G6R5_UNORM_PACK16:
    789             return "VK_FORMAT_B5G6R5_UNORM_PACK16";
    790         case VK_FORMAT_B8G8R8A8_SINT:
    791             return "VK_FORMAT_B8G8R8A8_SINT";
    792         case VK_FORMAT_B8G8R8A8_SNORM:
    793             return "VK_FORMAT_B8G8R8A8_SNORM";
    794         case VK_FORMAT_B8G8R8A8_SRGB:
    795             return "VK_FORMAT_B8G8R8A8_SRGB";
    796         case VK_FORMAT_B8G8R8A8_SSCALED:
    797             return "VK_FORMAT_B8G8R8A8_SSCALED";
    798         case VK_FORMAT_B8G8R8A8_UINT:
    799             return "VK_FORMAT_B8G8R8A8_UINT";
    800         case VK_FORMAT_B8G8R8A8_UNORM:
    801             return "VK_FORMAT_B8G8R8A8_UNORM";
    802         case VK_FORMAT_B8G8R8A8_USCALED:
    803             return "VK_FORMAT_B8G8R8A8_USCALED";
    804         case VK_FORMAT_B8G8R8_SINT:
    805             return "VK_FORMAT_B8G8R8_SINT";
    806         case VK_FORMAT_B8G8R8_SNORM:
    807             return "VK_FORMAT_B8G8R8_SNORM";
    808         case VK_FORMAT_B8G8R8_SRGB:
    809             return "VK_FORMAT_B8G8R8_SRGB";
    810         case VK_FORMAT_B8G8R8_SSCALED:
    811             return "VK_FORMAT_B8G8R8_SSCALED";
    812         case VK_FORMAT_B8G8R8_UINT:
    813             return "VK_FORMAT_B8G8R8_UINT";
    814         case VK_FORMAT_B8G8R8_UNORM:
    815             return "VK_FORMAT_B8G8R8_UNORM";
    816         case VK_FORMAT_B8G8R8_USCALED:
    817             return "VK_FORMAT_B8G8R8_USCALED";
    818         case VK_FORMAT_BC1_RGBA_SRGB_BLOCK:
    819             return "VK_FORMAT_BC1_RGBA_SRGB_BLOCK";
    820         case VK_FORMAT_BC1_RGBA_UNORM_BLOCK:
    821             return "VK_FORMAT_BC1_RGBA_UNORM_BLOCK";
    822         case VK_FORMAT_BC1_RGB_SRGB_BLOCK:
    823             return "VK_FORMAT_BC1_RGB_SRGB_BLOCK";
    824         case VK_FORMAT_BC1_RGB_UNORM_BLOCK:
    825             return "VK_FORMAT_BC1_RGB_UNORM_BLOCK";
    826         case VK_FORMAT_BC2_SRGB_BLOCK:
    827             return "VK_FORMAT_BC2_SRGB_BLOCK";
    828         case VK_FORMAT_BC2_UNORM_BLOCK:
    829             return "VK_FORMAT_BC2_UNORM_BLOCK";
    830         case VK_FORMAT_BC3_SRGB_BLOCK:
    831             return "VK_FORMAT_BC3_SRGB_BLOCK";
    832         case VK_FORMAT_BC3_UNORM_BLOCK:
    833             return "VK_FORMAT_BC3_UNORM_BLOCK";
    834         case VK_FORMAT_BC4_SNORM_BLOCK:
    835             return "VK_FORMAT_BC4_SNORM_BLOCK";
    836         case VK_FORMAT_BC4_UNORM_BLOCK:
    837             return "VK_FORMAT_BC4_UNORM_BLOCK";
    838         case VK_FORMAT_BC5_SNORM_BLOCK:
    839             return "VK_FORMAT_BC5_SNORM_BLOCK";
    840         case VK_FORMAT_BC5_UNORM_BLOCK:
    841             return "VK_FORMAT_BC5_UNORM_BLOCK";
    842         case VK_FORMAT_BC6H_SFLOAT_BLOCK:
    843             return "VK_FORMAT_BC6H_SFLOAT_BLOCK";
    844         case VK_FORMAT_BC6H_UFLOAT_BLOCK:
    845             return "VK_FORMAT_BC6H_UFLOAT_BLOCK";
    846         case VK_FORMAT_BC7_SRGB_BLOCK:
    847             return "VK_FORMAT_BC7_SRGB_BLOCK";
    848         case VK_FORMAT_BC7_UNORM_BLOCK:
    849             return "VK_FORMAT_BC7_UNORM_BLOCK";
    850         case VK_FORMAT_D16_UNORM:
    851             return "VK_FORMAT_D16_UNORM";
    852         case VK_FORMAT_D16_UNORM_S8_UINT:
    853             return "VK_FORMAT_D16_UNORM_S8_UINT";
    854         case VK_FORMAT_D24_UNORM_S8_UINT:
    855             return "VK_FORMAT_D24_UNORM_S8_UINT";
    856         case VK_FORMAT_D32_SFLOAT:
    857             return "VK_FORMAT_D32_SFLOAT";
    858         case VK_FORMAT_D32_SFLOAT_S8_UINT:
    859             return "VK_FORMAT_D32_SFLOAT_S8_UINT";
    860         case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:
    861             return "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32";
    862         case VK_FORMAT_EAC_R11G11_SNORM_BLOCK:
    863             return "VK_FORMAT_EAC_R11G11_SNORM_BLOCK";
    864         case VK_FORMAT_EAC_R11G11_UNORM_BLOCK:
    865             return "VK_FORMAT_EAC_R11G11_UNORM_BLOCK";
    866         case VK_FORMAT_EAC_R11_SNORM_BLOCK:
    867             return "VK_FORMAT_EAC_R11_SNORM_BLOCK";
    868         case VK_FORMAT_EAC_R11_UNORM_BLOCK:
    869             return "VK_FORMAT_EAC_R11_UNORM_BLOCK";
    870         case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:
    871             return "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK";
    872         case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:
    873             return "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK";
    874         case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:
    875             return "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK";
    876         case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:
    877             return "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK";
    878         case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:
    879             return "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK";
    880         case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:
    881             return "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK";
    882         case VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:
    883             return "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG";
    884         case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:
    885             return "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG";
    886         case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:
    887             return "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG";
    888         case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:
    889             return "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG";
    890         case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:
    891             return "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG";
    892         case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:
    893             return "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG";
    894         case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:
    895             return "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG";
    896         case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:
    897             return "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG";
    898         case VK_FORMAT_R16G16B16A16_SFLOAT:
    899             return "VK_FORMAT_R16G16B16A16_SFLOAT";
    900         case VK_FORMAT_R16G16B16A16_SINT:
    901             return "VK_FORMAT_R16G16B16A16_SINT";
    902         case VK_FORMAT_R16G16B16A16_SNORM:
    903             return "VK_FORMAT_R16G16B16A16_SNORM";
    904         case VK_FORMAT_R16G16B16A16_SSCALED:
    905             return "VK_FORMAT_R16G16B16A16_SSCALED";
    906         case VK_FORMAT_R16G16B16A16_UINT:
    907             return "VK_FORMAT_R16G16B16A16_UINT";
    908         case VK_FORMAT_R16G16B16A16_UNORM:
    909             return "VK_FORMAT_R16G16B16A16_UNORM";
    910         case VK_FORMAT_R16G16B16A16_USCALED:
    911             return "VK_FORMAT_R16G16B16A16_USCALED";
    912         case VK_FORMAT_R16G16B16_SFLOAT:
    913             return "VK_FORMAT_R16G16B16_SFLOAT";
    914         case VK_FORMAT_R16G16B16_SINT:
    915             return "VK_FORMAT_R16G16B16_SINT";
    916         case VK_FORMAT_R16G16B16_SNORM:
    917             return "VK_FORMAT_R16G16B16_SNORM";
    918         case VK_FORMAT_R16G16B16_SSCALED:
    919             return "VK_FORMAT_R16G16B16_SSCALED";
    920         case VK_FORMAT_R16G16B16_UINT:
    921             return "VK_FORMAT_R16G16B16_UINT";
    922         case VK_FORMAT_R16G16B16_UNORM:
    923             return "VK_FORMAT_R16G16B16_UNORM";
    924         case VK_FORMAT_R16G16B16_USCALED:
    925             return "VK_FORMAT_R16G16B16_USCALED";
    926         case VK_FORMAT_R16G16_SFLOAT:
    927             return "VK_FORMAT_R16G16_SFLOAT";
    928         case VK_FORMAT_R16G16_SINT:
    929             return "VK_FORMAT_R16G16_SINT";
    930         case VK_FORMAT_R16G16_SNORM:
    931             return "VK_FORMAT_R16G16_SNORM";
    932         case VK_FORMAT_R16G16_SSCALED:
    933             return "VK_FORMAT_R16G16_SSCALED";
    934         case VK_FORMAT_R16G16_UINT:
    935             return "VK_FORMAT_R16G16_UINT";
    936         case VK_FORMAT_R16G16_UNORM:
    937             return "VK_FORMAT_R16G16_UNORM";
    938         case VK_FORMAT_R16G16_USCALED:
    939             return "VK_FORMAT_R16G16_USCALED";
    940         case VK_FORMAT_R16_SFLOAT:
    941             return "VK_FORMAT_R16_SFLOAT";
    942         case VK_FORMAT_R16_SINT:
    943             return "VK_FORMAT_R16_SINT";
    944         case VK_FORMAT_R16_SNORM:
    945             return "VK_FORMAT_R16_SNORM";
    946         case VK_FORMAT_R16_SSCALED:
    947             return "VK_FORMAT_R16_SSCALED";
    948         case VK_FORMAT_R16_UINT:
    949             return "VK_FORMAT_R16_UINT";
    950         case VK_FORMAT_R16_UNORM:
    951             return "VK_FORMAT_R16_UNORM";
    952         case VK_FORMAT_R16_USCALED:
    953             return "VK_FORMAT_R16_USCALED";
    954         case VK_FORMAT_R32G32B32A32_SFLOAT:
    955             return "VK_FORMAT_R32G32B32A32_SFLOAT";
    956         case VK_FORMAT_R32G32B32A32_SINT:
    957             return "VK_FORMAT_R32G32B32A32_SINT";
    958         case VK_FORMAT_R32G32B32A32_UINT:
    959             return "VK_FORMAT_R32G32B32A32_UINT";
    960         case VK_FORMAT_R32G32B32_SFLOAT:
    961             return "VK_FORMAT_R32G32B32_SFLOAT";
    962         case VK_FORMAT_R32G32B32_SINT:
    963             return "VK_FORMAT_R32G32B32_SINT";
    964         case VK_FORMAT_R32G32B32_UINT:
    965             return "VK_FORMAT_R32G32B32_UINT";
    966         case VK_FORMAT_R32G32_SFLOAT:
    967             return "VK_FORMAT_R32G32_SFLOAT";
    968         case VK_FORMAT_R32G32_SINT:
    969             return "VK_FORMAT_R32G32_SINT";
    970         case VK_FORMAT_R32G32_UINT:
    971             return "VK_FORMAT_R32G32_UINT";
    972         case VK_FORMAT_R32_SFLOAT:
    973             return "VK_FORMAT_R32_SFLOAT";
    974         case VK_FORMAT_R32_SINT:
    975             return "VK_FORMAT_R32_SINT";
    976         case VK_FORMAT_R32_UINT:
    977             return "VK_FORMAT_R32_UINT";
    978         case VK_FORMAT_R4G4B4A4_UNORM_PACK16:
    979             return "VK_FORMAT_R4G4B4A4_UNORM_PACK16";
    980         case VK_FORMAT_R4G4_UNORM_PACK8:
    981             return "VK_FORMAT_R4G4_UNORM_PACK8";
    982         case VK_FORMAT_R5G5B5A1_UNORM_PACK16:
    983             return "VK_FORMAT_R5G5B5A1_UNORM_PACK16";
    984         case VK_FORMAT_R5G6B5_UNORM_PACK16:
    985             return "VK_FORMAT_R5G6B5_UNORM_PACK16";
    986         case VK_FORMAT_R64G64B64A64_SFLOAT:
    987             return "VK_FORMAT_R64G64B64A64_SFLOAT";
    988         case VK_FORMAT_R64G64B64A64_SINT:
    989             return "VK_FORMAT_R64G64B64A64_SINT";
    990         case VK_FORMAT_R64G64B64A64_UINT:
    991             return "VK_FORMAT_R64G64B64A64_UINT";
    992         case VK_FORMAT_R64G64B64_SFLOAT:
    993             return "VK_FORMAT_R64G64B64_SFLOAT";
    994         case VK_FORMAT_R64G64B64_SINT:
    995             return "VK_FORMAT_R64G64B64_SINT";
    996         case VK_FORMAT_R64G64B64_UINT:
    997             return "VK_FORMAT_R64G64B64_UINT";
    998         case VK_FORMAT_R64G64_SFLOAT:
    999             return "VK_FORMAT_R64G64_SFLOAT";
   1000         case VK_FORMAT_R64G64_SINT:
   1001             return "VK_FORMAT_R64G64_SINT";
   1002         case VK_FORMAT_R64G64_UINT:
   1003             return "VK_FORMAT_R64G64_UINT";
   1004         case VK_FORMAT_R64_SFLOAT:
   1005             return "VK_FORMAT_R64_SFLOAT";
   1006         case VK_FORMAT_R64_SINT:
   1007             return "VK_FORMAT_R64_SINT";
   1008         case VK_FORMAT_R64_UINT:
   1009             return "VK_FORMAT_R64_UINT";
   1010         case VK_FORMAT_R8G8B8A8_SINT:
   1011             return "VK_FORMAT_R8G8B8A8_SINT";
   1012         case VK_FORMAT_R8G8B8A8_SNORM:
   1013             return "VK_FORMAT_R8G8B8A8_SNORM";
   1014         case VK_FORMAT_R8G8B8A8_SRGB:
   1015             return "VK_FORMAT_R8G8B8A8_SRGB";
   1016         case VK_FORMAT_R8G8B8A8_SSCALED:
   1017             return "VK_FORMAT_R8G8B8A8_SSCALED";
   1018         case VK_FORMAT_R8G8B8A8_UINT:
   1019             return "VK_FORMAT_R8G8B8A8_UINT";
   1020         case VK_FORMAT_R8G8B8A8_UNORM:
   1021             return "VK_FORMAT_R8G8B8A8_UNORM";
   1022         case VK_FORMAT_R8G8B8A8_USCALED:
   1023             return "VK_FORMAT_R8G8B8A8_USCALED";
   1024         case VK_FORMAT_R8G8B8_SINT:
   1025             return "VK_FORMAT_R8G8B8_SINT";
   1026         case VK_FORMAT_R8G8B8_SNORM:
   1027             return "VK_FORMAT_R8G8B8_SNORM";
   1028         case VK_FORMAT_R8G8B8_SRGB:
   1029             return "VK_FORMAT_R8G8B8_SRGB";
   1030         case VK_FORMAT_R8G8B8_SSCALED:
   1031             return "VK_FORMAT_R8G8B8_SSCALED";
   1032         case VK_FORMAT_R8G8B8_UINT:
   1033             return "VK_FORMAT_R8G8B8_UINT";
   1034         case VK_FORMAT_R8G8B8_UNORM:
   1035             return "VK_FORMAT_R8G8B8_UNORM";
   1036         case VK_FORMAT_R8G8B8_USCALED:
   1037             return "VK_FORMAT_R8G8B8_USCALED";
   1038         case VK_FORMAT_R8G8_SINT:
   1039             return "VK_FORMAT_R8G8_SINT";
   1040         case VK_FORMAT_R8G8_SNORM:
   1041             return "VK_FORMAT_R8G8_SNORM";
   1042         case VK_FORMAT_R8G8_SRGB:
   1043             return "VK_FORMAT_R8G8_SRGB";
   1044         case VK_FORMAT_R8G8_SSCALED:
   1045             return "VK_FORMAT_R8G8_SSCALED";
   1046         case VK_FORMAT_R8G8_UINT:
   1047             return "VK_FORMAT_R8G8_UINT";
   1048         case VK_FORMAT_R8G8_UNORM:
   1049             return "VK_FORMAT_R8G8_UNORM";
   1050         case VK_FORMAT_R8G8_USCALED:
   1051             return "VK_FORMAT_R8G8_USCALED";
   1052         case VK_FORMAT_R8_SINT:
   1053             return "VK_FORMAT_R8_SINT";
   1054         case VK_FORMAT_R8_SNORM:
   1055             return "VK_FORMAT_R8_SNORM";
   1056         case VK_FORMAT_R8_SRGB:
   1057             return "VK_FORMAT_R8_SRGB";
   1058         case VK_FORMAT_R8_SSCALED:
   1059             return "VK_FORMAT_R8_SSCALED";
   1060         case VK_FORMAT_R8_UINT:
   1061             return "VK_FORMAT_R8_UINT";
   1062         case VK_FORMAT_R8_UNORM:
   1063             return "VK_FORMAT_R8_UNORM";
   1064         case VK_FORMAT_R8_USCALED:
   1065             return "VK_FORMAT_R8_USCALED";
   1066         case VK_FORMAT_S8_UINT:
   1067             return "VK_FORMAT_S8_UINT";
   1068         case VK_FORMAT_UNDEFINED:
   1069             return "VK_FORMAT_UNDEFINED";
   1070         case VK_FORMAT_X8_D24_UNORM_PACK32:
   1071             return "VK_FORMAT_X8_D24_UNORM_PACK32";
   1072         default:
   1073             return "Unhandled VkFormat";
   1074     }
   1075 }
   1076 
   1077 
   1078 static inline const char* string_VkFormatFeatureFlagBits(VkFormatFeatureFlagBits input_value)
   1079 {
   1080     switch ((VkFormatFeatureFlagBits)input_value)
   1081     {
   1082         case VK_FORMAT_FEATURE_BLIT_DST_BIT:
   1083             return "VK_FORMAT_FEATURE_BLIT_DST_BIT";
   1084         case VK_FORMAT_FEATURE_BLIT_SRC_BIT:
   1085             return "VK_FORMAT_FEATURE_BLIT_SRC_BIT";
   1086         case VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT:
   1087             return "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT";
   1088         case VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT:
   1089             return "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT";
   1090         case VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT:
   1091             return "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT";
   1092         case VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT:
   1093             return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT";
   1094         case VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG:
   1095             return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG";
   1096         case VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT:
   1097             return "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT";
   1098         case VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT:
   1099             return "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT";
   1100         case VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT:
   1101             return "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT";
   1102         case VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT:
   1103             return "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT";
   1104         case VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT:
   1105             return "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT";
   1106         case VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT:
   1107             return "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT";
   1108         case VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT:
   1109             return "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT";
   1110         default:
   1111             return "Unhandled VkFormatFeatureFlagBits";
   1112     }
   1113 }
   1114 
   1115 
   1116 static inline const char* string_VkFrontFace(VkFrontFace input_value)
   1117 {
   1118     switch ((VkFrontFace)input_value)
   1119     {
   1120         case VK_FRONT_FACE_CLOCKWISE:
   1121             return "VK_FRONT_FACE_CLOCKWISE";
   1122         case VK_FRONT_FACE_COUNTER_CLOCKWISE:
   1123             return "VK_FRONT_FACE_COUNTER_CLOCKWISE";
   1124         default:
   1125             return "Unhandled VkFrontFace";
   1126     }
   1127 }
   1128 
   1129 
   1130 static inline const char* string_VkImageAspectFlagBits(VkImageAspectFlagBits input_value)
   1131 {
   1132     switch ((VkImageAspectFlagBits)input_value)
   1133     {
   1134         case VK_IMAGE_ASPECT_COLOR_BIT:
   1135             return "VK_IMAGE_ASPECT_COLOR_BIT";
   1136         case VK_IMAGE_ASPECT_DEPTH_BIT:
   1137             return "VK_IMAGE_ASPECT_DEPTH_BIT";
   1138         case VK_IMAGE_ASPECT_METADATA_BIT:
   1139             return "VK_IMAGE_ASPECT_METADATA_BIT";
   1140         case VK_IMAGE_ASPECT_STENCIL_BIT:
   1141             return "VK_IMAGE_ASPECT_STENCIL_BIT";
   1142         default:
   1143             return "Unhandled VkImageAspectFlagBits";
   1144     }
   1145 }
   1146 
   1147 
   1148 static inline const char* string_VkImageCreateFlagBits(VkImageCreateFlagBits input_value)
   1149 {
   1150     switch ((VkImageCreateFlagBits)input_value)
   1151     {
   1152         case VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT:
   1153             return "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT";
   1154         case VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT:
   1155             return "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT";
   1156         case VK_IMAGE_CREATE_SPARSE_ALIASED_BIT:
   1157             return "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT";
   1158         case VK_IMAGE_CREATE_SPARSE_BINDING_BIT:
   1159             return "VK_IMAGE_CREATE_SPARSE_BINDING_BIT";
   1160         case VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT:
   1161             return "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT";
   1162         default:
   1163             return "Unhandled VkImageCreateFlagBits";
   1164     }
   1165 }
   1166 
   1167 
   1168 static inline const char* string_VkImageLayout(VkImageLayout input_value)
   1169 {
   1170     switch ((VkImageLayout)input_value)
   1171     {
   1172         case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL:
   1173             return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL";
   1174         case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL:
   1175             return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL";
   1176         case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL:
   1177             return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL";
   1178         case VK_IMAGE_LAYOUT_GENERAL:
   1179             return "VK_IMAGE_LAYOUT_GENERAL";
   1180         case VK_IMAGE_LAYOUT_PREINITIALIZED:
   1181             return "VK_IMAGE_LAYOUT_PREINITIALIZED";
   1182         case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR:
   1183             return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR";
   1184         case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:
   1185             return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL";
   1186         case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL:
   1187             return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL";
   1188         case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL:
   1189             return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL";
   1190         case VK_IMAGE_LAYOUT_UNDEFINED:
   1191             return "VK_IMAGE_LAYOUT_UNDEFINED";
   1192         default:
   1193             return "Unhandled VkImageLayout";
   1194     }
   1195 }
   1196 
   1197 
   1198 static inline const char* string_VkImageTiling(VkImageTiling input_value)
   1199 {
   1200     switch ((VkImageTiling)input_value)
   1201     {
   1202         case VK_IMAGE_TILING_LINEAR:
   1203             return "VK_IMAGE_TILING_LINEAR";
   1204         case VK_IMAGE_TILING_OPTIMAL:
   1205             return "VK_IMAGE_TILING_OPTIMAL";
   1206         default:
   1207             return "Unhandled VkImageTiling";
   1208     }
   1209 }
   1210 
   1211 
   1212 static inline const char* string_VkImageType(VkImageType input_value)
   1213 {
   1214     switch ((VkImageType)input_value)
   1215     {
   1216         case VK_IMAGE_TYPE_1D:
   1217             return "VK_IMAGE_TYPE_1D";
   1218         case VK_IMAGE_TYPE_2D:
   1219             return "VK_IMAGE_TYPE_2D";
   1220         case VK_IMAGE_TYPE_3D:
   1221             return "VK_IMAGE_TYPE_3D";
   1222         default:
   1223             return "Unhandled VkImageType";
   1224     }
   1225 }
   1226 
   1227 
   1228 static inline const char* string_VkImageUsageFlagBits(VkImageUsageFlagBits input_value)
   1229 {
   1230     switch ((VkImageUsageFlagBits)input_value)
   1231     {
   1232         case VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT:
   1233             return "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT";
   1234         case VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT:
   1235             return "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT";
   1236         case VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT:
   1237             return "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT";
   1238         case VK_IMAGE_USAGE_SAMPLED_BIT:
   1239             return "VK_IMAGE_USAGE_SAMPLED_BIT";
   1240         case VK_IMAGE_USAGE_STORAGE_BIT:
   1241             return "VK_IMAGE_USAGE_STORAGE_BIT";
   1242         case VK_IMAGE_USAGE_TRANSFER_DST_BIT:
   1243             return "VK_IMAGE_USAGE_TRANSFER_DST_BIT";
   1244         case VK_IMAGE_USAGE_TRANSFER_SRC_BIT:
   1245             return "VK_IMAGE_USAGE_TRANSFER_SRC_BIT";
   1246         case VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT:
   1247             return "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT";
   1248         default:
   1249             return "Unhandled VkImageUsageFlagBits";
   1250     }
   1251 }
   1252 
   1253 
   1254 static inline const char* string_VkImageViewType(VkImageViewType input_value)
   1255 {
   1256     switch ((VkImageViewType)input_value)
   1257     {
   1258         case VK_IMAGE_VIEW_TYPE_1D:
   1259             return "VK_IMAGE_VIEW_TYPE_1D";
   1260         case VK_IMAGE_VIEW_TYPE_1D_ARRAY:
   1261             return "VK_IMAGE_VIEW_TYPE_1D_ARRAY";
   1262         case VK_IMAGE_VIEW_TYPE_2D:
   1263             return "VK_IMAGE_VIEW_TYPE_2D";
   1264         case VK_IMAGE_VIEW_TYPE_2D_ARRAY:
   1265             return "VK_IMAGE_VIEW_TYPE_2D_ARRAY";
   1266         case VK_IMAGE_VIEW_TYPE_3D:
   1267             return "VK_IMAGE_VIEW_TYPE_3D";
   1268         case VK_IMAGE_VIEW_TYPE_CUBE:
   1269             return "VK_IMAGE_VIEW_TYPE_CUBE";
   1270         case VK_IMAGE_VIEW_TYPE_CUBE_ARRAY:
   1271             return "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY";
   1272         default:
   1273             return "Unhandled VkImageViewType";
   1274     }
   1275 }
   1276 
   1277 
   1278 static inline const char* string_VkIndexType(VkIndexType input_value)
   1279 {
   1280     switch ((VkIndexType)input_value)
   1281     {
   1282         case VK_INDEX_TYPE_UINT16:
   1283             return "VK_INDEX_TYPE_UINT16";
   1284         case VK_INDEX_TYPE_UINT32:
   1285             return "VK_INDEX_TYPE_UINT32";
   1286         default:
   1287             return "Unhandled VkIndexType";
   1288     }
   1289 }
   1290 
   1291 
   1292 static inline const char* string_VkInternalAllocationType(VkInternalAllocationType input_value)
   1293 {
   1294     switch ((VkInternalAllocationType)input_value)
   1295     {
   1296         case VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE:
   1297             return "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE";
   1298         default:
   1299             return "Unhandled VkInternalAllocationType";
   1300     }
   1301 }
   1302 
   1303 
   1304 static inline const char* string_VkLogicOp(VkLogicOp input_value)
   1305 {
   1306     switch ((VkLogicOp)input_value)
   1307     {
   1308         case VK_LOGIC_OP_AND:
   1309             return "VK_LOGIC_OP_AND";
   1310         case VK_LOGIC_OP_AND_INVERTED:
   1311             return "VK_LOGIC_OP_AND_INVERTED";
   1312         case VK_LOGIC_OP_AND_REVERSE:
   1313             return "VK_LOGIC_OP_AND_REVERSE";
   1314         case VK_LOGIC_OP_CLEAR:
   1315             return "VK_LOGIC_OP_CLEAR";
   1316         case VK_LOGIC_OP_COPY:
   1317             return "VK_LOGIC_OP_COPY";
   1318         case VK_LOGIC_OP_COPY_INVERTED:
   1319             return "VK_LOGIC_OP_COPY_INVERTED";
   1320         case VK_LOGIC_OP_EQUIVALENT:
   1321             return "VK_LOGIC_OP_EQUIVALENT";
   1322         case VK_LOGIC_OP_INVERT:
   1323             return "VK_LOGIC_OP_INVERT";
   1324         case VK_LOGIC_OP_NAND:
   1325             return "VK_LOGIC_OP_NAND";
   1326         case VK_LOGIC_OP_NOR:
   1327             return "VK_LOGIC_OP_NOR";
   1328         case VK_LOGIC_OP_NO_OP:
   1329             return "VK_LOGIC_OP_NO_OP";
   1330         case VK_LOGIC_OP_OR:
   1331             return "VK_LOGIC_OP_OR";
   1332         case VK_LOGIC_OP_OR_INVERTED:
   1333             return "VK_LOGIC_OP_OR_INVERTED";
   1334         case VK_LOGIC_OP_OR_REVERSE:
   1335             return "VK_LOGIC_OP_OR_REVERSE";
   1336         case VK_LOGIC_OP_SET:
   1337             return "VK_LOGIC_OP_SET";
   1338         case VK_LOGIC_OP_XOR:
   1339             return "VK_LOGIC_OP_XOR";
   1340         default:
   1341             return "Unhandled VkLogicOp";
   1342     }
   1343 }
   1344 
   1345 
   1346 static inline const char* string_VkMemoryHeapFlagBits(VkMemoryHeapFlagBits input_value)
   1347 {
   1348     switch ((VkMemoryHeapFlagBits)input_value)
   1349     {
   1350         case VK_MEMORY_HEAP_DEVICE_LOCAL_BIT:
   1351             return "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT";
   1352         default:
   1353             return "Unhandled VkMemoryHeapFlagBits";
   1354     }
   1355 }
   1356 
   1357 
   1358 static inline const char* string_VkMemoryPropertyFlagBits(VkMemoryPropertyFlagBits input_value)
   1359 {
   1360     switch ((VkMemoryPropertyFlagBits)input_value)
   1361     {
   1362         case VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT:
   1363             return "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT";
   1364         case VK_MEMORY_PROPERTY_HOST_CACHED_BIT:
   1365             return "VK_MEMORY_PROPERTY_HOST_CACHED_BIT";
   1366         case VK_MEMORY_PROPERTY_HOST_COHERENT_BIT:
   1367             return "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT";
   1368         case VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT:
   1369             return "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT";
   1370         case VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT:
   1371             return "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT";
   1372         default:
   1373             return "Unhandled VkMemoryPropertyFlagBits";
   1374     }
   1375 }
   1376 
   1377 
   1378 static inline const char* string_VkPhysicalDeviceType(VkPhysicalDeviceType input_value)
   1379 {
   1380     switch ((VkPhysicalDeviceType)input_value)
   1381     {
   1382         case VK_PHYSICAL_DEVICE_TYPE_CPU:
   1383             return "VK_PHYSICAL_DEVICE_TYPE_CPU";
   1384         case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU:
   1385             return "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU";
   1386         case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU:
   1387             return "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU";
   1388         case VK_PHYSICAL_DEVICE_TYPE_OTHER:
   1389             return "VK_PHYSICAL_DEVICE_TYPE_OTHER";
   1390         case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU:
   1391             return "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU";
   1392         default:
   1393             return "Unhandled VkPhysicalDeviceType";
   1394     }
   1395 }
   1396 
   1397 
   1398 static inline const char* string_VkPipelineBindPoint(VkPipelineBindPoint input_value)
   1399 {
   1400     switch ((VkPipelineBindPoint)input_value)
   1401     {
   1402         case VK_PIPELINE_BIND_POINT_COMPUTE:
   1403             return "VK_PIPELINE_BIND_POINT_COMPUTE";
   1404         case VK_PIPELINE_BIND_POINT_GRAPHICS:
   1405             return "VK_PIPELINE_BIND_POINT_GRAPHICS";
   1406         default:
   1407             return "Unhandled VkPipelineBindPoint";
   1408     }
   1409 }
   1410 
   1411 
   1412 static inline const char* string_VkPipelineCacheHeaderVersion(VkPipelineCacheHeaderVersion input_value)
   1413 {
   1414     switch ((VkPipelineCacheHeaderVersion)input_value)
   1415     {
   1416         case VK_PIPELINE_CACHE_HEADER_VERSION_ONE:
   1417             return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE";
   1418         default:
   1419             return "Unhandled VkPipelineCacheHeaderVersion";
   1420     }
   1421 }
   1422 
   1423 
   1424 static inline const char* string_VkPipelineCreateFlagBits(VkPipelineCreateFlagBits input_value)
   1425 {
   1426     switch ((VkPipelineCreateFlagBits)input_value)
   1427     {
   1428         case VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT:
   1429             return "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT";
   1430         case VK_PIPELINE_CREATE_DERIVATIVE_BIT:
   1431             return "VK_PIPELINE_CREATE_DERIVATIVE_BIT";
   1432         case VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT:
   1433             return "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT";
   1434         default:
   1435             return "Unhandled VkPipelineCreateFlagBits";
   1436     }
   1437 }
   1438 
   1439 
   1440 static inline const char* string_VkPipelineStageFlagBits(VkPipelineStageFlagBits input_value)
   1441 {
   1442     switch ((VkPipelineStageFlagBits)input_value)
   1443     {
   1444         case VK_PIPELINE_STAGE_ALL_COMMANDS_BIT:
   1445             return "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT";
   1446         case VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT:
   1447             return "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT";
   1448         case VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT:
   1449             return "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT";
   1450         case VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT:
   1451             return "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT";
   1452         case VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT:
   1453             return "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT";
   1454         case VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT:
   1455             return "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT";
   1456         case VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT:
   1457             return "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT";
   1458         case VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT:
   1459             return "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT";
   1460         case VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT:
   1461             return "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT";
   1462         case VK_PIPELINE_STAGE_HOST_BIT:
   1463             return "VK_PIPELINE_STAGE_HOST_BIT";
   1464         case VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT:
   1465             return "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT";
   1466         case VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT:
   1467             return "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT";
   1468         case VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT:
   1469             return "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT";
   1470         case VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT:
   1471             return "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT";
   1472         case VK_PIPELINE_STAGE_TRANSFER_BIT:
   1473             return "VK_PIPELINE_STAGE_TRANSFER_BIT";
   1474         case VK_PIPELINE_STAGE_VERTEX_INPUT_BIT:
   1475             return "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT";
   1476         case VK_PIPELINE_STAGE_VERTEX_SHADER_BIT:
   1477             return "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT";
   1478         default:
   1479             return "Unhandled VkPipelineStageFlagBits";
   1480     }
   1481 }
   1482 
   1483 
   1484 static inline const char* string_VkPolygonMode(VkPolygonMode input_value)
   1485 {
   1486     switch ((VkPolygonMode)input_value)
   1487     {
   1488         case VK_POLYGON_MODE_FILL:
   1489             return "VK_POLYGON_MODE_FILL";
   1490         case VK_POLYGON_MODE_LINE:
   1491             return "VK_POLYGON_MODE_LINE";
   1492         case VK_POLYGON_MODE_POINT:
   1493             return "VK_POLYGON_MODE_POINT";
   1494         default:
   1495             return "Unhandled VkPolygonMode";
   1496     }
   1497 }
   1498 
   1499 
   1500 static inline const char* string_VkPresentModeKHR(VkPresentModeKHR input_value)
   1501 {
   1502     switch ((VkPresentModeKHR)input_value)
   1503     {
   1504         case VK_PRESENT_MODE_FIFO_KHR:
   1505             return "VK_PRESENT_MODE_FIFO_KHR";
   1506         case VK_PRESENT_MODE_FIFO_RELAXED_KHR:
   1507             return "VK_PRESENT_MODE_FIFO_RELAXED_KHR";
   1508         case VK_PRESENT_MODE_IMMEDIATE_KHR:
   1509             return "VK_PRESENT_MODE_IMMEDIATE_KHR";
   1510         case VK_PRESENT_MODE_MAILBOX_KHR:
   1511             return "VK_PRESENT_MODE_MAILBOX_KHR";
   1512         default:
   1513             return "Unhandled VkPresentModeKHR";
   1514     }
   1515 }
   1516 
   1517 
   1518 static inline const char* string_VkPrimitiveTopology(VkPrimitiveTopology input_value)
   1519 {
   1520     switch ((VkPrimitiveTopology)input_value)
   1521     {
   1522         case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:
   1523             return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST";
   1524         case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
   1525             return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY";
   1526         case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:
   1527             return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP";
   1528         case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:
   1529             return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY";
   1530         case VK_PRIMITIVE_TOPOLOGY_PATCH_LIST:
   1531             return "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST";
   1532         case VK_PRIMITIVE_TOPOLOGY_POINT_LIST:
   1533             return "VK_PRIMITIVE_TOPOLOGY_POINT_LIST";
   1534         case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN:
   1535             return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN";
   1536         case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:
   1537             return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST";
   1538         case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
   1539             return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY";
   1540         case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP:
   1541             return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP";
   1542         case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
   1543             return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY";
   1544         default:
   1545             return "Unhandled VkPrimitiveTopology";
   1546     }
   1547 }
   1548 
   1549 
   1550 static inline const char* string_VkQueryControlFlagBits(VkQueryControlFlagBits input_value)
   1551 {
   1552     switch ((VkQueryControlFlagBits)input_value)
   1553     {
   1554         case VK_QUERY_CONTROL_PRECISE_BIT:
   1555             return "VK_QUERY_CONTROL_PRECISE_BIT";
   1556         default:
   1557             return "Unhandled VkQueryControlFlagBits";
   1558     }
   1559 }
   1560 
   1561 
   1562 static inline const char* string_VkQueryPipelineStatisticFlagBits(VkQueryPipelineStatisticFlagBits input_value)
   1563 {
   1564     switch ((VkQueryPipelineStatisticFlagBits)input_value)
   1565     {
   1566         case VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT:
   1567             return "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT";
   1568         case VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT:
   1569             return "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT";
   1570         case VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT:
   1571             return "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT";
   1572         case VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT:
   1573             return "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT";
   1574         case VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT:
   1575             return "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT";
   1576         case VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT:
   1577             return "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT";
   1578         case VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT:
   1579             return "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT";
   1580         case VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT:
   1581             return "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT";
   1582         case VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT:
   1583             return "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT";
   1584         case VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT:
   1585             return "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT";
   1586         case VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT:
   1587             return "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT";
   1588         default:
   1589             return "Unhandled VkQueryPipelineStatisticFlagBits";
   1590     }
   1591 }
   1592 
   1593 
   1594 static inline const char* string_VkQueryResultFlagBits(VkQueryResultFlagBits input_value)
   1595 {
   1596     switch ((VkQueryResultFlagBits)input_value)
   1597     {
   1598         case VK_QUERY_RESULT_64_BIT:
   1599             return "VK_QUERY_RESULT_64_BIT";
   1600         case VK_QUERY_RESULT_PARTIAL_BIT:
   1601             return "VK_QUERY_RESULT_PARTIAL_BIT";
   1602         case VK_QUERY_RESULT_WAIT_BIT:
   1603             return "VK_QUERY_RESULT_WAIT_BIT";
   1604         case VK_QUERY_RESULT_WITH_AVAILABILITY_BIT:
   1605             return "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT";
   1606         default:
   1607             return "Unhandled VkQueryResultFlagBits";
   1608     }
   1609 }
   1610 
   1611 
   1612 static inline const char* string_VkQueryType(VkQueryType input_value)
   1613 {
   1614     switch ((VkQueryType)input_value)
   1615     {
   1616         case VK_QUERY_TYPE_OCCLUSION:
   1617             return "VK_QUERY_TYPE_OCCLUSION";
   1618         case VK_QUERY_TYPE_PIPELINE_STATISTICS:
   1619             return "VK_QUERY_TYPE_PIPELINE_STATISTICS";
   1620         case VK_QUERY_TYPE_TIMESTAMP:
   1621             return "VK_QUERY_TYPE_TIMESTAMP";
   1622         default:
   1623             return "Unhandled VkQueryType";
   1624     }
   1625 }
   1626 
   1627 
   1628 static inline const char* string_VkQueueFlagBits(VkQueueFlagBits input_value)
   1629 {
   1630     switch ((VkQueueFlagBits)input_value)
   1631     {
   1632         case VK_QUEUE_COMPUTE_BIT:
   1633             return "VK_QUEUE_COMPUTE_BIT";
   1634         case VK_QUEUE_GRAPHICS_BIT:
   1635             return "VK_QUEUE_GRAPHICS_BIT";
   1636         case VK_QUEUE_SPARSE_BINDING_BIT:
   1637             return "VK_QUEUE_SPARSE_BINDING_BIT";
   1638         case VK_QUEUE_TRANSFER_BIT:
   1639             return "VK_QUEUE_TRANSFER_BIT";
   1640         default:
   1641             return "Unhandled VkQueueFlagBits";
   1642     }
   1643 }
   1644 
   1645 
   1646 static inline const char* string_VkRasterizationOrderAMD(VkRasterizationOrderAMD input_value)
   1647 {
   1648     switch ((VkRasterizationOrderAMD)input_value)
   1649     {
   1650         case VK_RASTERIZATION_ORDER_RELAXED_AMD:
   1651             return "VK_RASTERIZATION_ORDER_RELAXED_AMD";
   1652         case VK_RASTERIZATION_ORDER_STRICT_AMD:
   1653             return "VK_RASTERIZATION_ORDER_STRICT_AMD";
   1654         default:
   1655             return "Unhandled VkRasterizationOrderAMD";
   1656     }
   1657 }
   1658 
   1659 
   1660 static inline const char* string_VkResult(VkResult input_value)
   1661 {
   1662     switch ((VkResult)input_value)
   1663     {
   1664         case VK_ERROR_DEVICE_LOST:
   1665             return "VK_ERROR_DEVICE_LOST";
   1666         case VK_ERROR_EXTENSION_NOT_PRESENT:
   1667             return "VK_ERROR_EXTENSION_NOT_PRESENT";
   1668         case VK_ERROR_FEATURE_NOT_PRESENT:
   1669             return "VK_ERROR_FEATURE_NOT_PRESENT";
   1670         case VK_ERROR_FORMAT_NOT_SUPPORTED:
   1671             return "VK_ERROR_FORMAT_NOT_SUPPORTED";
   1672         case VK_ERROR_FRAGMENTED_POOL:
   1673             return "VK_ERROR_FRAGMENTED_POOL";
   1674         case VK_ERROR_INCOMPATIBLE_DISPLAY_KHR:
   1675             return "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR";
   1676         case VK_ERROR_INCOMPATIBLE_DRIVER:
   1677             return "VK_ERROR_INCOMPATIBLE_DRIVER";
   1678         case VK_ERROR_INITIALIZATION_FAILED:
   1679             return "VK_ERROR_INITIALIZATION_FAILED";
   1680         case VK_ERROR_INVALID_SHADER_NV:
   1681             return "VK_ERROR_INVALID_SHADER_NV";
   1682         case VK_ERROR_LAYER_NOT_PRESENT:
   1683             return "VK_ERROR_LAYER_NOT_PRESENT";
   1684         case VK_ERROR_MEMORY_MAP_FAILED:
   1685             return "VK_ERROR_MEMORY_MAP_FAILED";
   1686         case VK_ERROR_NATIVE_WINDOW_IN_USE_KHR:
   1687             return "VK_ERROR_NATIVE_WINDOW_IN_USE_KHR";
   1688         case VK_ERROR_OUT_OF_DATE_KHR:
   1689             return "VK_ERROR_OUT_OF_DATE_KHR";
   1690         case VK_ERROR_OUT_OF_DEVICE_MEMORY:
   1691             return "VK_ERROR_OUT_OF_DEVICE_MEMORY";
   1692         case VK_ERROR_OUT_OF_HOST_MEMORY:
   1693             return "VK_ERROR_OUT_OF_HOST_MEMORY";
   1694         case VK_ERROR_SURFACE_LOST_KHR:
   1695             return "VK_ERROR_SURFACE_LOST_KHR";
   1696         case VK_ERROR_TOO_MANY_OBJECTS:
   1697             return "VK_ERROR_TOO_MANY_OBJECTS";
   1698         case VK_ERROR_VALIDATION_FAILED_EXT:
   1699             return "VK_ERROR_VALIDATION_FAILED_EXT";
   1700         case VK_EVENT_RESET:
   1701             return "VK_EVENT_RESET";
   1702         case VK_EVENT_SET:
   1703             return "VK_EVENT_SET";
   1704         case VK_INCOMPLETE:
   1705             return "VK_INCOMPLETE";
   1706         case VK_NOT_READY:
   1707             return "VK_NOT_READY";
   1708         case VK_SUBOPTIMAL_KHR:
   1709             return "VK_SUBOPTIMAL_KHR";
   1710         case VK_SUCCESS:
   1711             return "VK_SUCCESS";
   1712         case VK_TIMEOUT:
   1713             return "VK_TIMEOUT";
   1714         default:
   1715             return "Unhandled VkResult";
   1716     }
   1717 }
   1718 
   1719 
   1720 static inline const char* string_VkSampleCountFlagBits(VkSampleCountFlagBits input_value)
   1721 {
   1722     switch ((VkSampleCountFlagBits)input_value)
   1723     {
   1724         case VK_SAMPLE_COUNT_16_BIT:
   1725             return "VK_SAMPLE_COUNT_16_BIT";
   1726         case VK_SAMPLE_COUNT_1_BIT:
   1727             return "VK_SAMPLE_COUNT_1_BIT";
   1728         case VK_SAMPLE_COUNT_2_BIT:
   1729             return "VK_SAMPLE_COUNT_2_BIT";
   1730         case VK_SAMPLE_COUNT_32_BIT:
   1731             return "VK_SAMPLE_COUNT_32_BIT";
   1732         case VK_SAMPLE_COUNT_4_BIT:
   1733             return "VK_SAMPLE_COUNT_4_BIT";
   1734         case VK_SAMPLE_COUNT_64_BIT:
   1735             return "VK_SAMPLE_COUNT_64_BIT";
   1736         case VK_SAMPLE_COUNT_8_BIT:
   1737             return "VK_SAMPLE_COUNT_8_BIT";
   1738         default:
   1739             return "Unhandled VkSampleCountFlagBits";
   1740     }
   1741 }
   1742 
   1743 
   1744 static inline const char* string_VkSamplerAddressMode(VkSamplerAddressMode input_value)
   1745 {
   1746     switch ((VkSamplerAddressMode)input_value)
   1747     {
   1748         case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER:
   1749             return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER";
   1750         case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE:
   1751             return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE";
   1752         case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT:
   1753             return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT";
   1754         case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE:
   1755             return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE";
   1756         case VK_SAMPLER_ADDRESS_MODE_REPEAT:
   1757             return "VK_SAMPLER_ADDRESS_MODE_REPEAT";
   1758         default:
   1759             return "Unhandled VkSamplerAddressMode";
   1760     }
   1761 }
   1762 
   1763 
   1764 static inline const char* string_VkSamplerMipmapMode(VkSamplerMipmapMode input_value)
   1765 {
   1766     switch ((VkSamplerMipmapMode)input_value)
   1767     {
   1768         case VK_SAMPLER_MIPMAP_MODE_LINEAR:
   1769             return "VK_SAMPLER_MIPMAP_MODE_LINEAR";
   1770         case VK_SAMPLER_MIPMAP_MODE_NEAREST:
   1771             return "VK_SAMPLER_MIPMAP_MODE_NEAREST";
   1772         default:
   1773             return "Unhandled VkSamplerMipmapMode";
   1774     }
   1775 }
   1776 
   1777 
   1778 static inline const char* string_VkShaderStageFlagBits(VkShaderStageFlagBits input_value)
   1779 {
   1780     switch ((VkShaderStageFlagBits)input_value)
   1781     {
   1782         case VK_SHADER_STAGE_ALL:
   1783             return "VK_SHADER_STAGE_ALL";
   1784         case VK_SHADER_STAGE_ALL_GRAPHICS:
   1785             return "VK_SHADER_STAGE_ALL_GRAPHICS";
   1786         case VK_SHADER_STAGE_COMPUTE_BIT:
   1787             return "VK_SHADER_STAGE_COMPUTE_BIT";
   1788         case VK_SHADER_STAGE_FRAGMENT_BIT:
   1789             return "VK_SHADER_STAGE_FRAGMENT_BIT";
   1790         case VK_SHADER_STAGE_GEOMETRY_BIT:
   1791             return "VK_SHADER_STAGE_GEOMETRY_BIT";
   1792         case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT:
   1793             return "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT";
   1794         case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT:
   1795             return "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT";
   1796         case VK_SHADER_STAGE_VERTEX_BIT:
   1797             return "VK_SHADER_STAGE_VERTEX_BIT";
   1798         default:
   1799             return "Unhandled VkShaderStageFlagBits";
   1800     }
   1801 }
   1802 
   1803 
   1804 static inline const char* string_VkSharingMode(VkSharingMode input_value)
   1805 {
   1806     switch ((VkSharingMode)input_value)
   1807     {
   1808         case VK_SHARING_MODE_CONCURRENT:
   1809             return "VK_SHARING_MODE_CONCURRENT";
   1810         case VK_SHARING_MODE_EXCLUSIVE:
   1811             return "VK_SHARING_MODE_EXCLUSIVE";
   1812         default:
   1813             return "Unhandled VkSharingMode";
   1814     }
   1815 }
   1816 
   1817 
   1818 static inline const char* string_VkSparseImageFormatFlagBits(VkSparseImageFormatFlagBits input_value)
   1819 {
   1820     switch ((VkSparseImageFormatFlagBits)input_value)
   1821     {
   1822         case VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT:
   1823             return "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT";
   1824         case VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT:
   1825             return "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT";
   1826         case VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT:
   1827             return "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT";
   1828         default:
   1829             return "Unhandled VkSparseImageFormatFlagBits";
   1830     }
   1831 }
   1832 
   1833 
   1834 static inline const char* string_VkSparseMemoryBindFlagBits(VkSparseMemoryBindFlagBits input_value)
   1835 {
   1836     switch ((VkSparseMemoryBindFlagBits)input_value)
   1837     {
   1838         case VK_SPARSE_MEMORY_BIND_METADATA_BIT:
   1839             return "VK_SPARSE_MEMORY_BIND_METADATA_BIT";
   1840         default:
   1841             return "Unhandled VkSparseMemoryBindFlagBits";
   1842     }
   1843 }
   1844 
   1845 
   1846 static inline const char* string_VkStencilFaceFlagBits(VkStencilFaceFlagBits input_value)
   1847 {
   1848     switch ((VkStencilFaceFlagBits)input_value)
   1849     {
   1850         case VK_STENCIL_FACE_BACK_BIT:
   1851             return "VK_STENCIL_FACE_BACK_BIT";
   1852         case VK_STENCIL_FACE_FRONT_BIT:
   1853             return "VK_STENCIL_FACE_FRONT_BIT";
   1854         case VK_STENCIL_FRONT_AND_BACK:
   1855             return "VK_STENCIL_FRONT_AND_BACK";
   1856         default:
   1857             return "Unhandled VkStencilFaceFlagBits";
   1858     }
   1859 }
   1860 
   1861 
   1862 static inline const char* string_VkStencilOp(VkStencilOp input_value)
   1863 {
   1864     switch ((VkStencilOp)input_value)
   1865     {
   1866         case VK_STENCIL_OP_DECREMENT_AND_CLAMP:
   1867             return "VK_STENCIL_OP_DECREMENT_AND_CLAMP";
   1868         case VK_STENCIL_OP_DECREMENT_AND_WRAP:
   1869             return "VK_STENCIL_OP_DECREMENT_AND_WRAP";
   1870         case VK_STENCIL_OP_INCREMENT_AND_CLAMP:
   1871             return "VK_STENCIL_OP_INCREMENT_AND_CLAMP";
   1872         case VK_STENCIL_OP_INCREMENT_AND_WRAP:
   1873             return "VK_STENCIL_OP_INCREMENT_AND_WRAP";
   1874         case VK_STENCIL_OP_INVERT:
   1875             return "VK_STENCIL_OP_INVERT";
   1876         case VK_STENCIL_OP_KEEP:
   1877             return "VK_STENCIL_OP_KEEP";
   1878         case VK_STENCIL_OP_REPLACE:
   1879             return "VK_STENCIL_OP_REPLACE";
   1880         case VK_STENCIL_OP_ZERO:
   1881             return "VK_STENCIL_OP_ZERO";
   1882         default:
   1883             return "Unhandled VkStencilOp";
   1884     }
   1885 }
   1886 
   1887 
   1888 static inline const char* string_VkStructureType(VkStructureType input_value)
   1889 {
   1890     switch ((VkStructureType)input_value)
   1891     {
   1892         case VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR:
   1893             return "VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR";
   1894         case VK_STRUCTURE_TYPE_APPLICATION_INFO:
   1895             return "VK_STRUCTURE_TYPE_APPLICATION_INFO";
   1896         case VK_STRUCTURE_TYPE_BIND_SPARSE_INFO:
   1897             return "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO";
   1898         case VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO:
   1899             return "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO";
   1900         case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:
   1901             return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER";
   1902         case VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO:
   1903             return "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO";
   1904         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO:
   1905             return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO";
   1906         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO:
   1907             return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO";
   1908         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO:
   1909             return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO";
   1910         case VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO:
   1911             return "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO";
   1912         case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO:
   1913             return "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO";
   1914         case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET:
   1915             return "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET";
   1916         case VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT:
   1917             return "VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT";
   1918         case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT:
   1919             return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT";
   1920         case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT:
   1921             return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT";
   1922         case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
   1923             return "VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT";
   1924         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
   1925             return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV";
   1926         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
   1927             return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV";
   1928         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
   1929             return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV";
   1930         case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO:
   1931             return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO";
   1932         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO:
   1933             return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO";
   1934         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO:
   1935             return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO";
   1936         case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO:
   1937             return "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO";
   1938         case VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO:
   1939             return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO";
   1940         case VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR:
   1941             return "VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR";
   1942         case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
   1943             return "VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR";
   1944         case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR:
   1945             return "VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR";
   1946         case VK_STRUCTURE_TYPE_EVENT_CREATE_INFO:
   1947             return "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO";
   1948         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
   1949             return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV";
   1950         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
   1951             return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV";
   1952         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
   1953             return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV";
   1954         case VK_STRUCTURE_TYPE_FENCE_CREATE_INFO:
   1955             return "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO";
   1956         case VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO:
   1957             return "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO";
   1958         case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO:
   1959             return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO";
   1960         case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO:
   1961             return "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO";
   1962         case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:
   1963             return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER";
   1964         case VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO:
   1965             return "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO";
   1966         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
   1967             return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV";
   1968         case VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO:
   1969             return "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO";
   1970         case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO:
   1971             return "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO";
   1972         case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO:
   1973             return "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO";
   1974         case VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE:
   1975             return "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE";
   1976         case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO:
   1977             return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO";
   1978         case VK_STRUCTURE_TYPE_MEMORY_BARRIER:
   1979             return "VK_STRUCTURE_TYPE_MEMORY_BARRIER";
   1980         case VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR:
   1981             return "VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR";
   1982         case VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO:
   1983             return "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO";
   1984         case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO:
   1985             return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO";
   1986         case VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO:
   1987             return "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO";
   1988         case VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO:
   1989             return "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO";
   1990         case VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO:
   1991             return "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO";
   1992         case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO:
   1993             return "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO";
   1994         case VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO:
   1995             return "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO";
   1996         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO:
   1997             return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO";
   1998         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
   1999             return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD";
   2000         case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO:
   2001             return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO";
   2002         case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO:
   2003             return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO";
   2004         case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO:
   2005             return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO";
   2006         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO:
   2007             return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO";
   2008         case VK_STRUCTURE_TYPE_PRESENT_INFO_KHR:
   2009             return "VK_STRUCTURE_TYPE_PRESENT_INFO_KHR";
   2010         case VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO:
   2011             return "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO";
   2012         case VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO:
   2013             return "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO";
   2014         case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO:
   2015             return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO";
   2016         case VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO:
   2017             return "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO";
   2018         case VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO:
   2019             return "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO";
   2020         case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO:
   2021             return "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO";
   2022         case VK_STRUCTURE_TYPE_SUBMIT_INFO:
   2023             return "VK_STRUCTURE_TYPE_SUBMIT_INFO";
   2024         case VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR:
   2025             return "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR";
   2026         case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
   2027             return "VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT";
   2028         case VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR:
   2029             return "VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR";
   2030         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
   2031             return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV";
   2032         case VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR:
   2033             return "VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR";
   2034         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET:
   2035             return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET";
   2036         case VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR:
   2037             return "VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR";
   2038         case VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR:
   2039             return "VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR";
   2040         default:
   2041             return "Unhandled VkStructureType";
   2042     }
   2043 }
   2044 
   2045 
   2046 static inline const char* string_VkSubpassContents(VkSubpassContents input_value)
   2047 {
   2048     switch ((VkSubpassContents)input_value)
   2049     {
   2050         case VK_SUBPASS_CONTENTS_INLINE:
   2051             return "VK_SUBPASS_CONTENTS_INLINE";
   2052         case VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS:
   2053             return "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS";
   2054         default:
   2055             return "Unhandled VkSubpassContents";
   2056     }
   2057 }
   2058 
   2059 
   2060 static inline const char* string_VkSurfaceTransformFlagBitsKHR(VkSurfaceTransformFlagBitsKHR input_value)
   2061 {
   2062     switch ((VkSurfaceTransformFlagBitsKHR)input_value)
   2063     {
   2064         case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR:
   2065             return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR";
   2066         case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR:
   2067             return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR";
   2068         case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR:
   2069             return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR";
   2070         case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR:
   2071             return "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR";
   2072         case VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR:
   2073             return "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR";
   2074         case VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR:
   2075             return "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR";
   2076         case VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR:
   2077             return "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR";
   2078         case VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR:
   2079             return "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR";
   2080         case VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR:
   2081             return "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR";
   2082         default:
   2083             return "Unhandled VkSurfaceTransformFlagBitsKHR";
   2084     }
   2085 }
   2086 
   2087 
   2088 static inline const char* string_VkSystemAllocationScope(VkSystemAllocationScope input_value)
   2089 {
   2090     switch ((VkSystemAllocationScope)input_value)
   2091     {
   2092         case VK_SYSTEM_ALLOCATION_SCOPE_CACHE:
   2093             return "VK_SYSTEM_ALLOCATION_SCOPE_CACHE";
   2094         case VK_SYSTEM_ALLOCATION_SCOPE_COMMAND:
   2095             return "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND";
   2096         case VK_SYSTEM_ALLOCATION_SCOPE_DEVICE:
   2097             return "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE";
   2098         case VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE:
   2099             return "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE";
   2100         case VK_SYSTEM_ALLOCATION_SCOPE_OBJECT:
   2101             return "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT";
   2102         default:
   2103             return "Unhandled VkSystemAllocationScope";
   2104     }
   2105 }
   2106 
   2107 
   2108 static inline const char* string_VkValidationCheckEXT(VkValidationCheckEXT input_value)
   2109 {
   2110     switch ((VkValidationCheckEXT)input_value)
   2111     {
   2112         case VK_VALIDATION_CHECK_ALL_EXT:
   2113             return "VK_VALIDATION_CHECK_ALL_EXT";
   2114         default:
   2115             return "Unhandled VkValidationCheckEXT";
   2116     }
   2117 }
   2118 
   2119 
   2120 static inline const char* string_VkVertexInputRate(VkVertexInputRate input_value)
   2121 {
   2122     switch ((VkVertexInputRate)input_value)
   2123     {
   2124         case VK_VERTEX_INPUT_RATE_INSTANCE:
   2125             return "VK_VERTEX_INPUT_RATE_INSTANCE";
   2126         case VK_VERTEX_INPUT_RATE_VERTEX:
   2127             return "VK_VERTEX_INPUT_RATE_VERTEX";
   2128         default:
   2129             return "Unhandled VkVertexInputRate";
   2130     }
   2131 }
   2132 
   2133