Browse Source

Revert "Add VK Wayland"

This reverts commit 8b29b07f5a0089139ee34074344fe6b9c7d3a693.
Jeroen van Rijn 2 years ago
parent
commit
d8e0a86600

+ 8 - 9
vendor/vulkan/_gen/create_vulkan_odin_wrapper.py

@@ -7,15 +7,14 @@ import os.path
 import math
 
 file_and_urls = [
-    ("vk_platform.h",    'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_platform.h',    True),
-    ("vulkan_core.h",    'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_core.h',    False),
-    ("vk_layer.h",       'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_layer.h',       True),
-    ("vk_icd.h",         'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_icd.h',         True),
-    ("vulkan_win32.h",   'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_win32.h',   False),
-    ("vulkan_metal.h",   'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_metal.h',   False),
-    ("vulkan_macos.h",   'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_macos.h',   False),
-    ("vulkan_ios.h",     'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_ios.h',     False),
-    ("vulkan_wayland.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_wayland.h', False),
+    ("vk_platform.h",  'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_platform.h',  True),
+    ("vulkan_core.h",  'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_core.h',  False),
+    ("vk_layer.h",     'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_layer.h',     True),
+    ("vk_icd.h",       'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_icd.h',       True),
+    ("vulkan_win32.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_win32.h', False),
+    ("vulkan_metal.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_metal.h', False),
+    ("vulkan_macos.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_macos.h', False),
+    ("vulkan_ios.h",   'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_ios.h',   False),
 ]
 
 for file, url, _ in file_and_urls:

+ 0 - 54
vendor/vulkan/_gen/vulkan_wayland.h

@@ -1,54 +0,0 @@
-#ifndef VULKAN_WAYLAND_H_
-#define VULKAN_WAYLAND_H_ 1
-
-/*
-** Copyright 2015-2023 The Khronos Group Inc.
-**
-** SPDX-License-Identifier: Apache-2.0
-*/
-
-/*
-** This header is generated from the Khronos Vulkan XML API Registry.
-**
-*/
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-
-#define VK_KHR_wayland_surface 1
-#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6
-#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
-typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
-typedef struct VkWaylandSurfaceCreateInfoKHR {
-    VkStructureType                   sType;
-    const void*                       pNext;
-    VkWaylandSurfaceCreateFlagsKHR    flags;
-    struct wl_display*                display;
-    struct wl_surface*                surface;
-} VkWaylandSurfaceCreateInfoKHR;
-
-typedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
-typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display);
-
-#ifndef VK_NO_PROTOTYPES
-VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
-    VkInstance                                  instance,
-    const VkWaylandSurfaceCreateInfoKHR*        pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface);
-
-VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    struct wl_display*                          display);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif

+ 834 - 837
vendor/vulkan/core.odin

@@ -1,837 +1,834 @@
-//
-// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
-//
-package vulkan
-API_VERSION_1_0 :: (1<<22) | (0<<12) | (0)
-API_VERSION_1_1 :: (1<<22) | (1<<12) | (0)
-API_VERSION_1_2 :: (1<<22) | (2<<12) | (0)
-API_VERSION_1_3 :: (1<<22) | (3<<12) | (0)
-
-MAKE_VERSION :: proc(major, minor, patch: u32) -> u32 {
-    return (major<<22) | (minor<<12) | (patch)
-}
-
-// Base types
-Flags         :: distinct u32
-Flags64       :: distinct u64
-DeviceSize    :: distinct u64
-DeviceAddress :: distinct u64
-SampleMask    :: distinct u32
-
-Handle                :: distinct rawptr
-NonDispatchableHandle :: distinct u64
-
-SetProcAddressType :: #type proc(p: rawptr, name: cstring)
-
-
-RemoteAddressNV :: distinct rawptr // Declared inline before MemoryGetRemoteAddressInfoNV
-
-// Base constants
-LOD_CLAMP_NONE                :: 1000.0
-REMAINING_MIP_LEVELS          :: ~u32(0)
-REMAINING_ARRAY_LAYERS        :: ~u32(0)
-WHOLE_SIZE                    :: ~u64(0)
-ATTACHMENT_UNUSED             :: ~u32(0)
-TRUE                          :: 1
-FALSE                         :: 0
-QUEUE_FAMILY_IGNORED          :: ~u32(0)
-SUBPASS_EXTERNAL              :: ~u32(0)
-MAX_PHYSICAL_DEVICE_NAME_SIZE :: 256
-UUID_SIZE                     :: 16
-MAX_MEMORY_TYPES              :: 32
-MAX_MEMORY_HEAPS              :: 16
-MAX_EXTENSION_NAME_SIZE       :: 256
-MAX_DESCRIPTION_SIZE          :: 256
-MAX_DEVICE_GROUP_SIZE         :: 32
-LUID_SIZE_KHX                 :: 8
-LUID_SIZE                     :: 8
-MAX_QUEUE_FAMILY_EXTERNAL     :: ~u32(1)
-MAX_GLOBAL_PRIORITY_SIZE_EXT  :: 16
-QUEUE_FAMILY_EXTERNAL         :: MAX_QUEUE_FAMILY_EXTERNAL
-
-// General Constants
-HEADER_VERSION       :: 211
-MAX_DRIVER_NAME_SIZE :: 256
-MAX_DRIVER_INFO_SIZE :: 256
-
-// Vendor Constants
-KHR_surface                                             :: 1
-KHR_SURFACE_SPEC_VERSION                                :: 25
-KHR_SURFACE_EXTENSION_NAME                              :: "VK_KHR_surface"
-KHR_swapchain                                           :: 1
-KHR_SWAPCHAIN_SPEC_VERSION                              :: 70
-KHR_SWAPCHAIN_EXTENSION_NAME                            :: "VK_KHR_swapchain"
-KHR_display                                             :: 1
-KHR_DISPLAY_SPEC_VERSION                                :: 23
-KHR_DISPLAY_EXTENSION_NAME                              :: "VK_KHR_display"
-KHR_display_swapchain                                   :: 1
-KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION                      :: 10
-KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME                    :: "VK_KHR_display_swapchain"
-KHR_sampler_mirror_clamp_to_edge                        :: 1
-KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION           :: 3
-KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME         :: "VK_KHR_sampler_mirror_clamp_to_edge"
-KHR_dynamic_rendering                                   :: 1
-KHR_DYNAMIC_RENDERING_SPEC_VERSION                      :: 1
-KHR_DYNAMIC_RENDERING_EXTENSION_NAME                    :: "VK_KHR_dynamic_rendering"
-KHR_multiview                                           :: 1
-KHR_MULTIVIEW_SPEC_VERSION                              :: 1
-KHR_MULTIVIEW_EXTENSION_NAME                            :: "VK_KHR_multiview"
-KHR_get_physical_device_properties2                     :: 1
-KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION       :: 2
-KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME     :: "VK_KHR_get_physical_device_properties2"
-KHR_device_group                                        :: 1
-KHR_DEVICE_GROUP_SPEC_VERSION                           :: 4
-KHR_DEVICE_GROUP_EXTENSION_NAME                         :: "VK_KHR_device_group"
-KHR_shader_draw_parameters                              :: 1
-KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION                 :: 1
-KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME               :: "VK_KHR_shader_draw_parameters"
-KHR_maintenance1                                        :: 1
-KHR_MAINTENANCE_1_SPEC_VERSION                          :: 2
-KHR_MAINTENANCE_1_EXTENSION_NAME                        :: "VK_KHR_maintenance1"
-KHR_MAINTENANCE1_SPEC_VERSION                           :: KHR_MAINTENANCE_1_SPEC_VERSION
-KHR_MAINTENANCE1_EXTENSION_NAME                         :: KHR_MAINTENANCE_1_EXTENSION_NAME
-KHR_device_group_creation                               :: 1
-KHR_DEVICE_GROUP_CREATION_SPEC_VERSION                  :: 1
-KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME                :: "VK_KHR_device_group_creation"
-MAX_DEVICE_GROUP_SIZE_KHR                               :: MAX_DEVICE_GROUP_SIZE
-KHR_external_memory_capabilities                        :: 1
-KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION           :: 1
-KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME         :: "VK_KHR_external_memory_capabilities"
-LUID_SIZE_KHR                                           :: LUID_SIZE
-KHR_external_memory                                     :: 1
-KHR_EXTERNAL_MEMORY_SPEC_VERSION                        :: 1
-KHR_EXTERNAL_MEMORY_EXTENSION_NAME                      :: "VK_KHR_external_memory"
-QUEUE_FAMILY_EXTERNAL_KHR                               :: QUEUE_FAMILY_EXTERNAL
-KHR_external_memory_fd                                  :: 1
-KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION                     :: 1
-KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME                   :: "VK_KHR_external_memory_fd"
-KHR_external_semaphore_capabilities                     :: 1
-KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION        :: 1
-KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME      :: "VK_KHR_external_semaphore_capabilities"
-KHR_external_semaphore                                  :: 1
-KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION                     :: 1
-KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME                   :: "VK_KHR_external_semaphore"
-KHR_external_semaphore_fd                               :: 1
-KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION                  :: 1
-KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME                :: "VK_KHR_external_semaphore_fd"
-KHR_push_descriptor                                     :: 1
-KHR_PUSH_DESCRIPTOR_SPEC_VERSION                        :: 2
-KHR_PUSH_DESCRIPTOR_EXTENSION_NAME                      :: "VK_KHR_push_descriptor"
-KHR_shader_float16_int8                                 :: 1
-KHR_SHADER_FLOAT16_INT8_SPEC_VERSION                    :: 1
-KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME                  :: "VK_KHR_shader_float16_int8"
-KHR_16bit_storage                                       :: 1
-KHR_16BIT_STORAGE_SPEC_VERSION                          :: 1
-KHR_16BIT_STORAGE_EXTENSION_NAME                        :: "VK_KHR_16bit_storage"
-KHR_incremental_present                                 :: 1
-KHR_INCREMENTAL_PRESENT_SPEC_VERSION                    :: 2
-KHR_INCREMENTAL_PRESENT_EXTENSION_NAME                  :: "VK_KHR_incremental_present"
-KHR_descriptor_update_template                          :: 1
-KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION             :: 1
-KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME           :: "VK_KHR_descriptor_update_template"
-KHR_imageless_framebuffer                               :: 1
-KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION                  :: 1
-KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME                :: "VK_KHR_imageless_framebuffer"
-KHR_create_renderpass2                                  :: 1
-KHR_CREATE_RENDERPASS_2_SPEC_VERSION                    :: 1
-KHR_CREATE_RENDERPASS_2_EXTENSION_NAME                  :: "VK_KHR_create_renderpass2"
-KHR_shared_presentable_image                            :: 1
-KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION               :: 1
-KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME             :: "VK_KHR_shared_presentable_image"
-KHR_external_fence_capabilities                         :: 1
-KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION            :: 1
-KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME          :: "VK_KHR_external_fence_capabilities"
-KHR_external_fence                                      :: 1
-KHR_EXTERNAL_FENCE_SPEC_VERSION                         :: 1
-KHR_EXTERNAL_FENCE_EXTENSION_NAME                       :: "VK_KHR_external_fence"
-KHR_external_fence_fd                                   :: 1
-KHR_EXTERNAL_FENCE_FD_SPEC_VERSION                      :: 1
-KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME                    :: "VK_KHR_external_fence_fd"
-KHR_performance_query                                   :: 1
-KHR_PERFORMANCE_QUERY_SPEC_VERSION                      :: 1
-KHR_PERFORMANCE_QUERY_EXTENSION_NAME                    :: "VK_KHR_performance_query"
-KHR_maintenance2                                        :: 1
-KHR_MAINTENANCE_2_SPEC_VERSION                          :: 1
-KHR_MAINTENANCE_2_EXTENSION_NAME                        :: "VK_KHR_maintenance2"
-KHR_MAINTENANCE2_SPEC_VERSION                           :: KHR_MAINTENANCE_2_SPEC_VERSION
-KHR_MAINTENANCE2_EXTENSION_NAME                         :: KHR_MAINTENANCE_2_EXTENSION_NAME
-KHR_get_surface_capabilities2                           :: 1
-KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION             :: 1
-KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME           :: "VK_KHR_get_surface_capabilities2"
-KHR_variable_pointers                                   :: 1
-KHR_VARIABLE_POINTERS_SPEC_VERSION                      :: 1
-KHR_VARIABLE_POINTERS_EXTENSION_NAME                    :: "VK_KHR_variable_pointers"
-KHR_get_display_properties2                             :: 1
-KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION               :: 1
-KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME             :: "VK_KHR_get_display_properties2"
-KHR_dedicated_allocation                                :: 1
-KHR_DEDICATED_ALLOCATION_SPEC_VERSION                   :: 3
-KHR_DEDICATED_ALLOCATION_EXTENSION_NAME                 :: "VK_KHR_dedicated_allocation"
-KHR_storage_buffer_storage_class                        :: 1
-KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION           :: 1
-KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME         :: "VK_KHR_storage_buffer_storage_class"
-KHR_relaxed_block_layout                                :: 1
-KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION                   :: 1
-KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME                 :: "VK_KHR_relaxed_block_layout"
-KHR_get_memory_requirements2                            :: 1
-KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION              :: 1
-KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME            :: "VK_KHR_get_memory_requirements2"
-KHR_image_format_list                                   :: 1
-KHR_IMAGE_FORMAT_LIST_SPEC_VERSION                      :: 1
-KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME                    :: "VK_KHR_image_format_list"
-KHR_sampler_ycbcr_conversion                            :: 1
-KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION               :: 14
-KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME             :: "VK_KHR_sampler_ycbcr_conversion"
-KHR_bind_memory2                                        :: 1
-KHR_BIND_MEMORY_2_SPEC_VERSION                          :: 1
-KHR_BIND_MEMORY_2_EXTENSION_NAME                        :: "VK_KHR_bind_memory2"
-KHR_maintenance3                                        :: 1
-KHR_MAINTENANCE_3_SPEC_VERSION                          :: 1
-KHR_MAINTENANCE_3_EXTENSION_NAME                        :: "VK_KHR_maintenance3"
-KHR_MAINTENANCE3_SPEC_VERSION                           :: KHR_MAINTENANCE_3_SPEC_VERSION
-KHR_MAINTENANCE3_EXTENSION_NAME                         :: KHR_MAINTENANCE_3_EXTENSION_NAME
-KHR_draw_indirect_count                                 :: 1
-KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION                    :: 1
-KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME                  :: "VK_KHR_draw_indirect_count"
-KHR_shader_subgroup_extended_types                      :: 1
-KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION         :: 1
-KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME       :: "VK_KHR_shader_subgroup_extended_types"
-KHR_8bit_storage                                        :: 1
-KHR_8BIT_STORAGE_SPEC_VERSION                           :: 1
-KHR_8BIT_STORAGE_EXTENSION_NAME                         :: "VK_KHR_8bit_storage"
-KHR_shader_atomic_int64                                 :: 1
-KHR_SHADER_ATOMIC_INT64_SPEC_VERSION                    :: 1
-KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME                  :: "VK_KHR_shader_atomic_int64"
-KHR_shader_clock                                        :: 1
-KHR_SHADER_CLOCK_SPEC_VERSION                           :: 1
-KHR_SHADER_CLOCK_EXTENSION_NAME                         :: "VK_KHR_shader_clock"
-KHR_global_priority                                     :: 1
-MAX_GLOBAL_PRIORITY_SIZE_KHR                            :: 16
-KHR_GLOBAL_PRIORITY_SPEC_VERSION                        :: 1
-KHR_GLOBAL_PRIORITY_EXTENSION_NAME                      :: "VK_KHR_global_priority"
-KHR_driver_properties                                   :: 1
-KHR_DRIVER_PROPERTIES_SPEC_VERSION                      :: 1
-KHR_DRIVER_PROPERTIES_EXTENSION_NAME                    :: "VK_KHR_driver_properties"
-MAX_DRIVER_NAME_SIZE_KHR                                :: MAX_DRIVER_NAME_SIZE
-MAX_DRIVER_INFO_SIZE_KHR                                :: MAX_DRIVER_INFO_SIZE
-KHR_shader_float_controls                               :: 1
-KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION                  :: 4
-KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME                :: "VK_KHR_shader_float_controls"
-KHR_depth_stencil_resolve                               :: 1
-KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION                  :: 1
-KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME                :: "VK_KHR_depth_stencil_resolve"
-KHR_swapchain_mutable_format                            :: 1
-KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION               :: 1
-KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME             :: "VK_KHR_swapchain_mutable_format"
-KHR_timeline_semaphore                                  :: 1
-KHR_TIMELINE_SEMAPHORE_SPEC_VERSION                     :: 2
-KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME                   :: "VK_KHR_timeline_semaphore"
-KHR_vulkan_memory_model                                 :: 1
-KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION                    :: 3
-KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME                  :: "VK_KHR_vulkan_memory_model"
-KHR_shader_terminate_invocation                         :: 1
-KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION            :: 1
-KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME          :: "VK_KHR_shader_terminate_invocation"
-KHR_fragment_shading_rate                               :: 1
-KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION                  :: 2
-KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME                :: "VK_KHR_fragment_shading_rate"
-KHR_spirv_1_4                                           :: 1
-KHR_SPIRV_1_4_SPEC_VERSION                              :: 1
-KHR_SPIRV_1_4_EXTENSION_NAME                            :: "VK_KHR_spirv_1_4"
-KHR_surface_protected_capabilities                      :: 1
-KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION         :: 1
-KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME       :: "VK_KHR_surface_protected_capabilities"
-KHR_separate_depth_stencil_layouts                      :: 1
-KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION         :: 1
-KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME       :: "VK_KHR_separate_depth_stencil_layouts"
-KHR_present_wait                                        :: 1
-KHR_PRESENT_WAIT_SPEC_VERSION                           :: 1
-KHR_PRESENT_WAIT_EXTENSION_NAME                         :: "VK_KHR_present_wait"
-KHR_uniform_buffer_standard_layout                      :: 1
-KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION         :: 1
-KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME       :: "VK_KHR_uniform_buffer_standard_layout"
-KHR_buffer_device_address                               :: 1
-KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION                  :: 1
-KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME                :: "VK_KHR_buffer_device_address"
-KHR_deferred_host_operations                            :: 1
-KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION               :: 4
-KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME             :: "VK_KHR_deferred_host_operations"
-KHR_pipeline_executable_properties                      :: 1
-KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION         :: 1
-KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME       :: "VK_KHR_pipeline_executable_properties"
-KHR_shader_integer_dot_product                          :: 1
-KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION             :: 1
-KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME           :: "VK_KHR_shader_integer_dot_product"
-KHR_pipeline_library                                    :: 1
-KHR_PIPELINE_LIBRARY_SPEC_VERSION                       :: 1
-KHR_PIPELINE_LIBRARY_EXTENSION_NAME                     :: "VK_KHR_pipeline_library"
-KHR_shader_non_semantic_info                            :: 1
-KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION               :: 1
-KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME             :: "VK_KHR_shader_non_semantic_info"
-KHR_present_id                                          :: 1
-KHR_PRESENT_ID_SPEC_VERSION                             :: 1
-KHR_PRESENT_ID_EXTENSION_NAME                           :: "VK_KHR_present_id"
-KHR_synchronization2                                    :: 1
-KHR_SYNCHRONIZATION_2_SPEC_VERSION                      :: 1
-KHR_SYNCHRONIZATION_2_EXTENSION_NAME                    :: "VK_KHR_synchronization2"
-KHR_shader_subgroup_uniform_control_flow                :: 1
-KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION   :: 1
-KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME :: "VK_KHR_shader_subgroup_uniform_control_flow"
-KHR_zero_initialize_workgroup_memory                    :: 1
-KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION       :: 1
-KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME     :: "VK_KHR_zero_initialize_workgroup_memory"
-KHR_workgroup_memory_explicit_layout                    :: 1
-KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION       :: 1
-KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME     :: "VK_KHR_workgroup_memory_explicit_layout"
-KHR_copy_commands2                                      :: 1
-KHR_COPY_COMMANDS_2_SPEC_VERSION                        :: 1
-KHR_COPY_COMMANDS_2_EXTENSION_NAME                      :: "VK_KHR_copy_commands2"
-KHR_format_feature_flags2                               :: 1
-KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION                 :: 1
-KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME               :: "VK_KHR_format_feature_flags2"
-KHR_portability_enumeration                             :: 1
-KHR_PORTABILITY_ENUMERATION_SPEC_VERSION                :: 1
-KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME              :: "VK_KHR_portability_enumeration"
-KHR_maintenance4                                        :: 1
-KHR_MAINTENANCE_4_SPEC_VERSION                          :: 2
-KHR_MAINTENANCE_4_EXTENSION_NAME                        :: "VK_KHR_maintenance4"
-EXT_debug_report                                        :: 1
-EXT_DEBUG_REPORT_SPEC_VERSION                           :: 10
-EXT_DEBUG_REPORT_EXTENSION_NAME                         :: "VK_EXT_debug_report"
-NV_glsl_shader                                          :: 1
-NV_GLSL_SHADER_SPEC_VERSION                             :: 1
-NV_GLSL_SHADER_EXTENSION_NAME                           :: "VK_NV_glsl_shader"
-EXT_depth_range_unrestricted                            :: 1
-EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION               :: 1
-EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME             :: "VK_EXT_depth_range_unrestricted"
-AMD_rasterization_order                                 :: 1
-AMD_RASTERIZATION_ORDER_SPEC_VERSION                    :: 1
-AMD_RASTERIZATION_ORDER_EXTENSION_NAME                  :: "VK_AMD_rasterization_order"
-AMD_shader_trinary_minmax                               :: 1
-AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION                  :: 1
-AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME                :: "VK_AMD_shader_trinary_minmax"
-AMD_shader_explicit_vertex_parameter                    :: 1
-AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION       :: 1
-AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME     :: "VK_AMD_shader_explicit_vertex_parameter"
-EXT_debug_marker                                        :: 1
-EXT_DEBUG_MARKER_SPEC_VERSION                           :: 4
-EXT_DEBUG_MARKER_EXTENSION_NAME                         :: "VK_EXT_debug_marker"
-AMD_gcn_shader                                          :: 1
-AMD_GCN_SHADER_SPEC_VERSION                             :: 1
-AMD_GCN_SHADER_EXTENSION_NAME                           :: "VK_AMD_gcn_shader"
-NV_dedicated_allocation                                 :: 1
-NV_DEDICATED_ALLOCATION_SPEC_VERSION                    :: 1
-NV_DEDICATED_ALLOCATION_EXTENSION_NAME                  :: "VK_NV_dedicated_allocation"
-EXT_transform_feedback                                  :: 1
-EXT_TRANSFORM_FEEDBACK_SPEC_VERSION                     :: 1
-EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME                   :: "VK_EXT_transform_feedback"
-NVX_binary_import                                       :: 1
-NVX_BINARY_IMPORT_SPEC_VERSION                          :: 1
-NVX_BINARY_IMPORT_EXTENSION_NAME                        :: "VK_NVX_binary_import"
-NVX_image_view_handle                                   :: 1
-NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION                      :: 2
-NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME                    :: "VK_NVX_image_view_handle"
-AMD_draw_indirect_count                                 :: 1
-AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION                    :: 2
-AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME                  :: "VK_AMD_draw_indirect_count"
-AMD_negative_viewport_height                            :: 1
-AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION               :: 1
-AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME             :: "VK_AMD_negative_viewport_height"
-AMD_gpu_shader_half_float                               :: 1
-AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION                  :: 2
-AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME                :: "VK_AMD_gpu_shader_half_float"
-AMD_shader_ballot                                       :: 1
-AMD_SHADER_BALLOT_SPEC_VERSION                          :: 1
-AMD_SHADER_BALLOT_EXTENSION_NAME                        :: "VK_AMD_shader_ballot"
-AMD_texture_gather_bias_lod                             :: 1
-AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION                :: 1
-AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME              :: "VK_AMD_texture_gather_bias_lod"
-AMD_shader_info                                         :: 1
-AMD_SHADER_INFO_SPEC_VERSION                            :: 1
-AMD_SHADER_INFO_EXTENSION_NAME                          :: "VK_AMD_shader_info"
-AMD_shader_image_load_store_lod                         :: 1
-AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION            :: 1
-AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME          :: "VK_AMD_shader_image_load_store_lod"
-NV_corner_sampled_image                                 :: 1
-NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION                    :: 2
-NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME                  :: "VK_NV_corner_sampled_image"
-NV_external_memory_capabilities                         :: 1
-NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION            :: 1
-NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME          :: "VK_NV_external_memory_capabilities"
-NV_external_memory                                      :: 1
-NV_EXTERNAL_MEMORY_SPEC_VERSION                         :: 1
-NV_EXTERNAL_MEMORY_EXTENSION_NAME                       :: "VK_NV_external_memory"
-EXT_validation_flags                                    :: 1
-EXT_VALIDATION_FLAGS_SPEC_VERSION                       :: 2
-EXT_VALIDATION_FLAGS_EXTENSION_NAME                     :: "VK_EXT_validation_flags"
-EXT_shader_subgroup_ballot                              :: 1
-EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION                 :: 1
-EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME               :: "VK_EXT_shader_subgroup_ballot"
-EXT_shader_subgroup_vote                                :: 1
-EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION                   :: 1
-EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME                 :: "VK_EXT_shader_subgroup_vote"
-EXT_texture_compression_astc_hdr                        :: 1
-EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION           :: 1
-EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME         :: "VK_EXT_texture_compression_astc_hdr"
-EXT_astc_decode_mode                                    :: 1
-EXT_ASTC_DECODE_MODE_SPEC_VERSION                       :: 1
-EXT_ASTC_DECODE_MODE_EXTENSION_NAME                     :: "VK_EXT_astc_decode_mode"
-EXT_conditional_rendering                               :: 1
-EXT_CONDITIONAL_RENDERING_SPEC_VERSION                  :: 2
-EXT_CONDITIONAL_RENDERING_EXTENSION_NAME                :: "VK_EXT_conditional_rendering"
-NV_clip_space_w_scaling                                 :: 1
-NV_CLIP_SPACE_W_SCALING_SPEC_VERSION                    :: 1
-NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME                  :: "VK_NV_clip_space_w_scaling"
-EXT_direct_mode_display                                 :: 1
-EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION                    :: 1
-EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME                  :: "VK_EXT_direct_mode_display"
-EXT_display_surface_counter                             :: 1
-EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION                :: 1
-EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME              :: "VK_EXT_display_surface_counter"
-EXT_display_control                                     :: 1
-EXT_DISPLAY_CONTROL_SPEC_VERSION                        :: 1
-EXT_DISPLAY_CONTROL_EXTENSION_NAME                      :: "VK_EXT_display_control"
-GOOGLE_display_timing                                   :: 1
-GOOGLE_DISPLAY_TIMING_SPEC_VERSION                      :: 1
-GOOGLE_DISPLAY_TIMING_EXTENSION_NAME                    :: "VK_GOOGLE_display_timing"
-NV_sample_mask_override_coverage                        :: 1
-NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION           :: 1
-NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME         :: "VK_NV_sample_mask_override_coverage"
-NV_geometry_shader_passthrough                          :: 1
-NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION             :: 1
-NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME           :: "VK_NV_geometry_shader_passthrough"
-NV_viewport_array2                                      :: 1
-NV_VIEWPORT_ARRAY_2_SPEC_VERSION                        :: 1
-NV_VIEWPORT_ARRAY_2_EXTENSION_NAME                      :: "VK_NV_viewport_array2"
-NV_VIEWPORT_ARRAY2_SPEC_VERSION                         :: NV_VIEWPORT_ARRAY_2_SPEC_VERSION
-NV_VIEWPORT_ARRAY2_EXTENSION_NAME                       :: NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
-NVX_multiview_per_view_attributes                       :: 1
-NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION          :: 1
-NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME        :: "VK_NVX_multiview_per_view_attributes"
-NV_viewport_swizzle                                     :: 1
-NV_VIEWPORT_SWIZZLE_SPEC_VERSION                        :: 1
-NV_VIEWPORT_SWIZZLE_EXTENSION_NAME                      :: "VK_NV_viewport_swizzle"
-EXT_discard_rectangles                                  :: 1
-EXT_DISCARD_RECTANGLES_SPEC_VERSION                     :: 1
-EXT_DISCARD_RECTANGLES_EXTENSION_NAME                   :: "VK_EXT_discard_rectangles"
-EXT_conservative_rasterization                          :: 1
-EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION             :: 1
-EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME           :: "VK_EXT_conservative_rasterization"
-EXT_depth_clip_enable                                   :: 1
-EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION                      :: 1
-EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME                    :: "VK_EXT_depth_clip_enable"
-EXT_swapchain_colorspace                                :: 1
-EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION                  :: 4
-EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME                :: "VK_EXT_swapchain_colorspace"
-EXT_hdr_metadata                                        :: 1
-EXT_HDR_METADATA_SPEC_VERSION                           :: 2
-EXT_HDR_METADATA_EXTENSION_NAME                         :: "VK_EXT_hdr_metadata"
-EXT_external_memory_dma_buf                             :: 1
-EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION                :: 1
-EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME              :: "VK_EXT_external_memory_dma_buf"
-EXT_queue_family_foreign                                :: 1
-EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION                   :: 1
-EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME                 :: "VK_EXT_queue_family_foreign"
-EXT_debug_utils                                         :: 1
-EXT_DEBUG_UTILS_SPEC_VERSION                            :: 2
-EXT_DEBUG_UTILS_EXTENSION_NAME                          :: "VK_EXT_debug_utils"
-EXT_sampler_filter_minmax                               :: 1
-EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION                  :: 2
-EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME                :: "VK_EXT_sampler_filter_minmax"
-AMD_gpu_shader_int16                                    :: 1
-AMD_GPU_SHADER_INT16_SPEC_VERSION                       :: 2
-AMD_GPU_SHADER_INT16_EXTENSION_NAME                     :: "VK_AMD_gpu_shader_int16"
-AMD_mixed_attachment_samples                            :: 1
-AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION               :: 1
-AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME             :: "VK_AMD_mixed_attachment_samples"
-AMD_shader_fragment_mask                                :: 1
-AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION                   :: 1
-AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME                 :: "VK_AMD_shader_fragment_mask"
-EXT_inline_uniform_block                                :: 1
-EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION                   :: 1
-EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME                 :: "VK_EXT_inline_uniform_block"
-EXT_shader_stencil_export                               :: 1
-EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION                  :: 1
-EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME                :: "VK_EXT_shader_stencil_export"
-EXT_sample_locations                                    :: 1
-EXT_SAMPLE_LOCATIONS_SPEC_VERSION                       :: 1
-EXT_SAMPLE_LOCATIONS_EXTENSION_NAME                     :: "VK_EXT_sample_locations"
-EXT_blend_operation_advanced                            :: 1
-EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION               :: 2
-EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME             :: "VK_EXT_blend_operation_advanced"
-NV_fragment_coverage_to_color                           :: 1
-NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION              :: 1
-NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME            :: "VK_NV_fragment_coverage_to_color"
-NV_framebuffer_mixed_samples                            :: 1
-NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION               :: 1
-NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME             :: "VK_NV_framebuffer_mixed_samples"
-NV_fill_rectangle                                       :: 1
-NV_FILL_RECTANGLE_SPEC_VERSION                          :: 1
-NV_FILL_RECTANGLE_EXTENSION_NAME                        :: "VK_NV_fill_rectangle"
-NV_shader_sm_builtins                                   :: 1
-NV_SHADER_SM_BUILTINS_SPEC_VERSION                      :: 1
-NV_SHADER_SM_BUILTINS_EXTENSION_NAME                    :: "VK_NV_shader_sm_builtins"
-EXT_post_depth_coverage                                 :: 1
-EXT_POST_DEPTH_COVERAGE_SPEC_VERSION                    :: 1
-EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME                  :: "VK_EXT_post_depth_coverage"
-EXT_image_drm_format_modifier                           :: 1
-EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION              :: 2
-EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME            :: "VK_EXT_image_drm_format_modifier"
-EXT_validation_cache                                    :: 1
-EXT_VALIDATION_CACHE_SPEC_VERSION                       :: 1
-EXT_VALIDATION_CACHE_EXTENSION_NAME                     :: "VK_EXT_validation_cache"
-EXT_descriptor_indexing                                 :: 1
-EXT_DESCRIPTOR_INDEXING_SPEC_VERSION                    :: 2
-EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME                  :: "VK_EXT_descriptor_indexing"
-EXT_shader_viewport_index_layer                         :: 1
-EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION            :: 1
-EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME          :: "VK_EXT_shader_viewport_index_layer"
-NV_shading_rate_image                                   :: 1
-NV_SHADING_RATE_IMAGE_SPEC_VERSION                      :: 3
-NV_SHADING_RATE_IMAGE_EXTENSION_NAME                    :: "VK_NV_shading_rate_image"
-NV_ray_tracing                                          :: 1
-NV_RAY_TRACING_SPEC_VERSION                             :: 3
-NV_RAY_TRACING_EXTENSION_NAME                           :: "VK_NV_ray_tracing"
-SHADER_UNUSED_KHR                                       :: 0
-NV_representative_fragment_test                         :: 1
-NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION            :: 2
-NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME          :: "VK_NV_representative_fragment_test"
-EXT_filter_cubic                                        :: 1
-EXT_FILTER_CUBIC_SPEC_VERSION                           :: 3
-EXT_FILTER_CUBIC_EXTENSION_NAME                         :: "VK_EXT_filter_cubic"
-EXT_global_priority                                     :: 1
-EXT_GLOBAL_PRIORITY_SPEC_VERSION                        :: 2
-EXT_GLOBAL_PRIORITY_EXTENSION_NAME                      :: "VK_EXT_global_priority"
-EXT_external_memory_host                                :: 1
-EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION                   :: 1
-EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME                 :: "VK_EXT_external_memory_host"
-AMD_buffer_marker                                       :: 1
-AMD_BUFFER_MARKER_SPEC_VERSION                          :: 1
-AMD_BUFFER_MARKER_EXTENSION_NAME                        :: "VK_AMD_buffer_marker"
-AMD_pipeline_compiler_control                           :: 1
-AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION              :: 1
-AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME            :: "VK_AMD_pipeline_compiler_control"
-EXT_calibrated_timestamps                               :: 1
-EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION                  :: 2
-EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME                :: "VK_EXT_calibrated_timestamps"
-AMD_shader_core_properties                              :: 1
-AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION                 :: 2
-AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME               :: "VK_AMD_shader_core_properties"
-AMD_memory_overallocation_behavior                      :: 1
-AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION         :: 1
-AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME       :: "VK_AMD_memory_overallocation_behavior"
-EXT_vertex_attribute_divisor                            :: 1
-EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION               :: 3
-EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME             :: "VK_EXT_vertex_attribute_divisor"
-EXT_pipeline_creation_feedback                          :: 1
-EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION             :: 1
-EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME           :: "VK_EXT_pipeline_creation_feedback"
-NV_shader_subgroup_partitioned                          :: 1
-NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION             :: 1
-NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME           :: "VK_NV_shader_subgroup_partitioned"
-NV_compute_shader_derivatives                           :: 1
-NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION              :: 1
-NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME            :: "VK_NV_compute_shader_derivatives"
-NV_mesh_shader                                          :: 1
-NV_MESH_SHADER_SPEC_VERSION                             :: 1
-NV_MESH_SHADER_EXTENSION_NAME                           :: "VK_NV_mesh_shader"
-NV_fragment_shader_barycentric                          :: 1
-NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION             :: 1
-NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME           :: "VK_NV_fragment_shader_barycentric"
-NV_shader_image_footprint                               :: 1
-NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION                  :: 2
-NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME                :: "VK_NV_shader_image_footprint"
-NV_scissor_exclusive                                    :: 1
-NV_SCISSOR_EXCLUSIVE_SPEC_VERSION                       :: 1
-NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME                     :: "VK_NV_scissor_exclusive"
-NV_device_diagnostic_checkpoints                        :: 1
-NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION           :: 2
-NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME         :: "VK_NV_device_diagnostic_checkpoints"
-EXT_pci_bus_info                                        :: 1
-EXT_PCI_BUS_INFO_SPEC_VERSION                           :: 2
-EXT_PCI_BUS_INFO_EXTENSION_NAME                         :: "VK_EXT_pci_bus_info"
-AMD_display_native_hdr                                  :: 1
-AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION                     :: 1
-AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME                   :: "VK_AMD_display_native_hdr"
-EXT_fragment_density_map                                :: 1
-EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION                   :: 2
-EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME                 :: "VK_EXT_fragment_density_map"
-EXT_scalar_block_layout                                 :: 1
-EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION                    :: 1
-EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME                  :: "VK_EXT_scalar_block_layout"
-GOOGLE_hlsl_functionality1                              :: 1
-GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION                :: 1
-GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME              :: "VK_GOOGLE_hlsl_functionality1"
-GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION                 :: GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
-GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME               :: GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
-GOOGLE_decorate_string                                  :: 1
-GOOGLE_DECORATE_STRING_SPEC_VERSION                     :: 1
-GOOGLE_DECORATE_STRING_EXTENSION_NAME                   :: "VK_GOOGLE_decorate_string"
-EXT_subgroup_size_control                               :: 1
-EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION                  :: 2
-EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME                :: "VK_EXT_subgroup_size_control"
-AMD_shader_core_properties2                             :: 1
-AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION               :: 1
-AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME             :: "VK_AMD_shader_core_properties2"
-AMD_device_coherent_memory                              :: 1
-AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION                 :: 1
-AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME               :: "VK_AMD_device_coherent_memory"
-EXT_shader_image_atomic_int64                           :: 1
-EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION              :: 1
-EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME            :: "VK_EXT_shader_image_atomic_int64"
-EXT_memory_budget                                       :: 1
-EXT_MEMORY_BUDGET_SPEC_VERSION                          :: 1
-EXT_MEMORY_BUDGET_EXTENSION_NAME                        :: "VK_EXT_memory_budget"
-EXT_memory_priority                                     :: 1
-EXT_MEMORY_PRIORITY_SPEC_VERSION                        :: 1
-EXT_MEMORY_PRIORITY_EXTENSION_NAME                      :: "VK_EXT_memory_priority"
-NV_dedicated_allocation_image_aliasing                  :: 1
-NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION     :: 1
-NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME   :: "VK_NV_dedicated_allocation_image_aliasing"
-EXT_buffer_device_address                               :: 1
-EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION                  :: 2
-EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME                :: "VK_EXT_buffer_device_address"
-EXT_tooling_info                                        :: 1
-EXT_TOOLING_INFO_SPEC_VERSION                           :: 1
-EXT_TOOLING_INFO_EXTENSION_NAME                         :: "VK_EXT_tooling_info"
-EXT_separate_stencil_usage                              :: 1
-EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION                 :: 1
-EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME               :: "VK_EXT_separate_stencil_usage"
-EXT_validation_features                                 :: 1
-EXT_VALIDATION_FEATURES_SPEC_VERSION                    :: 5
-EXT_VALIDATION_FEATURES_EXTENSION_NAME                  :: "VK_EXT_validation_features"
-NV_cooperative_matrix                                   :: 1
-NV_COOPERATIVE_MATRIX_SPEC_VERSION                      :: 1
-NV_COOPERATIVE_MATRIX_EXTENSION_NAME                    :: "VK_NV_cooperative_matrix"
-NV_coverage_reduction_mode                              :: 1
-NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION                 :: 1
-NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME               :: "VK_NV_coverage_reduction_mode"
-EXT_fragment_shader_interlock                           :: 1
-EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION              :: 1
-EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME            :: "VK_EXT_fragment_shader_interlock"
-EXT_ycbcr_image_arrays                                  :: 1
-EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION                     :: 1
-EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME                   :: "VK_EXT_ycbcr_image_arrays"
-EXT_provoking_vertex                                    :: 1
-EXT_PROVOKING_VERTEX_SPEC_VERSION                       :: 1
-EXT_PROVOKING_VERTEX_EXTENSION_NAME                     :: "VK_EXT_provoking_vertex"
-EXT_headless_surface                                    :: 1
-EXT_HEADLESS_SURFACE_SPEC_VERSION                       :: 1
-EXT_HEADLESS_SURFACE_EXTENSION_NAME                     :: "VK_EXT_headless_surface"
-EXT_line_rasterization                                  :: 1
-EXT_LINE_RASTERIZATION_SPEC_VERSION                     :: 1
-EXT_LINE_RASTERIZATION_EXTENSION_NAME                   :: "VK_EXT_line_rasterization"
-EXT_shader_atomic_float                                 :: 1
-EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION                    :: 1
-EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME                  :: "VK_EXT_shader_atomic_float"
-EXT_host_query_reset                                    :: 1
-EXT_HOST_QUERY_RESET_SPEC_VERSION                       :: 1
-EXT_HOST_QUERY_RESET_EXTENSION_NAME                     :: "VK_EXT_host_query_reset"
-EXT_index_type_uint8                                    :: 1
-EXT_INDEX_TYPE_UINT8_SPEC_VERSION                       :: 1
-EXT_INDEX_TYPE_UINT8_EXTENSION_NAME                     :: "VK_EXT_index_type_uint8"
-EXT_extended_dynamic_state                              :: 1
-EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION                 :: 1
-EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME               :: "VK_EXT_extended_dynamic_state"
-EXT_shader_atomic_float2                                :: 1
-EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION                  :: 1
-EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME                :: "VK_EXT_shader_atomic_float2"
-EXT_shader_demote_to_helper_invocation                  :: 1
-EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION     :: 1
-EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME   :: "VK_EXT_shader_demote_to_helper_invocation"
-NV_device_generated_commands                            :: 1
-NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION               :: 3
-NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME             :: "VK_NV_device_generated_commands"
-NV_inherited_viewport_scissor                           :: 1
-NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION              :: 1
-NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME            :: "VK_NV_inherited_viewport_scissor"
-EXT_texel_buffer_alignment                              :: 1
-EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION                 :: 1
-EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME               :: "VK_EXT_texel_buffer_alignment"
-EXT_device_memory_report                                :: 1
-EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION                   :: 2
-EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME                 :: "VK_EXT_device_memory_report"
-EXT_acquire_drm_display                                 :: 1
-EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION                    :: 1
-EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME                  :: "VK_EXT_acquire_drm_display"
-EXT_robustness2                                         :: 1
-EXT_ROBUSTNESS_2_SPEC_VERSION                           :: 1
-EXT_ROBUSTNESS_2_EXTENSION_NAME                         :: "VK_EXT_robustness2"
-EXT_custom_border_color                                 :: 1
-EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION                    :: 12
-EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME                  :: "VK_EXT_custom_border_color"
-GOOGLE_user_type                                        :: 1
-GOOGLE_USER_TYPE_SPEC_VERSION                           :: 1
-GOOGLE_USER_TYPE_EXTENSION_NAME                         :: "VK_GOOGLE_user_type"
-EXT_private_data                                        :: 1
-EXT_PRIVATE_DATA_SPEC_VERSION                           :: 1
-EXT_PRIVATE_DATA_EXTENSION_NAME                         :: "VK_EXT_private_data"
-EXT_pipeline_creation_cache_control                     :: 1
-EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION        :: 3
-EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME      :: "VK_EXT_pipeline_creation_cache_control"
-NV_device_diagnostics_config                            :: 1
-NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION               :: 1
-NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME             :: "VK_NV_device_diagnostics_config"
-EXT_graphics_pipeline_library                           :: 1
-EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION              :: 1
-EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME            :: "VK_EXT_graphics_pipeline_library"
-NV_fragment_shading_rate_enums                          :: 1
-NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION             :: 1
-NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME           :: "VK_NV_fragment_shading_rate_enums"
-NV_ray_tracing_motion_blur                              :: 1
-NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION                 :: 1
-NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME               :: "VK_NV_ray_tracing_motion_blur"
-EXT_ycbcr_2plane_444_formats                            :: 1
-EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION               :: 1
-EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME             :: "VK_EXT_ycbcr_2plane_444_formats"
-EXT_fragment_density_map2                               :: 1
-EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION                 :: 1
-EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME               :: "VK_EXT_fragment_density_map2"
-EXT_image_robustness                                    :: 1
-EXT_IMAGE_ROBUSTNESS_SPEC_VERSION                       :: 1
-EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME                     :: "VK_EXT_image_robustness"
-EXT_4444_formats                                        :: 1
-EXT_4444_FORMATS_SPEC_VERSION                           :: 1
-EXT_4444_FORMATS_EXTENSION_NAME                         :: "VK_EXT_4444_formats"
-EXT_rgba10x6_formats                                    :: 1
-EXT_RGBA10X6_FORMATS_SPEC_VERSION                       :: 1
-EXT_RGBA10X6_FORMATS_EXTENSION_NAME                     :: "VK_EXT_rgba10x6_formats"
-NV_acquire_winrt_display                                :: 1
-NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION                   :: 1
-NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME                 :: "VK_NV_acquire_winrt_display"
-EXT_vertex_input_dynamic_state                          :: 1
-EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION             :: 2
-EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME           :: "VK_EXT_vertex_input_dynamic_state"
-EXT_physical_device_drm                                 :: 1
-EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION                    :: 1
-EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME                  :: "VK_EXT_physical_device_drm"
-EXT_depth_clip_control                                  :: 1
-EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION                     :: 1
-EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME                   :: "VK_EXT_depth_clip_control"
-EXT_primitive_topology_list_restart                     :: 1
-EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION        :: 1
-EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME      :: "VK_EXT_primitive_topology_list_restart"
-NV_external_memory_rdma                                 :: 1
-NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION                    :: 1
-NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME                  :: "VK_NV_external_memory_rdma"
-EXT_extended_dynamic_state2                             :: 1
-EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION               :: 1
-EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME             :: "VK_EXT_extended_dynamic_state2"
-EXT_color_write_enable                                  :: 1
-EXT_COLOR_WRITE_ENABLE_SPEC_VERSION                     :: 1
-EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME                   :: "VK_EXT_color_write_enable"
-EXT_primitives_generated_query                          :: 1
-EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION             :: 1
-EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME           :: "VK_EXT_primitives_generated_query"
-EXT_global_priority_query                               :: 1
-EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION                  :: 1
-EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME                :: "VK_EXT_global_priority_query"
-EXT_image_view_min_lod                                  :: 1
-EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION                     :: 1
-EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME                   :: "VK_EXT_image_view_min_lod"
-EXT_multi_draw                                          :: 1
-EXT_MULTI_DRAW_SPEC_VERSION                             :: 1
-EXT_MULTI_DRAW_EXTENSION_NAME                           :: "VK_EXT_multi_draw"
-EXT_image_2d_view_of_3d                                 :: 1
-EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION                    :: 1
-EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME                  :: "VK_EXT_image_2d_view_of_3d"
-EXT_load_store_op_none                                  :: 1
-EXT_LOAD_STORE_OP_NONE_SPEC_VERSION                     :: 1
-EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME                   :: "VK_EXT_load_store_op_none"
-EXT_border_color_swizzle                                :: 1
-EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION                   :: 1
-EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME                 :: "VK_EXT_border_color_swizzle"
-EXT_pageable_device_local_memory                        :: 1
-EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION           :: 1
-EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME         :: "VK_EXT_pageable_device_local_memory"
-NV_linear_color_attachment                              :: 1
-NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION                 :: 1
-NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME               :: "VK_NV_linear_color_attachment"
-GOOGLE_surfaceless_query                                :: 1
-GOOGLE_SURFACELESS_QUERY_SPEC_VERSION                   :: 1
-GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME                 :: "VK_GOOGLE_surfaceless_query"
-KHR_acceleration_structure                              :: 1
-KHR_ACCELERATION_STRUCTURE_SPEC_VERSION                 :: 13
-KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME               :: "VK_KHR_acceleration_structure"
-KHR_ray_tracing_pipeline                                :: 1
-KHR_RAY_TRACING_PIPELINE_SPEC_VERSION                   :: 1
-KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME                 :: "VK_KHR_ray_tracing_pipeline"
-KHR_ray_query                                           :: 1
-KHR_RAY_QUERY_SPEC_VERSION                              :: 1
-KHR_RAY_QUERY_EXTENSION_NAME                            :: "VK_KHR_ray_query"
-KHR_win32_surface                                       :: 1
-KHR_WIN32_SURFACE_SPEC_VERSION                          :: 6
-KHR_WIN32_SURFACE_EXTENSION_NAME                        :: "VK_KHR_win32_surface"
-KHR_external_memory_win32                               :: 1
-KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION                  :: 1
-KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME                :: "VK_KHR_external_memory_win32"
-KHR_win32_keyed_mutex                                   :: 1
-KHR_WIN32_KEYED_MUTEX_SPEC_VERSION                      :: 1
-KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME                    :: "VK_KHR_win32_keyed_mutex"
-KHR_external_semaphore_win32                            :: 1
-KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION               :: 1
-KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME             :: "VK_KHR_external_semaphore_win32"
-KHR_external_fence_win32                                :: 1
-KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION                   :: 1
-KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME                 :: "VK_KHR_external_fence_win32"
-NV_external_memory_win32                                :: 1
-NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION                   :: 1
-NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME                 :: "VK_NV_external_memory_win32"
-NV_win32_keyed_mutex                                    :: 1
-NV_WIN32_KEYED_MUTEX_SPEC_VERSION                       :: 2
-NV_WIN32_KEYED_MUTEX_EXTENSION_NAME                     :: "VK_NV_win32_keyed_mutex"
-EXT_full_screen_exclusive                               :: 1
-EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION                  :: 4
-EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME                :: "VK_EXT_full_screen_exclusive"
-EXT_metal_surface                                       :: 1
-EXT_METAL_SURFACE_SPEC_VERSION                          :: 1
-EXT_METAL_SURFACE_EXTENSION_NAME                        :: "VK_EXT_metal_surface"
-KHR_wayland_surface                                     :: 1
-KHR_WAYLAND_SURFACE_SPEC_VERSION                        :: 6
-KHR_WAYLAND_SURFACE_EXTENSION_NAME                      :: "VK_KHR_wayland_surface"
-
-// Handles types
-Instance       :: distinct Handle
-PhysicalDevice :: distinct Handle
-Device         :: distinct Handle
-Queue          :: distinct Handle
-CommandBuffer  :: distinct Handle
-Buffer                        :: distinct NonDispatchableHandle
-Image                         :: distinct NonDispatchableHandle
-Semaphore                     :: distinct NonDispatchableHandle
-Fence                         :: distinct NonDispatchableHandle
-DeviceMemory                  :: distinct NonDispatchableHandle
-Event                         :: distinct NonDispatchableHandle
-QueryPool                     :: distinct NonDispatchableHandle
-BufferView                    :: distinct NonDispatchableHandle
-ImageView                     :: distinct NonDispatchableHandle
-ShaderModule                  :: distinct NonDispatchableHandle
-PipelineCache                 :: distinct NonDispatchableHandle
-PipelineLayout                :: distinct NonDispatchableHandle
-Pipeline                      :: distinct NonDispatchableHandle
-RenderPass                    :: distinct NonDispatchableHandle
-DescriptorSetLayout           :: distinct NonDispatchableHandle
-Sampler                       :: distinct NonDispatchableHandle
-DescriptorSet                 :: distinct NonDispatchableHandle
-DescriptorPool                :: distinct NonDispatchableHandle
-Framebuffer                   :: distinct NonDispatchableHandle
-CommandPool                   :: distinct NonDispatchableHandle
-SamplerYcbcrConversion        :: distinct NonDispatchableHandle
-DescriptorUpdateTemplate      :: distinct NonDispatchableHandle
-PrivateDataSlot               :: distinct NonDispatchableHandle
-SurfaceKHR                    :: distinct NonDispatchableHandle
-SwapchainKHR                  :: distinct NonDispatchableHandle
-DisplayKHR                    :: distinct NonDispatchableHandle
-DisplayModeKHR                :: distinct NonDispatchableHandle
-DeferredOperationKHR          :: distinct NonDispatchableHandle
-DebugReportCallbackEXT        :: distinct NonDispatchableHandle
-CuModuleNVX                   :: distinct NonDispatchableHandle
-CuFunctionNVX                 :: distinct NonDispatchableHandle
-DebugUtilsMessengerEXT        :: distinct NonDispatchableHandle
-ValidationCacheEXT            :: distinct NonDispatchableHandle
-AccelerationStructureNV       :: distinct NonDispatchableHandle
-PerformanceConfigurationINTEL :: distinct NonDispatchableHandle
-IndirectCommandsLayoutNV      :: distinct NonDispatchableHandle
-AccelerationStructureKHR      :: distinct NonDispatchableHandle
-
-
+//
+// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
+//
+package vulkan
+API_VERSION_1_0 :: (1<<22) | (0<<12) | (0)
+API_VERSION_1_1 :: (1<<22) | (1<<12) | (0)
+API_VERSION_1_2 :: (1<<22) | (2<<12) | (0)
+API_VERSION_1_3 :: (1<<22) | (3<<12) | (0)
+
+MAKE_VERSION :: proc(major, minor, patch: u32) -> u32 {
+    return (major<<22) | (minor<<12) | (patch)
+}
+
+// Base types
+Flags         :: distinct u32
+Flags64       :: distinct u64
+DeviceSize    :: distinct u64
+DeviceAddress :: distinct u64
+SampleMask    :: distinct u32
+
+Handle                :: distinct rawptr
+NonDispatchableHandle :: distinct u64
+
+SetProcAddressType :: #type proc(p: rawptr, name: cstring)
+
+
+RemoteAddressNV :: distinct rawptr // Declared inline before MemoryGetRemoteAddressInfoNV
+
+// Base constants
+LOD_CLAMP_NONE                :: 1000.0
+REMAINING_MIP_LEVELS          :: ~u32(0)
+REMAINING_ARRAY_LAYERS        :: ~u32(0)
+WHOLE_SIZE                    :: ~u64(0)
+ATTACHMENT_UNUSED             :: ~u32(0)
+TRUE                          :: 1
+FALSE                         :: 0
+QUEUE_FAMILY_IGNORED          :: ~u32(0)
+SUBPASS_EXTERNAL              :: ~u32(0)
+MAX_PHYSICAL_DEVICE_NAME_SIZE :: 256
+UUID_SIZE                     :: 16
+MAX_MEMORY_TYPES              :: 32
+MAX_MEMORY_HEAPS              :: 16
+MAX_EXTENSION_NAME_SIZE       :: 256
+MAX_DESCRIPTION_SIZE          :: 256
+MAX_DEVICE_GROUP_SIZE         :: 32
+LUID_SIZE_KHX                 :: 8
+LUID_SIZE                     :: 8
+MAX_QUEUE_FAMILY_EXTERNAL     :: ~u32(1)
+MAX_GLOBAL_PRIORITY_SIZE_EXT  :: 16
+QUEUE_FAMILY_EXTERNAL         :: MAX_QUEUE_FAMILY_EXTERNAL
+
+// General Constants
+HEADER_VERSION       :: 211
+MAX_DRIVER_NAME_SIZE :: 256
+MAX_DRIVER_INFO_SIZE :: 256
+
+// Vendor Constants
+KHR_surface                                             :: 1
+KHR_SURFACE_SPEC_VERSION                                :: 25
+KHR_SURFACE_EXTENSION_NAME                              :: "VK_KHR_surface"
+KHR_swapchain                                           :: 1
+KHR_SWAPCHAIN_SPEC_VERSION                              :: 70
+KHR_SWAPCHAIN_EXTENSION_NAME                            :: "VK_KHR_swapchain"
+KHR_display                                             :: 1
+KHR_DISPLAY_SPEC_VERSION                                :: 23
+KHR_DISPLAY_EXTENSION_NAME                              :: "VK_KHR_display"
+KHR_display_swapchain                                   :: 1
+KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION                      :: 10
+KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME                    :: "VK_KHR_display_swapchain"
+KHR_sampler_mirror_clamp_to_edge                        :: 1
+KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION           :: 3
+KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME         :: "VK_KHR_sampler_mirror_clamp_to_edge"
+KHR_dynamic_rendering                                   :: 1
+KHR_DYNAMIC_RENDERING_SPEC_VERSION                      :: 1
+KHR_DYNAMIC_RENDERING_EXTENSION_NAME                    :: "VK_KHR_dynamic_rendering"
+KHR_multiview                                           :: 1
+KHR_MULTIVIEW_SPEC_VERSION                              :: 1
+KHR_MULTIVIEW_EXTENSION_NAME                            :: "VK_KHR_multiview"
+KHR_get_physical_device_properties2                     :: 1
+KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION       :: 2
+KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME     :: "VK_KHR_get_physical_device_properties2"
+KHR_device_group                                        :: 1
+KHR_DEVICE_GROUP_SPEC_VERSION                           :: 4
+KHR_DEVICE_GROUP_EXTENSION_NAME                         :: "VK_KHR_device_group"
+KHR_shader_draw_parameters                              :: 1
+KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION                 :: 1
+KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME               :: "VK_KHR_shader_draw_parameters"
+KHR_maintenance1                                        :: 1
+KHR_MAINTENANCE_1_SPEC_VERSION                          :: 2
+KHR_MAINTENANCE_1_EXTENSION_NAME                        :: "VK_KHR_maintenance1"
+KHR_MAINTENANCE1_SPEC_VERSION                           :: KHR_MAINTENANCE_1_SPEC_VERSION
+KHR_MAINTENANCE1_EXTENSION_NAME                         :: KHR_MAINTENANCE_1_EXTENSION_NAME
+KHR_device_group_creation                               :: 1
+KHR_DEVICE_GROUP_CREATION_SPEC_VERSION                  :: 1
+KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME                :: "VK_KHR_device_group_creation"
+MAX_DEVICE_GROUP_SIZE_KHR                               :: MAX_DEVICE_GROUP_SIZE
+KHR_external_memory_capabilities                        :: 1
+KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION           :: 1
+KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME         :: "VK_KHR_external_memory_capabilities"
+LUID_SIZE_KHR                                           :: LUID_SIZE
+KHR_external_memory                                     :: 1
+KHR_EXTERNAL_MEMORY_SPEC_VERSION                        :: 1
+KHR_EXTERNAL_MEMORY_EXTENSION_NAME                      :: "VK_KHR_external_memory"
+QUEUE_FAMILY_EXTERNAL_KHR                               :: QUEUE_FAMILY_EXTERNAL
+KHR_external_memory_fd                                  :: 1
+KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION                     :: 1
+KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME                   :: "VK_KHR_external_memory_fd"
+KHR_external_semaphore_capabilities                     :: 1
+KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION        :: 1
+KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME      :: "VK_KHR_external_semaphore_capabilities"
+KHR_external_semaphore                                  :: 1
+KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION                     :: 1
+KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME                   :: "VK_KHR_external_semaphore"
+KHR_external_semaphore_fd                               :: 1
+KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION                  :: 1
+KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME                :: "VK_KHR_external_semaphore_fd"
+KHR_push_descriptor                                     :: 1
+KHR_PUSH_DESCRIPTOR_SPEC_VERSION                        :: 2
+KHR_PUSH_DESCRIPTOR_EXTENSION_NAME                      :: "VK_KHR_push_descriptor"
+KHR_shader_float16_int8                                 :: 1
+KHR_SHADER_FLOAT16_INT8_SPEC_VERSION                    :: 1
+KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME                  :: "VK_KHR_shader_float16_int8"
+KHR_16bit_storage                                       :: 1
+KHR_16BIT_STORAGE_SPEC_VERSION                          :: 1
+KHR_16BIT_STORAGE_EXTENSION_NAME                        :: "VK_KHR_16bit_storage"
+KHR_incremental_present                                 :: 1
+KHR_INCREMENTAL_PRESENT_SPEC_VERSION                    :: 2
+KHR_INCREMENTAL_PRESENT_EXTENSION_NAME                  :: "VK_KHR_incremental_present"
+KHR_descriptor_update_template                          :: 1
+KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION             :: 1
+KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME           :: "VK_KHR_descriptor_update_template"
+KHR_imageless_framebuffer                               :: 1
+KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION                  :: 1
+KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME                :: "VK_KHR_imageless_framebuffer"
+KHR_create_renderpass2                                  :: 1
+KHR_CREATE_RENDERPASS_2_SPEC_VERSION                    :: 1
+KHR_CREATE_RENDERPASS_2_EXTENSION_NAME                  :: "VK_KHR_create_renderpass2"
+KHR_shared_presentable_image                            :: 1
+KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION               :: 1
+KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME             :: "VK_KHR_shared_presentable_image"
+KHR_external_fence_capabilities                         :: 1
+KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION            :: 1
+KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME          :: "VK_KHR_external_fence_capabilities"
+KHR_external_fence                                      :: 1
+KHR_EXTERNAL_FENCE_SPEC_VERSION                         :: 1
+KHR_EXTERNAL_FENCE_EXTENSION_NAME                       :: "VK_KHR_external_fence"
+KHR_external_fence_fd                                   :: 1
+KHR_EXTERNAL_FENCE_FD_SPEC_VERSION                      :: 1
+KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME                    :: "VK_KHR_external_fence_fd"
+KHR_performance_query                                   :: 1
+KHR_PERFORMANCE_QUERY_SPEC_VERSION                      :: 1
+KHR_PERFORMANCE_QUERY_EXTENSION_NAME                    :: "VK_KHR_performance_query"
+KHR_maintenance2                                        :: 1
+KHR_MAINTENANCE_2_SPEC_VERSION                          :: 1
+KHR_MAINTENANCE_2_EXTENSION_NAME                        :: "VK_KHR_maintenance2"
+KHR_MAINTENANCE2_SPEC_VERSION                           :: KHR_MAINTENANCE_2_SPEC_VERSION
+KHR_MAINTENANCE2_EXTENSION_NAME                         :: KHR_MAINTENANCE_2_EXTENSION_NAME
+KHR_get_surface_capabilities2                           :: 1
+KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION             :: 1
+KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME           :: "VK_KHR_get_surface_capabilities2"
+KHR_variable_pointers                                   :: 1
+KHR_VARIABLE_POINTERS_SPEC_VERSION                      :: 1
+KHR_VARIABLE_POINTERS_EXTENSION_NAME                    :: "VK_KHR_variable_pointers"
+KHR_get_display_properties2                             :: 1
+KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION               :: 1
+KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME             :: "VK_KHR_get_display_properties2"
+KHR_dedicated_allocation                                :: 1
+KHR_DEDICATED_ALLOCATION_SPEC_VERSION                   :: 3
+KHR_DEDICATED_ALLOCATION_EXTENSION_NAME                 :: "VK_KHR_dedicated_allocation"
+KHR_storage_buffer_storage_class                        :: 1
+KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION           :: 1
+KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME         :: "VK_KHR_storage_buffer_storage_class"
+KHR_relaxed_block_layout                                :: 1
+KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION                   :: 1
+KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME                 :: "VK_KHR_relaxed_block_layout"
+KHR_get_memory_requirements2                            :: 1
+KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION              :: 1
+KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME            :: "VK_KHR_get_memory_requirements2"
+KHR_image_format_list                                   :: 1
+KHR_IMAGE_FORMAT_LIST_SPEC_VERSION                      :: 1
+KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME                    :: "VK_KHR_image_format_list"
+KHR_sampler_ycbcr_conversion                            :: 1
+KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION               :: 14
+KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME             :: "VK_KHR_sampler_ycbcr_conversion"
+KHR_bind_memory2                                        :: 1
+KHR_BIND_MEMORY_2_SPEC_VERSION                          :: 1
+KHR_BIND_MEMORY_2_EXTENSION_NAME                        :: "VK_KHR_bind_memory2"
+KHR_maintenance3                                        :: 1
+KHR_MAINTENANCE_3_SPEC_VERSION                          :: 1
+KHR_MAINTENANCE_3_EXTENSION_NAME                        :: "VK_KHR_maintenance3"
+KHR_MAINTENANCE3_SPEC_VERSION                           :: KHR_MAINTENANCE_3_SPEC_VERSION
+KHR_MAINTENANCE3_EXTENSION_NAME                         :: KHR_MAINTENANCE_3_EXTENSION_NAME
+KHR_draw_indirect_count                                 :: 1
+KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION                    :: 1
+KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME                  :: "VK_KHR_draw_indirect_count"
+KHR_shader_subgroup_extended_types                      :: 1
+KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION         :: 1
+KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME       :: "VK_KHR_shader_subgroup_extended_types"
+KHR_8bit_storage                                        :: 1
+KHR_8BIT_STORAGE_SPEC_VERSION                           :: 1
+KHR_8BIT_STORAGE_EXTENSION_NAME                         :: "VK_KHR_8bit_storage"
+KHR_shader_atomic_int64                                 :: 1
+KHR_SHADER_ATOMIC_INT64_SPEC_VERSION                    :: 1
+KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME                  :: "VK_KHR_shader_atomic_int64"
+KHR_shader_clock                                        :: 1
+KHR_SHADER_CLOCK_SPEC_VERSION                           :: 1
+KHR_SHADER_CLOCK_EXTENSION_NAME                         :: "VK_KHR_shader_clock"
+KHR_global_priority                                     :: 1
+MAX_GLOBAL_PRIORITY_SIZE_KHR                            :: 16
+KHR_GLOBAL_PRIORITY_SPEC_VERSION                        :: 1
+KHR_GLOBAL_PRIORITY_EXTENSION_NAME                      :: "VK_KHR_global_priority"
+KHR_driver_properties                                   :: 1
+KHR_DRIVER_PROPERTIES_SPEC_VERSION                      :: 1
+KHR_DRIVER_PROPERTIES_EXTENSION_NAME                    :: "VK_KHR_driver_properties"
+MAX_DRIVER_NAME_SIZE_KHR                                :: MAX_DRIVER_NAME_SIZE
+MAX_DRIVER_INFO_SIZE_KHR                                :: MAX_DRIVER_INFO_SIZE
+KHR_shader_float_controls                               :: 1
+KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION                  :: 4
+KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME                :: "VK_KHR_shader_float_controls"
+KHR_depth_stencil_resolve                               :: 1
+KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION                  :: 1
+KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME                :: "VK_KHR_depth_stencil_resolve"
+KHR_swapchain_mutable_format                            :: 1
+KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION               :: 1
+KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME             :: "VK_KHR_swapchain_mutable_format"
+KHR_timeline_semaphore                                  :: 1
+KHR_TIMELINE_SEMAPHORE_SPEC_VERSION                     :: 2
+KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME                   :: "VK_KHR_timeline_semaphore"
+KHR_vulkan_memory_model                                 :: 1
+KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION                    :: 3
+KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME                  :: "VK_KHR_vulkan_memory_model"
+KHR_shader_terminate_invocation                         :: 1
+KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION            :: 1
+KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME          :: "VK_KHR_shader_terminate_invocation"
+KHR_fragment_shading_rate                               :: 1
+KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION                  :: 2
+KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME                :: "VK_KHR_fragment_shading_rate"
+KHR_spirv_1_4                                           :: 1
+KHR_SPIRV_1_4_SPEC_VERSION                              :: 1
+KHR_SPIRV_1_4_EXTENSION_NAME                            :: "VK_KHR_spirv_1_4"
+KHR_surface_protected_capabilities                      :: 1
+KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION         :: 1
+KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME       :: "VK_KHR_surface_protected_capabilities"
+KHR_separate_depth_stencil_layouts                      :: 1
+KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION         :: 1
+KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME       :: "VK_KHR_separate_depth_stencil_layouts"
+KHR_present_wait                                        :: 1
+KHR_PRESENT_WAIT_SPEC_VERSION                           :: 1
+KHR_PRESENT_WAIT_EXTENSION_NAME                         :: "VK_KHR_present_wait"
+KHR_uniform_buffer_standard_layout                      :: 1
+KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION         :: 1
+KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME       :: "VK_KHR_uniform_buffer_standard_layout"
+KHR_buffer_device_address                               :: 1
+KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION                  :: 1
+KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME                :: "VK_KHR_buffer_device_address"
+KHR_deferred_host_operations                            :: 1
+KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION               :: 4
+KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME             :: "VK_KHR_deferred_host_operations"
+KHR_pipeline_executable_properties                      :: 1
+KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION         :: 1
+KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME       :: "VK_KHR_pipeline_executable_properties"
+KHR_shader_integer_dot_product                          :: 1
+KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION             :: 1
+KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME           :: "VK_KHR_shader_integer_dot_product"
+KHR_pipeline_library                                    :: 1
+KHR_PIPELINE_LIBRARY_SPEC_VERSION                       :: 1
+KHR_PIPELINE_LIBRARY_EXTENSION_NAME                     :: "VK_KHR_pipeline_library"
+KHR_shader_non_semantic_info                            :: 1
+KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION               :: 1
+KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME             :: "VK_KHR_shader_non_semantic_info"
+KHR_present_id                                          :: 1
+KHR_PRESENT_ID_SPEC_VERSION                             :: 1
+KHR_PRESENT_ID_EXTENSION_NAME                           :: "VK_KHR_present_id"
+KHR_synchronization2                                    :: 1
+KHR_SYNCHRONIZATION_2_SPEC_VERSION                      :: 1
+KHR_SYNCHRONIZATION_2_EXTENSION_NAME                    :: "VK_KHR_synchronization2"
+KHR_shader_subgroup_uniform_control_flow                :: 1
+KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION   :: 1
+KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME :: "VK_KHR_shader_subgroup_uniform_control_flow"
+KHR_zero_initialize_workgroup_memory                    :: 1
+KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION       :: 1
+KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME     :: "VK_KHR_zero_initialize_workgroup_memory"
+KHR_workgroup_memory_explicit_layout                    :: 1
+KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION       :: 1
+KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME     :: "VK_KHR_workgroup_memory_explicit_layout"
+KHR_copy_commands2                                      :: 1
+KHR_COPY_COMMANDS_2_SPEC_VERSION                        :: 1
+KHR_COPY_COMMANDS_2_EXTENSION_NAME                      :: "VK_KHR_copy_commands2"
+KHR_format_feature_flags2                               :: 1
+KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION                 :: 1
+KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME               :: "VK_KHR_format_feature_flags2"
+KHR_portability_enumeration                             :: 1
+KHR_PORTABILITY_ENUMERATION_SPEC_VERSION                :: 1
+KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME              :: "VK_KHR_portability_enumeration"
+KHR_maintenance4                                        :: 1
+KHR_MAINTENANCE_4_SPEC_VERSION                          :: 2
+KHR_MAINTENANCE_4_EXTENSION_NAME                        :: "VK_KHR_maintenance4"
+EXT_debug_report                                        :: 1
+EXT_DEBUG_REPORT_SPEC_VERSION                           :: 10
+EXT_DEBUG_REPORT_EXTENSION_NAME                         :: "VK_EXT_debug_report"
+NV_glsl_shader                                          :: 1
+NV_GLSL_SHADER_SPEC_VERSION                             :: 1
+NV_GLSL_SHADER_EXTENSION_NAME                           :: "VK_NV_glsl_shader"
+EXT_depth_range_unrestricted                            :: 1
+EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION               :: 1
+EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME             :: "VK_EXT_depth_range_unrestricted"
+AMD_rasterization_order                                 :: 1
+AMD_RASTERIZATION_ORDER_SPEC_VERSION                    :: 1
+AMD_RASTERIZATION_ORDER_EXTENSION_NAME                  :: "VK_AMD_rasterization_order"
+AMD_shader_trinary_minmax                               :: 1
+AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION                  :: 1
+AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME                :: "VK_AMD_shader_trinary_minmax"
+AMD_shader_explicit_vertex_parameter                    :: 1
+AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION       :: 1
+AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME     :: "VK_AMD_shader_explicit_vertex_parameter"
+EXT_debug_marker                                        :: 1
+EXT_DEBUG_MARKER_SPEC_VERSION                           :: 4
+EXT_DEBUG_MARKER_EXTENSION_NAME                         :: "VK_EXT_debug_marker"
+AMD_gcn_shader                                          :: 1
+AMD_GCN_SHADER_SPEC_VERSION                             :: 1
+AMD_GCN_SHADER_EXTENSION_NAME                           :: "VK_AMD_gcn_shader"
+NV_dedicated_allocation                                 :: 1
+NV_DEDICATED_ALLOCATION_SPEC_VERSION                    :: 1
+NV_DEDICATED_ALLOCATION_EXTENSION_NAME                  :: "VK_NV_dedicated_allocation"
+EXT_transform_feedback                                  :: 1
+EXT_TRANSFORM_FEEDBACK_SPEC_VERSION                     :: 1
+EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME                   :: "VK_EXT_transform_feedback"
+NVX_binary_import                                       :: 1
+NVX_BINARY_IMPORT_SPEC_VERSION                          :: 1
+NVX_BINARY_IMPORT_EXTENSION_NAME                        :: "VK_NVX_binary_import"
+NVX_image_view_handle                                   :: 1
+NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION                      :: 2
+NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME                    :: "VK_NVX_image_view_handle"
+AMD_draw_indirect_count                                 :: 1
+AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION                    :: 2
+AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME                  :: "VK_AMD_draw_indirect_count"
+AMD_negative_viewport_height                            :: 1
+AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION               :: 1
+AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME             :: "VK_AMD_negative_viewport_height"
+AMD_gpu_shader_half_float                               :: 1
+AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION                  :: 2
+AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME                :: "VK_AMD_gpu_shader_half_float"
+AMD_shader_ballot                                       :: 1
+AMD_SHADER_BALLOT_SPEC_VERSION                          :: 1
+AMD_SHADER_BALLOT_EXTENSION_NAME                        :: "VK_AMD_shader_ballot"
+AMD_texture_gather_bias_lod                             :: 1
+AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION                :: 1
+AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME              :: "VK_AMD_texture_gather_bias_lod"
+AMD_shader_info                                         :: 1
+AMD_SHADER_INFO_SPEC_VERSION                            :: 1
+AMD_SHADER_INFO_EXTENSION_NAME                          :: "VK_AMD_shader_info"
+AMD_shader_image_load_store_lod                         :: 1
+AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION            :: 1
+AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME          :: "VK_AMD_shader_image_load_store_lod"
+NV_corner_sampled_image                                 :: 1
+NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION                    :: 2
+NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME                  :: "VK_NV_corner_sampled_image"
+NV_external_memory_capabilities                         :: 1
+NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION            :: 1
+NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME          :: "VK_NV_external_memory_capabilities"
+NV_external_memory                                      :: 1
+NV_EXTERNAL_MEMORY_SPEC_VERSION                         :: 1
+NV_EXTERNAL_MEMORY_EXTENSION_NAME                       :: "VK_NV_external_memory"
+EXT_validation_flags                                    :: 1
+EXT_VALIDATION_FLAGS_SPEC_VERSION                       :: 2
+EXT_VALIDATION_FLAGS_EXTENSION_NAME                     :: "VK_EXT_validation_flags"
+EXT_shader_subgroup_ballot                              :: 1
+EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION                 :: 1
+EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME               :: "VK_EXT_shader_subgroup_ballot"
+EXT_shader_subgroup_vote                                :: 1
+EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION                   :: 1
+EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME                 :: "VK_EXT_shader_subgroup_vote"
+EXT_texture_compression_astc_hdr                        :: 1
+EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION           :: 1
+EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME         :: "VK_EXT_texture_compression_astc_hdr"
+EXT_astc_decode_mode                                    :: 1
+EXT_ASTC_DECODE_MODE_SPEC_VERSION                       :: 1
+EXT_ASTC_DECODE_MODE_EXTENSION_NAME                     :: "VK_EXT_astc_decode_mode"
+EXT_conditional_rendering                               :: 1
+EXT_CONDITIONAL_RENDERING_SPEC_VERSION                  :: 2
+EXT_CONDITIONAL_RENDERING_EXTENSION_NAME                :: "VK_EXT_conditional_rendering"
+NV_clip_space_w_scaling                                 :: 1
+NV_CLIP_SPACE_W_SCALING_SPEC_VERSION                    :: 1
+NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME                  :: "VK_NV_clip_space_w_scaling"
+EXT_direct_mode_display                                 :: 1
+EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION                    :: 1
+EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME                  :: "VK_EXT_direct_mode_display"
+EXT_display_surface_counter                             :: 1
+EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION                :: 1
+EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME              :: "VK_EXT_display_surface_counter"
+EXT_display_control                                     :: 1
+EXT_DISPLAY_CONTROL_SPEC_VERSION                        :: 1
+EXT_DISPLAY_CONTROL_EXTENSION_NAME                      :: "VK_EXT_display_control"
+GOOGLE_display_timing                                   :: 1
+GOOGLE_DISPLAY_TIMING_SPEC_VERSION                      :: 1
+GOOGLE_DISPLAY_TIMING_EXTENSION_NAME                    :: "VK_GOOGLE_display_timing"
+NV_sample_mask_override_coverage                        :: 1
+NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION           :: 1
+NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME         :: "VK_NV_sample_mask_override_coverage"
+NV_geometry_shader_passthrough                          :: 1
+NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION             :: 1
+NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME           :: "VK_NV_geometry_shader_passthrough"
+NV_viewport_array2                                      :: 1
+NV_VIEWPORT_ARRAY_2_SPEC_VERSION                        :: 1
+NV_VIEWPORT_ARRAY_2_EXTENSION_NAME                      :: "VK_NV_viewport_array2"
+NV_VIEWPORT_ARRAY2_SPEC_VERSION                         :: NV_VIEWPORT_ARRAY_2_SPEC_VERSION
+NV_VIEWPORT_ARRAY2_EXTENSION_NAME                       :: NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
+NVX_multiview_per_view_attributes                       :: 1
+NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION          :: 1
+NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME        :: "VK_NVX_multiview_per_view_attributes"
+NV_viewport_swizzle                                     :: 1
+NV_VIEWPORT_SWIZZLE_SPEC_VERSION                        :: 1
+NV_VIEWPORT_SWIZZLE_EXTENSION_NAME                      :: "VK_NV_viewport_swizzle"
+EXT_discard_rectangles                                  :: 1
+EXT_DISCARD_RECTANGLES_SPEC_VERSION                     :: 1
+EXT_DISCARD_RECTANGLES_EXTENSION_NAME                   :: "VK_EXT_discard_rectangles"
+EXT_conservative_rasterization                          :: 1
+EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION             :: 1
+EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME           :: "VK_EXT_conservative_rasterization"
+EXT_depth_clip_enable                                   :: 1
+EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION                      :: 1
+EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME                    :: "VK_EXT_depth_clip_enable"
+EXT_swapchain_colorspace                                :: 1
+EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION                  :: 4
+EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME                :: "VK_EXT_swapchain_colorspace"
+EXT_hdr_metadata                                        :: 1
+EXT_HDR_METADATA_SPEC_VERSION                           :: 2
+EXT_HDR_METADATA_EXTENSION_NAME                         :: "VK_EXT_hdr_metadata"
+EXT_external_memory_dma_buf                             :: 1
+EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION                :: 1
+EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME              :: "VK_EXT_external_memory_dma_buf"
+EXT_queue_family_foreign                                :: 1
+EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION                   :: 1
+EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME                 :: "VK_EXT_queue_family_foreign"
+EXT_debug_utils                                         :: 1
+EXT_DEBUG_UTILS_SPEC_VERSION                            :: 2
+EXT_DEBUG_UTILS_EXTENSION_NAME                          :: "VK_EXT_debug_utils"
+EXT_sampler_filter_minmax                               :: 1
+EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION                  :: 2
+EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME                :: "VK_EXT_sampler_filter_minmax"
+AMD_gpu_shader_int16                                    :: 1
+AMD_GPU_SHADER_INT16_SPEC_VERSION                       :: 2
+AMD_GPU_SHADER_INT16_EXTENSION_NAME                     :: "VK_AMD_gpu_shader_int16"
+AMD_mixed_attachment_samples                            :: 1
+AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION               :: 1
+AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME             :: "VK_AMD_mixed_attachment_samples"
+AMD_shader_fragment_mask                                :: 1
+AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION                   :: 1
+AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME                 :: "VK_AMD_shader_fragment_mask"
+EXT_inline_uniform_block                                :: 1
+EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION                   :: 1
+EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME                 :: "VK_EXT_inline_uniform_block"
+EXT_shader_stencil_export                               :: 1
+EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION                  :: 1
+EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME                :: "VK_EXT_shader_stencil_export"
+EXT_sample_locations                                    :: 1
+EXT_SAMPLE_LOCATIONS_SPEC_VERSION                       :: 1
+EXT_SAMPLE_LOCATIONS_EXTENSION_NAME                     :: "VK_EXT_sample_locations"
+EXT_blend_operation_advanced                            :: 1
+EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION               :: 2
+EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME             :: "VK_EXT_blend_operation_advanced"
+NV_fragment_coverage_to_color                           :: 1
+NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION              :: 1
+NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME            :: "VK_NV_fragment_coverage_to_color"
+NV_framebuffer_mixed_samples                            :: 1
+NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION               :: 1
+NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME             :: "VK_NV_framebuffer_mixed_samples"
+NV_fill_rectangle                                       :: 1
+NV_FILL_RECTANGLE_SPEC_VERSION                          :: 1
+NV_FILL_RECTANGLE_EXTENSION_NAME                        :: "VK_NV_fill_rectangle"
+NV_shader_sm_builtins                                   :: 1
+NV_SHADER_SM_BUILTINS_SPEC_VERSION                      :: 1
+NV_SHADER_SM_BUILTINS_EXTENSION_NAME                    :: "VK_NV_shader_sm_builtins"
+EXT_post_depth_coverage                                 :: 1
+EXT_POST_DEPTH_COVERAGE_SPEC_VERSION                    :: 1
+EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME                  :: "VK_EXT_post_depth_coverage"
+EXT_image_drm_format_modifier                           :: 1
+EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION              :: 2
+EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME            :: "VK_EXT_image_drm_format_modifier"
+EXT_validation_cache                                    :: 1
+EXT_VALIDATION_CACHE_SPEC_VERSION                       :: 1
+EXT_VALIDATION_CACHE_EXTENSION_NAME                     :: "VK_EXT_validation_cache"
+EXT_descriptor_indexing                                 :: 1
+EXT_DESCRIPTOR_INDEXING_SPEC_VERSION                    :: 2
+EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME                  :: "VK_EXT_descriptor_indexing"
+EXT_shader_viewport_index_layer                         :: 1
+EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION            :: 1
+EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME          :: "VK_EXT_shader_viewport_index_layer"
+NV_shading_rate_image                                   :: 1
+NV_SHADING_RATE_IMAGE_SPEC_VERSION                      :: 3
+NV_SHADING_RATE_IMAGE_EXTENSION_NAME                    :: "VK_NV_shading_rate_image"
+NV_ray_tracing                                          :: 1
+NV_RAY_TRACING_SPEC_VERSION                             :: 3
+NV_RAY_TRACING_EXTENSION_NAME                           :: "VK_NV_ray_tracing"
+SHADER_UNUSED_KHR                                       :: 0
+NV_representative_fragment_test                         :: 1
+NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION            :: 2
+NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME          :: "VK_NV_representative_fragment_test"
+EXT_filter_cubic                                        :: 1
+EXT_FILTER_CUBIC_SPEC_VERSION                           :: 3
+EXT_FILTER_CUBIC_EXTENSION_NAME                         :: "VK_EXT_filter_cubic"
+EXT_global_priority                                     :: 1
+EXT_GLOBAL_PRIORITY_SPEC_VERSION                        :: 2
+EXT_GLOBAL_PRIORITY_EXTENSION_NAME                      :: "VK_EXT_global_priority"
+EXT_external_memory_host                                :: 1
+EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION                   :: 1
+EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME                 :: "VK_EXT_external_memory_host"
+AMD_buffer_marker                                       :: 1
+AMD_BUFFER_MARKER_SPEC_VERSION                          :: 1
+AMD_BUFFER_MARKER_EXTENSION_NAME                        :: "VK_AMD_buffer_marker"
+AMD_pipeline_compiler_control                           :: 1
+AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION              :: 1
+AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME            :: "VK_AMD_pipeline_compiler_control"
+EXT_calibrated_timestamps                               :: 1
+EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION                  :: 2
+EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME                :: "VK_EXT_calibrated_timestamps"
+AMD_shader_core_properties                              :: 1
+AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION                 :: 2
+AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME               :: "VK_AMD_shader_core_properties"
+AMD_memory_overallocation_behavior                      :: 1
+AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION         :: 1
+AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME       :: "VK_AMD_memory_overallocation_behavior"
+EXT_vertex_attribute_divisor                            :: 1
+EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION               :: 3
+EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME             :: "VK_EXT_vertex_attribute_divisor"
+EXT_pipeline_creation_feedback                          :: 1
+EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION             :: 1
+EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME           :: "VK_EXT_pipeline_creation_feedback"
+NV_shader_subgroup_partitioned                          :: 1
+NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION             :: 1
+NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME           :: "VK_NV_shader_subgroup_partitioned"
+NV_compute_shader_derivatives                           :: 1
+NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION              :: 1
+NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME            :: "VK_NV_compute_shader_derivatives"
+NV_mesh_shader                                          :: 1
+NV_MESH_SHADER_SPEC_VERSION                             :: 1
+NV_MESH_SHADER_EXTENSION_NAME                           :: "VK_NV_mesh_shader"
+NV_fragment_shader_barycentric                          :: 1
+NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION             :: 1
+NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME           :: "VK_NV_fragment_shader_barycentric"
+NV_shader_image_footprint                               :: 1
+NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION                  :: 2
+NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME                :: "VK_NV_shader_image_footprint"
+NV_scissor_exclusive                                    :: 1
+NV_SCISSOR_EXCLUSIVE_SPEC_VERSION                       :: 1
+NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME                     :: "VK_NV_scissor_exclusive"
+NV_device_diagnostic_checkpoints                        :: 1
+NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION           :: 2
+NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME         :: "VK_NV_device_diagnostic_checkpoints"
+EXT_pci_bus_info                                        :: 1
+EXT_PCI_BUS_INFO_SPEC_VERSION                           :: 2
+EXT_PCI_BUS_INFO_EXTENSION_NAME                         :: "VK_EXT_pci_bus_info"
+AMD_display_native_hdr                                  :: 1
+AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION                     :: 1
+AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME                   :: "VK_AMD_display_native_hdr"
+EXT_fragment_density_map                                :: 1
+EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION                   :: 2
+EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME                 :: "VK_EXT_fragment_density_map"
+EXT_scalar_block_layout                                 :: 1
+EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION                    :: 1
+EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME                  :: "VK_EXT_scalar_block_layout"
+GOOGLE_hlsl_functionality1                              :: 1
+GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION                :: 1
+GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME              :: "VK_GOOGLE_hlsl_functionality1"
+GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION                 :: GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
+GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME               :: GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
+GOOGLE_decorate_string                                  :: 1
+GOOGLE_DECORATE_STRING_SPEC_VERSION                     :: 1
+GOOGLE_DECORATE_STRING_EXTENSION_NAME                   :: "VK_GOOGLE_decorate_string"
+EXT_subgroup_size_control                               :: 1
+EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION                  :: 2
+EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME                :: "VK_EXT_subgroup_size_control"
+AMD_shader_core_properties2                             :: 1
+AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION               :: 1
+AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME             :: "VK_AMD_shader_core_properties2"
+AMD_device_coherent_memory                              :: 1
+AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION                 :: 1
+AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME               :: "VK_AMD_device_coherent_memory"
+EXT_shader_image_atomic_int64                           :: 1
+EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION              :: 1
+EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME            :: "VK_EXT_shader_image_atomic_int64"
+EXT_memory_budget                                       :: 1
+EXT_MEMORY_BUDGET_SPEC_VERSION                          :: 1
+EXT_MEMORY_BUDGET_EXTENSION_NAME                        :: "VK_EXT_memory_budget"
+EXT_memory_priority                                     :: 1
+EXT_MEMORY_PRIORITY_SPEC_VERSION                        :: 1
+EXT_MEMORY_PRIORITY_EXTENSION_NAME                      :: "VK_EXT_memory_priority"
+NV_dedicated_allocation_image_aliasing                  :: 1
+NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION     :: 1
+NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME   :: "VK_NV_dedicated_allocation_image_aliasing"
+EXT_buffer_device_address                               :: 1
+EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION                  :: 2
+EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME                :: "VK_EXT_buffer_device_address"
+EXT_tooling_info                                        :: 1
+EXT_TOOLING_INFO_SPEC_VERSION                           :: 1
+EXT_TOOLING_INFO_EXTENSION_NAME                         :: "VK_EXT_tooling_info"
+EXT_separate_stencil_usage                              :: 1
+EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION                 :: 1
+EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME               :: "VK_EXT_separate_stencil_usage"
+EXT_validation_features                                 :: 1
+EXT_VALIDATION_FEATURES_SPEC_VERSION                    :: 5
+EXT_VALIDATION_FEATURES_EXTENSION_NAME                  :: "VK_EXT_validation_features"
+NV_cooperative_matrix                                   :: 1
+NV_COOPERATIVE_MATRIX_SPEC_VERSION                      :: 1
+NV_COOPERATIVE_MATRIX_EXTENSION_NAME                    :: "VK_NV_cooperative_matrix"
+NV_coverage_reduction_mode                              :: 1
+NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION                 :: 1
+NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME               :: "VK_NV_coverage_reduction_mode"
+EXT_fragment_shader_interlock                           :: 1
+EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION              :: 1
+EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME            :: "VK_EXT_fragment_shader_interlock"
+EXT_ycbcr_image_arrays                                  :: 1
+EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION                     :: 1
+EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME                   :: "VK_EXT_ycbcr_image_arrays"
+EXT_provoking_vertex                                    :: 1
+EXT_PROVOKING_VERTEX_SPEC_VERSION                       :: 1
+EXT_PROVOKING_VERTEX_EXTENSION_NAME                     :: "VK_EXT_provoking_vertex"
+EXT_headless_surface                                    :: 1
+EXT_HEADLESS_SURFACE_SPEC_VERSION                       :: 1
+EXT_HEADLESS_SURFACE_EXTENSION_NAME                     :: "VK_EXT_headless_surface"
+EXT_line_rasterization                                  :: 1
+EXT_LINE_RASTERIZATION_SPEC_VERSION                     :: 1
+EXT_LINE_RASTERIZATION_EXTENSION_NAME                   :: "VK_EXT_line_rasterization"
+EXT_shader_atomic_float                                 :: 1
+EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION                    :: 1
+EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME                  :: "VK_EXT_shader_atomic_float"
+EXT_host_query_reset                                    :: 1
+EXT_HOST_QUERY_RESET_SPEC_VERSION                       :: 1
+EXT_HOST_QUERY_RESET_EXTENSION_NAME                     :: "VK_EXT_host_query_reset"
+EXT_index_type_uint8                                    :: 1
+EXT_INDEX_TYPE_UINT8_SPEC_VERSION                       :: 1
+EXT_INDEX_TYPE_UINT8_EXTENSION_NAME                     :: "VK_EXT_index_type_uint8"
+EXT_extended_dynamic_state                              :: 1
+EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION                 :: 1
+EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME               :: "VK_EXT_extended_dynamic_state"
+EXT_shader_atomic_float2                                :: 1
+EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION                  :: 1
+EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME                :: "VK_EXT_shader_atomic_float2"
+EXT_shader_demote_to_helper_invocation                  :: 1
+EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION     :: 1
+EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME   :: "VK_EXT_shader_demote_to_helper_invocation"
+NV_device_generated_commands                            :: 1
+NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION               :: 3
+NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME             :: "VK_NV_device_generated_commands"
+NV_inherited_viewport_scissor                           :: 1
+NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION              :: 1
+NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME            :: "VK_NV_inherited_viewport_scissor"
+EXT_texel_buffer_alignment                              :: 1
+EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION                 :: 1
+EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME               :: "VK_EXT_texel_buffer_alignment"
+EXT_device_memory_report                                :: 1
+EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION                   :: 2
+EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME                 :: "VK_EXT_device_memory_report"
+EXT_acquire_drm_display                                 :: 1
+EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION                    :: 1
+EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME                  :: "VK_EXT_acquire_drm_display"
+EXT_robustness2                                         :: 1
+EXT_ROBUSTNESS_2_SPEC_VERSION                           :: 1
+EXT_ROBUSTNESS_2_EXTENSION_NAME                         :: "VK_EXT_robustness2"
+EXT_custom_border_color                                 :: 1
+EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION                    :: 12
+EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME                  :: "VK_EXT_custom_border_color"
+GOOGLE_user_type                                        :: 1
+GOOGLE_USER_TYPE_SPEC_VERSION                           :: 1
+GOOGLE_USER_TYPE_EXTENSION_NAME                         :: "VK_GOOGLE_user_type"
+EXT_private_data                                        :: 1
+EXT_PRIVATE_DATA_SPEC_VERSION                           :: 1
+EXT_PRIVATE_DATA_EXTENSION_NAME                         :: "VK_EXT_private_data"
+EXT_pipeline_creation_cache_control                     :: 1
+EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION        :: 3
+EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME      :: "VK_EXT_pipeline_creation_cache_control"
+NV_device_diagnostics_config                            :: 1
+NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION               :: 1
+NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME             :: "VK_NV_device_diagnostics_config"
+EXT_graphics_pipeline_library                           :: 1
+EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION              :: 1
+EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME            :: "VK_EXT_graphics_pipeline_library"
+NV_fragment_shading_rate_enums                          :: 1
+NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION             :: 1
+NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME           :: "VK_NV_fragment_shading_rate_enums"
+NV_ray_tracing_motion_blur                              :: 1
+NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION                 :: 1
+NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME               :: "VK_NV_ray_tracing_motion_blur"
+EXT_ycbcr_2plane_444_formats                            :: 1
+EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION               :: 1
+EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME             :: "VK_EXT_ycbcr_2plane_444_formats"
+EXT_fragment_density_map2                               :: 1
+EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION                 :: 1
+EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME               :: "VK_EXT_fragment_density_map2"
+EXT_image_robustness                                    :: 1
+EXT_IMAGE_ROBUSTNESS_SPEC_VERSION                       :: 1
+EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME                     :: "VK_EXT_image_robustness"
+EXT_4444_formats                                        :: 1
+EXT_4444_FORMATS_SPEC_VERSION                           :: 1
+EXT_4444_FORMATS_EXTENSION_NAME                         :: "VK_EXT_4444_formats"
+EXT_rgba10x6_formats                                    :: 1
+EXT_RGBA10X6_FORMATS_SPEC_VERSION                       :: 1
+EXT_RGBA10X6_FORMATS_EXTENSION_NAME                     :: "VK_EXT_rgba10x6_formats"
+NV_acquire_winrt_display                                :: 1
+NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION                   :: 1
+NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME                 :: "VK_NV_acquire_winrt_display"
+EXT_vertex_input_dynamic_state                          :: 1
+EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION             :: 2
+EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME           :: "VK_EXT_vertex_input_dynamic_state"
+EXT_physical_device_drm                                 :: 1
+EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION                    :: 1
+EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME                  :: "VK_EXT_physical_device_drm"
+EXT_depth_clip_control                                  :: 1
+EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION                     :: 1
+EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME                   :: "VK_EXT_depth_clip_control"
+EXT_primitive_topology_list_restart                     :: 1
+EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION        :: 1
+EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME      :: "VK_EXT_primitive_topology_list_restart"
+NV_external_memory_rdma                                 :: 1
+NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION                    :: 1
+NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME                  :: "VK_NV_external_memory_rdma"
+EXT_extended_dynamic_state2                             :: 1
+EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION               :: 1
+EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME             :: "VK_EXT_extended_dynamic_state2"
+EXT_color_write_enable                                  :: 1
+EXT_COLOR_WRITE_ENABLE_SPEC_VERSION                     :: 1
+EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME                   :: "VK_EXT_color_write_enable"
+EXT_primitives_generated_query                          :: 1
+EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION             :: 1
+EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME           :: "VK_EXT_primitives_generated_query"
+EXT_global_priority_query                               :: 1
+EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION                  :: 1
+EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME                :: "VK_EXT_global_priority_query"
+EXT_image_view_min_lod                                  :: 1
+EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION                     :: 1
+EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME                   :: "VK_EXT_image_view_min_lod"
+EXT_multi_draw                                          :: 1
+EXT_MULTI_DRAW_SPEC_VERSION                             :: 1
+EXT_MULTI_DRAW_EXTENSION_NAME                           :: "VK_EXT_multi_draw"
+EXT_image_2d_view_of_3d                                 :: 1
+EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION                    :: 1
+EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME                  :: "VK_EXT_image_2d_view_of_3d"
+EXT_load_store_op_none                                  :: 1
+EXT_LOAD_STORE_OP_NONE_SPEC_VERSION                     :: 1
+EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME                   :: "VK_EXT_load_store_op_none"
+EXT_border_color_swizzle                                :: 1
+EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION                   :: 1
+EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME                 :: "VK_EXT_border_color_swizzle"
+EXT_pageable_device_local_memory                        :: 1
+EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION           :: 1
+EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME         :: "VK_EXT_pageable_device_local_memory"
+NV_linear_color_attachment                              :: 1
+NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION                 :: 1
+NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME               :: "VK_NV_linear_color_attachment"
+GOOGLE_surfaceless_query                                :: 1
+GOOGLE_SURFACELESS_QUERY_SPEC_VERSION                   :: 1
+GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME                 :: "VK_GOOGLE_surfaceless_query"
+KHR_acceleration_structure                              :: 1
+KHR_ACCELERATION_STRUCTURE_SPEC_VERSION                 :: 13
+KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME               :: "VK_KHR_acceleration_structure"
+KHR_ray_tracing_pipeline                                :: 1
+KHR_RAY_TRACING_PIPELINE_SPEC_VERSION                   :: 1
+KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME                 :: "VK_KHR_ray_tracing_pipeline"
+KHR_ray_query                                           :: 1
+KHR_RAY_QUERY_SPEC_VERSION                              :: 1
+KHR_RAY_QUERY_EXTENSION_NAME                            :: "VK_KHR_ray_query"
+KHR_win32_surface                                       :: 1
+KHR_WIN32_SURFACE_SPEC_VERSION                          :: 6
+KHR_WIN32_SURFACE_EXTENSION_NAME                        :: "VK_KHR_win32_surface"
+KHR_external_memory_win32                               :: 1
+KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION                  :: 1
+KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME                :: "VK_KHR_external_memory_win32"
+KHR_win32_keyed_mutex                                   :: 1
+KHR_WIN32_KEYED_MUTEX_SPEC_VERSION                      :: 1
+KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME                    :: "VK_KHR_win32_keyed_mutex"
+KHR_external_semaphore_win32                            :: 1
+KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION               :: 1
+KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME             :: "VK_KHR_external_semaphore_win32"
+KHR_external_fence_win32                                :: 1
+KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION                   :: 1
+KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME                 :: "VK_KHR_external_fence_win32"
+NV_external_memory_win32                                :: 1
+NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION                   :: 1
+NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME                 :: "VK_NV_external_memory_win32"
+NV_win32_keyed_mutex                                    :: 1
+NV_WIN32_KEYED_MUTEX_SPEC_VERSION                       :: 2
+NV_WIN32_KEYED_MUTEX_EXTENSION_NAME                     :: "VK_NV_win32_keyed_mutex"
+EXT_full_screen_exclusive                               :: 1
+EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION                  :: 4
+EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME                :: "VK_EXT_full_screen_exclusive"
+EXT_metal_surface                                       :: 1
+EXT_METAL_SURFACE_SPEC_VERSION                          :: 1
+EXT_METAL_SURFACE_EXTENSION_NAME                        :: "VK_EXT_metal_surface"
+
+// Handles types
+Instance       :: distinct Handle
+PhysicalDevice :: distinct Handle
+Device         :: distinct Handle
+Queue          :: distinct Handle
+CommandBuffer  :: distinct Handle
+Buffer                        :: distinct NonDispatchableHandle
+Image                         :: distinct NonDispatchableHandle
+Semaphore                     :: distinct NonDispatchableHandle
+Fence                         :: distinct NonDispatchableHandle
+DeviceMemory                  :: distinct NonDispatchableHandle
+Event                         :: distinct NonDispatchableHandle
+QueryPool                     :: distinct NonDispatchableHandle
+BufferView                    :: distinct NonDispatchableHandle
+ImageView                     :: distinct NonDispatchableHandle
+ShaderModule                  :: distinct NonDispatchableHandle
+PipelineCache                 :: distinct NonDispatchableHandle
+PipelineLayout                :: distinct NonDispatchableHandle
+Pipeline                      :: distinct NonDispatchableHandle
+RenderPass                    :: distinct NonDispatchableHandle
+DescriptorSetLayout           :: distinct NonDispatchableHandle
+Sampler                       :: distinct NonDispatchableHandle
+DescriptorSet                 :: distinct NonDispatchableHandle
+DescriptorPool                :: distinct NonDispatchableHandle
+Framebuffer                   :: distinct NonDispatchableHandle
+CommandPool                   :: distinct NonDispatchableHandle
+SamplerYcbcrConversion        :: distinct NonDispatchableHandle
+DescriptorUpdateTemplate      :: distinct NonDispatchableHandle
+PrivateDataSlot               :: distinct NonDispatchableHandle
+SurfaceKHR                    :: distinct NonDispatchableHandle
+SwapchainKHR                  :: distinct NonDispatchableHandle
+DisplayKHR                    :: distinct NonDispatchableHandle
+DisplayModeKHR                :: distinct NonDispatchableHandle
+DeferredOperationKHR          :: distinct NonDispatchableHandle
+DebugReportCallbackEXT        :: distinct NonDispatchableHandle
+CuModuleNVX                   :: distinct NonDispatchableHandle
+CuFunctionNVX                 :: distinct NonDispatchableHandle
+DebugUtilsMessengerEXT        :: distinct NonDispatchableHandle
+ValidationCacheEXT            :: distinct NonDispatchableHandle
+AccelerationStructureNV       :: distinct NonDispatchableHandle
+PerformanceConfigurationINTEL :: distinct NonDispatchableHandle
+IndirectCommandsLayoutNV      :: distinct NonDispatchableHandle
+AccelerationStructureKHR      :: distinct NonDispatchableHandle
+
+

+ 3179 - 3181
vendor/vulkan/enums.odin

@@ -1,3181 +1,3179 @@
-//
-// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
-//
-package vulkan
-
-import "core:c"
-
-// Enums
-AccelerationStructureBuildTypeKHR :: enum c.int {
-	HOST           = 0,
-	DEVICE         = 1,
-	HOST_OR_DEVICE = 2,
-}
-
-AccelerationStructureCompatibilityKHR :: enum c.int {
-	COMPATIBLE   = 0,
-	INCOMPATIBLE = 1,
-}
-
-AccelerationStructureCreateFlagsKHR :: distinct bit_set[AccelerationStructureCreateFlagKHR; Flags]
-AccelerationStructureCreateFlagKHR :: enum Flags {
-	DEVICE_ADDRESS_CAPTURE_REPLAY = 0,
-	MOTION_NV                     = 2,
-}
-
-AccelerationStructureMemoryRequirementsTypeNV :: enum c.int {
-	OBJECT         = 0,
-	BUILD_SCRATCH  = 1,
-	UPDATE_SCRATCH = 2,
-}
-
-AccelerationStructureMotionInstanceTypeNV :: enum c.int {
-	STATIC        = 0,
-	MATRIX_MOTION = 1,
-	SRT_MOTION    = 2,
-}
-
-AccelerationStructureTypeKHR :: enum c.int {
-	TOP_LEVEL       = 0,
-	BOTTOM_LEVEL    = 1,
-	GENERIC         = 2,
-	TOP_LEVEL_NV    = TOP_LEVEL,
-	BOTTOM_LEVEL_NV = BOTTOM_LEVEL,
-}
-
-AccessFlags :: distinct bit_set[AccessFlag; Flags]
-AccessFlag :: enum Flags {
-	INDIRECT_COMMAND_READ                     = 0,
-	INDEX_READ                                = 1,
-	VERTEX_ATTRIBUTE_READ                     = 2,
-	UNIFORM_READ                              = 3,
-	INPUT_ATTACHMENT_READ                     = 4,
-	SHADER_READ                               = 5,
-	SHADER_WRITE                              = 6,
-	COLOR_ATTACHMENT_READ                     = 7,
-	COLOR_ATTACHMENT_WRITE                    = 8,
-	DEPTH_STENCIL_ATTACHMENT_READ             = 9,
-	DEPTH_STENCIL_ATTACHMENT_WRITE            = 10,
-	TRANSFER_READ                             = 11,
-	TRANSFER_WRITE                            = 12,
-	HOST_READ                                 = 13,
-	HOST_WRITE                                = 14,
-	MEMORY_READ                               = 15,
-	MEMORY_WRITE                              = 16,
-	TRANSFORM_FEEDBACK_WRITE_EXT              = 25,
-	TRANSFORM_FEEDBACK_COUNTER_READ_EXT       = 26,
-	TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT      = 27,
-	CONDITIONAL_RENDERING_READ_EXT            = 20,
-	COLOR_ATTACHMENT_READ_NONCOHERENT_EXT     = 19,
-	ACCELERATION_STRUCTURE_READ_KHR           = 21,
-	ACCELERATION_STRUCTURE_WRITE_KHR          = 22,
-	FRAGMENT_DENSITY_MAP_READ_EXT             = 24,
-	FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR = 23,
-	COMMAND_PREPROCESS_READ_NV                = 17,
-	COMMAND_PREPROCESS_WRITE_NV               = 18,
-	SHADING_RATE_IMAGE_READ_NV                = FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR,
-	ACCELERATION_STRUCTURE_READ_NV            = ACCELERATION_STRUCTURE_READ_KHR,
-	ACCELERATION_STRUCTURE_WRITE_NV           = ACCELERATION_STRUCTURE_WRITE_KHR,
-}
-
-AccessFlags_NONE :: AccessFlags{}
-
-
-AcquireProfilingLockFlagsKHR :: distinct bit_set[AcquireProfilingLockFlagKHR; Flags]
-AcquireProfilingLockFlagKHR :: enum Flags {
-}
-
-AttachmentDescriptionFlags :: distinct bit_set[AttachmentDescriptionFlag; Flags]
-AttachmentDescriptionFlag :: enum Flags {
-	MAY_ALIAS = 0,
-}
-
-AttachmentLoadOp :: enum c.int {
-	LOAD      = 0,
-	CLEAR     = 1,
-	DONT_CARE = 2,
-	NONE_EXT  = 1000400000,
-}
-
-AttachmentStoreOp :: enum c.int {
-	STORE     = 0,
-	DONT_CARE = 1,
-	NONE      = 1000301000,
-}
-
-BlendFactor :: enum c.int {
-	ZERO                     = 0,
-	ONE                      = 1,
-	SRC_COLOR                = 2,
-	ONE_MINUS_SRC_COLOR      = 3,
-	DST_COLOR                = 4,
-	ONE_MINUS_DST_COLOR      = 5,
-	SRC_ALPHA                = 6,
-	ONE_MINUS_SRC_ALPHA      = 7,
-	DST_ALPHA                = 8,
-	ONE_MINUS_DST_ALPHA      = 9,
-	CONSTANT_COLOR           = 10,
-	ONE_MINUS_CONSTANT_COLOR = 11,
-	CONSTANT_ALPHA           = 12,
-	ONE_MINUS_CONSTANT_ALPHA = 13,
-	SRC_ALPHA_SATURATE       = 14,
-	SRC1_COLOR               = 15,
-	ONE_MINUS_SRC1_COLOR     = 16,
-	SRC1_ALPHA               = 17,
-	ONE_MINUS_SRC1_ALPHA     = 18,
-}
-
-BlendOp :: enum c.int {
-	ADD                    = 0,
-	SUBTRACT               = 1,
-	REVERSE_SUBTRACT       = 2,
-	MIN                    = 3,
-	MAX                    = 4,
-	ZERO_EXT               = 1000148000,
-	SRC_EXT                = 1000148001,
-	DST_EXT                = 1000148002,
-	SRC_OVER_EXT           = 1000148003,
-	DST_OVER_EXT           = 1000148004,
-	SRC_IN_EXT             = 1000148005,
-	DST_IN_EXT             = 1000148006,
-	SRC_OUT_EXT            = 1000148007,
-	DST_OUT_EXT            = 1000148008,
-	SRC_ATOP_EXT           = 1000148009,
-	DST_ATOP_EXT           = 1000148010,
-	XOR_EXT                = 1000148011,
-	MULTIPLY_EXT           = 1000148012,
-	SCREEN_EXT             = 1000148013,
-	OVERLAY_EXT            = 1000148014,
-	DARKEN_EXT             = 1000148015,
-	LIGHTEN_EXT            = 1000148016,
-	COLORDODGE_EXT         = 1000148017,
-	COLORBURN_EXT          = 1000148018,
-	HARDLIGHT_EXT          = 1000148019,
-	SOFTLIGHT_EXT          = 1000148020,
-	DIFFERENCE_EXT         = 1000148021,
-	EXCLUSION_EXT          = 1000148022,
-	INVERT_EXT             = 1000148023,
-	INVERT_RGB_EXT         = 1000148024,
-	LINEARDODGE_EXT        = 1000148025,
-	LINEARBURN_EXT         = 1000148026,
-	VIVIDLIGHT_EXT         = 1000148027,
-	LINEARLIGHT_EXT        = 1000148028,
-	PINLIGHT_EXT           = 1000148029,
-	HARDMIX_EXT            = 1000148030,
-	HSL_HUE_EXT            = 1000148031,
-	HSL_SATURATION_EXT     = 1000148032,
-	HSL_COLOR_EXT          = 1000148033,
-	HSL_LUMINOSITY_EXT     = 1000148034,
-	PLUS_EXT               = 1000148035,
-	PLUS_CLAMPED_EXT       = 1000148036,
-	PLUS_CLAMPED_ALPHA_EXT = 1000148037,
-	PLUS_DARKER_EXT        = 1000148038,
-	MINUS_EXT              = 1000148039,
-	MINUS_CLAMPED_EXT      = 1000148040,
-	CONTRAST_EXT           = 1000148041,
-	INVERT_OVG_EXT         = 1000148042,
-	RED_EXT                = 1000148043,
-	GREEN_EXT              = 1000148044,
-	BLUE_EXT               = 1000148045,
-}
-
-BlendOverlapEXT :: enum c.int {
-	UNCORRELATED = 0,
-	DISJOINT     = 1,
-	CONJOINT     = 2,
-}
-
-BorderColor :: enum c.int {
-	FLOAT_TRANSPARENT_BLACK = 0,
-	INT_TRANSPARENT_BLACK   = 1,
-	FLOAT_OPAQUE_BLACK      = 2,
-	INT_OPAQUE_BLACK        = 3,
-	FLOAT_OPAQUE_WHITE      = 4,
-	INT_OPAQUE_WHITE        = 5,
-	FLOAT_CUSTOM_EXT        = 1000287003,
-	INT_CUSTOM_EXT          = 1000287004,
-}
-
-BufferCreateFlags :: distinct bit_set[BufferCreateFlag; Flags]
-BufferCreateFlag :: enum Flags {
-	SPARSE_BINDING                    = 0,
-	SPARSE_RESIDENCY                  = 1,
-	SPARSE_ALIASED                    = 2,
-	PROTECTED                         = 3,
-	DEVICE_ADDRESS_CAPTURE_REPLAY     = 4,
-	DEVICE_ADDRESS_CAPTURE_REPLAY_EXT = DEVICE_ADDRESS_CAPTURE_REPLAY,
-	DEVICE_ADDRESS_CAPTURE_REPLAY_KHR = DEVICE_ADDRESS_CAPTURE_REPLAY,
-}
-
-BufferUsageFlags :: distinct bit_set[BufferUsageFlag; Flags]
-BufferUsageFlag :: enum Flags {
-	TRANSFER_SRC                                     = 0,
-	TRANSFER_DST                                     = 1,
-	UNIFORM_TEXEL_BUFFER                             = 2,
-	STORAGE_TEXEL_BUFFER                             = 3,
-	UNIFORM_BUFFER                                   = 4,
-	STORAGE_BUFFER                                   = 5,
-	INDEX_BUFFER                                     = 6,
-	VERTEX_BUFFER                                    = 7,
-	INDIRECT_BUFFER                                  = 8,
-	SHADER_DEVICE_ADDRESS                            = 17,
-	VIDEO_DECODE_SRC_KHR                             = 13,
-	VIDEO_DECODE_DST_KHR                             = 14,
-	TRANSFORM_FEEDBACK_BUFFER_EXT                    = 11,
-	TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT            = 12,
-	CONDITIONAL_RENDERING_EXT                        = 9,
-	ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_KHR = 19,
-	ACCELERATION_STRUCTURE_STORAGE_KHR               = 20,
-	SHADER_BINDING_TABLE_KHR                         = 10,
-	VIDEO_ENCODE_DST_KHR                             = 15,
-	VIDEO_ENCODE_SRC_KHR                             = 16,
-	RAY_TRACING_NV                                   = SHADER_BINDING_TABLE_KHR,
-	SHADER_DEVICE_ADDRESS_EXT                        = SHADER_DEVICE_ADDRESS,
-	SHADER_DEVICE_ADDRESS_KHR                        = SHADER_DEVICE_ADDRESS,
-}
-
-BuildAccelerationStructureFlagsKHR :: distinct bit_set[BuildAccelerationStructureFlagKHR; Flags]
-BuildAccelerationStructureFlagKHR :: enum Flags {
-	ALLOW_UPDATE         = 0,
-	ALLOW_COMPACTION     = 1,
-	PREFER_FAST_TRACE    = 2,
-	PREFER_FAST_BUILD    = 3,
-	LOW_MEMORY           = 4,
-	MOTION_NV            = 5,
-	ALLOW_UPDATE_NV      = ALLOW_UPDATE,
-	ALLOW_COMPACTION_NV  = ALLOW_COMPACTION,
-	PREFER_FAST_TRACE_NV = PREFER_FAST_TRACE,
-	PREFER_FAST_BUILD_NV = PREFER_FAST_BUILD,
-	LOW_MEMORY_NV        = LOW_MEMORY,
-}
-
-BuildAccelerationStructureModeKHR :: enum c.int {
-	BUILD  = 0,
-	UPDATE = 1,
-}
-
-ChromaLocation :: enum c.int {
-	COSITED_EVEN     = 0,
-	MIDPOINT         = 1,
-	COSITED_EVEN_KHR = COSITED_EVEN,
-	MIDPOINT_KHR     = MIDPOINT,
-}
-
-CoarseSampleOrderTypeNV :: enum c.int {
-	DEFAULT      = 0,
-	CUSTOM       = 1,
-	PIXEL_MAJOR  = 2,
-	SAMPLE_MAJOR = 3,
-}
-
-ColorComponentFlags :: distinct bit_set[ColorComponentFlag; Flags]
-ColorComponentFlag :: enum Flags {
-	R = 0,
-	G = 1,
-	B = 2,
-	A = 3,
-}
-
-ColorSpaceKHR :: enum c.int {
-	SRGB_NONLINEAR              = 0,
-	DISPLAY_P3_NONLINEAR_EXT    = 1000104001,
-	EXTENDED_SRGB_LINEAR_EXT    = 1000104002,
-	DISPLAY_P3_LINEAR_EXT       = 1000104003,
-	DCI_P3_NONLINEAR_EXT        = 1000104004,
-	BT709_LINEAR_EXT            = 1000104005,
-	BT709_NONLINEAR_EXT         = 1000104006,
-	BT2020_LINEAR_EXT           = 1000104007,
-	HDR10_ST2084_EXT            = 1000104008,
-	DOLBYVISION_EXT             = 1000104009,
-	HDR10_HLG_EXT               = 1000104010,
-	ADOBERGB_LINEAR_EXT         = 1000104011,
-	ADOBERGB_NONLINEAR_EXT      = 1000104012,
-	PASS_THROUGH_EXT            = 1000104013,
-	EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
-	DISPLAY_NATIVE_AMD          = 1000213000,
-	COLORSPACE_SRGB_NONLINEAR   = SRGB_NONLINEAR,
-	DCI_P3_LINEAR_EXT           = DISPLAY_P3_LINEAR_EXT,
-}
-
-CommandBufferLevel :: enum c.int {
-	PRIMARY   = 0,
-	SECONDARY = 1,
-}
-
-CommandBufferResetFlags :: distinct bit_set[CommandBufferResetFlag; Flags]
-CommandBufferResetFlag :: enum Flags {
-	RELEASE_RESOURCES = 0,
-}
-
-CommandBufferUsageFlags :: distinct bit_set[CommandBufferUsageFlag; Flags]
-CommandBufferUsageFlag :: enum Flags {
-	ONE_TIME_SUBMIT      = 0,
-	RENDER_PASS_CONTINUE = 1,
-	SIMULTANEOUS_USE     = 2,
-}
-
-CommandPoolCreateFlags :: distinct bit_set[CommandPoolCreateFlag; Flags]
-CommandPoolCreateFlag :: enum Flags {
-	TRANSIENT            = 0,
-	RESET_COMMAND_BUFFER = 1,
-	PROTECTED            = 2,
-}
-
-CommandPoolResetFlags :: distinct bit_set[CommandPoolResetFlag; Flags]
-CommandPoolResetFlag :: enum Flags {
-	RELEASE_RESOURCES = 0,
-}
-
-CompareOp :: enum c.int {
-	NEVER            = 0,
-	LESS             = 1,
-	EQUAL            = 2,
-	LESS_OR_EQUAL    = 3,
-	GREATER          = 4,
-	NOT_EQUAL        = 5,
-	GREATER_OR_EQUAL = 6,
-	ALWAYS           = 7,
-}
-
-ComponentSwizzle :: enum c.int {
-	IDENTITY = 0,
-	ZERO     = 1,
-	ONE      = 2,
-	R        = 3,
-	G        = 4,
-	B        = 5,
-	A        = 6,
-}
-
-ComponentTypeNV :: enum c.int {
-	FLOAT16 = 0,
-	FLOAT32 = 1,
-	FLOAT64 = 2,
-	SINT8   = 3,
-	SINT16  = 4,
-	SINT32  = 5,
-	SINT64  = 6,
-	UINT8   = 7,
-	UINT16  = 8,
-	UINT32  = 9,
-	UINT64  = 10,
-}
-
-CompositeAlphaFlagsKHR :: distinct bit_set[CompositeAlphaFlagKHR; Flags]
-CompositeAlphaFlagKHR :: enum Flags {
-	OPAQUE          = 0,
-	PRE_MULTIPLIED  = 1,
-	POST_MULTIPLIED = 2,
-	INHERIT         = 3,
-}
-
-ConditionalRenderingFlagsEXT :: distinct bit_set[ConditionalRenderingFlagEXT; Flags]
-ConditionalRenderingFlagEXT :: enum Flags {
-	INVERTED = 0,
-}
-
-ConservativeRasterizationModeEXT :: enum c.int {
-	DISABLED      = 0,
-	OVERESTIMATE  = 1,
-	UNDERESTIMATE = 2,
-}
-
-CopyAccelerationStructureModeKHR :: enum c.int {
-	CLONE       = 0,
-	COMPACT     = 1,
-	SERIALIZE   = 2,
-	DESERIALIZE = 3,
-	CLONE_NV    = CLONE,
-	COMPACT_NV  = COMPACT,
-}
-
-CoverageModulationModeNV :: enum c.int {
-	NONE  = 0,
-	RGB   = 1,
-	ALPHA = 2,
-	RGBA  = 3,
-}
-
-CoverageReductionModeNV :: enum c.int {
-	MERGE    = 0,
-	TRUNCATE = 1,
-}
-
-CullModeFlags :: distinct bit_set[CullModeFlag; Flags]
-CullModeFlag :: enum Flags {
-	FRONT = 0,
-	BACK  = 1,
-}
-
-CullModeFlags_NONE :: CullModeFlags{}
-CullModeFlags_FRONT_AND_BACK :: CullModeFlags{.FRONT, .BACK}
-
-
-DebugReportFlagsEXT :: distinct bit_set[DebugReportFlagEXT; Flags]
-DebugReportFlagEXT :: enum Flags {
-	INFORMATION         = 0,
-	WARNING             = 1,
-	PERFORMANCE_WARNING = 2,
-	ERROR               = 3,
-	DEBUG               = 4,
-}
-
-DebugReportObjectTypeEXT :: enum c.int {
-	UNKNOWN                        = 0,
-	INSTANCE                       = 1,
-	PHYSICAL_DEVICE                = 2,
-	DEVICE                         = 3,
-	QUEUE                          = 4,
-	SEMAPHORE                      = 5,
-	COMMAND_BUFFER                 = 6,
-	FENCE                          = 7,
-	DEVICE_MEMORY                  = 8,
-	BUFFER                         = 9,
-	IMAGE                          = 10,
-	EVENT                          = 11,
-	QUERY_POOL                     = 12,
-	BUFFER_VIEW                    = 13,
-	IMAGE_VIEW                     = 14,
-	SHADER_MODULE                  = 15,
-	PIPELINE_CACHE                 = 16,
-	PIPELINE_LAYOUT                = 17,
-	RENDER_PASS                    = 18,
-	PIPELINE                       = 19,
-	DESCRIPTOR_SET_LAYOUT          = 20,
-	SAMPLER                        = 21,
-	DESCRIPTOR_POOL                = 22,
-	DESCRIPTOR_SET                 = 23,
-	FRAMEBUFFER                    = 24,
-	COMMAND_POOL                   = 25,
-	SURFACE_KHR                    = 26,
-	SWAPCHAIN_KHR                  = 27,
-	DEBUG_REPORT_CALLBACK_EXT      = 28,
-	DISPLAY_KHR                    = 29,
-	DISPLAY_MODE_KHR               = 30,
-	VALIDATION_CACHE_EXT           = 33,
-	SAMPLER_YCBCR_CONVERSION       = 1000156000,
-	DESCRIPTOR_UPDATE_TEMPLATE     = 1000085000,
-	CU_MODULE_NVX                  = 1000029000,
-	CU_FUNCTION_NVX                = 1000029001,
-	ACCELERATION_STRUCTURE_KHR     = 1000150000,
-	ACCELERATION_STRUCTURE_NV      = 1000165000,
-	BUFFER_COLLECTION_FUCHSIA      = 1000366000,
-	DEBUG_REPORT                   = DEBUG_REPORT_CALLBACK_EXT,
-	VALIDATION_CACHE               = VALIDATION_CACHE_EXT,
-	DESCRIPTOR_UPDATE_TEMPLATE_KHR = DESCRIPTOR_UPDATE_TEMPLATE,
-	SAMPLER_YCBCR_CONVERSION_KHR   = SAMPLER_YCBCR_CONVERSION,
-}
-
-DebugUtilsMessageSeverityFlagsEXT :: distinct bit_set[DebugUtilsMessageSeverityFlagEXT; Flags]
-DebugUtilsMessageSeverityFlagEXT :: enum Flags {
-	VERBOSE = 0,
-	INFO    = 4,
-	WARNING = 8,
-	ERROR   = 12,
-}
-
-DebugUtilsMessageTypeFlagsEXT :: distinct bit_set[DebugUtilsMessageTypeFlagEXT; Flags]
-DebugUtilsMessageTypeFlagEXT :: enum Flags {
-	GENERAL     = 0,
-	VALIDATION  = 1,
-	PERFORMANCE = 2,
-}
-
-DependencyFlags :: distinct bit_set[DependencyFlag; Flags]
-DependencyFlag :: enum Flags {
-	BY_REGION        = 0,
-	DEVICE_GROUP     = 2,
-	VIEW_LOCAL       = 1,
-	VIEW_LOCAL_KHR   = VIEW_LOCAL,
-	DEVICE_GROUP_KHR = DEVICE_GROUP,
-}
-
-DescriptorBindingFlags :: distinct bit_set[DescriptorBindingFlag; Flags]
-DescriptorBindingFlag :: enum Flags {
-	UPDATE_AFTER_BIND               = 0,
-	UPDATE_UNUSED_WHILE_PENDING     = 1,
-	PARTIALLY_BOUND                 = 2,
-	VARIABLE_DESCRIPTOR_COUNT       = 3,
-	UPDATE_AFTER_BIND_EXT           = UPDATE_AFTER_BIND,
-	UPDATE_UNUSED_WHILE_PENDING_EXT = UPDATE_UNUSED_WHILE_PENDING,
-	PARTIALLY_BOUND_EXT             = PARTIALLY_BOUND,
-	VARIABLE_DESCRIPTOR_COUNT_EXT   = VARIABLE_DESCRIPTOR_COUNT,
-}
-
-DescriptorPoolCreateFlags :: distinct bit_set[DescriptorPoolCreateFlag; Flags]
-DescriptorPoolCreateFlag :: enum Flags {
-	FREE_DESCRIPTOR_SET   = 0,
-	UPDATE_AFTER_BIND     = 1,
-	HOST_ONLY_VALVE       = 2,
-	UPDATE_AFTER_BIND_EXT = UPDATE_AFTER_BIND,
-}
-
-DescriptorSetLayoutCreateFlags :: distinct bit_set[DescriptorSetLayoutCreateFlag; Flags]
-DescriptorSetLayoutCreateFlag :: enum Flags {
-	UPDATE_AFTER_BIND_POOL     = 1,
-	PUSH_DESCRIPTOR_KHR        = 0,
-	HOST_ONLY_POOL_VALVE       = 2,
-	UPDATE_AFTER_BIND_POOL_EXT = UPDATE_AFTER_BIND_POOL,
-}
-
-DescriptorType :: enum c.int {
-	SAMPLER                    = 0,
-	COMBINED_IMAGE_SAMPLER     = 1,
-	SAMPLED_IMAGE              = 2,
-	STORAGE_IMAGE              = 3,
-	UNIFORM_TEXEL_BUFFER       = 4,
-	STORAGE_TEXEL_BUFFER       = 5,
-	UNIFORM_BUFFER             = 6,
-	STORAGE_BUFFER             = 7,
-	UNIFORM_BUFFER_DYNAMIC     = 8,
-	STORAGE_BUFFER_DYNAMIC     = 9,
-	INPUT_ATTACHMENT           = 10,
-	INLINE_UNIFORM_BLOCK       = 1000138000,
-	ACCELERATION_STRUCTURE_KHR = 1000150000,
-	ACCELERATION_STRUCTURE_NV  = 1000165000,
-	MUTABLE_VALVE              = 1000351000,
-	INLINE_UNIFORM_BLOCK_EXT   = INLINE_UNIFORM_BLOCK,
-}
-
-DescriptorUpdateTemplateType :: enum c.int {
-	DESCRIPTOR_SET       = 0,
-	PUSH_DESCRIPTORS_KHR = 1,
-	DESCRIPTOR_SET_KHR   = DESCRIPTOR_SET,
-}
-
-DeviceDiagnosticsConfigFlagsNV :: distinct bit_set[DeviceDiagnosticsConfigFlagNV; Flags]
-DeviceDiagnosticsConfigFlagNV :: enum Flags {
-	ENABLE_SHADER_DEBUG_INFO     = 0,
-	ENABLE_RESOURCE_TRACKING     = 1,
-	ENABLE_AUTOMATIC_CHECKPOINTS = 2,
-}
-
-DeviceEventTypeEXT :: enum c.int {
-	DISPLAY_HOTPLUG = 0,
-}
-
-DeviceGroupPresentModeFlagsKHR :: distinct bit_set[DeviceGroupPresentModeFlagKHR; Flags]
-DeviceGroupPresentModeFlagKHR :: enum Flags {
-	LOCAL              = 0,
-	REMOTE             = 1,
-	SUM                = 2,
-	LOCAL_MULTI_DEVICE = 3,
-}
-
-DeviceMemoryReportEventTypeEXT :: enum c.int {
-	ALLOCATE          = 0,
-	FREE              = 1,
-	IMPORT            = 2,
-	UNIMPORT          = 3,
-	ALLOCATION_FAILED = 4,
-}
-
-DeviceQueueCreateFlags :: distinct bit_set[DeviceQueueCreateFlag; Flags]
-DeviceQueueCreateFlag :: enum Flags {
-	PROTECTED = 0,
-}
-
-DiscardRectangleModeEXT :: enum c.int {
-	INCLUSIVE = 0,
-	EXCLUSIVE = 1,
-}
-
-DisplayEventTypeEXT :: enum c.int {
-	FIRST_PIXEL_OUT = 0,
-}
-
-DisplayPlaneAlphaFlagsKHR :: distinct bit_set[DisplayPlaneAlphaFlagKHR; Flags]
-DisplayPlaneAlphaFlagKHR :: enum Flags {
-	OPAQUE                  = 0,
-	GLOBAL                  = 1,
-	PER_PIXEL               = 2,
-	PER_PIXEL_PREMULTIPLIED = 3,
-}
-
-DisplayPowerStateEXT :: enum c.int {
-	OFF     = 0,
-	SUSPEND = 1,
-	ON      = 2,
-}
-
-DriverId :: enum c.int {
-	AMD_PROPRIETARY               = 1,
-	AMD_OPEN_SOURCE               = 2,
-	MESA_RADV                     = 3,
-	NVIDIA_PROPRIETARY            = 4,
-	INTEL_PROPRIETARY_WINDOWS     = 5,
-	INTEL_OPEN_SOURCE_MESA        = 6,
-	IMAGINATION_PROPRIETARY       = 7,
-	QUALCOMM_PROPRIETARY          = 8,
-	ARM_PROPRIETARY               = 9,
-	GOOGLE_SWIFTSHADER            = 10,
-	GGP_PROPRIETARY               = 11,
-	BROADCOM_PROPRIETARY          = 12,
-	MESA_LLVMPIPE                 = 13,
-	MOLTENVK                      = 14,
-	COREAVI_PROPRIETARY           = 15,
-	JUICE_PROPRIETARY             = 16,
-	VERISILICON_PROPRIETARY       = 17,
-	MESA_TURNIP                   = 18,
-	MESA_V3DV                     = 19,
-	MESA_PANVK                    = 20,
-	SAMSUNG_PROPRIETARY           = 21,
-	MESA_VENUS                    = 22,
-	AMD_PROPRIETARY_KHR           = AMD_PROPRIETARY,
-	AMD_OPEN_SOURCE_KHR           = AMD_OPEN_SOURCE,
-	MESA_RADV_KHR                 = MESA_RADV,
-	NVIDIA_PROPRIETARY_KHR        = NVIDIA_PROPRIETARY,
-	INTEL_PROPRIETARY_WINDOWS_KHR = INTEL_PROPRIETARY_WINDOWS,
-	INTEL_OPEN_SOURCE_MESA_KHR    = INTEL_OPEN_SOURCE_MESA,
-	IMAGINATION_PROPRIETARY_KHR   = IMAGINATION_PROPRIETARY,
-	QUALCOMM_PROPRIETARY_KHR      = QUALCOMM_PROPRIETARY,
-	ARM_PROPRIETARY_KHR           = ARM_PROPRIETARY,
-	GOOGLE_SWIFTSHADER_KHR        = GOOGLE_SWIFTSHADER,
-	GGP_PROPRIETARY_KHR           = GGP_PROPRIETARY,
-	BROADCOM_PROPRIETARY_KHR      = BROADCOM_PROPRIETARY,
-}
-
-DynamicState :: enum c.int {
-	VIEWPORT                            = 0,
-	SCISSOR                             = 1,
-	LINE_WIDTH                          = 2,
-	DEPTH_BIAS                          = 3,
-	BLEND_CONSTANTS                     = 4,
-	DEPTH_BOUNDS                        = 5,
-	STENCIL_COMPARE_MASK                = 6,
-	STENCIL_WRITE_MASK                  = 7,
-	STENCIL_REFERENCE                   = 8,
-	CULL_MODE                           = 1000267000,
-	FRONT_FACE                          = 1000267001,
-	PRIMITIVE_TOPOLOGY                  = 1000267002,
-	VIEWPORT_WITH_COUNT                 = 1000267003,
-	SCISSOR_WITH_COUNT                  = 1000267004,
-	VERTEX_INPUT_BINDING_STRIDE         = 1000267005,
-	DEPTH_TEST_ENABLE                   = 1000267006,
-	DEPTH_WRITE_ENABLE                  = 1000267007,
-	DEPTH_COMPARE_OP                    = 1000267008,
-	DEPTH_BOUNDS_TEST_ENABLE            = 1000267009,
-	STENCIL_TEST_ENABLE                 = 1000267010,
-	STENCIL_OP                          = 1000267011,
-	RASTERIZER_DISCARD_ENABLE           = 1000377001,
-	DEPTH_BIAS_ENABLE                   = 1000377002,
-	PRIMITIVE_RESTART_ENABLE            = 1000377004,
-	VIEWPORT_W_SCALING_NV               = 1000087000,
-	DISCARD_RECTANGLE_EXT               = 1000099000,
-	SAMPLE_LOCATIONS_EXT                = 1000143000,
-	RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
-	VIEWPORT_SHADING_RATE_PALETTE_NV    = 1000164004,
-	VIEWPORT_COARSE_SAMPLE_ORDER_NV     = 1000164006,
-	EXCLUSIVE_SCISSOR_NV                = 1000205001,
-	FRAGMENT_SHADING_RATE_KHR           = 1000226000,
-	LINE_STIPPLE_EXT                    = 1000259000,
-	VERTEX_INPUT_EXT                    = 1000352000,
-	PATCH_CONTROL_POINTS_EXT            = 1000377000,
-	LOGIC_OP_EXT                        = 1000377003,
-	COLOR_WRITE_ENABLE_EXT              = 1000381000,
-	CULL_MODE_EXT                       = CULL_MODE,
-	FRONT_FACE_EXT                      = FRONT_FACE,
-	PRIMITIVE_TOPOLOGY_EXT              = PRIMITIVE_TOPOLOGY,
-	VIEWPORT_WITH_COUNT_EXT             = VIEWPORT_WITH_COUNT,
-	SCISSOR_WITH_COUNT_EXT              = SCISSOR_WITH_COUNT,
-	VERTEX_INPUT_BINDING_STRIDE_EXT     = VERTEX_INPUT_BINDING_STRIDE,
-	DEPTH_TEST_ENABLE_EXT               = DEPTH_TEST_ENABLE,
-	DEPTH_WRITE_ENABLE_EXT              = DEPTH_WRITE_ENABLE,
-	DEPTH_COMPARE_OP_EXT                = DEPTH_COMPARE_OP,
-	DEPTH_BOUNDS_TEST_ENABLE_EXT        = DEPTH_BOUNDS_TEST_ENABLE,
-	STENCIL_TEST_ENABLE_EXT             = STENCIL_TEST_ENABLE,
-	STENCIL_OP_EXT                      = STENCIL_OP,
-	RASTERIZER_DISCARD_ENABLE_EXT       = RASTERIZER_DISCARD_ENABLE,
-	DEPTH_BIAS_ENABLE_EXT               = DEPTH_BIAS_ENABLE,
-	PRIMITIVE_RESTART_ENABLE_EXT        = PRIMITIVE_RESTART_ENABLE,
-}
-
-EventCreateFlags :: distinct bit_set[EventCreateFlag; Flags]
-EventCreateFlag :: enum Flags {
-	DEVICE_ONLY     = 0,
-	DEVICE_ONLY_KHR = DEVICE_ONLY,
-}
-
-ExternalFenceFeatureFlags :: distinct bit_set[ExternalFenceFeatureFlag; Flags]
-ExternalFenceFeatureFlag :: enum Flags {
-	EXPORTABLE     = 0,
-	IMPORTABLE     = 1,
-	EXPORTABLE_KHR = EXPORTABLE,
-	IMPORTABLE_KHR = IMPORTABLE,
-}
-
-ExternalFenceHandleTypeFlags :: distinct bit_set[ExternalFenceHandleTypeFlag; Flags]
-ExternalFenceHandleTypeFlag :: enum Flags {
-	OPAQUE_FD            = 0,
-	OPAQUE_WIN32         = 1,
-	OPAQUE_WIN32_KMT     = 2,
-	SYNC_FD              = 3,
-	OPAQUE_FD_KHR        = OPAQUE_FD,
-	OPAQUE_WIN32_KHR     = OPAQUE_WIN32,
-	OPAQUE_WIN32_KMT_KHR = OPAQUE_WIN32_KMT,
-	SYNC_FD_KHR          = SYNC_FD,
-}
-
-ExternalMemoryFeatureFlags :: distinct bit_set[ExternalMemoryFeatureFlag; Flags]
-ExternalMemoryFeatureFlag :: enum Flags {
-	DEDICATED_ONLY     = 0,
-	EXPORTABLE         = 1,
-	IMPORTABLE         = 2,
-	DEDICATED_ONLY_KHR = DEDICATED_ONLY,
-	EXPORTABLE_KHR     = EXPORTABLE,
-	IMPORTABLE_KHR     = IMPORTABLE,
-}
-
-ExternalMemoryFeatureFlagsNV :: distinct bit_set[ExternalMemoryFeatureFlagNV; Flags]
-ExternalMemoryFeatureFlagNV :: enum Flags {
-	DEDICATED_ONLY = 0,
-	EXPORTABLE     = 1,
-	IMPORTABLE     = 2,
-}
-
-ExternalMemoryHandleTypeFlags :: distinct bit_set[ExternalMemoryHandleTypeFlag; Flags]
-ExternalMemoryHandleTypeFlag :: enum Flags {
-	OPAQUE_FD                       = 0,
-	OPAQUE_WIN32                    = 1,
-	OPAQUE_WIN32_KMT                = 2,
-	D3D11_TEXTURE                   = 3,
-	D3D11_TEXTURE_KMT               = 4,
-	D3D12_HEAP                      = 5,
-	D3D12_RESOURCE                  = 6,
-	DMA_BUF_EXT                     = 9,
-	ANDROID_HARDWARE_BUFFER_ANDROID = 10,
-	HOST_ALLOCATION_EXT             = 7,
-	HOST_MAPPED_FOREIGN_MEMORY_EXT  = 8,
-	ZIRCON_VMO_FUCHSIA              = 11,
-	RDMA_ADDRESS_NV                 = 12,
-	OPAQUE_FD_KHR                   = OPAQUE_FD,
-	OPAQUE_WIN32_KHR                = OPAQUE_WIN32,
-	OPAQUE_WIN32_KMT_KHR            = OPAQUE_WIN32_KMT,
-	D3D11_TEXTURE_KHR               = D3D11_TEXTURE,
-	D3D11_TEXTURE_KMT_KHR           = D3D11_TEXTURE_KMT,
-	D3D12_HEAP_KHR                  = D3D12_HEAP,
-	D3D12_RESOURCE_KHR              = D3D12_RESOURCE,
-}
-
-ExternalMemoryHandleTypeFlagsNV :: distinct bit_set[ExternalMemoryHandleTypeFlagNV; Flags]
-ExternalMemoryHandleTypeFlagNV :: enum Flags {
-	OPAQUE_WIN32     = 0,
-	OPAQUE_WIN32_KMT = 1,
-	D3D11_IMAGE      = 2,
-	D3D11_IMAGE_KMT  = 3,
-}
-
-ExternalSemaphoreFeatureFlags :: distinct bit_set[ExternalSemaphoreFeatureFlag; Flags]
-ExternalSemaphoreFeatureFlag :: enum Flags {
-	EXPORTABLE     = 0,
-	IMPORTABLE     = 1,
-	EXPORTABLE_KHR = EXPORTABLE,
-	IMPORTABLE_KHR = IMPORTABLE,
-}
-
-ExternalSemaphoreHandleTypeFlags :: distinct bit_set[ExternalSemaphoreHandleTypeFlag; Flags]
-ExternalSemaphoreHandleTypeFlag :: enum Flags {
-	OPAQUE_FD            = 0,
-	OPAQUE_WIN32         = 1,
-	OPAQUE_WIN32_KMT     = 2,
-	D3D12_FENCE          = 3,
-	SYNC_FD              = 4,
-	ZIRCON_EVENT_FUCHSIA = 7,
-	D3D11_FENCE          = D3D12_FENCE,
-	OPAQUE_FD_KHR        = OPAQUE_FD,
-	OPAQUE_WIN32_KHR     = OPAQUE_WIN32,
-	OPAQUE_WIN32_KMT_KHR = OPAQUE_WIN32_KMT,
-	D3D12_FENCE_KHR      = D3D12_FENCE,
-	SYNC_FD_KHR          = SYNC_FD,
-}
-
-FenceCreateFlags :: distinct bit_set[FenceCreateFlag; Flags]
-FenceCreateFlag :: enum Flags {
-	SIGNALED = 0,
-}
-
-FenceImportFlags :: distinct bit_set[FenceImportFlag; Flags]
-FenceImportFlag :: enum Flags {
-	TEMPORARY     = 0,
-	TEMPORARY_KHR = TEMPORARY,
-}
-
-Filter :: enum c.int {
-	NEAREST   = 0,
-	LINEAR    = 1,
-	CUBIC_IMG = 1000015000,
-	CUBIC_EXT = CUBIC_IMG,
-}
-
-Format :: enum c.int {
-	UNDEFINED                                      = 0,
-	R4G4_UNORM_PACK8                               = 1,
-	R4G4B4A4_UNORM_PACK16                          = 2,
-	B4G4R4A4_UNORM_PACK16                          = 3,
-	R5G6B5_UNORM_PACK16                            = 4,
-	B5G6R5_UNORM_PACK16                            = 5,
-	R5G5B5A1_UNORM_PACK16                          = 6,
-	B5G5R5A1_UNORM_PACK16                          = 7,
-	A1R5G5B5_UNORM_PACK16                          = 8,
-	R8_UNORM                                       = 9,
-	R8_SNORM                                       = 10,
-	R8_USCALED                                     = 11,
-	R8_SSCALED                                     = 12,
-	R8_UINT                                        = 13,
-	R8_SINT                                        = 14,
-	R8_SRGB                                        = 15,
-	R8G8_UNORM                                     = 16,
-	R8G8_SNORM                                     = 17,
-	R8G8_USCALED                                   = 18,
-	R8G8_SSCALED                                   = 19,
-	R8G8_UINT                                      = 20,
-	R8G8_SINT                                      = 21,
-	R8G8_SRGB                                      = 22,
-	R8G8B8_UNORM                                   = 23,
-	R8G8B8_SNORM                                   = 24,
-	R8G8B8_USCALED                                 = 25,
-	R8G8B8_SSCALED                                 = 26,
-	R8G8B8_UINT                                    = 27,
-	R8G8B8_SINT                                    = 28,
-	R8G8B8_SRGB                                    = 29,
-	B8G8R8_UNORM                                   = 30,
-	B8G8R8_SNORM                                   = 31,
-	B8G8R8_USCALED                                 = 32,
-	B8G8R8_SSCALED                                 = 33,
-	B8G8R8_UINT                                    = 34,
-	B8G8R8_SINT                                    = 35,
-	B8G8R8_SRGB                                    = 36,
-	R8G8B8A8_UNORM                                 = 37,
-	R8G8B8A8_SNORM                                 = 38,
-	R8G8B8A8_USCALED                               = 39,
-	R8G8B8A8_SSCALED                               = 40,
-	R8G8B8A8_UINT                                  = 41,
-	R8G8B8A8_SINT                                  = 42,
-	R8G8B8A8_SRGB                                  = 43,
-	B8G8R8A8_UNORM                                 = 44,
-	B8G8R8A8_SNORM                                 = 45,
-	B8G8R8A8_USCALED                               = 46,
-	B8G8R8A8_SSCALED                               = 47,
-	B8G8R8A8_UINT                                  = 48,
-	B8G8R8A8_SINT                                  = 49,
-	B8G8R8A8_SRGB                                  = 50,
-	A8B8G8R8_UNORM_PACK32                          = 51,
-	A8B8G8R8_SNORM_PACK32                          = 52,
-	A8B8G8R8_USCALED_PACK32                        = 53,
-	A8B8G8R8_SSCALED_PACK32                        = 54,
-	A8B8G8R8_UINT_PACK32                           = 55,
-	A8B8G8R8_SINT_PACK32                           = 56,
-	A8B8G8R8_SRGB_PACK32                           = 57,
-	A2R10G10B10_UNORM_PACK32                       = 58,
-	A2R10G10B10_SNORM_PACK32                       = 59,
-	A2R10G10B10_USCALED_PACK32                     = 60,
-	A2R10G10B10_SSCALED_PACK32                     = 61,
-	A2R10G10B10_UINT_PACK32                        = 62,
-	A2R10G10B10_SINT_PACK32                        = 63,
-	A2B10G10R10_UNORM_PACK32                       = 64,
-	A2B10G10R10_SNORM_PACK32                       = 65,
-	A2B10G10R10_USCALED_PACK32                     = 66,
-	A2B10G10R10_SSCALED_PACK32                     = 67,
-	A2B10G10R10_UINT_PACK32                        = 68,
-	A2B10G10R10_SINT_PACK32                        = 69,
-	R16_UNORM                                      = 70,
-	R16_SNORM                                      = 71,
-	R16_USCALED                                    = 72,
-	R16_SSCALED                                    = 73,
-	R16_UINT                                       = 74,
-	R16_SINT                                       = 75,
-	R16_SFLOAT                                     = 76,
-	R16G16_UNORM                                   = 77,
-	R16G16_SNORM                                   = 78,
-	R16G16_USCALED                                 = 79,
-	R16G16_SSCALED                                 = 80,
-	R16G16_UINT                                    = 81,
-	R16G16_SINT                                    = 82,
-	R16G16_SFLOAT                                  = 83,
-	R16G16B16_UNORM                                = 84,
-	R16G16B16_SNORM                                = 85,
-	R16G16B16_USCALED                              = 86,
-	R16G16B16_SSCALED                              = 87,
-	R16G16B16_UINT                                 = 88,
-	R16G16B16_SINT                                 = 89,
-	R16G16B16_SFLOAT                               = 90,
-	R16G16B16A16_UNORM                             = 91,
-	R16G16B16A16_SNORM                             = 92,
-	R16G16B16A16_USCALED                           = 93,
-	R16G16B16A16_SSCALED                           = 94,
-	R16G16B16A16_UINT                              = 95,
-	R16G16B16A16_SINT                              = 96,
-	R16G16B16A16_SFLOAT                            = 97,
-	R32_UINT                                       = 98,
-	R32_SINT                                       = 99,
-	R32_SFLOAT                                     = 100,
-	R32G32_UINT                                    = 101,
-	R32G32_SINT                                    = 102,
-	R32G32_SFLOAT                                  = 103,
-	R32G32B32_UINT                                 = 104,
-	R32G32B32_SINT                                 = 105,
-	R32G32B32_SFLOAT                               = 106,
-	R32G32B32A32_UINT                              = 107,
-	R32G32B32A32_SINT                              = 108,
-	R32G32B32A32_SFLOAT                            = 109,
-	R64_UINT                                       = 110,
-	R64_SINT                                       = 111,
-	R64_SFLOAT                                     = 112,
-	R64G64_UINT                                    = 113,
-	R64G64_SINT                                    = 114,
-	R64G64_SFLOAT                                  = 115,
-	R64G64B64_UINT                                 = 116,
-	R64G64B64_SINT                                 = 117,
-	R64G64B64_SFLOAT                               = 118,
-	R64G64B64A64_UINT                              = 119,
-	R64G64B64A64_SINT                              = 120,
-	R64G64B64A64_SFLOAT                            = 121,
-	B10G11R11_UFLOAT_PACK32                        = 122,
-	E5B9G9R9_UFLOAT_PACK32                         = 123,
-	D16_UNORM                                      = 124,
-	X8_D24_UNORM_PACK32                            = 125,
-	D32_SFLOAT                                     = 126,
-	S8_UINT                                        = 127,
-	D16_UNORM_S8_UINT                              = 128,
-	D24_UNORM_S8_UINT                              = 129,
-	D32_SFLOAT_S8_UINT                             = 130,
-	BC1_RGB_UNORM_BLOCK                            = 131,
-	BC1_RGB_SRGB_BLOCK                             = 132,
-	BC1_RGBA_UNORM_BLOCK                           = 133,
-	BC1_RGBA_SRGB_BLOCK                            = 134,
-	BC2_UNORM_BLOCK                                = 135,
-	BC2_SRGB_BLOCK                                 = 136,
-	BC3_UNORM_BLOCK                                = 137,
-	BC3_SRGB_BLOCK                                 = 138,
-	BC4_UNORM_BLOCK                                = 139,
-	BC4_SNORM_BLOCK                                = 140,
-	BC5_UNORM_BLOCK                                = 141,
-	BC5_SNORM_BLOCK                                = 142,
-	BC6H_UFLOAT_BLOCK                              = 143,
-	BC6H_SFLOAT_BLOCK                              = 144,
-	BC7_UNORM_BLOCK                                = 145,
-	BC7_SRGB_BLOCK                                 = 146,
-	ETC2_R8G8B8_UNORM_BLOCK                        = 147,
-	ETC2_R8G8B8_SRGB_BLOCK                         = 148,
-	ETC2_R8G8B8A1_UNORM_BLOCK                      = 149,
-	ETC2_R8G8B8A1_SRGB_BLOCK                       = 150,
-	ETC2_R8G8B8A8_UNORM_BLOCK                      = 151,
-	ETC2_R8G8B8A8_SRGB_BLOCK                       = 152,
-	EAC_R11_UNORM_BLOCK                            = 153,
-	EAC_R11_SNORM_BLOCK                            = 154,
-	EAC_R11G11_UNORM_BLOCK                         = 155,
-	EAC_R11G11_SNORM_BLOCK                         = 156,
-	ASTC_4x4_UNORM_BLOCK                           = 157,
-	ASTC_4x4_SRGB_BLOCK                            = 158,
-	ASTC_5x4_UNORM_BLOCK                           = 159,
-	ASTC_5x4_SRGB_BLOCK                            = 160,
-	ASTC_5x5_UNORM_BLOCK                           = 161,
-	ASTC_5x5_SRGB_BLOCK                            = 162,
-	ASTC_6x5_UNORM_BLOCK                           = 163,
-	ASTC_6x5_SRGB_BLOCK                            = 164,
-	ASTC_6x6_UNORM_BLOCK                           = 165,
-	ASTC_6x6_SRGB_BLOCK                            = 166,
-	ASTC_8x5_UNORM_BLOCK                           = 167,
-	ASTC_8x5_SRGB_BLOCK                            = 168,
-	ASTC_8x6_UNORM_BLOCK                           = 169,
-	ASTC_8x6_SRGB_BLOCK                            = 170,
-	ASTC_8x8_UNORM_BLOCK                           = 171,
-	ASTC_8x8_SRGB_BLOCK                            = 172,
-	ASTC_10x5_UNORM_BLOCK                          = 173,
-	ASTC_10x5_SRGB_BLOCK                           = 174,
-	ASTC_10x6_UNORM_BLOCK                          = 175,
-	ASTC_10x6_SRGB_BLOCK                           = 176,
-	ASTC_10x8_UNORM_BLOCK                          = 177,
-	ASTC_10x8_SRGB_BLOCK                           = 178,
-	ASTC_10x10_UNORM_BLOCK                         = 179,
-	ASTC_10x10_SRGB_BLOCK                          = 180,
-	ASTC_12x10_UNORM_BLOCK                         = 181,
-	ASTC_12x10_SRGB_BLOCK                          = 182,
-	ASTC_12x12_UNORM_BLOCK                         = 183,
-	ASTC_12x12_SRGB_BLOCK                          = 184,
-	G8B8G8R8_422_UNORM                             = 1000156000,
-	B8G8R8G8_422_UNORM                             = 1000156001,
-	G8_B8_R8_3PLANE_420_UNORM                      = 1000156002,
-	G8_B8R8_2PLANE_420_UNORM                       = 1000156003,
-	G8_B8_R8_3PLANE_422_UNORM                      = 1000156004,
-	G8_B8R8_2PLANE_422_UNORM                       = 1000156005,
-	G8_B8_R8_3PLANE_444_UNORM                      = 1000156006,
-	R10X6_UNORM_PACK16                             = 1000156007,
-	R10X6G10X6_UNORM_2PACK16                       = 1000156008,
-	R10X6G10X6B10X6A10X6_UNORM_4PACK16             = 1000156009,
-	G10X6B10X6G10X6R10X6_422_UNORM_4PACK16         = 1000156010,
-	B10X6G10X6R10X6G10X6_422_UNORM_4PACK16         = 1000156011,
-	G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16     = 1000156012,
-	G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16      = 1000156013,
-	G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16     = 1000156014,
-	G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16      = 1000156015,
-	G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16     = 1000156016,
-	R12X4_UNORM_PACK16                             = 1000156017,
-	R12X4G12X4_UNORM_2PACK16                       = 1000156018,
-	R12X4G12X4B12X4A12X4_UNORM_4PACK16             = 1000156019,
-	G12X4B12X4G12X4R12X4_422_UNORM_4PACK16         = 1000156020,
-	B12X4G12X4R12X4G12X4_422_UNORM_4PACK16         = 1000156021,
-	G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16     = 1000156022,
-	G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16      = 1000156023,
-	G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16     = 1000156024,
-	G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16      = 1000156025,
-	G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16     = 1000156026,
-	G16B16G16R16_422_UNORM                         = 1000156027,
-	B16G16R16G16_422_UNORM                         = 1000156028,
-	G16_B16_R16_3PLANE_420_UNORM                   = 1000156029,
-	G16_B16R16_2PLANE_420_UNORM                    = 1000156030,
-	G16_B16_R16_3PLANE_422_UNORM                   = 1000156031,
-	G16_B16R16_2PLANE_422_UNORM                    = 1000156032,
-	G16_B16_R16_3PLANE_444_UNORM                   = 1000156033,
-	G8_B8R8_2PLANE_444_UNORM                       = 1000330000,
-	G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16      = 1000330001,
-	G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16      = 1000330002,
-	G16_B16R16_2PLANE_444_UNORM                    = 1000330003,
-	A4R4G4B4_UNORM_PACK16                          = 1000340000,
-	A4B4G4R4_UNORM_PACK16                          = 1000340001,
-	ASTC_4x4_SFLOAT_BLOCK                          = 1000066000,
-	ASTC_5x4_SFLOAT_BLOCK                          = 1000066001,
-	ASTC_5x5_SFLOAT_BLOCK                          = 1000066002,
-	ASTC_6x5_SFLOAT_BLOCK                          = 1000066003,
-	ASTC_6x6_SFLOAT_BLOCK                          = 1000066004,
-	ASTC_8x5_SFLOAT_BLOCK                          = 1000066005,
-	ASTC_8x6_SFLOAT_BLOCK                          = 1000066006,
-	ASTC_8x8_SFLOAT_BLOCK                          = 1000066007,
-	ASTC_10x5_SFLOAT_BLOCK                         = 1000066008,
-	ASTC_10x6_SFLOAT_BLOCK                         = 1000066009,
-	ASTC_10x8_SFLOAT_BLOCK                         = 1000066010,
-	ASTC_10x10_SFLOAT_BLOCK                        = 1000066011,
-	ASTC_12x10_SFLOAT_BLOCK                        = 1000066012,
-	ASTC_12x12_SFLOAT_BLOCK                        = 1000066013,
-	PVRTC1_2BPP_UNORM_BLOCK_IMG                    = 1000054000,
-	PVRTC1_4BPP_UNORM_BLOCK_IMG                    = 1000054001,
-	PVRTC2_2BPP_UNORM_BLOCK_IMG                    = 1000054002,
-	PVRTC2_4BPP_UNORM_BLOCK_IMG                    = 1000054003,
-	PVRTC1_2BPP_SRGB_BLOCK_IMG                     = 1000054004,
-	PVRTC1_4BPP_SRGB_BLOCK_IMG                     = 1000054005,
-	PVRTC2_2BPP_SRGB_BLOCK_IMG                     = 1000054006,
-	PVRTC2_4BPP_SRGB_BLOCK_IMG                     = 1000054007,
-	ASTC_4x4_SFLOAT_BLOCK_EXT                      = ASTC_4x4_SFLOAT_BLOCK,
-	ASTC_5x4_SFLOAT_BLOCK_EXT                      = ASTC_5x4_SFLOAT_BLOCK,
-	ASTC_5x5_SFLOAT_BLOCK_EXT                      = ASTC_5x5_SFLOAT_BLOCK,
-	ASTC_6x5_SFLOAT_BLOCK_EXT                      = ASTC_6x5_SFLOAT_BLOCK,
-	ASTC_6x6_SFLOAT_BLOCK_EXT                      = ASTC_6x6_SFLOAT_BLOCK,
-	ASTC_8x5_SFLOAT_BLOCK_EXT                      = ASTC_8x5_SFLOAT_BLOCK,
-	ASTC_8x6_SFLOAT_BLOCK_EXT                      = ASTC_8x6_SFLOAT_BLOCK,
-	ASTC_8x8_SFLOAT_BLOCK_EXT                      = ASTC_8x8_SFLOAT_BLOCK,
-	ASTC_10x5_SFLOAT_BLOCK_EXT                     = ASTC_10x5_SFLOAT_BLOCK,
-	ASTC_10x6_SFLOAT_BLOCK_EXT                     = ASTC_10x6_SFLOAT_BLOCK,
-	ASTC_10x8_SFLOAT_BLOCK_EXT                     = ASTC_10x8_SFLOAT_BLOCK,
-	ASTC_10x10_SFLOAT_BLOCK_EXT                    = ASTC_10x10_SFLOAT_BLOCK,
-	ASTC_12x10_SFLOAT_BLOCK_EXT                    = ASTC_12x10_SFLOAT_BLOCK,
-	ASTC_12x12_SFLOAT_BLOCK_EXT                    = ASTC_12x12_SFLOAT_BLOCK,
-	G8B8G8R8_422_UNORM_KHR                         = G8B8G8R8_422_UNORM,
-	B8G8R8G8_422_UNORM_KHR                         = B8G8R8G8_422_UNORM,
-	G8_B8_R8_3PLANE_420_UNORM_KHR                  = G8_B8_R8_3PLANE_420_UNORM,
-	G8_B8R8_2PLANE_420_UNORM_KHR                   = G8_B8R8_2PLANE_420_UNORM,
-	G8_B8_R8_3PLANE_422_UNORM_KHR                  = G8_B8_R8_3PLANE_422_UNORM,
-	G8_B8R8_2PLANE_422_UNORM_KHR                   = G8_B8R8_2PLANE_422_UNORM,
-	G8_B8_R8_3PLANE_444_UNORM_KHR                  = G8_B8_R8_3PLANE_444_UNORM,
-	R10X6_UNORM_PACK16_KHR                         = R10X6_UNORM_PACK16,
-	R10X6G10X6_UNORM_2PACK16_KHR                   = R10X6G10X6_UNORM_2PACK16,
-	R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR         = R10X6G10X6B10X6A10X6_UNORM_4PACK16,
-	G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR     = G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
-	B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR     = B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
-	G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
-	G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR  = G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
-	G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
-	G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR  = G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
-	G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
-	R12X4_UNORM_PACK16_KHR                         = R12X4_UNORM_PACK16,
-	R12X4G12X4_UNORM_2PACK16_KHR                   = R12X4G12X4_UNORM_2PACK16,
-	R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR         = R12X4G12X4B12X4A12X4_UNORM_4PACK16,
-	G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR     = G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
-	B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR     = B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
-	G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
-	G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR  = G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
-	G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
-	G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR  = G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
-	G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
-	G16B16G16R16_422_UNORM_KHR                     = G16B16G16R16_422_UNORM,
-	B16G16R16G16_422_UNORM_KHR                     = B16G16R16G16_422_UNORM,
-	G16_B16_R16_3PLANE_420_UNORM_KHR               = G16_B16_R16_3PLANE_420_UNORM,
-	G16_B16R16_2PLANE_420_UNORM_KHR                = G16_B16R16_2PLANE_420_UNORM,
-	G16_B16_R16_3PLANE_422_UNORM_KHR               = G16_B16_R16_3PLANE_422_UNORM,
-	G16_B16R16_2PLANE_422_UNORM_KHR                = G16_B16R16_2PLANE_422_UNORM,
-	G16_B16_R16_3PLANE_444_UNORM_KHR               = G16_B16_R16_3PLANE_444_UNORM,
-	G8_B8R8_2PLANE_444_UNORM_EXT                   = G8_B8R8_2PLANE_444_UNORM,
-	G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT  = G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
-	G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT  = G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
-	G16_B16R16_2PLANE_444_UNORM_EXT                = G16_B16R16_2PLANE_444_UNORM,
-	A4R4G4B4_UNORM_PACK16_EXT                      = A4R4G4B4_UNORM_PACK16,
-	A4B4G4R4_UNORM_PACK16_EXT                      = A4B4G4R4_UNORM_PACK16,
-}
-
-FormatFeatureFlags :: distinct bit_set[FormatFeatureFlag; Flags]
-FormatFeatureFlag :: enum Flags {
-	SAMPLED_IMAGE                                                               = 0,
-	STORAGE_IMAGE                                                               = 1,
-	STORAGE_IMAGE_ATOMIC                                                        = 2,
-	UNIFORM_TEXEL_BUFFER                                                        = 3,
-	STORAGE_TEXEL_BUFFER                                                        = 4,
-	STORAGE_TEXEL_BUFFER_ATOMIC                                                 = 5,
-	VERTEX_BUFFER                                                               = 6,
-	COLOR_ATTACHMENT                                                            = 7,
-	COLOR_ATTACHMENT_BLEND                                                      = 8,
-	DEPTH_STENCIL_ATTACHMENT                                                    = 9,
-	BLIT_SRC                                                                    = 10,
-	BLIT_DST                                                                    = 11,
-	SAMPLED_IMAGE_FILTER_LINEAR                                                 = 12,
-	TRANSFER_SRC                                                                = 14,
-	TRANSFER_DST                                                                = 15,
-	MIDPOINT_CHROMA_SAMPLES                                                     = 17,
-	SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER                                = 18,
-	SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER               = 19,
-	SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT               = 20,
-	SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE     = 21,
-	DISJOINT                                                                    = 22,
-	COSITED_CHROMA_SAMPLES                                                      = 23,
-	SAMPLED_IMAGE_FILTER_MINMAX                                                 = 16,
-	SAMPLED_IMAGE_FILTER_CUBIC_IMG                                              = 13,
-	VIDEO_DECODE_OUTPUT_KHR                                                     = 25,
-	VIDEO_DECODE_DPB_KHR                                                        = 26,
-	ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR                                    = 29,
-	FRAGMENT_DENSITY_MAP_EXT                                                    = 24,
-	FRAGMENT_SHADING_RATE_ATTACHMENT_KHR                                        = 30,
-	VIDEO_ENCODE_INPUT_KHR                                                      = 27,
-	VIDEO_ENCODE_DPB_KHR                                                        = 28,
-	TRANSFER_SRC_KHR                                                            = TRANSFER_SRC,
-	TRANSFER_DST_KHR                                                            = TRANSFER_DST,
-	SAMPLED_IMAGE_FILTER_MINMAX_EXT                                             = SAMPLED_IMAGE_FILTER_MINMAX,
-	MIDPOINT_CHROMA_SAMPLES_KHR                                                 = MIDPOINT_CHROMA_SAMPLES,
-	SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_KHR                            = SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER,
-	SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_KHR           = SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER,
-	SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_KHR           = SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT,
-	SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_KHR = SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE,
-	DISJOINT_KHR                                                                = DISJOINT,
-	COSITED_CHROMA_SAMPLES_KHR                                                  = COSITED_CHROMA_SAMPLES,
-	SAMPLED_IMAGE_FILTER_CUBIC_EXT                                              = SAMPLED_IMAGE_FILTER_CUBIC_IMG,
-}
-
-FragmentShadingRateCombinerOpKHR :: enum c.int {
-	KEEP    = 0,
-	REPLACE = 1,
-	MIN     = 2,
-	MAX     = 3,
-	MUL     = 4,
-}
-
-FragmentShadingRateNV :: enum c.int {
-	_1_INVOCATION_PER_PIXEL      = 0,
-	_1_INVOCATION_PER_1X2_PIXELS = 1,
-	_1_INVOCATION_PER_2X1_PIXELS = 4,
-	_1_INVOCATION_PER_2X2_PIXELS = 5,
-	_1_INVOCATION_PER_2X4_PIXELS = 6,
-	_1_INVOCATION_PER_4X2_PIXELS = 9,
-	_1_INVOCATION_PER_4X4_PIXELS = 10,
-	_2_INVOCATIONS_PER_PIXEL     = 11,
-	_4_INVOCATIONS_PER_PIXEL     = 12,
-	_8_INVOCATIONS_PER_PIXEL     = 13,
-	_16_INVOCATIONS_PER_PIXEL    = 14,
-	NO_INVOCATIONS               = 15,
-}
-
-FragmentShadingRateTypeNV :: enum c.int {
-	FRAGMENT_SIZE = 0,
-	ENUMS         = 1,
-}
-
-FramebufferCreateFlags :: distinct bit_set[FramebufferCreateFlag; Flags]
-FramebufferCreateFlag :: enum Flags {
-	IMAGELESS     = 0,
-	IMAGELESS_KHR = IMAGELESS,
-}
-
-FrontFace :: enum c.int {
-	COUNTER_CLOCKWISE = 0,
-	CLOCKWISE         = 1,
-}
-
-FullScreenExclusiveEXT :: enum c.int {
-	DEFAULT                = 0,
-	ALLOWED                = 1,
-	DISALLOWED             = 2,
-	APPLICATION_CONTROLLED = 3,
-}
-
-GeometryFlagsKHR :: distinct bit_set[GeometryFlagKHR; Flags]
-GeometryFlagKHR :: enum Flags {
-	OPAQUE                             = 0,
-	NO_DUPLICATE_ANY_HIT_INVOCATION    = 1,
-	OPAQUE_NV                          = OPAQUE,
-	NO_DUPLICATE_ANY_HIT_INVOCATION_NV = NO_DUPLICATE_ANY_HIT_INVOCATION,
-}
-
-GeometryInstanceFlagsKHR :: distinct bit_set[GeometryInstanceFlagKHR; Flags]
-GeometryInstanceFlagKHR :: enum Flags {
-	TRIANGLE_FACING_CULL_DISABLE       = 0,
-	TRIANGLE_FLIP_FACING               = 1,
-	FORCE_OPAQUE                       = 2,
-	FORCE_NO_OPAQUE                    = 3,
-	TRIANGLE_FRONT_COUNTERCLOCKWISE    = TRIANGLE_FLIP_FACING,
-	TRIANGLE_CULL_DISABLE_NV           = TRIANGLE_FACING_CULL_DISABLE,
-	TRIANGLE_FRONT_COUNTERCLOCKWISE_NV = TRIANGLE_FRONT_COUNTERCLOCKWISE,
-	FORCE_OPAQUE_NV                    = FORCE_OPAQUE,
-	FORCE_NO_OPAQUE_NV                 = FORCE_NO_OPAQUE,
-}
-
-GeometryTypeKHR :: enum c.int {
-	TRIANGLES    = 0,
-	AABBS        = 1,
-	INSTANCES    = 2,
-	TRIANGLES_NV = TRIANGLES,
-	AABBS_NV     = AABBS,
-}
-
-GraphicsPipelineLibraryFlagsEXT :: distinct bit_set[GraphicsPipelineLibraryFlagEXT; Flags]
-GraphicsPipelineLibraryFlagEXT :: enum Flags {
-	VERTEX_INPUT_INTERFACE    = 0,
-	PRE_RASTERIZATION_SHADERS = 1,
-	FRAGMENT_SHADER           = 2,
-	FRAGMENT_OUTPUT_INTERFACE = 3,
-}
-
-ImageAspectFlags :: distinct bit_set[ImageAspectFlag; Flags]
-ImageAspectFlag :: enum Flags {
-	COLOR              = 0,
-	DEPTH              = 1,
-	STENCIL            = 2,
-	METADATA           = 3,
-	PLANE_0            = 4,
-	PLANE_1            = 5,
-	PLANE_2            = 6,
-	MEMORY_PLANE_0_EXT = 7,
-	MEMORY_PLANE_1_EXT = 8,
-	MEMORY_PLANE_2_EXT = 9,
-	MEMORY_PLANE_3_EXT = 10,
-	PLANE_0_KHR        = PLANE_0,
-	PLANE_1_KHR        = PLANE_1,
-	PLANE_2_KHR        = PLANE_2,
-}
-
-ImageAspectFlags_NONE :: ImageAspectFlags{}
-
-
-ImageCreateFlags :: distinct bit_set[ImageCreateFlag; Flags]
-ImageCreateFlag :: enum Flags {
-	SPARSE_BINDING                        = 0,
-	SPARSE_RESIDENCY                      = 1,
-	SPARSE_ALIASED                        = 2,
-	MUTABLE_FORMAT                        = 3,
-	CUBE_COMPATIBLE                       = 4,
-	ALIAS                                 = 10,
-	SPLIT_INSTANCE_BIND_REGIONS           = 6,
-	D2_ARRAY_COMPATIBLE                   = 5,
-	BLOCK_TEXEL_VIEW_COMPATIBLE           = 7,
-	EXTENDED_USAGE                        = 8,
-	PROTECTED                             = 11,
-	DISJOINT                              = 9,
-	CORNER_SAMPLED_NV                     = 13,
-	SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT = 12,
-	SUBSAMPLED_EXT                        = 14,
-	D2_VIEW_COMPATIBLE_EXT                = 17,
-	FRAGMENT_DENSITY_MAP_OFFSET_QCOM      = 15,
-	SPLIT_INSTANCE_BIND_REGIONS_KHR       = SPLIT_INSTANCE_BIND_REGIONS,
-	D2_ARRAY_COMPATIBLE_KHR               = D2_ARRAY_COMPATIBLE,
-	BLOCK_TEXEL_VIEW_COMPATIBLE_KHR       = BLOCK_TEXEL_VIEW_COMPATIBLE,
-	EXTENDED_USAGE_KHR                    = EXTENDED_USAGE,
-	DISJOINT_KHR                          = DISJOINT,
-	ALIAS_KHR                             = ALIAS,
-}
-
-ImageLayout :: enum c.int {
-	UNDEFINED                                      = 0,
-	GENERAL                                        = 1,
-	COLOR_ATTACHMENT_OPTIMAL                       = 2,
-	DEPTH_STENCIL_ATTACHMENT_OPTIMAL               = 3,
-	DEPTH_STENCIL_READ_ONLY_OPTIMAL                = 4,
-	SHADER_READ_ONLY_OPTIMAL                       = 5,
-	TRANSFER_SRC_OPTIMAL                           = 6,
-	TRANSFER_DST_OPTIMAL                           = 7,
-	PREINITIALIZED                                 = 8,
-	DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL     = 1000117000,
-	DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL     = 1000117001,
-	DEPTH_ATTACHMENT_OPTIMAL                       = 1000241000,
-	DEPTH_READ_ONLY_OPTIMAL                        = 1000241001,
-	STENCIL_ATTACHMENT_OPTIMAL                     = 1000241002,
-	STENCIL_READ_ONLY_OPTIMAL                      = 1000241003,
-	READ_ONLY_OPTIMAL                              = 1000314000,
-	ATTACHMENT_OPTIMAL                             = 1000314001,
-	PRESENT_SRC_KHR                                = 1000001002,
-	VIDEO_DECODE_DST_KHR                           = 1000024000,
-	VIDEO_DECODE_SRC_KHR                           = 1000024001,
-	VIDEO_DECODE_DPB_KHR                           = 1000024002,
-	SHARED_PRESENT_KHR                             = 1000111000,
-	FRAGMENT_DENSITY_MAP_OPTIMAL_EXT               = 1000218000,
-	FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR   = 1000164003,
-	VIDEO_ENCODE_DST_KHR                           = 1000299000,
-	VIDEO_ENCODE_SRC_KHR                           = 1000299001,
-	VIDEO_ENCODE_DPB_KHR                           = 1000299002,
-	DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
-	DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
-	SHADING_RATE_OPTIMAL_NV                        = FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
-	DEPTH_ATTACHMENT_OPTIMAL_KHR                   = DEPTH_ATTACHMENT_OPTIMAL,
-	DEPTH_READ_ONLY_OPTIMAL_KHR                    = DEPTH_READ_ONLY_OPTIMAL,
-	STENCIL_ATTACHMENT_OPTIMAL_KHR                 = STENCIL_ATTACHMENT_OPTIMAL,
-	STENCIL_READ_ONLY_OPTIMAL_KHR                  = STENCIL_READ_ONLY_OPTIMAL,
-	READ_ONLY_OPTIMAL_KHR                          = READ_ONLY_OPTIMAL,
-	ATTACHMENT_OPTIMAL_KHR                         = ATTACHMENT_OPTIMAL,
-}
-
-ImageTiling :: enum c.int {
-	OPTIMAL                 = 0,
-	LINEAR                  = 1,
-	DRM_FORMAT_MODIFIER_EXT = 1000158000,
-}
-
-ImageType :: enum c.int {
-	D1 = 0,
-	D2 = 1,
-	D3 = 2,
-}
-
-ImageUsageFlags :: distinct bit_set[ImageUsageFlag; Flags]
-ImageUsageFlag :: enum Flags {
-	TRANSFER_SRC                         = 0,
-	TRANSFER_DST                         = 1,
-	SAMPLED                              = 2,
-	STORAGE                              = 3,
-	COLOR_ATTACHMENT                     = 4,
-	DEPTH_STENCIL_ATTACHMENT             = 5,
-	TRANSIENT_ATTACHMENT                 = 6,
-	INPUT_ATTACHMENT                     = 7,
-	VIDEO_DECODE_DST_KHR                 = 10,
-	VIDEO_DECODE_SRC_KHR                 = 11,
-	VIDEO_DECODE_DPB_KHR                 = 12,
-	FRAGMENT_DENSITY_MAP_EXT             = 9,
-	FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 8,
-	VIDEO_ENCODE_DST_KHR                 = 13,
-	VIDEO_ENCODE_SRC_KHR                 = 14,
-	VIDEO_ENCODE_DPB_KHR                 = 15,
-	INVOCATION_MASK_HUAWEI               = 18,
-	SHADING_RATE_IMAGE_NV                = FRAGMENT_SHADING_RATE_ATTACHMENT_KHR,
-}
-
-ImageViewCreateFlags :: distinct bit_set[ImageViewCreateFlag; Flags]
-ImageViewCreateFlag :: enum Flags {
-	FRAGMENT_DENSITY_MAP_DYNAMIC_EXT  = 0,
-	FRAGMENT_DENSITY_MAP_DEFERRED_EXT = 1,
-}
-
-ImageViewType :: enum c.int {
-	D1         = 0,
-	D2         = 1,
-	D3         = 2,
-	CUBE       = 3,
-	D1_ARRAY   = 4,
-	D2_ARRAY   = 5,
-	CUBE_ARRAY = 6,
-}
-
-IndexType :: enum c.int {
-	UINT16    = 0,
-	UINT32    = 1,
-	NONE_KHR  = 1000165000,
-	UINT8_EXT = 1000265000,
-	NONE_NV   = NONE_KHR,
-}
-
-IndirectCommandsLayoutUsageFlagsNV :: distinct bit_set[IndirectCommandsLayoutUsageFlagNV; Flags]
-IndirectCommandsLayoutUsageFlagNV :: enum Flags {
-	EXPLICIT_PREPROCESS = 0,
-	INDEXED_SEQUENCES   = 1,
-	UNORDERED_SEQUENCES = 2,
-}
-
-IndirectCommandsTokenTypeNV :: enum c.int {
-	SHADER_GROUP  = 0,
-	STATE_FLAGS   = 1,
-	INDEX_BUFFER  = 2,
-	VERTEX_BUFFER = 3,
-	PUSH_CONSTANT = 4,
-	DRAW_INDEXED  = 5,
-	DRAW          = 6,
-	DRAW_TASKS    = 7,
-}
-
-IndirectStateFlagsNV :: distinct bit_set[IndirectStateFlagNV; Flags]
-IndirectStateFlagNV :: enum Flags {
-	FLAG_FRONTFACE = 0,
-}
-
-InstanceCreateFlags :: distinct bit_set[InstanceCreateFlag; Flags]
-InstanceCreateFlag :: enum Flags {
-	ENUMERATE_PORTABILITY_KHR = 0,
-}
-
-InternalAllocationType :: enum c.int {
-	EXECUTABLE = 0,
-}
-
-LineRasterizationModeEXT :: enum c.int {
-	DEFAULT            = 0,
-	RECTANGULAR        = 1,
-	BRESENHAM          = 2,
-	RECTANGULAR_SMOOTH = 3,
-}
-
-LogicOp :: enum c.int {
-	CLEAR         = 0,
-	AND           = 1,
-	AND_REVERSE   = 2,
-	COPY          = 3,
-	AND_INVERTED  = 4,
-	NO_OP         = 5,
-	XOR           = 6,
-	OR            = 7,
-	NOR           = 8,
-	EQUIVALENT    = 9,
-	INVERT        = 10,
-	OR_REVERSE    = 11,
-	COPY_INVERTED = 12,
-	OR_INVERTED   = 13,
-	NAND          = 14,
-	SET           = 15,
-}
-
-MemoryAllocateFlags :: distinct bit_set[MemoryAllocateFlag; Flags]
-MemoryAllocateFlag :: enum Flags {
-	DEVICE_MASK                       = 0,
-	DEVICE_ADDRESS                    = 1,
-	DEVICE_ADDRESS_CAPTURE_REPLAY     = 2,
-	DEVICE_MASK_KHR                   = DEVICE_MASK,
-	DEVICE_ADDRESS_KHR                = DEVICE_ADDRESS,
-	DEVICE_ADDRESS_CAPTURE_REPLAY_KHR = DEVICE_ADDRESS_CAPTURE_REPLAY,
-}
-
-MemoryHeapFlags :: distinct bit_set[MemoryHeapFlag; Flags]
-MemoryHeapFlag :: enum Flags {
-	DEVICE_LOCAL       = 0,
-	MULTI_INSTANCE     = 1,
-	MULTI_INSTANCE_KHR = MULTI_INSTANCE,
-}
-
-MemoryOverallocationBehaviorAMD :: enum c.int {
-	DEFAULT    = 0,
-	ALLOWED    = 1,
-	DISALLOWED = 2,
-}
-
-MemoryPropertyFlags :: distinct bit_set[MemoryPropertyFlag; Flags]
-MemoryPropertyFlag :: enum Flags {
-	DEVICE_LOCAL        = 0,
-	HOST_VISIBLE        = 1,
-	HOST_COHERENT       = 2,
-	HOST_CACHED         = 3,
-	LAZILY_ALLOCATED    = 4,
-	PROTECTED           = 5,
-	DEVICE_COHERENT_AMD = 6,
-	DEVICE_UNCACHED_AMD = 7,
-	RDMA_CAPABLE_NV     = 8,
-}
-
-ObjectType :: enum c.int {
-	UNKNOWN                         = 0,
-	INSTANCE                        = 1,
-	PHYSICAL_DEVICE                 = 2,
-	DEVICE                          = 3,
-	QUEUE                           = 4,
-	SEMAPHORE                       = 5,
-	COMMAND_BUFFER                  = 6,
-	FENCE                           = 7,
-	DEVICE_MEMORY                   = 8,
-	BUFFER                          = 9,
-	IMAGE                           = 10,
-	EVENT                           = 11,
-	QUERY_POOL                      = 12,
-	BUFFER_VIEW                     = 13,
-	IMAGE_VIEW                      = 14,
-	SHADER_MODULE                   = 15,
-	PIPELINE_CACHE                  = 16,
-	PIPELINE_LAYOUT                 = 17,
-	RENDER_PASS                     = 18,
-	PIPELINE                        = 19,
-	DESCRIPTOR_SET_LAYOUT           = 20,
-	SAMPLER                         = 21,
-	DESCRIPTOR_POOL                 = 22,
-	DESCRIPTOR_SET                  = 23,
-	FRAMEBUFFER                     = 24,
-	COMMAND_POOL                    = 25,
-	SAMPLER_YCBCR_CONVERSION        = 1000156000,
-	DESCRIPTOR_UPDATE_TEMPLATE      = 1000085000,
-	PRIVATE_DATA_SLOT               = 1000295000,
-	SURFACE_KHR                     = 1000000000,
-	SWAPCHAIN_KHR                   = 1000001000,
-	DISPLAY_KHR                     = 1000002000,
-	DISPLAY_MODE_KHR                = 1000002001,
-	DEBUG_REPORT_CALLBACK_EXT       = 1000011000,
-	VIDEO_SESSION_KHR               = 1000023000,
-	VIDEO_SESSION_PARAMETERS_KHR    = 1000023001,
-	CU_MODULE_NVX                   = 1000029000,
-	CU_FUNCTION_NVX                 = 1000029001,
-	DEBUG_UTILS_MESSENGER_EXT       = 1000128000,
-	ACCELERATION_STRUCTURE_KHR      = 1000150000,
-	VALIDATION_CACHE_EXT            = 1000160000,
-	ACCELERATION_STRUCTURE_NV       = 1000165000,
-	PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
-	DEFERRED_OPERATION_KHR          = 1000268000,
-	INDIRECT_COMMANDS_LAYOUT_NV     = 1000277000,
-	BUFFER_COLLECTION_FUCHSIA       = 1000366000,
-	DESCRIPTOR_UPDATE_TEMPLATE_KHR  = DESCRIPTOR_UPDATE_TEMPLATE,
-	SAMPLER_YCBCR_CONVERSION_KHR    = SAMPLER_YCBCR_CONVERSION,
-	PRIVATE_DATA_SLOT_EXT           = PRIVATE_DATA_SLOT,
-}
-
-PeerMemoryFeatureFlags :: distinct bit_set[PeerMemoryFeatureFlag; Flags]
-PeerMemoryFeatureFlag :: enum Flags {
-	COPY_SRC        = 0,
-	COPY_DST        = 1,
-	GENERIC_SRC     = 2,
-	GENERIC_DST     = 3,
-	COPY_SRC_KHR    = COPY_SRC,
-	COPY_DST_KHR    = COPY_DST,
-	GENERIC_SRC_KHR = GENERIC_SRC,
-	GENERIC_DST_KHR = GENERIC_DST,
-}
-
-PerformanceConfigurationTypeINTEL :: enum c.int {
-	PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
-}
-
-PerformanceCounterDescriptionFlagsKHR :: distinct bit_set[PerformanceCounterDescriptionFlagKHR; Flags]
-PerformanceCounterDescriptionFlagKHR :: enum Flags {
-	PERFORMANCE_IMPACTING = 0,
-	CONCURRENTLY_IMPACTED = 1,
-}
-
-PerformanceCounterScopeKHR :: enum c.int {
-	COMMAND_BUFFER             = 0,
-	RENDER_PASS                = 1,
-	COMMAND                    = 2,
-	QUERY_SCOPE_COMMAND_BUFFER = COMMAND_BUFFER,
-	QUERY_SCOPE_RENDER_PASS    = RENDER_PASS,
-	QUERY_SCOPE_COMMAND        = COMMAND,
-}
-
-PerformanceCounterStorageKHR :: enum c.int {
-	INT32   = 0,
-	INT64   = 1,
-	UINT32  = 2,
-	UINT64  = 3,
-	FLOAT32 = 4,
-	FLOAT64 = 5,
-}
-
-PerformanceCounterUnitKHR :: enum c.int {
-	GENERIC          = 0,
-	PERCENTAGE       = 1,
-	NANOSECONDS      = 2,
-	BYTES            = 3,
-	BYTES_PER_SECOND = 4,
-	KELVIN           = 5,
-	WATTS            = 6,
-	VOLTS            = 7,
-	AMPS             = 8,
-	HERTZ            = 9,
-	CYCLES           = 10,
-}
-
-PerformanceOverrideTypeINTEL :: enum c.int {
-	PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL    = 0,
-	PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
-}
-
-PerformanceParameterTypeINTEL :: enum c.int {
-	PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL    = 0,
-	PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
-}
-
-PerformanceValueTypeINTEL :: enum c.int {
-	PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
-	PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
-	PERFORMANCE_VALUE_TYPE_FLOAT_INTEL  = 2,
-	PERFORMANCE_VALUE_TYPE_BOOL_INTEL   = 3,
-	PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
-}
-
-PhysicalDeviceType :: enum c.int {
-	OTHER          = 0,
-	INTEGRATED_GPU = 1,
-	DISCRETE_GPU   = 2,
-	VIRTUAL_GPU    = 3,
-	CPU            = 4,
-}
-
-PipelineBindPoint :: enum c.int {
-	GRAPHICS               = 0,
-	COMPUTE                = 1,
-	RAY_TRACING_KHR        = 1000165000,
-	SUBPASS_SHADING_HUAWEI = 1000369003,
-	RAY_TRACING_NV         = RAY_TRACING_KHR,
-}
-
-PipelineCacheCreateFlags :: distinct bit_set[PipelineCacheCreateFlag; Flags]
-PipelineCacheCreateFlag :: enum Flags {
-	EXTERNALLY_SYNCHRONIZED     = 0,
-	EXTERNALLY_SYNCHRONIZED_EXT = EXTERNALLY_SYNCHRONIZED,
-}
-
-PipelineCacheHeaderVersion :: enum c.int {
-	ONE = 1,
-}
-
-PipelineColorBlendStateCreateFlags :: distinct bit_set[PipelineColorBlendStateCreateFlag; Flags]
-PipelineColorBlendStateCreateFlag :: enum Flags {
-	RASTERIZATION_ORDER_ATTACHMENT_ACCESS_ARM = 0,
-}
-
-PipelineCompilerControlFlagsAMD :: distinct bit_set[PipelineCompilerControlFlagAMD; Flags]
-PipelineCompilerControlFlagAMD :: enum Flags {
-}
-
-PipelineCreateFlags :: distinct bit_set[PipelineCreateFlag; Flags]
-PipelineCreateFlag :: enum Flags {
-	DISABLE_OPTIMIZATION                                                     = 0,
-	ALLOW_DERIVATIVES                                                        = 1,
-	DERIVATIVE                                                               = 2,
-	VIEW_INDEX_FROM_DEVICE_INDEX                                             = 3,
-	DISPATCH_BASE                                                            = 4,
-	FAIL_ON_PIPELINE_COMPILE_REQUIRED                                        = 8,
-	EARLY_RETURN_ON_FAILURE                                                  = 9,
-	RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR                           = 21,
-	RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT                            = 22,
-	RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_KHR                                  = 14,
-	RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_KHR                              = 15,
-	RAY_TRACING_NO_NULL_MISS_SHADERS_KHR                                     = 16,
-	RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_KHR                             = 17,
-	RAY_TRACING_SKIP_TRIANGLES_KHR                                           = 12,
-	RAY_TRACING_SKIP_AABBS_KHR                                               = 13,
-	RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_KHR                       = 19,
-	DEFER_COMPILE_NV                                                         = 5,
-	CAPTURE_STATISTICS_KHR                                                   = 6,
-	CAPTURE_INTERNAL_REPRESENTATIONS_KHR                                     = 7,
-	INDIRECT_BINDABLE_NV                                                     = 18,
-	LIBRARY_KHR                                                              = 11,
-	RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT                                   = 23,
-	LINK_TIME_OPTIMIZATION_EXT                                               = 10,
-	RAY_TRACING_ALLOW_MOTION_NV                                              = 20,
-	PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR,
-	PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT  = RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT,
-	VIEW_INDEX_FROM_DEVICE_INDEX_KHR                                         = VIEW_INDEX_FROM_DEVICE_INDEX,
-	DISPATCH_BASE_KHR                                                        = DISPATCH_BASE,
-	FAIL_ON_PIPELINE_COMPILE_REQUIRED_EXT                                    = FAIL_ON_PIPELINE_COMPILE_REQUIRED,
-	EARLY_RETURN_ON_FAILURE_EXT                                              = EARLY_RETURN_ON_FAILURE,
-}
-
-PipelineCreationFeedbackFlags :: distinct bit_set[PipelineCreationFeedbackFlag; Flags]
-PipelineCreationFeedbackFlag :: enum Flags {
-	VALID                              = 0,
-	APPLICATION_PIPELINE_CACHE_HIT     = 1,
-	BASE_PIPELINE_ACCELERATION         = 2,
-	VALID_EXT                          = VALID,
-	APPLICATION_PIPELINE_CACHE_HIT_EXT = APPLICATION_PIPELINE_CACHE_HIT,
-	BASE_PIPELINE_ACCELERATION_EXT     = BASE_PIPELINE_ACCELERATION,
-}
-
-PipelineDepthStencilStateCreateFlags :: distinct bit_set[PipelineDepthStencilStateCreateFlag; Flags]
-PipelineDepthStencilStateCreateFlag :: enum Flags {
-	RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM   = 0,
-	RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM = 1,
-}
-
-PipelineExecutableStatisticFormatKHR :: enum c.int {
-	BOOL32  = 0,
-	INT64   = 1,
-	UINT64  = 2,
-	FLOAT64 = 3,
-}
-
-PipelineLayoutCreateFlags :: distinct bit_set[PipelineLayoutCreateFlag; Flags]
-PipelineLayoutCreateFlag :: enum Flags {
-	INDEPENDENT_SETS_EXT = 1,
-}
-
-PipelineShaderStageCreateFlags :: distinct bit_set[PipelineShaderStageCreateFlag; Flags]
-PipelineShaderStageCreateFlag :: enum Flags {
-	ALLOW_VARYING_SUBGROUP_SIZE     = 0,
-	REQUIRE_FULL_SUBGROUPS          = 1,
-	ALLOW_VARYING_SUBGROUP_SIZE_EXT = ALLOW_VARYING_SUBGROUP_SIZE,
-	REQUIRE_FULL_SUBGROUPS_EXT      = REQUIRE_FULL_SUBGROUPS,
-}
-
-PipelineStageFlags :: distinct bit_set[PipelineStageFlag; Flags]
-PipelineStageFlag :: enum Flags {
-	TOP_OF_PIPE                          = 0,
-	DRAW_INDIRECT                        = 1,
-	VERTEX_INPUT                         = 2,
-	VERTEX_SHADER                        = 3,
-	TESSELLATION_CONTROL_SHADER          = 4,
-	TESSELLATION_EVALUATION_SHADER       = 5,
-	GEOMETRY_SHADER                      = 6,
-	FRAGMENT_SHADER                      = 7,
-	EARLY_FRAGMENT_TESTS                 = 8,
-	LATE_FRAGMENT_TESTS                  = 9,
-	COLOR_ATTACHMENT_OUTPUT              = 10,
-	COMPUTE_SHADER                       = 11,
-	TRANSFER                             = 12,
-	BOTTOM_OF_PIPE                       = 13,
-	HOST                                 = 14,
-	ALL_GRAPHICS                         = 15,
-	ALL_COMMANDS                         = 16,
-	TRANSFORM_FEEDBACK_EXT               = 24,
-	CONDITIONAL_RENDERING_EXT            = 18,
-	ACCELERATION_STRUCTURE_BUILD_KHR     = 25,
-	RAY_TRACING_SHADER_KHR               = 21,
-	TASK_SHADER_NV                       = 19,
-	MESH_SHADER_NV                       = 20,
-	FRAGMENT_DENSITY_PROCESS_EXT         = 23,
-	FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 22,
-	COMMAND_PREPROCESS_NV                = 17,
-	SHADING_RATE_IMAGE_NV                = FRAGMENT_SHADING_RATE_ATTACHMENT_KHR,
-	RAY_TRACING_SHADER_NV                = RAY_TRACING_SHADER_KHR,
-	ACCELERATION_STRUCTURE_BUILD_NV      = ACCELERATION_STRUCTURE_BUILD_KHR,
-}
-
-PipelineStageFlags_NONE :: PipelineStageFlags{}
-
-
-PointClippingBehavior :: enum c.int {
-	ALL_CLIP_PLANES           = 0,
-	USER_CLIP_PLANES_ONLY     = 1,
-	ALL_CLIP_PLANES_KHR       = ALL_CLIP_PLANES,
-	USER_CLIP_PLANES_ONLY_KHR = USER_CLIP_PLANES_ONLY,
-}
-
-PolygonMode :: enum c.int {
-	FILL              = 0,
-	LINE              = 1,
-	POINT             = 2,
-	FILL_RECTANGLE_NV = 1000153000,
-}
-
-PresentModeKHR :: enum c.int {
-	IMMEDIATE                 = 0,
-	MAILBOX                   = 1,
-	FIFO                      = 2,
-	FIFO_RELAXED              = 3,
-	SHARED_DEMAND_REFRESH     = 1000111000,
-	SHARED_CONTINUOUS_REFRESH = 1000111001,
-}
-
-PrimitiveTopology :: enum c.int {
-	POINT_LIST                    = 0,
-	LINE_LIST                     = 1,
-	LINE_STRIP                    = 2,
-	TRIANGLE_LIST                 = 3,
-	TRIANGLE_STRIP                = 4,
-	TRIANGLE_FAN                  = 5,
-	LINE_LIST_WITH_ADJACENCY      = 6,
-	LINE_STRIP_WITH_ADJACENCY     = 7,
-	TRIANGLE_LIST_WITH_ADJACENCY  = 8,
-	TRIANGLE_STRIP_WITH_ADJACENCY = 9,
-	PATCH_LIST                    = 10,
-}
-
-ProvokingVertexModeEXT :: enum c.int {
-	FIRST_VERTEX = 0,
-	LAST_VERTEX  = 1,
-}
-
-QueryControlFlags :: distinct bit_set[QueryControlFlag; Flags]
-QueryControlFlag :: enum Flags {
-	PRECISE = 0,
-}
-
-QueryPipelineStatisticFlags :: distinct bit_set[QueryPipelineStatisticFlag; Flags]
-QueryPipelineStatisticFlag :: enum Flags {
-	INPUT_ASSEMBLY_VERTICES                    = 0,
-	INPUT_ASSEMBLY_PRIMITIVES                  = 1,
-	VERTEX_SHADER_INVOCATIONS                  = 2,
-	GEOMETRY_SHADER_INVOCATIONS                = 3,
-	GEOMETRY_SHADER_PRIMITIVES                 = 4,
-	CLIPPING_INVOCATIONS                       = 5,
-	CLIPPING_PRIMITIVES                        = 6,
-	FRAGMENT_SHADER_INVOCATIONS                = 7,
-	TESSELLATION_CONTROL_SHADER_PATCHES        = 8,
-	TESSELLATION_EVALUATION_SHADER_INVOCATIONS = 9,
-	COMPUTE_SHADER_INVOCATIONS                 = 10,
-}
-
-QueryPoolSamplingModeINTEL :: enum c.int {
-	QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
-}
-
-QueryResultFlags :: distinct bit_set[QueryResultFlag; Flags]
-QueryResultFlag :: enum Flags {
-	_64               = 0,
-	WAIT              = 1,
-	WITH_AVAILABILITY = 2,
-	PARTIAL           = 3,
-	WITH_STATUS_KHR   = 4,
-}
-
-QueryType :: enum c.int {
-	OCCLUSION                                     = 0,
-	PIPELINE_STATISTICS                           = 1,
-	TIMESTAMP                                     = 2,
-	RESULT_STATUS_ONLY_KHR                        = 1000023000,
-	TRANSFORM_FEEDBACK_STREAM_EXT                 = 1000028004,
-	PERFORMANCE_QUERY_KHR                         = 1000116000,
-	ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR     = 1000150000,
-	ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
-	ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV      = 1000165000,
-	PERFORMANCE_QUERY_INTEL                       = 1000210000,
-	VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR       = 1000299000,
-	PRIMITIVES_GENERATED_EXT                      = 1000382000,
-}
-
-QueueFlags :: distinct bit_set[QueueFlag; Flags]
-QueueFlag :: enum Flags {
-	GRAPHICS         = 0,
-	COMPUTE          = 1,
-	TRANSFER         = 2,
-	SPARSE_BINDING   = 3,
-	PROTECTED        = 4,
-	VIDEO_DECODE_KHR = 5,
-	VIDEO_ENCODE_KHR = 6,
-}
-
-QueueGlobalPriorityKHR :: enum c.int {
-	LOW          = 128,
-	MEDIUM       = 256,
-	HIGH         = 512,
-	REALTIME     = 1024,
-	LOW_EXT      = LOW,
-	MEDIUM_EXT   = MEDIUM,
-	HIGH_EXT     = HIGH,
-	REALTIME_EXT = REALTIME,
-}
-
-RasterizationOrderAMD :: enum c.int {
-	STRICT  = 0,
-	RELAXED = 1,
-}
-
-RayTracingShaderGroupTypeKHR :: enum c.int {
-	GENERAL                 = 0,
-	TRIANGLES_HIT_GROUP     = 1,
-	PROCEDURAL_HIT_GROUP    = 2,
-	GENERAL_NV              = GENERAL,
-	TRIANGLES_HIT_GROUP_NV  = TRIANGLES_HIT_GROUP,
-	PROCEDURAL_HIT_GROUP_NV = PROCEDURAL_HIT_GROUP,
-}
-
-RenderPassCreateFlags :: distinct bit_set[RenderPassCreateFlag; Flags]
-RenderPassCreateFlag :: enum Flags {
-	TRANSFORM_QCOM = 1,
-}
-
-RenderingFlags :: distinct bit_set[RenderingFlag; Flags]
-RenderingFlag :: enum Flags {
-	CONTENTS_SECONDARY_COMMAND_BUFFERS     = 0,
-	SUSPENDING                             = 1,
-	RESUMING                               = 2,
-	CONTENTS_SECONDARY_COMMAND_BUFFERS_KHR = CONTENTS_SECONDARY_COMMAND_BUFFERS,
-	SUSPENDING_KHR                         = SUSPENDING,
-	RESUMING_KHR                           = RESUMING,
-}
-
-ResolveModeFlags :: distinct bit_set[ResolveModeFlag; Flags]
-ResolveModeFlag :: enum Flags {
-	SAMPLE_ZERO     = 0,
-	AVERAGE         = 1,
-	MIN             = 2,
-	MAX             = 3,
-	SAMPLE_ZERO_KHR = SAMPLE_ZERO,
-	AVERAGE_KHR     = AVERAGE,
-	MIN_KHR         = MIN,
-	MAX_KHR         = MAX,
-}
-
-ResolveModeFlags_NONE :: ResolveModeFlags{}
-
-
-Result :: enum c.int {
-	SUCCESS                                            = 0,
-	NOT_READY                                          = 1,
-	TIMEOUT                                            = 2,
-	EVENT_SET                                          = 3,
-	EVENT_RESET                                        = 4,
-	INCOMPLETE                                         = 5,
-	ERROR_OUT_OF_HOST_MEMORY                           = -1,
-	ERROR_OUT_OF_DEVICE_MEMORY                         = -2,
-	ERROR_INITIALIZATION_FAILED                        = -3,
-	ERROR_DEVICE_LOST                                  = -4,
-	ERROR_MEMORY_MAP_FAILED                            = -5,
-	ERROR_LAYER_NOT_PRESENT                            = -6,
-	ERROR_EXTENSION_NOT_PRESENT                        = -7,
-	ERROR_FEATURE_NOT_PRESENT                          = -8,
-	ERROR_INCOMPATIBLE_DRIVER                          = -9,
-	ERROR_TOO_MANY_OBJECTS                             = -10,
-	ERROR_FORMAT_NOT_SUPPORTED                         = -11,
-	ERROR_FRAGMENTED_POOL                              = -12,
-	ERROR_UNKNOWN                                      = -13,
-	ERROR_OUT_OF_POOL_MEMORY                           = -1000069000,
-	ERROR_INVALID_EXTERNAL_HANDLE                      = -1000072003,
-	ERROR_FRAGMENTATION                                = -1000161000,
-	ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS               = -1000257000,
-	PIPELINE_COMPILE_REQUIRED                          = 1000297000,
-	ERROR_SURFACE_LOST_KHR                             = -1000000000,
-	ERROR_NATIVE_WINDOW_IN_USE_KHR                     = -1000000001,
-	SUBOPTIMAL_KHR                                     = 1000001003,
-	ERROR_OUT_OF_DATE_KHR                              = -1000001004,
-	ERROR_INCOMPATIBLE_DISPLAY_KHR                     = -1000003001,
-	ERROR_VALIDATION_FAILED_EXT                        = -1000011001,
-	ERROR_INVALID_SHADER_NV                            = -1000012000,
-	ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
-	ERROR_NOT_PERMITTED_KHR                            = -1000174001,
-	ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT          = -1000255000,
-	THREAD_IDLE_KHR                                    = 1000268000,
-	THREAD_DONE_KHR                                    = 1000268001,
-	OPERATION_DEFERRED_KHR                             = 1000268002,
-	OPERATION_NOT_DEFERRED_KHR                         = 1000268003,
-	ERROR_OUT_OF_POOL_MEMORY_KHR                       = ERROR_OUT_OF_POOL_MEMORY,
-	ERROR_INVALID_EXTERNAL_HANDLE_KHR                  = ERROR_INVALID_EXTERNAL_HANDLE,
-	ERROR_FRAGMENTATION_EXT                            = ERROR_FRAGMENTATION,
-	ERROR_NOT_PERMITTED_EXT                            = ERROR_NOT_PERMITTED_KHR,
-	ERROR_INVALID_DEVICE_ADDRESS_EXT                   = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
-	ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR           = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
-	PIPELINE_COMPILE_REQUIRED_EXT                      = PIPELINE_COMPILE_REQUIRED,
-	ERROR_PIPELINE_COMPILE_REQUIRED_EXT                = PIPELINE_COMPILE_REQUIRED,
-}
-
-SampleCountFlags :: distinct bit_set[SampleCountFlag; Flags]
-SampleCountFlag :: enum Flags {
-	_1  = 0,
-	_2  = 1,
-	_4  = 2,
-	_8  = 3,
-	_16 = 4,
-	_32 = 5,
-	_64 = 6,
-}
-
-SamplerAddressMode :: enum c.int {
-	REPEAT                   = 0,
-	MIRRORED_REPEAT          = 1,
-	CLAMP_TO_EDGE            = 2,
-	CLAMP_TO_BORDER          = 3,
-	MIRROR_CLAMP_TO_EDGE     = 4,
-	MIRROR_CLAMP_TO_EDGE_KHR = MIRROR_CLAMP_TO_EDGE,
-}
-
-SamplerCreateFlags :: distinct bit_set[SamplerCreateFlag; Flags]
-SamplerCreateFlag :: enum Flags {
-	SUBSAMPLED_EXT                       = 0,
-	SUBSAMPLED_COARSE_RECONSTRUCTION_EXT = 1,
-}
-
-SamplerMipmapMode :: enum c.int {
-	NEAREST = 0,
-	LINEAR  = 1,
-}
-
-SamplerReductionMode :: enum c.int {
-	WEIGHTED_AVERAGE     = 0,
-	MIN                  = 1,
-	MAX                  = 2,
-	WEIGHTED_AVERAGE_EXT = WEIGHTED_AVERAGE,
-	MIN_EXT              = MIN,
-	MAX_EXT              = MAX,
-}
-
-SamplerYcbcrModelConversion :: enum c.int {
-	RGB_IDENTITY       = 0,
-	YCBCR_IDENTITY     = 1,
-	YCBCR_709          = 2,
-	YCBCR_601          = 3,
-	YCBCR_2020         = 4,
-	RGB_IDENTITY_KHR   = RGB_IDENTITY,
-	YCBCR_IDENTITY_KHR = YCBCR_IDENTITY,
-	YCBCR_709_KHR      = YCBCR_709,
-	YCBCR_601_KHR      = YCBCR_601,
-	YCBCR_2020_KHR     = YCBCR_2020,
-}
-
-SamplerYcbcrRange :: enum c.int {
-	ITU_FULL       = 0,
-	ITU_NARROW     = 1,
-	ITU_FULL_KHR   = ITU_FULL,
-	ITU_NARROW_KHR = ITU_NARROW,
-}
-
-ScopeNV :: enum c.int {
-	DEVICE       = 1,
-	WORKGROUP    = 2,
-	SUBGROUP     = 3,
-	QUEUE_FAMILY = 5,
-}
-
-SemaphoreImportFlags :: distinct bit_set[SemaphoreImportFlag; Flags]
-SemaphoreImportFlag :: enum Flags {
-	TEMPORARY     = 0,
-	TEMPORARY_KHR = TEMPORARY,
-}
-
-SemaphoreType :: enum c.int {
-	BINARY       = 0,
-	TIMELINE     = 1,
-	BINARY_KHR   = BINARY,
-	TIMELINE_KHR = TIMELINE,
-}
-
-SemaphoreWaitFlags :: distinct bit_set[SemaphoreWaitFlag; Flags]
-SemaphoreWaitFlag :: enum Flags {
-	ANY     = 0,
-	ANY_KHR = ANY,
-}
-
-ShaderCorePropertiesFlagsAMD :: distinct bit_set[ShaderCorePropertiesFlagAMD; Flags]
-ShaderCorePropertiesFlagAMD :: enum Flags {
-}
-
-ShaderFloatControlsIndependence :: enum c.int {
-	_32_BIT_ONLY     = 0,
-	ALL              = 1,
-	NONE             = 2,
-	_32_BIT_ONLY_KHR = _32_BIT_ONLY,
-	ALL_KHR          = ALL,
-}
-
-ShaderGroupShaderKHR :: enum c.int {
-	GENERAL      = 0,
-	CLOSEST_HIT  = 1,
-	ANY_HIT      = 2,
-	INTERSECTION = 3,
-}
-
-ShaderInfoTypeAMD :: enum c.int {
-	STATISTICS  = 0,
-	BINARY      = 1,
-	DISASSEMBLY = 2,
-}
-
-ShaderStageFlags :: distinct bit_set[ShaderStageFlag; Flags]
-ShaderStageFlag :: enum Flags {
-	VERTEX                  = 0,
-	TESSELLATION_CONTROL    = 1,
-	TESSELLATION_EVALUATION = 2,
-	GEOMETRY                = 3,
-	FRAGMENT                = 4,
-	COMPUTE                 = 5,
-	RAYGEN_KHR              = 8,
-	ANY_HIT_KHR             = 9,
-	CLOSEST_HIT_KHR         = 10,
-	MISS_KHR                = 11,
-	INTERSECTION_KHR        = 12,
-	CALLABLE_KHR            = 13,
-	TASK_NV                 = 6,
-	MESH_NV                 = 7,
-	SUBPASS_SHADING_HUAWEI  = 14,
-	RAYGEN_NV               = RAYGEN_KHR,
-	ANY_HIT_NV              = ANY_HIT_KHR,
-	CLOSEST_HIT_NV          = CLOSEST_HIT_KHR,
-	MISS_NV                 = MISS_KHR,
-	INTERSECTION_NV         = INTERSECTION_KHR,
-	CALLABLE_NV             = CALLABLE_KHR,
-	_MAX                    = 31, // Needed for the *_ALL bit set
-}
-
-ShaderStageFlags_ALL_GRAPHICS :: ShaderStageFlags{.VERTEX, .TESSELLATION_CONTROL, .TESSELLATION_EVALUATION, .GEOMETRY, .FRAGMENT}
-ShaderStageFlags_ALL :: ShaderStageFlags{.VERTEX, .TESSELLATION_CONTROL, .TESSELLATION_EVALUATION, .GEOMETRY, .FRAGMENT, .COMPUTE, .TASK_NV, .MESH_NV, .RAYGEN_KHR, .ANY_HIT_KHR, .CLOSEST_HIT_KHR, .MISS_KHR, .INTERSECTION_KHR, .CALLABLE_KHR, .SUBPASS_SHADING_HUAWEI, ShaderStageFlag(15), ShaderStageFlag(16), ShaderStageFlag(17), ShaderStageFlag(18), ShaderStageFlag(19), ShaderStageFlag(20), ShaderStageFlag(21), ShaderStageFlag(22), ShaderStageFlag(23), ShaderStageFlag(24), ShaderStageFlag(25), ShaderStageFlag(26), ShaderStageFlag(27), ShaderStageFlag(28), ShaderStageFlag(29), ShaderStageFlag(30)}
-
-
-ShadingRatePaletteEntryNV :: enum c.int {
-	NO_INVOCATIONS               = 0,
-	_16_INVOCATIONS_PER_PIXEL    = 1,
-	_8_INVOCATIONS_PER_PIXEL     = 2,
-	_4_INVOCATIONS_PER_PIXEL     = 3,
-	_2_INVOCATIONS_PER_PIXEL     = 4,
-	_1_INVOCATION_PER_PIXEL      = 5,
-	_1_INVOCATION_PER_2X1_PIXELS = 6,
-	_1_INVOCATION_PER_1X2_PIXELS = 7,
-	_1_INVOCATION_PER_2X2_PIXELS = 8,
-	_1_INVOCATION_PER_4X2_PIXELS = 9,
-	_1_INVOCATION_PER_2X4_PIXELS = 10,
-	_1_INVOCATION_PER_4X4_PIXELS = 11,
-}
-
-SharingMode :: enum c.int {
-	EXCLUSIVE  = 0,
-	CONCURRENT = 1,
-}
-
-SparseImageFormatFlags :: distinct bit_set[SparseImageFormatFlag; Flags]
-SparseImageFormatFlag :: enum Flags {
-	SINGLE_MIPTAIL         = 0,
-	ALIGNED_MIP_SIZE       = 1,
-	NONSTANDARD_BLOCK_SIZE = 2,
-}
-
-SparseMemoryBindFlags :: distinct bit_set[SparseMemoryBindFlag; Flags]
-SparseMemoryBindFlag :: enum Flags {
-	METADATA = 0,
-}
-
-StencilFaceFlags :: distinct bit_set[StencilFaceFlag; Flags]
-StencilFaceFlag :: enum Flags {
-	FRONT                  = 0,
-	BACK                   = 1,
-}
-
-StencilFaceFlags_FRONT_AND_BACK :: StencilFaceFlags{.FRONT, .BACK}
-
-
-StencilOp :: enum c.int {
-	KEEP                = 0,
-	ZERO                = 1,
-	REPLACE             = 2,
-	INCREMENT_AND_CLAMP = 3,
-	DECREMENT_AND_CLAMP = 4,
-	INVERT              = 5,
-	INCREMENT_AND_WRAP  = 6,
-	DECREMENT_AND_WRAP  = 7,
-}
-
-StructureType :: enum c.int {
-	APPLICATION_INFO                                                   = 0,
-	INSTANCE_CREATE_INFO                                               = 1,
-	DEVICE_QUEUE_CREATE_INFO                                           = 2,
-	DEVICE_CREATE_INFO                                                 = 3,
-	SUBMIT_INFO                                                        = 4,
-	MEMORY_ALLOCATE_INFO                                               = 5,
-	MAPPED_MEMORY_RANGE                                                = 6,
-	BIND_SPARSE_INFO                                                   = 7,
-	FENCE_CREATE_INFO                                                  = 8,
-	SEMAPHORE_CREATE_INFO                                              = 9,
-	EVENT_CREATE_INFO                                                  = 10,
-	QUERY_POOL_CREATE_INFO                                             = 11,
-	BUFFER_CREATE_INFO                                                 = 12,
-	BUFFER_VIEW_CREATE_INFO                                            = 13,
-	IMAGE_CREATE_INFO                                                  = 14,
-	IMAGE_VIEW_CREATE_INFO                                             = 15,
-	SHADER_MODULE_CREATE_INFO                                          = 16,
-	PIPELINE_CACHE_CREATE_INFO                                         = 17,
-	PIPELINE_SHADER_STAGE_CREATE_INFO                                  = 18,
-	PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO                            = 19,
-	PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO                          = 20,
-	PIPELINE_TESSELLATION_STATE_CREATE_INFO                            = 21,
-	PIPELINE_VIEWPORT_STATE_CREATE_INFO                                = 22,
-	PIPELINE_RASTERIZATION_STATE_CREATE_INFO                           = 23,
-	PIPELINE_MULTISAMPLE_STATE_CREATE_INFO                             = 24,
-	PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO                           = 25,
-	PIPELINE_COLOR_BLEND_STATE_CREATE_INFO                             = 26,
-	PIPELINE_DYNAMIC_STATE_CREATE_INFO                                 = 27,
-	GRAPHICS_PIPELINE_CREATE_INFO                                      = 28,
-	COMPUTE_PIPELINE_CREATE_INFO                                       = 29,
-	PIPELINE_LAYOUT_CREATE_INFO                                        = 30,
-	SAMPLER_CREATE_INFO                                                = 31,
-	DESCRIPTOR_SET_LAYOUT_CREATE_INFO                                  = 32,
-	DESCRIPTOR_POOL_CREATE_INFO                                        = 33,
-	DESCRIPTOR_SET_ALLOCATE_INFO                                       = 34,
-	WRITE_DESCRIPTOR_SET                                               = 35,
-	COPY_DESCRIPTOR_SET                                                = 36,
-	FRAMEBUFFER_CREATE_INFO                                            = 37,
-	RENDER_PASS_CREATE_INFO                                            = 38,
-	COMMAND_POOL_CREATE_INFO                                           = 39,
-	COMMAND_BUFFER_ALLOCATE_INFO                                       = 40,
-	COMMAND_BUFFER_INHERITANCE_INFO                                    = 41,
-	COMMAND_BUFFER_BEGIN_INFO                                          = 42,
-	RENDER_PASS_BEGIN_INFO                                             = 43,
-	BUFFER_MEMORY_BARRIER                                              = 44,
-	IMAGE_MEMORY_BARRIER                                               = 45,
-	MEMORY_BARRIER                                                     = 46,
-	LOADER_INSTANCE_CREATE_INFO                                        = 47,
-	LOADER_DEVICE_CREATE_INFO                                          = 48,
-	PHYSICAL_DEVICE_SUBGROUP_PROPERTIES                                = 1000094000,
-	BIND_BUFFER_MEMORY_INFO                                            = 1000157000,
-	BIND_IMAGE_MEMORY_INFO                                             = 1000157001,
-	PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES                             = 1000083000,
-	MEMORY_DEDICATED_REQUIREMENTS                                      = 1000127000,
-	MEMORY_DEDICATED_ALLOCATE_INFO                                     = 1000127001,
-	MEMORY_ALLOCATE_FLAGS_INFO                                         = 1000060000,
-	DEVICE_GROUP_RENDER_PASS_BEGIN_INFO                                = 1000060003,
-	DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO                             = 1000060004,
-	DEVICE_GROUP_SUBMIT_INFO                                           = 1000060005,
-	DEVICE_GROUP_BIND_SPARSE_INFO                                      = 1000060006,
-	BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO                               = 1000060013,
-	BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO                                = 1000060014,
-	PHYSICAL_DEVICE_GROUP_PROPERTIES                                   = 1000070000,
-	DEVICE_GROUP_DEVICE_CREATE_INFO                                    = 1000070001,
-	BUFFER_MEMORY_REQUIREMENTS_INFO_2                                  = 1000146000,
-	IMAGE_MEMORY_REQUIREMENTS_INFO_2                                   = 1000146001,
-	IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2                            = 1000146002,
-	MEMORY_REQUIREMENTS_2                                              = 1000146003,
-	SPARSE_IMAGE_MEMORY_REQUIREMENTS_2                                 = 1000146004,
-	PHYSICAL_DEVICE_FEATURES_2                                         = 1000059000,
-	PHYSICAL_DEVICE_PROPERTIES_2                                       = 1000059001,
-	FORMAT_PROPERTIES_2                                                = 1000059002,
-	IMAGE_FORMAT_PROPERTIES_2                                          = 1000059003,
-	PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2                                = 1000059004,
-	QUEUE_FAMILY_PROPERTIES_2                                          = 1000059005,
-	PHYSICAL_DEVICE_MEMORY_PROPERTIES_2                                = 1000059006,
-	SPARSE_IMAGE_FORMAT_PROPERTIES_2                                   = 1000059007,
-	PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2                         = 1000059008,
-	PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES                          = 1000117000,
-	RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO                    = 1000117001,
-	IMAGE_VIEW_USAGE_CREATE_INFO                                       = 1000117002,
-	PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO              = 1000117003,
-	RENDER_PASS_MULTIVIEW_CREATE_INFO                                  = 1000053000,
-	PHYSICAL_DEVICE_MULTIVIEW_FEATURES                                 = 1000053001,
-	PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES                               = 1000053002,
-	PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES                         = 1000120000,
-	PROTECTED_SUBMIT_INFO                                              = 1000145000,
-	PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES                          = 1000145001,
-	PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES                        = 1000145002,
-	DEVICE_QUEUE_INFO_2                                                = 1000145003,
-	SAMPLER_YCBCR_CONVERSION_CREATE_INFO                               = 1000156000,
-	SAMPLER_YCBCR_CONVERSION_INFO                                      = 1000156001,
-	BIND_IMAGE_PLANE_MEMORY_INFO                                       = 1000156002,
-	IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO                               = 1000156003,
-	PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES                  = 1000156004,
-	SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES                   = 1000156005,
-	DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO                             = 1000085000,
-	PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO                         = 1000071000,
-	EXTERNAL_IMAGE_FORMAT_PROPERTIES                                   = 1000071001,
-	PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO                               = 1000071002,
-	EXTERNAL_BUFFER_PROPERTIES                                         = 1000071003,
-	PHYSICAL_DEVICE_ID_PROPERTIES                                      = 1000071004,
-	EXTERNAL_MEMORY_BUFFER_CREATE_INFO                                 = 1000072000,
-	EXTERNAL_MEMORY_IMAGE_CREATE_INFO                                  = 1000072001,
-	EXPORT_MEMORY_ALLOCATE_INFO                                        = 1000072002,
-	PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO                                = 1000112000,
-	EXTERNAL_FENCE_PROPERTIES                                          = 1000112001,
-	EXPORT_FENCE_CREATE_INFO                                           = 1000113000,
-	EXPORT_SEMAPHORE_CREATE_INFO                                       = 1000077000,
-	PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO                            = 1000076000,
-	EXTERNAL_SEMAPHORE_PROPERTIES                                      = 1000076001,
-	PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES                           = 1000168000,
-	DESCRIPTOR_SET_LAYOUT_SUPPORT                                      = 1000168001,
-	PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES                    = 1000063000,
-	PHYSICAL_DEVICE_VULKAN_1_1_FEATURES                                = 49,
-	PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES                              = 50,
-	PHYSICAL_DEVICE_VULKAN_1_2_FEATURES                                = 51,
-	PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES                              = 52,
-	IMAGE_FORMAT_LIST_CREATE_INFO                                      = 1000147000,
-	ATTACHMENT_DESCRIPTION_2                                           = 1000109000,
-	ATTACHMENT_REFERENCE_2                                             = 1000109001,
-	SUBPASS_DESCRIPTION_2                                              = 1000109002,
-	SUBPASS_DEPENDENCY_2                                               = 1000109003,
-	RENDER_PASS_CREATE_INFO_2                                          = 1000109004,
-	SUBPASS_BEGIN_INFO                                                 = 1000109005,
-	SUBPASS_END_INFO                                                   = 1000109006,
-	PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES                              = 1000177000,
-	PHYSICAL_DEVICE_DRIVER_PROPERTIES                                  = 1000196000,
-	PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES                       = 1000180000,
-	PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES                       = 1000082000,
-	PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES                          = 1000197000,
-	DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO                    = 1000161000,
-	PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES                       = 1000161001,
-	PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES                     = 1000161002,
-	DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO             = 1000161003,
-	DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT            = 1000161004,
-	PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES                   = 1000199000,
-	SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE                          = 1000199001,
-	PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES                       = 1000221000,
-	IMAGE_STENCIL_USAGE_CREATE_INFO                                    = 1000246000,
-	PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES                   = 1000130000,
-	SAMPLER_REDUCTION_MODE_CREATE_INFO                                 = 1000130001,
-	PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES                       = 1000211000,
-	PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES                     = 1000108000,
-	FRAMEBUFFER_ATTACHMENTS_CREATE_INFO                                = 1000108001,
-	FRAMEBUFFER_ATTACHMENT_IMAGE_INFO                                  = 1000108002,
-	RENDER_PASS_ATTACHMENT_BEGIN_INFO                                  = 1000108003,
-	PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES            = 1000253000,
-	PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES            = 1000175000,
-	PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES            = 1000241000,
-	ATTACHMENT_REFERENCE_STENCIL_LAYOUT                                = 1000241001,
-	ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT                              = 1000241002,
-	PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES                          = 1000261000,
-	PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES                        = 1000207000,
-	PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES                      = 1000207001,
-	SEMAPHORE_TYPE_CREATE_INFO                                         = 1000207002,
-	TIMELINE_SEMAPHORE_SUBMIT_INFO                                     = 1000207003,
-	SEMAPHORE_WAIT_INFO                                                = 1000207004,
-	SEMAPHORE_SIGNAL_INFO                                              = 1000207005,
-	PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES                     = 1000257000,
-	BUFFER_DEVICE_ADDRESS_INFO                                         = 1000244001,
-	BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO                          = 1000257002,
-	MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO                        = 1000257003,
-	DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO                          = 1000257004,
-	PHYSICAL_DEVICE_VULKAN_1_3_FEATURES                                = 53,
-	PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES                              = 54,
-	PIPELINE_CREATION_FEEDBACK_CREATE_INFO                             = 1000192000,
-	PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES               = 1000215000,
-	PHYSICAL_DEVICE_TOOL_PROPERTIES                                    = 1000245000,
-	PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES        = 1000276000,
-	PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES                              = 1000295000,
-	DEVICE_PRIVATE_DATA_CREATE_INFO                                    = 1000295001,
-	PRIVATE_DATA_SLOT_CREATE_INFO                                      = 1000295002,
-	PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES           = 1000297000,
-	MEMORY_BARRIER_2                                                   = 1000314000,
-	BUFFER_MEMORY_BARRIER_2                                            = 1000314001,
-	IMAGE_MEMORY_BARRIER_2                                             = 1000314002,
-	DEPENDENCY_INFO                                                    = 1000314003,
-	SUBMIT_INFO_2                                                      = 1000314004,
-	SEMAPHORE_SUBMIT_INFO                                              = 1000314005,
-	COMMAND_BUFFER_SUBMIT_INFO                                         = 1000314006,
-	PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES                         = 1000314007,
-	PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES          = 1000325000,
-	PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES                          = 1000335000,
-	COPY_BUFFER_INFO_2                                                 = 1000337000,
-	COPY_IMAGE_INFO_2                                                  = 1000337001,
-	COPY_BUFFER_TO_IMAGE_INFO_2                                        = 1000337002,
-	COPY_IMAGE_TO_BUFFER_INFO_2                                        = 1000337003,
-	BLIT_IMAGE_INFO_2                                                  = 1000337004,
-	RESOLVE_IMAGE_INFO_2                                               = 1000337005,
-	BUFFER_COPY_2                                                      = 1000337006,
-	IMAGE_COPY_2                                                       = 1000337007,
-	IMAGE_BLIT_2                                                       = 1000337008,
-	BUFFER_IMAGE_COPY_2                                                = 1000337009,
-	IMAGE_RESOLVE_2                                                    = 1000337010,
-	PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES                   = 1000225000,
-	PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO           = 1000225001,
-	PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES                     = 1000225002,
-	PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES                      = 1000138000,
-	PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES                    = 1000138001,
-	WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK                          = 1000138002,
-	DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO                   = 1000138003,
-	PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES              = 1000066000,
-	RENDERING_INFO                                                     = 1000044000,
-	RENDERING_ATTACHMENT_INFO                                          = 1000044001,
-	PIPELINE_RENDERING_CREATE_INFO                                     = 1000044002,
-	PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES                         = 1000044003,
-	COMMAND_BUFFER_INHERITANCE_RENDERING_INFO                          = 1000044004,
-	PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES                = 1000280000,
-	PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES              = 1000280001,
-	PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES                  = 1000281001,
-	FORMAT_PROPERTIES_3                                                = 1000360000,
-	PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES                             = 1000413000,
-	PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES                           = 1000413001,
-	DEVICE_BUFFER_MEMORY_REQUIREMENTS                                  = 1000413002,
-	DEVICE_IMAGE_MEMORY_REQUIREMENTS                                   = 1000413003,
-	SWAPCHAIN_CREATE_INFO_KHR                                          = 1000001000,
-	PRESENT_INFO_KHR                                                   = 1000001001,
-	DEVICE_GROUP_PRESENT_CAPABILITIES_KHR                              = 1000060007,
-	IMAGE_SWAPCHAIN_CREATE_INFO_KHR                                    = 1000060008,
-	BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR                               = 1000060009,
-	ACQUIRE_NEXT_IMAGE_INFO_KHR                                        = 1000060010,
-	DEVICE_GROUP_PRESENT_INFO_KHR                                      = 1000060011,
-	DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR                             = 1000060012,
-	DISPLAY_MODE_CREATE_INFO_KHR                                       = 1000002000,
-	DISPLAY_SURFACE_CREATE_INFO_KHR                                    = 1000002001,
-	DISPLAY_PRESENT_INFO_KHR                                           = 1000003000,
-	XLIB_SURFACE_CREATE_INFO_KHR                                       = 1000004000,
-	XCB_SURFACE_CREATE_INFO_KHR                                        = 1000005000,
-	WAYLAND_SURFACE_CREATE_INFO_KHR                                    = 1000006000,
-	ANDROID_SURFACE_CREATE_INFO_KHR                                    = 1000008000,
-	WIN32_SURFACE_CREATE_INFO_KHR                                      = 1000009000,
-	DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT                              = 1000011000,
-	PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD               = 1000018000,
-	DEBUG_MARKER_OBJECT_NAME_INFO_EXT                                  = 1000022000,
-	DEBUG_MARKER_OBJECT_TAG_INFO_EXT                                   = 1000022001,
-	DEBUG_MARKER_MARKER_INFO_EXT                                       = 1000022002,
-	VIDEO_PROFILE_KHR                                                  = 1000023000,
-	VIDEO_CAPABILITIES_KHR                                             = 1000023001,
-	VIDEO_PICTURE_RESOURCE_KHR                                         = 1000023002,
-	VIDEO_GET_MEMORY_PROPERTIES_KHR                                    = 1000023003,
-	VIDEO_BIND_MEMORY_KHR                                              = 1000023004,
-	VIDEO_SESSION_CREATE_INFO_KHR                                      = 1000023005,
-	VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR                           = 1000023006,
-	VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR                           = 1000023007,
-	VIDEO_BEGIN_CODING_INFO_KHR                                        = 1000023008,
-	VIDEO_END_CODING_INFO_KHR                                          = 1000023009,
-	VIDEO_CODING_CONTROL_INFO_KHR                                      = 1000023010,
-	VIDEO_REFERENCE_SLOT_KHR                                           = 1000023011,
-	VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR                                = 1000023012,
-	VIDEO_PROFILES_KHR                                                 = 1000023013,
-	PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR                              = 1000023014,
-	VIDEO_FORMAT_PROPERTIES_KHR                                        = 1000023015,
-	QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR                  = 1000023016,
-	VIDEO_DECODE_INFO_KHR                                              = 1000024000,
-	VIDEO_DECODE_CAPABILITIES_KHR                                      = 1000024001,
-	DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                          = 1000026000,
-	DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                         = 1000026001,
-	DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                       = 1000026002,
-	PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT                    = 1000028000,
-	PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT                  = 1000028001,
-	PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT                = 1000028002,
-	CU_MODULE_CREATE_INFO_NVX                                          = 1000029000,
-	CU_FUNCTION_CREATE_INFO_NVX                                        = 1000029001,
-	CU_LAUNCH_INFO_NVX                                                 = 1000029002,
-	IMAGE_VIEW_HANDLE_INFO_NVX                                         = 1000030000,
-	IMAGE_VIEW_ADDRESS_PROPERTIES_NVX                                  = 1000030001,
-	VIDEO_ENCODE_H264_CAPABILITIES_EXT                                 = 1000038000,
-	VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT               = 1000038001,
-	VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT                  = 1000038002,
-	VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT                               = 1000038003,
-	VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT                                = 1000038004,
-	VIDEO_ENCODE_H264_NALU_SLICE_EXT                                   = 1000038005,
-	VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT                      = 1000038006,
-	VIDEO_ENCODE_H264_PROFILE_EXT                                      = 1000038007,
-	VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT                            = 1000038008,
-	VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT                      = 1000038009,
-	VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT                              = 1000038010,
-	VIDEO_ENCODE_H265_CAPABILITIES_EXT                                 = 1000039000,
-	VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT               = 1000039001,
-	VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT                  = 1000039002,
-	VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT                               = 1000039003,
-	VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT                                = 1000039004,
-	VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT                           = 1000039005,
-	VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT                      = 1000039006,
-	VIDEO_ENCODE_H265_PROFILE_EXT                                      = 1000039007,
-	VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT                              = 1000039008,
-	VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT                            = 1000039009,
-	VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT                      = 1000039010,
-	VIDEO_DECODE_H264_CAPABILITIES_EXT                                 = 1000040000,
-	VIDEO_DECODE_H264_PICTURE_INFO_EXT                                 = 1000040001,
-	VIDEO_DECODE_H264_MVC_EXT                                          = 1000040002,
-	VIDEO_DECODE_H264_PROFILE_EXT                                      = 1000040003,
-	VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT               = 1000040004,
-	VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT                  = 1000040005,
-	VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT                                = 1000040006,
-	TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD                           = 1000041000,
-	RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR                = 1000044006,
-	RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT                 = 1000044007,
-	ATTACHMENT_SAMPLE_COUNT_INFO_AMD                                   = 1000044008,
-	MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX                             = 1000044009,
-	STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP                          = 1000049000,
-	PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV                   = 1000050000,
-	EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV                               = 1000056000,
-	EXPORT_MEMORY_ALLOCATE_INFO_NV                                     = 1000056001,
-	IMPORT_MEMORY_WIN32_HANDLE_INFO_NV                                 = 1000057000,
-	EXPORT_MEMORY_WIN32_HANDLE_INFO_NV                                 = 1000057001,
-	WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV                          = 1000058000,
-	VALIDATION_FLAGS_EXT                                               = 1000061000,
-	VI_SURFACE_CREATE_INFO_NN                                          = 1000062000,
-	IMAGE_VIEW_ASTC_DECODE_MODE_EXT                                    = 1000067000,
-	PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT                           = 1000067001,
-	IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                = 1000073000,
-	EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                = 1000073001,
-	MEMORY_WIN32_HANDLE_PROPERTIES_KHR                                 = 1000073002,
-	MEMORY_GET_WIN32_HANDLE_INFO_KHR                                   = 1000073003,
-	IMPORT_MEMORY_FD_INFO_KHR                                          = 1000074000,
-	MEMORY_FD_PROPERTIES_KHR                                           = 1000074001,
-	MEMORY_GET_FD_INFO_KHR                                             = 1000074002,
-	WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR                         = 1000075000,
-	IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                             = 1000078000,
-	EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                             = 1000078001,
-	D3D12_FENCE_SUBMIT_INFO_KHR                                        = 1000078002,
-	SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR                                = 1000078003,
-	IMPORT_SEMAPHORE_FD_INFO_KHR                                       = 1000079000,
-	SEMAPHORE_GET_FD_INFO_KHR                                          = 1000079001,
-	PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR                     = 1000080000,
-	COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT          = 1000081000,
-	PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT                 = 1000081001,
-	CONDITIONAL_RENDERING_BEGIN_INFO_EXT                               = 1000081002,
-	PRESENT_REGIONS_KHR                                                = 1000084000,
-	PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV                   = 1000087000,
-	SURFACE_CAPABILITIES_2_EXT                                         = 1000090000,
-	DISPLAY_POWER_INFO_EXT                                             = 1000091000,
-	DEVICE_EVENT_INFO_EXT                                              = 1000091001,
-	DISPLAY_EVENT_INFO_EXT                                             = 1000091002,
-	SWAPCHAIN_COUNTER_CREATE_INFO_EXT                                  = 1000091003,
-	PRESENT_TIMES_INFO_GOOGLE                                          = 1000092000,
-	PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX       = 1000097000,
-	PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV                     = 1000098000,
-	PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT                   = 1000099000,
-	PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT                   = 1000099001,
-	PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT          = 1000101000,
-	PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT          = 1000101001,
-	PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT                     = 1000102000,
-	PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT            = 1000102001,
-	HDR_METADATA_EXT                                                   = 1000105000,
-	SHARED_PRESENT_SURFACE_CAPABILITIES_KHR                            = 1000111000,
-	IMPORT_FENCE_WIN32_HANDLE_INFO_KHR                                 = 1000114000,
-	EXPORT_FENCE_WIN32_HANDLE_INFO_KHR                                 = 1000114001,
-	FENCE_GET_WIN32_HANDLE_INFO_KHR                                    = 1000114002,
-	IMPORT_FENCE_FD_INFO_KHR                                           = 1000115000,
-	FENCE_GET_FD_INFO_KHR                                              = 1000115001,
-	PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR                     = 1000116000,
-	PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR                   = 1000116001,
-	QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR                             = 1000116002,
-	PERFORMANCE_QUERY_SUBMIT_INFO_KHR                                  = 1000116003,
-	ACQUIRE_PROFILING_LOCK_INFO_KHR                                    = 1000116004,
-	PERFORMANCE_COUNTER_KHR                                            = 1000116005,
-	PERFORMANCE_COUNTER_DESCRIPTION_KHR                                = 1000116006,
-	PHYSICAL_DEVICE_SURFACE_INFO_2_KHR                                 = 1000119000,
-	SURFACE_CAPABILITIES_2_KHR                                         = 1000119001,
-	SURFACE_FORMAT_2_KHR                                               = 1000119002,
-	DISPLAY_PROPERTIES_2_KHR                                           = 1000121000,
-	DISPLAY_PLANE_PROPERTIES_2_KHR                                     = 1000121001,
-	DISPLAY_MODE_PROPERTIES_2_KHR                                      = 1000121002,
-	DISPLAY_PLANE_INFO_2_KHR                                           = 1000121003,
-	DISPLAY_PLANE_CAPABILITIES_2_KHR                                   = 1000121004,
-	IOS_SURFACE_CREATE_INFO_MVK                                        = 1000122000,
-	MACOS_SURFACE_CREATE_INFO_MVK                                      = 1000123000,
-	DEBUG_UTILS_OBJECT_NAME_INFO_EXT                                   = 1000128000,
-	DEBUG_UTILS_OBJECT_TAG_INFO_EXT                                    = 1000128001,
-	DEBUG_UTILS_LABEL_EXT                                              = 1000128002,
-	DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT                            = 1000128003,
-	DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT                              = 1000128004,
-	ANDROID_HARDWARE_BUFFER_USAGE_ANDROID                              = 1000129000,
-	ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID                         = 1000129001,
-	ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID                  = 1000129002,
-	IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                        = 1000129003,
-	MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                    = 1000129004,
-	EXTERNAL_FORMAT_ANDROID                                            = 1000129005,
-	ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID                = 1000129006,
-	SAMPLE_LOCATIONS_INFO_EXT                                          = 1000143000,
-	RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT                        = 1000143001,
-	PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT                    = 1000143002,
-	PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT                    = 1000143003,
-	MULTISAMPLE_PROPERTIES_EXT                                         = 1000143004,
-	PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT              = 1000148000,
-	PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT            = 1000148001,
-	PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT                = 1000148002,
-	PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV                    = 1000149000,
-	WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR                    = 1000150007,
-	ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR                     = 1000150000,
-	ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR                     = 1000150002,
-	ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR                     = 1000150003,
-	ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR                 = 1000150004,
-	ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR                 = 1000150005,
-	ACCELERATION_STRUCTURE_GEOMETRY_KHR                                = 1000150006,
-	ACCELERATION_STRUCTURE_VERSION_INFO_KHR                            = 1000150009,
-	COPY_ACCELERATION_STRUCTURE_INFO_KHR                               = 1000150010,
-	COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR                     = 1000150011,
-	COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR                     = 1000150012,
-	PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR                = 1000150013,
-	PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR              = 1000150014,
-	ACCELERATION_STRUCTURE_CREATE_INFO_KHR                             = 1000150017,
-	ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR                        = 1000150020,
-	PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR                  = 1000347000,
-	PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR                = 1000347001,
-	RAY_TRACING_PIPELINE_CREATE_INFO_KHR                               = 1000150015,
-	RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR                           = 1000150016,
-	RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR                     = 1000150018,
-	PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR                             = 1000348013,
-	PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV                  = 1000152000,
-	PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV                     = 1000154000,
-	PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV                   = 1000154001,
-	DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT                            = 1000158000,
-	PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT                 = 1000158002,
-	IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT                     = 1000158003,
-	IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT                 = 1000158004,
-	IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                           = 1000158005,
-	DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT                          = 1000158006,
-	VALIDATION_CACHE_CREATE_INFO_EXT                                   = 1000160000,
-	SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT                     = 1000160001,
-	PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR                    = 1000163000,
-	PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR                  = 1000163001,
-	PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV          = 1000164000,
-	PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV                     = 1000164001,
-	PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV                   = 1000164002,
-	PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV         = 1000164005,
-	RAY_TRACING_PIPELINE_CREATE_INFO_NV                                = 1000165000,
-	ACCELERATION_STRUCTURE_CREATE_INFO_NV                              = 1000165001,
-	GEOMETRY_NV                                                        = 1000165003,
-	GEOMETRY_TRIANGLES_NV                                              = 1000165004,
-	GEOMETRY_AABB_NV                                                   = 1000165005,
-	BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV                         = 1000165006,
-	WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV                     = 1000165007,
-	ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV                 = 1000165008,
-	PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV                          = 1000165009,
-	RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV                            = 1000165011,
-	ACCELERATION_STRUCTURE_INFO_NV                                     = 1000165012,
-	PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV           = 1000166000,
-	PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV         = 1000166001,
-	PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT                   = 1000170000,
-	FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT                = 1000170001,
-	IMPORT_MEMORY_HOST_POINTER_INFO_EXT                                = 1000178000,
-	MEMORY_HOST_POINTER_PROPERTIES_EXT                                 = 1000178001,
-	PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT                = 1000178002,
-	PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR                          = 1000181000,
-	PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD                          = 1000183000,
-	CALIBRATED_TIMESTAMP_INFO_EXT                                      = 1000184000,
-	PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD                         = 1000185000,
-	VIDEO_DECODE_H265_CAPABILITIES_EXT                                 = 1000187000,
-	VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT               = 1000187001,
-	VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT                  = 1000187002,
-	VIDEO_DECODE_H265_PROFILE_EXT                                      = 1000187003,
-	VIDEO_DECODE_H265_PICTURE_INFO_EXT                                 = 1000187004,
-	VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT                                = 1000187005,
-	DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR                       = 1000174000,
-	PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR                 = 1000388000,
-	QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR                        = 1000388001,
-	DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD                       = 1000189000,
-	PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT            = 1000190000,
-	PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT                = 1000190001,
-	PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT              = 1000190002,
-	PRESENT_FRAME_TOKEN_GGP                                            = 1000191000,
-	PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV             = 1000201000,
-	PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV                            = 1000202000,
-	PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV                          = 1000202001,
-	PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV            = 1000203000,
-	PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV                 = 1000204000,
-	PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV           = 1000205000,
-	PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV                      = 1000205002,
-	CHECKPOINT_DATA_NV                                                 = 1000206000,
-	QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV                              = 1000206001,
-	PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL          = 1000209000,
-	QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL                     = 1000210000,
-	INITIALIZE_PERFORMANCE_API_INFO_INTEL                              = 1000210001,
-	PERFORMANCE_MARKER_INFO_INTEL                                      = 1000210002,
-	PERFORMANCE_STREAM_MARKER_INFO_INTEL                               = 1000210003,
-	PERFORMANCE_OVERRIDE_INFO_INTEL                                    = 1000210004,
-	PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL                       = 1000210005,
-	PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT                        = 1000212000,
-	DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD                        = 1000213000,
-	SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD                       = 1000213001,
-	IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA                              = 1000214000,
-	METAL_SURFACE_CREATE_INFO_EXT                                      = 1000217000,
-	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT                  = 1000218000,
-	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT                = 1000218001,
-	RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT                   = 1000218002,
-	FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR                          = 1000226000,
-	PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR               = 1000226001,
-	PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR               = 1000226002,
-	PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR                 = 1000226003,
-	PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR                          = 1000226004,
-	PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD                       = 1000227000,
-	PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD                       = 1000229000,
-	PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT             = 1000234000,
-	PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT                       = 1000237000,
-	PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT                       = 1000238000,
-	MEMORY_PRIORITY_ALLOCATE_INFO_EXT                                  = 1000238001,
-	SURFACE_PROTECTED_CAPABILITIES_KHR                                 = 1000239000,
-	PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV    = 1000240000,
-	PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT                 = 1000244000,
-	BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT                              = 1000244002,
-	VALIDATION_FEATURES_EXT                                            = 1000247000,
-	PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR                          = 1000248000,
-	PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV                     = 1000249000,
-	COOPERATIVE_MATRIX_PROPERTIES_NV                                   = 1000249001,
-	PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV                   = 1000249002,
-	PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV                = 1000250000,
-	PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV                   = 1000250001,
-	FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV                           = 1000250002,
-	PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT             = 1000251000,
-	PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT                    = 1000252000,
-	PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT                      = 1000254000,
-	PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT      = 1000254001,
-	PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT                    = 1000254002,
-	SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT                             = 1000255000,
-	SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT                     = 1000255002,
-	SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT                       = 1000255001,
-	HEADLESS_SURFACE_CREATE_INFO_EXT                                   = 1000256000,
-	PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT                    = 1000259000,
-	PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT                  = 1000259001,
-	PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT                  = 1000259002,
-	PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT                   = 1000260000,
-	PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT                      = 1000265000,
-	PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT                = 1000267000,
-	PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR        = 1000269000,
-	PIPELINE_INFO_KHR                                                  = 1000269001,
-	PIPELINE_EXECUTABLE_PROPERTIES_KHR                                 = 1000269002,
-	PIPELINE_EXECUTABLE_INFO_KHR                                       = 1000269003,
-	PIPELINE_EXECUTABLE_STATISTIC_KHR                                  = 1000269004,
-	PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR                    = 1000269005,
-	PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT                 = 1000273000,
-	PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV            = 1000277000,
-	GRAPHICS_SHADER_GROUP_CREATE_INFO_NV                               = 1000277001,
-	GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV                     = 1000277002,
-	INDIRECT_COMMANDS_LAYOUT_TOKEN_NV                                  = 1000277003,
-	INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV                            = 1000277004,
-	GENERATED_COMMANDS_INFO_NV                                         = 1000277005,
-	GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV                     = 1000277006,
-	PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV              = 1000277007,
-	PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV             = 1000278000,
-	COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV                = 1000278001,
-	PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT                = 1000281000,
-	COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM         = 1000282000,
-	RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM                              = 1000282001,
-	PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT                  = 1000284000,
-	DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT                        = 1000284001,
-	DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT                             = 1000284002,
-	PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT                          = 1000286000,
-	PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT                        = 1000286001,
-	SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT                        = 1000287000,
-	PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT                 = 1000287001,
-	PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT                   = 1000287002,
-	PIPELINE_LIBRARY_CREATE_INFO_KHR                                   = 1000290000,
-	PRESENT_ID_KHR                                                     = 1000294000,
-	PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR                            = 1000294001,
-	VIDEO_ENCODE_INFO_KHR                                              = 1000299000,
-	VIDEO_ENCODE_RATE_CONTROL_INFO_KHR                                 = 1000299001,
-	VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR                           = 1000299002,
-	VIDEO_ENCODE_CAPABILITIES_KHR                                      = 1000299003,
-	PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV                     = 1000300000,
-	DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV                           = 1000300001,
-	QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV                            = 1000314008,
-	CHECKPOINT_DATA_2_NV                                               = 1000314009,
-	PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT             = 1000320000,
-	PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT           = 1000320001,
-	GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT                          = 1000320002,
-	PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR  = 1000323000,
-	PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV          = 1000326000,
-	PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV            = 1000326001,
-	PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV           = 1000326002,
-	ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV           = 1000327000,
-	PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV                = 1000327001,
-	ACCELERATION_STRUCTURE_MOTION_INFO_NV                              = 1000327002,
-	PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT             = 1000330000,
-	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT                = 1000332000,
-	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT              = 1000332001,
-	COPY_COMMAND_TRANSFORM_INFO_QCOM                                   = 1000333000,
-	PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR      = 1000336000,
-	PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT                          = 1000340000,
-	PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000,
-	PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT                      = 1000344000,
-	DIRECTFB_SURFACE_CREATE_INFO_EXT                                   = 1000346000,
-	PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE             = 1000351000,
-	MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE                          = 1000351002,
-	PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT            = 1000352000,
-	VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT                             = 1000352001,
-	VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT                           = 1000352002,
-	PHYSICAL_DEVICE_DRM_PROPERTIES_EXT                                 = 1000353000,
-	PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT                    = 1000355000,
-	PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT               = 1000355001,
-	PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT       = 1000356000,
-	IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA                           = 1000364000,
-	MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA                            = 1000364001,
-	MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA                              = 1000364002,
-	IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA                        = 1000365000,
-	SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA                           = 1000365001,
-	BUFFER_COLLECTION_CREATE_INFO_FUCHSIA                              = 1000366000,
-	IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA                            = 1000366001,
-	BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA                        = 1000366002,
-	BUFFER_COLLECTION_PROPERTIES_FUCHSIA                               = 1000366003,
-	BUFFER_CONSTRAINTS_INFO_FUCHSIA                                    = 1000366004,
-	BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA                       = 1000366005,
-	IMAGE_CONSTRAINTS_INFO_FUCHSIA                                     = 1000366006,
-	IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA                              = 1000366007,
-	SYSMEM_COLOR_SPACE_FUCHSIA                                         = 1000366008,
-	BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA                         = 1000366009,
-	SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI                        = 1000369000,
-	PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI                    = 1000369001,
-	PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI                  = 1000369002,
-	PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI                    = 1000370000,
-	MEMORY_GET_REMOTE_ADDRESS_INFO_NV                                  = 1000371000,
-	PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV                   = 1000371001,
-	PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT              = 1000377000,
-	SCREEN_SURFACE_CREATE_INFO_QNX                                     = 1000378000,
-	PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT                    = 1000381000,
-	PIPELINE_COLOR_WRITE_CREATE_INFO_EXT                               = 1000381001,
-	PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT            = 1000382000,
-	PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT                    = 1000391000,
-	IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT                                 = 1000391001,
-	PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT                            = 1000392000,
-	PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT                          = 1000392001,
-	PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT                   = 1000393000,
-	PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT                  = 1000411000,
-	SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT             = 1000411001,
-	PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT          = 1000412000,
-	PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE         = 1000420000,
-	DESCRIPTOR_SET_BINDING_REFERENCE_VALVE                             = 1000420001,
-	DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE                      = 1000420002,
-	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM          = 1000425000,
-	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM        = 1000425001,
-	SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM                  = 1000425002,
-	PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV                = 1000430000,
-	PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES                          = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
-	PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES                     = PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
-	DEBUG_REPORT_CREATE_INFO_EXT                                       = DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
-	RENDERING_INFO_KHR                                                 = RENDERING_INFO,
-	RENDERING_ATTACHMENT_INFO_KHR                                      = RENDERING_ATTACHMENT_INFO,
-	PIPELINE_RENDERING_CREATE_INFO_KHR                                 = PIPELINE_RENDERING_CREATE_INFO,
-	PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR                     = PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
-	COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR                      = COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
-	ATTACHMENT_SAMPLE_COUNT_INFO_NV                                    = ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
-	RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR                              = RENDER_PASS_MULTIVIEW_CREATE_INFO,
-	PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR                             = PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
-	PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR                           = PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
-	PHYSICAL_DEVICE_FEATURES_2_KHR                                     = PHYSICAL_DEVICE_FEATURES_2,
-	PHYSICAL_DEVICE_PROPERTIES_2_KHR                                   = PHYSICAL_DEVICE_PROPERTIES_2,
-	FORMAT_PROPERTIES_2_KHR                                            = FORMAT_PROPERTIES_2,
-	IMAGE_FORMAT_PROPERTIES_2_KHR                                      = IMAGE_FORMAT_PROPERTIES_2,
-	PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR                            = PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
-	QUEUE_FAMILY_PROPERTIES_2_KHR                                      = QUEUE_FAMILY_PROPERTIES_2,
-	PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR                            = PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
-	SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR                               = SPARSE_IMAGE_FORMAT_PROPERTIES_2,
-	PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR                     = PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
-	MEMORY_ALLOCATE_FLAGS_INFO_KHR                                     = MEMORY_ALLOCATE_FLAGS_INFO,
-	DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR                            = DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
-	DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR                         = DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
-	DEVICE_GROUP_SUBMIT_INFO_KHR                                       = DEVICE_GROUP_SUBMIT_INFO,
-	DEVICE_GROUP_BIND_SPARSE_INFO_KHR                                  = DEVICE_GROUP_BIND_SPARSE_INFO,
-	BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR                           = BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
-	BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR                            = BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
-	PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT          = PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
-	PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR                               = PHYSICAL_DEVICE_GROUP_PROPERTIES,
-	DEVICE_GROUP_DEVICE_CREATE_INFO_KHR                                = DEVICE_GROUP_DEVICE_CREATE_INFO,
-	PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR                     = PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
-	EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR                               = EXTERNAL_IMAGE_FORMAT_PROPERTIES,
-	PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR                           = PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
-	EXTERNAL_BUFFER_PROPERTIES_KHR                                     = EXTERNAL_BUFFER_PROPERTIES,
-	PHYSICAL_DEVICE_ID_PROPERTIES_KHR                                  = PHYSICAL_DEVICE_ID_PROPERTIES,
-	EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR                             = EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
-	EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR                              = EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
-	EXPORT_MEMORY_ALLOCATE_INFO_KHR                                    = EXPORT_MEMORY_ALLOCATE_INFO,
-	PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR                        = PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
-	EXTERNAL_SEMAPHORE_PROPERTIES_KHR                                  = EXTERNAL_SEMAPHORE_PROPERTIES,
-	EXPORT_SEMAPHORE_CREATE_INFO_KHR                                   = EXPORT_SEMAPHORE_CREATE_INFO,
-	PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR                   = PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
-	PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR                          = PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
-	PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR                         = PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
-	DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR                         = DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
-	SURFACE_CAPABILITIES2_EXT                                          = SURFACE_CAPABILITIES_2_EXT,
-	PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR                 = PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
-	FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR                            = FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
-	FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR                              = FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
-	RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR                              = RENDER_PASS_ATTACHMENT_BEGIN_INFO,
-	ATTACHMENT_DESCRIPTION_2_KHR                                       = ATTACHMENT_DESCRIPTION_2,
-	ATTACHMENT_REFERENCE_2_KHR                                         = ATTACHMENT_REFERENCE_2,
-	SUBPASS_DESCRIPTION_2_KHR                                          = SUBPASS_DESCRIPTION_2,
-	SUBPASS_DEPENDENCY_2_KHR                                           = SUBPASS_DEPENDENCY_2,
-	RENDER_PASS_CREATE_INFO_2_KHR                                      = RENDER_PASS_CREATE_INFO_2,
-	SUBPASS_BEGIN_INFO_KHR                                             = SUBPASS_BEGIN_INFO,
-	SUBPASS_END_INFO_KHR                                               = SUBPASS_END_INFO,
-	PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR                            = PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
-	EXTERNAL_FENCE_PROPERTIES_KHR                                      = EXTERNAL_FENCE_PROPERTIES,
-	EXPORT_FENCE_CREATE_INFO_KHR                                       = EXPORT_FENCE_CREATE_INFO,
-	PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR                      = PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
-	RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR                = RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
-	IMAGE_VIEW_USAGE_CREATE_INFO_KHR                                   = IMAGE_VIEW_USAGE_CREATE_INFO,
-	PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR          = PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
-	PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR                     = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
-	PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR                      = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
-	MEMORY_DEDICATED_REQUIREMENTS_KHR                                  = MEMORY_DEDICATED_REQUIREMENTS,
-	MEMORY_DEDICATED_ALLOCATE_INFO_KHR                                 = MEMORY_DEDICATED_ALLOCATE_INFO,
-	PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT               = PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
-	SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT                             = SAMPLER_REDUCTION_MODE_CREATE_INFO,
-	PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT                  = PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
-	PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT                = PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
-	WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT                      = WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
-	DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT               = DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
-	BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR                              = BUFFER_MEMORY_REQUIREMENTS_INFO_2,
-	IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR                               = IMAGE_MEMORY_REQUIREMENTS_INFO_2,
-	IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR                        = IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
-	MEMORY_REQUIREMENTS_2_KHR                                          = MEMORY_REQUIREMENTS_2,
-	SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR                             = SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
-	IMAGE_FORMAT_LIST_CREATE_INFO_KHR                                  = IMAGE_FORMAT_LIST_CREATE_INFO,
-	SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR                           = SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
-	SAMPLER_YCBCR_CONVERSION_INFO_KHR                                  = SAMPLER_YCBCR_CONVERSION_INFO,
-	BIND_IMAGE_PLANE_MEMORY_INFO_KHR                                   = BIND_IMAGE_PLANE_MEMORY_INFO,
-	IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR                           = IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
-	PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR              = PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
-	SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR               = SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
-	BIND_BUFFER_MEMORY_INFO_KHR                                        = BIND_BUFFER_MEMORY_INFO,
-	BIND_IMAGE_MEMORY_INFO_KHR                                         = BIND_IMAGE_MEMORY_INFO,
-	DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT                = DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
-	PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT                   = PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
-	PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT                 = PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
-	DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT         = DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
-	DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT        = DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
-	PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR                       = PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
-	DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR                                  = DESCRIPTOR_SET_LAYOUT_SUPPORT,
-	DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT                       = DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
-	PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR        = PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
-	PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR                          = PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
-	PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR                   = PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
-	PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT                         = PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
-	PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR                              = PHYSICAL_DEVICE_DRIVER_PROPERTIES,
-	PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR                      = PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
-	PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR               = PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
-	SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR                      = SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
-	PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR                    = PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
-	PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR                  = PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
-	SEMAPHORE_TYPE_CREATE_INFO_KHR                                     = SEMAPHORE_TYPE_CREATE_INFO,
-	TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR                                 = TIMELINE_SEMAPHORE_SUBMIT_INFO,
-	SEMAPHORE_WAIT_INFO_KHR                                            = SEMAPHORE_WAIT_INFO,
-	SEMAPHORE_SIGNAL_INFO_KHR                                          = SEMAPHORE_SIGNAL_INFO,
-	QUERY_POOL_CREATE_INFO_INTEL                                       = QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
-	PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR                   = PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
-	PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR           = PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
-	PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT                   = PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
-	PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT               = PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
-	PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT       = PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
-	PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT                 = PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
-	PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR        = PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
-	ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR                            = ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
-	ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR                          = ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
-	PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT                        = PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
-	BUFFER_DEVICE_ADDRESS_INFO_EXT                                     = BUFFER_DEVICE_ADDRESS_INFO,
-	PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT                                = PHYSICAL_DEVICE_TOOL_PROPERTIES,
-	IMAGE_STENCIL_USAGE_CREATE_INFO_EXT                                = IMAGE_STENCIL_USAGE_CREATE_INFO,
-	PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR        = PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
-	PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR                 = PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
-	BUFFER_DEVICE_ADDRESS_INFO_KHR                                     = BUFFER_DEVICE_ADDRESS_INFO,
-	BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR                      = BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
-	MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR                    = MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
-	DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR                      = DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
-	PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT                      = PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
-	PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT    = PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
-	PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR            = PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
-	PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR          = PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
-	PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT              = PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
-	PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT                          = PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
-	DEVICE_PRIVATE_DATA_CREATE_INFO_EXT                                = DEVICE_PRIVATE_DATA_CREATE_INFO,
-	PRIVATE_DATA_SLOT_CREATE_INFO_EXT                                  = PRIVATE_DATA_SLOT_CREATE_INFO,
-	PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT       = PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
-	MEMORY_BARRIER_2_KHR                                               = MEMORY_BARRIER_2,
-	BUFFER_MEMORY_BARRIER_2_KHR                                        = BUFFER_MEMORY_BARRIER_2,
-	IMAGE_MEMORY_BARRIER_2_KHR                                         = IMAGE_MEMORY_BARRIER_2,
-	DEPENDENCY_INFO_KHR                                                = DEPENDENCY_INFO,
-	SUBMIT_INFO_2_KHR                                                  = SUBMIT_INFO_2,
-	SEMAPHORE_SUBMIT_INFO_KHR                                          = SEMAPHORE_SUBMIT_INFO,
-	COMMAND_BUFFER_SUBMIT_INFO_KHR                                     = COMMAND_BUFFER_SUBMIT_INFO,
-	PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR                     = PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
-	PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR      = PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
-	PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT                      = PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
-	COPY_BUFFER_INFO_2_KHR                                             = COPY_BUFFER_INFO_2,
-	COPY_IMAGE_INFO_2_KHR                                              = COPY_IMAGE_INFO_2,
-	COPY_BUFFER_TO_IMAGE_INFO_2_KHR                                    = COPY_BUFFER_TO_IMAGE_INFO_2,
-	COPY_IMAGE_TO_BUFFER_INFO_2_KHR                                    = COPY_IMAGE_TO_BUFFER_INFO_2,
-	BLIT_IMAGE_INFO_2_KHR                                              = BLIT_IMAGE_INFO_2,
-	RESOLVE_IMAGE_INFO_2_KHR                                           = RESOLVE_IMAGE_INFO_2,
-	BUFFER_COPY_2_KHR                                                  = BUFFER_COPY_2,
-	IMAGE_COPY_2_KHR                                                   = IMAGE_COPY_2,
-	IMAGE_BLIT_2_KHR                                                   = IMAGE_BLIT_2,
-	BUFFER_IMAGE_COPY_2_KHR                                            = BUFFER_IMAGE_COPY_2,
-	IMAGE_RESOLVE_2_KHR                                                = IMAGE_RESOLVE_2,
-	FORMAT_PROPERTIES_3_KHR                                            = FORMAT_PROPERTIES_3,
-	PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT                 = PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
-	QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT                        = QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
-	PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR                         = PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
-	PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR                       = PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
-	DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR                              = DEVICE_BUFFER_MEMORY_REQUIREMENTS,
-	DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR                               = DEVICE_IMAGE_MEMORY_REQUIREMENTS,
-}
-
-SubgroupFeatureFlags :: distinct bit_set[SubgroupFeatureFlag; Flags]
-SubgroupFeatureFlag :: enum Flags {
-	BASIC            = 0,
-	VOTE             = 1,
-	ARITHMETIC       = 2,
-	BALLOT           = 3,
-	SHUFFLE          = 4,
-	SHUFFLE_RELATIVE = 5,
-	CLUSTERED        = 6,
-	QUAD             = 7,
-	PARTITIONED_NV   = 8,
-}
-
-SubmitFlags :: distinct bit_set[SubmitFlag; Flags]
-SubmitFlag :: enum Flags {
-	PROTECTED     = 0,
-	PROTECTED_KHR = PROTECTED,
-}
-
-SubpassContents :: enum c.int {
-	INLINE                    = 0,
-	SECONDARY_COMMAND_BUFFERS = 1,
-}
-
-SubpassDescriptionFlags :: distinct bit_set[SubpassDescriptionFlag; Flags]
-SubpassDescriptionFlag :: enum Flags {
-	PER_VIEW_ATTRIBUTES_NVX                           = 0,
-	PER_VIEW_POSITION_X_ONLY_NVX                      = 1,
-	FRAGMENT_REGION_QCOM                              = 2,
-	SHADER_RESOLVE_QCOM                               = 3,
-	RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_ARM   = 4,
-	RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM   = 5,
-	RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM = 6,
-}
-
-SurfaceCounterFlagsEXT :: distinct bit_set[SurfaceCounterFlagEXT; Flags]
-SurfaceCounterFlagEXT :: enum Flags {
-	VBLANK = 0,
-}
-
-SurfaceTransformFlagsKHR :: distinct bit_set[SurfaceTransformFlagKHR; Flags]
-SurfaceTransformFlagKHR :: enum Flags {
-	IDENTITY                     = 0,
-	ROTATE_90                    = 1,
-	ROTATE_180                   = 2,
-	ROTATE_270                   = 3,
-	HORIZONTAL_MIRROR            = 4,
-	HORIZONTAL_MIRROR_ROTATE_90  = 5,
-	HORIZONTAL_MIRROR_ROTATE_180 = 6,
-	HORIZONTAL_MIRROR_ROTATE_270 = 7,
-	INHERIT                      = 8,
-}
-
-SwapchainCreateFlagsKHR :: distinct bit_set[SwapchainCreateFlagKHR; Flags]
-SwapchainCreateFlagKHR :: enum Flags {
-	SPLIT_INSTANCE_BIND_REGIONS = 0,
-	PROTECTED                   = 1,
-	MUTABLE_FORMAT              = 2,
-}
-
-SystemAllocationScope :: enum c.int {
-	COMMAND  = 0,
-	OBJECT   = 1,
-	CACHE    = 2,
-	DEVICE   = 3,
-	INSTANCE = 4,
-}
-
-TessellationDomainOrigin :: enum c.int {
-	UPPER_LEFT     = 0,
-	LOWER_LEFT     = 1,
-	UPPER_LEFT_KHR = UPPER_LEFT,
-	LOWER_LEFT_KHR = LOWER_LEFT,
-}
-
-TimeDomainEXT :: enum c.int {
-	DEVICE                    = 0,
-	CLOCK_MONOTONIC           = 1,
-	CLOCK_MONOTONIC_RAW       = 2,
-	QUERY_PERFORMANCE_COUNTER = 3,
-}
-
-ToolPurposeFlags :: distinct bit_set[ToolPurposeFlag; Flags]
-ToolPurposeFlag :: enum Flags {
-	VALIDATION              = 0,
-	PROFILING               = 1,
-	TRACING                 = 2,
-	ADDITIONAL_FEATURES     = 3,
-	MODIFYING_FEATURES      = 4,
-	DEBUG_REPORTING_EXT     = 5,
-	DEBUG_MARKERS_EXT       = 6,
-	VALIDATION_EXT          = VALIDATION,
-	PROFILING_EXT           = PROFILING,
-	TRACING_EXT             = TRACING,
-	ADDITIONAL_FEATURES_EXT = ADDITIONAL_FEATURES,
-	MODIFYING_FEATURES_EXT  = MODIFYING_FEATURES,
-}
-
-ValidationCacheHeaderVersionEXT :: enum c.int {
-	ONE = 1,
-}
-
-ValidationCheckEXT :: enum c.int {
-	ALL     = 0,
-	SHADERS = 1,
-}
-
-ValidationFeatureDisableEXT :: enum c.int {
-	ALL                     = 0,
-	SHADERS                 = 1,
-	THREAD_SAFETY           = 2,
-	API_PARAMETERS          = 3,
-	OBJECT_LIFETIMES        = 4,
-	CORE_CHECKS             = 5,
-	UNIQUE_HANDLES          = 6,
-	SHADER_VALIDATION_CACHE = 7,
-}
-
-ValidationFeatureEnableEXT :: enum c.int {
-	GPU_ASSISTED                      = 0,
-	GPU_ASSISTED_RESERVE_BINDING_SLOT = 1,
-	BEST_PRACTICES                    = 2,
-	DEBUG_PRINTF                      = 3,
-	SYNCHRONIZATION_VALIDATION        = 4,
-}
-
-VendorId :: enum c.int {
-	VIV      = 0x10001,
-	VSI      = 0x10002,
-	KAZAN    = 0x10003,
-	CODEPLAY = 0x10004,
-	MESA     = 0x10005,
-	POCL     = 0x10006,
-}
-
-VertexInputRate :: enum c.int {
-	VERTEX   = 0,
-	INSTANCE = 1,
-}
-
-ViewportCoordinateSwizzleNV :: enum c.int {
-	POSITIVE_X = 0,
-	NEGATIVE_X = 1,
-	POSITIVE_Y = 2,
-	NEGATIVE_Y = 3,
-	POSITIVE_Z = 4,
-	NEGATIVE_Z = 5,
-	POSITIVE_W = 6,
-	NEGATIVE_W = 7,
-}
-
-AccelerationStructureMotionInfoFlagsNV               :: distinct bit_set[AccelerationStructureMotionInfoFlagNV; Flags]
-AccelerationStructureMotionInfoFlagNV                :: enum u32 {}
-AccelerationStructureMotionInstanceFlagsNV           :: distinct bit_set[AccelerationStructureMotionInstanceFlagNV; Flags]
-AccelerationStructureMotionInstanceFlagNV            :: enum u32 {}
-BufferViewCreateFlags                                :: distinct bit_set[BufferViewCreateFlag; Flags]
-BufferViewCreateFlag                                 :: enum u32 {}
-CommandPoolTrimFlags                                 :: distinct bit_set[CommandPoolTrimFlag; Flags]
-CommandPoolTrimFlag                                  :: enum u32 {}
-DebugUtilsMessengerCallbackDataFlagsEXT              :: distinct bit_set[DebugUtilsMessengerCallbackDataFlagEXT; Flags]
-DebugUtilsMessengerCallbackDataFlagEXT               :: enum u32 {}
-DebugUtilsMessengerCreateFlagsEXT                    :: distinct bit_set[DebugUtilsMessengerCreateFlagEXT; Flags]
-DebugUtilsMessengerCreateFlagEXT                     :: enum u32 {}
-DescriptorPoolResetFlags                             :: distinct bit_set[DescriptorPoolResetFlag; Flags]
-DescriptorPoolResetFlag                              :: enum u32 {}
-DescriptorUpdateTemplateCreateFlags                  :: distinct bit_set[DescriptorUpdateTemplateCreateFlag; Flags]
-DescriptorUpdateTemplateCreateFlag                   :: enum u32 {}
-DeviceCreateFlags                                    :: distinct bit_set[DeviceCreateFlag; Flags]
-DeviceCreateFlag                                     :: enum u32 {}
-DeviceMemoryReportFlagsEXT                           :: distinct bit_set[DeviceMemoryReportFlagEXT; Flags]
-DeviceMemoryReportFlagEXT                            :: enum u32 {}
-DisplayModeCreateFlagsKHR                            :: distinct bit_set[DisplayModeCreateFlagKHR; Flags]
-DisplayModeCreateFlagKHR                             :: enum u32 {}
-DisplaySurfaceCreateFlagsKHR                         :: distinct bit_set[DisplaySurfaceCreateFlagKHR; Flags]
-DisplaySurfaceCreateFlagKHR                          :: enum u32 {}
-HeadlessSurfaceCreateFlagsEXT                        :: distinct bit_set[HeadlessSurfaceCreateFlagEXT; Flags]
-HeadlessSurfaceCreateFlagEXT                         :: enum u32 {}
-IOSSurfaceCreateFlagsMVK                             :: distinct bit_set[IOSSurfaceCreateFlagMVK; Flags]
-IOSSurfaceCreateFlagMVK                              :: enum u32 {}
-MacOSSurfaceCreateFlagsMVK                           :: distinct bit_set[MacOSSurfaceCreateFlagMVK; Flags]
-MacOSSurfaceCreateFlagMVK                            :: enum u32 {}
-MemoryMapFlags                                       :: distinct bit_set[MemoryMapFlag; Flags]
-MemoryMapFlag                                        :: enum u32 {}
-MetalSurfaceCreateFlagsEXT                           :: distinct bit_set[MetalSurfaceCreateFlagEXT; Flags]
-MetalSurfaceCreateFlagEXT                            :: enum u32 {}
-PipelineCoverageModulationStateCreateFlagsNV         :: distinct bit_set[PipelineCoverageModulationStateCreateFlagNV; Flags]
-PipelineCoverageModulationStateCreateFlagNV          :: enum u32 {}
-PipelineCoverageReductionStateCreateFlagsNV          :: distinct bit_set[PipelineCoverageReductionStateCreateFlagNV; Flags]
-PipelineCoverageReductionStateCreateFlagNV           :: enum u32 {}
-PipelineCoverageToColorStateCreateFlagsNV            :: distinct bit_set[PipelineCoverageToColorStateCreateFlagNV; Flags]
-PipelineCoverageToColorStateCreateFlagNV             :: enum u32 {}
-PipelineDiscardRectangleStateCreateFlagsEXT          :: distinct bit_set[PipelineDiscardRectangleStateCreateFlagEXT; Flags]
-PipelineDiscardRectangleStateCreateFlagEXT           :: enum u32 {}
-PipelineDynamicStateCreateFlags                      :: distinct bit_set[PipelineDynamicStateCreateFlag; Flags]
-PipelineDynamicStateCreateFlag                       :: enum u32 {}
-PipelineInputAssemblyStateCreateFlags                :: distinct bit_set[PipelineInputAssemblyStateCreateFlag; Flags]
-PipelineInputAssemblyStateCreateFlag                 :: enum u32 {}
-PipelineMultisampleStateCreateFlags                  :: distinct bit_set[PipelineMultisampleStateCreateFlag; Flags]
-PipelineMultisampleStateCreateFlag                   :: enum u32 {}
-PipelineRasterizationConservativeStateCreateFlagsEXT :: distinct bit_set[PipelineRasterizationConservativeStateCreateFlagEXT; Flags]
-PipelineRasterizationConservativeStateCreateFlagEXT  :: enum u32 {}
-PipelineRasterizationDepthClipStateCreateFlagsEXT    :: distinct bit_set[PipelineRasterizationDepthClipStateCreateFlagEXT; Flags]
-PipelineRasterizationDepthClipStateCreateFlagEXT     :: enum u32 {}
-PipelineRasterizationStateCreateFlags                :: distinct bit_set[PipelineRasterizationStateCreateFlag; Flags]
-PipelineRasterizationStateCreateFlag                 :: enum u32 {}
-PipelineRasterizationStateStreamCreateFlagsEXT       :: distinct bit_set[PipelineRasterizationStateStreamCreateFlagEXT; Flags]
-PipelineRasterizationStateStreamCreateFlagEXT        :: enum u32 {}
-PipelineTessellationStateCreateFlags                 :: distinct bit_set[PipelineTessellationStateCreateFlag; Flags]
-PipelineTessellationStateCreateFlag                  :: enum u32 {}
-PipelineVertexInputStateCreateFlags                  :: distinct bit_set[PipelineVertexInputStateCreateFlag; Flags]
-PipelineVertexInputStateCreateFlag                   :: enum u32 {}
-PipelineViewportStateCreateFlags                     :: distinct bit_set[PipelineViewportStateCreateFlag; Flags]
-PipelineViewportStateCreateFlag                      :: enum u32 {}
-PipelineViewportSwizzleStateCreateFlagsNV            :: distinct bit_set[PipelineViewportSwizzleStateCreateFlagNV; Flags]
-PipelineViewportSwizzleStateCreateFlagNV             :: enum u32 {}
-PrivateDataSlotCreateFlags                           :: distinct bit_set[PrivateDataSlotCreateFlag; Flags]
-PrivateDataSlotCreateFlag                            :: enum u32 {}
-QueryPoolCreateFlags                                 :: distinct bit_set[QueryPoolCreateFlag; Flags]
-QueryPoolCreateFlag                                  :: enum u32 {}
-SemaphoreCreateFlags                                 :: distinct bit_set[SemaphoreCreateFlag; Flags]
-SemaphoreCreateFlag                                  :: enum u32 {}
-ShaderModuleCreateFlags                              :: distinct bit_set[ShaderModuleCreateFlag; Flags]
-ShaderModuleCreateFlag                               :: enum u32 {}
-ValidationCacheCreateFlagsEXT                        :: distinct bit_set[ValidationCacheCreateFlagEXT; Flags]
-ValidationCacheCreateFlagEXT                         :: enum u32 {}
-WaylandSurfaceCreateFlagsKHR                         :: distinct bit_set[WaylandSurfaceCreateFlagKHR; Flags]
-WaylandSurfaceCreateFlagKHR                          :: enum u32 {}
-Win32SurfaceCreateFlagsKHR                           :: distinct bit_set[Win32SurfaceCreateFlagKHR; Flags]
-Win32SurfaceCreateFlagKHR                            :: enum u32 {}
-
-
+//
+// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
+//
+package vulkan
+
+import "core:c"
+
+// Enums
+AccelerationStructureBuildTypeKHR :: enum c.int {
+	HOST           = 0,
+	DEVICE         = 1,
+	HOST_OR_DEVICE = 2,
+}
+
+AccelerationStructureCompatibilityKHR :: enum c.int {
+	COMPATIBLE   = 0,
+	INCOMPATIBLE = 1,
+}
+
+AccelerationStructureCreateFlagsKHR :: distinct bit_set[AccelerationStructureCreateFlagKHR; Flags]
+AccelerationStructureCreateFlagKHR :: enum Flags {
+	DEVICE_ADDRESS_CAPTURE_REPLAY = 0,
+	MOTION_NV                     = 2,
+}
+
+AccelerationStructureMemoryRequirementsTypeNV :: enum c.int {
+	OBJECT         = 0,
+	BUILD_SCRATCH  = 1,
+	UPDATE_SCRATCH = 2,
+}
+
+AccelerationStructureMotionInstanceTypeNV :: enum c.int {
+	STATIC        = 0,
+	MATRIX_MOTION = 1,
+	SRT_MOTION    = 2,
+}
+
+AccelerationStructureTypeKHR :: enum c.int {
+	TOP_LEVEL       = 0,
+	BOTTOM_LEVEL    = 1,
+	GENERIC         = 2,
+	TOP_LEVEL_NV    = TOP_LEVEL,
+	BOTTOM_LEVEL_NV = BOTTOM_LEVEL,
+}
+
+AccessFlags :: distinct bit_set[AccessFlag; Flags]
+AccessFlag :: enum Flags {
+	INDIRECT_COMMAND_READ                     = 0,
+	INDEX_READ                                = 1,
+	VERTEX_ATTRIBUTE_READ                     = 2,
+	UNIFORM_READ                              = 3,
+	INPUT_ATTACHMENT_READ                     = 4,
+	SHADER_READ                               = 5,
+	SHADER_WRITE                              = 6,
+	COLOR_ATTACHMENT_READ                     = 7,
+	COLOR_ATTACHMENT_WRITE                    = 8,
+	DEPTH_STENCIL_ATTACHMENT_READ             = 9,
+	DEPTH_STENCIL_ATTACHMENT_WRITE            = 10,
+	TRANSFER_READ                             = 11,
+	TRANSFER_WRITE                            = 12,
+	HOST_READ                                 = 13,
+	HOST_WRITE                                = 14,
+	MEMORY_READ                               = 15,
+	MEMORY_WRITE                              = 16,
+	TRANSFORM_FEEDBACK_WRITE_EXT              = 25,
+	TRANSFORM_FEEDBACK_COUNTER_READ_EXT       = 26,
+	TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT      = 27,
+	CONDITIONAL_RENDERING_READ_EXT            = 20,
+	COLOR_ATTACHMENT_READ_NONCOHERENT_EXT     = 19,
+	ACCELERATION_STRUCTURE_READ_KHR           = 21,
+	ACCELERATION_STRUCTURE_WRITE_KHR          = 22,
+	FRAGMENT_DENSITY_MAP_READ_EXT             = 24,
+	FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR = 23,
+	COMMAND_PREPROCESS_READ_NV                = 17,
+	COMMAND_PREPROCESS_WRITE_NV               = 18,
+	SHADING_RATE_IMAGE_READ_NV                = FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR,
+	ACCELERATION_STRUCTURE_READ_NV            = ACCELERATION_STRUCTURE_READ_KHR,
+	ACCELERATION_STRUCTURE_WRITE_NV           = ACCELERATION_STRUCTURE_WRITE_KHR,
+}
+
+AccessFlags_NONE :: AccessFlags{}
+
+
+AcquireProfilingLockFlagsKHR :: distinct bit_set[AcquireProfilingLockFlagKHR; Flags]
+AcquireProfilingLockFlagKHR :: enum Flags {
+}
+
+AttachmentDescriptionFlags :: distinct bit_set[AttachmentDescriptionFlag; Flags]
+AttachmentDescriptionFlag :: enum Flags {
+	MAY_ALIAS = 0,
+}
+
+AttachmentLoadOp :: enum c.int {
+	LOAD      = 0,
+	CLEAR     = 1,
+	DONT_CARE = 2,
+	NONE_EXT  = 1000400000,
+}
+
+AttachmentStoreOp :: enum c.int {
+	STORE     = 0,
+	DONT_CARE = 1,
+	NONE      = 1000301000,
+}
+
+BlendFactor :: enum c.int {
+	ZERO                     = 0,
+	ONE                      = 1,
+	SRC_COLOR                = 2,
+	ONE_MINUS_SRC_COLOR      = 3,
+	DST_COLOR                = 4,
+	ONE_MINUS_DST_COLOR      = 5,
+	SRC_ALPHA                = 6,
+	ONE_MINUS_SRC_ALPHA      = 7,
+	DST_ALPHA                = 8,
+	ONE_MINUS_DST_ALPHA      = 9,
+	CONSTANT_COLOR           = 10,
+	ONE_MINUS_CONSTANT_COLOR = 11,
+	CONSTANT_ALPHA           = 12,
+	ONE_MINUS_CONSTANT_ALPHA = 13,
+	SRC_ALPHA_SATURATE       = 14,
+	SRC1_COLOR               = 15,
+	ONE_MINUS_SRC1_COLOR     = 16,
+	SRC1_ALPHA               = 17,
+	ONE_MINUS_SRC1_ALPHA     = 18,
+}
+
+BlendOp :: enum c.int {
+	ADD                    = 0,
+	SUBTRACT               = 1,
+	REVERSE_SUBTRACT       = 2,
+	MIN                    = 3,
+	MAX                    = 4,
+	ZERO_EXT               = 1000148000,
+	SRC_EXT                = 1000148001,
+	DST_EXT                = 1000148002,
+	SRC_OVER_EXT           = 1000148003,
+	DST_OVER_EXT           = 1000148004,
+	SRC_IN_EXT             = 1000148005,
+	DST_IN_EXT             = 1000148006,
+	SRC_OUT_EXT            = 1000148007,
+	DST_OUT_EXT            = 1000148008,
+	SRC_ATOP_EXT           = 1000148009,
+	DST_ATOP_EXT           = 1000148010,
+	XOR_EXT                = 1000148011,
+	MULTIPLY_EXT           = 1000148012,
+	SCREEN_EXT             = 1000148013,
+	OVERLAY_EXT            = 1000148014,
+	DARKEN_EXT             = 1000148015,
+	LIGHTEN_EXT            = 1000148016,
+	COLORDODGE_EXT         = 1000148017,
+	COLORBURN_EXT          = 1000148018,
+	HARDLIGHT_EXT          = 1000148019,
+	SOFTLIGHT_EXT          = 1000148020,
+	DIFFERENCE_EXT         = 1000148021,
+	EXCLUSION_EXT          = 1000148022,
+	INVERT_EXT             = 1000148023,
+	INVERT_RGB_EXT         = 1000148024,
+	LINEARDODGE_EXT        = 1000148025,
+	LINEARBURN_EXT         = 1000148026,
+	VIVIDLIGHT_EXT         = 1000148027,
+	LINEARLIGHT_EXT        = 1000148028,
+	PINLIGHT_EXT           = 1000148029,
+	HARDMIX_EXT            = 1000148030,
+	HSL_HUE_EXT            = 1000148031,
+	HSL_SATURATION_EXT     = 1000148032,
+	HSL_COLOR_EXT          = 1000148033,
+	HSL_LUMINOSITY_EXT     = 1000148034,
+	PLUS_EXT               = 1000148035,
+	PLUS_CLAMPED_EXT       = 1000148036,
+	PLUS_CLAMPED_ALPHA_EXT = 1000148037,
+	PLUS_DARKER_EXT        = 1000148038,
+	MINUS_EXT              = 1000148039,
+	MINUS_CLAMPED_EXT      = 1000148040,
+	CONTRAST_EXT           = 1000148041,
+	INVERT_OVG_EXT         = 1000148042,
+	RED_EXT                = 1000148043,
+	GREEN_EXT              = 1000148044,
+	BLUE_EXT               = 1000148045,
+}
+
+BlendOverlapEXT :: enum c.int {
+	UNCORRELATED = 0,
+	DISJOINT     = 1,
+	CONJOINT     = 2,
+}
+
+BorderColor :: enum c.int {
+	FLOAT_TRANSPARENT_BLACK = 0,
+	INT_TRANSPARENT_BLACK   = 1,
+	FLOAT_OPAQUE_BLACK      = 2,
+	INT_OPAQUE_BLACK        = 3,
+	FLOAT_OPAQUE_WHITE      = 4,
+	INT_OPAQUE_WHITE        = 5,
+	FLOAT_CUSTOM_EXT        = 1000287003,
+	INT_CUSTOM_EXT          = 1000287004,
+}
+
+BufferCreateFlags :: distinct bit_set[BufferCreateFlag; Flags]
+BufferCreateFlag :: enum Flags {
+	SPARSE_BINDING                    = 0,
+	SPARSE_RESIDENCY                  = 1,
+	SPARSE_ALIASED                    = 2,
+	PROTECTED                         = 3,
+	DEVICE_ADDRESS_CAPTURE_REPLAY     = 4,
+	DEVICE_ADDRESS_CAPTURE_REPLAY_EXT = DEVICE_ADDRESS_CAPTURE_REPLAY,
+	DEVICE_ADDRESS_CAPTURE_REPLAY_KHR = DEVICE_ADDRESS_CAPTURE_REPLAY,
+}
+
+BufferUsageFlags :: distinct bit_set[BufferUsageFlag; Flags]
+BufferUsageFlag :: enum Flags {
+	TRANSFER_SRC                                     = 0,
+	TRANSFER_DST                                     = 1,
+	UNIFORM_TEXEL_BUFFER                             = 2,
+	STORAGE_TEXEL_BUFFER                             = 3,
+	UNIFORM_BUFFER                                   = 4,
+	STORAGE_BUFFER                                   = 5,
+	INDEX_BUFFER                                     = 6,
+	VERTEX_BUFFER                                    = 7,
+	INDIRECT_BUFFER                                  = 8,
+	SHADER_DEVICE_ADDRESS                            = 17,
+	VIDEO_DECODE_SRC_KHR                             = 13,
+	VIDEO_DECODE_DST_KHR                             = 14,
+	TRANSFORM_FEEDBACK_BUFFER_EXT                    = 11,
+	TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT            = 12,
+	CONDITIONAL_RENDERING_EXT                        = 9,
+	ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_KHR = 19,
+	ACCELERATION_STRUCTURE_STORAGE_KHR               = 20,
+	SHADER_BINDING_TABLE_KHR                         = 10,
+	VIDEO_ENCODE_DST_KHR                             = 15,
+	VIDEO_ENCODE_SRC_KHR                             = 16,
+	RAY_TRACING_NV                                   = SHADER_BINDING_TABLE_KHR,
+	SHADER_DEVICE_ADDRESS_EXT                        = SHADER_DEVICE_ADDRESS,
+	SHADER_DEVICE_ADDRESS_KHR                        = SHADER_DEVICE_ADDRESS,
+}
+
+BuildAccelerationStructureFlagsKHR :: distinct bit_set[BuildAccelerationStructureFlagKHR; Flags]
+BuildAccelerationStructureFlagKHR :: enum Flags {
+	ALLOW_UPDATE         = 0,
+	ALLOW_COMPACTION     = 1,
+	PREFER_FAST_TRACE    = 2,
+	PREFER_FAST_BUILD    = 3,
+	LOW_MEMORY           = 4,
+	MOTION_NV            = 5,
+	ALLOW_UPDATE_NV      = ALLOW_UPDATE,
+	ALLOW_COMPACTION_NV  = ALLOW_COMPACTION,
+	PREFER_FAST_TRACE_NV = PREFER_FAST_TRACE,
+	PREFER_FAST_BUILD_NV = PREFER_FAST_BUILD,
+	LOW_MEMORY_NV        = LOW_MEMORY,
+}
+
+BuildAccelerationStructureModeKHR :: enum c.int {
+	BUILD  = 0,
+	UPDATE = 1,
+}
+
+ChromaLocation :: enum c.int {
+	COSITED_EVEN     = 0,
+	MIDPOINT         = 1,
+	COSITED_EVEN_KHR = COSITED_EVEN,
+	MIDPOINT_KHR     = MIDPOINT,
+}
+
+CoarseSampleOrderTypeNV :: enum c.int {
+	DEFAULT      = 0,
+	CUSTOM       = 1,
+	PIXEL_MAJOR  = 2,
+	SAMPLE_MAJOR = 3,
+}
+
+ColorComponentFlags :: distinct bit_set[ColorComponentFlag; Flags]
+ColorComponentFlag :: enum Flags {
+	R = 0,
+	G = 1,
+	B = 2,
+	A = 3,
+}
+
+ColorSpaceKHR :: enum c.int {
+	SRGB_NONLINEAR              = 0,
+	DISPLAY_P3_NONLINEAR_EXT    = 1000104001,
+	EXTENDED_SRGB_LINEAR_EXT    = 1000104002,
+	DISPLAY_P3_LINEAR_EXT       = 1000104003,
+	DCI_P3_NONLINEAR_EXT        = 1000104004,
+	BT709_LINEAR_EXT            = 1000104005,
+	BT709_NONLINEAR_EXT         = 1000104006,
+	BT2020_LINEAR_EXT           = 1000104007,
+	HDR10_ST2084_EXT            = 1000104008,
+	DOLBYVISION_EXT             = 1000104009,
+	HDR10_HLG_EXT               = 1000104010,
+	ADOBERGB_LINEAR_EXT         = 1000104011,
+	ADOBERGB_NONLINEAR_EXT      = 1000104012,
+	PASS_THROUGH_EXT            = 1000104013,
+	EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
+	DISPLAY_NATIVE_AMD          = 1000213000,
+	COLORSPACE_SRGB_NONLINEAR   = SRGB_NONLINEAR,
+	DCI_P3_LINEAR_EXT           = DISPLAY_P3_LINEAR_EXT,
+}
+
+CommandBufferLevel :: enum c.int {
+	PRIMARY   = 0,
+	SECONDARY = 1,
+}
+
+CommandBufferResetFlags :: distinct bit_set[CommandBufferResetFlag; Flags]
+CommandBufferResetFlag :: enum Flags {
+	RELEASE_RESOURCES = 0,
+}
+
+CommandBufferUsageFlags :: distinct bit_set[CommandBufferUsageFlag; Flags]
+CommandBufferUsageFlag :: enum Flags {
+	ONE_TIME_SUBMIT      = 0,
+	RENDER_PASS_CONTINUE = 1,
+	SIMULTANEOUS_USE     = 2,
+}
+
+CommandPoolCreateFlags :: distinct bit_set[CommandPoolCreateFlag; Flags]
+CommandPoolCreateFlag :: enum Flags {
+	TRANSIENT            = 0,
+	RESET_COMMAND_BUFFER = 1,
+	PROTECTED            = 2,
+}
+
+CommandPoolResetFlags :: distinct bit_set[CommandPoolResetFlag; Flags]
+CommandPoolResetFlag :: enum Flags {
+	RELEASE_RESOURCES = 0,
+}
+
+CompareOp :: enum c.int {
+	NEVER            = 0,
+	LESS             = 1,
+	EQUAL            = 2,
+	LESS_OR_EQUAL    = 3,
+	GREATER          = 4,
+	NOT_EQUAL        = 5,
+	GREATER_OR_EQUAL = 6,
+	ALWAYS           = 7,
+}
+
+ComponentSwizzle :: enum c.int {
+	IDENTITY = 0,
+	ZERO     = 1,
+	ONE      = 2,
+	R        = 3,
+	G        = 4,
+	B        = 5,
+	A        = 6,
+}
+
+ComponentTypeNV :: enum c.int {
+	FLOAT16 = 0,
+	FLOAT32 = 1,
+	FLOAT64 = 2,
+	SINT8   = 3,
+	SINT16  = 4,
+	SINT32  = 5,
+	SINT64  = 6,
+	UINT8   = 7,
+	UINT16  = 8,
+	UINT32  = 9,
+	UINT64  = 10,
+}
+
+CompositeAlphaFlagsKHR :: distinct bit_set[CompositeAlphaFlagKHR; Flags]
+CompositeAlphaFlagKHR :: enum Flags {
+	OPAQUE          = 0,
+	PRE_MULTIPLIED  = 1,
+	POST_MULTIPLIED = 2,
+	INHERIT         = 3,
+}
+
+ConditionalRenderingFlagsEXT :: distinct bit_set[ConditionalRenderingFlagEXT; Flags]
+ConditionalRenderingFlagEXT :: enum Flags {
+	INVERTED = 0,
+}
+
+ConservativeRasterizationModeEXT :: enum c.int {
+	DISABLED      = 0,
+	OVERESTIMATE  = 1,
+	UNDERESTIMATE = 2,
+}
+
+CopyAccelerationStructureModeKHR :: enum c.int {
+	CLONE       = 0,
+	COMPACT     = 1,
+	SERIALIZE   = 2,
+	DESERIALIZE = 3,
+	CLONE_NV    = CLONE,
+	COMPACT_NV  = COMPACT,
+}
+
+CoverageModulationModeNV :: enum c.int {
+	NONE  = 0,
+	RGB   = 1,
+	ALPHA = 2,
+	RGBA  = 3,
+}
+
+CoverageReductionModeNV :: enum c.int {
+	MERGE    = 0,
+	TRUNCATE = 1,
+}
+
+CullModeFlags :: distinct bit_set[CullModeFlag; Flags]
+CullModeFlag :: enum Flags {
+	FRONT = 0,
+	BACK  = 1,
+}
+
+CullModeFlags_NONE :: CullModeFlags{}
+CullModeFlags_FRONT_AND_BACK :: CullModeFlags{.FRONT, .BACK}
+
+
+DebugReportFlagsEXT :: distinct bit_set[DebugReportFlagEXT; Flags]
+DebugReportFlagEXT :: enum Flags {
+	INFORMATION         = 0,
+	WARNING             = 1,
+	PERFORMANCE_WARNING = 2,
+	ERROR               = 3,
+	DEBUG               = 4,
+}
+
+DebugReportObjectTypeEXT :: enum c.int {
+	UNKNOWN                        = 0,
+	INSTANCE                       = 1,
+	PHYSICAL_DEVICE                = 2,
+	DEVICE                         = 3,
+	QUEUE                          = 4,
+	SEMAPHORE                      = 5,
+	COMMAND_BUFFER                 = 6,
+	FENCE                          = 7,
+	DEVICE_MEMORY                  = 8,
+	BUFFER                         = 9,
+	IMAGE                          = 10,
+	EVENT                          = 11,
+	QUERY_POOL                     = 12,
+	BUFFER_VIEW                    = 13,
+	IMAGE_VIEW                     = 14,
+	SHADER_MODULE                  = 15,
+	PIPELINE_CACHE                 = 16,
+	PIPELINE_LAYOUT                = 17,
+	RENDER_PASS                    = 18,
+	PIPELINE                       = 19,
+	DESCRIPTOR_SET_LAYOUT          = 20,
+	SAMPLER                        = 21,
+	DESCRIPTOR_POOL                = 22,
+	DESCRIPTOR_SET                 = 23,
+	FRAMEBUFFER                    = 24,
+	COMMAND_POOL                   = 25,
+	SURFACE_KHR                    = 26,
+	SWAPCHAIN_KHR                  = 27,
+	DEBUG_REPORT_CALLBACK_EXT      = 28,
+	DISPLAY_KHR                    = 29,
+	DISPLAY_MODE_KHR               = 30,
+	VALIDATION_CACHE_EXT           = 33,
+	SAMPLER_YCBCR_CONVERSION       = 1000156000,
+	DESCRIPTOR_UPDATE_TEMPLATE     = 1000085000,
+	CU_MODULE_NVX                  = 1000029000,
+	CU_FUNCTION_NVX                = 1000029001,
+	ACCELERATION_STRUCTURE_KHR     = 1000150000,
+	ACCELERATION_STRUCTURE_NV      = 1000165000,
+	BUFFER_COLLECTION_FUCHSIA      = 1000366000,
+	DEBUG_REPORT                   = DEBUG_REPORT_CALLBACK_EXT,
+	VALIDATION_CACHE               = VALIDATION_CACHE_EXT,
+	DESCRIPTOR_UPDATE_TEMPLATE_KHR = DESCRIPTOR_UPDATE_TEMPLATE,
+	SAMPLER_YCBCR_CONVERSION_KHR   = SAMPLER_YCBCR_CONVERSION,
+}
+
+DebugUtilsMessageSeverityFlagsEXT :: distinct bit_set[DebugUtilsMessageSeverityFlagEXT; Flags]
+DebugUtilsMessageSeverityFlagEXT :: enum Flags {
+	VERBOSE = 0,
+	INFO    = 4,
+	WARNING = 8,
+	ERROR   = 12,
+}
+
+DebugUtilsMessageTypeFlagsEXT :: distinct bit_set[DebugUtilsMessageTypeFlagEXT; Flags]
+DebugUtilsMessageTypeFlagEXT :: enum Flags {
+	GENERAL     = 0,
+	VALIDATION  = 1,
+	PERFORMANCE = 2,
+}
+
+DependencyFlags :: distinct bit_set[DependencyFlag; Flags]
+DependencyFlag :: enum Flags {
+	BY_REGION        = 0,
+	DEVICE_GROUP     = 2,
+	VIEW_LOCAL       = 1,
+	VIEW_LOCAL_KHR   = VIEW_LOCAL,
+	DEVICE_GROUP_KHR = DEVICE_GROUP,
+}
+
+DescriptorBindingFlags :: distinct bit_set[DescriptorBindingFlag; Flags]
+DescriptorBindingFlag :: enum Flags {
+	UPDATE_AFTER_BIND               = 0,
+	UPDATE_UNUSED_WHILE_PENDING     = 1,
+	PARTIALLY_BOUND                 = 2,
+	VARIABLE_DESCRIPTOR_COUNT       = 3,
+	UPDATE_AFTER_BIND_EXT           = UPDATE_AFTER_BIND,
+	UPDATE_UNUSED_WHILE_PENDING_EXT = UPDATE_UNUSED_WHILE_PENDING,
+	PARTIALLY_BOUND_EXT             = PARTIALLY_BOUND,
+	VARIABLE_DESCRIPTOR_COUNT_EXT   = VARIABLE_DESCRIPTOR_COUNT,
+}
+
+DescriptorPoolCreateFlags :: distinct bit_set[DescriptorPoolCreateFlag; Flags]
+DescriptorPoolCreateFlag :: enum Flags {
+	FREE_DESCRIPTOR_SET   = 0,
+	UPDATE_AFTER_BIND     = 1,
+	HOST_ONLY_VALVE       = 2,
+	UPDATE_AFTER_BIND_EXT = UPDATE_AFTER_BIND,
+}
+
+DescriptorSetLayoutCreateFlags :: distinct bit_set[DescriptorSetLayoutCreateFlag; Flags]
+DescriptorSetLayoutCreateFlag :: enum Flags {
+	UPDATE_AFTER_BIND_POOL     = 1,
+	PUSH_DESCRIPTOR_KHR        = 0,
+	HOST_ONLY_POOL_VALVE       = 2,
+	UPDATE_AFTER_BIND_POOL_EXT = UPDATE_AFTER_BIND_POOL,
+}
+
+DescriptorType :: enum c.int {
+	SAMPLER                    = 0,
+	COMBINED_IMAGE_SAMPLER     = 1,
+	SAMPLED_IMAGE              = 2,
+	STORAGE_IMAGE              = 3,
+	UNIFORM_TEXEL_BUFFER       = 4,
+	STORAGE_TEXEL_BUFFER       = 5,
+	UNIFORM_BUFFER             = 6,
+	STORAGE_BUFFER             = 7,
+	UNIFORM_BUFFER_DYNAMIC     = 8,
+	STORAGE_BUFFER_DYNAMIC     = 9,
+	INPUT_ATTACHMENT           = 10,
+	INLINE_UNIFORM_BLOCK       = 1000138000,
+	ACCELERATION_STRUCTURE_KHR = 1000150000,
+	ACCELERATION_STRUCTURE_NV  = 1000165000,
+	MUTABLE_VALVE              = 1000351000,
+	INLINE_UNIFORM_BLOCK_EXT   = INLINE_UNIFORM_BLOCK,
+}
+
+DescriptorUpdateTemplateType :: enum c.int {
+	DESCRIPTOR_SET       = 0,
+	PUSH_DESCRIPTORS_KHR = 1,
+	DESCRIPTOR_SET_KHR   = DESCRIPTOR_SET,
+}
+
+DeviceDiagnosticsConfigFlagsNV :: distinct bit_set[DeviceDiagnosticsConfigFlagNV; Flags]
+DeviceDiagnosticsConfigFlagNV :: enum Flags {
+	ENABLE_SHADER_DEBUG_INFO     = 0,
+	ENABLE_RESOURCE_TRACKING     = 1,
+	ENABLE_AUTOMATIC_CHECKPOINTS = 2,
+}
+
+DeviceEventTypeEXT :: enum c.int {
+	DISPLAY_HOTPLUG = 0,
+}
+
+DeviceGroupPresentModeFlagsKHR :: distinct bit_set[DeviceGroupPresentModeFlagKHR; Flags]
+DeviceGroupPresentModeFlagKHR :: enum Flags {
+	LOCAL              = 0,
+	REMOTE             = 1,
+	SUM                = 2,
+	LOCAL_MULTI_DEVICE = 3,
+}
+
+DeviceMemoryReportEventTypeEXT :: enum c.int {
+	ALLOCATE          = 0,
+	FREE              = 1,
+	IMPORT            = 2,
+	UNIMPORT          = 3,
+	ALLOCATION_FAILED = 4,
+}
+
+DeviceQueueCreateFlags :: distinct bit_set[DeviceQueueCreateFlag; Flags]
+DeviceQueueCreateFlag :: enum Flags {
+	PROTECTED = 0,
+}
+
+DiscardRectangleModeEXT :: enum c.int {
+	INCLUSIVE = 0,
+	EXCLUSIVE = 1,
+}
+
+DisplayEventTypeEXT :: enum c.int {
+	FIRST_PIXEL_OUT = 0,
+}
+
+DisplayPlaneAlphaFlagsKHR :: distinct bit_set[DisplayPlaneAlphaFlagKHR; Flags]
+DisplayPlaneAlphaFlagKHR :: enum Flags {
+	OPAQUE                  = 0,
+	GLOBAL                  = 1,
+	PER_PIXEL               = 2,
+	PER_PIXEL_PREMULTIPLIED = 3,
+}
+
+DisplayPowerStateEXT :: enum c.int {
+	OFF     = 0,
+	SUSPEND = 1,
+	ON      = 2,
+}
+
+DriverId :: enum c.int {
+	AMD_PROPRIETARY               = 1,
+	AMD_OPEN_SOURCE               = 2,
+	MESA_RADV                     = 3,
+	NVIDIA_PROPRIETARY            = 4,
+	INTEL_PROPRIETARY_WINDOWS     = 5,
+	INTEL_OPEN_SOURCE_MESA        = 6,
+	IMAGINATION_PROPRIETARY       = 7,
+	QUALCOMM_PROPRIETARY          = 8,
+	ARM_PROPRIETARY               = 9,
+	GOOGLE_SWIFTSHADER            = 10,
+	GGP_PROPRIETARY               = 11,
+	BROADCOM_PROPRIETARY          = 12,
+	MESA_LLVMPIPE                 = 13,
+	MOLTENVK                      = 14,
+	COREAVI_PROPRIETARY           = 15,
+	JUICE_PROPRIETARY             = 16,
+	VERISILICON_PROPRIETARY       = 17,
+	MESA_TURNIP                   = 18,
+	MESA_V3DV                     = 19,
+	MESA_PANVK                    = 20,
+	SAMSUNG_PROPRIETARY           = 21,
+	MESA_VENUS                    = 22,
+	AMD_PROPRIETARY_KHR           = AMD_PROPRIETARY,
+	AMD_OPEN_SOURCE_KHR           = AMD_OPEN_SOURCE,
+	MESA_RADV_KHR                 = MESA_RADV,
+	NVIDIA_PROPRIETARY_KHR        = NVIDIA_PROPRIETARY,
+	INTEL_PROPRIETARY_WINDOWS_KHR = INTEL_PROPRIETARY_WINDOWS,
+	INTEL_OPEN_SOURCE_MESA_KHR    = INTEL_OPEN_SOURCE_MESA,
+	IMAGINATION_PROPRIETARY_KHR   = IMAGINATION_PROPRIETARY,
+	QUALCOMM_PROPRIETARY_KHR      = QUALCOMM_PROPRIETARY,
+	ARM_PROPRIETARY_KHR           = ARM_PROPRIETARY,
+	GOOGLE_SWIFTSHADER_KHR        = GOOGLE_SWIFTSHADER,
+	GGP_PROPRIETARY_KHR           = GGP_PROPRIETARY,
+	BROADCOM_PROPRIETARY_KHR      = BROADCOM_PROPRIETARY,
+}
+
+DynamicState :: enum c.int {
+	VIEWPORT                            = 0,
+	SCISSOR                             = 1,
+	LINE_WIDTH                          = 2,
+	DEPTH_BIAS                          = 3,
+	BLEND_CONSTANTS                     = 4,
+	DEPTH_BOUNDS                        = 5,
+	STENCIL_COMPARE_MASK                = 6,
+	STENCIL_WRITE_MASK                  = 7,
+	STENCIL_REFERENCE                   = 8,
+	CULL_MODE                           = 1000267000,
+	FRONT_FACE                          = 1000267001,
+	PRIMITIVE_TOPOLOGY                  = 1000267002,
+	VIEWPORT_WITH_COUNT                 = 1000267003,
+	SCISSOR_WITH_COUNT                  = 1000267004,
+	VERTEX_INPUT_BINDING_STRIDE         = 1000267005,
+	DEPTH_TEST_ENABLE                   = 1000267006,
+	DEPTH_WRITE_ENABLE                  = 1000267007,
+	DEPTH_COMPARE_OP                    = 1000267008,
+	DEPTH_BOUNDS_TEST_ENABLE            = 1000267009,
+	STENCIL_TEST_ENABLE                 = 1000267010,
+	STENCIL_OP                          = 1000267011,
+	RASTERIZER_DISCARD_ENABLE           = 1000377001,
+	DEPTH_BIAS_ENABLE                   = 1000377002,
+	PRIMITIVE_RESTART_ENABLE            = 1000377004,
+	VIEWPORT_W_SCALING_NV               = 1000087000,
+	DISCARD_RECTANGLE_EXT               = 1000099000,
+	SAMPLE_LOCATIONS_EXT                = 1000143000,
+	RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
+	VIEWPORT_SHADING_RATE_PALETTE_NV    = 1000164004,
+	VIEWPORT_COARSE_SAMPLE_ORDER_NV     = 1000164006,
+	EXCLUSIVE_SCISSOR_NV                = 1000205001,
+	FRAGMENT_SHADING_RATE_KHR           = 1000226000,
+	LINE_STIPPLE_EXT                    = 1000259000,
+	VERTEX_INPUT_EXT                    = 1000352000,
+	PATCH_CONTROL_POINTS_EXT            = 1000377000,
+	LOGIC_OP_EXT                        = 1000377003,
+	COLOR_WRITE_ENABLE_EXT              = 1000381000,
+	CULL_MODE_EXT                       = CULL_MODE,
+	FRONT_FACE_EXT                      = FRONT_FACE,
+	PRIMITIVE_TOPOLOGY_EXT              = PRIMITIVE_TOPOLOGY,
+	VIEWPORT_WITH_COUNT_EXT             = VIEWPORT_WITH_COUNT,
+	SCISSOR_WITH_COUNT_EXT              = SCISSOR_WITH_COUNT,
+	VERTEX_INPUT_BINDING_STRIDE_EXT     = VERTEX_INPUT_BINDING_STRIDE,
+	DEPTH_TEST_ENABLE_EXT               = DEPTH_TEST_ENABLE,
+	DEPTH_WRITE_ENABLE_EXT              = DEPTH_WRITE_ENABLE,
+	DEPTH_COMPARE_OP_EXT                = DEPTH_COMPARE_OP,
+	DEPTH_BOUNDS_TEST_ENABLE_EXT        = DEPTH_BOUNDS_TEST_ENABLE,
+	STENCIL_TEST_ENABLE_EXT             = STENCIL_TEST_ENABLE,
+	STENCIL_OP_EXT                      = STENCIL_OP,
+	RASTERIZER_DISCARD_ENABLE_EXT       = RASTERIZER_DISCARD_ENABLE,
+	DEPTH_BIAS_ENABLE_EXT               = DEPTH_BIAS_ENABLE,
+	PRIMITIVE_RESTART_ENABLE_EXT        = PRIMITIVE_RESTART_ENABLE,
+}
+
+EventCreateFlags :: distinct bit_set[EventCreateFlag; Flags]
+EventCreateFlag :: enum Flags {
+	DEVICE_ONLY     = 0,
+	DEVICE_ONLY_KHR = DEVICE_ONLY,
+}
+
+ExternalFenceFeatureFlags :: distinct bit_set[ExternalFenceFeatureFlag; Flags]
+ExternalFenceFeatureFlag :: enum Flags {
+	EXPORTABLE     = 0,
+	IMPORTABLE     = 1,
+	EXPORTABLE_KHR = EXPORTABLE,
+	IMPORTABLE_KHR = IMPORTABLE,
+}
+
+ExternalFenceHandleTypeFlags :: distinct bit_set[ExternalFenceHandleTypeFlag; Flags]
+ExternalFenceHandleTypeFlag :: enum Flags {
+	OPAQUE_FD            = 0,
+	OPAQUE_WIN32         = 1,
+	OPAQUE_WIN32_KMT     = 2,
+	SYNC_FD              = 3,
+	OPAQUE_FD_KHR        = OPAQUE_FD,
+	OPAQUE_WIN32_KHR     = OPAQUE_WIN32,
+	OPAQUE_WIN32_KMT_KHR = OPAQUE_WIN32_KMT,
+	SYNC_FD_KHR          = SYNC_FD,
+}
+
+ExternalMemoryFeatureFlags :: distinct bit_set[ExternalMemoryFeatureFlag; Flags]
+ExternalMemoryFeatureFlag :: enum Flags {
+	DEDICATED_ONLY     = 0,
+	EXPORTABLE         = 1,
+	IMPORTABLE         = 2,
+	DEDICATED_ONLY_KHR = DEDICATED_ONLY,
+	EXPORTABLE_KHR     = EXPORTABLE,
+	IMPORTABLE_KHR     = IMPORTABLE,
+}
+
+ExternalMemoryFeatureFlagsNV :: distinct bit_set[ExternalMemoryFeatureFlagNV; Flags]
+ExternalMemoryFeatureFlagNV :: enum Flags {
+	DEDICATED_ONLY = 0,
+	EXPORTABLE     = 1,
+	IMPORTABLE     = 2,
+}
+
+ExternalMemoryHandleTypeFlags :: distinct bit_set[ExternalMemoryHandleTypeFlag; Flags]
+ExternalMemoryHandleTypeFlag :: enum Flags {
+	OPAQUE_FD                       = 0,
+	OPAQUE_WIN32                    = 1,
+	OPAQUE_WIN32_KMT                = 2,
+	D3D11_TEXTURE                   = 3,
+	D3D11_TEXTURE_KMT               = 4,
+	D3D12_HEAP                      = 5,
+	D3D12_RESOURCE                  = 6,
+	DMA_BUF_EXT                     = 9,
+	ANDROID_HARDWARE_BUFFER_ANDROID = 10,
+	HOST_ALLOCATION_EXT             = 7,
+	HOST_MAPPED_FOREIGN_MEMORY_EXT  = 8,
+	ZIRCON_VMO_FUCHSIA              = 11,
+	RDMA_ADDRESS_NV                 = 12,
+	OPAQUE_FD_KHR                   = OPAQUE_FD,
+	OPAQUE_WIN32_KHR                = OPAQUE_WIN32,
+	OPAQUE_WIN32_KMT_KHR            = OPAQUE_WIN32_KMT,
+	D3D11_TEXTURE_KHR               = D3D11_TEXTURE,
+	D3D11_TEXTURE_KMT_KHR           = D3D11_TEXTURE_KMT,
+	D3D12_HEAP_KHR                  = D3D12_HEAP,
+	D3D12_RESOURCE_KHR              = D3D12_RESOURCE,
+}
+
+ExternalMemoryHandleTypeFlagsNV :: distinct bit_set[ExternalMemoryHandleTypeFlagNV; Flags]
+ExternalMemoryHandleTypeFlagNV :: enum Flags {
+	OPAQUE_WIN32     = 0,
+	OPAQUE_WIN32_KMT = 1,
+	D3D11_IMAGE      = 2,
+	D3D11_IMAGE_KMT  = 3,
+}
+
+ExternalSemaphoreFeatureFlags :: distinct bit_set[ExternalSemaphoreFeatureFlag; Flags]
+ExternalSemaphoreFeatureFlag :: enum Flags {
+	EXPORTABLE     = 0,
+	IMPORTABLE     = 1,
+	EXPORTABLE_KHR = EXPORTABLE,
+	IMPORTABLE_KHR = IMPORTABLE,
+}
+
+ExternalSemaphoreHandleTypeFlags :: distinct bit_set[ExternalSemaphoreHandleTypeFlag; Flags]
+ExternalSemaphoreHandleTypeFlag :: enum Flags {
+	OPAQUE_FD            = 0,
+	OPAQUE_WIN32         = 1,
+	OPAQUE_WIN32_KMT     = 2,
+	D3D12_FENCE          = 3,
+	SYNC_FD              = 4,
+	ZIRCON_EVENT_FUCHSIA = 7,
+	D3D11_FENCE          = D3D12_FENCE,
+	OPAQUE_FD_KHR        = OPAQUE_FD,
+	OPAQUE_WIN32_KHR     = OPAQUE_WIN32,
+	OPAQUE_WIN32_KMT_KHR = OPAQUE_WIN32_KMT,
+	D3D12_FENCE_KHR      = D3D12_FENCE,
+	SYNC_FD_KHR          = SYNC_FD,
+}
+
+FenceCreateFlags :: distinct bit_set[FenceCreateFlag; Flags]
+FenceCreateFlag :: enum Flags {
+	SIGNALED = 0,
+}
+
+FenceImportFlags :: distinct bit_set[FenceImportFlag; Flags]
+FenceImportFlag :: enum Flags {
+	TEMPORARY     = 0,
+	TEMPORARY_KHR = TEMPORARY,
+}
+
+Filter :: enum c.int {
+	NEAREST   = 0,
+	LINEAR    = 1,
+	CUBIC_IMG = 1000015000,
+	CUBIC_EXT = CUBIC_IMG,
+}
+
+Format :: enum c.int {
+	UNDEFINED                                      = 0,
+	R4G4_UNORM_PACK8                               = 1,
+	R4G4B4A4_UNORM_PACK16                          = 2,
+	B4G4R4A4_UNORM_PACK16                          = 3,
+	R5G6B5_UNORM_PACK16                            = 4,
+	B5G6R5_UNORM_PACK16                            = 5,
+	R5G5B5A1_UNORM_PACK16                          = 6,
+	B5G5R5A1_UNORM_PACK16                          = 7,
+	A1R5G5B5_UNORM_PACK16                          = 8,
+	R8_UNORM                                       = 9,
+	R8_SNORM                                       = 10,
+	R8_USCALED                                     = 11,
+	R8_SSCALED                                     = 12,
+	R8_UINT                                        = 13,
+	R8_SINT                                        = 14,
+	R8_SRGB                                        = 15,
+	R8G8_UNORM                                     = 16,
+	R8G8_SNORM                                     = 17,
+	R8G8_USCALED                                   = 18,
+	R8G8_SSCALED                                   = 19,
+	R8G8_UINT                                      = 20,
+	R8G8_SINT                                      = 21,
+	R8G8_SRGB                                      = 22,
+	R8G8B8_UNORM                                   = 23,
+	R8G8B8_SNORM                                   = 24,
+	R8G8B8_USCALED                                 = 25,
+	R8G8B8_SSCALED                                 = 26,
+	R8G8B8_UINT                                    = 27,
+	R8G8B8_SINT                                    = 28,
+	R8G8B8_SRGB                                    = 29,
+	B8G8R8_UNORM                                   = 30,
+	B8G8R8_SNORM                                   = 31,
+	B8G8R8_USCALED                                 = 32,
+	B8G8R8_SSCALED                                 = 33,
+	B8G8R8_UINT                                    = 34,
+	B8G8R8_SINT                                    = 35,
+	B8G8R8_SRGB                                    = 36,
+	R8G8B8A8_UNORM                                 = 37,
+	R8G8B8A8_SNORM                                 = 38,
+	R8G8B8A8_USCALED                               = 39,
+	R8G8B8A8_SSCALED                               = 40,
+	R8G8B8A8_UINT                                  = 41,
+	R8G8B8A8_SINT                                  = 42,
+	R8G8B8A8_SRGB                                  = 43,
+	B8G8R8A8_UNORM                                 = 44,
+	B8G8R8A8_SNORM                                 = 45,
+	B8G8R8A8_USCALED                               = 46,
+	B8G8R8A8_SSCALED                               = 47,
+	B8G8R8A8_UINT                                  = 48,
+	B8G8R8A8_SINT                                  = 49,
+	B8G8R8A8_SRGB                                  = 50,
+	A8B8G8R8_UNORM_PACK32                          = 51,
+	A8B8G8R8_SNORM_PACK32                          = 52,
+	A8B8G8R8_USCALED_PACK32                        = 53,
+	A8B8G8R8_SSCALED_PACK32                        = 54,
+	A8B8G8R8_UINT_PACK32                           = 55,
+	A8B8G8R8_SINT_PACK32                           = 56,
+	A8B8G8R8_SRGB_PACK32                           = 57,
+	A2R10G10B10_UNORM_PACK32                       = 58,
+	A2R10G10B10_SNORM_PACK32                       = 59,
+	A2R10G10B10_USCALED_PACK32                     = 60,
+	A2R10G10B10_SSCALED_PACK32                     = 61,
+	A2R10G10B10_UINT_PACK32                        = 62,
+	A2R10G10B10_SINT_PACK32                        = 63,
+	A2B10G10R10_UNORM_PACK32                       = 64,
+	A2B10G10R10_SNORM_PACK32                       = 65,
+	A2B10G10R10_USCALED_PACK32                     = 66,
+	A2B10G10R10_SSCALED_PACK32                     = 67,
+	A2B10G10R10_UINT_PACK32                        = 68,
+	A2B10G10R10_SINT_PACK32                        = 69,
+	R16_UNORM                                      = 70,
+	R16_SNORM                                      = 71,
+	R16_USCALED                                    = 72,
+	R16_SSCALED                                    = 73,
+	R16_UINT                                       = 74,
+	R16_SINT                                       = 75,
+	R16_SFLOAT                                     = 76,
+	R16G16_UNORM                                   = 77,
+	R16G16_SNORM                                   = 78,
+	R16G16_USCALED                                 = 79,
+	R16G16_SSCALED                                 = 80,
+	R16G16_UINT                                    = 81,
+	R16G16_SINT                                    = 82,
+	R16G16_SFLOAT                                  = 83,
+	R16G16B16_UNORM                                = 84,
+	R16G16B16_SNORM                                = 85,
+	R16G16B16_USCALED                              = 86,
+	R16G16B16_SSCALED                              = 87,
+	R16G16B16_UINT                                 = 88,
+	R16G16B16_SINT                                 = 89,
+	R16G16B16_SFLOAT                               = 90,
+	R16G16B16A16_UNORM                             = 91,
+	R16G16B16A16_SNORM                             = 92,
+	R16G16B16A16_USCALED                           = 93,
+	R16G16B16A16_SSCALED                           = 94,
+	R16G16B16A16_UINT                              = 95,
+	R16G16B16A16_SINT                              = 96,
+	R16G16B16A16_SFLOAT                            = 97,
+	R32_UINT                                       = 98,
+	R32_SINT                                       = 99,
+	R32_SFLOAT                                     = 100,
+	R32G32_UINT                                    = 101,
+	R32G32_SINT                                    = 102,
+	R32G32_SFLOAT                                  = 103,
+	R32G32B32_UINT                                 = 104,
+	R32G32B32_SINT                                 = 105,
+	R32G32B32_SFLOAT                               = 106,
+	R32G32B32A32_UINT                              = 107,
+	R32G32B32A32_SINT                              = 108,
+	R32G32B32A32_SFLOAT                            = 109,
+	R64_UINT                                       = 110,
+	R64_SINT                                       = 111,
+	R64_SFLOAT                                     = 112,
+	R64G64_UINT                                    = 113,
+	R64G64_SINT                                    = 114,
+	R64G64_SFLOAT                                  = 115,
+	R64G64B64_UINT                                 = 116,
+	R64G64B64_SINT                                 = 117,
+	R64G64B64_SFLOAT                               = 118,
+	R64G64B64A64_UINT                              = 119,
+	R64G64B64A64_SINT                              = 120,
+	R64G64B64A64_SFLOAT                            = 121,
+	B10G11R11_UFLOAT_PACK32                        = 122,
+	E5B9G9R9_UFLOAT_PACK32                         = 123,
+	D16_UNORM                                      = 124,
+	X8_D24_UNORM_PACK32                            = 125,
+	D32_SFLOAT                                     = 126,
+	S8_UINT                                        = 127,
+	D16_UNORM_S8_UINT                              = 128,
+	D24_UNORM_S8_UINT                              = 129,
+	D32_SFLOAT_S8_UINT                             = 130,
+	BC1_RGB_UNORM_BLOCK                            = 131,
+	BC1_RGB_SRGB_BLOCK                             = 132,
+	BC1_RGBA_UNORM_BLOCK                           = 133,
+	BC1_RGBA_SRGB_BLOCK                            = 134,
+	BC2_UNORM_BLOCK                                = 135,
+	BC2_SRGB_BLOCK                                 = 136,
+	BC3_UNORM_BLOCK                                = 137,
+	BC3_SRGB_BLOCK                                 = 138,
+	BC4_UNORM_BLOCK                                = 139,
+	BC4_SNORM_BLOCK                                = 140,
+	BC5_UNORM_BLOCK                                = 141,
+	BC5_SNORM_BLOCK                                = 142,
+	BC6H_UFLOAT_BLOCK                              = 143,
+	BC6H_SFLOAT_BLOCK                              = 144,
+	BC7_UNORM_BLOCK                                = 145,
+	BC7_SRGB_BLOCK                                 = 146,
+	ETC2_R8G8B8_UNORM_BLOCK                        = 147,
+	ETC2_R8G8B8_SRGB_BLOCK                         = 148,
+	ETC2_R8G8B8A1_UNORM_BLOCK                      = 149,
+	ETC2_R8G8B8A1_SRGB_BLOCK                       = 150,
+	ETC2_R8G8B8A8_UNORM_BLOCK                      = 151,
+	ETC2_R8G8B8A8_SRGB_BLOCK                       = 152,
+	EAC_R11_UNORM_BLOCK                            = 153,
+	EAC_R11_SNORM_BLOCK                            = 154,
+	EAC_R11G11_UNORM_BLOCK                         = 155,
+	EAC_R11G11_SNORM_BLOCK                         = 156,
+	ASTC_4x4_UNORM_BLOCK                           = 157,
+	ASTC_4x4_SRGB_BLOCK                            = 158,
+	ASTC_5x4_UNORM_BLOCK                           = 159,
+	ASTC_5x4_SRGB_BLOCK                            = 160,
+	ASTC_5x5_UNORM_BLOCK                           = 161,
+	ASTC_5x5_SRGB_BLOCK                            = 162,
+	ASTC_6x5_UNORM_BLOCK                           = 163,
+	ASTC_6x5_SRGB_BLOCK                            = 164,
+	ASTC_6x6_UNORM_BLOCK                           = 165,
+	ASTC_6x6_SRGB_BLOCK                            = 166,
+	ASTC_8x5_UNORM_BLOCK                           = 167,
+	ASTC_8x5_SRGB_BLOCK                            = 168,
+	ASTC_8x6_UNORM_BLOCK                           = 169,
+	ASTC_8x6_SRGB_BLOCK                            = 170,
+	ASTC_8x8_UNORM_BLOCK                           = 171,
+	ASTC_8x8_SRGB_BLOCK                            = 172,
+	ASTC_10x5_UNORM_BLOCK                          = 173,
+	ASTC_10x5_SRGB_BLOCK                           = 174,
+	ASTC_10x6_UNORM_BLOCK                          = 175,
+	ASTC_10x6_SRGB_BLOCK                           = 176,
+	ASTC_10x8_UNORM_BLOCK                          = 177,
+	ASTC_10x8_SRGB_BLOCK                           = 178,
+	ASTC_10x10_UNORM_BLOCK                         = 179,
+	ASTC_10x10_SRGB_BLOCK                          = 180,
+	ASTC_12x10_UNORM_BLOCK                         = 181,
+	ASTC_12x10_SRGB_BLOCK                          = 182,
+	ASTC_12x12_UNORM_BLOCK                         = 183,
+	ASTC_12x12_SRGB_BLOCK                          = 184,
+	G8B8G8R8_422_UNORM                             = 1000156000,
+	B8G8R8G8_422_UNORM                             = 1000156001,
+	G8_B8_R8_3PLANE_420_UNORM                      = 1000156002,
+	G8_B8R8_2PLANE_420_UNORM                       = 1000156003,
+	G8_B8_R8_3PLANE_422_UNORM                      = 1000156004,
+	G8_B8R8_2PLANE_422_UNORM                       = 1000156005,
+	G8_B8_R8_3PLANE_444_UNORM                      = 1000156006,
+	R10X6_UNORM_PACK16                             = 1000156007,
+	R10X6G10X6_UNORM_2PACK16                       = 1000156008,
+	R10X6G10X6B10X6A10X6_UNORM_4PACK16             = 1000156009,
+	G10X6B10X6G10X6R10X6_422_UNORM_4PACK16         = 1000156010,
+	B10X6G10X6R10X6G10X6_422_UNORM_4PACK16         = 1000156011,
+	G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16     = 1000156012,
+	G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16      = 1000156013,
+	G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16     = 1000156014,
+	G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16      = 1000156015,
+	G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16     = 1000156016,
+	R12X4_UNORM_PACK16                             = 1000156017,
+	R12X4G12X4_UNORM_2PACK16                       = 1000156018,
+	R12X4G12X4B12X4A12X4_UNORM_4PACK16             = 1000156019,
+	G12X4B12X4G12X4R12X4_422_UNORM_4PACK16         = 1000156020,
+	B12X4G12X4R12X4G12X4_422_UNORM_4PACK16         = 1000156021,
+	G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16     = 1000156022,
+	G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16      = 1000156023,
+	G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16     = 1000156024,
+	G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16      = 1000156025,
+	G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16     = 1000156026,
+	G16B16G16R16_422_UNORM                         = 1000156027,
+	B16G16R16G16_422_UNORM                         = 1000156028,
+	G16_B16_R16_3PLANE_420_UNORM                   = 1000156029,
+	G16_B16R16_2PLANE_420_UNORM                    = 1000156030,
+	G16_B16_R16_3PLANE_422_UNORM                   = 1000156031,
+	G16_B16R16_2PLANE_422_UNORM                    = 1000156032,
+	G16_B16_R16_3PLANE_444_UNORM                   = 1000156033,
+	G8_B8R8_2PLANE_444_UNORM                       = 1000330000,
+	G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16      = 1000330001,
+	G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16      = 1000330002,
+	G16_B16R16_2PLANE_444_UNORM                    = 1000330003,
+	A4R4G4B4_UNORM_PACK16                          = 1000340000,
+	A4B4G4R4_UNORM_PACK16                          = 1000340001,
+	ASTC_4x4_SFLOAT_BLOCK                          = 1000066000,
+	ASTC_5x4_SFLOAT_BLOCK                          = 1000066001,
+	ASTC_5x5_SFLOAT_BLOCK                          = 1000066002,
+	ASTC_6x5_SFLOAT_BLOCK                          = 1000066003,
+	ASTC_6x6_SFLOAT_BLOCK                          = 1000066004,
+	ASTC_8x5_SFLOAT_BLOCK                          = 1000066005,
+	ASTC_8x6_SFLOAT_BLOCK                          = 1000066006,
+	ASTC_8x8_SFLOAT_BLOCK                          = 1000066007,
+	ASTC_10x5_SFLOAT_BLOCK                         = 1000066008,
+	ASTC_10x6_SFLOAT_BLOCK                         = 1000066009,
+	ASTC_10x8_SFLOAT_BLOCK                         = 1000066010,
+	ASTC_10x10_SFLOAT_BLOCK                        = 1000066011,
+	ASTC_12x10_SFLOAT_BLOCK                        = 1000066012,
+	ASTC_12x12_SFLOAT_BLOCK                        = 1000066013,
+	PVRTC1_2BPP_UNORM_BLOCK_IMG                    = 1000054000,
+	PVRTC1_4BPP_UNORM_BLOCK_IMG                    = 1000054001,
+	PVRTC2_2BPP_UNORM_BLOCK_IMG                    = 1000054002,
+	PVRTC2_4BPP_UNORM_BLOCK_IMG                    = 1000054003,
+	PVRTC1_2BPP_SRGB_BLOCK_IMG                     = 1000054004,
+	PVRTC1_4BPP_SRGB_BLOCK_IMG                     = 1000054005,
+	PVRTC2_2BPP_SRGB_BLOCK_IMG                     = 1000054006,
+	PVRTC2_4BPP_SRGB_BLOCK_IMG                     = 1000054007,
+	ASTC_4x4_SFLOAT_BLOCK_EXT                      = ASTC_4x4_SFLOAT_BLOCK,
+	ASTC_5x4_SFLOAT_BLOCK_EXT                      = ASTC_5x4_SFLOAT_BLOCK,
+	ASTC_5x5_SFLOAT_BLOCK_EXT                      = ASTC_5x5_SFLOAT_BLOCK,
+	ASTC_6x5_SFLOAT_BLOCK_EXT                      = ASTC_6x5_SFLOAT_BLOCK,
+	ASTC_6x6_SFLOAT_BLOCK_EXT                      = ASTC_6x6_SFLOAT_BLOCK,
+	ASTC_8x5_SFLOAT_BLOCK_EXT                      = ASTC_8x5_SFLOAT_BLOCK,
+	ASTC_8x6_SFLOAT_BLOCK_EXT                      = ASTC_8x6_SFLOAT_BLOCK,
+	ASTC_8x8_SFLOAT_BLOCK_EXT                      = ASTC_8x8_SFLOAT_BLOCK,
+	ASTC_10x5_SFLOAT_BLOCK_EXT                     = ASTC_10x5_SFLOAT_BLOCK,
+	ASTC_10x6_SFLOAT_BLOCK_EXT                     = ASTC_10x6_SFLOAT_BLOCK,
+	ASTC_10x8_SFLOAT_BLOCK_EXT                     = ASTC_10x8_SFLOAT_BLOCK,
+	ASTC_10x10_SFLOAT_BLOCK_EXT                    = ASTC_10x10_SFLOAT_BLOCK,
+	ASTC_12x10_SFLOAT_BLOCK_EXT                    = ASTC_12x10_SFLOAT_BLOCK,
+	ASTC_12x12_SFLOAT_BLOCK_EXT                    = ASTC_12x12_SFLOAT_BLOCK,
+	G8B8G8R8_422_UNORM_KHR                         = G8B8G8R8_422_UNORM,
+	B8G8R8G8_422_UNORM_KHR                         = B8G8R8G8_422_UNORM,
+	G8_B8_R8_3PLANE_420_UNORM_KHR                  = G8_B8_R8_3PLANE_420_UNORM,
+	G8_B8R8_2PLANE_420_UNORM_KHR                   = G8_B8R8_2PLANE_420_UNORM,
+	G8_B8_R8_3PLANE_422_UNORM_KHR                  = G8_B8_R8_3PLANE_422_UNORM,
+	G8_B8R8_2PLANE_422_UNORM_KHR                   = G8_B8R8_2PLANE_422_UNORM,
+	G8_B8_R8_3PLANE_444_UNORM_KHR                  = G8_B8_R8_3PLANE_444_UNORM,
+	R10X6_UNORM_PACK16_KHR                         = R10X6_UNORM_PACK16,
+	R10X6G10X6_UNORM_2PACK16_KHR                   = R10X6G10X6_UNORM_2PACK16,
+	R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR         = R10X6G10X6B10X6A10X6_UNORM_4PACK16,
+	G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR     = G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
+	B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR     = B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
+	G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
+	G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR  = G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
+	G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
+	G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR  = G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
+	G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
+	R12X4_UNORM_PACK16_KHR                         = R12X4_UNORM_PACK16,
+	R12X4G12X4_UNORM_2PACK16_KHR                   = R12X4G12X4_UNORM_2PACK16,
+	R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR         = R12X4G12X4B12X4A12X4_UNORM_4PACK16,
+	G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR     = G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
+	B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR     = B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
+	G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
+	G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR  = G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
+	G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
+	G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR  = G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
+	G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
+	G16B16G16R16_422_UNORM_KHR                     = G16B16G16R16_422_UNORM,
+	B16G16R16G16_422_UNORM_KHR                     = B16G16R16G16_422_UNORM,
+	G16_B16_R16_3PLANE_420_UNORM_KHR               = G16_B16_R16_3PLANE_420_UNORM,
+	G16_B16R16_2PLANE_420_UNORM_KHR                = G16_B16R16_2PLANE_420_UNORM,
+	G16_B16_R16_3PLANE_422_UNORM_KHR               = G16_B16_R16_3PLANE_422_UNORM,
+	G16_B16R16_2PLANE_422_UNORM_KHR                = G16_B16R16_2PLANE_422_UNORM,
+	G16_B16_R16_3PLANE_444_UNORM_KHR               = G16_B16_R16_3PLANE_444_UNORM,
+	G8_B8R8_2PLANE_444_UNORM_EXT                   = G8_B8R8_2PLANE_444_UNORM,
+	G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT  = G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
+	G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT  = G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
+	G16_B16R16_2PLANE_444_UNORM_EXT                = G16_B16R16_2PLANE_444_UNORM,
+	A4R4G4B4_UNORM_PACK16_EXT                      = A4R4G4B4_UNORM_PACK16,
+	A4B4G4R4_UNORM_PACK16_EXT                      = A4B4G4R4_UNORM_PACK16,
+}
+
+FormatFeatureFlags :: distinct bit_set[FormatFeatureFlag; Flags]
+FormatFeatureFlag :: enum Flags {
+	SAMPLED_IMAGE                                                               = 0,
+	STORAGE_IMAGE                                                               = 1,
+	STORAGE_IMAGE_ATOMIC                                                        = 2,
+	UNIFORM_TEXEL_BUFFER                                                        = 3,
+	STORAGE_TEXEL_BUFFER                                                        = 4,
+	STORAGE_TEXEL_BUFFER_ATOMIC                                                 = 5,
+	VERTEX_BUFFER                                                               = 6,
+	COLOR_ATTACHMENT                                                            = 7,
+	COLOR_ATTACHMENT_BLEND                                                      = 8,
+	DEPTH_STENCIL_ATTACHMENT                                                    = 9,
+	BLIT_SRC                                                                    = 10,
+	BLIT_DST                                                                    = 11,
+	SAMPLED_IMAGE_FILTER_LINEAR                                                 = 12,
+	TRANSFER_SRC                                                                = 14,
+	TRANSFER_DST                                                                = 15,
+	MIDPOINT_CHROMA_SAMPLES                                                     = 17,
+	SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER                                = 18,
+	SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER               = 19,
+	SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT               = 20,
+	SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE     = 21,
+	DISJOINT                                                                    = 22,
+	COSITED_CHROMA_SAMPLES                                                      = 23,
+	SAMPLED_IMAGE_FILTER_MINMAX                                                 = 16,
+	SAMPLED_IMAGE_FILTER_CUBIC_IMG                                              = 13,
+	VIDEO_DECODE_OUTPUT_KHR                                                     = 25,
+	VIDEO_DECODE_DPB_KHR                                                        = 26,
+	ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR                                    = 29,
+	FRAGMENT_DENSITY_MAP_EXT                                                    = 24,
+	FRAGMENT_SHADING_RATE_ATTACHMENT_KHR                                        = 30,
+	VIDEO_ENCODE_INPUT_KHR                                                      = 27,
+	VIDEO_ENCODE_DPB_KHR                                                        = 28,
+	TRANSFER_SRC_KHR                                                            = TRANSFER_SRC,
+	TRANSFER_DST_KHR                                                            = TRANSFER_DST,
+	SAMPLED_IMAGE_FILTER_MINMAX_EXT                                             = SAMPLED_IMAGE_FILTER_MINMAX,
+	MIDPOINT_CHROMA_SAMPLES_KHR                                                 = MIDPOINT_CHROMA_SAMPLES,
+	SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_KHR                            = SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER,
+	SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_KHR           = SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER,
+	SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_KHR           = SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT,
+	SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_KHR = SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE,
+	DISJOINT_KHR                                                                = DISJOINT,
+	COSITED_CHROMA_SAMPLES_KHR                                                  = COSITED_CHROMA_SAMPLES,
+	SAMPLED_IMAGE_FILTER_CUBIC_EXT                                              = SAMPLED_IMAGE_FILTER_CUBIC_IMG,
+}
+
+FragmentShadingRateCombinerOpKHR :: enum c.int {
+	KEEP    = 0,
+	REPLACE = 1,
+	MIN     = 2,
+	MAX     = 3,
+	MUL     = 4,
+}
+
+FragmentShadingRateNV :: enum c.int {
+	_1_INVOCATION_PER_PIXEL      = 0,
+	_1_INVOCATION_PER_1X2_PIXELS = 1,
+	_1_INVOCATION_PER_2X1_PIXELS = 4,
+	_1_INVOCATION_PER_2X2_PIXELS = 5,
+	_1_INVOCATION_PER_2X4_PIXELS = 6,
+	_1_INVOCATION_PER_4X2_PIXELS = 9,
+	_1_INVOCATION_PER_4X4_PIXELS = 10,
+	_2_INVOCATIONS_PER_PIXEL     = 11,
+	_4_INVOCATIONS_PER_PIXEL     = 12,
+	_8_INVOCATIONS_PER_PIXEL     = 13,
+	_16_INVOCATIONS_PER_PIXEL    = 14,
+	NO_INVOCATIONS               = 15,
+}
+
+FragmentShadingRateTypeNV :: enum c.int {
+	FRAGMENT_SIZE = 0,
+	ENUMS         = 1,
+}
+
+FramebufferCreateFlags :: distinct bit_set[FramebufferCreateFlag; Flags]
+FramebufferCreateFlag :: enum Flags {
+	IMAGELESS     = 0,
+	IMAGELESS_KHR = IMAGELESS,
+}
+
+FrontFace :: enum c.int {
+	COUNTER_CLOCKWISE = 0,
+	CLOCKWISE         = 1,
+}
+
+FullScreenExclusiveEXT :: enum c.int {
+	DEFAULT                = 0,
+	ALLOWED                = 1,
+	DISALLOWED             = 2,
+	APPLICATION_CONTROLLED = 3,
+}
+
+GeometryFlagsKHR :: distinct bit_set[GeometryFlagKHR; Flags]
+GeometryFlagKHR :: enum Flags {
+	OPAQUE                             = 0,
+	NO_DUPLICATE_ANY_HIT_INVOCATION    = 1,
+	OPAQUE_NV                          = OPAQUE,
+	NO_DUPLICATE_ANY_HIT_INVOCATION_NV = NO_DUPLICATE_ANY_HIT_INVOCATION,
+}
+
+GeometryInstanceFlagsKHR :: distinct bit_set[GeometryInstanceFlagKHR; Flags]
+GeometryInstanceFlagKHR :: enum Flags {
+	TRIANGLE_FACING_CULL_DISABLE       = 0,
+	TRIANGLE_FLIP_FACING               = 1,
+	FORCE_OPAQUE                       = 2,
+	FORCE_NO_OPAQUE                    = 3,
+	TRIANGLE_FRONT_COUNTERCLOCKWISE    = TRIANGLE_FLIP_FACING,
+	TRIANGLE_CULL_DISABLE_NV           = TRIANGLE_FACING_CULL_DISABLE,
+	TRIANGLE_FRONT_COUNTERCLOCKWISE_NV = TRIANGLE_FRONT_COUNTERCLOCKWISE,
+	FORCE_OPAQUE_NV                    = FORCE_OPAQUE,
+	FORCE_NO_OPAQUE_NV                 = FORCE_NO_OPAQUE,
+}
+
+GeometryTypeKHR :: enum c.int {
+	TRIANGLES    = 0,
+	AABBS        = 1,
+	INSTANCES    = 2,
+	TRIANGLES_NV = TRIANGLES,
+	AABBS_NV     = AABBS,
+}
+
+GraphicsPipelineLibraryFlagsEXT :: distinct bit_set[GraphicsPipelineLibraryFlagEXT; Flags]
+GraphicsPipelineLibraryFlagEXT :: enum Flags {
+	VERTEX_INPUT_INTERFACE    = 0,
+	PRE_RASTERIZATION_SHADERS = 1,
+	FRAGMENT_SHADER           = 2,
+	FRAGMENT_OUTPUT_INTERFACE = 3,
+}
+
+ImageAspectFlags :: distinct bit_set[ImageAspectFlag; Flags]
+ImageAspectFlag :: enum Flags {
+	COLOR              = 0,
+	DEPTH              = 1,
+	STENCIL            = 2,
+	METADATA           = 3,
+	PLANE_0            = 4,
+	PLANE_1            = 5,
+	PLANE_2            = 6,
+	MEMORY_PLANE_0_EXT = 7,
+	MEMORY_PLANE_1_EXT = 8,
+	MEMORY_PLANE_2_EXT = 9,
+	MEMORY_PLANE_3_EXT = 10,
+	PLANE_0_KHR        = PLANE_0,
+	PLANE_1_KHR        = PLANE_1,
+	PLANE_2_KHR        = PLANE_2,
+}
+
+ImageAspectFlags_NONE :: ImageAspectFlags{}
+
+
+ImageCreateFlags :: distinct bit_set[ImageCreateFlag; Flags]
+ImageCreateFlag :: enum Flags {
+	SPARSE_BINDING                        = 0,
+	SPARSE_RESIDENCY                      = 1,
+	SPARSE_ALIASED                        = 2,
+	MUTABLE_FORMAT                        = 3,
+	CUBE_COMPATIBLE                       = 4,
+	ALIAS                                 = 10,
+	SPLIT_INSTANCE_BIND_REGIONS           = 6,
+	D2_ARRAY_COMPATIBLE                   = 5,
+	BLOCK_TEXEL_VIEW_COMPATIBLE           = 7,
+	EXTENDED_USAGE                        = 8,
+	PROTECTED                             = 11,
+	DISJOINT                              = 9,
+	CORNER_SAMPLED_NV                     = 13,
+	SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT = 12,
+	SUBSAMPLED_EXT                        = 14,
+	D2_VIEW_COMPATIBLE_EXT                = 17,
+	FRAGMENT_DENSITY_MAP_OFFSET_QCOM      = 15,
+	SPLIT_INSTANCE_BIND_REGIONS_KHR       = SPLIT_INSTANCE_BIND_REGIONS,
+	D2_ARRAY_COMPATIBLE_KHR               = D2_ARRAY_COMPATIBLE,
+	BLOCK_TEXEL_VIEW_COMPATIBLE_KHR       = BLOCK_TEXEL_VIEW_COMPATIBLE,
+	EXTENDED_USAGE_KHR                    = EXTENDED_USAGE,
+	DISJOINT_KHR                          = DISJOINT,
+	ALIAS_KHR                             = ALIAS,
+}
+
+ImageLayout :: enum c.int {
+	UNDEFINED                                      = 0,
+	GENERAL                                        = 1,
+	COLOR_ATTACHMENT_OPTIMAL                       = 2,
+	DEPTH_STENCIL_ATTACHMENT_OPTIMAL               = 3,
+	DEPTH_STENCIL_READ_ONLY_OPTIMAL                = 4,
+	SHADER_READ_ONLY_OPTIMAL                       = 5,
+	TRANSFER_SRC_OPTIMAL                           = 6,
+	TRANSFER_DST_OPTIMAL                           = 7,
+	PREINITIALIZED                                 = 8,
+	DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL     = 1000117000,
+	DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL     = 1000117001,
+	DEPTH_ATTACHMENT_OPTIMAL                       = 1000241000,
+	DEPTH_READ_ONLY_OPTIMAL                        = 1000241001,
+	STENCIL_ATTACHMENT_OPTIMAL                     = 1000241002,
+	STENCIL_READ_ONLY_OPTIMAL                      = 1000241003,
+	READ_ONLY_OPTIMAL                              = 1000314000,
+	ATTACHMENT_OPTIMAL                             = 1000314001,
+	PRESENT_SRC_KHR                                = 1000001002,
+	VIDEO_DECODE_DST_KHR                           = 1000024000,
+	VIDEO_DECODE_SRC_KHR                           = 1000024001,
+	VIDEO_DECODE_DPB_KHR                           = 1000024002,
+	SHARED_PRESENT_KHR                             = 1000111000,
+	FRAGMENT_DENSITY_MAP_OPTIMAL_EXT               = 1000218000,
+	FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR   = 1000164003,
+	VIDEO_ENCODE_DST_KHR                           = 1000299000,
+	VIDEO_ENCODE_SRC_KHR                           = 1000299001,
+	VIDEO_ENCODE_DPB_KHR                           = 1000299002,
+	DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
+	DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
+	SHADING_RATE_OPTIMAL_NV                        = FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
+	DEPTH_ATTACHMENT_OPTIMAL_KHR                   = DEPTH_ATTACHMENT_OPTIMAL,
+	DEPTH_READ_ONLY_OPTIMAL_KHR                    = DEPTH_READ_ONLY_OPTIMAL,
+	STENCIL_ATTACHMENT_OPTIMAL_KHR                 = STENCIL_ATTACHMENT_OPTIMAL,
+	STENCIL_READ_ONLY_OPTIMAL_KHR                  = STENCIL_READ_ONLY_OPTIMAL,
+	READ_ONLY_OPTIMAL_KHR                          = READ_ONLY_OPTIMAL,
+	ATTACHMENT_OPTIMAL_KHR                         = ATTACHMENT_OPTIMAL,
+}
+
+ImageTiling :: enum c.int {
+	OPTIMAL                 = 0,
+	LINEAR                  = 1,
+	DRM_FORMAT_MODIFIER_EXT = 1000158000,
+}
+
+ImageType :: enum c.int {
+	D1 = 0,
+	D2 = 1,
+	D3 = 2,
+}
+
+ImageUsageFlags :: distinct bit_set[ImageUsageFlag; Flags]
+ImageUsageFlag :: enum Flags {
+	TRANSFER_SRC                         = 0,
+	TRANSFER_DST                         = 1,
+	SAMPLED                              = 2,
+	STORAGE                              = 3,
+	COLOR_ATTACHMENT                     = 4,
+	DEPTH_STENCIL_ATTACHMENT             = 5,
+	TRANSIENT_ATTACHMENT                 = 6,
+	INPUT_ATTACHMENT                     = 7,
+	VIDEO_DECODE_DST_KHR                 = 10,
+	VIDEO_DECODE_SRC_KHR                 = 11,
+	VIDEO_DECODE_DPB_KHR                 = 12,
+	FRAGMENT_DENSITY_MAP_EXT             = 9,
+	FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 8,
+	VIDEO_ENCODE_DST_KHR                 = 13,
+	VIDEO_ENCODE_SRC_KHR                 = 14,
+	VIDEO_ENCODE_DPB_KHR                 = 15,
+	INVOCATION_MASK_HUAWEI               = 18,
+	SHADING_RATE_IMAGE_NV                = FRAGMENT_SHADING_RATE_ATTACHMENT_KHR,
+}
+
+ImageViewCreateFlags :: distinct bit_set[ImageViewCreateFlag; Flags]
+ImageViewCreateFlag :: enum Flags {
+	FRAGMENT_DENSITY_MAP_DYNAMIC_EXT  = 0,
+	FRAGMENT_DENSITY_MAP_DEFERRED_EXT = 1,
+}
+
+ImageViewType :: enum c.int {
+	D1         = 0,
+	D2         = 1,
+	D3         = 2,
+	CUBE       = 3,
+	D1_ARRAY   = 4,
+	D2_ARRAY   = 5,
+	CUBE_ARRAY = 6,
+}
+
+IndexType :: enum c.int {
+	UINT16    = 0,
+	UINT32    = 1,
+	NONE_KHR  = 1000165000,
+	UINT8_EXT = 1000265000,
+	NONE_NV   = NONE_KHR,
+}
+
+IndirectCommandsLayoutUsageFlagsNV :: distinct bit_set[IndirectCommandsLayoutUsageFlagNV; Flags]
+IndirectCommandsLayoutUsageFlagNV :: enum Flags {
+	EXPLICIT_PREPROCESS = 0,
+	INDEXED_SEQUENCES   = 1,
+	UNORDERED_SEQUENCES = 2,
+}
+
+IndirectCommandsTokenTypeNV :: enum c.int {
+	SHADER_GROUP  = 0,
+	STATE_FLAGS   = 1,
+	INDEX_BUFFER  = 2,
+	VERTEX_BUFFER = 3,
+	PUSH_CONSTANT = 4,
+	DRAW_INDEXED  = 5,
+	DRAW          = 6,
+	DRAW_TASKS    = 7,
+}
+
+IndirectStateFlagsNV :: distinct bit_set[IndirectStateFlagNV; Flags]
+IndirectStateFlagNV :: enum Flags {
+	FLAG_FRONTFACE = 0,
+}
+
+InstanceCreateFlags :: distinct bit_set[InstanceCreateFlag; Flags]
+InstanceCreateFlag :: enum Flags {
+	ENUMERATE_PORTABILITY_KHR = 0,
+}
+
+InternalAllocationType :: enum c.int {
+	EXECUTABLE = 0,
+}
+
+LineRasterizationModeEXT :: enum c.int {
+	DEFAULT            = 0,
+	RECTANGULAR        = 1,
+	BRESENHAM          = 2,
+	RECTANGULAR_SMOOTH = 3,
+}
+
+LogicOp :: enum c.int {
+	CLEAR         = 0,
+	AND           = 1,
+	AND_REVERSE   = 2,
+	COPY          = 3,
+	AND_INVERTED  = 4,
+	NO_OP         = 5,
+	XOR           = 6,
+	OR            = 7,
+	NOR           = 8,
+	EQUIVALENT    = 9,
+	INVERT        = 10,
+	OR_REVERSE    = 11,
+	COPY_INVERTED = 12,
+	OR_INVERTED   = 13,
+	NAND          = 14,
+	SET           = 15,
+}
+
+MemoryAllocateFlags :: distinct bit_set[MemoryAllocateFlag; Flags]
+MemoryAllocateFlag :: enum Flags {
+	DEVICE_MASK                       = 0,
+	DEVICE_ADDRESS                    = 1,
+	DEVICE_ADDRESS_CAPTURE_REPLAY     = 2,
+	DEVICE_MASK_KHR                   = DEVICE_MASK,
+	DEVICE_ADDRESS_KHR                = DEVICE_ADDRESS,
+	DEVICE_ADDRESS_CAPTURE_REPLAY_KHR = DEVICE_ADDRESS_CAPTURE_REPLAY,
+}
+
+MemoryHeapFlags :: distinct bit_set[MemoryHeapFlag; Flags]
+MemoryHeapFlag :: enum Flags {
+	DEVICE_LOCAL       = 0,
+	MULTI_INSTANCE     = 1,
+	MULTI_INSTANCE_KHR = MULTI_INSTANCE,
+}
+
+MemoryOverallocationBehaviorAMD :: enum c.int {
+	DEFAULT    = 0,
+	ALLOWED    = 1,
+	DISALLOWED = 2,
+}
+
+MemoryPropertyFlags :: distinct bit_set[MemoryPropertyFlag; Flags]
+MemoryPropertyFlag :: enum Flags {
+	DEVICE_LOCAL        = 0,
+	HOST_VISIBLE        = 1,
+	HOST_COHERENT       = 2,
+	HOST_CACHED         = 3,
+	LAZILY_ALLOCATED    = 4,
+	PROTECTED           = 5,
+	DEVICE_COHERENT_AMD = 6,
+	DEVICE_UNCACHED_AMD = 7,
+	RDMA_CAPABLE_NV     = 8,
+}
+
+ObjectType :: enum c.int {
+	UNKNOWN                         = 0,
+	INSTANCE                        = 1,
+	PHYSICAL_DEVICE                 = 2,
+	DEVICE                          = 3,
+	QUEUE                           = 4,
+	SEMAPHORE                       = 5,
+	COMMAND_BUFFER                  = 6,
+	FENCE                           = 7,
+	DEVICE_MEMORY                   = 8,
+	BUFFER                          = 9,
+	IMAGE                           = 10,
+	EVENT                           = 11,
+	QUERY_POOL                      = 12,
+	BUFFER_VIEW                     = 13,
+	IMAGE_VIEW                      = 14,
+	SHADER_MODULE                   = 15,
+	PIPELINE_CACHE                  = 16,
+	PIPELINE_LAYOUT                 = 17,
+	RENDER_PASS                     = 18,
+	PIPELINE                        = 19,
+	DESCRIPTOR_SET_LAYOUT           = 20,
+	SAMPLER                         = 21,
+	DESCRIPTOR_POOL                 = 22,
+	DESCRIPTOR_SET                  = 23,
+	FRAMEBUFFER                     = 24,
+	COMMAND_POOL                    = 25,
+	SAMPLER_YCBCR_CONVERSION        = 1000156000,
+	DESCRIPTOR_UPDATE_TEMPLATE      = 1000085000,
+	PRIVATE_DATA_SLOT               = 1000295000,
+	SURFACE_KHR                     = 1000000000,
+	SWAPCHAIN_KHR                   = 1000001000,
+	DISPLAY_KHR                     = 1000002000,
+	DISPLAY_MODE_KHR                = 1000002001,
+	DEBUG_REPORT_CALLBACK_EXT       = 1000011000,
+	VIDEO_SESSION_KHR               = 1000023000,
+	VIDEO_SESSION_PARAMETERS_KHR    = 1000023001,
+	CU_MODULE_NVX                   = 1000029000,
+	CU_FUNCTION_NVX                 = 1000029001,
+	DEBUG_UTILS_MESSENGER_EXT       = 1000128000,
+	ACCELERATION_STRUCTURE_KHR      = 1000150000,
+	VALIDATION_CACHE_EXT            = 1000160000,
+	ACCELERATION_STRUCTURE_NV       = 1000165000,
+	PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
+	DEFERRED_OPERATION_KHR          = 1000268000,
+	INDIRECT_COMMANDS_LAYOUT_NV     = 1000277000,
+	BUFFER_COLLECTION_FUCHSIA       = 1000366000,
+	DESCRIPTOR_UPDATE_TEMPLATE_KHR  = DESCRIPTOR_UPDATE_TEMPLATE,
+	SAMPLER_YCBCR_CONVERSION_KHR    = SAMPLER_YCBCR_CONVERSION,
+	PRIVATE_DATA_SLOT_EXT           = PRIVATE_DATA_SLOT,
+}
+
+PeerMemoryFeatureFlags :: distinct bit_set[PeerMemoryFeatureFlag; Flags]
+PeerMemoryFeatureFlag :: enum Flags {
+	COPY_SRC        = 0,
+	COPY_DST        = 1,
+	GENERIC_SRC     = 2,
+	GENERIC_DST     = 3,
+	COPY_SRC_KHR    = COPY_SRC,
+	COPY_DST_KHR    = COPY_DST,
+	GENERIC_SRC_KHR = GENERIC_SRC,
+	GENERIC_DST_KHR = GENERIC_DST,
+}
+
+PerformanceConfigurationTypeINTEL :: enum c.int {
+	PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
+}
+
+PerformanceCounterDescriptionFlagsKHR :: distinct bit_set[PerformanceCounterDescriptionFlagKHR; Flags]
+PerformanceCounterDescriptionFlagKHR :: enum Flags {
+	PERFORMANCE_IMPACTING = 0,
+	CONCURRENTLY_IMPACTED = 1,
+}
+
+PerformanceCounterScopeKHR :: enum c.int {
+	COMMAND_BUFFER             = 0,
+	RENDER_PASS                = 1,
+	COMMAND                    = 2,
+	QUERY_SCOPE_COMMAND_BUFFER = COMMAND_BUFFER,
+	QUERY_SCOPE_RENDER_PASS    = RENDER_PASS,
+	QUERY_SCOPE_COMMAND        = COMMAND,
+}
+
+PerformanceCounterStorageKHR :: enum c.int {
+	INT32   = 0,
+	INT64   = 1,
+	UINT32  = 2,
+	UINT64  = 3,
+	FLOAT32 = 4,
+	FLOAT64 = 5,
+}
+
+PerformanceCounterUnitKHR :: enum c.int {
+	GENERIC          = 0,
+	PERCENTAGE       = 1,
+	NANOSECONDS      = 2,
+	BYTES            = 3,
+	BYTES_PER_SECOND = 4,
+	KELVIN           = 5,
+	WATTS            = 6,
+	VOLTS            = 7,
+	AMPS             = 8,
+	HERTZ            = 9,
+	CYCLES           = 10,
+}
+
+PerformanceOverrideTypeINTEL :: enum c.int {
+	PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL    = 0,
+	PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
+}
+
+PerformanceParameterTypeINTEL :: enum c.int {
+	PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL    = 0,
+	PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
+}
+
+PerformanceValueTypeINTEL :: enum c.int {
+	PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
+	PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
+	PERFORMANCE_VALUE_TYPE_FLOAT_INTEL  = 2,
+	PERFORMANCE_VALUE_TYPE_BOOL_INTEL   = 3,
+	PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
+}
+
+PhysicalDeviceType :: enum c.int {
+	OTHER          = 0,
+	INTEGRATED_GPU = 1,
+	DISCRETE_GPU   = 2,
+	VIRTUAL_GPU    = 3,
+	CPU            = 4,
+}
+
+PipelineBindPoint :: enum c.int {
+	GRAPHICS               = 0,
+	COMPUTE                = 1,
+	RAY_TRACING_KHR        = 1000165000,
+	SUBPASS_SHADING_HUAWEI = 1000369003,
+	RAY_TRACING_NV         = RAY_TRACING_KHR,
+}
+
+PipelineCacheCreateFlags :: distinct bit_set[PipelineCacheCreateFlag; Flags]
+PipelineCacheCreateFlag :: enum Flags {
+	EXTERNALLY_SYNCHRONIZED     = 0,
+	EXTERNALLY_SYNCHRONIZED_EXT = EXTERNALLY_SYNCHRONIZED,
+}
+
+PipelineCacheHeaderVersion :: enum c.int {
+	ONE = 1,
+}
+
+PipelineColorBlendStateCreateFlags :: distinct bit_set[PipelineColorBlendStateCreateFlag; Flags]
+PipelineColorBlendStateCreateFlag :: enum Flags {
+	RASTERIZATION_ORDER_ATTACHMENT_ACCESS_ARM = 0,
+}
+
+PipelineCompilerControlFlagsAMD :: distinct bit_set[PipelineCompilerControlFlagAMD; Flags]
+PipelineCompilerControlFlagAMD :: enum Flags {
+}
+
+PipelineCreateFlags :: distinct bit_set[PipelineCreateFlag; Flags]
+PipelineCreateFlag :: enum Flags {
+	DISABLE_OPTIMIZATION                                                     = 0,
+	ALLOW_DERIVATIVES                                                        = 1,
+	DERIVATIVE                                                               = 2,
+	VIEW_INDEX_FROM_DEVICE_INDEX                                             = 3,
+	DISPATCH_BASE                                                            = 4,
+	FAIL_ON_PIPELINE_COMPILE_REQUIRED                                        = 8,
+	EARLY_RETURN_ON_FAILURE                                                  = 9,
+	RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR                           = 21,
+	RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT                            = 22,
+	RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_KHR                                  = 14,
+	RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_KHR                              = 15,
+	RAY_TRACING_NO_NULL_MISS_SHADERS_KHR                                     = 16,
+	RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_KHR                             = 17,
+	RAY_TRACING_SKIP_TRIANGLES_KHR                                           = 12,
+	RAY_TRACING_SKIP_AABBS_KHR                                               = 13,
+	RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_KHR                       = 19,
+	DEFER_COMPILE_NV                                                         = 5,
+	CAPTURE_STATISTICS_KHR                                                   = 6,
+	CAPTURE_INTERNAL_REPRESENTATIONS_KHR                                     = 7,
+	INDIRECT_BINDABLE_NV                                                     = 18,
+	LIBRARY_KHR                                                              = 11,
+	RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT                                   = 23,
+	LINK_TIME_OPTIMIZATION_EXT                                               = 10,
+	RAY_TRACING_ALLOW_MOTION_NV                                              = 20,
+	PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR,
+	PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT  = RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT,
+	VIEW_INDEX_FROM_DEVICE_INDEX_KHR                                         = VIEW_INDEX_FROM_DEVICE_INDEX,
+	DISPATCH_BASE_KHR                                                        = DISPATCH_BASE,
+	FAIL_ON_PIPELINE_COMPILE_REQUIRED_EXT                                    = FAIL_ON_PIPELINE_COMPILE_REQUIRED,
+	EARLY_RETURN_ON_FAILURE_EXT                                              = EARLY_RETURN_ON_FAILURE,
+}
+
+PipelineCreationFeedbackFlags :: distinct bit_set[PipelineCreationFeedbackFlag; Flags]
+PipelineCreationFeedbackFlag :: enum Flags {
+	VALID                              = 0,
+	APPLICATION_PIPELINE_CACHE_HIT     = 1,
+	BASE_PIPELINE_ACCELERATION         = 2,
+	VALID_EXT                          = VALID,
+	APPLICATION_PIPELINE_CACHE_HIT_EXT = APPLICATION_PIPELINE_CACHE_HIT,
+	BASE_PIPELINE_ACCELERATION_EXT     = BASE_PIPELINE_ACCELERATION,
+}
+
+PipelineDepthStencilStateCreateFlags :: distinct bit_set[PipelineDepthStencilStateCreateFlag; Flags]
+PipelineDepthStencilStateCreateFlag :: enum Flags {
+	RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM   = 0,
+	RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM = 1,
+}
+
+PipelineExecutableStatisticFormatKHR :: enum c.int {
+	BOOL32  = 0,
+	INT64   = 1,
+	UINT64  = 2,
+	FLOAT64 = 3,
+}
+
+PipelineLayoutCreateFlags :: distinct bit_set[PipelineLayoutCreateFlag; Flags]
+PipelineLayoutCreateFlag :: enum Flags {
+	INDEPENDENT_SETS_EXT = 1,
+}
+
+PipelineShaderStageCreateFlags :: distinct bit_set[PipelineShaderStageCreateFlag; Flags]
+PipelineShaderStageCreateFlag :: enum Flags {
+	ALLOW_VARYING_SUBGROUP_SIZE     = 0,
+	REQUIRE_FULL_SUBGROUPS          = 1,
+	ALLOW_VARYING_SUBGROUP_SIZE_EXT = ALLOW_VARYING_SUBGROUP_SIZE,
+	REQUIRE_FULL_SUBGROUPS_EXT      = REQUIRE_FULL_SUBGROUPS,
+}
+
+PipelineStageFlags :: distinct bit_set[PipelineStageFlag; Flags]
+PipelineStageFlag :: enum Flags {
+	TOP_OF_PIPE                          = 0,
+	DRAW_INDIRECT                        = 1,
+	VERTEX_INPUT                         = 2,
+	VERTEX_SHADER                        = 3,
+	TESSELLATION_CONTROL_SHADER          = 4,
+	TESSELLATION_EVALUATION_SHADER       = 5,
+	GEOMETRY_SHADER                      = 6,
+	FRAGMENT_SHADER                      = 7,
+	EARLY_FRAGMENT_TESTS                 = 8,
+	LATE_FRAGMENT_TESTS                  = 9,
+	COLOR_ATTACHMENT_OUTPUT              = 10,
+	COMPUTE_SHADER                       = 11,
+	TRANSFER                             = 12,
+	BOTTOM_OF_PIPE                       = 13,
+	HOST                                 = 14,
+	ALL_GRAPHICS                         = 15,
+	ALL_COMMANDS                         = 16,
+	TRANSFORM_FEEDBACK_EXT               = 24,
+	CONDITIONAL_RENDERING_EXT            = 18,
+	ACCELERATION_STRUCTURE_BUILD_KHR     = 25,
+	RAY_TRACING_SHADER_KHR               = 21,
+	TASK_SHADER_NV                       = 19,
+	MESH_SHADER_NV                       = 20,
+	FRAGMENT_DENSITY_PROCESS_EXT         = 23,
+	FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 22,
+	COMMAND_PREPROCESS_NV                = 17,
+	SHADING_RATE_IMAGE_NV                = FRAGMENT_SHADING_RATE_ATTACHMENT_KHR,
+	RAY_TRACING_SHADER_NV                = RAY_TRACING_SHADER_KHR,
+	ACCELERATION_STRUCTURE_BUILD_NV      = ACCELERATION_STRUCTURE_BUILD_KHR,
+}
+
+PipelineStageFlags_NONE :: PipelineStageFlags{}
+
+
+PointClippingBehavior :: enum c.int {
+	ALL_CLIP_PLANES           = 0,
+	USER_CLIP_PLANES_ONLY     = 1,
+	ALL_CLIP_PLANES_KHR       = ALL_CLIP_PLANES,
+	USER_CLIP_PLANES_ONLY_KHR = USER_CLIP_PLANES_ONLY,
+}
+
+PolygonMode :: enum c.int {
+	FILL              = 0,
+	LINE              = 1,
+	POINT             = 2,
+	FILL_RECTANGLE_NV = 1000153000,
+}
+
+PresentModeKHR :: enum c.int {
+	IMMEDIATE                 = 0,
+	MAILBOX                   = 1,
+	FIFO                      = 2,
+	FIFO_RELAXED              = 3,
+	SHARED_DEMAND_REFRESH     = 1000111000,
+	SHARED_CONTINUOUS_REFRESH = 1000111001,
+}
+
+PrimitiveTopology :: enum c.int {
+	POINT_LIST                    = 0,
+	LINE_LIST                     = 1,
+	LINE_STRIP                    = 2,
+	TRIANGLE_LIST                 = 3,
+	TRIANGLE_STRIP                = 4,
+	TRIANGLE_FAN                  = 5,
+	LINE_LIST_WITH_ADJACENCY      = 6,
+	LINE_STRIP_WITH_ADJACENCY     = 7,
+	TRIANGLE_LIST_WITH_ADJACENCY  = 8,
+	TRIANGLE_STRIP_WITH_ADJACENCY = 9,
+	PATCH_LIST                    = 10,
+}
+
+ProvokingVertexModeEXT :: enum c.int {
+	FIRST_VERTEX = 0,
+	LAST_VERTEX  = 1,
+}
+
+QueryControlFlags :: distinct bit_set[QueryControlFlag; Flags]
+QueryControlFlag :: enum Flags {
+	PRECISE = 0,
+}
+
+QueryPipelineStatisticFlags :: distinct bit_set[QueryPipelineStatisticFlag; Flags]
+QueryPipelineStatisticFlag :: enum Flags {
+	INPUT_ASSEMBLY_VERTICES                    = 0,
+	INPUT_ASSEMBLY_PRIMITIVES                  = 1,
+	VERTEX_SHADER_INVOCATIONS                  = 2,
+	GEOMETRY_SHADER_INVOCATIONS                = 3,
+	GEOMETRY_SHADER_PRIMITIVES                 = 4,
+	CLIPPING_INVOCATIONS                       = 5,
+	CLIPPING_PRIMITIVES                        = 6,
+	FRAGMENT_SHADER_INVOCATIONS                = 7,
+	TESSELLATION_CONTROL_SHADER_PATCHES        = 8,
+	TESSELLATION_EVALUATION_SHADER_INVOCATIONS = 9,
+	COMPUTE_SHADER_INVOCATIONS                 = 10,
+}
+
+QueryPoolSamplingModeINTEL :: enum c.int {
+	QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
+}
+
+QueryResultFlags :: distinct bit_set[QueryResultFlag; Flags]
+QueryResultFlag :: enum Flags {
+	_64               = 0,
+	WAIT              = 1,
+	WITH_AVAILABILITY = 2,
+	PARTIAL           = 3,
+	WITH_STATUS_KHR   = 4,
+}
+
+QueryType :: enum c.int {
+	OCCLUSION                                     = 0,
+	PIPELINE_STATISTICS                           = 1,
+	TIMESTAMP                                     = 2,
+	RESULT_STATUS_ONLY_KHR                        = 1000023000,
+	TRANSFORM_FEEDBACK_STREAM_EXT                 = 1000028004,
+	PERFORMANCE_QUERY_KHR                         = 1000116000,
+	ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR     = 1000150000,
+	ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
+	ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV      = 1000165000,
+	PERFORMANCE_QUERY_INTEL                       = 1000210000,
+	VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR       = 1000299000,
+	PRIMITIVES_GENERATED_EXT                      = 1000382000,
+}
+
+QueueFlags :: distinct bit_set[QueueFlag; Flags]
+QueueFlag :: enum Flags {
+	GRAPHICS         = 0,
+	COMPUTE          = 1,
+	TRANSFER         = 2,
+	SPARSE_BINDING   = 3,
+	PROTECTED        = 4,
+	VIDEO_DECODE_KHR = 5,
+	VIDEO_ENCODE_KHR = 6,
+}
+
+QueueGlobalPriorityKHR :: enum c.int {
+	LOW          = 128,
+	MEDIUM       = 256,
+	HIGH         = 512,
+	REALTIME     = 1024,
+	LOW_EXT      = LOW,
+	MEDIUM_EXT   = MEDIUM,
+	HIGH_EXT     = HIGH,
+	REALTIME_EXT = REALTIME,
+}
+
+RasterizationOrderAMD :: enum c.int {
+	STRICT  = 0,
+	RELAXED = 1,
+}
+
+RayTracingShaderGroupTypeKHR :: enum c.int {
+	GENERAL                 = 0,
+	TRIANGLES_HIT_GROUP     = 1,
+	PROCEDURAL_HIT_GROUP    = 2,
+	GENERAL_NV              = GENERAL,
+	TRIANGLES_HIT_GROUP_NV  = TRIANGLES_HIT_GROUP,
+	PROCEDURAL_HIT_GROUP_NV = PROCEDURAL_HIT_GROUP,
+}
+
+RenderPassCreateFlags :: distinct bit_set[RenderPassCreateFlag; Flags]
+RenderPassCreateFlag :: enum Flags {
+	TRANSFORM_QCOM = 1,
+}
+
+RenderingFlags :: distinct bit_set[RenderingFlag; Flags]
+RenderingFlag :: enum Flags {
+	CONTENTS_SECONDARY_COMMAND_BUFFERS     = 0,
+	SUSPENDING                             = 1,
+	RESUMING                               = 2,
+	CONTENTS_SECONDARY_COMMAND_BUFFERS_KHR = CONTENTS_SECONDARY_COMMAND_BUFFERS,
+	SUSPENDING_KHR                         = SUSPENDING,
+	RESUMING_KHR                           = RESUMING,
+}
+
+ResolveModeFlags :: distinct bit_set[ResolveModeFlag; Flags]
+ResolveModeFlag :: enum Flags {
+	SAMPLE_ZERO     = 0,
+	AVERAGE         = 1,
+	MIN             = 2,
+	MAX             = 3,
+	SAMPLE_ZERO_KHR = SAMPLE_ZERO,
+	AVERAGE_KHR     = AVERAGE,
+	MIN_KHR         = MIN,
+	MAX_KHR         = MAX,
+}
+
+ResolveModeFlags_NONE :: ResolveModeFlags{}
+
+
+Result :: enum c.int {
+	SUCCESS                                            = 0,
+	NOT_READY                                          = 1,
+	TIMEOUT                                            = 2,
+	EVENT_SET                                          = 3,
+	EVENT_RESET                                        = 4,
+	INCOMPLETE                                         = 5,
+	ERROR_OUT_OF_HOST_MEMORY                           = -1,
+	ERROR_OUT_OF_DEVICE_MEMORY                         = -2,
+	ERROR_INITIALIZATION_FAILED                        = -3,
+	ERROR_DEVICE_LOST                                  = -4,
+	ERROR_MEMORY_MAP_FAILED                            = -5,
+	ERROR_LAYER_NOT_PRESENT                            = -6,
+	ERROR_EXTENSION_NOT_PRESENT                        = -7,
+	ERROR_FEATURE_NOT_PRESENT                          = -8,
+	ERROR_INCOMPATIBLE_DRIVER                          = -9,
+	ERROR_TOO_MANY_OBJECTS                             = -10,
+	ERROR_FORMAT_NOT_SUPPORTED                         = -11,
+	ERROR_FRAGMENTED_POOL                              = -12,
+	ERROR_UNKNOWN                                      = -13,
+	ERROR_OUT_OF_POOL_MEMORY                           = -1000069000,
+	ERROR_INVALID_EXTERNAL_HANDLE                      = -1000072003,
+	ERROR_FRAGMENTATION                                = -1000161000,
+	ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS               = -1000257000,
+	PIPELINE_COMPILE_REQUIRED                          = 1000297000,
+	ERROR_SURFACE_LOST_KHR                             = -1000000000,
+	ERROR_NATIVE_WINDOW_IN_USE_KHR                     = -1000000001,
+	SUBOPTIMAL_KHR                                     = 1000001003,
+	ERROR_OUT_OF_DATE_KHR                              = -1000001004,
+	ERROR_INCOMPATIBLE_DISPLAY_KHR                     = -1000003001,
+	ERROR_VALIDATION_FAILED_EXT                        = -1000011001,
+	ERROR_INVALID_SHADER_NV                            = -1000012000,
+	ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
+	ERROR_NOT_PERMITTED_KHR                            = -1000174001,
+	ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT          = -1000255000,
+	THREAD_IDLE_KHR                                    = 1000268000,
+	THREAD_DONE_KHR                                    = 1000268001,
+	OPERATION_DEFERRED_KHR                             = 1000268002,
+	OPERATION_NOT_DEFERRED_KHR                         = 1000268003,
+	ERROR_OUT_OF_POOL_MEMORY_KHR                       = ERROR_OUT_OF_POOL_MEMORY,
+	ERROR_INVALID_EXTERNAL_HANDLE_KHR                  = ERROR_INVALID_EXTERNAL_HANDLE,
+	ERROR_FRAGMENTATION_EXT                            = ERROR_FRAGMENTATION,
+	ERROR_NOT_PERMITTED_EXT                            = ERROR_NOT_PERMITTED_KHR,
+	ERROR_INVALID_DEVICE_ADDRESS_EXT                   = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
+	ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR           = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
+	PIPELINE_COMPILE_REQUIRED_EXT                      = PIPELINE_COMPILE_REQUIRED,
+	ERROR_PIPELINE_COMPILE_REQUIRED_EXT                = PIPELINE_COMPILE_REQUIRED,
+}
+
+SampleCountFlags :: distinct bit_set[SampleCountFlag; Flags]
+SampleCountFlag :: enum Flags {
+	_1  = 0,
+	_2  = 1,
+	_4  = 2,
+	_8  = 3,
+	_16 = 4,
+	_32 = 5,
+	_64 = 6,
+}
+
+SamplerAddressMode :: enum c.int {
+	REPEAT                   = 0,
+	MIRRORED_REPEAT          = 1,
+	CLAMP_TO_EDGE            = 2,
+	CLAMP_TO_BORDER          = 3,
+	MIRROR_CLAMP_TO_EDGE     = 4,
+	MIRROR_CLAMP_TO_EDGE_KHR = MIRROR_CLAMP_TO_EDGE,
+}
+
+SamplerCreateFlags :: distinct bit_set[SamplerCreateFlag; Flags]
+SamplerCreateFlag :: enum Flags {
+	SUBSAMPLED_EXT                       = 0,
+	SUBSAMPLED_COARSE_RECONSTRUCTION_EXT = 1,
+}
+
+SamplerMipmapMode :: enum c.int {
+	NEAREST = 0,
+	LINEAR  = 1,
+}
+
+SamplerReductionMode :: enum c.int {
+	WEIGHTED_AVERAGE     = 0,
+	MIN                  = 1,
+	MAX                  = 2,
+	WEIGHTED_AVERAGE_EXT = WEIGHTED_AVERAGE,
+	MIN_EXT              = MIN,
+	MAX_EXT              = MAX,
+}
+
+SamplerYcbcrModelConversion :: enum c.int {
+	RGB_IDENTITY       = 0,
+	YCBCR_IDENTITY     = 1,
+	YCBCR_709          = 2,
+	YCBCR_601          = 3,
+	YCBCR_2020         = 4,
+	RGB_IDENTITY_KHR   = RGB_IDENTITY,
+	YCBCR_IDENTITY_KHR = YCBCR_IDENTITY,
+	YCBCR_709_KHR      = YCBCR_709,
+	YCBCR_601_KHR      = YCBCR_601,
+	YCBCR_2020_KHR     = YCBCR_2020,
+}
+
+SamplerYcbcrRange :: enum c.int {
+	ITU_FULL       = 0,
+	ITU_NARROW     = 1,
+	ITU_FULL_KHR   = ITU_FULL,
+	ITU_NARROW_KHR = ITU_NARROW,
+}
+
+ScopeNV :: enum c.int {
+	DEVICE       = 1,
+	WORKGROUP    = 2,
+	SUBGROUP     = 3,
+	QUEUE_FAMILY = 5,
+}
+
+SemaphoreImportFlags :: distinct bit_set[SemaphoreImportFlag; Flags]
+SemaphoreImportFlag :: enum Flags {
+	TEMPORARY     = 0,
+	TEMPORARY_KHR = TEMPORARY,
+}
+
+SemaphoreType :: enum c.int {
+	BINARY       = 0,
+	TIMELINE     = 1,
+	BINARY_KHR   = BINARY,
+	TIMELINE_KHR = TIMELINE,
+}
+
+SemaphoreWaitFlags :: distinct bit_set[SemaphoreWaitFlag; Flags]
+SemaphoreWaitFlag :: enum Flags {
+	ANY     = 0,
+	ANY_KHR = ANY,
+}
+
+ShaderCorePropertiesFlagsAMD :: distinct bit_set[ShaderCorePropertiesFlagAMD; Flags]
+ShaderCorePropertiesFlagAMD :: enum Flags {
+}
+
+ShaderFloatControlsIndependence :: enum c.int {
+	_32_BIT_ONLY     = 0,
+	ALL              = 1,
+	NONE             = 2,
+	_32_BIT_ONLY_KHR = _32_BIT_ONLY,
+	ALL_KHR          = ALL,
+}
+
+ShaderGroupShaderKHR :: enum c.int {
+	GENERAL      = 0,
+	CLOSEST_HIT  = 1,
+	ANY_HIT      = 2,
+	INTERSECTION = 3,
+}
+
+ShaderInfoTypeAMD :: enum c.int {
+	STATISTICS  = 0,
+	BINARY      = 1,
+	DISASSEMBLY = 2,
+}
+
+ShaderStageFlags :: distinct bit_set[ShaderStageFlag; Flags]
+ShaderStageFlag :: enum Flags {
+	VERTEX                  = 0,
+	TESSELLATION_CONTROL    = 1,
+	TESSELLATION_EVALUATION = 2,
+	GEOMETRY                = 3,
+	FRAGMENT                = 4,
+	COMPUTE                 = 5,
+	RAYGEN_KHR              = 8,
+	ANY_HIT_KHR             = 9,
+	CLOSEST_HIT_KHR         = 10,
+	MISS_KHR                = 11,
+	INTERSECTION_KHR        = 12,
+	CALLABLE_KHR            = 13,
+	TASK_NV                 = 6,
+	MESH_NV                 = 7,
+	SUBPASS_SHADING_HUAWEI  = 14,
+	RAYGEN_NV               = RAYGEN_KHR,
+	ANY_HIT_NV              = ANY_HIT_KHR,
+	CLOSEST_HIT_NV          = CLOSEST_HIT_KHR,
+	MISS_NV                 = MISS_KHR,
+	INTERSECTION_NV         = INTERSECTION_KHR,
+	CALLABLE_NV             = CALLABLE_KHR,
+	_MAX                    = 31, // Needed for the *_ALL bit set
+}
+
+ShaderStageFlags_ALL_GRAPHICS :: ShaderStageFlags{.VERTEX, .TESSELLATION_CONTROL, .TESSELLATION_EVALUATION, .GEOMETRY, .FRAGMENT}
+ShaderStageFlags_ALL :: ShaderStageFlags{.VERTEX, .TESSELLATION_CONTROL, .TESSELLATION_EVALUATION, .GEOMETRY, .FRAGMENT, .COMPUTE, .TASK_NV, .MESH_NV, .RAYGEN_KHR, .ANY_HIT_KHR, .CLOSEST_HIT_KHR, .MISS_KHR, .INTERSECTION_KHR, .CALLABLE_KHR, .SUBPASS_SHADING_HUAWEI, ShaderStageFlag(15), ShaderStageFlag(16), ShaderStageFlag(17), ShaderStageFlag(18), ShaderStageFlag(19), ShaderStageFlag(20), ShaderStageFlag(21), ShaderStageFlag(22), ShaderStageFlag(23), ShaderStageFlag(24), ShaderStageFlag(25), ShaderStageFlag(26), ShaderStageFlag(27), ShaderStageFlag(28), ShaderStageFlag(29), ShaderStageFlag(30)}
+
+
+ShadingRatePaletteEntryNV :: enum c.int {
+	NO_INVOCATIONS               = 0,
+	_16_INVOCATIONS_PER_PIXEL    = 1,
+	_8_INVOCATIONS_PER_PIXEL     = 2,
+	_4_INVOCATIONS_PER_PIXEL     = 3,
+	_2_INVOCATIONS_PER_PIXEL     = 4,
+	_1_INVOCATION_PER_PIXEL      = 5,
+	_1_INVOCATION_PER_2X1_PIXELS = 6,
+	_1_INVOCATION_PER_1X2_PIXELS = 7,
+	_1_INVOCATION_PER_2X2_PIXELS = 8,
+	_1_INVOCATION_PER_4X2_PIXELS = 9,
+	_1_INVOCATION_PER_2X4_PIXELS = 10,
+	_1_INVOCATION_PER_4X4_PIXELS = 11,
+}
+
+SharingMode :: enum c.int {
+	EXCLUSIVE  = 0,
+	CONCURRENT = 1,
+}
+
+SparseImageFormatFlags :: distinct bit_set[SparseImageFormatFlag; Flags]
+SparseImageFormatFlag :: enum Flags {
+	SINGLE_MIPTAIL         = 0,
+	ALIGNED_MIP_SIZE       = 1,
+	NONSTANDARD_BLOCK_SIZE = 2,
+}
+
+SparseMemoryBindFlags :: distinct bit_set[SparseMemoryBindFlag; Flags]
+SparseMemoryBindFlag :: enum Flags {
+	METADATA = 0,
+}
+
+StencilFaceFlags :: distinct bit_set[StencilFaceFlag; Flags]
+StencilFaceFlag :: enum Flags {
+	FRONT                  = 0,
+	BACK                   = 1,
+}
+
+StencilFaceFlags_FRONT_AND_BACK :: StencilFaceFlags{.FRONT, .BACK}
+
+
+StencilOp :: enum c.int {
+	KEEP                = 0,
+	ZERO                = 1,
+	REPLACE             = 2,
+	INCREMENT_AND_CLAMP = 3,
+	DECREMENT_AND_CLAMP = 4,
+	INVERT              = 5,
+	INCREMENT_AND_WRAP  = 6,
+	DECREMENT_AND_WRAP  = 7,
+}
+
+StructureType :: enum c.int {
+	APPLICATION_INFO                                                   = 0,
+	INSTANCE_CREATE_INFO                                               = 1,
+	DEVICE_QUEUE_CREATE_INFO                                           = 2,
+	DEVICE_CREATE_INFO                                                 = 3,
+	SUBMIT_INFO                                                        = 4,
+	MEMORY_ALLOCATE_INFO                                               = 5,
+	MAPPED_MEMORY_RANGE                                                = 6,
+	BIND_SPARSE_INFO                                                   = 7,
+	FENCE_CREATE_INFO                                                  = 8,
+	SEMAPHORE_CREATE_INFO                                              = 9,
+	EVENT_CREATE_INFO                                                  = 10,
+	QUERY_POOL_CREATE_INFO                                             = 11,
+	BUFFER_CREATE_INFO                                                 = 12,
+	BUFFER_VIEW_CREATE_INFO                                            = 13,
+	IMAGE_CREATE_INFO                                                  = 14,
+	IMAGE_VIEW_CREATE_INFO                                             = 15,
+	SHADER_MODULE_CREATE_INFO                                          = 16,
+	PIPELINE_CACHE_CREATE_INFO                                         = 17,
+	PIPELINE_SHADER_STAGE_CREATE_INFO                                  = 18,
+	PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO                            = 19,
+	PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO                          = 20,
+	PIPELINE_TESSELLATION_STATE_CREATE_INFO                            = 21,
+	PIPELINE_VIEWPORT_STATE_CREATE_INFO                                = 22,
+	PIPELINE_RASTERIZATION_STATE_CREATE_INFO                           = 23,
+	PIPELINE_MULTISAMPLE_STATE_CREATE_INFO                             = 24,
+	PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO                           = 25,
+	PIPELINE_COLOR_BLEND_STATE_CREATE_INFO                             = 26,
+	PIPELINE_DYNAMIC_STATE_CREATE_INFO                                 = 27,
+	GRAPHICS_PIPELINE_CREATE_INFO                                      = 28,
+	COMPUTE_PIPELINE_CREATE_INFO                                       = 29,
+	PIPELINE_LAYOUT_CREATE_INFO                                        = 30,
+	SAMPLER_CREATE_INFO                                                = 31,
+	DESCRIPTOR_SET_LAYOUT_CREATE_INFO                                  = 32,
+	DESCRIPTOR_POOL_CREATE_INFO                                        = 33,
+	DESCRIPTOR_SET_ALLOCATE_INFO                                       = 34,
+	WRITE_DESCRIPTOR_SET                                               = 35,
+	COPY_DESCRIPTOR_SET                                                = 36,
+	FRAMEBUFFER_CREATE_INFO                                            = 37,
+	RENDER_PASS_CREATE_INFO                                            = 38,
+	COMMAND_POOL_CREATE_INFO                                           = 39,
+	COMMAND_BUFFER_ALLOCATE_INFO                                       = 40,
+	COMMAND_BUFFER_INHERITANCE_INFO                                    = 41,
+	COMMAND_BUFFER_BEGIN_INFO                                          = 42,
+	RENDER_PASS_BEGIN_INFO                                             = 43,
+	BUFFER_MEMORY_BARRIER                                              = 44,
+	IMAGE_MEMORY_BARRIER                                               = 45,
+	MEMORY_BARRIER                                                     = 46,
+	LOADER_INSTANCE_CREATE_INFO                                        = 47,
+	LOADER_DEVICE_CREATE_INFO                                          = 48,
+	PHYSICAL_DEVICE_SUBGROUP_PROPERTIES                                = 1000094000,
+	BIND_BUFFER_MEMORY_INFO                                            = 1000157000,
+	BIND_IMAGE_MEMORY_INFO                                             = 1000157001,
+	PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES                             = 1000083000,
+	MEMORY_DEDICATED_REQUIREMENTS                                      = 1000127000,
+	MEMORY_DEDICATED_ALLOCATE_INFO                                     = 1000127001,
+	MEMORY_ALLOCATE_FLAGS_INFO                                         = 1000060000,
+	DEVICE_GROUP_RENDER_PASS_BEGIN_INFO                                = 1000060003,
+	DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO                             = 1000060004,
+	DEVICE_GROUP_SUBMIT_INFO                                           = 1000060005,
+	DEVICE_GROUP_BIND_SPARSE_INFO                                      = 1000060006,
+	BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO                               = 1000060013,
+	BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO                                = 1000060014,
+	PHYSICAL_DEVICE_GROUP_PROPERTIES                                   = 1000070000,
+	DEVICE_GROUP_DEVICE_CREATE_INFO                                    = 1000070001,
+	BUFFER_MEMORY_REQUIREMENTS_INFO_2                                  = 1000146000,
+	IMAGE_MEMORY_REQUIREMENTS_INFO_2                                   = 1000146001,
+	IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2                            = 1000146002,
+	MEMORY_REQUIREMENTS_2                                              = 1000146003,
+	SPARSE_IMAGE_MEMORY_REQUIREMENTS_2                                 = 1000146004,
+	PHYSICAL_DEVICE_FEATURES_2                                         = 1000059000,
+	PHYSICAL_DEVICE_PROPERTIES_2                                       = 1000059001,
+	FORMAT_PROPERTIES_2                                                = 1000059002,
+	IMAGE_FORMAT_PROPERTIES_2                                          = 1000059003,
+	PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2                                = 1000059004,
+	QUEUE_FAMILY_PROPERTIES_2                                          = 1000059005,
+	PHYSICAL_DEVICE_MEMORY_PROPERTIES_2                                = 1000059006,
+	SPARSE_IMAGE_FORMAT_PROPERTIES_2                                   = 1000059007,
+	PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2                         = 1000059008,
+	PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES                          = 1000117000,
+	RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO                    = 1000117001,
+	IMAGE_VIEW_USAGE_CREATE_INFO                                       = 1000117002,
+	PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO              = 1000117003,
+	RENDER_PASS_MULTIVIEW_CREATE_INFO                                  = 1000053000,
+	PHYSICAL_DEVICE_MULTIVIEW_FEATURES                                 = 1000053001,
+	PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES                               = 1000053002,
+	PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES                         = 1000120000,
+	PROTECTED_SUBMIT_INFO                                              = 1000145000,
+	PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES                          = 1000145001,
+	PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES                        = 1000145002,
+	DEVICE_QUEUE_INFO_2                                                = 1000145003,
+	SAMPLER_YCBCR_CONVERSION_CREATE_INFO                               = 1000156000,
+	SAMPLER_YCBCR_CONVERSION_INFO                                      = 1000156001,
+	BIND_IMAGE_PLANE_MEMORY_INFO                                       = 1000156002,
+	IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO                               = 1000156003,
+	PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES                  = 1000156004,
+	SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES                   = 1000156005,
+	DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO                             = 1000085000,
+	PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO                         = 1000071000,
+	EXTERNAL_IMAGE_FORMAT_PROPERTIES                                   = 1000071001,
+	PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO                               = 1000071002,
+	EXTERNAL_BUFFER_PROPERTIES                                         = 1000071003,
+	PHYSICAL_DEVICE_ID_PROPERTIES                                      = 1000071004,
+	EXTERNAL_MEMORY_BUFFER_CREATE_INFO                                 = 1000072000,
+	EXTERNAL_MEMORY_IMAGE_CREATE_INFO                                  = 1000072001,
+	EXPORT_MEMORY_ALLOCATE_INFO                                        = 1000072002,
+	PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO                                = 1000112000,
+	EXTERNAL_FENCE_PROPERTIES                                          = 1000112001,
+	EXPORT_FENCE_CREATE_INFO                                           = 1000113000,
+	EXPORT_SEMAPHORE_CREATE_INFO                                       = 1000077000,
+	PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO                            = 1000076000,
+	EXTERNAL_SEMAPHORE_PROPERTIES                                      = 1000076001,
+	PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES                           = 1000168000,
+	DESCRIPTOR_SET_LAYOUT_SUPPORT                                      = 1000168001,
+	PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES                    = 1000063000,
+	PHYSICAL_DEVICE_VULKAN_1_1_FEATURES                                = 49,
+	PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES                              = 50,
+	PHYSICAL_DEVICE_VULKAN_1_2_FEATURES                                = 51,
+	PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES                              = 52,
+	IMAGE_FORMAT_LIST_CREATE_INFO                                      = 1000147000,
+	ATTACHMENT_DESCRIPTION_2                                           = 1000109000,
+	ATTACHMENT_REFERENCE_2                                             = 1000109001,
+	SUBPASS_DESCRIPTION_2                                              = 1000109002,
+	SUBPASS_DEPENDENCY_2                                               = 1000109003,
+	RENDER_PASS_CREATE_INFO_2                                          = 1000109004,
+	SUBPASS_BEGIN_INFO                                                 = 1000109005,
+	SUBPASS_END_INFO                                                   = 1000109006,
+	PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES                              = 1000177000,
+	PHYSICAL_DEVICE_DRIVER_PROPERTIES                                  = 1000196000,
+	PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES                       = 1000180000,
+	PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES                       = 1000082000,
+	PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES                          = 1000197000,
+	DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO                    = 1000161000,
+	PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES                       = 1000161001,
+	PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES                     = 1000161002,
+	DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO             = 1000161003,
+	DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT            = 1000161004,
+	PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES                   = 1000199000,
+	SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE                          = 1000199001,
+	PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES                       = 1000221000,
+	IMAGE_STENCIL_USAGE_CREATE_INFO                                    = 1000246000,
+	PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES                   = 1000130000,
+	SAMPLER_REDUCTION_MODE_CREATE_INFO                                 = 1000130001,
+	PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES                       = 1000211000,
+	PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES                     = 1000108000,
+	FRAMEBUFFER_ATTACHMENTS_CREATE_INFO                                = 1000108001,
+	FRAMEBUFFER_ATTACHMENT_IMAGE_INFO                                  = 1000108002,
+	RENDER_PASS_ATTACHMENT_BEGIN_INFO                                  = 1000108003,
+	PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES            = 1000253000,
+	PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES            = 1000175000,
+	PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES            = 1000241000,
+	ATTACHMENT_REFERENCE_STENCIL_LAYOUT                                = 1000241001,
+	ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT                              = 1000241002,
+	PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES                          = 1000261000,
+	PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES                        = 1000207000,
+	PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES                      = 1000207001,
+	SEMAPHORE_TYPE_CREATE_INFO                                         = 1000207002,
+	TIMELINE_SEMAPHORE_SUBMIT_INFO                                     = 1000207003,
+	SEMAPHORE_WAIT_INFO                                                = 1000207004,
+	SEMAPHORE_SIGNAL_INFO                                              = 1000207005,
+	PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES                     = 1000257000,
+	BUFFER_DEVICE_ADDRESS_INFO                                         = 1000244001,
+	BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO                          = 1000257002,
+	MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO                        = 1000257003,
+	DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO                          = 1000257004,
+	PHYSICAL_DEVICE_VULKAN_1_3_FEATURES                                = 53,
+	PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES                              = 54,
+	PIPELINE_CREATION_FEEDBACK_CREATE_INFO                             = 1000192000,
+	PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES               = 1000215000,
+	PHYSICAL_DEVICE_TOOL_PROPERTIES                                    = 1000245000,
+	PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES        = 1000276000,
+	PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES                              = 1000295000,
+	DEVICE_PRIVATE_DATA_CREATE_INFO                                    = 1000295001,
+	PRIVATE_DATA_SLOT_CREATE_INFO                                      = 1000295002,
+	PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES           = 1000297000,
+	MEMORY_BARRIER_2                                                   = 1000314000,
+	BUFFER_MEMORY_BARRIER_2                                            = 1000314001,
+	IMAGE_MEMORY_BARRIER_2                                             = 1000314002,
+	DEPENDENCY_INFO                                                    = 1000314003,
+	SUBMIT_INFO_2                                                      = 1000314004,
+	SEMAPHORE_SUBMIT_INFO                                              = 1000314005,
+	COMMAND_BUFFER_SUBMIT_INFO                                         = 1000314006,
+	PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES                         = 1000314007,
+	PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES          = 1000325000,
+	PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES                          = 1000335000,
+	COPY_BUFFER_INFO_2                                                 = 1000337000,
+	COPY_IMAGE_INFO_2                                                  = 1000337001,
+	COPY_BUFFER_TO_IMAGE_INFO_2                                        = 1000337002,
+	COPY_IMAGE_TO_BUFFER_INFO_2                                        = 1000337003,
+	BLIT_IMAGE_INFO_2                                                  = 1000337004,
+	RESOLVE_IMAGE_INFO_2                                               = 1000337005,
+	BUFFER_COPY_2                                                      = 1000337006,
+	IMAGE_COPY_2                                                       = 1000337007,
+	IMAGE_BLIT_2                                                       = 1000337008,
+	BUFFER_IMAGE_COPY_2                                                = 1000337009,
+	IMAGE_RESOLVE_2                                                    = 1000337010,
+	PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES                   = 1000225000,
+	PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO           = 1000225001,
+	PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES                     = 1000225002,
+	PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES                      = 1000138000,
+	PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES                    = 1000138001,
+	WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK                          = 1000138002,
+	DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO                   = 1000138003,
+	PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES              = 1000066000,
+	RENDERING_INFO                                                     = 1000044000,
+	RENDERING_ATTACHMENT_INFO                                          = 1000044001,
+	PIPELINE_RENDERING_CREATE_INFO                                     = 1000044002,
+	PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES                         = 1000044003,
+	COMMAND_BUFFER_INHERITANCE_RENDERING_INFO                          = 1000044004,
+	PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES                = 1000280000,
+	PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES              = 1000280001,
+	PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES                  = 1000281001,
+	FORMAT_PROPERTIES_3                                                = 1000360000,
+	PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES                             = 1000413000,
+	PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES                           = 1000413001,
+	DEVICE_BUFFER_MEMORY_REQUIREMENTS                                  = 1000413002,
+	DEVICE_IMAGE_MEMORY_REQUIREMENTS                                   = 1000413003,
+	SWAPCHAIN_CREATE_INFO_KHR                                          = 1000001000,
+	PRESENT_INFO_KHR                                                   = 1000001001,
+	DEVICE_GROUP_PRESENT_CAPABILITIES_KHR                              = 1000060007,
+	IMAGE_SWAPCHAIN_CREATE_INFO_KHR                                    = 1000060008,
+	BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR                               = 1000060009,
+	ACQUIRE_NEXT_IMAGE_INFO_KHR                                        = 1000060010,
+	DEVICE_GROUP_PRESENT_INFO_KHR                                      = 1000060011,
+	DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR                             = 1000060012,
+	DISPLAY_MODE_CREATE_INFO_KHR                                       = 1000002000,
+	DISPLAY_SURFACE_CREATE_INFO_KHR                                    = 1000002001,
+	DISPLAY_PRESENT_INFO_KHR                                           = 1000003000,
+	XLIB_SURFACE_CREATE_INFO_KHR                                       = 1000004000,
+	XCB_SURFACE_CREATE_INFO_KHR                                        = 1000005000,
+	WAYLAND_SURFACE_CREATE_INFO_KHR                                    = 1000006000,
+	ANDROID_SURFACE_CREATE_INFO_KHR                                    = 1000008000,
+	WIN32_SURFACE_CREATE_INFO_KHR                                      = 1000009000,
+	DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT                              = 1000011000,
+	PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD               = 1000018000,
+	DEBUG_MARKER_OBJECT_NAME_INFO_EXT                                  = 1000022000,
+	DEBUG_MARKER_OBJECT_TAG_INFO_EXT                                   = 1000022001,
+	DEBUG_MARKER_MARKER_INFO_EXT                                       = 1000022002,
+	VIDEO_PROFILE_KHR                                                  = 1000023000,
+	VIDEO_CAPABILITIES_KHR                                             = 1000023001,
+	VIDEO_PICTURE_RESOURCE_KHR                                         = 1000023002,
+	VIDEO_GET_MEMORY_PROPERTIES_KHR                                    = 1000023003,
+	VIDEO_BIND_MEMORY_KHR                                              = 1000023004,
+	VIDEO_SESSION_CREATE_INFO_KHR                                      = 1000023005,
+	VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR                           = 1000023006,
+	VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR                           = 1000023007,
+	VIDEO_BEGIN_CODING_INFO_KHR                                        = 1000023008,
+	VIDEO_END_CODING_INFO_KHR                                          = 1000023009,
+	VIDEO_CODING_CONTROL_INFO_KHR                                      = 1000023010,
+	VIDEO_REFERENCE_SLOT_KHR                                           = 1000023011,
+	VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR                                = 1000023012,
+	VIDEO_PROFILES_KHR                                                 = 1000023013,
+	PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR                              = 1000023014,
+	VIDEO_FORMAT_PROPERTIES_KHR                                        = 1000023015,
+	QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR                  = 1000023016,
+	VIDEO_DECODE_INFO_KHR                                              = 1000024000,
+	VIDEO_DECODE_CAPABILITIES_KHR                                      = 1000024001,
+	DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                          = 1000026000,
+	DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                         = 1000026001,
+	DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                       = 1000026002,
+	PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT                    = 1000028000,
+	PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT                  = 1000028001,
+	PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT                = 1000028002,
+	CU_MODULE_CREATE_INFO_NVX                                          = 1000029000,
+	CU_FUNCTION_CREATE_INFO_NVX                                        = 1000029001,
+	CU_LAUNCH_INFO_NVX                                                 = 1000029002,
+	IMAGE_VIEW_HANDLE_INFO_NVX                                         = 1000030000,
+	IMAGE_VIEW_ADDRESS_PROPERTIES_NVX                                  = 1000030001,
+	VIDEO_ENCODE_H264_CAPABILITIES_EXT                                 = 1000038000,
+	VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT               = 1000038001,
+	VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT                  = 1000038002,
+	VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT                               = 1000038003,
+	VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT                                = 1000038004,
+	VIDEO_ENCODE_H264_NALU_SLICE_EXT                                   = 1000038005,
+	VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT                      = 1000038006,
+	VIDEO_ENCODE_H264_PROFILE_EXT                                      = 1000038007,
+	VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT                            = 1000038008,
+	VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT                      = 1000038009,
+	VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT                              = 1000038010,
+	VIDEO_ENCODE_H265_CAPABILITIES_EXT                                 = 1000039000,
+	VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT               = 1000039001,
+	VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT                  = 1000039002,
+	VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT                               = 1000039003,
+	VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT                                = 1000039004,
+	VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT                           = 1000039005,
+	VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT                      = 1000039006,
+	VIDEO_ENCODE_H265_PROFILE_EXT                                      = 1000039007,
+	VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT                              = 1000039008,
+	VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT                            = 1000039009,
+	VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT                      = 1000039010,
+	VIDEO_DECODE_H264_CAPABILITIES_EXT                                 = 1000040000,
+	VIDEO_DECODE_H264_PICTURE_INFO_EXT                                 = 1000040001,
+	VIDEO_DECODE_H264_MVC_EXT                                          = 1000040002,
+	VIDEO_DECODE_H264_PROFILE_EXT                                      = 1000040003,
+	VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT               = 1000040004,
+	VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT                  = 1000040005,
+	VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT                                = 1000040006,
+	TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD                           = 1000041000,
+	RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR                = 1000044006,
+	RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT                 = 1000044007,
+	ATTACHMENT_SAMPLE_COUNT_INFO_AMD                                   = 1000044008,
+	MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX                             = 1000044009,
+	STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP                          = 1000049000,
+	PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV                   = 1000050000,
+	EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV                               = 1000056000,
+	EXPORT_MEMORY_ALLOCATE_INFO_NV                                     = 1000056001,
+	IMPORT_MEMORY_WIN32_HANDLE_INFO_NV                                 = 1000057000,
+	EXPORT_MEMORY_WIN32_HANDLE_INFO_NV                                 = 1000057001,
+	WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV                          = 1000058000,
+	VALIDATION_FLAGS_EXT                                               = 1000061000,
+	VI_SURFACE_CREATE_INFO_NN                                          = 1000062000,
+	IMAGE_VIEW_ASTC_DECODE_MODE_EXT                                    = 1000067000,
+	PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT                           = 1000067001,
+	IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                = 1000073000,
+	EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                = 1000073001,
+	MEMORY_WIN32_HANDLE_PROPERTIES_KHR                                 = 1000073002,
+	MEMORY_GET_WIN32_HANDLE_INFO_KHR                                   = 1000073003,
+	IMPORT_MEMORY_FD_INFO_KHR                                          = 1000074000,
+	MEMORY_FD_PROPERTIES_KHR                                           = 1000074001,
+	MEMORY_GET_FD_INFO_KHR                                             = 1000074002,
+	WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR                         = 1000075000,
+	IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                             = 1000078000,
+	EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                             = 1000078001,
+	D3D12_FENCE_SUBMIT_INFO_KHR                                        = 1000078002,
+	SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR                                = 1000078003,
+	IMPORT_SEMAPHORE_FD_INFO_KHR                                       = 1000079000,
+	SEMAPHORE_GET_FD_INFO_KHR                                          = 1000079001,
+	PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR                     = 1000080000,
+	COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT          = 1000081000,
+	PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT                 = 1000081001,
+	CONDITIONAL_RENDERING_BEGIN_INFO_EXT                               = 1000081002,
+	PRESENT_REGIONS_KHR                                                = 1000084000,
+	PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV                   = 1000087000,
+	SURFACE_CAPABILITIES_2_EXT                                         = 1000090000,
+	DISPLAY_POWER_INFO_EXT                                             = 1000091000,
+	DEVICE_EVENT_INFO_EXT                                              = 1000091001,
+	DISPLAY_EVENT_INFO_EXT                                             = 1000091002,
+	SWAPCHAIN_COUNTER_CREATE_INFO_EXT                                  = 1000091003,
+	PRESENT_TIMES_INFO_GOOGLE                                          = 1000092000,
+	PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX       = 1000097000,
+	PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV                     = 1000098000,
+	PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT                   = 1000099000,
+	PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT                   = 1000099001,
+	PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT          = 1000101000,
+	PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT          = 1000101001,
+	PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT                     = 1000102000,
+	PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT            = 1000102001,
+	HDR_METADATA_EXT                                                   = 1000105000,
+	SHARED_PRESENT_SURFACE_CAPABILITIES_KHR                            = 1000111000,
+	IMPORT_FENCE_WIN32_HANDLE_INFO_KHR                                 = 1000114000,
+	EXPORT_FENCE_WIN32_HANDLE_INFO_KHR                                 = 1000114001,
+	FENCE_GET_WIN32_HANDLE_INFO_KHR                                    = 1000114002,
+	IMPORT_FENCE_FD_INFO_KHR                                           = 1000115000,
+	FENCE_GET_FD_INFO_KHR                                              = 1000115001,
+	PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR                     = 1000116000,
+	PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR                   = 1000116001,
+	QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR                             = 1000116002,
+	PERFORMANCE_QUERY_SUBMIT_INFO_KHR                                  = 1000116003,
+	ACQUIRE_PROFILING_LOCK_INFO_KHR                                    = 1000116004,
+	PERFORMANCE_COUNTER_KHR                                            = 1000116005,
+	PERFORMANCE_COUNTER_DESCRIPTION_KHR                                = 1000116006,
+	PHYSICAL_DEVICE_SURFACE_INFO_2_KHR                                 = 1000119000,
+	SURFACE_CAPABILITIES_2_KHR                                         = 1000119001,
+	SURFACE_FORMAT_2_KHR                                               = 1000119002,
+	DISPLAY_PROPERTIES_2_KHR                                           = 1000121000,
+	DISPLAY_PLANE_PROPERTIES_2_KHR                                     = 1000121001,
+	DISPLAY_MODE_PROPERTIES_2_KHR                                      = 1000121002,
+	DISPLAY_PLANE_INFO_2_KHR                                           = 1000121003,
+	DISPLAY_PLANE_CAPABILITIES_2_KHR                                   = 1000121004,
+	IOS_SURFACE_CREATE_INFO_MVK                                        = 1000122000,
+	MACOS_SURFACE_CREATE_INFO_MVK                                      = 1000123000,
+	DEBUG_UTILS_OBJECT_NAME_INFO_EXT                                   = 1000128000,
+	DEBUG_UTILS_OBJECT_TAG_INFO_EXT                                    = 1000128001,
+	DEBUG_UTILS_LABEL_EXT                                              = 1000128002,
+	DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT                            = 1000128003,
+	DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT                              = 1000128004,
+	ANDROID_HARDWARE_BUFFER_USAGE_ANDROID                              = 1000129000,
+	ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID                         = 1000129001,
+	ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID                  = 1000129002,
+	IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                        = 1000129003,
+	MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                    = 1000129004,
+	EXTERNAL_FORMAT_ANDROID                                            = 1000129005,
+	ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID                = 1000129006,
+	SAMPLE_LOCATIONS_INFO_EXT                                          = 1000143000,
+	RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT                        = 1000143001,
+	PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT                    = 1000143002,
+	PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT                    = 1000143003,
+	MULTISAMPLE_PROPERTIES_EXT                                         = 1000143004,
+	PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT              = 1000148000,
+	PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT            = 1000148001,
+	PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT                = 1000148002,
+	PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV                    = 1000149000,
+	WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR                    = 1000150007,
+	ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR                     = 1000150000,
+	ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR                     = 1000150002,
+	ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR                     = 1000150003,
+	ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR                 = 1000150004,
+	ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR                 = 1000150005,
+	ACCELERATION_STRUCTURE_GEOMETRY_KHR                                = 1000150006,
+	ACCELERATION_STRUCTURE_VERSION_INFO_KHR                            = 1000150009,
+	COPY_ACCELERATION_STRUCTURE_INFO_KHR                               = 1000150010,
+	COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR                     = 1000150011,
+	COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR                     = 1000150012,
+	PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR                = 1000150013,
+	PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR              = 1000150014,
+	ACCELERATION_STRUCTURE_CREATE_INFO_KHR                             = 1000150017,
+	ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR                        = 1000150020,
+	PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR                  = 1000347000,
+	PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR                = 1000347001,
+	RAY_TRACING_PIPELINE_CREATE_INFO_KHR                               = 1000150015,
+	RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR                           = 1000150016,
+	RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR                     = 1000150018,
+	PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR                             = 1000348013,
+	PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV                  = 1000152000,
+	PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV                     = 1000154000,
+	PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV                   = 1000154001,
+	DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT                            = 1000158000,
+	PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT                 = 1000158002,
+	IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT                     = 1000158003,
+	IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT                 = 1000158004,
+	IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                           = 1000158005,
+	DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT                          = 1000158006,
+	VALIDATION_CACHE_CREATE_INFO_EXT                                   = 1000160000,
+	SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT                     = 1000160001,
+	PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR                    = 1000163000,
+	PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR                  = 1000163001,
+	PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV          = 1000164000,
+	PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV                     = 1000164001,
+	PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV                   = 1000164002,
+	PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV         = 1000164005,
+	RAY_TRACING_PIPELINE_CREATE_INFO_NV                                = 1000165000,
+	ACCELERATION_STRUCTURE_CREATE_INFO_NV                              = 1000165001,
+	GEOMETRY_NV                                                        = 1000165003,
+	GEOMETRY_TRIANGLES_NV                                              = 1000165004,
+	GEOMETRY_AABB_NV                                                   = 1000165005,
+	BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV                         = 1000165006,
+	WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV                     = 1000165007,
+	ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV                 = 1000165008,
+	PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV                          = 1000165009,
+	RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV                            = 1000165011,
+	ACCELERATION_STRUCTURE_INFO_NV                                     = 1000165012,
+	PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV           = 1000166000,
+	PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV         = 1000166001,
+	PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT                   = 1000170000,
+	FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT                = 1000170001,
+	IMPORT_MEMORY_HOST_POINTER_INFO_EXT                                = 1000178000,
+	MEMORY_HOST_POINTER_PROPERTIES_EXT                                 = 1000178001,
+	PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT                = 1000178002,
+	PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR                          = 1000181000,
+	PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD                          = 1000183000,
+	CALIBRATED_TIMESTAMP_INFO_EXT                                      = 1000184000,
+	PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD                         = 1000185000,
+	VIDEO_DECODE_H265_CAPABILITIES_EXT                                 = 1000187000,
+	VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT               = 1000187001,
+	VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT                  = 1000187002,
+	VIDEO_DECODE_H265_PROFILE_EXT                                      = 1000187003,
+	VIDEO_DECODE_H265_PICTURE_INFO_EXT                                 = 1000187004,
+	VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT                                = 1000187005,
+	DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR                       = 1000174000,
+	PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR                 = 1000388000,
+	QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR                        = 1000388001,
+	DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD                       = 1000189000,
+	PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT            = 1000190000,
+	PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT                = 1000190001,
+	PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT              = 1000190002,
+	PRESENT_FRAME_TOKEN_GGP                                            = 1000191000,
+	PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV             = 1000201000,
+	PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV                            = 1000202000,
+	PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV                          = 1000202001,
+	PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV            = 1000203000,
+	PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV                 = 1000204000,
+	PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV           = 1000205000,
+	PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV                      = 1000205002,
+	CHECKPOINT_DATA_NV                                                 = 1000206000,
+	QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV                              = 1000206001,
+	PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL          = 1000209000,
+	QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL                     = 1000210000,
+	INITIALIZE_PERFORMANCE_API_INFO_INTEL                              = 1000210001,
+	PERFORMANCE_MARKER_INFO_INTEL                                      = 1000210002,
+	PERFORMANCE_STREAM_MARKER_INFO_INTEL                               = 1000210003,
+	PERFORMANCE_OVERRIDE_INFO_INTEL                                    = 1000210004,
+	PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL                       = 1000210005,
+	PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT                        = 1000212000,
+	DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD                        = 1000213000,
+	SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD                       = 1000213001,
+	IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA                              = 1000214000,
+	METAL_SURFACE_CREATE_INFO_EXT                                      = 1000217000,
+	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT                  = 1000218000,
+	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT                = 1000218001,
+	RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT                   = 1000218002,
+	FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR                          = 1000226000,
+	PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR               = 1000226001,
+	PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR               = 1000226002,
+	PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR                 = 1000226003,
+	PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR                          = 1000226004,
+	PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD                       = 1000227000,
+	PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD                       = 1000229000,
+	PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT             = 1000234000,
+	PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT                       = 1000237000,
+	PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT                       = 1000238000,
+	MEMORY_PRIORITY_ALLOCATE_INFO_EXT                                  = 1000238001,
+	SURFACE_PROTECTED_CAPABILITIES_KHR                                 = 1000239000,
+	PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV    = 1000240000,
+	PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT                 = 1000244000,
+	BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT                              = 1000244002,
+	VALIDATION_FEATURES_EXT                                            = 1000247000,
+	PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR                          = 1000248000,
+	PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV                     = 1000249000,
+	COOPERATIVE_MATRIX_PROPERTIES_NV                                   = 1000249001,
+	PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV                   = 1000249002,
+	PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV                = 1000250000,
+	PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV                   = 1000250001,
+	FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV                           = 1000250002,
+	PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT             = 1000251000,
+	PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT                    = 1000252000,
+	PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT                      = 1000254000,
+	PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT      = 1000254001,
+	PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT                    = 1000254002,
+	SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT                             = 1000255000,
+	SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT                     = 1000255002,
+	SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT                       = 1000255001,
+	HEADLESS_SURFACE_CREATE_INFO_EXT                                   = 1000256000,
+	PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT                    = 1000259000,
+	PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT                  = 1000259001,
+	PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT                  = 1000259002,
+	PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT                   = 1000260000,
+	PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT                      = 1000265000,
+	PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT                = 1000267000,
+	PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR        = 1000269000,
+	PIPELINE_INFO_KHR                                                  = 1000269001,
+	PIPELINE_EXECUTABLE_PROPERTIES_KHR                                 = 1000269002,
+	PIPELINE_EXECUTABLE_INFO_KHR                                       = 1000269003,
+	PIPELINE_EXECUTABLE_STATISTIC_KHR                                  = 1000269004,
+	PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR                    = 1000269005,
+	PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT                 = 1000273000,
+	PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV            = 1000277000,
+	GRAPHICS_SHADER_GROUP_CREATE_INFO_NV                               = 1000277001,
+	GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV                     = 1000277002,
+	INDIRECT_COMMANDS_LAYOUT_TOKEN_NV                                  = 1000277003,
+	INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV                            = 1000277004,
+	GENERATED_COMMANDS_INFO_NV                                         = 1000277005,
+	GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV                     = 1000277006,
+	PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV              = 1000277007,
+	PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV             = 1000278000,
+	COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV                = 1000278001,
+	PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT                = 1000281000,
+	COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM         = 1000282000,
+	RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM                              = 1000282001,
+	PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT                  = 1000284000,
+	DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT                        = 1000284001,
+	DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT                             = 1000284002,
+	PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT                          = 1000286000,
+	PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT                        = 1000286001,
+	SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT                        = 1000287000,
+	PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT                 = 1000287001,
+	PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT                   = 1000287002,
+	PIPELINE_LIBRARY_CREATE_INFO_KHR                                   = 1000290000,
+	PRESENT_ID_KHR                                                     = 1000294000,
+	PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR                            = 1000294001,
+	VIDEO_ENCODE_INFO_KHR                                              = 1000299000,
+	VIDEO_ENCODE_RATE_CONTROL_INFO_KHR                                 = 1000299001,
+	VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR                           = 1000299002,
+	VIDEO_ENCODE_CAPABILITIES_KHR                                      = 1000299003,
+	PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV                     = 1000300000,
+	DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV                           = 1000300001,
+	QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV                            = 1000314008,
+	CHECKPOINT_DATA_2_NV                                               = 1000314009,
+	PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT             = 1000320000,
+	PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT           = 1000320001,
+	GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT                          = 1000320002,
+	PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR  = 1000323000,
+	PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV          = 1000326000,
+	PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV            = 1000326001,
+	PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV           = 1000326002,
+	ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV           = 1000327000,
+	PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV                = 1000327001,
+	ACCELERATION_STRUCTURE_MOTION_INFO_NV                              = 1000327002,
+	PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT             = 1000330000,
+	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT                = 1000332000,
+	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT              = 1000332001,
+	COPY_COMMAND_TRANSFORM_INFO_QCOM                                   = 1000333000,
+	PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR      = 1000336000,
+	PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT                          = 1000340000,
+	PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000,
+	PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT                      = 1000344000,
+	DIRECTFB_SURFACE_CREATE_INFO_EXT                                   = 1000346000,
+	PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE             = 1000351000,
+	MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE                          = 1000351002,
+	PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT            = 1000352000,
+	VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT                             = 1000352001,
+	VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT                           = 1000352002,
+	PHYSICAL_DEVICE_DRM_PROPERTIES_EXT                                 = 1000353000,
+	PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT                    = 1000355000,
+	PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT               = 1000355001,
+	PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT       = 1000356000,
+	IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA                           = 1000364000,
+	MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA                            = 1000364001,
+	MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA                              = 1000364002,
+	IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA                        = 1000365000,
+	SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA                           = 1000365001,
+	BUFFER_COLLECTION_CREATE_INFO_FUCHSIA                              = 1000366000,
+	IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA                            = 1000366001,
+	BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA                        = 1000366002,
+	BUFFER_COLLECTION_PROPERTIES_FUCHSIA                               = 1000366003,
+	BUFFER_CONSTRAINTS_INFO_FUCHSIA                                    = 1000366004,
+	BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA                       = 1000366005,
+	IMAGE_CONSTRAINTS_INFO_FUCHSIA                                     = 1000366006,
+	IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA                              = 1000366007,
+	SYSMEM_COLOR_SPACE_FUCHSIA                                         = 1000366008,
+	BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA                         = 1000366009,
+	SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI                        = 1000369000,
+	PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI                    = 1000369001,
+	PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI                  = 1000369002,
+	PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI                    = 1000370000,
+	MEMORY_GET_REMOTE_ADDRESS_INFO_NV                                  = 1000371000,
+	PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV                   = 1000371001,
+	PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT              = 1000377000,
+	SCREEN_SURFACE_CREATE_INFO_QNX                                     = 1000378000,
+	PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT                    = 1000381000,
+	PIPELINE_COLOR_WRITE_CREATE_INFO_EXT                               = 1000381001,
+	PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT            = 1000382000,
+	PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT                    = 1000391000,
+	IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT                                 = 1000391001,
+	PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT                            = 1000392000,
+	PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT                          = 1000392001,
+	PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT                   = 1000393000,
+	PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT                  = 1000411000,
+	SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT             = 1000411001,
+	PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT          = 1000412000,
+	PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE         = 1000420000,
+	DESCRIPTOR_SET_BINDING_REFERENCE_VALVE                             = 1000420001,
+	DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE                      = 1000420002,
+	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM          = 1000425000,
+	PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM        = 1000425001,
+	SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM                  = 1000425002,
+	PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV                = 1000430000,
+	PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES                          = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
+	PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES                     = PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
+	DEBUG_REPORT_CREATE_INFO_EXT                                       = DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
+	RENDERING_INFO_KHR                                                 = RENDERING_INFO,
+	RENDERING_ATTACHMENT_INFO_KHR                                      = RENDERING_ATTACHMENT_INFO,
+	PIPELINE_RENDERING_CREATE_INFO_KHR                                 = PIPELINE_RENDERING_CREATE_INFO,
+	PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR                     = PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
+	COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR                      = COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
+	ATTACHMENT_SAMPLE_COUNT_INFO_NV                                    = ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
+	RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR                              = RENDER_PASS_MULTIVIEW_CREATE_INFO,
+	PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR                             = PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
+	PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR                           = PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
+	PHYSICAL_DEVICE_FEATURES_2_KHR                                     = PHYSICAL_DEVICE_FEATURES_2,
+	PHYSICAL_DEVICE_PROPERTIES_2_KHR                                   = PHYSICAL_DEVICE_PROPERTIES_2,
+	FORMAT_PROPERTIES_2_KHR                                            = FORMAT_PROPERTIES_2,
+	IMAGE_FORMAT_PROPERTIES_2_KHR                                      = IMAGE_FORMAT_PROPERTIES_2,
+	PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR                            = PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
+	QUEUE_FAMILY_PROPERTIES_2_KHR                                      = QUEUE_FAMILY_PROPERTIES_2,
+	PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR                            = PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
+	SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR                               = SPARSE_IMAGE_FORMAT_PROPERTIES_2,
+	PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR                     = PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
+	MEMORY_ALLOCATE_FLAGS_INFO_KHR                                     = MEMORY_ALLOCATE_FLAGS_INFO,
+	DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR                            = DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
+	DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR                         = DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
+	DEVICE_GROUP_SUBMIT_INFO_KHR                                       = DEVICE_GROUP_SUBMIT_INFO,
+	DEVICE_GROUP_BIND_SPARSE_INFO_KHR                                  = DEVICE_GROUP_BIND_SPARSE_INFO,
+	BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR                           = BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
+	BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR                            = BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
+	PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT          = PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
+	PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR                               = PHYSICAL_DEVICE_GROUP_PROPERTIES,
+	DEVICE_GROUP_DEVICE_CREATE_INFO_KHR                                = DEVICE_GROUP_DEVICE_CREATE_INFO,
+	PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR                     = PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
+	EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR                               = EXTERNAL_IMAGE_FORMAT_PROPERTIES,
+	PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR                           = PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
+	EXTERNAL_BUFFER_PROPERTIES_KHR                                     = EXTERNAL_BUFFER_PROPERTIES,
+	PHYSICAL_DEVICE_ID_PROPERTIES_KHR                                  = PHYSICAL_DEVICE_ID_PROPERTIES,
+	EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR                             = EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
+	EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR                              = EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
+	EXPORT_MEMORY_ALLOCATE_INFO_KHR                                    = EXPORT_MEMORY_ALLOCATE_INFO,
+	PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR                        = PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
+	EXTERNAL_SEMAPHORE_PROPERTIES_KHR                                  = EXTERNAL_SEMAPHORE_PROPERTIES,
+	EXPORT_SEMAPHORE_CREATE_INFO_KHR                                   = EXPORT_SEMAPHORE_CREATE_INFO,
+	PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR                   = PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
+	PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR                          = PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
+	PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR                         = PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
+	DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR                         = DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
+	SURFACE_CAPABILITIES2_EXT                                          = SURFACE_CAPABILITIES_2_EXT,
+	PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR                 = PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
+	FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR                            = FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
+	FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR                              = FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
+	RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR                              = RENDER_PASS_ATTACHMENT_BEGIN_INFO,
+	ATTACHMENT_DESCRIPTION_2_KHR                                       = ATTACHMENT_DESCRIPTION_2,
+	ATTACHMENT_REFERENCE_2_KHR                                         = ATTACHMENT_REFERENCE_2,
+	SUBPASS_DESCRIPTION_2_KHR                                          = SUBPASS_DESCRIPTION_2,
+	SUBPASS_DEPENDENCY_2_KHR                                           = SUBPASS_DEPENDENCY_2,
+	RENDER_PASS_CREATE_INFO_2_KHR                                      = RENDER_PASS_CREATE_INFO_2,
+	SUBPASS_BEGIN_INFO_KHR                                             = SUBPASS_BEGIN_INFO,
+	SUBPASS_END_INFO_KHR                                               = SUBPASS_END_INFO,
+	PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR                            = PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
+	EXTERNAL_FENCE_PROPERTIES_KHR                                      = EXTERNAL_FENCE_PROPERTIES,
+	EXPORT_FENCE_CREATE_INFO_KHR                                       = EXPORT_FENCE_CREATE_INFO,
+	PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR                      = PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
+	RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR                = RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
+	IMAGE_VIEW_USAGE_CREATE_INFO_KHR                                   = IMAGE_VIEW_USAGE_CREATE_INFO,
+	PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR          = PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
+	PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR                     = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
+	PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR                      = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
+	MEMORY_DEDICATED_REQUIREMENTS_KHR                                  = MEMORY_DEDICATED_REQUIREMENTS,
+	MEMORY_DEDICATED_ALLOCATE_INFO_KHR                                 = MEMORY_DEDICATED_ALLOCATE_INFO,
+	PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT               = PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
+	SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT                             = SAMPLER_REDUCTION_MODE_CREATE_INFO,
+	PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT                  = PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
+	PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT                = PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
+	WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT                      = WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
+	DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT               = DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
+	BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR                              = BUFFER_MEMORY_REQUIREMENTS_INFO_2,
+	IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR                               = IMAGE_MEMORY_REQUIREMENTS_INFO_2,
+	IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR                        = IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
+	MEMORY_REQUIREMENTS_2_KHR                                          = MEMORY_REQUIREMENTS_2,
+	SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR                             = SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
+	IMAGE_FORMAT_LIST_CREATE_INFO_KHR                                  = IMAGE_FORMAT_LIST_CREATE_INFO,
+	SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR                           = SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
+	SAMPLER_YCBCR_CONVERSION_INFO_KHR                                  = SAMPLER_YCBCR_CONVERSION_INFO,
+	BIND_IMAGE_PLANE_MEMORY_INFO_KHR                                   = BIND_IMAGE_PLANE_MEMORY_INFO,
+	IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR                           = IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
+	PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR              = PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
+	SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR               = SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
+	BIND_BUFFER_MEMORY_INFO_KHR                                        = BIND_BUFFER_MEMORY_INFO,
+	BIND_IMAGE_MEMORY_INFO_KHR                                         = BIND_IMAGE_MEMORY_INFO,
+	DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT                = DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
+	PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT                   = PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
+	PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT                 = PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
+	DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT         = DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
+	DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT        = DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
+	PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR                       = PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
+	DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR                                  = DESCRIPTOR_SET_LAYOUT_SUPPORT,
+	DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT                       = DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
+	PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR        = PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
+	PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR                          = PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
+	PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR                   = PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
+	PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT                         = PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
+	PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR                              = PHYSICAL_DEVICE_DRIVER_PROPERTIES,
+	PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR                      = PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
+	PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR               = PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
+	SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR                      = SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
+	PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR                    = PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
+	PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR                  = PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
+	SEMAPHORE_TYPE_CREATE_INFO_KHR                                     = SEMAPHORE_TYPE_CREATE_INFO,
+	TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR                                 = TIMELINE_SEMAPHORE_SUBMIT_INFO,
+	SEMAPHORE_WAIT_INFO_KHR                                            = SEMAPHORE_WAIT_INFO,
+	SEMAPHORE_SIGNAL_INFO_KHR                                          = SEMAPHORE_SIGNAL_INFO,
+	QUERY_POOL_CREATE_INFO_INTEL                                       = QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
+	PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR                   = PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
+	PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR           = PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
+	PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT                   = PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
+	PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT               = PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
+	PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT       = PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
+	PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT                 = PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
+	PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR        = PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
+	ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR                            = ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
+	ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR                          = ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
+	PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT                        = PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
+	BUFFER_DEVICE_ADDRESS_INFO_EXT                                     = BUFFER_DEVICE_ADDRESS_INFO,
+	PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT                                = PHYSICAL_DEVICE_TOOL_PROPERTIES,
+	IMAGE_STENCIL_USAGE_CREATE_INFO_EXT                                = IMAGE_STENCIL_USAGE_CREATE_INFO,
+	PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR        = PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
+	PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR                 = PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
+	BUFFER_DEVICE_ADDRESS_INFO_KHR                                     = BUFFER_DEVICE_ADDRESS_INFO,
+	BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR                      = BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
+	MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR                    = MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
+	DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR                      = DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
+	PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT                      = PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
+	PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT    = PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
+	PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR            = PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
+	PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR          = PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
+	PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT              = PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
+	PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT                          = PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
+	DEVICE_PRIVATE_DATA_CREATE_INFO_EXT                                = DEVICE_PRIVATE_DATA_CREATE_INFO,
+	PRIVATE_DATA_SLOT_CREATE_INFO_EXT                                  = PRIVATE_DATA_SLOT_CREATE_INFO,
+	PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT       = PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
+	MEMORY_BARRIER_2_KHR                                               = MEMORY_BARRIER_2,
+	BUFFER_MEMORY_BARRIER_2_KHR                                        = BUFFER_MEMORY_BARRIER_2,
+	IMAGE_MEMORY_BARRIER_2_KHR                                         = IMAGE_MEMORY_BARRIER_2,
+	DEPENDENCY_INFO_KHR                                                = DEPENDENCY_INFO,
+	SUBMIT_INFO_2_KHR                                                  = SUBMIT_INFO_2,
+	SEMAPHORE_SUBMIT_INFO_KHR                                          = SEMAPHORE_SUBMIT_INFO,
+	COMMAND_BUFFER_SUBMIT_INFO_KHR                                     = COMMAND_BUFFER_SUBMIT_INFO,
+	PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR                     = PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
+	PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR      = PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
+	PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT                      = PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
+	COPY_BUFFER_INFO_2_KHR                                             = COPY_BUFFER_INFO_2,
+	COPY_IMAGE_INFO_2_KHR                                              = COPY_IMAGE_INFO_2,
+	COPY_BUFFER_TO_IMAGE_INFO_2_KHR                                    = COPY_BUFFER_TO_IMAGE_INFO_2,
+	COPY_IMAGE_TO_BUFFER_INFO_2_KHR                                    = COPY_IMAGE_TO_BUFFER_INFO_2,
+	BLIT_IMAGE_INFO_2_KHR                                              = BLIT_IMAGE_INFO_2,
+	RESOLVE_IMAGE_INFO_2_KHR                                           = RESOLVE_IMAGE_INFO_2,
+	BUFFER_COPY_2_KHR                                                  = BUFFER_COPY_2,
+	IMAGE_COPY_2_KHR                                                   = IMAGE_COPY_2,
+	IMAGE_BLIT_2_KHR                                                   = IMAGE_BLIT_2,
+	BUFFER_IMAGE_COPY_2_KHR                                            = BUFFER_IMAGE_COPY_2,
+	IMAGE_RESOLVE_2_KHR                                                = IMAGE_RESOLVE_2,
+	FORMAT_PROPERTIES_3_KHR                                            = FORMAT_PROPERTIES_3,
+	PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT                 = PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
+	QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT                        = QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
+	PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR                         = PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
+	PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR                       = PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
+	DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR                              = DEVICE_BUFFER_MEMORY_REQUIREMENTS,
+	DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR                               = DEVICE_IMAGE_MEMORY_REQUIREMENTS,
+}
+
+SubgroupFeatureFlags :: distinct bit_set[SubgroupFeatureFlag; Flags]
+SubgroupFeatureFlag :: enum Flags {
+	BASIC            = 0,
+	VOTE             = 1,
+	ARITHMETIC       = 2,
+	BALLOT           = 3,
+	SHUFFLE          = 4,
+	SHUFFLE_RELATIVE = 5,
+	CLUSTERED        = 6,
+	QUAD             = 7,
+	PARTITIONED_NV   = 8,
+}
+
+SubmitFlags :: distinct bit_set[SubmitFlag; Flags]
+SubmitFlag :: enum Flags {
+	PROTECTED     = 0,
+	PROTECTED_KHR = PROTECTED,
+}
+
+SubpassContents :: enum c.int {
+	INLINE                    = 0,
+	SECONDARY_COMMAND_BUFFERS = 1,
+}
+
+SubpassDescriptionFlags :: distinct bit_set[SubpassDescriptionFlag; Flags]
+SubpassDescriptionFlag :: enum Flags {
+	PER_VIEW_ATTRIBUTES_NVX                           = 0,
+	PER_VIEW_POSITION_X_ONLY_NVX                      = 1,
+	FRAGMENT_REGION_QCOM                              = 2,
+	SHADER_RESOLVE_QCOM                               = 3,
+	RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_ARM   = 4,
+	RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM   = 5,
+	RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM = 6,
+}
+
+SurfaceCounterFlagsEXT :: distinct bit_set[SurfaceCounterFlagEXT; Flags]
+SurfaceCounterFlagEXT :: enum Flags {
+	VBLANK = 0,
+}
+
+SurfaceTransformFlagsKHR :: distinct bit_set[SurfaceTransformFlagKHR; Flags]
+SurfaceTransformFlagKHR :: enum Flags {
+	IDENTITY                     = 0,
+	ROTATE_90                    = 1,
+	ROTATE_180                   = 2,
+	ROTATE_270                   = 3,
+	HORIZONTAL_MIRROR            = 4,
+	HORIZONTAL_MIRROR_ROTATE_90  = 5,
+	HORIZONTAL_MIRROR_ROTATE_180 = 6,
+	HORIZONTAL_MIRROR_ROTATE_270 = 7,
+	INHERIT                      = 8,
+}
+
+SwapchainCreateFlagsKHR :: distinct bit_set[SwapchainCreateFlagKHR; Flags]
+SwapchainCreateFlagKHR :: enum Flags {
+	SPLIT_INSTANCE_BIND_REGIONS = 0,
+	PROTECTED                   = 1,
+	MUTABLE_FORMAT              = 2,
+}
+
+SystemAllocationScope :: enum c.int {
+	COMMAND  = 0,
+	OBJECT   = 1,
+	CACHE    = 2,
+	DEVICE   = 3,
+	INSTANCE = 4,
+}
+
+TessellationDomainOrigin :: enum c.int {
+	UPPER_LEFT     = 0,
+	LOWER_LEFT     = 1,
+	UPPER_LEFT_KHR = UPPER_LEFT,
+	LOWER_LEFT_KHR = LOWER_LEFT,
+}
+
+TimeDomainEXT :: enum c.int {
+	DEVICE                    = 0,
+	CLOCK_MONOTONIC           = 1,
+	CLOCK_MONOTONIC_RAW       = 2,
+	QUERY_PERFORMANCE_COUNTER = 3,
+}
+
+ToolPurposeFlags :: distinct bit_set[ToolPurposeFlag; Flags]
+ToolPurposeFlag :: enum Flags {
+	VALIDATION              = 0,
+	PROFILING               = 1,
+	TRACING                 = 2,
+	ADDITIONAL_FEATURES     = 3,
+	MODIFYING_FEATURES      = 4,
+	DEBUG_REPORTING_EXT     = 5,
+	DEBUG_MARKERS_EXT       = 6,
+	VALIDATION_EXT          = VALIDATION,
+	PROFILING_EXT           = PROFILING,
+	TRACING_EXT             = TRACING,
+	ADDITIONAL_FEATURES_EXT = ADDITIONAL_FEATURES,
+	MODIFYING_FEATURES_EXT  = MODIFYING_FEATURES,
+}
+
+ValidationCacheHeaderVersionEXT :: enum c.int {
+	ONE = 1,
+}
+
+ValidationCheckEXT :: enum c.int {
+	ALL     = 0,
+	SHADERS = 1,
+}
+
+ValidationFeatureDisableEXT :: enum c.int {
+	ALL                     = 0,
+	SHADERS                 = 1,
+	THREAD_SAFETY           = 2,
+	API_PARAMETERS          = 3,
+	OBJECT_LIFETIMES        = 4,
+	CORE_CHECKS             = 5,
+	UNIQUE_HANDLES          = 6,
+	SHADER_VALIDATION_CACHE = 7,
+}
+
+ValidationFeatureEnableEXT :: enum c.int {
+	GPU_ASSISTED                      = 0,
+	GPU_ASSISTED_RESERVE_BINDING_SLOT = 1,
+	BEST_PRACTICES                    = 2,
+	DEBUG_PRINTF                      = 3,
+	SYNCHRONIZATION_VALIDATION        = 4,
+}
+
+VendorId :: enum c.int {
+	VIV      = 0x10001,
+	VSI      = 0x10002,
+	KAZAN    = 0x10003,
+	CODEPLAY = 0x10004,
+	MESA     = 0x10005,
+	POCL     = 0x10006,
+}
+
+VertexInputRate :: enum c.int {
+	VERTEX   = 0,
+	INSTANCE = 1,
+}
+
+ViewportCoordinateSwizzleNV :: enum c.int {
+	POSITIVE_X = 0,
+	NEGATIVE_X = 1,
+	POSITIVE_Y = 2,
+	NEGATIVE_Y = 3,
+	POSITIVE_Z = 4,
+	NEGATIVE_Z = 5,
+	POSITIVE_W = 6,
+	NEGATIVE_W = 7,
+}
+
+AccelerationStructureMotionInfoFlagsNV               :: distinct bit_set[AccelerationStructureMotionInfoFlagNV; Flags]
+AccelerationStructureMotionInfoFlagNV                :: enum u32 {}
+AccelerationStructureMotionInstanceFlagsNV           :: distinct bit_set[AccelerationStructureMotionInstanceFlagNV; Flags]
+AccelerationStructureMotionInstanceFlagNV            :: enum u32 {}
+BufferViewCreateFlags                                :: distinct bit_set[BufferViewCreateFlag; Flags]
+BufferViewCreateFlag                                 :: enum u32 {}
+CommandPoolTrimFlags                                 :: distinct bit_set[CommandPoolTrimFlag; Flags]
+CommandPoolTrimFlag                                  :: enum u32 {}
+DebugUtilsMessengerCallbackDataFlagsEXT              :: distinct bit_set[DebugUtilsMessengerCallbackDataFlagEXT; Flags]
+DebugUtilsMessengerCallbackDataFlagEXT               :: enum u32 {}
+DebugUtilsMessengerCreateFlagsEXT                    :: distinct bit_set[DebugUtilsMessengerCreateFlagEXT; Flags]
+DebugUtilsMessengerCreateFlagEXT                     :: enum u32 {}
+DescriptorPoolResetFlags                             :: distinct bit_set[DescriptorPoolResetFlag; Flags]
+DescriptorPoolResetFlag                              :: enum u32 {}
+DescriptorUpdateTemplateCreateFlags                  :: distinct bit_set[DescriptorUpdateTemplateCreateFlag; Flags]
+DescriptorUpdateTemplateCreateFlag                   :: enum u32 {}
+DeviceCreateFlags                                    :: distinct bit_set[DeviceCreateFlag; Flags]
+DeviceCreateFlag                                     :: enum u32 {}
+DeviceMemoryReportFlagsEXT                           :: distinct bit_set[DeviceMemoryReportFlagEXT; Flags]
+DeviceMemoryReportFlagEXT                            :: enum u32 {}
+DisplayModeCreateFlagsKHR                            :: distinct bit_set[DisplayModeCreateFlagKHR; Flags]
+DisplayModeCreateFlagKHR                             :: enum u32 {}
+DisplaySurfaceCreateFlagsKHR                         :: distinct bit_set[DisplaySurfaceCreateFlagKHR; Flags]
+DisplaySurfaceCreateFlagKHR                          :: enum u32 {}
+HeadlessSurfaceCreateFlagsEXT                        :: distinct bit_set[HeadlessSurfaceCreateFlagEXT; Flags]
+HeadlessSurfaceCreateFlagEXT                         :: enum u32 {}
+IOSSurfaceCreateFlagsMVK                             :: distinct bit_set[IOSSurfaceCreateFlagMVK; Flags]
+IOSSurfaceCreateFlagMVK                              :: enum u32 {}
+MacOSSurfaceCreateFlagsMVK                           :: distinct bit_set[MacOSSurfaceCreateFlagMVK; Flags]
+MacOSSurfaceCreateFlagMVK                            :: enum u32 {}
+MemoryMapFlags                                       :: distinct bit_set[MemoryMapFlag; Flags]
+MemoryMapFlag                                        :: enum u32 {}
+MetalSurfaceCreateFlagsEXT                           :: distinct bit_set[MetalSurfaceCreateFlagEXT; Flags]
+MetalSurfaceCreateFlagEXT                            :: enum u32 {}
+PipelineCoverageModulationStateCreateFlagsNV         :: distinct bit_set[PipelineCoverageModulationStateCreateFlagNV; Flags]
+PipelineCoverageModulationStateCreateFlagNV          :: enum u32 {}
+PipelineCoverageReductionStateCreateFlagsNV          :: distinct bit_set[PipelineCoverageReductionStateCreateFlagNV; Flags]
+PipelineCoverageReductionStateCreateFlagNV           :: enum u32 {}
+PipelineCoverageToColorStateCreateFlagsNV            :: distinct bit_set[PipelineCoverageToColorStateCreateFlagNV; Flags]
+PipelineCoverageToColorStateCreateFlagNV             :: enum u32 {}
+PipelineDiscardRectangleStateCreateFlagsEXT          :: distinct bit_set[PipelineDiscardRectangleStateCreateFlagEXT; Flags]
+PipelineDiscardRectangleStateCreateFlagEXT           :: enum u32 {}
+PipelineDynamicStateCreateFlags                      :: distinct bit_set[PipelineDynamicStateCreateFlag; Flags]
+PipelineDynamicStateCreateFlag                       :: enum u32 {}
+PipelineInputAssemblyStateCreateFlags                :: distinct bit_set[PipelineInputAssemblyStateCreateFlag; Flags]
+PipelineInputAssemblyStateCreateFlag                 :: enum u32 {}
+PipelineMultisampleStateCreateFlags                  :: distinct bit_set[PipelineMultisampleStateCreateFlag; Flags]
+PipelineMultisampleStateCreateFlag                   :: enum u32 {}
+PipelineRasterizationConservativeStateCreateFlagsEXT :: distinct bit_set[PipelineRasterizationConservativeStateCreateFlagEXT; Flags]
+PipelineRasterizationConservativeStateCreateFlagEXT  :: enum u32 {}
+PipelineRasterizationDepthClipStateCreateFlagsEXT    :: distinct bit_set[PipelineRasterizationDepthClipStateCreateFlagEXT; Flags]
+PipelineRasterizationDepthClipStateCreateFlagEXT     :: enum u32 {}
+PipelineRasterizationStateCreateFlags                :: distinct bit_set[PipelineRasterizationStateCreateFlag; Flags]
+PipelineRasterizationStateCreateFlag                 :: enum u32 {}
+PipelineRasterizationStateStreamCreateFlagsEXT       :: distinct bit_set[PipelineRasterizationStateStreamCreateFlagEXT; Flags]
+PipelineRasterizationStateStreamCreateFlagEXT        :: enum u32 {}
+PipelineTessellationStateCreateFlags                 :: distinct bit_set[PipelineTessellationStateCreateFlag; Flags]
+PipelineTessellationStateCreateFlag                  :: enum u32 {}
+PipelineVertexInputStateCreateFlags                  :: distinct bit_set[PipelineVertexInputStateCreateFlag; Flags]
+PipelineVertexInputStateCreateFlag                   :: enum u32 {}
+PipelineViewportStateCreateFlags                     :: distinct bit_set[PipelineViewportStateCreateFlag; Flags]
+PipelineViewportStateCreateFlag                      :: enum u32 {}
+PipelineViewportSwizzleStateCreateFlagsNV            :: distinct bit_set[PipelineViewportSwizzleStateCreateFlagNV; Flags]
+PipelineViewportSwizzleStateCreateFlagNV             :: enum u32 {}
+PrivateDataSlotCreateFlags                           :: distinct bit_set[PrivateDataSlotCreateFlag; Flags]
+PrivateDataSlotCreateFlag                            :: enum u32 {}
+QueryPoolCreateFlags                                 :: distinct bit_set[QueryPoolCreateFlag; Flags]
+QueryPoolCreateFlag                                  :: enum u32 {}
+SemaphoreCreateFlags                                 :: distinct bit_set[SemaphoreCreateFlag; Flags]
+SemaphoreCreateFlag                                  :: enum u32 {}
+ShaderModuleCreateFlags                              :: distinct bit_set[ShaderModuleCreateFlag; Flags]
+ShaderModuleCreateFlag                               :: enum u32 {}
+ValidationCacheCreateFlagsEXT                        :: distinct bit_set[ValidationCacheCreateFlagEXT; Flags]
+ValidationCacheCreateFlagEXT                         :: enum u32 {}
+Win32SurfaceCreateFlagsKHR                           :: distinct bit_set[Win32SurfaceCreateFlagKHR; Flags]
+Win32SurfaceCreateFlagKHR                            :: enum u32 {}
+
+

+ 3334 - 3342
vendor/vulkan/procedures.odin

@@ -1,3342 +1,3334 @@
-//
-// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
-//
-package vulkan
-
-import "core:c"
-
-// Loader Procedure Types
-ProcCreateInstance                       :: #type proc "system" (pCreateInfo: ^InstanceCreateInfo, pAllocator: ^AllocationCallbacks, pInstance: ^Instance) -> Result
-ProcDebugUtilsMessengerCallbackEXT       :: #type proc "system" (messageSeverity: DebugUtilsMessageSeverityFlagsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: ^DebugUtilsMessengerCallbackDataEXT, pUserData: rawptr) -> b32
-ProcDeviceMemoryReportCallbackEXT        :: #type proc "system" (pCallbackData: ^DeviceMemoryReportCallbackDataEXT, pUserData: rawptr)
-ProcEnumerateInstanceExtensionProperties :: #type proc "system" (pLayerName: cstring, pPropertyCount: ^u32, pProperties: [^]ExtensionProperties) -> Result
-ProcEnumerateInstanceLayerProperties     :: #type proc "system" (pPropertyCount: ^u32, pProperties: [^]LayerProperties) -> Result
-ProcEnumerateInstanceVersion             :: #type proc "system" (pApiVersion: ^u32) -> Result
-
-// Misc Procedure Types
-ProcAllocationFunction             :: #type proc "system" (pUserData: rawptr, size: int, alignment: int, allocationScope: SystemAllocationScope) -> rawptr
-ProcDebugReportCallbackEXT         :: #type proc "system" (flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: int, messageCode: i32, pLayerPrefix: cstring, pMessage: cstring, pUserData: rawptr) -> b32
-ProcFreeFunction                   :: #type proc "system" (pUserData: rawptr, pMemory: rawptr)
-ProcInternalAllocationNotification :: #type proc "system" (pUserData: rawptr, size: int, allocationType: InternalAllocationType, allocationScope: SystemAllocationScope)
-ProcInternalFreeNotification       :: #type proc "system" (pUserData: rawptr, size: int, allocationType: InternalAllocationType, allocationScope: SystemAllocationScope)
-ProcReallocationFunction           :: #type proc "system" (pUserData: rawptr, pOriginal: rawptr, size: int, alignment: int, allocationScope: SystemAllocationScope) -> rawptr
-ProcVoidFunction                   :: #type proc "system" ()
-
-// Instance Procedure Types
-ProcAcquireDrmDisplayEXT                                            :: #type proc "system" (physicalDevice: PhysicalDevice, drmFd: i32, display: DisplayKHR) -> Result
-ProcAcquireWinrtDisplayNV                                           :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result
-ProcCreateDebugReportCallbackEXT                                    :: #type proc "system" (instance: Instance, pCreateInfo: ^DebugReportCallbackCreateInfoEXT, pAllocator: ^AllocationCallbacks, pCallback: ^DebugReportCallbackEXT) -> Result
-ProcCreateDebugUtilsMessengerEXT                                    :: #type proc "system" (instance: Instance, pCreateInfo: ^DebugUtilsMessengerCreateInfoEXT, pAllocator: ^AllocationCallbacks, pMessenger: ^DebugUtilsMessengerEXT) -> Result
-ProcCreateDevice                                                    :: #type proc "system" (physicalDevice: PhysicalDevice, pCreateInfo: ^DeviceCreateInfo, pAllocator: ^AllocationCallbacks, pDevice: ^Device) -> Result
-ProcCreateDisplayModeKHR                                            :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pCreateInfo: ^DisplayModeCreateInfoKHR, pAllocator: ^AllocationCallbacks, pMode: ^DisplayModeKHR) -> Result
-ProcCreateDisplayPlaneSurfaceKHR                                    :: #type proc "system" (instance: Instance, pCreateInfo: ^DisplaySurfaceCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateHeadlessSurfaceEXT                                        :: #type proc "system" (instance: Instance, pCreateInfo: ^HeadlessSurfaceCreateInfoEXT, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateIOSSurfaceMVK                                             :: #type proc "system" (instance: Instance, pCreateInfo: ^IOSSurfaceCreateInfoMVK, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateMacOSSurfaceMVK                                           :: #type proc "system" (instance: Instance, pCreateInfo: ^MacOSSurfaceCreateInfoMVK, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateMetalSurfaceEXT                                           :: #type proc "system" (instance: Instance, pCreateInfo: ^MetalSurfaceCreateInfoEXT, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateWaylandSurfaceKHR                                         :: #type proc "system" (instance: Instance, pCreateInfo: ^WaylandSurfaceCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateWin32SurfaceKHR                                           :: #type proc "system" (instance: Instance, pCreateInfo: ^Win32SurfaceCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcDebugReportMessageEXT                                           :: #type proc "system" (instance: Instance, flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: int, messageCode: i32, pLayerPrefix: cstring, pMessage: cstring)
-ProcDestroyDebugReportCallbackEXT                                   :: #type proc "system" (instance: Instance, callback: DebugReportCallbackEXT, pAllocator: ^AllocationCallbacks)
-ProcDestroyDebugUtilsMessengerEXT                                   :: #type proc "system" (instance: Instance, messenger: DebugUtilsMessengerEXT, pAllocator: ^AllocationCallbacks)
-ProcDestroyInstance                                                 :: #type proc "system" (instance: Instance, pAllocator: ^AllocationCallbacks)
-ProcDestroySurfaceKHR                                               :: #type proc "system" (instance: Instance, surface: SurfaceKHR, pAllocator: ^AllocationCallbacks)
-ProcEnumerateDeviceExtensionProperties                              :: #type proc "system" (physicalDevice: PhysicalDevice, pLayerName: cstring, pPropertyCount: ^u32, pProperties: [^]ExtensionProperties) -> Result
-ProcEnumerateDeviceLayerProperties                                  :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]LayerProperties) -> Result
-ProcEnumeratePhysicalDeviceGroups                                   :: #type proc "system" (instance: Instance, pPhysicalDeviceGroupCount: ^u32, pPhysicalDeviceGroupProperties: [^]PhysicalDeviceGroupProperties) -> Result
-ProcEnumeratePhysicalDeviceGroupsKHR                                :: #type proc "system" (instance: Instance, pPhysicalDeviceGroupCount: ^u32, pPhysicalDeviceGroupProperties: [^]PhysicalDeviceGroupProperties) -> Result
-ProcEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR   :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, pCounterCount: ^u32, pCounters: [^]PerformanceCounterKHR, pCounterDescriptions: [^]PerformanceCounterDescriptionKHR) -> Result
-ProcEnumeratePhysicalDevices                                        :: #type proc "system" (instance: Instance, pPhysicalDeviceCount: ^u32, pPhysicalDevices: [^]PhysicalDevice) -> Result
-ProcGetDisplayModeProperties2KHR                                    :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: ^u32, pProperties: [^]DisplayModeProperties2KHR) -> Result
-ProcGetDisplayModePropertiesKHR                                     :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: ^u32, pProperties: [^]DisplayModePropertiesKHR) -> Result
-ProcGetDisplayPlaneCapabilities2KHR                                 :: #type proc "system" (physicalDevice: PhysicalDevice, pDisplayPlaneInfo: ^DisplayPlaneInfo2KHR, pCapabilities: [^]DisplayPlaneCapabilities2KHR) -> Result
-ProcGetDisplayPlaneCapabilitiesKHR                                  :: #type proc "system" (physicalDevice: PhysicalDevice, mode: DisplayModeKHR, planeIndex: u32, pCapabilities: [^]DisplayPlaneCapabilitiesKHR) -> Result
-ProcGetDisplayPlaneSupportedDisplaysKHR                             :: #type proc "system" (physicalDevice: PhysicalDevice, planeIndex: u32, pDisplayCount: ^u32, pDisplays: [^]DisplayKHR) -> Result
-ProcGetDrmDisplayEXT                                                :: #type proc "system" (physicalDevice: PhysicalDevice, drmFd: i32, connectorId: u32, display: ^DisplayKHR) -> Result
-ProcGetInstanceProcAddr                                             :: #type proc "system" (instance: Instance, pName: cstring) -> ProcVoidFunction
-ProcGetPhysicalDeviceCalibrateableTimeDomainsEXT                    :: #type proc "system" (physicalDevice: PhysicalDevice, pTimeDomainCount: ^u32, pTimeDomains: [^]TimeDomainEXT) -> Result
-ProcGetPhysicalDeviceCooperativeMatrixPropertiesNV                  :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]CooperativeMatrixPropertiesNV) -> Result
-ProcGetPhysicalDeviceDisplayPlaneProperties2KHR                     :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPlaneProperties2KHR) -> Result
-ProcGetPhysicalDeviceDisplayPlanePropertiesKHR                      :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPlanePropertiesKHR) -> Result
-ProcGetPhysicalDeviceDisplayProperties2KHR                          :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayProperties2KHR) -> Result
-ProcGetPhysicalDeviceDisplayPropertiesKHR                           :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPropertiesKHR) -> Result
-ProcGetPhysicalDeviceExternalBufferProperties                       :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalBufferInfo: ^PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: [^]ExternalBufferProperties)
-ProcGetPhysicalDeviceExternalBufferPropertiesKHR                    :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalBufferInfo: ^PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: [^]ExternalBufferProperties)
-ProcGetPhysicalDeviceExternalFenceProperties                        :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalFenceInfo: ^PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: [^]ExternalFenceProperties)
-ProcGetPhysicalDeviceExternalFencePropertiesKHR                     :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalFenceInfo: ^PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: [^]ExternalFenceProperties)
-ProcGetPhysicalDeviceExternalImageFormatPropertiesNV                :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, externalHandleType: ExternalMemoryHandleTypeFlagsNV, pExternalImageFormatProperties: [^]ExternalImageFormatPropertiesNV) -> Result
-ProcGetPhysicalDeviceExternalSemaphoreProperties                    :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: ^PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: [^]ExternalSemaphoreProperties)
-ProcGetPhysicalDeviceExternalSemaphorePropertiesKHR                 :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: ^PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: [^]ExternalSemaphoreProperties)
-ProcGetPhysicalDeviceFeatures                                       :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures)
-ProcGetPhysicalDeviceFeatures2                                      :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures2)
-ProcGetPhysicalDeviceFeatures2KHR                                   :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures2)
-ProcGetPhysicalDeviceFormatProperties                               :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties)
-ProcGetPhysicalDeviceFormatProperties2                              :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties2)
-ProcGetPhysicalDeviceFormatProperties2KHR                           :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties2)
-ProcGetPhysicalDeviceFragmentShadingRatesKHR                        :: #type proc "system" (physicalDevice: PhysicalDevice, pFragmentShadingRateCount: ^u32, pFragmentShadingRates: [^]PhysicalDeviceFragmentShadingRateKHR) -> Result
-ProcGetPhysicalDeviceImageFormatProperties                          :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, pImageFormatProperties: [^]ImageFormatProperties) -> Result
-ProcGetPhysicalDeviceImageFormatProperties2                         :: #type proc "system" (physicalDevice: PhysicalDevice, pImageFormatInfo: ^PhysicalDeviceImageFormatInfo2, pImageFormatProperties: [^]ImageFormatProperties2) -> Result
-ProcGetPhysicalDeviceImageFormatProperties2KHR                      :: #type proc "system" (physicalDevice: PhysicalDevice, pImageFormatInfo: ^PhysicalDeviceImageFormatInfo2, pImageFormatProperties: [^]ImageFormatProperties2) -> Result
-ProcGetPhysicalDeviceMemoryProperties                               :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties)
-ProcGetPhysicalDeviceMemoryProperties2                              :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties2)
-ProcGetPhysicalDeviceMemoryProperties2KHR                           :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties2)
-ProcGetPhysicalDeviceMultisamplePropertiesEXT                       :: #type proc "system" (physicalDevice: PhysicalDevice, samples: SampleCountFlags, pMultisampleProperties: [^]MultisamplePropertiesEXT)
-ProcGetPhysicalDevicePresentRectanglesKHR                           :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pRectCount: ^u32, pRects: [^]Rect2D) -> Result
-ProcGetPhysicalDeviceProperties                                     :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties)
-ProcGetPhysicalDeviceProperties2                                    :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties2)
-ProcGetPhysicalDeviceProperties2KHR                                 :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties2)
-ProcGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR           :: #type proc "system" (physicalDevice: PhysicalDevice, pPerformanceQueryCreateInfo: ^QueryPoolPerformanceCreateInfoKHR, pNumPasses: [^]u32)
-ProcGetPhysicalDeviceQueueFamilyProperties                          :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties)
-ProcGetPhysicalDeviceQueueFamilyProperties2                         :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties2)
-ProcGetPhysicalDeviceQueueFamilyProperties2KHR                      :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties2)
-ProcGetPhysicalDeviceSparseImageFormatProperties                    :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, samples: SampleCountFlags, usage: ImageUsageFlags, tiling: ImageTiling, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties)
-ProcGetPhysicalDeviceSparseImageFormatProperties2                   :: #type proc "system" (physicalDevice: PhysicalDevice, pFormatInfo: ^PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties2)
-ProcGetPhysicalDeviceSparseImageFormatProperties2KHR                :: #type proc "system" (physicalDevice: PhysicalDevice, pFormatInfo: ^PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties2)
-ProcGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV :: #type proc "system" (physicalDevice: PhysicalDevice, pCombinationCount: ^u32, pCombinations: [^]FramebufferMixedSamplesCombinationNV) -> Result
-ProcGetPhysicalDeviceSurfaceCapabilities2EXT                        :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: [^]SurfaceCapabilities2EXT) -> Result
-ProcGetPhysicalDeviceSurfaceCapabilities2KHR                        :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pSurfaceCapabilities: [^]SurfaceCapabilities2KHR) -> Result
-ProcGetPhysicalDeviceSurfaceCapabilitiesKHR                         :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: [^]SurfaceCapabilitiesKHR) -> Result
-ProcGetPhysicalDeviceSurfaceFormats2KHR                             :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pSurfaceFormatCount: ^u32, pSurfaceFormats: [^]SurfaceFormat2KHR) -> Result
-ProcGetPhysicalDeviceSurfaceFormatsKHR                              :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceFormatCount: ^u32, pSurfaceFormats: [^]SurfaceFormatKHR) -> Result
-ProcGetPhysicalDeviceSurfacePresentModes2EXT                        :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pPresentModeCount: ^u32, pPresentModes: [^]PresentModeKHR) -> Result
-ProcGetPhysicalDeviceSurfacePresentModesKHR                         :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pPresentModeCount: ^u32, pPresentModes: [^]PresentModeKHR) -> Result
-ProcGetPhysicalDeviceSurfaceSupportKHR                              :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, surface: SurfaceKHR, pSupported: ^b32) -> Result
-ProcGetPhysicalDeviceToolProperties                                 :: #type proc "system" (physicalDevice: PhysicalDevice, pToolCount: ^u32, pToolProperties: [^]PhysicalDeviceToolProperties) -> Result
-ProcGetPhysicalDeviceToolPropertiesEXT                              :: #type proc "system" (physicalDevice: PhysicalDevice, pToolCount: ^u32, pToolProperties: [^]PhysicalDeviceToolProperties) -> Result
-ProcGetPhysicalDeviceWaylandPresentationSupportKHR                  :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, display: ^struct wl_display) -> b32
-ProcGetPhysicalDeviceWin32PresentationSupportKHR                    :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32) -> b32
-ProcGetWinrtDisplayNV                                               :: #type proc "system" (physicalDevice: PhysicalDevice, deviceRelativeId: u32, pDisplay: ^DisplayKHR) -> Result
-ProcReleaseDisplayEXT                                               :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result
-ProcSubmitDebugUtilsMessageEXT                                      :: #type proc "system" (instance: Instance, messageSeverity: DebugUtilsMessageSeverityFlagsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: ^DebugUtilsMessengerCallbackDataEXT)
-
-// Device Procedure Types
-ProcAcquireFullScreenExclusiveModeEXT               :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result
-ProcAcquireNextImage2KHR                            :: #type proc "system" (device: Device, pAcquireInfo: ^AcquireNextImageInfoKHR, pImageIndex: ^u32) -> Result
-ProcAcquireNextImageKHR                             :: #type proc "system" (device: Device, swapchain: SwapchainKHR, timeout: u64, semaphore: Semaphore, fence: Fence, pImageIndex: ^u32) -> Result
-ProcAcquirePerformanceConfigurationINTEL            :: #type proc "system" (device: Device, pAcquireInfo: ^PerformanceConfigurationAcquireInfoINTEL, pConfiguration: ^PerformanceConfigurationINTEL) -> Result
-ProcAcquireProfilingLockKHR                         :: #type proc "system" (device: Device, pInfo: ^AcquireProfilingLockInfoKHR) -> Result
-ProcAllocateCommandBuffers                          :: #type proc "system" (device: Device, pAllocateInfo: ^CommandBufferAllocateInfo, pCommandBuffers: [^]CommandBuffer) -> Result
-ProcAllocateDescriptorSets                          :: #type proc "system" (device: Device, pAllocateInfo: ^DescriptorSetAllocateInfo, pDescriptorSets: [^]DescriptorSet) -> Result
-ProcAllocateMemory                                  :: #type proc "system" (device: Device, pAllocateInfo: ^MemoryAllocateInfo, pAllocator: ^AllocationCallbacks, pMemory: ^DeviceMemory) -> Result
-ProcBeginCommandBuffer                              :: #type proc "system" (commandBuffer: CommandBuffer, pBeginInfo: ^CommandBufferBeginInfo) -> Result
-ProcBindAccelerationStructureMemoryNV               :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindAccelerationStructureMemoryInfoNV) -> Result
-ProcBindBufferMemory                                :: #type proc "system" (device: Device, buffer: Buffer, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result
-ProcBindBufferMemory2                               :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindBufferMemoryInfo) -> Result
-ProcBindBufferMemory2KHR                            :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindBufferMemoryInfo) -> Result
-ProcBindImageMemory                                 :: #type proc "system" (device: Device, image: Image, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result
-ProcBindImageMemory2                                :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindImageMemoryInfo) -> Result
-ProcBindImageMemory2KHR                             :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindImageMemoryInfo) -> Result
-ProcBuildAccelerationStructuresKHR                  :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ^[^]AccelerationStructureBuildRangeInfoKHR) -> Result
-ProcCmdBeginConditionalRenderingEXT                 :: #type proc "system" (commandBuffer: CommandBuffer, pConditionalRenderingBegin: ^ConditionalRenderingBeginInfoEXT)
-ProcCmdBeginDebugUtilsLabelEXT                      :: #type proc "system" (commandBuffer: CommandBuffer, pLabelInfo: ^DebugUtilsLabelEXT)
-ProcCmdBeginQuery                                   :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags)
-ProcCmdBeginQueryIndexedEXT                         :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags, index: u32)
-ProcCmdBeginRenderPass                              :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, contents: SubpassContents)
-ProcCmdBeginRenderPass2                             :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, pSubpassBeginInfo: ^SubpassBeginInfo)
-ProcCmdBeginRenderPass2KHR                          :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, pSubpassBeginInfo: ^SubpassBeginInfo)
-ProcCmdBeginRendering                               :: #type proc "system" (commandBuffer: CommandBuffer, pRenderingInfo: ^RenderingInfo)
-ProcCmdBeginRenderingKHR                            :: #type proc "system" (commandBuffer: CommandBuffer, pRenderingInfo: ^RenderingInfo)
-ProcCmdBeginTransformFeedbackEXT                    :: #type proc "system" (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: [^]Buffer, pCounterBufferOffsets: [^]DeviceSize)
-ProcCmdBindDescriptorSets                           :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, firstSet: u32, descriptorSetCount: u32, pDescriptorSets: [^]DescriptorSet, dynamicOffsetCount: u32, pDynamicOffsets: [^]u32)
-ProcCmdBindIndexBuffer                              :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, indexType: IndexType)
-ProcCmdBindInvocationMaskHUAWEI                     :: #type proc "system" (commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout)
-ProcCmdBindPipeline                                 :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline)
-ProcCmdBindPipelineShaderGroupNV                    :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline, groupIndex: u32)
-ProcCmdBindShadingRateImageNV                       :: #type proc "system" (commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout)
-ProcCmdBindTransformFeedbackBuffersEXT              :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize)
-ProcCmdBindVertexBuffers                            :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize)
-ProcCmdBindVertexBuffers2                           :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize, pStrides: [^]DeviceSize)
-ProcCmdBindVertexBuffers2EXT                        :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize, pStrides: [^]DeviceSize)
-ProcCmdBlitImage                                    :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageBlit, filter: Filter)
-ProcCmdBlitImage2                                   :: #type proc "system" (commandBuffer: CommandBuffer, pBlitImageInfo: ^BlitImageInfo2)
-ProcCmdBlitImage2KHR                                :: #type proc "system" (commandBuffer: CommandBuffer, pBlitImageInfo: ^BlitImageInfo2)
-ProcCmdBuildAccelerationStructureNV                 :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^AccelerationStructureInfoNV, instanceData: Buffer, instanceOffset: DeviceSize, update: b32, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratchOffset: DeviceSize)
-ProcCmdBuildAccelerationStructuresIndirectKHR       :: #type proc "system" (commandBuffer: CommandBuffer, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, pIndirectDeviceAddresses: [^]DeviceAddress, pIndirectStrides: [^]u32, ppMaxPrimitiveCounts: ^[^]u32)
-ProcCmdBuildAccelerationStructuresKHR               :: #type proc "system" (commandBuffer: CommandBuffer, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ^[^]AccelerationStructureBuildRangeInfoKHR)
-ProcCmdClearAttachments                             :: #type proc "system" (commandBuffer: CommandBuffer, attachmentCount: u32, pAttachments: [^]ClearAttachment, rectCount: u32, pRects: [^]ClearRect)
-ProcCmdClearColorImage                              :: #type proc "system" (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pColor: ^ClearColorValue, rangeCount: u32, pRanges: [^]ImageSubresourceRange)
-ProcCmdClearDepthStencilImage                       :: #type proc "system" (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pDepthStencil: ^ClearDepthStencilValue, rangeCount: u32, pRanges: [^]ImageSubresourceRange)
-ProcCmdCopyAccelerationStructureKHR                 :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyAccelerationStructureInfoKHR)
-ProcCmdCopyAccelerationStructureNV                  :: #type proc "system" (commandBuffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeKHR)
-ProcCmdCopyAccelerationStructureToMemoryKHR         :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyAccelerationStructureToMemoryInfoKHR)
-ProcCmdCopyBuffer                                   :: #type proc "system" (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstBuffer: Buffer, regionCount: u32, pRegions: [^]BufferCopy)
-ProcCmdCopyBuffer2                                  :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferInfo: ^CopyBufferInfo2)
-ProcCmdCopyBuffer2KHR                               :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferInfo: ^CopyBufferInfo2)
-ProcCmdCopyBufferToImage                            :: #type proc "system" (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]BufferImageCopy)
-ProcCmdCopyBufferToImage2                           :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferToImageInfo: ^CopyBufferToImageInfo2)
-ProcCmdCopyBufferToImage2KHR                        :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferToImageInfo: ^CopyBufferToImageInfo2)
-ProcCmdCopyImage                                    :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageCopy)
-ProcCmdCopyImage2                                   :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageInfo: ^CopyImageInfo2)
-ProcCmdCopyImage2KHR                                :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageInfo: ^CopyImageInfo2)
-ProcCmdCopyImageToBuffer                            :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstBuffer: Buffer, regionCount: u32, pRegions: [^]BufferImageCopy)
-ProcCmdCopyImageToBuffer2                           :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageToBufferInfo: ^CopyImageToBufferInfo2)
-ProcCmdCopyImageToBuffer2KHR                        :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageToBufferInfo: ^CopyImageToBufferInfo2)
-ProcCmdCopyMemoryToAccelerationStructureKHR         :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyMemoryToAccelerationStructureInfoKHR)
-ProcCmdCopyQueryPoolResults                         :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dstBuffer: Buffer, dstOffset: DeviceSize, stride: DeviceSize, flags: QueryResultFlags)
-ProcCmdCuLaunchKernelNVX                            :: #type proc "system" (commandBuffer: CommandBuffer, pLaunchInfo: ^CuLaunchInfoNVX)
-ProcCmdDebugMarkerBeginEXT                          :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^DebugMarkerMarkerInfoEXT)
-ProcCmdDebugMarkerEndEXT                            :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdDebugMarkerInsertEXT                         :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^DebugMarkerMarkerInfoEXT)
-ProcCmdDispatch                                     :: #type proc "system" (commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32)
-ProcCmdDispatchBase                                 :: #type proc "system" (commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32)
-ProcCmdDispatchBaseKHR                              :: #type proc "system" (commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32)
-ProcCmdDispatchIndirect                             :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize)
-ProcCmdDraw                                         :: #type proc "system" (commandBuffer: CommandBuffer, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32)
-ProcCmdDrawIndexed                                  :: #type proc "system" (commandBuffer: CommandBuffer, indexCount: u32, instanceCount: u32, firstIndex: u32, vertexOffset: i32, firstInstance: u32)
-ProcCmdDrawIndexedIndirect                          :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32)
-ProcCmdDrawIndexedIndirectCount                     :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawIndexedIndirectCountAMD                  :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawIndexedIndirectCountKHR                  :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawIndirect                                 :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32)
-ProcCmdDrawIndirectByteCountEXT                     :: #type proc "system" (commandBuffer: CommandBuffer, instanceCount: u32, firstInstance: u32, counterBuffer: Buffer, counterBufferOffset: DeviceSize, counterOffset: u32, vertexStride: u32)
-ProcCmdDrawIndirectCount                            :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawIndirectCountAMD                         :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawIndirectCountKHR                         :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawMeshTasksIndirectCountNV                 :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawMeshTasksIndirectNV                      :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32)
-ProcCmdDrawMeshTasksNV                              :: #type proc "system" (commandBuffer: CommandBuffer, taskCount: u32, firstTask: u32)
-ProcCmdDrawMultiEXT                                 :: #type proc "system" (commandBuffer: CommandBuffer, drawCount: u32, pVertexInfo: ^MultiDrawInfoEXT, instanceCount: u32, firstInstance: u32, stride: u32)
-ProcCmdDrawMultiIndexedEXT                          :: #type proc "system" (commandBuffer: CommandBuffer, drawCount: u32, pIndexInfo: ^MultiDrawIndexedInfoEXT, instanceCount: u32, firstInstance: u32, stride: u32, pVertexOffset: ^i32)
-ProcCmdEndConditionalRenderingEXT                   :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdEndDebugUtilsLabelEXT                        :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdEndQuery                                     :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32)
-ProcCmdEndQueryIndexedEXT                           :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, index: u32)
-ProcCmdEndRenderPass                                :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdEndRenderPass2                               :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassEndInfo: ^SubpassEndInfo)
-ProcCmdEndRenderPass2KHR                            :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassEndInfo: ^SubpassEndInfo)
-ProcCmdEndRendering                                 :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdEndRenderingKHR                              :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdEndTransformFeedbackEXT                      :: #type proc "system" (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: [^]Buffer, pCounterBufferOffsets: [^]DeviceSize)
-ProcCmdExecuteCommands                              :: #type proc "system" (commandBuffer: CommandBuffer, commandBufferCount: u32, pCommandBuffers: [^]CommandBuffer)
-ProcCmdExecuteGeneratedCommandsNV                   :: #type proc "system" (commandBuffer: CommandBuffer, isPreprocessed: b32, pGeneratedCommandsInfo: ^GeneratedCommandsInfoNV)
-ProcCmdFillBuffer                                   :: #type proc "system" (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, size: DeviceSize, data: u32)
-ProcCmdInsertDebugUtilsLabelEXT                     :: #type proc "system" (commandBuffer: CommandBuffer, pLabelInfo: ^DebugUtilsLabelEXT)
-ProcCmdNextSubpass                                  :: #type proc "system" (commandBuffer: CommandBuffer, contents: SubpassContents)
-ProcCmdNextSubpass2                                 :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassBeginInfo: ^SubpassBeginInfo, pSubpassEndInfo: ^SubpassEndInfo)
-ProcCmdNextSubpass2KHR                              :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassBeginInfo: ^SubpassBeginInfo, pSubpassEndInfo: ^SubpassEndInfo)
-ProcCmdPipelineBarrier                              :: #type proc "system" (commandBuffer: CommandBuffer, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, dependencyFlags: DependencyFlags, memoryBarrierCount: u32, pMemoryBarriers: [^]MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: [^]BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: [^]ImageMemoryBarrier)
-ProcCmdPipelineBarrier2                             :: #type proc "system" (commandBuffer: CommandBuffer, pDependencyInfo: ^DependencyInfo)
-ProcCmdPipelineBarrier2KHR                          :: #type proc "system" (commandBuffer: CommandBuffer, pDependencyInfo: ^DependencyInfo)
-ProcCmdPreprocessGeneratedCommandsNV                :: #type proc "system" (commandBuffer: CommandBuffer, pGeneratedCommandsInfo: ^GeneratedCommandsInfoNV)
-ProcCmdPushConstants                                :: #type proc "system" (commandBuffer: CommandBuffer, layout: PipelineLayout, stageFlags: ShaderStageFlags, offset: u32, size: u32, pValues: rawptr)
-ProcCmdPushDescriptorSetKHR                         :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, set: u32, descriptorWriteCount: u32, pDescriptorWrites: [^]WriteDescriptorSet)
-ProcCmdPushDescriptorSetWithTemplateKHR             :: #type proc "system" (commandBuffer: CommandBuffer, descriptorUpdateTemplate: DescriptorUpdateTemplate, layout: PipelineLayout, set: u32, pData: rawptr)
-ProcCmdResetEvent                                   :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags)
-ProcCmdResetEvent2                                  :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags2)
-ProcCmdResetEvent2KHR                               :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags2)
-ProcCmdResetQueryPool                               :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32)
-ProcCmdResolveImage                                 :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageResolve)
-ProcCmdResolveImage2                                :: #type proc "system" (commandBuffer: CommandBuffer, pResolveImageInfo: ^ResolveImageInfo2)
-ProcCmdResolveImage2KHR                             :: #type proc "system" (commandBuffer: CommandBuffer, pResolveImageInfo: ^ResolveImageInfo2)
-ProcCmdSetBlendConstants                            :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdSetCheckpointNV                              :: #type proc "system" (commandBuffer: CommandBuffer, pCheckpointMarker: rawptr)
-ProcCmdSetCoarseSampleOrderNV                       :: #type proc "system" (commandBuffer: CommandBuffer, sampleOrderType: CoarseSampleOrderTypeNV, customSampleOrderCount: u32, pCustomSampleOrders: [^]CoarseSampleOrderCustomNV)
-ProcCmdSetCullMode                                  :: #type proc "system" (commandBuffer: CommandBuffer, cullMode: CullModeFlags)
-ProcCmdSetCullModeEXT                               :: #type proc "system" (commandBuffer: CommandBuffer, cullMode: CullModeFlags)
-ProcCmdSetDepthBias                                 :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasConstantFactor: f32, depthBiasClamp: f32, depthBiasSlopeFactor: f32)
-ProcCmdSetDepthBiasEnable                           :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasEnable: b32)
-ProcCmdSetDepthBiasEnableEXT                        :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasEnable: b32)
-ProcCmdSetDepthBounds                               :: #type proc "system" (commandBuffer: CommandBuffer, minDepthBounds: f32, maxDepthBounds: f32)
-ProcCmdSetDepthBoundsTestEnable                     :: #type proc "system" (commandBuffer: CommandBuffer, depthBoundsTestEnable: b32)
-ProcCmdSetDepthBoundsTestEnableEXT                  :: #type proc "system" (commandBuffer: CommandBuffer, depthBoundsTestEnable: b32)
-ProcCmdSetDepthCompareOp                            :: #type proc "system" (commandBuffer: CommandBuffer, depthCompareOp: CompareOp)
-ProcCmdSetDepthCompareOpEXT                         :: #type proc "system" (commandBuffer: CommandBuffer, depthCompareOp: CompareOp)
-ProcCmdSetDepthTestEnable                           :: #type proc "system" (commandBuffer: CommandBuffer, depthTestEnable: b32)
-ProcCmdSetDepthTestEnableEXT                        :: #type proc "system" (commandBuffer: CommandBuffer, depthTestEnable: b32)
-ProcCmdSetDepthWriteEnable                          :: #type proc "system" (commandBuffer: CommandBuffer, depthWriteEnable: b32)
-ProcCmdSetDepthWriteEnableEXT                       :: #type proc "system" (commandBuffer: CommandBuffer, depthWriteEnable: b32)
-ProcCmdSetDeviceMask                                :: #type proc "system" (commandBuffer: CommandBuffer, deviceMask: u32)
-ProcCmdSetDeviceMaskKHR                             :: #type proc "system" (commandBuffer: CommandBuffer, deviceMask: u32)
-ProcCmdSetDiscardRectangleEXT                       :: #type proc "system" (commandBuffer: CommandBuffer, firstDiscardRectangle: u32, discardRectangleCount: u32, pDiscardRectangles: [^]Rect2D)
-ProcCmdSetEvent                                     :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags)
-ProcCmdSetEvent2                                    :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, pDependencyInfo: ^DependencyInfo)
-ProcCmdSetEvent2KHR                                 :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, pDependencyInfo: ^DependencyInfo)
-ProcCmdSetExclusiveScissorNV                        :: #type proc "system" (commandBuffer: CommandBuffer, firstExclusiveScissor: u32, exclusiveScissorCount: u32, pExclusiveScissors: [^]Rect2D)
-ProcCmdSetFragmentShadingRateEnumNV                 :: #type proc "system" (commandBuffer: CommandBuffer, shadingRate: FragmentShadingRateNV)
-ProcCmdSetFragmentShadingRateKHR                    :: #type proc "system" (commandBuffer: CommandBuffer, pFragmentSize: ^Extent2D)
-ProcCmdSetFrontFace                                 :: #type proc "system" (commandBuffer: CommandBuffer, frontFace: FrontFace)
-ProcCmdSetFrontFaceEXT                              :: #type proc "system" (commandBuffer: CommandBuffer, frontFace: FrontFace)
-ProcCmdSetLineStippleEXT                            :: #type proc "system" (commandBuffer: CommandBuffer, lineStippleFactor: u32, lineStipplePattern: u16)
-ProcCmdSetLineWidth                                 :: #type proc "system" (commandBuffer: CommandBuffer, lineWidth: f32)
-ProcCmdSetLogicOpEXT                                :: #type proc "system" (commandBuffer: CommandBuffer, logicOp: LogicOp)
-ProcCmdSetPatchControlPointsEXT                     :: #type proc "system" (commandBuffer: CommandBuffer, patchControlPoints: u32)
-ProcCmdSetPerformanceMarkerINTEL                    :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^PerformanceMarkerInfoINTEL) -> Result
-ProcCmdSetPerformanceOverrideINTEL                  :: #type proc "system" (commandBuffer: CommandBuffer, pOverrideInfo: ^PerformanceOverrideInfoINTEL) -> Result
-ProcCmdSetPerformanceStreamMarkerINTEL              :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^PerformanceStreamMarkerInfoINTEL) -> Result
-ProcCmdSetPrimitiveRestartEnable                    :: #type proc "system" (commandBuffer: CommandBuffer, primitiveRestartEnable: b32)
-ProcCmdSetPrimitiveRestartEnableEXT                 :: #type proc "system" (commandBuffer: CommandBuffer, primitiveRestartEnable: b32)
-ProcCmdSetPrimitiveTopology                         :: #type proc "system" (commandBuffer: CommandBuffer, primitiveTopology: PrimitiveTopology)
-ProcCmdSetPrimitiveTopologyEXT                      :: #type proc "system" (commandBuffer: CommandBuffer, primitiveTopology: PrimitiveTopology)
-ProcCmdSetRasterizerDiscardEnable                   :: #type proc "system" (commandBuffer: CommandBuffer, rasterizerDiscardEnable: b32)
-ProcCmdSetRasterizerDiscardEnableEXT                :: #type proc "system" (commandBuffer: CommandBuffer, rasterizerDiscardEnable: b32)
-ProcCmdSetRayTracingPipelineStackSizeKHR            :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStackSize: u32)
-ProcCmdSetSampleLocationsEXT                        :: #type proc "system" (commandBuffer: CommandBuffer, pSampleLocationsInfo: ^SampleLocationsInfoEXT)
-ProcCmdSetScissor                                   :: #type proc "system" (commandBuffer: CommandBuffer, firstScissor: u32, scissorCount: u32, pScissors: [^]Rect2D)
-ProcCmdSetScissorWithCount                          :: #type proc "system" (commandBuffer: CommandBuffer, scissorCount: u32, pScissors: [^]Rect2D)
-ProcCmdSetScissorWithCountEXT                       :: #type proc "system" (commandBuffer: CommandBuffer, scissorCount: u32, pScissors: [^]Rect2D)
-ProcCmdSetStencilCompareMask                        :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, compareMask: u32)
-ProcCmdSetStencilOp                                 :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, failOp: StencilOp, passOp: StencilOp, depthFailOp: StencilOp, compareOp: CompareOp)
-ProcCmdSetStencilOpEXT                              :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, failOp: StencilOp, passOp: StencilOp, depthFailOp: StencilOp, compareOp: CompareOp)
-ProcCmdSetStencilReference                          :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, reference: u32)
-ProcCmdSetStencilTestEnable                         :: #type proc "system" (commandBuffer: CommandBuffer, stencilTestEnable: b32)
-ProcCmdSetStencilTestEnableEXT                      :: #type proc "system" (commandBuffer: CommandBuffer, stencilTestEnable: b32)
-ProcCmdSetStencilWriteMask                          :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, writeMask: u32)
-ProcCmdSetVertexInputEXT                            :: #type proc "system" (commandBuffer: CommandBuffer, vertexBindingDescriptionCount: u32, pVertexBindingDescriptions: [^]VertexInputBindingDescription2EXT, vertexAttributeDescriptionCount: u32, pVertexAttributeDescriptions: [^]VertexInputAttributeDescription2EXT)
-ProcCmdSetViewport                                  :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewports: [^]Viewport)
-ProcCmdSetViewportShadingRatePaletteNV              :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pShadingRatePalettes: [^]ShadingRatePaletteNV)
-ProcCmdSetViewportWScalingNV                        :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewportWScalings: [^]ViewportWScalingNV)
-ProcCmdSetViewportWithCount                         :: #type proc "system" (commandBuffer: CommandBuffer, viewportCount: u32, pViewports: [^]Viewport)
-ProcCmdSetViewportWithCountEXT                      :: #type proc "system" (commandBuffer: CommandBuffer, viewportCount: u32, pViewports: [^]Viewport)
-ProcCmdSubpassShadingHUAWEI                         :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdTraceRaysIndirectKHR                         :: #type proc "system" (commandBuffer: CommandBuffer, pRaygenShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pMissShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pHitShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pCallableShaderBindingTable: [^]StridedDeviceAddressRegionKHR, indirectDeviceAddress: DeviceAddress)
-ProcCmdTraceRaysKHR                                 :: #type proc "system" (commandBuffer: CommandBuffer, pRaygenShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pMissShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pHitShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pCallableShaderBindingTable: [^]StridedDeviceAddressRegionKHR, width: u32, height: u32, depth: u32)
-ProcCmdTraceRaysNV                                  :: #type proc "system" (commandBuffer: CommandBuffer, raygenShaderBindingTableBuffer: Buffer, raygenShaderBindingOffset: DeviceSize, missShaderBindingTableBuffer: Buffer, missShaderBindingOffset: DeviceSize, missShaderBindingStride: DeviceSize, hitShaderBindingTableBuffer: Buffer, hitShaderBindingOffset: DeviceSize, hitShaderBindingStride: DeviceSize, callableShaderBindingTableBuffer: Buffer, callableShaderBindingOffset: DeviceSize, callableShaderBindingStride: DeviceSize, width: u32, height: u32, depth: u32)
-ProcCmdUpdateBuffer                                 :: #type proc "system" (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, dataSize: DeviceSize, pData: rawptr)
-ProcCmdWaitEvents                                   :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, memoryBarrierCount: u32, pMemoryBarriers: [^]MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: [^]BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: [^]ImageMemoryBarrier)
-ProcCmdWaitEvents2                                  :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, pDependencyInfos: [^]DependencyInfo)
-ProcCmdWaitEvents2KHR                               :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, pDependencyInfos: [^]DependencyInfo)
-ProcCmdWriteAccelerationStructuresPropertiesKHR     :: #type proc "system" (commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureKHR, queryType: QueryType, queryPool: QueryPool, firstQuery: u32)
-ProcCmdWriteAccelerationStructuresPropertiesNV      :: #type proc "system" (commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureNV, queryType: QueryType, queryPool: QueryPool, firstQuery: u32)
-ProcCmdWriteBufferMarker2AMD                        :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32)
-ProcCmdWriteBufferMarkerAMD                         :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlags, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32)
-ProcCmdWriteTimestamp                               :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlags, queryPool: QueryPool, query: u32)
-ProcCmdWriteTimestamp2                              :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, queryPool: QueryPool, query: u32)
-ProcCmdWriteTimestamp2KHR                           :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, queryPool: QueryPool, query: u32)
-ProcCompileDeferredNV                               :: #type proc "system" (device: Device, pipeline: Pipeline, shader: u32) -> Result
-ProcCopyAccelerationStructureKHR                    :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyAccelerationStructureInfoKHR) -> Result
-ProcCopyAccelerationStructureToMemoryKHR            :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyAccelerationStructureToMemoryInfoKHR) -> Result
-ProcCopyMemoryToAccelerationStructureKHR            :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyMemoryToAccelerationStructureInfoKHR) -> Result
-ProcCreateAccelerationStructureKHR                  :: #type proc "system" (device: Device, pCreateInfo: ^AccelerationStructureCreateInfoKHR, pAllocator: ^AllocationCallbacks, pAccelerationStructure: ^AccelerationStructureKHR) -> Result
-ProcCreateAccelerationStructureNV                   :: #type proc "system" (device: Device, pCreateInfo: ^AccelerationStructureCreateInfoNV, pAllocator: ^AllocationCallbacks, pAccelerationStructure: ^AccelerationStructureNV) -> Result
-ProcCreateBuffer                                    :: #type proc "system" (device: Device, pCreateInfo: ^BufferCreateInfo, pAllocator: ^AllocationCallbacks, pBuffer: ^Buffer) -> Result
-ProcCreateBufferView                                :: #type proc "system" (device: Device, pCreateInfo: ^BufferViewCreateInfo, pAllocator: ^AllocationCallbacks, pView: ^BufferView) -> Result
-ProcCreateCommandPool                               :: #type proc "system" (device: Device, pCreateInfo: ^CommandPoolCreateInfo, pAllocator: ^AllocationCallbacks, pCommandPool: ^CommandPool) -> Result
-ProcCreateComputePipelines                          :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]ComputePipelineCreateInfo, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
-ProcCreateCuFunctionNVX                             :: #type proc "system" (device: Device, pCreateInfo: ^CuFunctionCreateInfoNVX, pAllocator: ^AllocationCallbacks, pFunction: ^CuFunctionNVX) -> Result
-ProcCreateCuModuleNVX                               :: #type proc "system" (device: Device, pCreateInfo: ^CuModuleCreateInfoNVX, pAllocator: ^AllocationCallbacks, pModule: ^CuModuleNVX) -> Result
-ProcCreateDeferredOperationKHR                      :: #type proc "system" (device: Device, pAllocator: ^AllocationCallbacks, pDeferredOperation: ^DeferredOperationKHR) -> Result
-ProcCreateDescriptorPool                            :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorPoolCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorPool: ^DescriptorPool) -> Result
-ProcCreateDescriptorSetLayout                       :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pAllocator: ^AllocationCallbacks, pSetLayout: ^DescriptorSetLayout) -> Result
-ProcCreateDescriptorUpdateTemplate                  :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorUpdateTemplateCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorUpdateTemplate: ^DescriptorUpdateTemplate) -> Result
-ProcCreateDescriptorUpdateTemplateKHR               :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorUpdateTemplateCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorUpdateTemplate: ^DescriptorUpdateTemplate) -> Result
-ProcCreateEvent                                     :: #type proc "system" (device: Device, pCreateInfo: ^EventCreateInfo, pAllocator: ^AllocationCallbacks, pEvent: ^Event) -> Result
-ProcCreateFence                                     :: #type proc "system" (device: Device, pCreateInfo: ^FenceCreateInfo, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result
-ProcCreateFramebuffer                               :: #type proc "system" (device: Device, pCreateInfo: ^FramebufferCreateInfo, pAllocator: ^AllocationCallbacks, pFramebuffer: ^Framebuffer) -> Result
-ProcCreateGraphicsPipelines                         :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]GraphicsPipelineCreateInfo, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
-ProcCreateImage                                     :: #type proc "system" (device: Device, pCreateInfo: ^ImageCreateInfo, pAllocator: ^AllocationCallbacks, pImage: ^Image) -> Result
-ProcCreateImageView                                 :: #type proc "system" (device: Device, pCreateInfo: ^ImageViewCreateInfo, pAllocator: ^AllocationCallbacks, pView: ^ImageView) -> Result
-ProcCreateIndirectCommandsLayoutNV                  :: #type proc "system" (device: Device, pCreateInfo: ^IndirectCommandsLayoutCreateInfoNV, pAllocator: ^AllocationCallbacks, pIndirectCommandsLayout: ^IndirectCommandsLayoutNV) -> Result
-ProcCreatePipelineCache                             :: #type proc "system" (device: Device, pCreateInfo: ^PipelineCacheCreateInfo, pAllocator: ^AllocationCallbacks, pPipelineCache: ^PipelineCache) -> Result
-ProcCreatePipelineLayout                            :: #type proc "system" (device: Device, pCreateInfo: ^PipelineLayoutCreateInfo, pAllocator: ^AllocationCallbacks, pPipelineLayout: ^PipelineLayout) -> Result
-ProcCreatePrivateDataSlot                           :: #type proc "system" (device: Device, pCreateInfo: ^PrivateDataSlotCreateInfo, pAllocator: ^AllocationCallbacks, pPrivateDataSlot: ^PrivateDataSlot) -> Result
-ProcCreatePrivateDataSlotEXT                        :: #type proc "system" (device: Device, pCreateInfo: ^PrivateDataSlotCreateInfo, pAllocator: ^AllocationCallbacks, pPrivateDataSlot: ^PrivateDataSlot) -> Result
-ProcCreateQueryPool                                 :: #type proc "system" (device: Device, pCreateInfo: ^QueryPoolCreateInfo, pAllocator: ^AllocationCallbacks, pQueryPool: ^QueryPool) -> Result
-ProcCreateRayTracingPipelinesKHR                    :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]RayTracingPipelineCreateInfoKHR, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
-ProcCreateRayTracingPipelinesNV                     :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]RayTracingPipelineCreateInfoNV, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
-ProcCreateRenderPass                                :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result
-ProcCreateRenderPass2                               :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo2, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result
-ProcCreateRenderPass2KHR                            :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo2, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result
-ProcCreateSampler                                   :: #type proc "system" (device: Device, pCreateInfo: ^SamplerCreateInfo, pAllocator: ^AllocationCallbacks, pSampler: ^Sampler) -> Result
-ProcCreateSamplerYcbcrConversion                    :: #type proc "system" (device: Device, pCreateInfo: ^SamplerYcbcrConversionCreateInfo, pAllocator: ^AllocationCallbacks, pYcbcrConversion: ^SamplerYcbcrConversion) -> Result
-ProcCreateSamplerYcbcrConversionKHR                 :: #type proc "system" (device: Device, pCreateInfo: ^SamplerYcbcrConversionCreateInfo, pAllocator: ^AllocationCallbacks, pYcbcrConversion: ^SamplerYcbcrConversion) -> Result
-ProcCreateSemaphore                                 :: #type proc "system" (device: Device, pCreateInfo: ^SemaphoreCreateInfo, pAllocator: ^AllocationCallbacks, pSemaphore: ^Semaphore) -> Result
-ProcCreateShaderModule                              :: #type proc "system" (device: Device, pCreateInfo: ^ShaderModuleCreateInfo, pAllocator: ^AllocationCallbacks, pShaderModule: ^ShaderModule) -> Result
-ProcCreateSharedSwapchainsKHR                       :: #type proc "system" (device: Device, swapchainCount: u32, pCreateInfos: [^]SwapchainCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSwapchains: [^]SwapchainKHR) -> Result
-ProcCreateSwapchainKHR                              :: #type proc "system" (device: Device, pCreateInfo: ^SwapchainCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSwapchain: ^SwapchainKHR) -> Result
-ProcCreateValidationCacheEXT                        :: #type proc "system" (device: Device, pCreateInfo: ^ValidationCacheCreateInfoEXT, pAllocator: ^AllocationCallbacks, pValidationCache: ^ValidationCacheEXT) -> Result
-ProcDebugMarkerSetObjectNameEXT                     :: #type proc "system" (device: Device, pNameInfo: ^DebugMarkerObjectNameInfoEXT) -> Result
-ProcDebugMarkerSetObjectTagEXT                      :: #type proc "system" (device: Device, pTagInfo: ^DebugMarkerObjectTagInfoEXT) -> Result
-ProcDeferredOperationJoinKHR                        :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> Result
-ProcDestroyAccelerationStructureKHR                 :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureKHR, pAllocator: ^AllocationCallbacks)
-ProcDestroyAccelerationStructureNV                  :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureNV, pAllocator: ^AllocationCallbacks)
-ProcDestroyBuffer                                   :: #type proc "system" (device: Device, buffer: Buffer, pAllocator: ^AllocationCallbacks)
-ProcDestroyBufferView                               :: #type proc "system" (device: Device, bufferView: BufferView, pAllocator: ^AllocationCallbacks)
-ProcDestroyCommandPool                              :: #type proc "system" (device: Device, commandPool: CommandPool, pAllocator: ^AllocationCallbacks)
-ProcDestroyCuFunctionNVX                            :: #type proc "system" (device: Device, function: CuFunctionNVX, pAllocator: ^AllocationCallbacks)
-ProcDestroyCuModuleNVX                              :: #type proc "system" (device: Device, module: CuModuleNVX, pAllocator: ^AllocationCallbacks)
-ProcDestroyDeferredOperationKHR                     :: #type proc "system" (device: Device, operation: DeferredOperationKHR, pAllocator: ^AllocationCallbacks)
-ProcDestroyDescriptorPool                           :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, pAllocator: ^AllocationCallbacks)
-ProcDestroyDescriptorSetLayout                      :: #type proc "system" (device: Device, descriptorSetLayout: DescriptorSetLayout, pAllocator: ^AllocationCallbacks)
-ProcDestroyDescriptorUpdateTemplate                 :: #type proc "system" (device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: ^AllocationCallbacks)
-ProcDestroyDescriptorUpdateTemplateKHR              :: #type proc "system" (device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: ^AllocationCallbacks)
-ProcDestroyDevice                                   :: #type proc "system" (device: Device, pAllocator: ^AllocationCallbacks)
-ProcDestroyEvent                                    :: #type proc "system" (device: Device, event: Event, pAllocator: ^AllocationCallbacks)
-ProcDestroyFence                                    :: #type proc "system" (device: Device, fence: Fence, pAllocator: ^AllocationCallbacks)
-ProcDestroyFramebuffer                              :: #type proc "system" (device: Device, framebuffer: Framebuffer, pAllocator: ^AllocationCallbacks)
-ProcDestroyImage                                    :: #type proc "system" (device: Device, image: Image, pAllocator: ^AllocationCallbacks)
-ProcDestroyImageView                                :: #type proc "system" (device: Device, imageView: ImageView, pAllocator: ^AllocationCallbacks)
-ProcDestroyIndirectCommandsLayoutNV                 :: #type proc "system" (device: Device, indirectCommandsLayout: IndirectCommandsLayoutNV, pAllocator: ^AllocationCallbacks)
-ProcDestroyPipeline                                 :: #type proc "system" (device: Device, pipeline: Pipeline, pAllocator: ^AllocationCallbacks)
-ProcDestroyPipelineCache                            :: #type proc "system" (device: Device, pipelineCache: PipelineCache, pAllocator: ^AllocationCallbacks)
-ProcDestroyPipelineLayout                           :: #type proc "system" (device: Device, pipelineLayout: PipelineLayout, pAllocator: ^AllocationCallbacks)
-ProcDestroyPrivateDataSlot                          :: #type proc "system" (device: Device, privateDataSlot: PrivateDataSlot, pAllocator: ^AllocationCallbacks)
-ProcDestroyPrivateDataSlotEXT                       :: #type proc "system" (device: Device, privateDataSlot: PrivateDataSlot, pAllocator: ^AllocationCallbacks)
-ProcDestroyQueryPool                                :: #type proc "system" (device: Device, queryPool: QueryPool, pAllocator: ^AllocationCallbacks)
-ProcDestroyRenderPass                               :: #type proc "system" (device: Device, renderPass: RenderPass, pAllocator: ^AllocationCallbacks)
-ProcDestroySampler                                  :: #type proc "system" (device: Device, sampler: Sampler, pAllocator: ^AllocationCallbacks)
-ProcDestroySamplerYcbcrConversion                   :: #type proc "system" (device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: ^AllocationCallbacks)
-ProcDestroySamplerYcbcrConversionKHR                :: #type proc "system" (device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: ^AllocationCallbacks)
-ProcDestroySemaphore                                :: #type proc "system" (device: Device, semaphore: Semaphore, pAllocator: ^AllocationCallbacks)
-ProcDestroyShaderModule                             :: #type proc "system" (device: Device, shaderModule: ShaderModule, pAllocator: ^AllocationCallbacks)
-ProcDestroySwapchainKHR                             :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pAllocator: ^AllocationCallbacks)
-ProcDestroyValidationCacheEXT                       :: #type proc "system" (device: Device, validationCache: ValidationCacheEXT, pAllocator: ^AllocationCallbacks)
-ProcDeviceWaitIdle                                  :: #type proc "system" (device: Device) -> Result
-ProcDisplayPowerControlEXT                          :: #type proc "system" (device: Device, display: DisplayKHR, pDisplayPowerInfo: ^DisplayPowerInfoEXT) -> Result
-ProcEndCommandBuffer                                :: #type proc "system" (commandBuffer: CommandBuffer) -> Result
-ProcFlushMappedMemoryRanges                         :: #type proc "system" (device: Device, memoryRangeCount: u32, pMemoryRanges: [^]MappedMemoryRange) -> Result
-ProcFreeCommandBuffers                              :: #type proc "system" (device: Device, commandPool: CommandPool, commandBufferCount: u32, pCommandBuffers: [^]CommandBuffer)
-ProcFreeDescriptorSets                              :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, descriptorSetCount: u32, pDescriptorSets: [^]DescriptorSet) -> Result
-ProcFreeMemory                                      :: #type proc "system" (device: Device, memory: DeviceMemory, pAllocator: ^AllocationCallbacks)
-ProcGetAccelerationStructureBuildSizesKHR           :: #type proc "system" (device: Device, buildType: AccelerationStructureBuildTypeKHR, pBuildInfo: ^AccelerationStructureBuildGeometryInfoKHR, pMaxPrimitiveCounts: [^]u32, pSizeInfo: ^AccelerationStructureBuildSizesInfoKHR)
-ProcGetAccelerationStructureDeviceAddressKHR        :: #type proc "system" (device: Device, pInfo: ^AccelerationStructureDeviceAddressInfoKHR) -> DeviceAddress
-ProcGetAccelerationStructureHandleNV                :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureNV, dataSize: int, pData: rawptr) -> Result
-ProcGetAccelerationStructureMemoryRequirementsNV    :: #type proc "system" (device: Device, pInfo: ^AccelerationStructureMemoryRequirementsInfoNV, pMemoryRequirements: [^]MemoryRequirements2KHR)
-ProcGetBufferDeviceAddress                          :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress
-ProcGetBufferDeviceAddressEXT                       :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress
-ProcGetBufferDeviceAddressKHR                       :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress
-ProcGetBufferMemoryRequirements                     :: #type proc "system" (device: Device, buffer: Buffer, pMemoryRequirements: [^]MemoryRequirements)
-ProcGetBufferMemoryRequirements2                    :: #type proc "system" (device: Device, pInfo: ^BufferMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetBufferMemoryRequirements2KHR                 :: #type proc "system" (device: Device, pInfo: ^BufferMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetBufferOpaqueCaptureAddress                   :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> u64
-ProcGetBufferOpaqueCaptureAddressKHR                :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> u64
-ProcGetCalibratedTimestampsEXT                      :: #type proc "system" (device: Device, timestampCount: u32, pTimestampInfos: [^]CalibratedTimestampInfoEXT, pTimestamps: [^]u64, pMaxDeviation: ^u64) -> Result
-ProcGetDeferredOperationMaxConcurrencyKHR           :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> u32
-ProcGetDeferredOperationResultKHR                   :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> Result
-ProcGetDescriptorSetHostMappingVALVE                :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, ppData: ^rawptr)
-ProcGetDescriptorSetLayoutHostMappingInfoVALVE      :: #type proc "system" (device: Device, pBindingReference: ^DescriptorSetBindingReferenceVALVE, pHostMapping: ^DescriptorSetLayoutHostMappingInfoVALVE)
-ProcGetDescriptorSetLayoutSupport                   :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pSupport: ^DescriptorSetLayoutSupport)
-ProcGetDescriptorSetLayoutSupportKHR                :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pSupport: ^DescriptorSetLayoutSupport)
-ProcGetDeviceAccelerationStructureCompatibilityKHR  :: #type proc "system" (device: Device, pVersionInfo: ^AccelerationStructureVersionInfoKHR, pCompatibility: ^AccelerationStructureCompatibilityKHR)
-ProcGetDeviceBufferMemoryRequirements               :: #type proc "system" (device: Device, pInfo: ^DeviceBufferMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetDeviceBufferMemoryRequirementsKHR            :: #type proc "system" (device: Device, pInfo: ^DeviceBufferMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetDeviceGroupPeerMemoryFeatures                :: #type proc "system" (device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: [^]PeerMemoryFeatureFlags)
-ProcGetDeviceGroupPeerMemoryFeaturesKHR             :: #type proc "system" (device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: [^]PeerMemoryFeatureFlags)
-ProcGetDeviceGroupPresentCapabilitiesKHR            :: #type proc "system" (device: Device, pDeviceGroupPresentCapabilities: [^]DeviceGroupPresentCapabilitiesKHR) -> Result
-ProcGetDeviceGroupSurfacePresentModes2EXT           :: #type proc "system" (device: Device, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pModes: [^]DeviceGroupPresentModeFlagsKHR) -> Result
-ProcGetDeviceGroupSurfacePresentModesKHR            :: #type proc "system" (device: Device, surface: SurfaceKHR, pModes: [^]DeviceGroupPresentModeFlagsKHR) -> Result
-ProcGetDeviceImageMemoryRequirements                :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetDeviceImageMemoryRequirementsKHR             :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetDeviceImageSparseMemoryRequirements          :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
-ProcGetDeviceImageSparseMemoryRequirementsKHR       :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
-ProcGetDeviceMemoryCommitment                       :: #type proc "system" (device: Device, memory: DeviceMemory, pCommittedMemoryInBytes: [^]DeviceSize)
-ProcGetDeviceMemoryOpaqueCaptureAddress             :: #type proc "system" (device: Device, pInfo: ^DeviceMemoryOpaqueCaptureAddressInfo) -> u64
-ProcGetDeviceMemoryOpaqueCaptureAddressKHR          :: #type proc "system" (device: Device, pInfo: ^DeviceMemoryOpaqueCaptureAddressInfo) -> u64
-ProcGetDeviceProcAddr                               :: #type proc "system" (device: Device, pName: cstring) -> ProcVoidFunction
-ProcGetDeviceQueue                                  :: #type proc "system" (device: Device, queueFamilyIndex: u32, queueIndex: u32, pQueue: ^Queue)
-ProcGetDeviceQueue2                                 :: #type proc "system" (device: Device, pQueueInfo: ^DeviceQueueInfo2, pQueue: ^Queue)
-ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   :: #type proc "system" (device: Device, renderpass: RenderPass, pMaxWorkgroupSize: ^Extent2D) -> Result
-ProcGetEventStatus                                  :: #type proc "system" (device: Device, event: Event) -> Result
-ProcGetFenceFdKHR                                   :: #type proc "system" (device: Device, pGetFdInfo: ^FenceGetFdInfoKHR, pFd: ^c.int) -> Result
-ProcGetFenceStatus                                  :: #type proc "system" (device: Device, fence: Fence) -> Result
-ProcGetFenceWin32HandleKHR                          :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^FenceGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result
-ProcGetGeneratedCommandsMemoryRequirementsNV        :: #type proc "system" (device: Device, pInfo: ^GeneratedCommandsMemoryRequirementsInfoNV, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetImageDrmFormatModifierPropertiesEXT          :: #type proc "system" (device: Device, image: Image, pProperties: [^]ImageDrmFormatModifierPropertiesEXT) -> Result
-ProcGetImageMemoryRequirements                      :: #type proc "system" (device: Device, image: Image, pMemoryRequirements: [^]MemoryRequirements)
-ProcGetImageMemoryRequirements2                     :: #type proc "system" (device: Device, pInfo: ^ImageMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetImageMemoryRequirements2KHR                  :: #type proc "system" (device: Device, pInfo: ^ImageMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetImageSparseMemoryRequirements                :: #type proc "system" (device: Device, image: Image, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements)
-ProcGetImageSparseMemoryRequirements2               :: #type proc "system" (device: Device, pInfo: ^ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
-ProcGetImageSparseMemoryRequirements2KHR            :: #type proc "system" (device: Device, pInfo: ^ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
-ProcGetImageSubresourceLayout                       :: #type proc "system" (device: Device, image: Image, pSubresource: ^ImageSubresource, pLayout: ^SubresourceLayout)
-ProcGetImageViewAddressNVX                          :: #type proc "system" (device: Device, imageView: ImageView, pProperties: [^]ImageViewAddressPropertiesNVX) -> Result
-ProcGetImageViewHandleNVX                           :: #type proc "system" (device: Device, pInfo: ^ImageViewHandleInfoNVX) -> u32
-ProcGetMemoryFdKHR                                  :: #type proc "system" (device: Device, pGetFdInfo: ^MemoryGetFdInfoKHR, pFd: ^c.int) -> Result
-ProcGetMemoryFdPropertiesKHR                        :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, fd: c.int, pMemoryFdProperties: [^]MemoryFdPropertiesKHR) -> Result
-ProcGetMemoryHostPointerPropertiesEXT               :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, pHostPointer: rawptr, pMemoryHostPointerProperties: [^]MemoryHostPointerPropertiesEXT) -> Result
-ProcGetMemoryRemoteAddressNV                        :: #type proc "system" (device: Device, pMemoryGetRemoteAddressInfo: ^MemoryGetRemoteAddressInfoNV, pAddress: [^]RemoteAddressNV) -> Result
-ProcGetMemoryWin32HandleKHR                         :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^MemoryGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result
-ProcGetMemoryWin32HandleNV                          :: #type proc "system" (device: Device, memory: DeviceMemory, handleType: ExternalMemoryHandleTypeFlagsNV, pHandle: ^HANDLE) -> Result
-ProcGetMemoryWin32HandlePropertiesKHR               :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, handle: HANDLE, pMemoryWin32HandleProperties: [^]MemoryWin32HandlePropertiesKHR) -> Result
-ProcGetPastPresentationTimingGOOGLE                 :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pPresentationTimingCount: ^u32, pPresentationTimings: [^]PastPresentationTimingGOOGLE) -> Result
-ProcGetPerformanceParameterINTEL                    :: #type proc "system" (device: Device, parameter: PerformanceParameterTypeINTEL, pValue: ^PerformanceValueINTEL) -> Result
-ProcGetPipelineCacheData                            :: #type proc "system" (device: Device, pipelineCache: PipelineCache, pDataSize: ^int, pData: rawptr) -> Result
-ProcGetPipelineExecutableInternalRepresentationsKHR :: #type proc "system" (device: Device, pExecutableInfo: ^PipelineExecutableInfoKHR, pInternalRepresentationCount: ^u32, pInternalRepresentations: [^]PipelineExecutableInternalRepresentationKHR) -> Result
-ProcGetPipelineExecutablePropertiesKHR              :: #type proc "system" (device: Device, pPipelineInfo: ^PipelineInfoKHR, pExecutableCount: ^u32, pProperties: [^]PipelineExecutablePropertiesKHR) -> Result
-ProcGetPipelineExecutableStatisticsKHR              :: #type proc "system" (device: Device, pExecutableInfo: ^PipelineExecutableInfoKHR, pStatisticCount: ^u32, pStatistics: [^]PipelineExecutableStatisticKHR) -> Result
-ProcGetPrivateData                                  :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, pData: ^u64)
-ProcGetPrivateDataEXT                               :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, pData: ^u64)
-ProcGetQueryPoolResults                             :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dataSize: int, pData: rawptr, stride: DeviceSize, flags: QueryResultFlags) -> Result
-ProcGetQueueCheckpointData2NV                       :: #type proc "system" (queue: Queue, pCheckpointDataCount: ^u32, pCheckpointData: ^CheckpointData2NV)
-ProcGetQueueCheckpointDataNV                        :: #type proc "system" (queue: Queue, pCheckpointDataCount: ^u32, pCheckpointData: ^CheckpointDataNV)
-ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result
-ProcGetRayTracingShaderGroupHandlesKHR              :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result
-ProcGetRayTracingShaderGroupHandlesNV               :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result
-ProcGetRayTracingShaderGroupStackSizeKHR            :: #type proc "system" (device: Device, pipeline: Pipeline, group: u32, groupShader: ShaderGroupShaderKHR) -> DeviceSize
-ProcGetRefreshCycleDurationGOOGLE                   :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pDisplayTimingProperties: [^]RefreshCycleDurationGOOGLE) -> Result
-ProcGetRenderAreaGranularity                        :: #type proc "system" (device: Device, renderPass: RenderPass, pGranularity: ^Extent2D)
-ProcGetSemaphoreCounterValue                        :: #type proc "system" (device: Device, semaphore: Semaphore, pValue: ^u64) -> Result
-ProcGetSemaphoreCounterValueKHR                     :: #type proc "system" (device: Device, semaphore: Semaphore, pValue: ^u64) -> Result
-ProcGetSemaphoreFdKHR                               :: #type proc "system" (device: Device, pGetFdInfo: ^SemaphoreGetFdInfoKHR, pFd: ^c.int) -> Result
-ProcGetSemaphoreWin32HandleKHR                      :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^SemaphoreGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result
-ProcGetShaderInfoAMD                                :: #type proc "system" (device: Device, pipeline: Pipeline, shaderStage: ShaderStageFlags, infoType: ShaderInfoTypeAMD, pInfoSize: ^int, pInfo: rawptr) -> Result
-ProcGetSwapchainCounterEXT                          :: #type proc "system" (device: Device, swapchain: SwapchainKHR, counter: SurfaceCounterFlagsEXT, pCounterValue: ^u64) -> Result
-ProcGetSwapchainImagesKHR                           :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pSwapchainImageCount: ^u32, pSwapchainImages: [^]Image) -> Result
-ProcGetSwapchainStatusKHR                           :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result
-ProcGetValidationCacheDataEXT                       :: #type proc "system" (device: Device, validationCache: ValidationCacheEXT, pDataSize: ^int, pData: rawptr) -> Result
-ProcImportFenceFdKHR                                :: #type proc "system" (device: Device, pImportFenceFdInfo: ^ImportFenceFdInfoKHR) -> Result
-ProcImportFenceWin32HandleKHR                       :: #type proc "system" (device: Device, pImportFenceWin32HandleInfo: ^ImportFenceWin32HandleInfoKHR) -> Result
-ProcImportSemaphoreFdKHR                            :: #type proc "system" (device: Device, pImportSemaphoreFdInfo: ^ImportSemaphoreFdInfoKHR) -> Result
-ProcImportSemaphoreWin32HandleKHR                   :: #type proc "system" (device: Device, pImportSemaphoreWin32HandleInfo: ^ImportSemaphoreWin32HandleInfoKHR) -> Result
-ProcInitializePerformanceApiINTEL                   :: #type proc "system" (device: Device, pInitializeInfo: ^InitializePerformanceApiInfoINTEL) -> Result
-ProcInvalidateMappedMemoryRanges                    :: #type proc "system" (device: Device, memoryRangeCount: u32, pMemoryRanges: [^]MappedMemoryRange) -> Result
-ProcMapMemory                                       :: #type proc "system" (device: Device, memory: DeviceMemory, offset: DeviceSize, size: DeviceSize, flags: MemoryMapFlags, ppData: ^rawptr) -> Result
-ProcMergePipelineCaches                             :: #type proc "system" (device: Device, dstCache: PipelineCache, srcCacheCount: u32, pSrcCaches: [^]PipelineCache) -> Result
-ProcMergeValidationCachesEXT                        :: #type proc "system" (device: Device, dstCache: ValidationCacheEXT, srcCacheCount: u32, pSrcCaches: [^]ValidationCacheEXT) -> Result
-ProcQueueBeginDebugUtilsLabelEXT                    :: #type proc "system" (queue: Queue, pLabelInfo: ^DebugUtilsLabelEXT)
-ProcQueueBindSparse                                 :: #type proc "system" (queue: Queue, bindInfoCount: u32, pBindInfo: ^BindSparseInfo, fence: Fence) -> Result
-ProcQueueEndDebugUtilsLabelEXT                      :: #type proc "system" (queue: Queue)
-ProcQueueInsertDebugUtilsLabelEXT                   :: #type proc "system" (queue: Queue, pLabelInfo: ^DebugUtilsLabelEXT)
-ProcQueuePresentKHR                                 :: #type proc "system" (queue: Queue, pPresentInfo: ^PresentInfoKHR) -> Result
-ProcQueueSetPerformanceConfigurationINTEL           :: #type proc "system" (queue: Queue, configuration: PerformanceConfigurationINTEL) -> Result
-ProcQueueSubmit                                     :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo, fence: Fence) -> Result
-ProcQueueSubmit2                                    :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo2, fence: Fence) -> Result
-ProcQueueSubmit2KHR                                 :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo2, fence: Fence) -> Result
-ProcQueueWaitIdle                                   :: #type proc "system" (queue: Queue) -> Result
-ProcRegisterDeviceEventEXT                          :: #type proc "system" (device: Device, pDeviceEventInfo: ^DeviceEventInfoEXT, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result
-ProcRegisterDisplayEventEXT                         :: #type proc "system" (device: Device, display: DisplayKHR, pDisplayEventInfo: ^DisplayEventInfoEXT, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result
-ProcReleaseFullScreenExclusiveModeEXT               :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result
-ProcReleasePerformanceConfigurationINTEL            :: #type proc "system" (device: Device, configuration: PerformanceConfigurationINTEL) -> Result
-ProcReleaseProfilingLockKHR                         :: #type proc "system" (device: Device)
-ProcResetCommandBuffer                              :: #type proc "system" (commandBuffer: CommandBuffer, flags: CommandBufferResetFlags) -> Result
-ProcResetCommandPool                                :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolResetFlags) -> Result
-ProcResetDescriptorPool                             :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, flags: DescriptorPoolResetFlags) -> Result
-ProcResetEvent                                      :: #type proc "system" (device: Device, event: Event) -> Result
-ProcResetFences                                     :: #type proc "system" (device: Device, fenceCount: u32, pFences: [^]Fence) -> Result
-ProcResetQueryPool                                  :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32)
-ProcResetQueryPoolEXT                               :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32)
-ProcSetDebugUtilsObjectNameEXT                      :: #type proc "system" (device: Device, pNameInfo: ^DebugUtilsObjectNameInfoEXT) -> Result
-ProcSetDebugUtilsObjectTagEXT                       :: #type proc "system" (device: Device, pTagInfo: ^DebugUtilsObjectTagInfoEXT) -> Result
-ProcSetDeviceMemoryPriorityEXT                      :: #type proc "system" (device: Device, memory: DeviceMemory, priority: f32)
-ProcSetEvent                                        :: #type proc "system" (device: Device, event: Event) -> Result
-ProcSetHdrMetadataEXT                               :: #type proc "system" (device: Device, swapchainCount: u32, pSwapchains: [^]SwapchainKHR, pMetadata: ^HdrMetadataEXT)
-ProcSetLocalDimmingAMD                              :: #type proc "system" (device: Device, swapChain: SwapchainKHR, localDimmingEnable: b32)
-ProcSetPrivateData                                  :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, data: u64) -> Result
-ProcSetPrivateDataEXT                               :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, data: u64) -> Result
-ProcSignalSemaphore                                 :: #type proc "system" (device: Device, pSignalInfo: ^SemaphoreSignalInfo) -> Result
-ProcSignalSemaphoreKHR                              :: #type proc "system" (device: Device, pSignalInfo: ^SemaphoreSignalInfo) -> Result
-ProcTrimCommandPool                                 :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags)
-ProcTrimCommandPoolKHR                              :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags)
-ProcUninitializePerformanceApiINTEL                 :: #type proc "system" (device: Device)
-ProcUnmapMemory                                     :: #type proc "system" (device: Device, memory: DeviceMemory)
-ProcUpdateDescriptorSetWithTemplate                 :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: rawptr)
-ProcUpdateDescriptorSetWithTemplateKHR              :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: rawptr)
-ProcUpdateDescriptorSets                            :: #type proc "system" (device: Device, descriptorWriteCount: u32, pDescriptorWrites: [^]WriteDescriptorSet, descriptorCopyCount: u32, pDescriptorCopies: [^]CopyDescriptorSet)
-ProcWaitForFences                                   :: #type proc "system" (device: Device, fenceCount: u32, pFences: [^]Fence, waitAll: b32, timeout: u64) -> Result
-ProcWaitForPresentKHR                               :: #type proc "system" (device: Device, swapchain: SwapchainKHR, presentId: u64, timeout: u64) -> Result
-ProcWaitSemaphores                                  :: #type proc "system" (device: Device, pWaitInfo: ^SemaphoreWaitInfo, timeout: u64) -> Result
-ProcWaitSemaphoresKHR                               :: #type proc "system" (device: Device, pWaitInfo: ^SemaphoreWaitInfo, timeout: u64) -> Result
-ProcWriteAccelerationStructuresPropertiesKHR        :: #type proc "system" (device: Device, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureKHR, queryType: QueryType, dataSize: int, pData: rawptr, stride: int) -> Result
-
-
-// Loader Procedures
-CreateInstance:                       ProcCreateInstance
-DebugUtilsMessengerCallbackEXT:       ProcDebugUtilsMessengerCallbackEXT
-DeviceMemoryReportCallbackEXT:        ProcDeviceMemoryReportCallbackEXT
-EnumerateInstanceExtensionProperties: ProcEnumerateInstanceExtensionProperties
-EnumerateInstanceLayerProperties:     ProcEnumerateInstanceLayerProperties
-EnumerateInstanceVersion:             ProcEnumerateInstanceVersion
-GetInstanceProcAddr:                  ProcGetInstanceProcAddr
-
-// Instance Procedures
-AcquireDrmDisplayEXT:                                            ProcAcquireDrmDisplayEXT
-AcquireWinrtDisplayNV:                                           ProcAcquireWinrtDisplayNV
-CreateDebugReportCallbackEXT:                                    ProcCreateDebugReportCallbackEXT
-CreateDebugUtilsMessengerEXT:                                    ProcCreateDebugUtilsMessengerEXT
-CreateDevice:                                                    ProcCreateDevice
-CreateDisplayModeKHR:                                            ProcCreateDisplayModeKHR
-CreateDisplayPlaneSurfaceKHR:                                    ProcCreateDisplayPlaneSurfaceKHR
-CreateHeadlessSurfaceEXT:                                        ProcCreateHeadlessSurfaceEXT
-CreateIOSSurfaceMVK:                                             ProcCreateIOSSurfaceMVK
-CreateMacOSSurfaceMVK:                                           ProcCreateMacOSSurfaceMVK
-CreateMetalSurfaceEXT:                                           ProcCreateMetalSurfaceEXT
-CreateWaylandSurfaceKHR:                                         ProcCreateWaylandSurfaceKHR
-CreateWin32SurfaceKHR:                                           ProcCreateWin32SurfaceKHR
-DebugReportMessageEXT:                                           ProcDebugReportMessageEXT
-DestroyDebugReportCallbackEXT:                                   ProcDestroyDebugReportCallbackEXT
-DestroyDebugUtilsMessengerEXT:                                   ProcDestroyDebugUtilsMessengerEXT
-DestroyInstance:                                                 ProcDestroyInstance
-DestroySurfaceKHR:                                               ProcDestroySurfaceKHR
-EnumerateDeviceExtensionProperties:                              ProcEnumerateDeviceExtensionProperties
-EnumerateDeviceLayerProperties:                                  ProcEnumerateDeviceLayerProperties
-EnumeratePhysicalDeviceGroups:                                   ProcEnumeratePhysicalDeviceGroups
-EnumeratePhysicalDeviceGroupsKHR:                                ProcEnumeratePhysicalDeviceGroupsKHR
-EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR:   ProcEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
-EnumeratePhysicalDevices:                                        ProcEnumeratePhysicalDevices
-GetDisplayModeProperties2KHR:                                    ProcGetDisplayModeProperties2KHR
-GetDisplayModePropertiesKHR:                                     ProcGetDisplayModePropertiesKHR
-GetDisplayPlaneCapabilities2KHR:                                 ProcGetDisplayPlaneCapabilities2KHR
-GetDisplayPlaneCapabilitiesKHR:                                  ProcGetDisplayPlaneCapabilitiesKHR
-GetDisplayPlaneSupportedDisplaysKHR:                             ProcGetDisplayPlaneSupportedDisplaysKHR
-GetDrmDisplayEXT:                                                ProcGetDrmDisplayEXT
-GetPhysicalDeviceCalibrateableTimeDomainsEXT:                    ProcGetPhysicalDeviceCalibrateableTimeDomainsEXT
-GetPhysicalDeviceCooperativeMatrixPropertiesNV:                  ProcGetPhysicalDeviceCooperativeMatrixPropertiesNV
-GetPhysicalDeviceDisplayPlaneProperties2KHR:                     ProcGetPhysicalDeviceDisplayPlaneProperties2KHR
-GetPhysicalDeviceDisplayPlanePropertiesKHR:                      ProcGetPhysicalDeviceDisplayPlanePropertiesKHR
-GetPhysicalDeviceDisplayProperties2KHR:                          ProcGetPhysicalDeviceDisplayProperties2KHR
-GetPhysicalDeviceDisplayPropertiesKHR:                           ProcGetPhysicalDeviceDisplayPropertiesKHR
-GetPhysicalDeviceExternalBufferProperties:                       ProcGetPhysicalDeviceExternalBufferProperties
-GetPhysicalDeviceExternalBufferPropertiesKHR:                    ProcGetPhysicalDeviceExternalBufferPropertiesKHR
-GetPhysicalDeviceExternalFenceProperties:                        ProcGetPhysicalDeviceExternalFenceProperties
-GetPhysicalDeviceExternalFencePropertiesKHR:                     ProcGetPhysicalDeviceExternalFencePropertiesKHR
-GetPhysicalDeviceExternalImageFormatPropertiesNV:                ProcGetPhysicalDeviceExternalImageFormatPropertiesNV
-GetPhysicalDeviceExternalSemaphoreProperties:                    ProcGetPhysicalDeviceExternalSemaphoreProperties
-GetPhysicalDeviceExternalSemaphorePropertiesKHR:                 ProcGetPhysicalDeviceExternalSemaphorePropertiesKHR
-GetPhysicalDeviceFeatures:                                       ProcGetPhysicalDeviceFeatures
-GetPhysicalDeviceFeatures2:                                      ProcGetPhysicalDeviceFeatures2
-GetPhysicalDeviceFeatures2KHR:                                   ProcGetPhysicalDeviceFeatures2KHR
-GetPhysicalDeviceFormatProperties:                               ProcGetPhysicalDeviceFormatProperties
-GetPhysicalDeviceFormatProperties2:                              ProcGetPhysicalDeviceFormatProperties2
-GetPhysicalDeviceFormatProperties2KHR:                           ProcGetPhysicalDeviceFormatProperties2KHR
-GetPhysicalDeviceFragmentShadingRatesKHR:                        ProcGetPhysicalDeviceFragmentShadingRatesKHR
-GetPhysicalDeviceImageFormatProperties:                          ProcGetPhysicalDeviceImageFormatProperties
-GetPhysicalDeviceImageFormatProperties2:                         ProcGetPhysicalDeviceImageFormatProperties2
-GetPhysicalDeviceImageFormatProperties2KHR:                      ProcGetPhysicalDeviceImageFormatProperties2KHR
-GetPhysicalDeviceMemoryProperties:                               ProcGetPhysicalDeviceMemoryProperties
-GetPhysicalDeviceMemoryProperties2:                              ProcGetPhysicalDeviceMemoryProperties2
-GetPhysicalDeviceMemoryProperties2KHR:                           ProcGetPhysicalDeviceMemoryProperties2KHR
-GetPhysicalDeviceMultisamplePropertiesEXT:                       ProcGetPhysicalDeviceMultisamplePropertiesEXT
-GetPhysicalDevicePresentRectanglesKHR:                           ProcGetPhysicalDevicePresentRectanglesKHR
-GetPhysicalDeviceProperties:                                     ProcGetPhysicalDeviceProperties
-GetPhysicalDeviceProperties2:                                    ProcGetPhysicalDeviceProperties2
-GetPhysicalDeviceProperties2KHR:                                 ProcGetPhysicalDeviceProperties2KHR
-GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR:           ProcGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
-GetPhysicalDeviceQueueFamilyProperties:                          ProcGetPhysicalDeviceQueueFamilyProperties
-GetPhysicalDeviceQueueFamilyProperties2:                         ProcGetPhysicalDeviceQueueFamilyProperties2
-GetPhysicalDeviceQueueFamilyProperties2KHR:                      ProcGetPhysicalDeviceQueueFamilyProperties2KHR
-GetPhysicalDeviceSparseImageFormatProperties:                    ProcGetPhysicalDeviceSparseImageFormatProperties
-GetPhysicalDeviceSparseImageFormatProperties2:                   ProcGetPhysicalDeviceSparseImageFormatProperties2
-GetPhysicalDeviceSparseImageFormatProperties2KHR:                ProcGetPhysicalDeviceSparseImageFormatProperties2KHR
-GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV: ProcGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
-GetPhysicalDeviceSurfaceCapabilities2EXT:                        ProcGetPhysicalDeviceSurfaceCapabilities2EXT
-GetPhysicalDeviceSurfaceCapabilities2KHR:                        ProcGetPhysicalDeviceSurfaceCapabilities2KHR
-GetPhysicalDeviceSurfaceCapabilitiesKHR:                         ProcGetPhysicalDeviceSurfaceCapabilitiesKHR
-GetPhysicalDeviceSurfaceFormats2KHR:                             ProcGetPhysicalDeviceSurfaceFormats2KHR
-GetPhysicalDeviceSurfaceFormatsKHR:                              ProcGetPhysicalDeviceSurfaceFormatsKHR
-GetPhysicalDeviceSurfacePresentModes2EXT:                        ProcGetPhysicalDeviceSurfacePresentModes2EXT
-GetPhysicalDeviceSurfacePresentModesKHR:                         ProcGetPhysicalDeviceSurfacePresentModesKHR
-GetPhysicalDeviceSurfaceSupportKHR:                              ProcGetPhysicalDeviceSurfaceSupportKHR
-GetPhysicalDeviceToolProperties:                                 ProcGetPhysicalDeviceToolProperties
-GetPhysicalDeviceToolPropertiesEXT:                              ProcGetPhysicalDeviceToolPropertiesEXT
-GetPhysicalDeviceWaylandPresentationSupportKHR:                  ProcGetPhysicalDeviceWaylandPresentationSupportKHR
-GetPhysicalDeviceWin32PresentationSupportKHR:                    ProcGetPhysicalDeviceWin32PresentationSupportKHR
-GetWinrtDisplayNV:                                               ProcGetWinrtDisplayNV
-ReleaseDisplayEXT:                                               ProcReleaseDisplayEXT
-SubmitDebugUtilsMessageEXT:                                      ProcSubmitDebugUtilsMessageEXT
-
-// Device Procedures
-AcquireFullScreenExclusiveModeEXT:               ProcAcquireFullScreenExclusiveModeEXT
-AcquireNextImage2KHR:                            ProcAcquireNextImage2KHR
-AcquireNextImageKHR:                             ProcAcquireNextImageKHR
-AcquirePerformanceConfigurationINTEL:            ProcAcquirePerformanceConfigurationINTEL
-AcquireProfilingLockKHR:                         ProcAcquireProfilingLockKHR
-AllocateCommandBuffers:                          ProcAllocateCommandBuffers
-AllocateDescriptorSets:                          ProcAllocateDescriptorSets
-AllocateMemory:                                  ProcAllocateMemory
-BeginCommandBuffer:                              ProcBeginCommandBuffer
-BindAccelerationStructureMemoryNV:               ProcBindAccelerationStructureMemoryNV
-BindBufferMemory:                                ProcBindBufferMemory
-BindBufferMemory2:                               ProcBindBufferMemory2
-BindBufferMemory2KHR:                            ProcBindBufferMemory2KHR
-BindImageMemory:                                 ProcBindImageMemory
-BindImageMemory2:                                ProcBindImageMemory2
-BindImageMemory2KHR:                             ProcBindImageMemory2KHR
-BuildAccelerationStructuresKHR:                  ProcBuildAccelerationStructuresKHR
-CmdBeginConditionalRenderingEXT:                 ProcCmdBeginConditionalRenderingEXT
-CmdBeginDebugUtilsLabelEXT:                      ProcCmdBeginDebugUtilsLabelEXT
-CmdBeginQuery:                                   ProcCmdBeginQuery
-CmdBeginQueryIndexedEXT:                         ProcCmdBeginQueryIndexedEXT
-CmdBeginRenderPass:                              ProcCmdBeginRenderPass
-CmdBeginRenderPass2:                             ProcCmdBeginRenderPass2
-CmdBeginRenderPass2KHR:                          ProcCmdBeginRenderPass2KHR
-CmdBeginRendering:                               ProcCmdBeginRendering
-CmdBeginRenderingKHR:                            ProcCmdBeginRenderingKHR
-CmdBeginTransformFeedbackEXT:                    ProcCmdBeginTransformFeedbackEXT
-CmdBindDescriptorSets:                           ProcCmdBindDescriptorSets
-CmdBindIndexBuffer:                              ProcCmdBindIndexBuffer
-CmdBindInvocationMaskHUAWEI:                     ProcCmdBindInvocationMaskHUAWEI
-CmdBindPipeline:                                 ProcCmdBindPipeline
-CmdBindPipelineShaderGroupNV:                    ProcCmdBindPipelineShaderGroupNV
-CmdBindShadingRateImageNV:                       ProcCmdBindShadingRateImageNV
-CmdBindTransformFeedbackBuffersEXT:              ProcCmdBindTransformFeedbackBuffersEXT
-CmdBindVertexBuffers:                            ProcCmdBindVertexBuffers
-CmdBindVertexBuffers2:                           ProcCmdBindVertexBuffers2
-CmdBindVertexBuffers2EXT:                        ProcCmdBindVertexBuffers2EXT
-CmdBlitImage:                                    ProcCmdBlitImage
-CmdBlitImage2:                                   ProcCmdBlitImage2
-CmdBlitImage2KHR:                                ProcCmdBlitImage2KHR
-CmdBuildAccelerationStructureNV:                 ProcCmdBuildAccelerationStructureNV
-CmdBuildAccelerationStructuresIndirectKHR:       ProcCmdBuildAccelerationStructuresIndirectKHR
-CmdBuildAccelerationStructuresKHR:               ProcCmdBuildAccelerationStructuresKHR
-CmdClearAttachments:                             ProcCmdClearAttachments
-CmdClearColorImage:                              ProcCmdClearColorImage
-CmdClearDepthStencilImage:                       ProcCmdClearDepthStencilImage
-CmdCopyAccelerationStructureKHR:                 ProcCmdCopyAccelerationStructureKHR
-CmdCopyAccelerationStructureNV:                  ProcCmdCopyAccelerationStructureNV
-CmdCopyAccelerationStructureToMemoryKHR:         ProcCmdCopyAccelerationStructureToMemoryKHR
-CmdCopyBuffer:                                   ProcCmdCopyBuffer
-CmdCopyBuffer2:                                  ProcCmdCopyBuffer2
-CmdCopyBuffer2KHR:                               ProcCmdCopyBuffer2KHR
-CmdCopyBufferToImage:                            ProcCmdCopyBufferToImage
-CmdCopyBufferToImage2:                           ProcCmdCopyBufferToImage2
-CmdCopyBufferToImage2KHR:                        ProcCmdCopyBufferToImage2KHR
-CmdCopyImage:                                    ProcCmdCopyImage
-CmdCopyImage2:                                   ProcCmdCopyImage2
-CmdCopyImage2KHR:                                ProcCmdCopyImage2KHR
-CmdCopyImageToBuffer:                            ProcCmdCopyImageToBuffer
-CmdCopyImageToBuffer2:                           ProcCmdCopyImageToBuffer2
-CmdCopyImageToBuffer2KHR:                        ProcCmdCopyImageToBuffer2KHR
-CmdCopyMemoryToAccelerationStructureKHR:         ProcCmdCopyMemoryToAccelerationStructureKHR
-CmdCopyQueryPoolResults:                         ProcCmdCopyQueryPoolResults
-CmdCuLaunchKernelNVX:                            ProcCmdCuLaunchKernelNVX
-CmdDebugMarkerBeginEXT:                          ProcCmdDebugMarkerBeginEXT
-CmdDebugMarkerEndEXT:                            ProcCmdDebugMarkerEndEXT
-CmdDebugMarkerInsertEXT:                         ProcCmdDebugMarkerInsertEXT
-CmdDispatch:                                     ProcCmdDispatch
-CmdDispatchBase:                                 ProcCmdDispatchBase
-CmdDispatchBaseKHR:                              ProcCmdDispatchBaseKHR
-CmdDispatchIndirect:                             ProcCmdDispatchIndirect
-CmdDraw:                                         ProcCmdDraw
-CmdDrawIndexed:                                  ProcCmdDrawIndexed
-CmdDrawIndexedIndirect:                          ProcCmdDrawIndexedIndirect
-CmdDrawIndexedIndirectCount:                     ProcCmdDrawIndexedIndirectCount
-CmdDrawIndexedIndirectCountAMD:                  ProcCmdDrawIndexedIndirectCountAMD
-CmdDrawIndexedIndirectCountKHR:                  ProcCmdDrawIndexedIndirectCountKHR
-CmdDrawIndirect:                                 ProcCmdDrawIndirect
-CmdDrawIndirectByteCountEXT:                     ProcCmdDrawIndirectByteCountEXT
-CmdDrawIndirectCount:                            ProcCmdDrawIndirectCount
-CmdDrawIndirectCountAMD:                         ProcCmdDrawIndirectCountAMD
-CmdDrawIndirectCountKHR:                         ProcCmdDrawIndirectCountKHR
-CmdDrawMeshTasksIndirectCountNV:                 ProcCmdDrawMeshTasksIndirectCountNV
-CmdDrawMeshTasksIndirectNV:                      ProcCmdDrawMeshTasksIndirectNV
-CmdDrawMeshTasksNV:                              ProcCmdDrawMeshTasksNV
-CmdDrawMultiEXT:                                 ProcCmdDrawMultiEXT
-CmdDrawMultiIndexedEXT:                          ProcCmdDrawMultiIndexedEXT
-CmdEndConditionalRenderingEXT:                   ProcCmdEndConditionalRenderingEXT
-CmdEndDebugUtilsLabelEXT:                        ProcCmdEndDebugUtilsLabelEXT
-CmdEndQuery:                                     ProcCmdEndQuery
-CmdEndQueryIndexedEXT:                           ProcCmdEndQueryIndexedEXT
-CmdEndRenderPass:                                ProcCmdEndRenderPass
-CmdEndRenderPass2:                               ProcCmdEndRenderPass2
-CmdEndRenderPass2KHR:                            ProcCmdEndRenderPass2KHR
-CmdEndRendering:                                 ProcCmdEndRendering
-CmdEndRenderingKHR:                              ProcCmdEndRenderingKHR
-CmdEndTransformFeedbackEXT:                      ProcCmdEndTransformFeedbackEXT
-CmdExecuteCommands:                              ProcCmdExecuteCommands
-CmdExecuteGeneratedCommandsNV:                   ProcCmdExecuteGeneratedCommandsNV
-CmdFillBuffer:                                   ProcCmdFillBuffer
-CmdInsertDebugUtilsLabelEXT:                     ProcCmdInsertDebugUtilsLabelEXT
-CmdNextSubpass:                                  ProcCmdNextSubpass
-CmdNextSubpass2:                                 ProcCmdNextSubpass2
-CmdNextSubpass2KHR:                              ProcCmdNextSubpass2KHR
-CmdPipelineBarrier:                              ProcCmdPipelineBarrier
-CmdPipelineBarrier2:                             ProcCmdPipelineBarrier2
-CmdPipelineBarrier2KHR:                          ProcCmdPipelineBarrier2KHR
-CmdPreprocessGeneratedCommandsNV:                ProcCmdPreprocessGeneratedCommandsNV
-CmdPushConstants:                                ProcCmdPushConstants
-CmdPushDescriptorSetKHR:                         ProcCmdPushDescriptorSetKHR
-CmdPushDescriptorSetWithTemplateKHR:             ProcCmdPushDescriptorSetWithTemplateKHR
-CmdResetEvent:                                   ProcCmdResetEvent
-CmdResetEvent2:                                  ProcCmdResetEvent2
-CmdResetEvent2KHR:                               ProcCmdResetEvent2KHR
-CmdResetQueryPool:                               ProcCmdResetQueryPool
-CmdResolveImage:                                 ProcCmdResolveImage
-CmdResolveImage2:                                ProcCmdResolveImage2
-CmdResolveImage2KHR:                             ProcCmdResolveImage2KHR
-CmdSetBlendConstants:                            ProcCmdSetBlendConstants
-CmdSetCheckpointNV:                              ProcCmdSetCheckpointNV
-CmdSetCoarseSampleOrderNV:                       ProcCmdSetCoarseSampleOrderNV
-CmdSetCullMode:                                  ProcCmdSetCullMode
-CmdSetCullModeEXT:                               ProcCmdSetCullModeEXT
-CmdSetDepthBias:                                 ProcCmdSetDepthBias
-CmdSetDepthBiasEnable:                           ProcCmdSetDepthBiasEnable
-CmdSetDepthBiasEnableEXT:                        ProcCmdSetDepthBiasEnableEXT
-CmdSetDepthBounds:                               ProcCmdSetDepthBounds
-CmdSetDepthBoundsTestEnable:                     ProcCmdSetDepthBoundsTestEnable
-CmdSetDepthBoundsTestEnableEXT:                  ProcCmdSetDepthBoundsTestEnableEXT
-CmdSetDepthCompareOp:                            ProcCmdSetDepthCompareOp
-CmdSetDepthCompareOpEXT:                         ProcCmdSetDepthCompareOpEXT
-CmdSetDepthTestEnable:                           ProcCmdSetDepthTestEnable
-CmdSetDepthTestEnableEXT:                        ProcCmdSetDepthTestEnableEXT
-CmdSetDepthWriteEnable:                          ProcCmdSetDepthWriteEnable
-CmdSetDepthWriteEnableEXT:                       ProcCmdSetDepthWriteEnableEXT
-CmdSetDeviceMask:                                ProcCmdSetDeviceMask
-CmdSetDeviceMaskKHR:                             ProcCmdSetDeviceMaskKHR
-CmdSetDiscardRectangleEXT:                       ProcCmdSetDiscardRectangleEXT
-CmdSetEvent:                                     ProcCmdSetEvent
-CmdSetEvent2:                                    ProcCmdSetEvent2
-CmdSetEvent2KHR:                                 ProcCmdSetEvent2KHR
-CmdSetExclusiveScissorNV:                        ProcCmdSetExclusiveScissorNV
-CmdSetFragmentShadingRateEnumNV:                 ProcCmdSetFragmentShadingRateEnumNV
-CmdSetFragmentShadingRateKHR:                    ProcCmdSetFragmentShadingRateKHR
-CmdSetFrontFace:                                 ProcCmdSetFrontFace
-CmdSetFrontFaceEXT:                              ProcCmdSetFrontFaceEXT
-CmdSetLineStippleEXT:                            ProcCmdSetLineStippleEXT
-CmdSetLineWidth:                                 ProcCmdSetLineWidth
-CmdSetLogicOpEXT:                                ProcCmdSetLogicOpEXT
-CmdSetPatchControlPointsEXT:                     ProcCmdSetPatchControlPointsEXT
-CmdSetPerformanceMarkerINTEL:                    ProcCmdSetPerformanceMarkerINTEL
-CmdSetPerformanceOverrideINTEL:                  ProcCmdSetPerformanceOverrideINTEL
-CmdSetPerformanceStreamMarkerINTEL:              ProcCmdSetPerformanceStreamMarkerINTEL
-CmdSetPrimitiveRestartEnable:                    ProcCmdSetPrimitiveRestartEnable
-CmdSetPrimitiveRestartEnableEXT:                 ProcCmdSetPrimitiveRestartEnableEXT
-CmdSetPrimitiveTopology:                         ProcCmdSetPrimitiveTopology
-CmdSetPrimitiveTopologyEXT:                      ProcCmdSetPrimitiveTopologyEXT
-CmdSetRasterizerDiscardEnable:                   ProcCmdSetRasterizerDiscardEnable
-CmdSetRasterizerDiscardEnableEXT:                ProcCmdSetRasterizerDiscardEnableEXT
-CmdSetRayTracingPipelineStackSizeKHR:            ProcCmdSetRayTracingPipelineStackSizeKHR
-CmdSetSampleLocationsEXT:                        ProcCmdSetSampleLocationsEXT
-CmdSetScissor:                                   ProcCmdSetScissor
-CmdSetScissorWithCount:                          ProcCmdSetScissorWithCount
-CmdSetScissorWithCountEXT:                       ProcCmdSetScissorWithCountEXT
-CmdSetStencilCompareMask:                        ProcCmdSetStencilCompareMask
-CmdSetStencilOp:                                 ProcCmdSetStencilOp
-CmdSetStencilOpEXT:                              ProcCmdSetStencilOpEXT
-CmdSetStencilReference:                          ProcCmdSetStencilReference
-CmdSetStencilTestEnable:                         ProcCmdSetStencilTestEnable
-CmdSetStencilTestEnableEXT:                      ProcCmdSetStencilTestEnableEXT
-CmdSetStencilWriteMask:                          ProcCmdSetStencilWriteMask
-CmdSetVertexInputEXT:                            ProcCmdSetVertexInputEXT
-CmdSetViewport:                                  ProcCmdSetViewport
-CmdSetViewportShadingRatePaletteNV:              ProcCmdSetViewportShadingRatePaletteNV
-CmdSetViewportWScalingNV:                        ProcCmdSetViewportWScalingNV
-CmdSetViewportWithCount:                         ProcCmdSetViewportWithCount
-CmdSetViewportWithCountEXT:                      ProcCmdSetViewportWithCountEXT
-CmdSubpassShadingHUAWEI:                         ProcCmdSubpassShadingHUAWEI
-CmdTraceRaysIndirectKHR:                         ProcCmdTraceRaysIndirectKHR
-CmdTraceRaysKHR:                                 ProcCmdTraceRaysKHR
-CmdTraceRaysNV:                                  ProcCmdTraceRaysNV
-CmdUpdateBuffer:                                 ProcCmdUpdateBuffer
-CmdWaitEvents:                                   ProcCmdWaitEvents
-CmdWaitEvents2:                                  ProcCmdWaitEvents2
-CmdWaitEvents2KHR:                               ProcCmdWaitEvents2KHR
-CmdWriteAccelerationStructuresPropertiesKHR:     ProcCmdWriteAccelerationStructuresPropertiesKHR
-CmdWriteAccelerationStructuresPropertiesNV:      ProcCmdWriteAccelerationStructuresPropertiesNV
-CmdWriteBufferMarker2AMD:                        ProcCmdWriteBufferMarker2AMD
-CmdWriteBufferMarkerAMD:                         ProcCmdWriteBufferMarkerAMD
-CmdWriteTimestamp:                               ProcCmdWriteTimestamp
-CmdWriteTimestamp2:                              ProcCmdWriteTimestamp2
-CmdWriteTimestamp2KHR:                           ProcCmdWriteTimestamp2KHR
-CompileDeferredNV:                               ProcCompileDeferredNV
-CopyAccelerationStructureKHR:                    ProcCopyAccelerationStructureKHR
-CopyAccelerationStructureToMemoryKHR:            ProcCopyAccelerationStructureToMemoryKHR
-CopyMemoryToAccelerationStructureKHR:            ProcCopyMemoryToAccelerationStructureKHR
-CreateAccelerationStructureKHR:                  ProcCreateAccelerationStructureKHR
-CreateAccelerationStructureNV:                   ProcCreateAccelerationStructureNV
-CreateBuffer:                                    ProcCreateBuffer
-CreateBufferView:                                ProcCreateBufferView
-CreateCommandPool:                               ProcCreateCommandPool
-CreateComputePipelines:                          ProcCreateComputePipelines
-CreateCuFunctionNVX:                             ProcCreateCuFunctionNVX
-CreateCuModuleNVX:                               ProcCreateCuModuleNVX
-CreateDeferredOperationKHR:                      ProcCreateDeferredOperationKHR
-CreateDescriptorPool:                            ProcCreateDescriptorPool
-CreateDescriptorSetLayout:                       ProcCreateDescriptorSetLayout
-CreateDescriptorUpdateTemplate:                  ProcCreateDescriptorUpdateTemplate
-CreateDescriptorUpdateTemplateKHR:               ProcCreateDescriptorUpdateTemplateKHR
-CreateEvent:                                     ProcCreateEvent
-CreateFence:                                     ProcCreateFence
-CreateFramebuffer:                               ProcCreateFramebuffer
-CreateGraphicsPipelines:                         ProcCreateGraphicsPipelines
-CreateImage:                                     ProcCreateImage
-CreateImageView:                                 ProcCreateImageView
-CreateIndirectCommandsLayoutNV:                  ProcCreateIndirectCommandsLayoutNV
-CreatePipelineCache:                             ProcCreatePipelineCache
-CreatePipelineLayout:                            ProcCreatePipelineLayout
-CreatePrivateDataSlot:                           ProcCreatePrivateDataSlot
-CreatePrivateDataSlotEXT:                        ProcCreatePrivateDataSlotEXT
-CreateQueryPool:                                 ProcCreateQueryPool
-CreateRayTracingPipelinesKHR:                    ProcCreateRayTracingPipelinesKHR
-CreateRayTracingPipelinesNV:                     ProcCreateRayTracingPipelinesNV
-CreateRenderPass:                                ProcCreateRenderPass
-CreateRenderPass2:                               ProcCreateRenderPass2
-CreateRenderPass2KHR:                            ProcCreateRenderPass2KHR
-CreateSampler:                                   ProcCreateSampler
-CreateSamplerYcbcrConversion:                    ProcCreateSamplerYcbcrConversion
-CreateSamplerYcbcrConversionKHR:                 ProcCreateSamplerYcbcrConversionKHR
-CreateSemaphore:                                 ProcCreateSemaphore
-CreateShaderModule:                              ProcCreateShaderModule
-CreateSharedSwapchainsKHR:                       ProcCreateSharedSwapchainsKHR
-CreateSwapchainKHR:                              ProcCreateSwapchainKHR
-CreateValidationCacheEXT:                        ProcCreateValidationCacheEXT
-DebugMarkerSetObjectNameEXT:                     ProcDebugMarkerSetObjectNameEXT
-DebugMarkerSetObjectTagEXT:                      ProcDebugMarkerSetObjectTagEXT
-DeferredOperationJoinKHR:                        ProcDeferredOperationJoinKHR
-DestroyAccelerationStructureKHR:                 ProcDestroyAccelerationStructureKHR
-DestroyAccelerationStructureNV:                  ProcDestroyAccelerationStructureNV
-DestroyBuffer:                                   ProcDestroyBuffer
-DestroyBufferView:                               ProcDestroyBufferView
-DestroyCommandPool:                              ProcDestroyCommandPool
-DestroyCuFunctionNVX:                            ProcDestroyCuFunctionNVX
-DestroyCuModuleNVX:                              ProcDestroyCuModuleNVX
-DestroyDeferredOperationKHR:                     ProcDestroyDeferredOperationKHR
-DestroyDescriptorPool:                           ProcDestroyDescriptorPool
-DestroyDescriptorSetLayout:                      ProcDestroyDescriptorSetLayout
-DestroyDescriptorUpdateTemplate:                 ProcDestroyDescriptorUpdateTemplate
-DestroyDescriptorUpdateTemplateKHR:              ProcDestroyDescriptorUpdateTemplateKHR
-DestroyDevice:                                   ProcDestroyDevice
-DestroyEvent:                                    ProcDestroyEvent
-DestroyFence:                                    ProcDestroyFence
-DestroyFramebuffer:                              ProcDestroyFramebuffer
-DestroyImage:                                    ProcDestroyImage
-DestroyImageView:                                ProcDestroyImageView
-DestroyIndirectCommandsLayoutNV:                 ProcDestroyIndirectCommandsLayoutNV
-DestroyPipeline:                                 ProcDestroyPipeline
-DestroyPipelineCache:                            ProcDestroyPipelineCache
-DestroyPipelineLayout:                           ProcDestroyPipelineLayout
-DestroyPrivateDataSlot:                          ProcDestroyPrivateDataSlot
-DestroyPrivateDataSlotEXT:                       ProcDestroyPrivateDataSlotEXT
-DestroyQueryPool:                                ProcDestroyQueryPool
-DestroyRenderPass:                               ProcDestroyRenderPass
-DestroySampler:                                  ProcDestroySampler
-DestroySamplerYcbcrConversion:                   ProcDestroySamplerYcbcrConversion
-DestroySamplerYcbcrConversionKHR:                ProcDestroySamplerYcbcrConversionKHR
-DestroySemaphore:                                ProcDestroySemaphore
-DestroyShaderModule:                             ProcDestroyShaderModule
-DestroySwapchainKHR:                             ProcDestroySwapchainKHR
-DestroyValidationCacheEXT:                       ProcDestroyValidationCacheEXT
-DeviceWaitIdle:                                  ProcDeviceWaitIdle
-DisplayPowerControlEXT:                          ProcDisplayPowerControlEXT
-EndCommandBuffer:                                ProcEndCommandBuffer
-FlushMappedMemoryRanges:                         ProcFlushMappedMemoryRanges
-FreeCommandBuffers:                              ProcFreeCommandBuffers
-FreeDescriptorSets:                              ProcFreeDescriptorSets
-FreeMemory:                                      ProcFreeMemory
-GetAccelerationStructureBuildSizesKHR:           ProcGetAccelerationStructureBuildSizesKHR
-GetAccelerationStructureDeviceAddressKHR:        ProcGetAccelerationStructureDeviceAddressKHR
-GetAccelerationStructureHandleNV:                ProcGetAccelerationStructureHandleNV
-GetAccelerationStructureMemoryRequirementsNV:    ProcGetAccelerationStructureMemoryRequirementsNV
-GetBufferDeviceAddress:                          ProcGetBufferDeviceAddress
-GetBufferDeviceAddressEXT:                       ProcGetBufferDeviceAddressEXT
-GetBufferDeviceAddressKHR:                       ProcGetBufferDeviceAddressKHR
-GetBufferMemoryRequirements:                     ProcGetBufferMemoryRequirements
-GetBufferMemoryRequirements2:                    ProcGetBufferMemoryRequirements2
-GetBufferMemoryRequirements2KHR:                 ProcGetBufferMemoryRequirements2KHR
-GetBufferOpaqueCaptureAddress:                   ProcGetBufferOpaqueCaptureAddress
-GetBufferOpaqueCaptureAddressKHR:                ProcGetBufferOpaqueCaptureAddressKHR
-GetCalibratedTimestampsEXT:                      ProcGetCalibratedTimestampsEXT
-GetDeferredOperationMaxConcurrencyKHR:           ProcGetDeferredOperationMaxConcurrencyKHR
-GetDeferredOperationResultKHR:                   ProcGetDeferredOperationResultKHR
-GetDescriptorSetHostMappingVALVE:                ProcGetDescriptorSetHostMappingVALVE
-GetDescriptorSetLayoutHostMappingInfoVALVE:      ProcGetDescriptorSetLayoutHostMappingInfoVALVE
-GetDescriptorSetLayoutSupport:                   ProcGetDescriptorSetLayoutSupport
-GetDescriptorSetLayoutSupportKHR:                ProcGetDescriptorSetLayoutSupportKHR
-GetDeviceAccelerationStructureCompatibilityKHR:  ProcGetDeviceAccelerationStructureCompatibilityKHR
-GetDeviceBufferMemoryRequirements:               ProcGetDeviceBufferMemoryRequirements
-GetDeviceBufferMemoryRequirementsKHR:            ProcGetDeviceBufferMemoryRequirementsKHR
-GetDeviceGroupPeerMemoryFeatures:                ProcGetDeviceGroupPeerMemoryFeatures
-GetDeviceGroupPeerMemoryFeaturesKHR:             ProcGetDeviceGroupPeerMemoryFeaturesKHR
-GetDeviceGroupPresentCapabilitiesKHR:            ProcGetDeviceGroupPresentCapabilitiesKHR
-GetDeviceGroupSurfacePresentModes2EXT:           ProcGetDeviceGroupSurfacePresentModes2EXT
-GetDeviceGroupSurfacePresentModesKHR:            ProcGetDeviceGroupSurfacePresentModesKHR
-GetDeviceImageMemoryRequirements:                ProcGetDeviceImageMemoryRequirements
-GetDeviceImageMemoryRequirementsKHR:             ProcGetDeviceImageMemoryRequirementsKHR
-GetDeviceImageSparseMemoryRequirements:          ProcGetDeviceImageSparseMemoryRequirements
-GetDeviceImageSparseMemoryRequirementsKHR:       ProcGetDeviceImageSparseMemoryRequirementsKHR
-GetDeviceMemoryCommitment:                       ProcGetDeviceMemoryCommitment
-GetDeviceMemoryOpaqueCaptureAddress:             ProcGetDeviceMemoryOpaqueCaptureAddress
-GetDeviceMemoryOpaqueCaptureAddressKHR:          ProcGetDeviceMemoryOpaqueCaptureAddressKHR
-GetDeviceProcAddr:                               ProcGetDeviceProcAddr
-GetDeviceQueue:                                  ProcGetDeviceQueue
-GetDeviceQueue2:                                 ProcGetDeviceQueue2
-GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI:   ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
-GetEventStatus:                                  ProcGetEventStatus
-GetFenceFdKHR:                                   ProcGetFenceFdKHR
-GetFenceStatus:                                  ProcGetFenceStatus
-GetFenceWin32HandleKHR:                          ProcGetFenceWin32HandleKHR
-GetGeneratedCommandsMemoryRequirementsNV:        ProcGetGeneratedCommandsMemoryRequirementsNV
-GetImageDrmFormatModifierPropertiesEXT:          ProcGetImageDrmFormatModifierPropertiesEXT
-GetImageMemoryRequirements:                      ProcGetImageMemoryRequirements
-GetImageMemoryRequirements2:                     ProcGetImageMemoryRequirements2
-GetImageMemoryRequirements2KHR:                  ProcGetImageMemoryRequirements2KHR
-GetImageSparseMemoryRequirements:                ProcGetImageSparseMemoryRequirements
-GetImageSparseMemoryRequirements2:               ProcGetImageSparseMemoryRequirements2
-GetImageSparseMemoryRequirements2KHR:            ProcGetImageSparseMemoryRequirements2KHR
-GetImageSubresourceLayout:                       ProcGetImageSubresourceLayout
-GetImageViewAddressNVX:                          ProcGetImageViewAddressNVX
-GetImageViewHandleNVX:                           ProcGetImageViewHandleNVX
-GetMemoryFdKHR:                                  ProcGetMemoryFdKHR
-GetMemoryFdPropertiesKHR:                        ProcGetMemoryFdPropertiesKHR
-GetMemoryHostPointerPropertiesEXT:               ProcGetMemoryHostPointerPropertiesEXT
-GetMemoryRemoteAddressNV:                        ProcGetMemoryRemoteAddressNV
-GetMemoryWin32HandleKHR:                         ProcGetMemoryWin32HandleKHR
-GetMemoryWin32HandleNV:                          ProcGetMemoryWin32HandleNV
-GetMemoryWin32HandlePropertiesKHR:               ProcGetMemoryWin32HandlePropertiesKHR
-GetPastPresentationTimingGOOGLE:                 ProcGetPastPresentationTimingGOOGLE
-GetPerformanceParameterINTEL:                    ProcGetPerformanceParameterINTEL
-GetPipelineCacheData:                            ProcGetPipelineCacheData
-GetPipelineExecutableInternalRepresentationsKHR: ProcGetPipelineExecutableInternalRepresentationsKHR
-GetPipelineExecutablePropertiesKHR:              ProcGetPipelineExecutablePropertiesKHR
-GetPipelineExecutableStatisticsKHR:              ProcGetPipelineExecutableStatisticsKHR
-GetPrivateData:                                  ProcGetPrivateData
-GetPrivateDataEXT:                               ProcGetPrivateDataEXT
-GetQueryPoolResults:                             ProcGetQueryPoolResults
-GetQueueCheckpointData2NV:                       ProcGetQueueCheckpointData2NV
-GetQueueCheckpointDataNV:                        ProcGetQueueCheckpointDataNV
-GetRayTracingCaptureReplayShaderGroupHandlesKHR: ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR
-GetRayTracingShaderGroupHandlesKHR:              ProcGetRayTracingShaderGroupHandlesKHR
-GetRayTracingShaderGroupHandlesNV:               ProcGetRayTracingShaderGroupHandlesNV
-GetRayTracingShaderGroupStackSizeKHR:            ProcGetRayTracingShaderGroupStackSizeKHR
-GetRefreshCycleDurationGOOGLE:                   ProcGetRefreshCycleDurationGOOGLE
-GetRenderAreaGranularity:                        ProcGetRenderAreaGranularity
-GetSemaphoreCounterValue:                        ProcGetSemaphoreCounterValue
-GetSemaphoreCounterValueKHR:                     ProcGetSemaphoreCounterValueKHR
-GetSemaphoreFdKHR:                               ProcGetSemaphoreFdKHR
-GetSemaphoreWin32HandleKHR:                      ProcGetSemaphoreWin32HandleKHR
-GetShaderInfoAMD:                                ProcGetShaderInfoAMD
-GetSwapchainCounterEXT:                          ProcGetSwapchainCounterEXT
-GetSwapchainImagesKHR:                           ProcGetSwapchainImagesKHR
-GetSwapchainStatusKHR:                           ProcGetSwapchainStatusKHR
-GetValidationCacheDataEXT:                       ProcGetValidationCacheDataEXT
-ImportFenceFdKHR:                                ProcImportFenceFdKHR
-ImportFenceWin32HandleKHR:                       ProcImportFenceWin32HandleKHR
-ImportSemaphoreFdKHR:                            ProcImportSemaphoreFdKHR
-ImportSemaphoreWin32HandleKHR:                   ProcImportSemaphoreWin32HandleKHR
-InitializePerformanceApiINTEL:                   ProcInitializePerformanceApiINTEL
-InvalidateMappedMemoryRanges:                    ProcInvalidateMappedMemoryRanges
-MapMemory:                                       ProcMapMemory
-MergePipelineCaches:                             ProcMergePipelineCaches
-MergeValidationCachesEXT:                        ProcMergeValidationCachesEXT
-QueueBeginDebugUtilsLabelEXT:                    ProcQueueBeginDebugUtilsLabelEXT
-QueueBindSparse:                                 ProcQueueBindSparse
-QueueEndDebugUtilsLabelEXT:                      ProcQueueEndDebugUtilsLabelEXT
-QueueInsertDebugUtilsLabelEXT:                   ProcQueueInsertDebugUtilsLabelEXT
-QueuePresentKHR:                                 ProcQueuePresentKHR
-QueueSetPerformanceConfigurationINTEL:           ProcQueueSetPerformanceConfigurationINTEL
-QueueSubmit:                                     ProcQueueSubmit
-QueueSubmit2:                                    ProcQueueSubmit2
-QueueSubmit2KHR:                                 ProcQueueSubmit2KHR
-QueueWaitIdle:                                   ProcQueueWaitIdle
-RegisterDeviceEventEXT:                          ProcRegisterDeviceEventEXT
-RegisterDisplayEventEXT:                         ProcRegisterDisplayEventEXT
-ReleaseFullScreenExclusiveModeEXT:               ProcReleaseFullScreenExclusiveModeEXT
-ReleasePerformanceConfigurationINTEL:            ProcReleasePerformanceConfigurationINTEL
-ReleaseProfilingLockKHR:                         ProcReleaseProfilingLockKHR
-ResetCommandBuffer:                              ProcResetCommandBuffer
-ResetCommandPool:                                ProcResetCommandPool
-ResetDescriptorPool:                             ProcResetDescriptorPool
-ResetEvent:                                      ProcResetEvent
-ResetFences:                                     ProcResetFences
-ResetQueryPool:                                  ProcResetQueryPool
-ResetQueryPoolEXT:                               ProcResetQueryPoolEXT
-SetDebugUtilsObjectNameEXT:                      ProcSetDebugUtilsObjectNameEXT
-SetDebugUtilsObjectTagEXT:                       ProcSetDebugUtilsObjectTagEXT
-SetDeviceMemoryPriorityEXT:                      ProcSetDeviceMemoryPriorityEXT
-SetEvent:                                        ProcSetEvent
-SetHdrMetadataEXT:                               ProcSetHdrMetadataEXT
-SetLocalDimmingAMD:                              ProcSetLocalDimmingAMD
-SetPrivateData:                                  ProcSetPrivateData
-SetPrivateDataEXT:                               ProcSetPrivateDataEXT
-SignalSemaphore:                                 ProcSignalSemaphore
-SignalSemaphoreKHR:                              ProcSignalSemaphoreKHR
-TrimCommandPool:                                 ProcTrimCommandPool
-TrimCommandPoolKHR:                              ProcTrimCommandPoolKHR
-UninitializePerformanceApiINTEL:                 ProcUninitializePerformanceApiINTEL
-UnmapMemory:                                     ProcUnmapMemory
-UpdateDescriptorSetWithTemplate:                 ProcUpdateDescriptorSetWithTemplate
-UpdateDescriptorSetWithTemplateKHR:              ProcUpdateDescriptorSetWithTemplateKHR
-UpdateDescriptorSets:                            ProcUpdateDescriptorSets
-WaitForFences:                                   ProcWaitForFences
-WaitForPresentKHR:                               ProcWaitForPresentKHR
-WaitSemaphores:                                  ProcWaitSemaphores
-WaitSemaphoresKHR:                               ProcWaitSemaphoresKHR
-WriteAccelerationStructuresPropertiesKHR:        ProcWriteAccelerationStructuresPropertiesKHR
-
-load_proc_addresses_custom :: proc(set_proc_address: SetProcAddressType) {
-	// Loader Procedures
-	set_proc_address(&CreateInstance,                       "vkCreateInstance")
-	set_proc_address(&DebugUtilsMessengerCallbackEXT,       "vkDebugUtilsMessengerCallbackEXT")
-	set_proc_address(&DeviceMemoryReportCallbackEXT,        "vkDeviceMemoryReportCallbackEXT")
-	set_proc_address(&EnumerateInstanceExtensionProperties, "vkEnumerateInstanceExtensionProperties")
-	set_proc_address(&EnumerateInstanceLayerProperties,     "vkEnumerateInstanceLayerProperties")
-	set_proc_address(&EnumerateInstanceVersion,             "vkEnumerateInstanceVersion")
-	set_proc_address(&GetInstanceProcAddr,                  "vkGetInstanceProcAddr")
-
-	// Instance Procedures
-	set_proc_address(&AcquireDrmDisplayEXT,                                            "vkAcquireDrmDisplayEXT")
-	set_proc_address(&AcquireWinrtDisplayNV,                                           "vkAcquireWinrtDisplayNV")
-	set_proc_address(&CreateDebugReportCallbackEXT,                                    "vkCreateDebugReportCallbackEXT")
-	set_proc_address(&CreateDebugUtilsMessengerEXT,                                    "vkCreateDebugUtilsMessengerEXT")
-	set_proc_address(&CreateDevice,                                                    "vkCreateDevice")
-	set_proc_address(&CreateDisplayModeKHR,                                            "vkCreateDisplayModeKHR")
-	set_proc_address(&CreateDisplayPlaneSurfaceKHR,                                    "vkCreateDisplayPlaneSurfaceKHR")
-	set_proc_address(&CreateHeadlessSurfaceEXT,                                        "vkCreateHeadlessSurfaceEXT")
-	set_proc_address(&CreateIOSSurfaceMVK,                                             "vkCreateIOSSurfaceMVK")
-	set_proc_address(&CreateMacOSSurfaceMVK,                                           "vkCreateMacOSSurfaceMVK")
-	set_proc_address(&CreateMetalSurfaceEXT,                                           "vkCreateMetalSurfaceEXT")
-	set_proc_address(&CreateWaylandSurfaceKHR,                                         "vkCreateWaylandSurfaceKHR")
-	set_proc_address(&CreateWin32SurfaceKHR,                                           "vkCreateWin32SurfaceKHR")
-	set_proc_address(&DebugReportMessageEXT,                                           "vkDebugReportMessageEXT")
-	set_proc_address(&DestroyDebugReportCallbackEXT,                                   "vkDestroyDebugReportCallbackEXT")
-	set_proc_address(&DestroyDebugUtilsMessengerEXT,                                   "vkDestroyDebugUtilsMessengerEXT")
-	set_proc_address(&DestroyInstance,                                                 "vkDestroyInstance")
-	set_proc_address(&DestroySurfaceKHR,                                               "vkDestroySurfaceKHR")
-	set_proc_address(&EnumerateDeviceExtensionProperties,                              "vkEnumerateDeviceExtensionProperties")
-	set_proc_address(&EnumerateDeviceLayerProperties,                                  "vkEnumerateDeviceLayerProperties")
-	set_proc_address(&EnumeratePhysicalDeviceGroups,                                   "vkEnumeratePhysicalDeviceGroups")
-	set_proc_address(&EnumeratePhysicalDeviceGroupsKHR,                                "vkEnumeratePhysicalDeviceGroupsKHR")
-	set_proc_address(&EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,   "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")
-	set_proc_address(&EnumeratePhysicalDevices,                                        "vkEnumeratePhysicalDevices")
-	set_proc_address(&GetDisplayModeProperties2KHR,                                    "vkGetDisplayModeProperties2KHR")
-	set_proc_address(&GetDisplayModePropertiesKHR,                                     "vkGetDisplayModePropertiesKHR")
-	set_proc_address(&GetDisplayPlaneCapabilities2KHR,                                 "vkGetDisplayPlaneCapabilities2KHR")
-	set_proc_address(&GetDisplayPlaneCapabilitiesKHR,                                  "vkGetDisplayPlaneCapabilitiesKHR")
-	set_proc_address(&GetDisplayPlaneSupportedDisplaysKHR,                             "vkGetDisplayPlaneSupportedDisplaysKHR")
-	set_proc_address(&GetDrmDisplayEXT,                                                "vkGetDrmDisplayEXT")
-	set_proc_address(&GetPhysicalDeviceCalibrateableTimeDomainsEXT,                    "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT")
-	set_proc_address(&GetPhysicalDeviceCooperativeMatrixPropertiesNV,                  "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV")
-	set_proc_address(&GetPhysicalDeviceDisplayPlaneProperties2KHR,                     "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
-	set_proc_address(&GetPhysicalDeviceDisplayPlanePropertiesKHR,                      "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")
-	set_proc_address(&GetPhysicalDeviceDisplayProperties2KHR,                          "vkGetPhysicalDeviceDisplayProperties2KHR")
-	set_proc_address(&GetPhysicalDeviceDisplayPropertiesKHR,                           "vkGetPhysicalDeviceDisplayPropertiesKHR")
-	set_proc_address(&GetPhysicalDeviceExternalBufferProperties,                       "vkGetPhysicalDeviceExternalBufferProperties")
-	set_proc_address(&GetPhysicalDeviceExternalBufferPropertiesKHR,                    "vkGetPhysicalDeviceExternalBufferPropertiesKHR")
-	set_proc_address(&GetPhysicalDeviceExternalFenceProperties,                        "vkGetPhysicalDeviceExternalFenceProperties")
-	set_proc_address(&GetPhysicalDeviceExternalFencePropertiesKHR,                     "vkGetPhysicalDeviceExternalFencePropertiesKHR")
-	set_proc_address(&GetPhysicalDeviceExternalImageFormatPropertiesNV,                "vkGetPhysicalDeviceExternalImageFormatPropertiesNV")
-	set_proc_address(&GetPhysicalDeviceExternalSemaphoreProperties,                    "vkGetPhysicalDeviceExternalSemaphoreProperties")
-	set_proc_address(&GetPhysicalDeviceExternalSemaphorePropertiesKHR,                 "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR")
-	set_proc_address(&GetPhysicalDeviceFeatures,                                       "vkGetPhysicalDeviceFeatures")
-	set_proc_address(&GetPhysicalDeviceFeatures2,                                      "vkGetPhysicalDeviceFeatures2")
-	set_proc_address(&GetPhysicalDeviceFeatures2KHR,                                   "vkGetPhysicalDeviceFeatures2KHR")
-	set_proc_address(&GetPhysicalDeviceFormatProperties,                               "vkGetPhysicalDeviceFormatProperties")
-	set_proc_address(&GetPhysicalDeviceFormatProperties2,                              "vkGetPhysicalDeviceFormatProperties2")
-	set_proc_address(&GetPhysicalDeviceFormatProperties2KHR,                           "vkGetPhysicalDeviceFormatProperties2KHR")
-	set_proc_address(&GetPhysicalDeviceFragmentShadingRatesKHR,                        "vkGetPhysicalDeviceFragmentShadingRatesKHR")
-	set_proc_address(&GetPhysicalDeviceImageFormatProperties,                          "vkGetPhysicalDeviceImageFormatProperties")
-	set_proc_address(&GetPhysicalDeviceImageFormatProperties2,                         "vkGetPhysicalDeviceImageFormatProperties2")
-	set_proc_address(&GetPhysicalDeviceImageFormatProperties2KHR,                      "vkGetPhysicalDeviceImageFormatProperties2KHR")
-	set_proc_address(&GetPhysicalDeviceMemoryProperties,                               "vkGetPhysicalDeviceMemoryProperties")
-	set_proc_address(&GetPhysicalDeviceMemoryProperties2,                              "vkGetPhysicalDeviceMemoryProperties2")
-	set_proc_address(&GetPhysicalDeviceMemoryProperties2KHR,                           "vkGetPhysicalDeviceMemoryProperties2KHR")
-	set_proc_address(&GetPhysicalDeviceMultisamplePropertiesEXT,                       "vkGetPhysicalDeviceMultisamplePropertiesEXT")
-	set_proc_address(&GetPhysicalDevicePresentRectanglesKHR,                           "vkGetPhysicalDevicePresentRectanglesKHR")
-	set_proc_address(&GetPhysicalDeviceProperties,                                     "vkGetPhysicalDeviceProperties")
-	set_proc_address(&GetPhysicalDeviceProperties2,                                    "vkGetPhysicalDeviceProperties2")
-	set_proc_address(&GetPhysicalDeviceProperties2KHR,                                 "vkGetPhysicalDeviceProperties2KHR")
-	set_proc_address(&GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR,           "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")
-	set_proc_address(&GetPhysicalDeviceQueueFamilyProperties,                          "vkGetPhysicalDeviceQueueFamilyProperties")
-	set_proc_address(&GetPhysicalDeviceQueueFamilyProperties2,                         "vkGetPhysicalDeviceQueueFamilyProperties2")
-	set_proc_address(&GetPhysicalDeviceQueueFamilyProperties2KHR,                      "vkGetPhysicalDeviceQueueFamilyProperties2KHR")
-	set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties,                    "vkGetPhysicalDeviceSparseImageFormatProperties")
-	set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties2,                   "vkGetPhysicalDeviceSparseImageFormatProperties2")
-	set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties2KHR,                "vkGetPhysicalDeviceSparseImageFormatProperties2KHR")
-	set_proc_address(&GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV")
-	set_proc_address(&GetPhysicalDeviceSurfaceCapabilities2EXT,                        "vkGetPhysicalDeviceSurfaceCapabilities2EXT")
-	set_proc_address(&GetPhysicalDeviceSurfaceCapabilities2KHR,                        "vkGetPhysicalDeviceSurfaceCapabilities2KHR")
-	set_proc_address(&GetPhysicalDeviceSurfaceCapabilitiesKHR,                         "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")
-	set_proc_address(&GetPhysicalDeviceSurfaceFormats2KHR,                             "vkGetPhysicalDeviceSurfaceFormats2KHR")
-	set_proc_address(&GetPhysicalDeviceSurfaceFormatsKHR,                              "vkGetPhysicalDeviceSurfaceFormatsKHR")
-	set_proc_address(&GetPhysicalDeviceSurfacePresentModes2EXT,                        "vkGetPhysicalDeviceSurfacePresentModes2EXT")
-	set_proc_address(&GetPhysicalDeviceSurfacePresentModesKHR,                         "vkGetPhysicalDeviceSurfacePresentModesKHR")
-	set_proc_address(&GetPhysicalDeviceSurfaceSupportKHR,                              "vkGetPhysicalDeviceSurfaceSupportKHR")
-	set_proc_address(&GetPhysicalDeviceToolProperties,                                 "vkGetPhysicalDeviceToolProperties")
-	set_proc_address(&GetPhysicalDeviceToolPropertiesEXT,                              "vkGetPhysicalDeviceToolPropertiesEXT")
-	set_proc_address(&GetPhysicalDeviceWaylandPresentationSupportKHR,                  "vkGetPhysicalDeviceWaylandPresentationSupportKHR")
-	set_proc_address(&GetPhysicalDeviceWin32PresentationSupportKHR,                    "vkGetPhysicalDeviceWin32PresentationSupportKHR")
-	set_proc_address(&GetWinrtDisplayNV,                                               "vkGetWinrtDisplayNV")
-	set_proc_address(&ReleaseDisplayEXT,                                               "vkReleaseDisplayEXT")
-	set_proc_address(&SubmitDebugUtilsMessageEXT,                                      "vkSubmitDebugUtilsMessageEXT")
-
-	// Device Procedures
-	set_proc_address(&AcquireFullScreenExclusiveModeEXT,               "vkAcquireFullScreenExclusiveModeEXT")
-	set_proc_address(&AcquireNextImage2KHR,                            "vkAcquireNextImage2KHR")
-	set_proc_address(&AcquireNextImageKHR,                             "vkAcquireNextImageKHR")
-	set_proc_address(&AcquirePerformanceConfigurationINTEL,            "vkAcquirePerformanceConfigurationINTEL")
-	set_proc_address(&AcquireProfilingLockKHR,                         "vkAcquireProfilingLockKHR")
-	set_proc_address(&AllocateCommandBuffers,                          "vkAllocateCommandBuffers")
-	set_proc_address(&AllocateDescriptorSets,                          "vkAllocateDescriptorSets")
-	set_proc_address(&AllocateMemory,                                  "vkAllocateMemory")
-	set_proc_address(&BeginCommandBuffer,                              "vkBeginCommandBuffer")
-	set_proc_address(&BindAccelerationStructureMemoryNV,               "vkBindAccelerationStructureMemoryNV")
-	set_proc_address(&BindBufferMemory,                                "vkBindBufferMemory")
-	set_proc_address(&BindBufferMemory2,                               "vkBindBufferMemory2")
-	set_proc_address(&BindBufferMemory2KHR,                            "vkBindBufferMemory2KHR")
-	set_proc_address(&BindImageMemory,                                 "vkBindImageMemory")
-	set_proc_address(&BindImageMemory2,                                "vkBindImageMemory2")
-	set_proc_address(&BindImageMemory2KHR,                             "vkBindImageMemory2KHR")
-	set_proc_address(&BuildAccelerationStructuresKHR,                  "vkBuildAccelerationStructuresKHR")
-	set_proc_address(&CmdBeginConditionalRenderingEXT,                 "vkCmdBeginConditionalRenderingEXT")
-	set_proc_address(&CmdBeginDebugUtilsLabelEXT,                      "vkCmdBeginDebugUtilsLabelEXT")
-	set_proc_address(&CmdBeginQuery,                                   "vkCmdBeginQuery")
-	set_proc_address(&CmdBeginQueryIndexedEXT,                         "vkCmdBeginQueryIndexedEXT")
-	set_proc_address(&CmdBeginRenderPass,                              "vkCmdBeginRenderPass")
-	set_proc_address(&CmdBeginRenderPass2,                             "vkCmdBeginRenderPass2")
-	set_proc_address(&CmdBeginRenderPass2KHR,                          "vkCmdBeginRenderPass2KHR")
-	set_proc_address(&CmdBeginRendering,                               "vkCmdBeginRendering")
-	set_proc_address(&CmdBeginRenderingKHR,                            "vkCmdBeginRenderingKHR")
-	set_proc_address(&CmdBeginTransformFeedbackEXT,                    "vkCmdBeginTransformFeedbackEXT")
-	set_proc_address(&CmdBindDescriptorSets,                           "vkCmdBindDescriptorSets")
-	set_proc_address(&CmdBindIndexBuffer,                              "vkCmdBindIndexBuffer")
-	set_proc_address(&CmdBindInvocationMaskHUAWEI,                     "vkCmdBindInvocationMaskHUAWEI")
-	set_proc_address(&CmdBindPipeline,                                 "vkCmdBindPipeline")
-	set_proc_address(&CmdBindPipelineShaderGroupNV,                    "vkCmdBindPipelineShaderGroupNV")
-	set_proc_address(&CmdBindShadingRateImageNV,                       "vkCmdBindShadingRateImageNV")
-	set_proc_address(&CmdBindTransformFeedbackBuffersEXT,              "vkCmdBindTransformFeedbackBuffersEXT")
-	set_proc_address(&CmdBindVertexBuffers,                            "vkCmdBindVertexBuffers")
-	set_proc_address(&CmdBindVertexBuffers2,                           "vkCmdBindVertexBuffers2")
-	set_proc_address(&CmdBindVertexBuffers2EXT,                        "vkCmdBindVertexBuffers2EXT")
-	set_proc_address(&CmdBlitImage,                                    "vkCmdBlitImage")
-	set_proc_address(&CmdBlitImage2,                                   "vkCmdBlitImage2")
-	set_proc_address(&CmdBlitImage2KHR,                                "vkCmdBlitImage2KHR")
-	set_proc_address(&CmdBuildAccelerationStructureNV,                 "vkCmdBuildAccelerationStructureNV")
-	set_proc_address(&CmdBuildAccelerationStructuresIndirectKHR,       "vkCmdBuildAccelerationStructuresIndirectKHR")
-	set_proc_address(&CmdBuildAccelerationStructuresKHR,               "vkCmdBuildAccelerationStructuresKHR")
-	set_proc_address(&CmdClearAttachments,                             "vkCmdClearAttachments")
-	set_proc_address(&CmdClearColorImage,                              "vkCmdClearColorImage")
-	set_proc_address(&CmdClearDepthStencilImage,                       "vkCmdClearDepthStencilImage")
-	set_proc_address(&CmdCopyAccelerationStructureKHR,                 "vkCmdCopyAccelerationStructureKHR")
-	set_proc_address(&CmdCopyAccelerationStructureNV,                  "vkCmdCopyAccelerationStructureNV")
-	set_proc_address(&CmdCopyAccelerationStructureToMemoryKHR,         "vkCmdCopyAccelerationStructureToMemoryKHR")
-	set_proc_address(&CmdCopyBuffer,                                   "vkCmdCopyBuffer")
-	set_proc_address(&CmdCopyBuffer2,                                  "vkCmdCopyBuffer2")
-	set_proc_address(&CmdCopyBuffer2KHR,                               "vkCmdCopyBuffer2KHR")
-	set_proc_address(&CmdCopyBufferToImage,                            "vkCmdCopyBufferToImage")
-	set_proc_address(&CmdCopyBufferToImage2,                           "vkCmdCopyBufferToImage2")
-	set_proc_address(&CmdCopyBufferToImage2KHR,                        "vkCmdCopyBufferToImage2KHR")
-	set_proc_address(&CmdCopyImage,                                    "vkCmdCopyImage")
-	set_proc_address(&CmdCopyImage2,                                   "vkCmdCopyImage2")
-	set_proc_address(&CmdCopyImage2KHR,                                "vkCmdCopyImage2KHR")
-	set_proc_address(&CmdCopyImageToBuffer,                            "vkCmdCopyImageToBuffer")
-	set_proc_address(&CmdCopyImageToBuffer2,                           "vkCmdCopyImageToBuffer2")
-	set_proc_address(&CmdCopyImageToBuffer2KHR,                        "vkCmdCopyImageToBuffer2KHR")
-	set_proc_address(&CmdCopyMemoryToAccelerationStructureKHR,         "vkCmdCopyMemoryToAccelerationStructureKHR")
-	set_proc_address(&CmdCopyQueryPoolResults,                         "vkCmdCopyQueryPoolResults")
-	set_proc_address(&CmdCuLaunchKernelNVX,                            "vkCmdCuLaunchKernelNVX")
-	set_proc_address(&CmdDebugMarkerBeginEXT,                          "vkCmdDebugMarkerBeginEXT")
-	set_proc_address(&CmdDebugMarkerEndEXT,                            "vkCmdDebugMarkerEndEXT")
-	set_proc_address(&CmdDebugMarkerInsertEXT,                         "vkCmdDebugMarkerInsertEXT")
-	set_proc_address(&CmdDispatch,                                     "vkCmdDispatch")
-	set_proc_address(&CmdDispatchBase,                                 "vkCmdDispatchBase")
-	set_proc_address(&CmdDispatchBaseKHR,                              "vkCmdDispatchBaseKHR")
-	set_proc_address(&CmdDispatchIndirect,                             "vkCmdDispatchIndirect")
-	set_proc_address(&CmdDraw,                                         "vkCmdDraw")
-	set_proc_address(&CmdDrawIndexed,                                  "vkCmdDrawIndexed")
-	set_proc_address(&CmdDrawIndexedIndirect,                          "vkCmdDrawIndexedIndirect")
-	set_proc_address(&CmdDrawIndexedIndirectCount,                     "vkCmdDrawIndexedIndirectCount")
-	set_proc_address(&CmdDrawIndexedIndirectCountAMD,                  "vkCmdDrawIndexedIndirectCountAMD")
-	set_proc_address(&CmdDrawIndexedIndirectCountKHR,                  "vkCmdDrawIndexedIndirectCountKHR")
-	set_proc_address(&CmdDrawIndirect,                                 "vkCmdDrawIndirect")
-	set_proc_address(&CmdDrawIndirectByteCountEXT,                     "vkCmdDrawIndirectByteCountEXT")
-	set_proc_address(&CmdDrawIndirectCount,                            "vkCmdDrawIndirectCount")
-	set_proc_address(&CmdDrawIndirectCountAMD,                         "vkCmdDrawIndirectCountAMD")
-	set_proc_address(&CmdDrawIndirectCountKHR,                         "vkCmdDrawIndirectCountKHR")
-	set_proc_address(&CmdDrawMeshTasksIndirectCountNV,                 "vkCmdDrawMeshTasksIndirectCountNV")
-	set_proc_address(&CmdDrawMeshTasksIndirectNV,                      "vkCmdDrawMeshTasksIndirectNV")
-	set_proc_address(&CmdDrawMeshTasksNV,                              "vkCmdDrawMeshTasksNV")
-	set_proc_address(&CmdDrawMultiEXT,                                 "vkCmdDrawMultiEXT")
-	set_proc_address(&CmdDrawMultiIndexedEXT,                          "vkCmdDrawMultiIndexedEXT")
-	set_proc_address(&CmdEndConditionalRenderingEXT,                   "vkCmdEndConditionalRenderingEXT")
-	set_proc_address(&CmdEndDebugUtilsLabelEXT,                        "vkCmdEndDebugUtilsLabelEXT")
-	set_proc_address(&CmdEndQuery,                                     "vkCmdEndQuery")
-	set_proc_address(&CmdEndQueryIndexedEXT,                           "vkCmdEndQueryIndexedEXT")
-	set_proc_address(&CmdEndRenderPass,                                "vkCmdEndRenderPass")
-	set_proc_address(&CmdEndRenderPass2,                               "vkCmdEndRenderPass2")
-	set_proc_address(&CmdEndRenderPass2KHR,                            "vkCmdEndRenderPass2KHR")
-	set_proc_address(&CmdEndRendering,                                 "vkCmdEndRendering")
-	set_proc_address(&CmdEndRenderingKHR,                              "vkCmdEndRenderingKHR")
-	set_proc_address(&CmdEndTransformFeedbackEXT,                      "vkCmdEndTransformFeedbackEXT")
-	set_proc_address(&CmdExecuteCommands,                              "vkCmdExecuteCommands")
-	set_proc_address(&CmdExecuteGeneratedCommandsNV,                   "vkCmdExecuteGeneratedCommandsNV")
-	set_proc_address(&CmdFillBuffer,                                   "vkCmdFillBuffer")
-	set_proc_address(&CmdInsertDebugUtilsLabelEXT,                     "vkCmdInsertDebugUtilsLabelEXT")
-	set_proc_address(&CmdNextSubpass,                                  "vkCmdNextSubpass")
-	set_proc_address(&CmdNextSubpass2,                                 "vkCmdNextSubpass2")
-	set_proc_address(&CmdNextSubpass2KHR,                              "vkCmdNextSubpass2KHR")
-	set_proc_address(&CmdPipelineBarrier,                              "vkCmdPipelineBarrier")
-	set_proc_address(&CmdPipelineBarrier2,                             "vkCmdPipelineBarrier2")
-	set_proc_address(&CmdPipelineBarrier2KHR,                          "vkCmdPipelineBarrier2KHR")
-	set_proc_address(&CmdPreprocessGeneratedCommandsNV,                "vkCmdPreprocessGeneratedCommandsNV")
-	set_proc_address(&CmdPushConstants,                                "vkCmdPushConstants")
-	set_proc_address(&CmdPushDescriptorSetKHR,                         "vkCmdPushDescriptorSetKHR")
-	set_proc_address(&CmdPushDescriptorSetWithTemplateKHR,             "vkCmdPushDescriptorSetWithTemplateKHR")
-	set_proc_address(&CmdResetEvent,                                   "vkCmdResetEvent")
-	set_proc_address(&CmdResetEvent2,                                  "vkCmdResetEvent2")
-	set_proc_address(&CmdResetEvent2KHR,                               "vkCmdResetEvent2KHR")
-	set_proc_address(&CmdResetQueryPool,                               "vkCmdResetQueryPool")
-	set_proc_address(&CmdResolveImage,                                 "vkCmdResolveImage")
-	set_proc_address(&CmdResolveImage2,                                "vkCmdResolveImage2")
-	set_proc_address(&CmdResolveImage2KHR,                             "vkCmdResolveImage2KHR")
-	set_proc_address(&CmdSetBlendConstants,                            "vkCmdSetBlendConstants")
-	set_proc_address(&CmdSetCheckpointNV,                              "vkCmdSetCheckpointNV")
-	set_proc_address(&CmdSetCoarseSampleOrderNV,                       "vkCmdSetCoarseSampleOrderNV")
-	set_proc_address(&CmdSetCullMode,                                  "vkCmdSetCullMode")
-	set_proc_address(&CmdSetCullModeEXT,                               "vkCmdSetCullModeEXT")
-	set_proc_address(&CmdSetDepthBias,                                 "vkCmdSetDepthBias")
-	set_proc_address(&CmdSetDepthBiasEnable,                           "vkCmdSetDepthBiasEnable")
-	set_proc_address(&CmdSetDepthBiasEnableEXT,                        "vkCmdSetDepthBiasEnableEXT")
-	set_proc_address(&CmdSetDepthBounds,                               "vkCmdSetDepthBounds")
-	set_proc_address(&CmdSetDepthBoundsTestEnable,                     "vkCmdSetDepthBoundsTestEnable")
-	set_proc_address(&CmdSetDepthBoundsTestEnableEXT,                  "vkCmdSetDepthBoundsTestEnableEXT")
-	set_proc_address(&CmdSetDepthCompareOp,                            "vkCmdSetDepthCompareOp")
-	set_proc_address(&CmdSetDepthCompareOpEXT,                         "vkCmdSetDepthCompareOpEXT")
-	set_proc_address(&CmdSetDepthTestEnable,                           "vkCmdSetDepthTestEnable")
-	set_proc_address(&CmdSetDepthTestEnableEXT,                        "vkCmdSetDepthTestEnableEXT")
-	set_proc_address(&CmdSetDepthWriteEnable,                          "vkCmdSetDepthWriteEnable")
-	set_proc_address(&CmdSetDepthWriteEnableEXT,                       "vkCmdSetDepthWriteEnableEXT")
-	set_proc_address(&CmdSetDeviceMask,                                "vkCmdSetDeviceMask")
-	set_proc_address(&CmdSetDeviceMaskKHR,                             "vkCmdSetDeviceMaskKHR")
-	set_proc_address(&CmdSetDiscardRectangleEXT,                       "vkCmdSetDiscardRectangleEXT")
-	set_proc_address(&CmdSetEvent,                                     "vkCmdSetEvent")
-	set_proc_address(&CmdSetEvent2,                                    "vkCmdSetEvent2")
-	set_proc_address(&CmdSetEvent2KHR,                                 "vkCmdSetEvent2KHR")
-	set_proc_address(&CmdSetExclusiveScissorNV,                        "vkCmdSetExclusiveScissorNV")
-	set_proc_address(&CmdSetFragmentShadingRateEnumNV,                 "vkCmdSetFragmentShadingRateEnumNV")
-	set_proc_address(&CmdSetFragmentShadingRateKHR,                    "vkCmdSetFragmentShadingRateKHR")
-	set_proc_address(&CmdSetFrontFace,                                 "vkCmdSetFrontFace")
-	set_proc_address(&CmdSetFrontFaceEXT,                              "vkCmdSetFrontFaceEXT")
-	set_proc_address(&CmdSetLineStippleEXT,                            "vkCmdSetLineStippleEXT")
-	set_proc_address(&CmdSetLineWidth,                                 "vkCmdSetLineWidth")
-	set_proc_address(&CmdSetLogicOpEXT,                                "vkCmdSetLogicOpEXT")
-	set_proc_address(&CmdSetPatchControlPointsEXT,                     "vkCmdSetPatchControlPointsEXT")
-	set_proc_address(&CmdSetPerformanceMarkerINTEL,                    "vkCmdSetPerformanceMarkerINTEL")
-	set_proc_address(&CmdSetPerformanceOverrideINTEL,                  "vkCmdSetPerformanceOverrideINTEL")
-	set_proc_address(&CmdSetPerformanceStreamMarkerINTEL,              "vkCmdSetPerformanceStreamMarkerINTEL")
-	set_proc_address(&CmdSetPrimitiveRestartEnable,                    "vkCmdSetPrimitiveRestartEnable")
-	set_proc_address(&CmdSetPrimitiveRestartEnableEXT,                 "vkCmdSetPrimitiveRestartEnableEXT")
-	set_proc_address(&CmdSetPrimitiveTopology,                         "vkCmdSetPrimitiveTopology")
-	set_proc_address(&CmdSetPrimitiveTopologyEXT,                      "vkCmdSetPrimitiveTopologyEXT")
-	set_proc_address(&CmdSetRasterizerDiscardEnable,                   "vkCmdSetRasterizerDiscardEnable")
-	set_proc_address(&CmdSetRasterizerDiscardEnableEXT,                "vkCmdSetRasterizerDiscardEnableEXT")
-	set_proc_address(&CmdSetRayTracingPipelineStackSizeKHR,            "vkCmdSetRayTracingPipelineStackSizeKHR")
-	set_proc_address(&CmdSetSampleLocationsEXT,                        "vkCmdSetSampleLocationsEXT")
-	set_proc_address(&CmdSetScissor,                                   "vkCmdSetScissor")
-	set_proc_address(&CmdSetScissorWithCount,                          "vkCmdSetScissorWithCount")
-	set_proc_address(&CmdSetScissorWithCountEXT,                       "vkCmdSetScissorWithCountEXT")
-	set_proc_address(&CmdSetStencilCompareMask,                        "vkCmdSetStencilCompareMask")
-	set_proc_address(&CmdSetStencilOp,                                 "vkCmdSetStencilOp")
-	set_proc_address(&CmdSetStencilOpEXT,                              "vkCmdSetStencilOpEXT")
-	set_proc_address(&CmdSetStencilReference,                          "vkCmdSetStencilReference")
-	set_proc_address(&CmdSetStencilTestEnable,                         "vkCmdSetStencilTestEnable")
-	set_proc_address(&CmdSetStencilTestEnableEXT,                      "vkCmdSetStencilTestEnableEXT")
-	set_proc_address(&CmdSetStencilWriteMask,                          "vkCmdSetStencilWriteMask")
-	set_proc_address(&CmdSetVertexInputEXT,                            "vkCmdSetVertexInputEXT")
-	set_proc_address(&CmdSetViewport,                                  "vkCmdSetViewport")
-	set_proc_address(&CmdSetViewportShadingRatePaletteNV,              "vkCmdSetViewportShadingRatePaletteNV")
-	set_proc_address(&CmdSetViewportWScalingNV,                        "vkCmdSetViewportWScalingNV")
-	set_proc_address(&CmdSetViewportWithCount,                         "vkCmdSetViewportWithCount")
-	set_proc_address(&CmdSetViewportWithCountEXT,                      "vkCmdSetViewportWithCountEXT")
-	set_proc_address(&CmdSubpassShadingHUAWEI,                         "vkCmdSubpassShadingHUAWEI")
-	set_proc_address(&CmdTraceRaysIndirectKHR,                         "vkCmdTraceRaysIndirectKHR")
-	set_proc_address(&CmdTraceRaysKHR,                                 "vkCmdTraceRaysKHR")
-	set_proc_address(&CmdTraceRaysNV,                                  "vkCmdTraceRaysNV")
-	set_proc_address(&CmdUpdateBuffer,                                 "vkCmdUpdateBuffer")
-	set_proc_address(&CmdWaitEvents,                                   "vkCmdWaitEvents")
-	set_proc_address(&CmdWaitEvents2,                                  "vkCmdWaitEvents2")
-	set_proc_address(&CmdWaitEvents2KHR,                               "vkCmdWaitEvents2KHR")
-	set_proc_address(&CmdWriteAccelerationStructuresPropertiesKHR,     "vkCmdWriteAccelerationStructuresPropertiesKHR")
-	set_proc_address(&CmdWriteAccelerationStructuresPropertiesNV,      "vkCmdWriteAccelerationStructuresPropertiesNV")
-	set_proc_address(&CmdWriteBufferMarker2AMD,                        "vkCmdWriteBufferMarker2AMD")
-	set_proc_address(&CmdWriteBufferMarkerAMD,                         "vkCmdWriteBufferMarkerAMD")
-	set_proc_address(&CmdWriteTimestamp,                               "vkCmdWriteTimestamp")
-	set_proc_address(&CmdWriteTimestamp2,                              "vkCmdWriteTimestamp2")
-	set_proc_address(&CmdWriteTimestamp2KHR,                           "vkCmdWriteTimestamp2KHR")
-	set_proc_address(&CompileDeferredNV,                               "vkCompileDeferredNV")
-	set_proc_address(&CopyAccelerationStructureKHR,                    "vkCopyAccelerationStructureKHR")
-	set_proc_address(&CopyAccelerationStructureToMemoryKHR,            "vkCopyAccelerationStructureToMemoryKHR")
-	set_proc_address(&CopyMemoryToAccelerationStructureKHR,            "vkCopyMemoryToAccelerationStructureKHR")
-	set_proc_address(&CreateAccelerationStructureKHR,                  "vkCreateAccelerationStructureKHR")
-	set_proc_address(&CreateAccelerationStructureNV,                   "vkCreateAccelerationStructureNV")
-	set_proc_address(&CreateBuffer,                                    "vkCreateBuffer")
-	set_proc_address(&CreateBufferView,                                "vkCreateBufferView")
-	set_proc_address(&CreateCommandPool,                               "vkCreateCommandPool")
-	set_proc_address(&CreateComputePipelines,                          "vkCreateComputePipelines")
-	set_proc_address(&CreateCuFunctionNVX,                             "vkCreateCuFunctionNVX")
-	set_proc_address(&CreateCuModuleNVX,                               "vkCreateCuModuleNVX")
-	set_proc_address(&CreateDeferredOperationKHR,                      "vkCreateDeferredOperationKHR")
-	set_proc_address(&CreateDescriptorPool,                            "vkCreateDescriptorPool")
-	set_proc_address(&CreateDescriptorSetLayout,                       "vkCreateDescriptorSetLayout")
-	set_proc_address(&CreateDescriptorUpdateTemplate,                  "vkCreateDescriptorUpdateTemplate")
-	set_proc_address(&CreateDescriptorUpdateTemplateKHR,               "vkCreateDescriptorUpdateTemplateKHR")
-	set_proc_address(&CreateEvent,                                     "vkCreateEvent")
-	set_proc_address(&CreateFence,                                     "vkCreateFence")
-	set_proc_address(&CreateFramebuffer,                               "vkCreateFramebuffer")
-	set_proc_address(&CreateGraphicsPipelines,                         "vkCreateGraphicsPipelines")
-	set_proc_address(&CreateImage,                                     "vkCreateImage")
-	set_proc_address(&CreateImageView,                                 "vkCreateImageView")
-	set_proc_address(&CreateIndirectCommandsLayoutNV,                  "vkCreateIndirectCommandsLayoutNV")
-	set_proc_address(&CreatePipelineCache,                             "vkCreatePipelineCache")
-	set_proc_address(&CreatePipelineLayout,                            "vkCreatePipelineLayout")
-	set_proc_address(&CreatePrivateDataSlot,                           "vkCreatePrivateDataSlot")
-	set_proc_address(&CreatePrivateDataSlotEXT,                        "vkCreatePrivateDataSlotEXT")
-	set_proc_address(&CreateQueryPool,                                 "vkCreateQueryPool")
-	set_proc_address(&CreateRayTracingPipelinesKHR,                    "vkCreateRayTracingPipelinesKHR")
-	set_proc_address(&CreateRayTracingPipelinesNV,                     "vkCreateRayTracingPipelinesNV")
-	set_proc_address(&CreateRenderPass,                                "vkCreateRenderPass")
-	set_proc_address(&CreateRenderPass2,                               "vkCreateRenderPass2")
-	set_proc_address(&CreateRenderPass2KHR,                            "vkCreateRenderPass2KHR")
-	set_proc_address(&CreateSampler,                                   "vkCreateSampler")
-	set_proc_address(&CreateSamplerYcbcrConversion,                    "vkCreateSamplerYcbcrConversion")
-	set_proc_address(&CreateSamplerYcbcrConversionKHR,                 "vkCreateSamplerYcbcrConversionKHR")
-	set_proc_address(&CreateSemaphore,                                 "vkCreateSemaphore")
-	set_proc_address(&CreateShaderModule,                              "vkCreateShaderModule")
-	set_proc_address(&CreateSharedSwapchainsKHR,                       "vkCreateSharedSwapchainsKHR")
-	set_proc_address(&CreateSwapchainKHR,                              "vkCreateSwapchainKHR")
-	set_proc_address(&CreateValidationCacheEXT,                        "vkCreateValidationCacheEXT")
-	set_proc_address(&DebugMarkerSetObjectNameEXT,                     "vkDebugMarkerSetObjectNameEXT")
-	set_proc_address(&DebugMarkerSetObjectTagEXT,                      "vkDebugMarkerSetObjectTagEXT")
-	set_proc_address(&DeferredOperationJoinKHR,                        "vkDeferredOperationJoinKHR")
-	set_proc_address(&DestroyAccelerationStructureKHR,                 "vkDestroyAccelerationStructureKHR")
-	set_proc_address(&DestroyAccelerationStructureNV,                  "vkDestroyAccelerationStructureNV")
-	set_proc_address(&DestroyBuffer,                                   "vkDestroyBuffer")
-	set_proc_address(&DestroyBufferView,                               "vkDestroyBufferView")
-	set_proc_address(&DestroyCommandPool,                              "vkDestroyCommandPool")
-	set_proc_address(&DestroyCuFunctionNVX,                            "vkDestroyCuFunctionNVX")
-	set_proc_address(&DestroyCuModuleNVX,                              "vkDestroyCuModuleNVX")
-	set_proc_address(&DestroyDeferredOperationKHR,                     "vkDestroyDeferredOperationKHR")
-	set_proc_address(&DestroyDescriptorPool,                           "vkDestroyDescriptorPool")
-	set_proc_address(&DestroyDescriptorSetLayout,                      "vkDestroyDescriptorSetLayout")
-	set_proc_address(&DestroyDescriptorUpdateTemplate,                 "vkDestroyDescriptorUpdateTemplate")
-	set_proc_address(&DestroyDescriptorUpdateTemplateKHR,              "vkDestroyDescriptorUpdateTemplateKHR")
-	set_proc_address(&DestroyDevice,                                   "vkDestroyDevice")
-	set_proc_address(&DestroyEvent,                                    "vkDestroyEvent")
-	set_proc_address(&DestroyFence,                                    "vkDestroyFence")
-	set_proc_address(&DestroyFramebuffer,                              "vkDestroyFramebuffer")
-	set_proc_address(&DestroyImage,                                    "vkDestroyImage")
-	set_proc_address(&DestroyImageView,                                "vkDestroyImageView")
-	set_proc_address(&DestroyIndirectCommandsLayoutNV,                 "vkDestroyIndirectCommandsLayoutNV")
-	set_proc_address(&DestroyPipeline,                                 "vkDestroyPipeline")
-	set_proc_address(&DestroyPipelineCache,                            "vkDestroyPipelineCache")
-	set_proc_address(&DestroyPipelineLayout,                           "vkDestroyPipelineLayout")
-	set_proc_address(&DestroyPrivateDataSlot,                          "vkDestroyPrivateDataSlot")
-	set_proc_address(&DestroyPrivateDataSlotEXT,                       "vkDestroyPrivateDataSlotEXT")
-	set_proc_address(&DestroyQueryPool,                                "vkDestroyQueryPool")
-	set_proc_address(&DestroyRenderPass,                               "vkDestroyRenderPass")
-	set_proc_address(&DestroySampler,                                  "vkDestroySampler")
-	set_proc_address(&DestroySamplerYcbcrConversion,                   "vkDestroySamplerYcbcrConversion")
-	set_proc_address(&DestroySamplerYcbcrConversionKHR,                "vkDestroySamplerYcbcrConversionKHR")
-	set_proc_address(&DestroySemaphore,                                "vkDestroySemaphore")
-	set_proc_address(&DestroyShaderModule,                             "vkDestroyShaderModule")
-	set_proc_address(&DestroySwapchainKHR,                             "vkDestroySwapchainKHR")
-	set_proc_address(&DestroyValidationCacheEXT,                       "vkDestroyValidationCacheEXT")
-	set_proc_address(&DeviceWaitIdle,                                  "vkDeviceWaitIdle")
-	set_proc_address(&DisplayPowerControlEXT,                          "vkDisplayPowerControlEXT")
-	set_proc_address(&EndCommandBuffer,                                "vkEndCommandBuffer")
-	set_proc_address(&FlushMappedMemoryRanges,                         "vkFlushMappedMemoryRanges")
-	set_proc_address(&FreeCommandBuffers,                              "vkFreeCommandBuffers")
-	set_proc_address(&FreeDescriptorSets,                              "vkFreeDescriptorSets")
-	set_proc_address(&FreeMemory,                                      "vkFreeMemory")
-	set_proc_address(&GetAccelerationStructureBuildSizesKHR,           "vkGetAccelerationStructureBuildSizesKHR")
-	set_proc_address(&GetAccelerationStructureDeviceAddressKHR,        "vkGetAccelerationStructureDeviceAddressKHR")
-	set_proc_address(&GetAccelerationStructureHandleNV,                "vkGetAccelerationStructureHandleNV")
-	set_proc_address(&GetAccelerationStructureMemoryRequirementsNV,    "vkGetAccelerationStructureMemoryRequirementsNV")
-	set_proc_address(&GetBufferDeviceAddress,                          "vkGetBufferDeviceAddress")
-	set_proc_address(&GetBufferDeviceAddressEXT,                       "vkGetBufferDeviceAddressEXT")
-	set_proc_address(&GetBufferDeviceAddressKHR,                       "vkGetBufferDeviceAddressKHR")
-	set_proc_address(&GetBufferMemoryRequirements,                     "vkGetBufferMemoryRequirements")
-	set_proc_address(&GetBufferMemoryRequirements2,                    "vkGetBufferMemoryRequirements2")
-	set_proc_address(&GetBufferMemoryRequirements2KHR,                 "vkGetBufferMemoryRequirements2KHR")
-	set_proc_address(&GetBufferOpaqueCaptureAddress,                   "vkGetBufferOpaqueCaptureAddress")
-	set_proc_address(&GetBufferOpaqueCaptureAddressKHR,                "vkGetBufferOpaqueCaptureAddressKHR")
-	set_proc_address(&GetCalibratedTimestampsEXT,                      "vkGetCalibratedTimestampsEXT")
-	set_proc_address(&GetDeferredOperationMaxConcurrencyKHR,           "vkGetDeferredOperationMaxConcurrencyKHR")
-	set_proc_address(&GetDeferredOperationResultKHR,                   "vkGetDeferredOperationResultKHR")
-	set_proc_address(&GetDescriptorSetHostMappingVALVE,                "vkGetDescriptorSetHostMappingVALVE")
-	set_proc_address(&GetDescriptorSetLayoutHostMappingInfoVALVE,      "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
-	set_proc_address(&GetDescriptorSetLayoutSupport,                   "vkGetDescriptorSetLayoutSupport")
-	set_proc_address(&GetDescriptorSetLayoutSupportKHR,                "vkGetDescriptorSetLayoutSupportKHR")
-	set_proc_address(&GetDeviceAccelerationStructureCompatibilityKHR,  "vkGetDeviceAccelerationStructureCompatibilityKHR")
-	set_proc_address(&GetDeviceBufferMemoryRequirements,               "vkGetDeviceBufferMemoryRequirements")
-	set_proc_address(&GetDeviceBufferMemoryRequirementsKHR,            "vkGetDeviceBufferMemoryRequirementsKHR")
-	set_proc_address(&GetDeviceGroupPeerMemoryFeatures,                "vkGetDeviceGroupPeerMemoryFeatures")
-	set_proc_address(&GetDeviceGroupPeerMemoryFeaturesKHR,             "vkGetDeviceGroupPeerMemoryFeaturesKHR")
-	set_proc_address(&GetDeviceGroupPresentCapabilitiesKHR,            "vkGetDeviceGroupPresentCapabilitiesKHR")
-	set_proc_address(&GetDeviceGroupSurfacePresentModes2EXT,           "vkGetDeviceGroupSurfacePresentModes2EXT")
-	set_proc_address(&GetDeviceGroupSurfacePresentModesKHR,            "vkGetDeviceGroupSurfacePresentModesKHR")
-	set_proc_address(&GetDeviceImageMemoryRequirements,                "vkGetDeviceImageMemoryRequirements")
-	set_proc_address(&GetDeviceImageMemoryRequirementsKHR,             "vkGetDeviceImageMemoryRequirementsKHR")
-	set_proc_address(&GetDeviceImageSparseMemoryRequirements,          "vkGetDeviceImageSparseMemoryRequirements")
-	set_proc_address(&GetDeviceImageSparseMemoryRequirementsKHR,       "vkGetDeviceImageSparseMemoryRequirementsKHR")
-	set_proc_address(&GetDeviceMemoryCommitment,                       "vkGetDeviceMemoryCommitment")
-	set_proc_address(&GetDeviceMemoryOpaqueCaptureAddress,             "vkGetDeviceMemoryOpaqueCaptureAddress")
-	set_proc_address(&GetDeviceMemoryOpaqueCaptureAddressKHR,          "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
-	set_proc_address(&GetDeviceProcAddr,                               "vkGetDeviceProcAddr")
-	set_proc_address(&GetDeviceQueue,                                  "vkGetDeviceQueue")
-	set_proc_address(&GetDeviceQueue2,                                 "vkGetDeviceQueue2")
-	set_proc_address(&GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,   "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
-	set_proc_address(&GetEventStatus,                                  "vkGetEventStatus")
-	set_proc_address(&GetFenceFdKHR,                                   "vkGetFenceFdKHR")
-	set_proc_address(&GetFenceStatus,                                  "vkGetFenceStatus")
-	set_proc_address(&GetFenceWin32HandleKHR,                          "vkGetFenceWin32HandleKHR")
-	set_proc_address(&GetGeneratedCommandsMemoryRequirementsNV,        "vkGetGeneratedCommandsMemoryRequirementsNV")
-	set_proc_address(&GetImageDrmFormatModifierPropertiesEXT,          "vkGetImageDrmFormatModifierPropertiesEXT")
-	set_proc_address(&GetImageMemoryRequirements,                      "vkGetImageMemoryRequirements")
-	set_proc_address(&GetImageMemoryRequirements2,                     "vkGetImageMemoryRequirements2")
-	set_proc_address(&GetImageMemoryRequirements2KHR,                  "vkGetImageMemoryRequirements2KHR")
-	set_proc_address(&GetImageSparseMemoryRequirements,                "vkGetImageSparseMemoryRequirements")
-	set_proc_address(&GetImageSparseMemoryRequirements2,               "vkGetImageSparseMemoryRequirements2")
-	set_proc_address(&GetImageSparseMemoryRequirements2KHR,            "vkGetImageSparseMemoryRequirements2KHR")
-	set_proc_address(&GetImageSubresourceLayout,                       "vkGetImageSubresourceLayout")
-	set_proc_address(&GetImageViewAddressNVX,                          "vkGetImageViewAddressNVX")
-	set_proc_address(&GetImageViewHandleNVX,                           "vkGetImageViewHandleNVX")
-	set_proc_address(&GetMemoryFdKHR,                                  "vkGetMemoryFdKHR")
-	set_proc_address(&GetMemoryFdPropertiesKHR,                        "vkGetMemoryFdPropertiesKHR")
-	set_proc_address(&GetMemoryHostPointerPropertiesEXT,               "vkGetMemoryHostPointerPropertiesEXT")
-	set_proc_address(&GetMemoryRemoteAddressNV,                        "vkGetMemoryRemoteAddressNV")
-	set_proc_address(&GetMemoryWin32HandleKHR,                         "vkGetMemoryWin32HandleKHR")
-	set_proc_address(&GetMemoryWin32HandleNV,                          "vkGetMemoryWin32HandleNV")
-	set_proc_address(&GetMemoryWin32HandlePropertiesKHR,               "vkGetMemoryWin32HandlePropertiesKHR")
-	set_proc_address(&GetPastPresentationTimingGOOGLE,                 "vkGetPastPresentationTimingGOOGLE")
-	set_proc_address(&GetPerformanceParameterINTEL,                    "vkGetPerformanceParameterINTEL")
-	set_proc_address(&GetPipelineCacheData,                            "vkGetPipelineCacheData")
-	set_proc_address(&GetPipelineExecutableInternalRepresentationsKHR, "vkGetPipelineExecutableInternalRepresentationsKHR")
-	set_proc_address(&GetPipelineExecutablePropertiesKHR,              "vkGetPipelineExecutablePropertiesKHR")
-	set_proc_address(&GetPipelineExecutableStatisticsKHR,              "vkGetPipelineExecutableStatisticsKHR")
-	set_proc_address(&GetPrivateData,                                  "vkGetPrivateData")
-	set_proc_address(&GetPrivateDataEXT,                               "vkGetPrivateDataEXT")
-	set_proc_address(&GetQueryPoolResults,                             "vkGetQueryPoolResults")
-	set_proc_address(&GetQueueCheckpointData2NV,                       "vkGetQueueCheckpointData2NV")
-	set_proc_address(&GetQueueCheckpointDataNV,                        "vkGetQueueCheckpointDataNV")
-	set_proc_address(&GetRayTracingCaptureReplayShaderGroupHandlesKHR, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
-	set_proc_address(&GetRayTracingShaderGroupHandlesKHR,              "vkGetRayTracingShaderGroupHandlesKHR")
-	set_proc_address(&GetRayTracingShaderGroupHandlesNV,               "vkGetRayTracingShaderGroupHandlesNV")
-	set_proc_address(&GetRayTracingShaderGroupStackSizeKHR,            "vkGetRayTracingShaderGroupStackSizeKHR")
-	set_proc_address(&GetRefreshCycleDurationGOOGLE,                   "vkGetRefreshCycleDurationGOOGLE")
-	set_proc_address(&GetRenderAreaGranularity,                        "vkGetRenderAreaGranularity")
-	set_proc_address(&GetSemaphoreCounterValue,                        "vkGetSemaphoreCounterValue")
-	set_proc_address(&GetSemaphoreCounterValueKHR,                     "vkGetSemaphoreCounterValueKHR")
-	set_proc_address(&GetSemaphoreFdKHR,                               "vkGetSemaphoreFdKHR")
-	set_proc_address(&GetSemaphoreWin32HandleKHR,                      "vkGetSemaphoreWin32HandleKHR")
-	set_proc_address(&GetShaderInfoAMD,                                "vkGetShaderInfoAMD")
-	set_proc_address(&GetSwapchainCounterEXT,                          "vkGetSwapchainCounterEXT")
-	set_proc_address(&GetSwapchainImagesKHR,                           "vkGetSwapchainImagesKHR")
-	set_proc_address(&GetSwapchainStatusKHR,                           "vkGetSwapchainStatusKHR")
-	set_proc_address(&GetValidationCacheDataEXT,                       "vkGetValidationCacheDataEXT")
-	set_proc_address(&ImportFenceFdKHR,                                "vkImportFenceFdKHR")
-	set_proc_address(&ImportFenceWin32HandleKHR,                       "vkImportFenceWin32HandleKHR")
-	set_proc_address(&ImportSemaphoreFdKHR,                            "vkImportSemaphoreFdKHR")
-	set_proc_address(&ImportSemaphoreWin32HandleKHR,                   "vkImportSemaphoreWin32HandleKHR")
-	set_proc_address(&InitializePerformanceApiINTEL,                   "vkInitializePerformanceApiINTEL")
-	set_proc_address(&InvalidateMappedMemoryRanges,                    "vkInvalidateMappedMemoryRanges")
-	set_proc_address(&MapMemory,                                       "vkMapMemory")
-	set_proc_address(&MergePipelineCaches,                             "vkMergePipelineCaches")
-	set_proc_address(&MergeValidationCachesEXT,                        "vkMergeValidationCachesEXT")
-	set_proc_address(&QueueBeginDebugUtilsLabelEXT,                    "vkQueueBeginDebugUtilsLabelEXT")
-	set_proc_address(&QueueBindSparse,                                 "vkQueueBindSparse")
-	set_proc_address(&QueueEndDebugUtilsLabelEXT,                      "vkQueueEndDebugUtilsLabelEXT")
-	set_proc_address(&QueueInsertDebugUtilsLabelEXT,                   "vkQueueInsertDebugUtilsLabelEXT")
-	set_proc_address(&QueuePresentKHR,                                 "vkQueuePresentKHR")
-	set_proc_address(&QueueSetPerformanceConfigurationINTEL,           "vkQueueSetPerformanceConfigurationINTEL")
-	set_proc_address(&QueueSubmit,                                     "vkQueueSubmit")
-	set_proc_address(&QueueSubmit2,                                    "vkQueueSubmit2")
-	set_proc_address(&QueueSubmit2KHR,                                 "vkQueueSubmit2KHR")
-	set_proc_address(&QueueWaitIdle,                                   "vkQueueWaitIdle")
-	set_proc_address(&RegisterDeviceEventEXT,                          "vkRegisterDeviceEventEXT")
-	set_proc_address(&RegisterDisplayEventEXT,                         "vkRegisterDisplayEventEXT")
-	set_proc_address(&ReleaseFullScreenExclusiveModeEXT,               "vkReleaseFullScreenExclusiveModeEXT")
-	set_proc_address(&ReleasePerformanceConfigurationINTEL,            "vkReleasePerformanceConfigurationINTEL")
-	set_proc_address(&ReleaseProfilingLockKHR,                         "vkReleaseProfilingLockKHR")
-	set_proc_address(&ResetCommandBuffer,                              "vkResetCommandBuffer")
-	set_proc_address(&ResetCommandPool,                                "vkResetCommandPool")
-	set_proc_address(&ResetDescriptorPool,                             "vkResetDescriptorPool")
-	set_proc_address(&ResetEvent,                                      "vkResetEvent")
-	set_proc_address(&ResetFences,                                     "vkResetFences")
-	set_proc_address(&ResetQueryPool,                                  "vkResetQueryPool")
-	set_proc_address(&ResetQueryPoolEXT,                               "vkResetQueryPoolEXT")
-	set_proc_address(&SetDebugUtilsObjectNameEXT,                      "vkSetDebugUtilsObjectNameEXT")
-	set_proc_address(&SetDebugUtilsObjectTagEXT,                       "vkSetDebugUtilsObjectTagEXT")
-	set_proc_address(&SetDeviceMemoryPriorityEXT,                      "vkSetDeviceMemoryPriorityEXT")
-	set_proc_address(&SetEvent,                                        "vkSetEvent")
-	set_proc_address(&SetHdrMetadataEXT,                               "vkSetHdrMetadataEXT")
-	set_proc_address(&SetLocalDimmingAMD,                              "vkSetLocalDimmingAMD")
-	set_proc_address(&SetPrivateData,                                  "vkSetPrivateData")
-	set_proc_address(&SetPrivateDataEXT,                               "vkSetPrivateDataEXT")
-	set_proc_address(&SignalSemaphore,                                 "vkSignalSemaphore")
-	set_proc_address(&SignalSemaphoreKHR,                              "vkSignalSemaphoreKHR")
-	set_proc_address(&TrimCommandPool,                                 "vkTrimCommandPool")
-	set_proc_address(&TrimCommandPoolKHR,                              "vkTrimCommandPoolKHR")
-	set_proc_address(&UninitializePerformanceApiINTEL,                 "vkUninitializePerformanceApiINTEL")
-	set_proc_address(&UnmapMemory,                                     "vkUnmapMemory")
-	set_proc_address(&UpdateDescriptorSetWithTemplate,                 "vkUpdateDescriptorSetWithTemplate")
-	set_proc_address(&UpdateDescriptorSetWithTemplateKHR,              "vkUpdateDescriptorSetWithTemplateKHR")
-	set_proc_address(&UpdateDescriptorSets,                            "vkUpdateDescriptorSets")
-	set_proc_address(&WaitForFences,                                   "vkWaitForFences")
-	set_proc_address(&WaitForPresentKHR,                               "vkWaitForPresentKHR")
-	set_proc_address(&WaitSemaphores,                                  "vkWaitSemaphores")
-	set_proc_address(&WaitSemaphoresKHR,                               "vkWaitSemaphoresKHR")
-	set_proc_address(&WriteAccelerationStructuresPropertiesKHR,        "vkWriteAccelerationStructuresPropertiesKHR")
-
-}
-
-// Device Procedure VTable
-Device_VTable :: struct {
-	AcquireFullScreenExclusiveModeEXT:               ProcAcquireFullScreenExclusiveModeEXT,
-	AcquireNextImage2KHR:                            ProcAcquireNextImage2KHR,
-	AcquireNextImageKHR:                             ProcAcquireNextImageKHR,
-	AcquirePerformanceConfigurationINTEL:            ProcAcquirePerformanceConfigurationINTEL,
-	AcquireProfilingLockKHR:                         ProcAcquireProfilingLockKHR,
-	AllocateCommandBuffers:                          ProcAllocateCommandBuffers,
-	AllocateDescriptorSets:                          ProcAllocateDescriptorSets,
-	AllocateMemory:                                  ProcAllocateMemory,
-	BeginCommandBuffer:                              ProcBeginCommandBuffer,
-	BindAccelerationStructureMemoryNV:               ProcBindAccelerationStructureMemoryNV,
-	BindBufferMemory:                                ProcBindBufferMemory,
-	BindBufferMemory2:                               ProcBindBufferMemory2,
-	BindBufferMemory2KHR:                            ProcBindBufferMemory2KHR,
-	BindImageMemory:                                 ProcBindImageMemory,
-	BindImageMemory2:                                ProcBindImageMemory2,
-	BindImageMemory2KHR:                             ProcBindImageMemory2KHR,
-	BuildAccelerationStructuresKHR:                  ProcBuildAccelerationStructuresKHR,
-	CmdBeginConditionalRenderingEXT:                 ProcCmdBeginConditionalRenderingEXT,
-	CmdBeginDebugUtilsLabelEXT:                      ProcCmdBeginDebugUtilsLabelEXT,
-	CmdBeginQuery:                                   ProcCmdBeginQuery,
-	CmdBeginQueryIndexedEXT:                         ProcCmdBeginQueryIndexedEXT,
-	CmdBeginRenderPass:                              ProcCmdBeginRenderPass,
-	CmdBeginRenderPass2:                             ProcCmdBeginRenderPass2,
-	CmdBeginRenderPass2KHR:                          ProcCmdBeginRenderPass2KHR,
-	CmdBeginRendering:                               ProcCmdBeginRendering,
-	CmdBeginRenderingKHR:                            ProcCmdBeginRenderingKHR,
-	CmdBeginTransformFeedbackEXT:                    ProcCmdBeginTransformFeedbackEXT,
-	CmdBindDescriptorSets:                           ProcCmdBindDescriptorSets,
-	CmdBindIndexBuffer:                              ProcCmdBindIndexBuffer,
-	CmdBindInvocationMaskHUAWEI:                     ProcCmdBindInvocationMaskHUAWEI,
-	CmdBindPipeline:                                 ProcCmdBindPipeline,
-	CmdBindPipelineShaderGroupNV:                    ProcCmdBindPipelineShaderGroupNV,
-	CmdBindShadingRateImageNV:                       ProcCmdBindShadingRateImageNV,
-	CmdBindTransformFeedbackBuffersEXT:              ProcCmdBindTransformFeedbackBuffersEXT,
-	CmdBindVertexBuffers:                            ProcCmdBindVertexBuffers,
-	CmdBindVertexBuffers2:                           ProcCmdBindVertexBuffers2,
-	CmdBindVertexBuffers2EXT:                        ProcCmdBindVertexBuffers2EXT,
-	CmdBlitImage:                                    ProcCmdBlitImage,
-	CmdBlitImage2:                                   ProcCmdBlitImage2,
-	CmdBlitImage2KHR:                                ProcCmdBlitImage2KHR,
-	CmdBuildAccelerationStructureNV:                 ProcCmdBuildAccelerationStructureNV,
-	CmdBuildAccelerationStructuresIndirectKHR:       ProcCmdBuildAccelerationStructuresIndirectKHR,
-	CmdBuildAccelerationStructuresKHR:               ProcCmdBuildAccelerationStructuresKHR,
-	CmdClearAttachments:                             ProcCmdClearAttachments,
-	CmdClearColorImage:                              ProcCmdClearColorImage,
-	CmdClearDepthStencilImage:                       ProcCmdClearDepthStencilImage,
-	CmdCopyAccelerationStructureKHR:                 ProcCmdCopyAccelerationStructureKHR,
-	CmdCopyAccelerationStructureNV:                  ProcCmdCopyAccelerationStructureNV,
-	CmdCopyAccelerationStructureToMemoryKHR:         ProcCmdCopyAccelerationStructureToMemoryKHR,
-	CmdCopyBuffer:                                   ProcCmdCopyBuffer,
-	CmdCopyBuffer2:                                  ProcCmdCopyBuffer2,
-	CmdCopyBuffer2KHR:                               ProcCmdCopyBuffer2KHR,
-	CmdCopyBufferToImage:                            ProcCmdCopyBufferToImage,
-	CmdCopyBufferToImage2:                           ProcCmdCopyBufferToImage2,
-	CmdCopyBufferToImage2KHR:                        ProcCmdCopyBufferToImage2KHR,
-	CmdCopyImage:                                    ProcCmdCopyImage,
-	CmdCopyImage2:                                   ProcCmdCopyImage2,
-	CmdCopyImage2KHR:                                ProcCmdCopyImage2KHR,
-	CmdCopyImageToBuffer:                            ProcCmdCopyImageToBuffer,
-	CmdCopyImageToBuffer2:                           ProcCmdCopyImageToBuffer2,
-	CmdCopyImageToBuffer2KHR:                        ProcCmdCopyImageToBuffer2KHR,
-	CmdCopyMemoryToAccelerationStructureKHR:         ProcCmdCopyMemoryToAccelerationStructureKHR,
-	CmdCopyQueryPoolResults:                         ProcCmdCopyQueryPoolResults,
-	CmdCuLaunchKernelNVX:                            ProcCmdCuLaunchKernelNVX,
-	CmdDebugMarkerBeginEXT:                          ProcCmdDebugMarkerBeginEXT,
-	CmdDebugMarkerEndEXT:                            ProcCmdDebugMarkerEndEXT,
-	CmdDebugMarkerInsertEXT:                         ProcCmdDebugMarkerInsertEXT,
-	CmdDispatch:                                     ProcCmdDispatch,
-	CmdDispatchBase:                                 ProcCmdDispatchBase,
-	CmdDispatchBaseKHR:                              ProcCmdDispatchBaseKHR,
-	CmdDispatchIndirect:                             ProcCmdDispatchIndirect,
-	CmdDraw:                                         ProcCmdDraw,
-	CmdDrawIndexed:                                  ProcCmdDrawIndexed,
-	CmdDrawIndexedIndirect:                          ProcCmdDrawIndexedIndirect,
-	CmdDrawIndexedIndirectCount:                     ProcCmdDrawIndexedIndirectCount,
-	CmdDrawIndexedIndirectCountAMD:                  ProcCmdDrawIndexedIndirectCountAMD,
-	CmdDrawIndexedIndirectCountKHR:                  ProcCmdDrawIndexedIndirectCountKHR,
-	CmdDrawIndirect:                                 ProcCmdDrawIndirect,
-	CmdDrawIndirectByteCountEXT:                     ProcCmdDrawIndirectByteCountEXT,
-	CmdDrawIndirectCount:                            ProcCmdDrawIndirectCount,
-	CmdDrawIndirectCountAMD:                         ProcCmdDrawIndirectCountAMD,
-	CmdDrawIndirectCountKHR:                         ProcCmdDrawIndirectCountKHR,
-	CmdDrawMeshTasksIndirectCountNV:                 ProcCmdDrawMeshTasksIndirectCountNV,
-	CmdDrawMeshTasksIndirectNV:                      ProcCmdDrawMeshTasksIndirectNV,
-	CmdDrawMeshTasksNV:                              ProcCmdDrawMeshTasksNV,
-	CmdDrawMultiEXT:                                 ProcCmdDrawMultiEXT,
-	CmdDrawMultiIndexedEXT:                          ProcCmdDrawMultiIndexedEXT,
-	CmdEndConditionalRenderingEXT:                   ProcCmdEndConditionalRenderingEXT,
-	CmdEndDebugUtilsLabelEXT:                        ProcCmdEndDebugUtilsLabelEXT,
-	CmdEndQuery:                                     ProcCmdEndQuery,
-	CmdEndQueryIndexedEXT:                           ProcCmdEndQueryIndexedEXT,
-	CmdEndRenderPass:                                ProcCmdEndRenderPass,
-	CmdEndRenderPass2:                               ProcCmdEndRenderPass2,
-	CmdEndRenderPass2KHR:                            ProcCmdEndRenderPass2KHR,
-	CmdEndRendering:                                 ProcCmdEndRendering,
-	CmdEndRenderingKHR:                              ProcCmdEndRenderingKHR,
-	CmdEndTransformFeedbackEXT:                      ProcCmdEndTransformFeedbackEXT,
-	CmdExecuteCommands:                              ProcCmdExecuteCommands,
-	CmdExecuteGeneratedCommandsNV:                   ProcCmdExecuteGeneratedCommandsNV,
-	CmdFillBuffer:                                   ProcCmdFillBuffer,
-	CmdInsertDebugUtilsLabelEXT:                     ProcCmdInsertDebugUtilsLabelEXT,
-	CmdNextSubpass:                                  ProcCmdNextSubpass,
-	CmdNextSubpass2:                                 ProcCmdNextSubpass2,
-	CmdNextSubpass2KHR:                              ProcCmdNextSubpass2KHR,
-	CmdPipelineBarrier:                              ProcCmdPipelineBarrier,
-	CmdPipelineBarrier2:                             ProcCmdPipelineBarrier2,
-	CmdPipelineBarrier2KHR:                          ProcCmdPipelineBarrier2KHR,
-	CmdPreprocessGeneratedCommandsNV:                ProcCmdPreprocessGeneratedCommandsNV,
-	CmdPushConstants:                                ProcCmdPushConstants,
-	CmdPushDescriptorSetKHR:                         ProcCmdPushDescriptorSetKHR,
-	CmdPushDescriptorSetWithTemplateKHR:             ProcCmdPushDescriptorSetWithTemplateKHR,
-	CmdResetEvent:                                   ProcCmdResetEvent,
-	CmdResetEvent2:                                  ProcCmdResetEvent2,
-	CmdResetEvent2KHR:                               ProcCmdResetEvent2KHR,
-	CmdResetQueryPool:                               ProcCmdResetQueryPool,
-	CmdResolveImage:                                 ProcCmdResolveImage,
-	CmdResolveImage2:                                ProcCmdResolveImage2,
-	CmdResolveImage2KHR:                             ProcCmdResolveImage2KHR,
-	CmdSetBlendConstants:                            ProcCmdSetBlendConstants,
-	CmdSetCheckpointNV:                              ProcCmdSetCheckpointNV,
-	CmdSetCoarseSampleOrderNV:                       ProcCmdSetCoarseSampleOrderNV,
-	CmdSetCullMode:                                  ProcCmdSetCullMode,
-	CmdSetCullModeEXT:                               ProcCmdSetCullModeEXT,
-	CmdSetDepthBias:                                 ProcCmdSetDepthBias,
-	CmdSetDepthBiasEnable:                           ProcCmdSetDepthBiasEnable,
-	CmdSetDepthBiasEnableEXT:                        ProcCmdSetDepthBiasEnableEXT,
-	CmdSetDepthBounds:                               ProcCmdSetDepthBounds,
-	CmdSetDepthBoundsTestEnable:                     ProcCmdSetDepthBoundsTestEnable,
-	CmdSetDepthBoundsTestEnableEXT:                  ProcCmdSetDepthBoundsTestEnableEXT,
-	CmdSetDepthCompareOp:                            ProcCmdSetDepthCompareOp,
-	CmdSetDepthCompareOpEXT:                         ProcCmdSetDepthCompareOpEXT,
-	CmdSetDepthTestEnable:                           ProcCmdSetDepthTestEnable,
-	CmdSetDepthTestEnableEXT:                        ProcCmdSetDepthTestEnableEXT,
-	CmdSetDepthWriteEnable:                          ProcCmdSetDepthWriteEnable,
-	CmdSetDepthWriteEnableEXT:                       ProcCmdSetDepthWriteEnableEXT,
-	CmdSetDeviceMask:                                ProcCmdSetDeviceMask,
-	CmdSetDeviceMaskKHR:                             ProcCmdSetDeviceMaskKHR,
-	CmdSetDiscardRectangleEXT:                       ProcCmdSetDiscardRectangleEXT,
-	CmdSetEvent:                                     ProcCmdSetEvent,
-	CmdSetEvent2:                                    ProcCmdSetEvent2,
-	CmdSetEvent2KHR:                                 ProcCmdSetEvent2KHR,
-	CmdSetExclusiveScissorNV:                        ProcCmdSetExclusiveScissorNV,
-	CmdSetFragmentShadingRateEnumNV:                 ProcCmdSetFragmentShadingRateEnumNV,
-	CmdSetFragmentShadingRateKHR:                    ProcCmdSetFragmentShadingRateKHR,
-	CmdSetFrontFace:                                 ProcCmdSetFrontFace,
-	CmdSetFrontFaceEXT:                              ProcCmdSetFrontFaceEXT,
-	CmdSetLineStippleEXT:                            ProcCmdSetLineStippleEXT,
-	CmdSetLineWidth:                                 ProcCmdSetLineWidth,
-	CmdSetLogicOpEXT:                                ProcCmdSetLogicOpEXT,
-	CmdSetPatchControlPointsEXT:                     ProcCmdSetPatchControlPointsEXT,
-	CmdSetPerformanceMarkerINTEL:                    ProcCmdSetPerformanceMarkerINTEL,
-	CmdSetPerformanceOverrideINTEL:                  ProcCmdSetPerformanceOverrideINTEL,
-	CmdSetPerformanceStreamMarkerINTEL:              ProcCmdSetPerformanceStreamMarkerINTEL,
-	CmdSetPrimitiveRestartEnable:                    ProcCmdSetPrimitiveRestartEnable,
-	CmdSetPrimitiveRestartEnableEXT:                 ProcCmdSetPrimitiveRestartEnableEXT,
-	CmdSetPrimitiveTopology:                         ProcCmdSetPrimitiveTopology,
-	CmdSetPrimitiveTopologyEXT:                      ProcCmdSetPrimitiveTopologyEXT,
-	CmdSetRasterizerDiscardEnable:                   ProcCmdSetRasterizerDiscardEnable,
-	CmdSetRasterizerDiscardEnableEXT:                ProcCmdSetRasterizerDiscardEnableEXT,
-	CmdSetRayTracingPipelineStackSizeKHR:            ProcCmdSetRayTracingPipelineStackSizeKHR,
-	CmdSetSampleLocationsEXT:                        ProcCmdSetSampleLocationsEXT,
-	CmdSetScissor:                                   ProcCmdSetScissor,
-	CmdSetScissorWithCount:                          ProcCmdSetScissorWithCount,
-	CmdSetScissorWithCountEXT:                       ProcCmdSetScissorWithCountEXT,
-	CmdSetStencilCompareMask:                        ProcCmdSetStencilCompareMask,
-	CmdSetStencilOp:                                 ProcCmdSetStencilOp,
-	CmdSetStencilOpEXT:                              ProcCmdSetStencilOpEXT,
-	CmdSetStencilReference:                          ProcCmdSetStencilReference,
-	CmdSetStencilTestEnable:                         ProcCmdSetStencilTestEnable,
-	CmdSetStencilTestEnableEXT:                      ProcCmdSetStencilTestEnableEXT,
-	CmdSetStencilWriteMask:                          ProcCmdSetStencilWriteMask,
-	CmdSetVertexInputEXT:                            ProcCmdSetVertexInputEXT,
-	CmdSetViewport:                                  ProcCmdSetViewport,
-	CmdSetViewportShadingRatePaletteNV:              ProcCmdSetViewportShadingRatePaletteNV,
-	CmdSetViewportWScalingNV:                        ProcCmdSetViewportWScalingNV,
-	CmdSetViewportWithCount:                         ProcCmdSetViewportWithCount,
-	CmdSetViewportWithCountEXT:                      ProcCmdSetViewportWithCountEXT,
-	CmdSubpassShadingHUAWEI:                         ProcCmdSubpassShadingHUAWEI,
-	CmdTraceRaysIndirectKHR:                         ProcCmdTraceRaysIndirectKHR,
-	CmdTraceRaysKHR:                                 ProcCmdTraceRaysKHR,
-	CmdTraceRaysNV:                                  ProcCmdTraceRaysNV,
-	CmdUpdateBuffer:                                 ProcCmdUpdateBuffer,
-	CmdWaitEvents:                                   ProcCmdWaitEvents,
-	CmdWaitEvents2:                                  ProcCmdWaitEvents2,
-	CmdWaitEvents2KHR:                               ProcCmdWaitEvents2KHR,
-	CmdWriteAccelerationStructuresPropertiesKHR:     ProcCmdWriteAccelerationStructuresPropertiesKHR,
-	CmdWriteAccelerationStructuresPropertiesNV:      ProcCmdWriteAccelerationStructuresPropertiesNV,
-	CmdWriteBufferMarker2AMD:                        ProcCmdWriteBufferMarker2AMD,
-	CmdWriteBufferMarkerAMD:                         ProcCmdWriteBufferMarkerAMD,
-	CmdWriteTimestamp:                               ProcCmdWriteTimestamp,
-	CmdWriteTimestamp2:                              ProcCmdWriteTimestamp2,
-	CmdWriteTimestamp2KHR:                           ProcCmdWriteTimestamp2KHR,
-	CompileDeferredNV:                               ProcCompileDeferredNV,
-	CopyAccelerationStructureKHR:                    ProcCopyAccelerationStructureKHR,
-	CopyAccelerationStructureToMemoryKHR:            ProcCopyAccelerationStructureToMemoryKHR,
-	CopyMemoryToAccelerationStructureKHR:            ProcCopyMemoryToAccelerationStructureKHR,
-	CreateAccelerationStructureKHR:                  ProcCreateAccelerationStructureKHR,
-	CreateAccelerationStructureNV:                   ProcCreateAccelerationStructureNV,
-	CreateBuffer:                                    ProcCreateBuffer,
-	CreateBufferView:                                ProcCreateBufferView,
-	CreateCommandPool:                               ProcCreateCommandPool,
-	CreateComputePipelines:                          ProcCreateComputePipelines,
-	CreateCuFunctionNVX:                             ProcCreateCuFunctionNVX,
-	CreateCuModuleNVX:                               ProcCreateCuModuleNVX,
-	CreateDeferredOperationKHR:                      ProcCreateDeferredOperationKHR,
-	CreateDescriptorPool:                            ProcCreateDescriptorPool,
-	CreateDescriptorSetLayout:                       ProcCreateDescriptorSetLayout,
-	CreateDescriptorUpdateTemplate:                  ProcCreateDescriptorUpdateTemplate,
-	CreateDescriptorUpdateTemplateKHR:               ProcCreateDescriptorUpdateTemplateKHR,
-	CreateEvent:                                     ProcCreateEvent,
-	CreateFence:                                     ProcCreateFence,
-	CreateFramebuffer:                               ProcCreateFramebuffer,
-	CreateGraphicsPipelines:                         ProcCreateGraphicsPipelines,
-	CreateImage:                                     ProcCreateImage,
-	CreateImageView:                                 ProcCreateImageView,
-	CreateIndirectCommandsLayoutNV:                  ProcCreateIndirectCommandsLayoutNV,
-	CreatePipelineCache:                             ProcCreatePipelineCache,
-	CreatePipelineLayout:                            ProcCreatePipelineLayout,
-	CreatePrivateDataSlot:                           ProcCreatePrivateDataSlot,
-	CreatePrivateDataSlotEXT:                        ProcCreatePrivateDataSlotEXT,
-	CreateQueryPool:                                 ProcCreateQueryPool,
-	CreateRayTracingPipelinesKHR:                    ProcCreateRayTracingPipelinesKHR,
-	CreateRayTracingPipelinesNV:                     ProcCreateRayTracingPipelinesNV,
-	CreateRenderPass:                                ProcCreateRenderPass,
-	CreateRenderPass2:                               ProcCreateRenderPass2,
-	CreateRenderPass2KHR:                            ProcCreateRenderPass2KHR,
-	CreateSampler:                                   ProcCreateSampler,
-	CreateSamplerYcbcrConversion:                    ProcCreateSamplerYcbcrConversion,
-	CreateSamplerYcbcrConversionKHR:                 ProcCreateSamplerYcbcrConversionKHR,
-	CreateSemaphore:                                 ProcCreateSemaphore,
-	CreateShaderModule:                              ProcCreateShaderModule,
-	CreateSharedSwapchainsKHR:                       ProcCreateSharedSwapchainsKHR,
-	CreateSwapchainKHR:                              ProcCreateSwapchainKHR,
-	CreateValidationCacheEXT:                        ProcCreateValidationCacheEXT,
-	DebugMarkerSetObjectNameEXT:                     ProcDebugMarkerSetObjectNameEXT,
-	DebugMarkerSetObjectTagEXT:                      ProcDebugMarkerSetObjectTagEXT,
-	DeferredOperationJoinKHR:                        ProcDeferredOperationJoinKHR,
-	DestroyAccelerationStructureKHR:                 ProcDestroyAccelerationStructureKHR,
-	DestroyAccelerationStructureNV:                  ProcDestroyAccelerationStructureNV,
-	DestroyBuffer:                                   ProcDestroyBuffer,
-	DestroyBufferView:                               ProcDestroyBufferView,
-	DestroyCommandPool:                              ProcDestroyCommandPool,
-	DestroyCuFunctionNVX:                            ProcDestroyCuFunctionNVX,
-	DestroyCuModuleNVX:                              ProcDestroyCuModuleNVX,
-	DestroyDeferredOperationKHR:                     ProcDestroyDeferredOperationKHR,
-	DestroyDescriptorPool:                           ProcDestroyDescriptorPool,
-	DestroyDescriptorSetLayout:                      ProcDestroyDescriptorSetLayout,
-	DestroyDescriptorUpdateTemplate:                 ProcDestroyDescriptorUpdateTemplate,
-	DestroyDescriptorUpdateTemplateKHR:              ProcDestroyDescriptorUpdateTemplateKHR,
-	DestroyDevice:                                   ProcDestroyDevice,
-	DestroyEvent:                                    ProcDestroyEvent,
-	DestroyFence:                                    ProcDestroyFence,
-	DestroyFramebuffer:                              ProcDestroyFramebuffer,
-	DestroyImage:                                    ProcDestroyImage,
-	DestroyImageView:                                ProcDestroyImageView,
-	DestroyIndirectCommandsLayoutNV:                 ProcDestroyIndirectCommandsLayoutNV,
-	DestroyPipeline:                                 ProcDestroyPipeline,
-	DestroyPipelineCache:                            ProcDestroyPipelineCache,
-	DestroyPipelineLayout:                           ProcDestroyPipelineLayout,
-	DestroyPrivateDataSlot:                          ProcDestroyPrivateDataSlot,
-	DestroyPrivateDataSlotEXT:                       ProcDestroyPrivateDataSlotEXT,
-	DestroyQueryPool:                                ProcDestroyQueryPool,
-	DestroyRenderPass:                               ProcDestroyRenderPass,
-	DestroySampler:                                  ProcDestroySampler,
-	DestroySamplerYcbcrConversion:                   ProcDestroySamplerYcbcrConversion,
-	DestroySamplerYcbcrConversionKHR:                ProcDestroySamplerYcbcrConversionKHR,
-	DestroySemaphore:                                ProcDestroySemaphore,
-	DestroyShaderModule:                             ProcDestroyShaderModule,
-	DestroySwapchainKHR:                             ProcDestroySwapchainKHR,
-	DestroyValidationCacheEXT:                       ProcDestroyValidationCacheEXT,
-	DeviceWaitIdle:                                  ProcDeviceWaitIdle,
-	DisplayPowerControlEXT:                          ProcDisplayPowerControlEXT,
-	EndCommandBuffer:                                ProcEndCommandBuffer,
-	FlushMappedMemoryRanges:                         ProcFlushMappedMemoryRanges,
-	FreeCommandBuffers:                              ProcFreeCommandBuffers,
-	FreeDescriptorSets:                              ProcFreeDescriptorSets,
-	FreeMemory:                                      ProcFreeMemory,
-	GetAccelerationStructureBuildSizesKHR:           ProcGetAccelerationStructureBuildSizesKHR,
-	GetAccelerationStructureDeviceAddressKHR:        ProcGetAccelerationStructureDeviceAddressKHR,
-	GetAccelerationStructureHandleNV:                ProcGetAccelerationStructureHandleNV,
-	GetAccelerationStructureMemoryRequirementsNV:    ProcGetAccelerationStructureMemoryRequirementsNV,
-	GetBufferDeviceAddress:                          ProcGetBufferDeviceAddress,
-	GetBufferDeviceAddressEXT:                       ProcGetBufferDeviceAddressEXT,
-	GetBufferDeviceAddressKHR:                       ProcGetBufferDeviceAddressKHR,
-	GetBufferMemoryRequirements:                     ProcGetBufferMemoryRequirements,
-	GetBufferMemoryRequirements2:                    ProcGetBufferMemoryRequirements2,
-	GetBufferMemoryRequirements2KHR:                 ProcGetBufferMemoryRequirements2KHR,
-	GetBufferOpaqueCaptureAddress:                   ProcGetBufferOpaqueCaptureAddress,
-	GetBufferOpaqueCaptureAddressKHR:                ProcGetBufferOpaqueCaptureAddressKHR,
-	GetCalibratedTimestampsEXT:                      ProcGetCalibratedTimestampsEXT,
-	GetDeferredOperationMaxConcurrencyKHR:           ProcGetDeferredOperationMaxConcurrencyKHR,
-	GetDeferredOperationResultKHR:                   ProcGetDeferredOperationResultKHR,
-	GetDescriptorSetHostMappingVALVE:                ProcGetDescriptorSetHostMappingVALVE,
-	GetDescriptorSetLayoutHostMappingInfoVALVE:      ProcGetDescriptorSetLayoutHostMappingInfoVALVE,
-	GetDescriptorSetLayoutSupport:                   ProcGetDescriptorSetLayoutSupport,
-	GetDescriptorSetLayoutSupportKHR:                ProcGetDescriptorSetLayoutSupportKHR,
-	GetDeviceAccelerationStructureCompatibilityKHR:  ProcGetDeviceAccelerationStructureCompatibilityKHR,
-	GetDeviceBufferMemoryRequirements:               ProcGetDeviceBufferMemoryRequirements,
-	GetDeviceBufferMemoryRequirementsKHR:            ProcGetDeviceBufferMemoryRequirementsKHR,
-	GetDeviceGroupPeerMemoryFeatures:                ProcGetDeviceGroupPeerMemoryFeatures,
-	GetDeviceGroupPeerMemoryFeaturesKHR:             ProcGetDeviceGroupPeerMemoryFeaturesKHR,
-	GetDeviceGroupPresentCapabilitiesKHR:            ProcGetDeviceGroupPresentCapabilitiesKHR,
-	GetDeviceGroupSurfacePresentModes2EXT:           ProcGetDeviceGroupSurfacePresentModes2EXT,
-	GetDeviceGroupSurfacePresentModesKHR:            ProcGetDeviceGroupSurfacePresentModesKHR,
-	GetDeviceImageMemoryRequirements:                ProcGetDeviceImageMemoryRequirements,
-	GetDeviceImageMemoryRequirementsKHR:             ProcGetDeviceImageMemoryRequirementsKHR,
-	GetDeviceImageSparseMemoryRequirements:          ProcGetDeviceImageSparseMemoryRequirements,
-	GetDeviceImageSparseMemoryRequirementsKHR:       ProcGetDeviceImageSparseMemoryRequirementsKHR,
-	GetDeviceMemoryCommitment:                       ProcGetDeviceMemoryCommitment,
-	GetDeviceMemoryOpaqueCaptureAddress:             ProcGetDeviceMemoryOpaqueCaptureAddress,
-	GetDeviceMemoryOpaqueCaptureAddressKHR:          ProcGetDeviceMemoryOpaqueCaptureAddressKHR,
-	GetDeviceProcAddr:                               ProcGetDeviceProcAddr,
-	GetDeviceQueue:                                  ProcGetDeviceQueue,
-	GetDeviceQueue2:                                 ProcGetDeviceQueue2,
-	GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI:   ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
-	GetEventStatus:                                  ProcGetEventStatus,
-	GetFenceFdKHR:                                   ProcGetFenceFdKHR,
-	GetFenceStatus:                                  ProcGetFenceStatus,
-	GetFenceWin32HandleKHR:                          ProcGetFenceWin32HandleKHR,
-	GetGeneratedCommandsMemoryRequirementsNV:        ProcGetGeneratedCommandsMemoryRequirementsNV,
-	GetImageDrmFormatModifierPropertiesEXT:          ProcGetImageDrmFormatModifierPropertiesEXT,
-	GetImageMemoryRequirements:                      ProcGetImageMemoryRequirements,
-	GetImageMemoryRequirements2:                     ProcGetImageMemoryRequirements2,
-	GetImageMemoryRequirements2KHR:                  ProcGetImageMemoryRequirements2KHR,
-	GetImageSparseMemoryRequirements:                ProcGetImageSparseMemoryRequirements,
-	GetImageSparseMemoryRequirements2:               ProcGetImageSparseMemoryRequirements2,
-	GetImageSparseMemoryRequirements2KHR:            ProcGetImageSparseMemoryRequirements2KHR,
-	GetImageSubresourceLayout:                       ProcGetImageSubresourceLayout,
-	GetImageViewAddressNVX:                          ProcGetImageViewAddressNVX,
-	GetImageViewHandleNVX:                           ProcGetImageViewHandleNVX,
-	GetMemoryFdKHR:                                  ProcGetMemoryFdKHR,
-	GetMemoryFdPropertiesKHR:                        ProcGetMemoryFdPropertiesKHR,
-	GetMemoryHostPointerPropertiesEXT:               ProcGetMemoryHostPointerPropertiesEXT,
-	GetMemoryRemoteAddressNV:                        ProcGetMemoryRemoteAddressNV,
-	GetMemoryWin32HandleKHR:                         ProcGetMemoryWin32HandleKHR,
-	GetMemoryWin32HandleNV:                          ProcGetMemoryWin32HandleNV,
-	GetMemoryWin32HandlePropertiesKHR:               ProcGetMemoryWin32HandlePropertiesKHR,
-	GetPastPresentationTimingGOOGLE:                 ProcGetPastPresentationTimingGOOGLE,
-	GetPerformanceParameterINTEL:                    ProcGetPerformanceParameterINTEL,
-	GetPipelineCacheData:                            ProcGetPipelineCacheData,
-	GetPipelineExecutableInternalRepresentationsKHR: ProcGetPipelineExecutableInternalRepresentationsKHR,
-	GetPipelineExecutablePropertiesKHR:              ProcGetPipelineExecutablePropertiesKHR,
-	GetPipelineExecutableStatisticsKHR:              ProcGetPipelineExecutableStatisticsKHR,
-	GetPrivateData:                                  ProcGetPrivateData,
-	GetPrivateDataEXT:                               ProcGetPrivateDataEXT,
-	GetQueryPoolResults:                             ProcGetQueryPoolResults,
-	GetQueueCheckpointData2NV:                       ProcGetQueueCheckpointData2NV,
-	GetQueueCheckpointDataNV:                        ProcGetQueueCheckpointDataNV,
-	GetRayTracingCaptureReplayShaderGroupHandlesKHR: ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR,
-	GetRayTracingShaderGroupHandlesKHR:              ProcGetRayTracingShaderGroupHandlesKHR,
-	GetRayTracingShaderGroupHandlesNV:               ProcGetRayTracingShaderGroupHandlesNV,
-	GetRayTracingShaderGroupStackSizeKHR:            ProcGetRayTracingShaderGroupStackSizeKHR,
-	GetRefreshCycleDurationGOOGLE:                   ProcGetRefreshCycleDurationGOOGLE,
-	GetRenderAreaGranularity:                        ProcGetRenderAreaGranularity,
-	GetSemaphoreCounterValue:                        ProcGetSemaphoreCounterValue,
-	GetSemaphoreCounterValueKHR:                     ProcGetSemaphoreCounterValueKHR,
-	GetSemaphoreFdKHR:                               ProcGetSemaphoreFdKHR,
-	GetSemaphoreWin32HandleKHR:                      ProcGetSemaphoreWin32HandleKHR,
-	GetShaderInfoAMD:                                ProcGetShaderInfoAMD,
-	GetSwapchainCounterEXT:                          ProcGetSwapchainCounterEXT,
-	GetSwapchainImagesKHR:                           ProcGetSwapchainImagesKHR,
-	GetSwapchainStatusKHR:                           ProcGetSwapchainStatusKHR,
-	GetValidationCacheDataEXT:                       ProcGetValidationCacheDataEXT,
-	ImportFenceFdKHR:                                ProcImportFenceFdKHR,
-	ImportFenceWin32HandleKHR:                       ProcImportFenceWin32HandleKHR,
-	ImportSemaphoreFdKHR:                            ProcImportSemaphoreFdKHR,
-	ImportSemaphoreWin32HandleKHR:                   ProcImportSemaphoreWin32HandleKHR,
-	InitializePerformanceApiINTEL:                   ProcInitializePerformanceApiINTEL,
-	InvalidateMappedMemoryRanges:                    ProcInvalidateMappedMemoryRanges,
-	MapMemory:                                       ProcMapMemory,
-	MergePipelineCaches:                             ProcMergePipelineCaches,
-	MergeValidationCachesEXT:                        ProcMergeValidationCachesEXT,
-	QueueBeginDebugUtilsLabelEXT:                    ProcQueueBeginDebugUtilsLabelEXT,
-	QueueBindSparse:                                 ProcQueueBindSparse,
-	QueueEndDebugUtilsLabelEXT:                      ProcQueueEndDebugUtilsLabelEXT,
-	QueueInsertDebugUtilsLabelEXT:                   ProcQueueInsertDebugUtilsLabelEXT,
-	QueuePresentKHR:                                 ProcQueuePresentKHR,
-	QueueSetPerformanceConfigurationINTEL:           ProcQueueSetPerformanceConfigurationINTEL,
-	QueueSubmit:                                     ProcQueueSubmit,
-	QueueSubmit2:                                    ProcQueueSubmit2,
-	QueueSubmit2KHR:                                 ProcQueueSubmit2KHR,
-	QueueWaitIdle:                                   ProcQueueWaitIdle,
-	RegisterDeviceEventEXT:                          ProcRegisterDeviceEventEXT,
-	RegisterDisplayEventEXT:                         ProcRegisterDisplayEventEXT,
-	ReleaseFullScreenExclusiveModeEXT:               ProcReleaseFullScreenExclusiveModeEXT,
-	ReleasePerformanceConfigurationINTEL:            ProcReleasePerformanceConfigurationINTEL,
-	ReleaseProfilingLockKHR:                         ProcReleaseProfilingLockKHR,
-	ResetCommandBuffer:                              ProcResetCommandBuffer,
-	ResetCommandPool:                                ProcResetCommandPool,
-	ResetDescriptorPool:                             ProcResetDescriptorPool,
-	ResetEvent:                                      ProcResetEvent,
-	ResetFences:                                     ProcResetFences,
-	ResetQueryPool:                                  ProcResetQueryPool,
-	ResetQueryPoolEXT:                               ProcResetQueryPoolEXT,
-	SetDebugUtilsObjectNameEXT:                      ProcSetDebugUtilsObjectNameEXT,
-	SetDebugUtilsObjectTagEXT:                       ProcSetDebugUtilsObjectTagEXT,
-	SetDeviceMemoryPriorityEXT:                      ProcSetDeviceMemoryPriorityEXT,
-	SetEvent:                                        ProcSetEvent,
-	SetHdrMetadataEXT:                               ProcSetHdrMetadataEXT,
-	SetLocalDimmingAMD:                              ProcSetLocalDimmingAMD,
-	SetPrivateData:                                  ProcSetPrivateData,
-	SetPrivateDataEXT:                               ProcSetPrivateDataEXT,
-	SignalSemaphore:                                 ProcSignalSemaphore,
-	SignalSemaphoreKHR:                              ProcSignalSemaphoreKHR,
-	TrimCommandPool:                                 ProcTrimCommandPool,
-	TrimCommandPoolKHR:                              ProcTrimCommandPoolKHR,
-	UninitializePerformanceApiINTEL:                 ProcUninitializePerformanceApiINTEL,
-	UnmapMemory:                                     ProcUnmapMemory,
-	UpdateDescriptorSetWithTemplate:                 ProcUpdateDescriptorSetWithTemplate,
-	UpdateDescriptorSetWithTemplateKHR:              ProcUpdateDescriptorSetWithTemplateKHR,
-	UpdateDescriptorSets:                            ProcUpdateDescriptorSets,
-	WaitForFences:                                   ProcWaitForFences,
-	WaitForPresentKHR:                               ProcWaitForPresentKHR,
-	WaitSemaphores:                                  ProcWaitSemaphores,
-	WaitSemaphoresKHR:                               ProcWaitSemaphoresKHR,
-	WriteAccelerationStructuresPropertiesKHR:        ProcWriteAccelerationStructuresPropertiesKHR,
-}
-
-load_proc_addresses_device_vtable :: proc(device: Device, vtable: ^Device_VTable) {
-	vtable.AcquireFullScreenExclusiveModeEXT               = auto_cast GetDeviceProcAddr(device, "vkAcquireFullScreenExclusiveModeEXT")
-	vtable.AcquireNextImage2KHR                            = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImage2KHR")
-	vtable.AcquireNextImageKHR                             = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImageKHR")
-	vtable.AcquirePerformanceConfigurationINTEL            = auto_cast GetDeviceProcAddr(device, "vkAcquirePerformanceConfigurationINTEL")
-	vtable.AcquireProfilingLockKHR                         = auto_cast GetDeviceProcAddr(device, "vkAcquireProfilingLockKHR")
-	vtable.AllocateCommandBuffers                          = auto_cast GetDeviceProcAddr(device, "vkAllocateCommandBuffers")
-	vtable.AllocateDescriptorSets                          = auto_cast GetDeviceProcAddr(device, "vkAllocateDescriptorSets")
-	vtable.AllocateMemory                                  = auto_cast GetDeviceProcAddr(device, "vkAllocateMemory")
-	vtable.BeginCommandBuffer                              = auto_cast GetDeviceProcAddr(device, "vkBeginCommandBuffer")
-	vtable.BindAccelerationStructureMemoryNV               = auto_cast GetDeviceProcAddr(device, "vkBindAccelerationStructureMemoryNV")
-	vtable.BindBufferMemory                                = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory")
-	vtable.BindBufferMemory2                               = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2")
-	vtable.BindBufferMemory2KHR                            = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2KHR")
-	vtable.BindImageMemory                                 = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory")
-	vtable.BindImageMemory2                                = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2")
-	vtable.BindImageMemory2KHR                             = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2KHR")
-	vtable.BuildAccelerationStructuresKHR                  = auto_cast GetDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR")
-	vtable.CmdBeginConditionalRenderingEXT                 = auto_cast GetDeviceProcAddr(device, "vkCmdBeginConditionalRenderingEXT")
-	vtable.CmdBeginDebugUtilsLabelEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdBeginDebugUtilsLabelEXT")
-	vtable.CmdBeginQuery                                   = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQuery")
-	vtable.CmdBeginQueryIndexedEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT")
-	vtable.CmdBeginRenderPass                              = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass")
-	vtable.CmdBeginRenderPass2                             = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2")
-	vtable.CmdBeginRenderPass2KHR                          = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR")
-	vtable.CmdBeginRendering                               = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRendering")
-	vtable.CmdBeginRenderingKHR                            = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderingKHR")
-	vtable.CmdBeginTransformFeedbackEXT                    = auto_cast GetDeviceProcAddr(device, "vkCmdBeginTransformFeedbackEXT")
-	vtable.CmdBindDescriptorSets                           = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorSets")
-	vtable.CmdBindIndexBuffer                              = auto_cast GetDeviceProcAddr(device, "vkCmdBindIndexBuffer")
-	vtable.CmdBindInvocationMaskHUAWEI                     = auto_cast GetDeviceProcAddr(device, "vkCmdBindInvocationMaskHUAWEI")
-	vtable.CmdBindPipeline                                 = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipeline")
-	vtable.CmdBindPipelineShaderGroupNV                    = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipelineShaderGroupNV")
-	vtable.CmdBindShadingRateImageNV                       = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadingRateImageNV")
-	vtable.CmdBindTransformFeedbackBuffersEXT              = auto_cast GetDeviceProcAddr(device, "vkCmdBindTransformFeedbackBuffersEXT")
-	vtable.CmdBindVertexBuffers                            = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers")
-	vtable.CmdBindVertexBuffers2                           = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2")
-	vtable.CmdBindVertexBuffers2EXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT")
-	vtable.CmdBlitImage                                    = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage")
-	vtable.CmdBlitImage2                                   = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2")
-	vtable.CmdBlitImage2KHR                                = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2KHR")
-	vtable.CmdBuildAccelerationStructureNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructureNV")
-	vtable.CmdBuildAccelerationStructuresIndirectKHR       = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR")
-	vtable.CmdBuildAccelerationStructuresKHR               = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresKHR")
-	vtable.CmdClearAttachments                             = auto_cast GetDeviceProcAddr(device, "vkCmdClearAttachments")
-	vtable.CmdClearColorImage                              = auto_cast GetDeviceProcAddr(device, "vkCmdClearColorImage")
-	vtable.CmdClearDepthStencilImage                       = auto_cast GetDeviceProcAddr(device, "vkCmdClearDepthStencilImage")
-	vtable.CmdCopyAccelerationStructureKHR                 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureKHR")
-	vtable.CmdCopyAccelerationStructureNV                  = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureNV")
-	vtable.CmdCopyAccelerationStructureToMemoryKHR         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureToMemoryKHR")
-	vtable.CmdCopyBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer")
-	vtable.CmdCopyBuffer2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2")
-	vtable.CmdCopyBuffer2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR")
-	vtable.CmdCopyBufferToImage                            = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage")
-	vtable.CmdCopyBufferToImage2                           = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2")
-	vtable.CmdCopyBufferToImage2KHR                        = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR")
-	vtable.CmdCopyImage                                    = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage")
-	vtable.CmdCopyImage2                                   = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2")
-	vtable.CmdCopyImage2KHR                                = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2KHR")
-	vtable.CmdCopyImageToBuffer                            = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer")
-	vtable.CmdCopyImageToBuffer2                           = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2")
-	vtable.CmdCopyImageToBuffer2KHR                        = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR")
-	vtable.CmdCopyMemoryToAccelerationStructureKHR         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToAccelerationStructureKHR")
-	vtable.CmdCopyQueryPoolResults                         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyQueryPoolResults")
-	vtable.CmdCuLaunchKernelNVX                            = auto_cast GetDeviceProcAddr(device, "vkCmdCuLaunchKernelNVX")
-	vtable.CmdDebugMarkerBeginEXT                          = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT")
-	vtable.CmdDebugMarkerEndEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT")
-	vtable.CmdDebugMarkerInsertEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT")
-	vtable.CmdDispatch                                     = auto_cast GetDeviceProcAddr(device, "vkCmdDispatch")
-	vtable.CmdDispatchBase                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBase")
-	vtable.CmdDispatchBaseKHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBaseKHR")
-	vtable.CmdDispatchIndirect                             = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchIndirect")
-	vtable.CmdDraw                                         = auto_cast GetDeviceProcAddr(device, "vkCmdDraw")
-	vtable.CmdDrawIndexed                                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexed")
-	vtable.CmdDrawIndexedIndirect                          = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirect")
-	vtable.CmdDrawIndexedIndirectCount                     = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCount")
-	vtable.CmdDrawIndexedIndirectCountAMD                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountAMD")
-	vtable.CmdDrawIndexedIndirectCountKHR                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountKHR")
-	vtable.CmdDrawIndirect                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirect")
-	vtable.CmdDrawIndirectByteCountEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectByteCountEXT")
-	vtable.CmdDrawIndirectCount                            = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCount")
-	vtable.CmdDrawIndirectCountAMD                         = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountAMD")
-	vtable.CmdDrawIndirectCountKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountKHR")
-	vtable.CmdDrawMeshTasksIndirectCountNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountNV")
-	vtable.CmdDrawMeshTasksIndirectNV                      = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectNV")
-	vtable.CmdDrawMeshTasksNV                              = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksNV")
-	vtable.CmdDrawMultiEXT                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiEXT")
-	vtable.CmdDrawMultiIndexedEXT                          = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiIndexedEXT")
-	vtable.CmdEndConditionalRenderingEXT                   = auto_cast GetDeviceProcAddr(device, "vkCmdEndConditionalRenderingEXT")
-	vtable.CmdEndDebugUtilsLabelEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdEndDebugUtilsLabelEXT")
-	vtable.CmdEndQuery                                     = auto_cast GetDeviceProcAddr(device, "vkCmdEndQuery")
-	vtable.CmdEndQueryIndexedEXT                           = auto_cast GetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT")
-	vtable.CmdEndRenderPass                                = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass")
-	vtable.CmdEndRenderPass2                               = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2")
-	vtable.CmdEndRenderPass2KHR                            = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR")
-	vtable.CmdEndRendering                                 = auto_cast GetDeviceProcAddr(device, "vkCmdEndRendering")
-	vtable.CmdEndRenderingKHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderingKHR")
-	vtable.CmdEndTransformFeedbackEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdEndTransformFeedbackEXT")
-	vtable.CmdExecuteCommands                              = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteCommands")
-	vtable.CmdExecuteGeneratedCommandsNV                   = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteGeneratedCommandsNV")
-	vtable.CmdFillBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkCmdFillBuffer")
-	vtable.CmdInsertDebugUtilsLabelEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdInsertDebugUtilsLabelEXT")
-	vtable.CmdNextSubpass                                  = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass")
-	vtable.CmdNextSubpass2                                 = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2")
-	vtable.CmdNextSubpass2KHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2KHR")
-	vtable.CmdPipelineBarrier                              = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier")
-	vtable.CmdPipelineBarrier2                             = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2")
-	vtable.CmdPipelineBarrier2KHR                          = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR")
-	vtable.CmdPreprocessGeneratedCommandsNV                = auto_cast GetDeviceProcAddr(device, "vkCmdPreprocessGeneratedCommandsNV")
-	vtable.CmdPushConstants                                = auto_cast GetDeviceProcAddr(device, "vkCmdPushConstants")
-	vtable.CmdPushDescriptorSetKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR")
-	vtable.CmdPushDescriptorSetWithTemplateKHR             = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetWithTemplateKHR")
-	vtable.CmdResetEvent                                   = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent")
-	vtable.CmdResetEvent2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2")
-	vtable.CmdResetEvent2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2KHR")
-	vtable.CmdResetQueryPool                               = auto_cast GetDeviceProcAddr(device, "vkCmdResetQueryPool")
-	vtable.CmdResolveImage                                 = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage")
-	vtable.CmdResolveImage2                                = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2")
-	vtable.CmdResolveImage2KHR                             = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2KHR")
-	vtable.CmdSetBlendConstants                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetBlendConstants")
-	vtable.CmdSetCheckpointNV                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetCheckpointNV")
-	vtable.CmdSetCoarseSampleOrderNV                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoarseSampleOrderNV")
-	vtable.CmdSetCullMode                                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullMode")
-	vtable.CmdSetCullModeEXT                               = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullModeEXT")
-	vtable.CmdSetDepthBias                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBias")
-	vtable.CmdSetDepthBiasEnable                           = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnable")
-	vtable.CmdSetDepthBiasEnableEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnableEXT")
-	vtable.CmdSetDepthBounds                               = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBounds")
-	vtable.CmdSetDepthBoundsTestEnable                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnable")
-	vtable.CmdSetDepthBoundsTestEnableEXT                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT")
-	vtable.CmdSetDepthCompareOp                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOp")
-	vtable.CmdSetDepthCompareOpEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT")
-	vtable.CmdSetDepthTestEnable                           = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnable")
-	vtable.CmdSetDepthTestEnableEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT")
-	vtable.CmdSetDepthWriteEnable                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnable")
-	vtable.CmdSetDepthWriteEnableEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT")
-	vtable.CmdSetDeviceMask                                = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMask")
-	vtable.CmdSetDeviceMaskKHR                             = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMaskKHR")
-	vtable.CmdSetDiscardRectangleEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEXT")
-	vtable.CmdSetEvent                                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent")
-	vtable.CmdSetEvent2                                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2")
-	vtable.CmdSetEvent2KHR                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2KHR")
-	vtable.CmdSetExclusiveScissorNV                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorNV")
-	vtable.CmdSetFragmentShadingRateEnumNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateEnumNV")
-	vtable.CmdSetFragmentShadingRateKHR                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateKHR")
-	vtable.CmdSetFrontFace                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFace")
-	vtable.CmdSetFrontFaceEXT                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT")
-	vtable.CmdSetLineStippleEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEXT")
-	vtable.CmdSetLineWidth                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineWidth")
-	vtable.CmdSetLogicOpEXT                                = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEXT")
-	vtable.CmdSetPatchControlPointsEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetPatchControlPointsEXT")
-	vtable.CmdSetPerformanceMarkerINTEL                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceMarkerINTEL")
-	vtable.CmdSetPerformanceOverrideINTEL                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceOverrideINTEL")
-	vtable.CmdSetPerformanceStreamMarkerINTEL              = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceStreamMarkerINTEL")
-	vtable.CmdSetPrimitiveRestartEnable                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnable")
-	vtable.CmdSetPrimitiveRestartEnableEXT                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnableEXT")
-	vtable.CmdSetPrimitiveTopology                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopology")
-	vtable.CmdSetPrimitiveTopologyEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT")
-	vtable.CmdSetRasterizerDiscardEnable                   = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnable")
-	vtable.CmdSetRasterizerDiscardEnableEXT                = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnableEXT")
-	vtable.CmdSetRayTracingPipelineStackSizeKHR            = auto_cast GetDeviceProcAddr(device, "vkCmdSetRayTracingPipelineStackSizeKHR")
-	vtable.CmdSetSampleLocationsEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEXT")
-	vtable.CmdSetScissor                                   = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissor")
-	vtable.CmdSetScissorWithCount                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCount")
-	vtable.CmdSetScissorWithCountEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT")
-	vtable.CmdSetStencilCompareMask                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilCompareMask")
-	vtable.CmdSetStencilOp                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOp")
-	vtable.CmdSetStencilOpEXT                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOpEXT")
-	vtable.CmdSetStencilReference                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilReference")
-	vtable.CmdSetStencilTestEnable                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnable")
-	vtable.CmdSetStencilTestEnableEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT")
-	vtable.CmdSetStencilWriteMask                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilWriteMask")
-	vtable.CmdSetVertexInputEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetVertexInputEXT")
-	vtable.CmdSetViewport                                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewport")
-	vtable.CmdSetViewportShadingRatePaletteNV              = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportShadingRatePaletteNV")
-	vtable.CmdSetViewportWScalingNV                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingNV")
-	vtable.CmdSetViewportWithCount                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCount")
-	vtable.CmdSetViewportWithCountEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT")
-	vtable.CmdSubpassShadingHUAWEI                         = auto_cast GetDeviceProcAddr(device, "vkCmdSubpassShadingHUAWEI")
-	vtable.CmdTraceRaysIndirectKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR")
-	vtable.CmdTraceRaysKHR                                 = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysKHR")
-	vtable.CmdTraceRaysNV                                  = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysNV")
-	vtable.CmdUpdateBuffer                                 = auto_cast GetDeviceProcAddr(device, "vkCmdUpdateBuffer")
-	vtable.CmdWaitEvents                                   = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents")
-	vtable.CmdWaitEvents2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2")
-	vtable.CmdWaitEvents2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2KHR")
-	vtable.CmdWriteAccelerationStructuresPropertiesKHR     = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesKHR")
-	vtable.CmdWriteAccelerationStructuresPropertiesNV      = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesNV")
-	vtable.CmdWriteBufferMarker2AMD                        = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarker2AMD")
-	vtable.CmdWriteBufferMarkerAMD                         = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarkerAMD")
-	vtable.CmdWriteTimestamp                               = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp")
-	vtable.CmdWriteTimestamp2                              = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2")
-	vtable.CmdWriteTimestamp2KHR                           = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR")
-	vtable.CompileDeferredNV                               = auto_cast GetDeviceProcAddr(device, "vkCompileDeferredNV")
-	vtable.CopyAccelerationStructureKHR                    = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureKHR")
-	vtable.CopyAccelerationStructureToMemoryKHR            = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureToMemoryKHR")
-	vtable.CopyMemoryToAccelerationStructureKHR            = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToAccelerationStructureKHR")
-	vtable.CreateAccelerationStructureKHR                  = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureKHR")
-	vtable.CreateAccelerationStructureNV                   = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureNV")
-	vtable.CreateBuffer                                    = auto_cast GetDeviceProcAddr(device, "vkCreateBuffer")
-	vtable.CreateBufferView                                = auto_cast GetDeviceProcAddr(device, "vkCreateBufferView")
-	vtable.CreateCommandPool                               = auto_cast GetDeviceProcAddr(device, "vkCreateCommandPool")
-	vtable.CreateComputePipelines                          = auto_cast GetDeviceProcAddr(device, "vkCreateComputePipelines")
-	vtable.CreateCuFunctionNVX                             = auto_cast GetDeviceProcAddr(device, "vkCreateCuFunctionNVX")
-	vtable.CreateCuModuleNVX                               = auto_cast GetDeviceProcAddr(device, "vkCreateCuModuleNVX")
-	vtable.CreateDeferredOperationKHR                      = auto_cast GetDeviceProcAddr(device, "vkCreateDeferredOperationKHR")
-	vtable.CreateDescriptorPool                            = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorPool")
-	vtable.CreateDescriptorSetLayout                       = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorSetLayout")
-	vtable.CreateDescriptorUpdateTemplate                  = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplate")
-	vtable.CreateDescriptorUpdateTemplateKHR               = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR")
-	vtable.CreateEvent                                     = auto_cast GetDeviceProcAddr(device, "vkCreateEvent")
-	vtable.CreateFence                                     = auto_cast GetDeviceProcAddr(device, "vkCreateFence")
-	vtable.CreateFramebuffer                               = auto_cast GetDeviceProcAddr(device, "vkCreateFramebuffer")
-	vtable.CreateGraphicsPipelines                         = auto_cast GetDeviceProcAddr(device, "vkCreateGraphicsPipelines")
-	vtable.CreateImage                                     = auto_cast GetDeviceProcAddr(device, "vkCreateImage")
-	vtable.CreateImageView                                 = auto_cast GetDeviceProcAddr(device, "vkCreateImageView")
-	vtable.CreateIndirectCommandsLayoutNV                  = auto_cast GetDeviceProcAddr(device, "vkCreateIndirectCommandsLayoutNV")
-	vtable.CreatePipelineCache                             = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineCache")
-	vtable.CreatePipelineLayout                            = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineLayout")
-	vtable.CreatePrivateDataSlot                           = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlot")
-	vtable.CreatePrivateDataSlotEXT                        = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlotEXT")
-	vtable.CreateQueryPool                                 = auto_cast GetDeviceProcAddr(device, "vkCreateQueryPool")
-	vtable.CreateRayTracingPipelinesKHR                    = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesKHR")
-	vtable.CreateRayTracingPipelinesNV                     = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesNV")
-	vtable.CreateRenderPass                                = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass")
-	vtable.CreateRenderPass2                               = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2")
-	vtable.CreateRenderPass2KHR                            = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2KHR")
-	vtable.CreateSampler                                   = auto_cast GetDeviceProcAddr(device, "vkCreateSampler")
-	vtable.CreateSamplerYcbcrConversion                    = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversion")
-	vtable.CreateSamplerYcbcrConversionKHR                 = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversionKHR")
-	vtable.CreateSemaphore                                 = auto_cast GetDeviceProcAddr(device, "vkCreateSemaphore")
-	vtable.CreateShaderModule                              = auto_cast GetDeviceProcAddr(device, "vkCreateShaderModule")
-	vtable.CreateSharedSwapchainsKHR                       = auto_cast GetDeviceProcAddr(device, "vkCreateSharedSwapchainsKHR")
-	vtable.CreateSwapchainKHR                              = auto_cast GetDeviceProcAddr(device, "vkCreateSwapchainKHR")
-	vtable.CreateValidationCacheEXT                        = auto_cast GetDeviceProcAddr(device, "vkCreateValidationCacheEXT")
-	vtable.DebugMarkerSetObjectNameEXT                     = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT")
-	vtable.DebugMarkerSetObjectTagEXT                      = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT")
-	vtable.DeferredOperationJoinKHR                        = auto_cast GetDeviceProcAddr(device, "vkDeferredOperationJoinKHR")
-	vtable.DestroyAccelerationStructureKHR                 = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureKHR")
-	vtable.DestroyAccelerationStructureNV                  = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureNV")
-	vtable.DestroyBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkDestroyBuffer")
-	vtable.DestroyBufferView                               = auto_cast GetDeviceProcAddr(device, "vkDestroyBufferView")
-	vtable.DestroyCommandPool                              = auto_cast GetDeviceProcAddr(device, "vkDestroyCommandPool")
-	vtable.DestroyCuFunctionNVX                            = auto_cast GetDeviceProcAddr(device, "vkDestroyCuFunctionNVX")
-	vtable.DestroyCuModuleNVX                              = auto_cast GetDeviceProcAddr(device, "vkDestroyCuModuleNVX")
-	vtable.DestroyDeferredOperationKHR                     = auto_cast GetDeviceProcAddr(device, "vkDestroyDeferredOperationKHR")
-	vtable.DestroyDescriptorPool                           = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorPool")
-	vtable.DestroyDescriptorSetLayout                      = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorSetLayout")
-	vtable.DestroyDescriptorUpdateTemplate                 = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplate")
-	vtable.DestroyDescriptorUpdateTemplateKHR              = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplateKHR")
-	vtable.DestroyDevice                                   = auto_cast GetDeviceProcAddr(device, "vkDestroyDevice")
-	vtable.DestroyEvent                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyEvent")
-	vtable.DestroyFence                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyFence")
-	vtable.DestroyFramebuffer                              = auto_cast GetDeviceProcAddr(device, "vkDestroyFramebuffer")
-	vtable.DestroyImage                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyImage")
-	vtable.DestroyImageView                                = auto_cast GetDeviceProcAddr(device, "vkDestroyImageView")
-	vtable.DestroyIndirectCommandsLayoutNV                 = auto_cast GetDeviceProcAddr(device, "vkDestroyIndirectCommandsLayoutNV")
-	vtable.DestroyPipeline                                 = auto_cast GetDeviceProcAddr(device, "vkDestroyPipeline")
-	vtable.DestroyPipelineCache                            = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineCache")
-	vtable.DestroyPipelineLayout                           = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineLayout")
-	vtable.DestroyPrivateDataSlot                          = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlot")
-	vtable.DestroyPrivateDataSlotEXT                       = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlotEXT")
-	vtable.DestroyQueryPool                                = auto_cast GetDeviceProcAddr(device, "vkDestroyQueryPool")
-	vtable.DestroyRenderPass                               = auto_cast GetDeviceProcAddr(device, "vkDestroyRenderPass")
-	vtable.DestroySampler                                  = auto_cast GetDeviceProcAddr(device, "vkDestroySampler")
-	vtable.DestroySamplerYcbcrConversion                   = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversion")
-	vtable.DestroySamplerYcbcrConversionKHR                = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversionKHR")
-	vtable.DestroySemaphore                                = auto_cast GetDeviceProcAddr(device, "vkDestroySemaphore")
-	vtable.DestroyShaderModule                             = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderModule")
-	vtable.DestroySwapchainKHR                             = auto_cast GetDeviceProcAddr(device, "vkDestroySwapchainKHR")
-	vtable.DestroyValidationCacheEXT                       = auto_cast GetDeviceProcAddr(device, "vkDestroyValidationCacheEXT")
-	vtable.DeviceWaitIdle                                  = auto_cast GetDeviceProcAddr(device, "vkDeviceWaitIdle")
-	vtable.DisplayPowerControlEXT                          = auto_cast GetDeviceProcAddr(device, "vkDisplayPowerControlEXT")
-	vtable.EndCommandBuffer                                = auto_cast GetDeviceProcAddr(device, "vkEndCommandBuffer")
-	vtable.FlushMappedMemoryRanges                         = auto_cast GetDeviceProcAddr(device, "vkFlushMappedMemoryRanges")
-	vtable.FreeCommandBuffers                              = auto_cast GetDeviceProcAddr(device, "vkFreeCommandBuffers")
-	vtable.FreeDescriptorSets                              = auto_cast GetDeviceProcAddr(device, "vkFreeDescriptorSets")
-	vtable.FreeMemory                                      = auto_cast GetDeviceProcAddr(device, "vkFreeMemory")
-	vtable.GetAccelerationStructureBuildSizesKHR           = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureBuildSizesKHR")
-	vtable.GetAccelerationStructureDeviceAddressKHR        = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureDeviceAddressKHR")
-	vtable.GetAccelerationStructureHandleNV                = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureHandleNV")
-	vtable.GetAccelerationStructureMemoryRequirementsNV    = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureMemoryRequirementsNV")
-	vtable.GetBufferDeviceAddress                          = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddress")
-	vtable.GetBufferDeviceAddressEXT                       = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressEXT")
-	vtable.GetBufferDeviceAddressKHR                       = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR")
-	vtable.GetBufferMemoryRequirements                     = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements")
-	vtable.GetBufferMemoryRequirements2                    = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2")
-	vtable.GetBufferMemoryRequirements2KHR                 = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2KHR")
-	vtable.GetBufferOpaqueCaptureAddress                   = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddress")
-	vtable.GetBufferOpaqueCaptureAddressKHR                = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR")
-	vtable.GetCalibratedTimestampsEXT                      = auto_cast GetDeviceProcAddr(device, "vkGetCalibratedTimestampsEXT")
-	vtable.GetDeferredOperationMaxConcurrencyKHR           = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationMaxConcurrencyKHR")
-	vtable.GetDeferredOperationResultKHR                   = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationResultKHR")
-	vtable.GetDescriptorSetHostMappingVALVE                = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetHostMappingVALVE")
-	vtable.GetDescriptorSetLayoutHostMappingInfoVALVE      = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
-	vtable.GetDescriptorSetLayoutSupport                   = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupport")
-	vtable.GetDescriptorSetLayoutSupportKHR                = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupportKHR")
-	vtable.GetDeviceAccelerationStructureCompatibilityKHR  = auto_cast GetDeviceProcAddr(device, "vkGetDeviceAccelerationStructureCompatibilityKHR")
-	vtable.GetDeviceBufferMemoryRequirements               = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirements")
-	vtable.GetDeviceBufferMemoryRequirementsKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirementsKHR")
-	vtable.GetDeviceGroupPeerMemoryFeatures                = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeatures")
-	vtable.GetDeviceGroupPeerMemoryFeaturesKHR             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeaturesKHR")
-	vtable.GetDeviceGroupPresentCapabilitiesKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPresentCapabilitiesKHR")
-	vtable.GetDeviceGroupSurfacePresentModes2EXT           = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModes2EXT")
-	vtable.GetDeviceGroupSurfacePresentModesKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModesKHR")
-	vtable.GetDeviceImageMemoryRequirements                = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirements")
-	vtable.GetDeviceImageMemoryRequirementsKHR             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirementsKHR")
-	vtable.GetDeviceImageSparseMemoryRequirements          = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirements")
-	vtable.GetDeviceImageSparseMemoryRequirementsKHR       = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirementsKHR")
-	vtable.GetDeviceMemoryCommitment                       = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryCommitment")
-	vtable.GetDeviceMemoryOpaqueCaptureAddress             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddress")
-	vtable.GetDeviceMemoryOpaqueCaptureAddressKHR          = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
-	vtable.GetDeviceProcAddr                               = auto_cast GetDeviceProcAddr(device, "vkGetDeviceProcAddr")
-	vtable.GetDeviceQueue                                  = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue")
-	vtable.GetDeviceQueue2                                 = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue2")
-	vtable.GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   = auto_cast GetDeviceProcAddr(device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
-	vtable.GetEventStatus                                  = auto_cast GetDeviceProcAddr(device, "vkGetEventStatus")
-	vtable.GetFenceFdKHR                                   = auto_cast GetDeviceProcAddr(device, "vkGetFenceFdKHR")
-	vtable.GetFenceStatus                                  = auto_cast GetDeviceProcAddr(device, "vkGetFenceStatus")
-	vtable.GetFenceWin32HandleKHR                          = auto_cast GetDeviceProcAddr(device, "vkGetFenceWin32HandleKHR")
-	vtable.GetGeneratedCommandsMemoryRequirementsNV        = auto_cast GetDeviceProcAddr(device, "vkGetGeneratedCommandsMemoryRequirementsNV")
-	vtable.GetImageDrmFormatModifierPropertiesEXT          = auto_cast GetDeviceProcAddr(device, "vkGetImageDrmFormatModifierPropertiesEXT")
-	vtable.GetImageMemoryRequirements                      = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements")
-	vtable.GetImageMemoryRequirements2                     = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2")
-	vtable.GetImageMemoryRequirements2KHR                  = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2KHR")
-	vtable.GetImageSparseMemoryRequirements                = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements")
-	vtable.GetImageSparseMemoryRequirements2               = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2")
-	vtable.GetImageSparseMemoryRequirements2KHR            = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2KHR")
-	vtable.GetImageSubresourceLayout                       = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout")
-	vtable.GetImageViewAddressNVX                          = auto_cast GetDeviceProcAddr(device, "vkGetImageViewAddressNVX")
-	vtable.GetImageViewHandleNVX                           = auto_cast GetDeviceProcAddr(device, "vkGetImageViewHandleNVX")
-	vtable.GetMemoryFdKHR                                  = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdKHR")
-	vtable.GetMemoryFdPropertiesKHR                        = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdPropertiesKHR")
-	vtable.GetMemoryHostPointerPropertiesEXT               = auto_cast GetDeviceProcAddr(device, "vkGetMemoryHostPointerPropertiesEXT")
-	vtable.GetMemoryRemoteAddressNV                        = auto_cast GetDeviceProcAddr(device, "vkGetMemoryRemoteAddressNV")
-	vtable.GetMemoryWin32HandleKHR                         = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR")
-	vtable.GetMemoryWin32HandleNV                          = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleNV")
-	vtable.GetMemoryWin32HandlePropertiesKHR               = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHR")
-	vtable.GetPastPresentationTimingGOOGLE                 = auto_cast GetDeviceProcAddr(device, "vkGetPastPresentationTimingGOOGLE")
-	vtable.GetPerformanceParameterINTEL                    = auto_cast GetDeviceProcAddr(device, "vkGetPerformanceParameterINTEL")
-	vtable.GetPipelineCacheData                            = auto_cast GetDeviceProcAddr(device, "vkGetPipelineCacheData")
-	vtable.GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableInternalRepresentationsKHR")
-	vtable.GetPipelineExecutablePropertiesKHR              = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutablePropertiesKHR")
-	vtable.GetPipelineExecutableStatisticsKHR              = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableStatisticsKHR")
-	vtable.GetPrivateData                                  = auto_cast GetDeviceProcAddr(device, "vkGetPrivateData")
-	vtable.GetPrivateDataEXT                               = auto_cast GetDeviceProcAddr(device, "vkGetPrivateDataEXT")
-	vtable.GetQueryPoolResults                             = auto_cast GetDeviceProcAddr(device, "vkGetQueryPoolResults")
-	vtable.GetQueueCheckpointData2NV                       = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointData2NV")
-	vtable.GetQueueCheckpointDataNV                        = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointDataNV")
-	vtable.GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
-	vtable.GetRayTracingShaderGroupHandlesKHR              = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesKHR")
-	vtable.GetRayTracingShaderGroupHandlesNV               = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesNV")
-	vtable.GetRayTracingShaderGroupStackSizeKHR            = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupStackSizeKHR")
-	vtable.GetRefreshCycleDurationGOOGLE                   = auto_cast GetDeviceProcAddr(device, "vkGetRefreshCycleDurationGOOGLE")
-	vtable.GetRenderAreaGranularity                        = auto_cast GetDeviceProcAddr(device, "vkGetRenderAreaGranularity")
-	vtable.GetSemaphoreCounterValue                        = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValue")
-	vtable.GetSemaphoreCounterValueKHR                     = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValueKHR")
-	vtable.GetSemaphoreFdKHR                               = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreFdKHR")
-	vtable.GetSemaphoreWin32HandleKHR                      = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreWin32HandleKHR")
-	vtable.GetShaderInfoAMD                                = auto_cast GetDeviceProcAddr(device, "vkGetShaderInfoAMD")
-	vtable.GetSwapchainCounterEXT                          = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainCounterEXT")
-	vtable.GetSwapchainImagesKHR                           = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainImagesKHR")
-	vtable.GetSwapchainStatusKHR                           = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainStatusKHR")
-	vtable.GetValidationCacheDataEXT                       = auto_cast GetDeviceProcAddr(device, "vkGetValidationCacheDataEXT")
-	vtable.ImportFenceFdKHR                                = auto_cast GetDeviceProcAddr(device, "vkImportFenceFdKHR")
-	vtable.ImportFenceWin32HandleKHR                       = auto_cast GetDeviceProcAddr(device, "vkImportFenceWin32HandleKHR")
-	vtable.ImportSemaphoreFdKHR                            = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreFdKHR")
-	vtable.ImportSemaphoreWin32HandleKHR                   = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreWin32HandleKHR")
-	vtable.InitializePerformanceApiINTEL                   = auto_cast GetDeviceProcAddr(device, "vkInitializePerformanceApiINTEL")
-	vtable.InvalidateMappedMemoryRanges                    = auto_cast GetDeviceProcAddr(device, "vkInvalidateMappedMemoryRanges")
-	vtable.MapMemory                                       = auto_cast GetDeviceProcAddr(device, "vkMapMemory")
-	vtable.MergePipelineCaches                             = auto_cast GetDeviceProcAddr(device, "vkMergePipelineCaches")
-	vtable.MergeValidationCachesEXT                        = auto_cast GetDeviceProcAddr(device, "vkMergeValidationCachesEXT")
-	vtable.QueueBeginDebugUtilsLabelEXT                    = auto_cast GetDeviceProcAddr(device, "vkQueueBeginDebugUtilsLabelEXT")
-	vtable.QueueBindSparse                                 = auto_cast GetDeviceProcAddr(device, "vkQueueBindSparse")
-	vtable.QueueEndDebugUtilsLabelEXT                      = auto_cast GetDeviceProcAddr(device, "vkQueueEndDebugUtilsLabelEXT")
-	vtable.QueueInsertDebugUtilsLabelEXT                   = auto_cast GetDeviceProcAddr(device, "vkQueueInsertDebugUtilsLabelEXT")
-	vtable.QueuePresentKHR                                 = auto_cast GetDeviceProcAddr(device, "vkQueuePresentKHR")
-	vtable.QueueSetPerformanceConfigurationINTEL           = auto_cast GetDeviceProcAddr(device, "vkQueueSetPerformanceConfigurationINTEL")
-	vtable.QueueSubmit                                     = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit")
-	vtable.QueueSubmit2                                    = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2")
-	vtable.QueueSubmit2KHR                                 = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2KHR")
-	vtable.QueueWaitIdle                                   = auto_cast GetDeviceProcAddr(device, "vkQueueWaitIdle")
-	vtable.RegisterDeviceEventEXT                          = auto_cast GetDeviceProcAddr(device, "vkRegisterDeviceEventEXT")
-	vtable.RegisterDisplayEventEXT                         = auto_cast GetDeviceProcAddr(device, "vkRegisterDisplayEventEXT")
-	vtable.ReleaseFullScreenExclusiveModeEXT               = auto_cast GetDeviceProcAddr(device, "vkReleaseFullScreenExclusiveModeEXT")
-	vtable.ReleasePerformanceConfigurationINTEL            = auto_cast GetDeviceProcAddr(device, "vkReleasePerformanceConfigurationINTEL")
-	vtable.ReleaseProfilingLockKHR                         = auto_cast GetDeviceProcAddr(device, "vkReleaseProfilingLockKHR")
-	vtable.ResetCommandBuffer                              = auto_cast GetDeviceProcAddr(device, "vkResetCommandBuffer")
-	vtable.ResetCommandPool                                = auto_cast GetDeviceProcAddr(device, "vkResetCommandPool")
-	vtable.ResetDescriptorPool                             = auto_cast GetDeviceProcAddr(device, "vkResetDescriptorPool")
-	vtable.ResetEvent                                      = auto_cast GetDeviceProcAddr(device, "vkResetEvent")
-	vtable.ResetFences                                     = auto_cast GetDeviceProcAddr(device, "vkResetFences")
-	vtable.ResetQueryPool                                  = auto_cast GetDeviceProcAddr(device, "vkResetQueryPool")
-	vtable.ResetQueryPoolEXT                               = auto_cast GetDeviceProcAddr(device, "vkResetQueryPoolEXT")
-	vtable.SetDebugUtilsObjectNameEXT                      = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectNameEXT")
-	vtable.SetDebugUtilsObjectTagEXT                       = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectTagEXT")
-	vtable.SetDeviceMemoryPriorityEXT                      = auto_cast GetDeviceProcAddr(device, "vkSetDeviceMemoryPriorityEXT")
-	vtable.SetEvent                                        = auto_cast GetDeviceProcAddr(device, "vkSetEvent")
-	vtable.SetHdrMetadataEXT                               = auto_cast GetDeviceProcAddr(device, "vkSetHdrMetadataEXT")
-	vtable.SetLocalDimmingAMD                              = auto_cast GetDeviceProcAddr(device, "vkSetLocalDimmingAMD")
-	vtable.SetPrivateData                                  = auto_cast GetDeviceProcAddr(device, "vkSetPrivateData")
-	vtable.SetPrivateDataEXT                               = auto_cast GetDeviceProcAddr(device, "vkSetPrivateDataEXT")
-	vtable.SignalSemaphore                                 = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphore")
-	vtable.SignalSemaphoreKHR                              = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphoreKHR")
-	vtable.TrimCommandPool                                 = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPool")
-	vtable.TrimCommandPoolKHR                              = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPoolKHR")
-	vtable.UninitializePerformanceApiINTEL                 = auto_cast GetDeviceProcAddr(device, "vkUninitializePerformanceApiINTEL")
-	vtable.UnmapMemory                                     = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory")
-	vtable.UpdateDescriptorSetWithTemplate                 = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplate")
-	vtable.UpdateDescriptorSetWithTemplateKHR              = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplateKHR")
-	vtable.UpdateDescriptorSets                            = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSets")
-	vtable.WaitForFences                                   = auto_cast GetDeviceProcAddr(device, "vkWaitForFences")
-	vtable.WaitForPresentKHR                               = auto_cast GetDeviceProcAddr(device, "vkWaitForPresentKHR")
-	vtable.WaitSemaphores                                  = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphores")
-	vtable.WaitSemaphoresKHR                               = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphoresKHR")
-	vtable.WriteAccelerationStructuresPropertiesKHR        = auto_cast GetDeviceProcAddr(device, "vkWriteAccelerationStructuresPropertiesKHR")
-}
-
-load_proc_addresses_device :: proc(device: Device) {
-	AcquireFullScreenExclusiveModeEXT               = auto_cast GetDeviceProcAddr(device, "vkAcquireFullScreenExclusiveModeEXT")
-	AcquireNextImage2KHR                            = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImage2KHR")
-	AcquireNextImageKHR                             = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImageKHR")
-	AcquirePerformanceConfigurationINTEL            = auto_cast GetDeviceProcAddr(device, "vkAcquirePerformanceConfigurationINTEL")
-	AcquireProfilingLockKHR                         = auto_cast GetDeviceProcAddr(device, "vkAcquireProfilingLockKHR")
-	AllocateCommandBuffers                          = auto_cast GetDeviceProcAddr(device, "vkAllocateCommandBuffers")
-	AllocateDescriptorSets                          = auto_cast GetDeviceProcAddr(device, "vkAllocateDescriptorSets")
-	AllocateMemory                                  = auto_cast GetDeviceProcAddr(device, "vkAllocateMemory")
-	BeginCommandBuffer                              = auto_cast GetDeviceProcAddr(device, "vkBeginCommandBuffer")
-	BindAccelerationStructureMemoryNV               = auto_cast GetDeviceProcAddr(device, "vkBindAccelerationStructureMemoryNV")
-	BindBufferMemory                                = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory")
-	BindBufferMemory2                               = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2")
-	BindBufferMemory2KHR                            = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2KHR")
-	BindImageMemory                                 = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory")
-	BindImageMemory2                                = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2")
-	BindImageMemory2KHR                             = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2KHR")
-	BuildAccelerationStructuresKHR                  = auto_cast GetDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR")
-	CmdBeginConditionalRenderingEXT                 = auto_cast GetDeviceProcAddr(device, "vkCmdBeginConditionalRenderingEXT")
-	CmdBeginDebugUtilsLabelEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdBeginDebugUtilsLabelEXT")
-	CmdBeginQuery                                   = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQuery")
-	CmdBeginQueryIndexedEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT")
-	CmdBeginRenderPass                              = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass")
-	CmdBeginRenderPass2                             = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2")
-	CmdBeginRenderPass2KHR                          = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR")
-	CmdBeginRendering                               = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRendering")
-	CmdBeginRenderingKHR                            = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderingKHR")
-	CmdBeginTransformFeedbackEXT                    = auto_cast GetDeviceProcAddr(device, "vkCmdBeginTransformFeedbackEXT")
-	CmdBindDescriptorSets                           = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorSets")
-	CmdBindIndexBuffer                              = auto_cast GetDeviceProcAddr(device, "vkCmdBindIndexBuffer")
-	CmdBindInvocationMaskHUAWEI                     = auto_cast GetDeviceProcAddr(device, "vkCmdBindInvocationMaskHUAWEI")
-	CmdBindPipeline                                 = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipeline")
-	CmdBindPipelineShaderGroupNV                    = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipelineShaderGroupNV")
-	CmdBindShadingRateImageNV                       = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadingRateImageNV")
-	CmdBindTransformFeedbackBuffersEXT              = auto_cast GetDeviceProcAddr(device, "vkCmdBindTransformFeedbackBuffersEXT")
-	CmdBindVertexBuffers                            = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers")
-	CmdBindVertexBuffers2                           = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2")
-	CmdBindVertexBuffers2EXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT")
-	CmdBlitImage                                    = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage")
-	CmdBlitImage2                                   = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2")
-	CmdBlitImage2KHR                                = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2KHR")
-	CmdBuildAccelerationStructureNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructureNV")
-	CmdBuildAccelerationStructuresIndirectKHR       = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR")
-	CmdBuildAccelerationStructuresKHR               = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresKHR")
-	CmdClearAttachments                             = auto_cast GetDeviceProcAddr(device, "vkCmdClearAttachments")
-	CmdClearColorImage                              = auto_cast GetDeviceProcAddr(device, "vkCmdClearColorImage")
-	CmdClearDepthStencilImage                       = auto_cast GetDeviceProcAddr(device, "vkCmdClearDepthStencilImage")
-	CmdCopyAccelerationStructureKHR                 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureKHR")
-	CmdCopyAccelerationStructureNV                  = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureNV")
-	CmdCopyAccelerationStructureToMemoryKHR         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureToMemoryKHR")
-	CmdCopyBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer")
-	CmdCopyBuffer2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2")
-	CmdCopyBuffer2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR")
-	CmdCopyBufferToImage                            = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage")
-	CmdCopyBufferToImage2                           = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2")
-	CmdCopyBufferToImage2KHR                        = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR")
-	CmdCopyImage                                    = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage")
-	CmdCopyImage2                                   = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2")
-	CmdCopyImage2KHR                                = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2KHR")
-	CmdCopyImageToBuffer                            = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer")
-	CmdCopyImageToBuffer2                           = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2")
-	CmdCopyImageToBuffer2KHR                        = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR")
-	CmdCopyMemoryToAccelerationStructureKHR         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToAccelerationStructureKHR")
-	CmdCopyQueryPoolResults                         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyQueryPoolResults")
-	CmdCuLaunchKernelNVX                            = auto_cast GetDeviceProcAddr(device, "vkCmdCuLaunchKernelNVX")
-	CmdDebugMarkerBeginEXT                          = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT")
-	CmdDebugMarkerEndEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT")
-	CmdDebugMarkerInsertEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT")
-	CmdDispatch                                     = auto_cast GetDeviceProcAddr(device, "vkCmdDispatch")
-	CmdDispatchBase                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBase")
-	CmdDispatchBaseKHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBaseKHR")
-	CmdDispatchIndirect                             = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchIndirect")
-	CmdDraw                                         = auto_cast GetDeviceProcAddr(device, "vkCmdDraw")
-	CmdDrawIndexed                                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexed")
-	CmdDrawIndexedIndirect                          = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirect")
-	CmdDrawIndexedIndirectCount                     = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCount")
-	CmdDrawIndexedIndirectCountAMD                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountAMD")
-	CmdDrawIndexedIndirectCountKHR                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountKHR")
-	CmdDrawIndirect                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirect")
-	CmdDrawIndirectByteCountEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectByteCountEXT")
-	CmdDrawIndirectCount                            = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCount")
-	CmdDrawIndirectCountAMD                         = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountAMD")
-	CmdDrawIndirectCountKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountKHR")
-	CmdDrawMeshTasksIndirectCountNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountNV")
-	CmdDrawMeshTasksIndirectNV                      = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectNV")
-	CmdDrawMeshTasksNV                              = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksNV")
-	CmdDrawMultiEXT                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiEXT")
-	CmdDrawMultiIndexedEXT                          = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiIndexedEXT")
-	CmdEndConditionalRenderingEXT                   = auto_cast GetDeviceProcAddr(device, "vkCmdEndConditionalRenderingEXT")
-	CmdEndDebugUtilsLabelEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdEndDebugUtilsLabelEXT")
-	CmdEndQuery                                     = auto_cast GetDeviceProcAddr(device, "vkCmdEndQuery")
-	CmdEndQueryIndexedEXT                           = auto_cast GetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT")
-	CmdEndRenderPass                                = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass")
-	CmdEndRenderPass2                               = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2")
-	CmdEndRenderPass2KHR                            = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR")
-	CmdEndRendering                                 = auto_cast GetDeviceProcAddr(device, "vkCmdEndRendering")
-	CmdEndRenderingKHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderingKHR")
-	CmdEndTransformFeedbackEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdEndTransformFeedbackEXT")
-	CmdExecuteCommands                              = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteCommands")
-	CmdExecuteGeneratedCommandsNV                   = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteGeneratedCommandsNV")
-	CmdFillBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkCmdFillBuffer")
-	CmdInsertDebugUtilsLabelEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdInsertDebugUtilsLabelEXT")
-	CmdNextSubpass                                  = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass")
-	CmdNextSubpass2                                 = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2")
-	CmdNextSubpass2KHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2KHR")
-	CmdPipelineBarrier                              = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier")
-	CmdPipelineBarrier2                             = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2")
-	CmdPipelineBarrier2KHR                          = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR")
-	CmdPreprocessGeneratedCommandsNV                = auto_cast GetDeviceProcAddr(device, "vkCmdPreprocessGeneratedCommandsNV")
-	CmdPushConstants                                = auto_cast GetDeviceProcAddr(device, "vkCmdPushConstants")
-	CmdPushDescriptorSetKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR")
-	CmdPushDescriptorSetWithTemplateKHR             = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetWithTemplateKHR")
-	CmdResetEvent                                   = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent")
-	CmdResetEvent2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2")
-	CmdResetEvent2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2KHR")
-	CmdResetQueryPool                               = auto_cast GetDeviceProcAddr(device, "vkCmdResetQueryPool")
-	CmdResolveImage                                 = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage")
-	CmdResolveImage2                                = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2")
-	CmdResolveImage2KHR                             = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2KHR")
-	CmdSetBlendConstants                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetBlendConstants")
-	CmdSetCheckpointNV                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetCheckpointNV")
-	CmdSetCoarseSampleOrderNV                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoarseSampleOrderNV")
-	CmdSetCullMode                                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullMode")
-	CmdSetCullModeEXT                               = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullModeEXT")
-	CmdSetDepthBias                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBias")
-	CmdSetDepthBiasEnable                           = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnable")
-	CmdSetDepthBiasEnableEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnableEXT")
-	CmdSetDepthBounds                               = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBounds")
-	CmdSetDepthBoundsTestEnable                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnable")
-	CmdSetDepthBoundsTestEnableEXT                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT")
-	CmdSetDepthCompareOp                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOp")
-	CmdSetDepthCompareOpEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT")
-	CmdSetDepthTestEnable                           = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnable")
-	CmdSetDepthTestEnableEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT")
-	CmdSetDepthWriteEnable                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnable")
-	CmdSetDepthWriteEnableEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT")
-	CmdSetDeviceMask                                = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMask")
-	CmdSetDeviceMaskKHR                             = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMaskKHR")
-	CmdSetDiscardRectangleEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEXT")
-	CmdSetEvent                                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent")
-	CmdSetEvent2                                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2")
-	CmdSetEvent2KHR                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2KHR")
-	CmdSetExclusiveScissorNV                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorNV")
-	CmdSetFragmentShadingRateEnumNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateEnumNV")
-	CmdSetFragmentShadingRateKHR                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateKHR")
-	CmdSetFrontFace                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFace")
-	CmdSetFrontFaceEXT                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT")
-	CmdSetLineStippleEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEXT")
-	CmdSetLineWidth                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineWidth")
-	CmdSetLogicOpEXT                                = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEXT")
-	CmdSetPatchControlPointsEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetPatchControlPointsEXT")
-	CmdSetPerformanceMarkerINTEL                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceMarkerINTEL")
-	CmdSetPerformanceOverrideINTEL                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceOverrideINTEL")
-	CmdSetPerformanceStreamMarkerINTEL              = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceStreamMarkerINTEL")
-	CmdSetPrimitiveRestartEnable                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnable")
-	CmdSetPrimitiveRestartEnableEXT                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnableEXT")
-	CmdSetPrimitiveTopology                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopology")
-	CmdSetPrimitiveTopologyEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT")
-	CmdSetRasterizerDiscardEnable                   = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnable")
-	CmdSetRasterizerDiscardEnableEXT                = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnableEXT")
-	CmdSetRayTracingPipelineStackSizeKHR            = auto_cast GetDeviceProcAddr(device, "vkCmdSetRayTracingPipelineStackSizeKHR")
-	CmdSetSampleLocationsEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEXT")
-	CmdSetScissor                                   = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissor")
-	CmdSetScissorWithCount                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCount")
-	CmdSetScissorWithCountEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT")
-	CmdSetStencilCompareMask                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilCompareMask")
-	CmdSetStencilOp                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOp")
-	CmdSetStencilOpEXT                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOpEXT")
-	CmdSetStencilReference                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilReference")
-	CmdSetStencilTestEnable                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnable")
-	CmdSetStencilTestEnableEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT")
-	CmdSetStencilWriteMask                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilWriteMask")
-	CmdSetVertexInputEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetVertexInputEXT")
-	CmdSetViewport                                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewport")
-	CmdSetViewportShadingRatePaletteNV              = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportShadingRatePaletteNV")
-	CmdSetViewportWScalingNV                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingNV")
-	CmdSetViewportWithCount                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCount")
-	CmdSetViewportWithCountEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT")
-	CmdSubpassShadingHUAWEI                         = auto_cast GetDeviceProcAddr(device, "vkCmdSubpassShadingHUAWEI")
-	CmdTraceRaysIndirectKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR")
-	CmdTraceRaysKHR                                 = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysKHR")
-	CmdTraceRaysNV                                  = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysNV")
-	CmdUpdateBuffer                                 = auto_cast GetDeviceProcAddr(device, "vkCmdUpdateBuffer")
-	CmdWaitEvents                                   = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents")
-	CmdWaitEvents2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2")
-	CmdWaitEvents2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2KHR")
-	CmdWriteAccelerationStructuresPropertiesKHR     = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesKHR")
-	CmdWriteAccelerationStructuresPropertiesNV      = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesNV")
-	CmdWriteBufferMarker2AMD                        = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarker2AMD")
-	CmdWriteBufferMarkerAMD                         = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarkerAMD")
-	CmdWriteTimestamp                               = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp")
-	CmdWriteTimestamp2                              = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2")
-	CmdWriteTimestamp2KHR                           = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR")
-	CompileDeferredNV                               = auto_cast GetDeviceProcAddr(device, "vkCompileDeferredNV")
-	CopyAccelerationStructureKHR                    = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureKHR")
-	CopyAccelerationStructureToMemoryKHR            = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureToMemoryKHR")
-	CopyMemoryToAccelerationStructureKHR            = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToAccelerationStructureKHR")
-	CreateAccelerationStructureKHR                  = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureKHR")
-	CreateAccelerationStructureNV                   = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureNV")
-	CreateBuffer                                    = auto_cast GetDeviceProcAddr(device, "vkCreateBuffer")
-	CreateBufferView                                = auto_cast GetDeviceProcAddr(device, "vkCreateBufferView")
-	CreateCommandPool                               = auto_cast GetDeviceProcAddr(device, "vkCreateCommandPool")
-	CreateComputePipelines                          = auto_cast GetDeviceProcAddr(device, "vkCreateComputePipelines")
-	CreateCuFunctionNVX                             = auto_cast GetDeviceProcAddr(device, "vkCreateCuFunctionNVX")
-	CreateCuModuleNVX                               = auto_cast GetDeviceProcAddr(device, "vkCreateCuModuleNVX")
-	CreateDeferredOperationKHR                      = auto_cast GetDeviceProcAddr(device, "vkCreateDeferredOperationKHR")
-	CreateDescriptorPool                            = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorPool")
-	CreateDescriptorSetLayout                       = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorSetLayout")
-	CreateDescriptorUpdateTemplate                  = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplate")
-	CreateDescriptorUpdateTemplateKHR               = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR")
-	CreateEvent                                     = auto_cast GetDeviceProcAddr(device, "vkCreateEvent")
-	CreateFence                                     = auto_cast GetDeviceProcAddr(device, "vkCreateFence")
-	CreateFramebuffer                               = auto_cast GetDeviceProcAddr(device, "vkCreateFramebuffer")
-	CreateGraphicsPipelines                         = auto_cast GetDeviceProcAddr(device, "vkCreateGraphicsPipelines")
-	CreateImage                                     = auto_cast GetDeviceProcAddr(device, "vkCreateImage")
-	CreateImageView                                 = auto_cast GetDeviceProcAddr(device, "vkCreateImageView")
-	CreateIndirectCommandsLayoutNV                  = auto_cast GetDeviceProcAddr(device, "vkCreateIndirectCommandsLayoutNV")
-	CreatePipelineCache                             = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineCache")
-	CreatePipelineLayout                            = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineLayout")
-	CreatePrivateDataSlot                           = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlot")
-	CreatePrivateDataSlotEXT                        = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlotEXT")
-	CreateQueryPool                                 = auto_cast GetDeviceProcAddr(device, "vkCreateQueryPool")
-	CreateRayTracingPipelinesKHR                    = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesKHR")
-	CreateRayTracingPipelinesNV                     = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesNV")
-	CreateRenderPass                                = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass")
-	CreateRenderPass2                               = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2")
-	CreateRenderPass2KHR                            = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2KHR")
-	CreateSampler                                   = auto_cast GetDeviceProcAddr(device, "vkCreateSampler")
-	CreateSamplerYcbcrConversion                    = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversion")
-	CreateSamplerYcbcrConversionKHR                 = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversionKHR")
-	CreateSemaphore                                 = auto_cast GetDeviceProcAddr(device, "vkCreateSemaphore")
-	CreateShaderModule                              = auto_cast GetDeviceProcAddr(device, "vkCreateShaderModule")
-	CreateSharedSwapchainsKHR                       = auto_cast GetDeviceProcAddr(device, "vkCreateSharedSwapchainsKHR")
-	CreateSwapchainKHR                              = auto_cast GetDeviceProcAddr(device, "vkCreateSwapchainKHR")
-	CreateValidationCacheEXT                        = auto_cast GetDeviceProcAddr(device, "vkCreateValidationCacheEXT")
-	DebugMarkerSetObjectNameEXT                     = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT")
-	DebugMarkerSetObjectTagEXT                      = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT")
-	DeferredOperationJoinKHR                        = auto_cast GetDeviceProcAddr(device, "vkDeferredOperationJoinKHR")
-	DestroyAccelerationStructureKHR                 = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureKHR")
-	DestroyAccelerationStructureNV                  = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureNV")
-	DestroyBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkDestroyBuffer")
-	DestroyBufferView                               = auto_cast GetDeviceProcAddr(device, "vkDestroyBufferView")
-	DestroyCommandPool                              = auto_cast GetDeviceProcAddr(device, "vkDestroyCommandPool")
-	DestroyCuFunctionNVX                            = auto_cast GetDeviceProcAddr(device, "vkDestroyCuFunctionNVX")
-	DestroyCuModuleNVX                              = auto_cast GetDeviceProcAddr(device, "vkDestroyCuModuleNVX")
-	DestroyDeferredOperationKHR                     = auto_cast GetDeviceProcAddr(device, "vkDestroyDeferredOperationKHR")
-	DestroyDescriptorPool                           = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorPool")
-	DestroyDescriptorSetLayout                      = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorSetLayout")
-	DestroyDescriptorUpdateTemplate                 = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplate")
-	DestroyDescriptorUpdateTemplateKHR              = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplateKHR")
-	DestroyDevice                                   = auto_cast GetDeviceProcAddr(device, "vkDestroyDevice")
-	DestroyEvent                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyEvent")
-	DestroyFence                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyFence")
-	DestroyFramebuffer                              = auto_cast GetDeviceProcAddr(device, "vkDestroyFramebuffer")
-	DestroyImage                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyImage")
-	DestroyImageView                                = auto_cast GetDeviceProcAddr(device, "vkDestroyImageView")
-	DestroyIndirectCommandsLayoutNV                 = auto_cast GetDeviceProcAddr(device, "vkDestroyIndirectCommandsLayoutNV")
-	DestroyPipeline                                 = auto_cast GetDeviceProcAddr(device, "vkDestroyPipeline")
-	DestroyPipelineCache                            = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineCache")
-	DestroyPipelineLayout                           = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineLayout")
-	DestroyPrivateDataSlot                          = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlot")
-	DestroyPrivateDataSlotEXT                       = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlotEXT")
-	DestroyQueryPool                                = auto_cast GetDeviceProcAddr(device, "vkDestroyQueryPool")
-	DestroyRenderPass                               = auto_cast GetDeviceProcAddr(device, "vkDestroyRenderPass")
-	DestroySampler                                  = auto_cast GetDeviceProcAddr(device, "vkDestroySampler")
-	DestroySamplerYcbcrConversion                   = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversion")
-	DestroySamplerYcbcrConversionKHR                = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversionKHR")
-	DestroySemaphore                                = auto_cast GetDeviceProcAddr(device, "vkDestroySemaphore")
-	DestroyShaderModule                             = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderModule")
-	DestroySwapchainKHR                             = auto_cast GetDeviceProcAddr(device, "vkDestroySwapchainKHR")
-	DestroyValidationCacheEXT                       = auto_cast GetDeviceProcAddr(device, "vkDestroyValidationCacheEXT")
-	DeviceWaitIdle                                  = auto_cast GetDeviceProcAddr(device, "vkDeviceWaitIdle")
-	DisplayPowerControlEXT                          = auto_cast GetDeviceProcAddr(device, "vkDisplayPowerControlEXT")
-	EndCommandBuffer                                = auto_cast GetDeviceProcAddr(device, "vkEndCommandBuffer")
-	FlushMappedMemoryRanges                         = auto_cast GetDeviceProcAddr(device, "vkFlushMappedMemoryRanges")
-	FreeCommandBuffers                              = auto_cast GetDeviceProcAddr(device, "vkFreeCommandBuffers")
-	FreeDescriptorSets                              = auto_cast GetDeviceProcAddr(device, "vkFreeDescriptorSets")
-	FreeMemory                                      = auto_cast GetDeviceProcAddr(device, "vkFreeMemory")
-	GetAccelerationStructureBuildSizesKHR           = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureBuildSizesKHR")
-	GetAccelerationStructureDeviceAddressKHR        = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureDeviceAddressKHR")
-	GetAccelerationStructureHandleNV                = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureHandleNV")
-	GetAccelerationStructureMemoryRequirementsNV    = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureMemoryRequirementsNV")
-	GetBufferDeviceAddress                          = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddress")
-	GetBufferDeviceAddressEXT                       = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressEXT")
-	GetBufferDeviceAddressKHR                       = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR")
-	GetBufferMemoryRequirements                     = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements")
-	GetBufferMemoryRequirements2                    = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2")
-	GetBufferMemoryRequirements2KHR                 = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2KHR")
-	GetBufferOpaqueCaptureAddress                   = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddress")
-	GetBufferOpaqueCaptureAddressKHR                = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR")
-	GetCalibratedTimestampsEXT                      = auto_cast GetDeviceProcAddr(device, "vkGetCalibratedTimestampsEXT")
-	GetDeferredOperationMaxConcurrencyKHR           = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationMaxConcurrencyKHR")
-	GetDeferredOperationResultKHR                   = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationResultKHR")
-	GetDescriptorSetHostMappingVALVE                = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetHostMappingVALVE")
-	GetDescriptorSetLayoutHostMappingInfoVALVE      = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
-	GetDescriptorSetLayoutSupport                   = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupport")
-	GetDescriptorSetLayoutSupportKHR                = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupportKHR")
-	GetDeviceAccelerationStructureCompatibilityKHR  = auto_cast GetDeviceProcAddr(device, "vkGetDeviceAccelerationStructureCompatibilityKHR")
-	GetDeviceBufferMemoryRequirements               = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirements")
-	GetDeviceBufferMemoryRequirementsKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirementsKHR")
-	GetDeviceGroupPeerMemoryFeatures                = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeatures")
-	GetDeviceGroupPeerMemoryFeaturesKHR             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeaturesKHR")
-	GetDeviceGroupPresentCapabilitiesKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPresentCapabilitiesKHR")
-	GetDeviceGroupSurfacePresentModes2EXT           = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModes2EXT")
-	GetDeviceGroupSurfacePresentModesKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModesKHR")
-	GetDeviceImageMemoryRequirements                = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirements")
-	GetDeviceImageMemoryRequirementsKHR             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirementsKHR")
-	GetDeviceImageSparseMemoryRequirements          = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirements")
-	GetDeviceImageSparseMemoryRequirementsKHR       = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirementsKHR")
-	GetDeviceMemoryCommitment                       = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryCommitment")
-	GetDeviceMemoryOpaqueCaptureAddress             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddress")
-	GetDeviceMemoryOpaqueCaptureAddressKHR          = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
-	GetDeviceProcAddr                               = auto_cast GetDeviceProcAddr(device, "vkGetDeviceProcAddr")
-	GetDeviceQueue                                  = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue")
-	GetDeviceQueue2                                 = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue2")
-	GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   = auto_cast GetDeviceProcAddr(device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
-	GetEventStatus                                  = auto_cast GetDeviceProcAddr(device, "vkGetEventStatus")
-	GetFenceFdKHR                                   = auto_cast GetDeviceProcAddr(device, "vkGetFenceFdKHR")
-	GetFenceStatus                                  = auto_cast GetDeviceProcAddr(device, "vkGetFenceStatus")
-	GetFenceWin32HandleKHR                          = auto_cast GetDeviceProcAddr(device, "vkGetFenceWin32HandleKHR")
-	GetGeneratedCommandsMemoryRequirementsNV        = auto_cast GetDeviceProcAddr(device, "vkGetGeneratedCommandsMemoryRequirementsNV")
-	GetImageDrmFormatModifierPropertiesEXT          = auto_cast GetDeviceProcAddr(device, "vkGetImageDrmFormatModifierPropertiesEXT")
-	GetImageMemoryRequirements                      = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements")
-	GetImageMemoryRequirements2                     = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2")
-	GetImageMemoryRequirements2KHR                  = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2KHR")
-	GetImageSparseMemoryRequirements                = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements")
-	GetImageSparseMemoryRequirements2               = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2")
-	GetImageSparseMemoryRequirements2KHR            = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2KHR")
-	GetImageSubresourceLayout                       = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout")
-	GetImageViewAddressNVX                          = auto_cast GetDeviceProcAddr(device, "vkGetImageViewAddressNVX")
-	GetImageViewHandleNVX                           = auto_cast GetDeviceProcAddr(device, "vkGetImageViewHandleNVX")
-	GetMemoryFdKHR                                  = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdKHR")
-	GetMemoryFdPropertiesKHR                        = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdPropertiesKHR")
-	GetMemoryHostPointerPropertiesEXT               = auto_cast GetDeviceProcAddr(device, "vkGetMemoryHostPointerPropertiesEXT")
-	GetMemoryRemoteAddressNV                        = auto_cast GetDeviceProcAddr(device, "vkGetMemoryRemoteAddressNV")
-	GetMemoryWin32HandleKHR                         = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR")
-	GetMemoryWin32HandleNV                          = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleNV")
-	GetMemoryWin32HandlePropertiesKHR               = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHR")
-	GetPastPresentationTimingGOOGLE                 = auto_cast GetDeviceProcAddr(device, "vkGetPastPresentationTimingGOOGLE")
-	GetPerformanceParameterINTEL                    = auto_cast GetDeviceProcAddr(device, "vkGetPerformanceParameterINTEL")
-	GetPipelineCacheData                            = auto_cast GetDeviceProcAddr(device, "vkGetPipelineCacheData")
-	GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableInternalRepresentationsKHR")
-	GetPipelineExecutablePropertiesKHR              = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutablePropertiesKHR")
-	GetPipelineExecutableStatisticsKHR              = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableStatisticsKHR")
-	GetPrivateData                                  = auto_cast GetDeviceProcAddr(device, "vkGetPrivateData")
-	GetPrivateDataEXT                               = auto_cast GetDeviceProcAddr(device, "vkGetPrivateDataEXT")
-	GetQueryPoolResults                             = auto_cast GetDeviceProcAddr(device, "vkGetQueryPoolResults")
-	GetQueueCheckpointData2NV                       = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointData2NV")
-	GetQueueCheckpointDataNV                        = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointDataNV")
-	GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
-	GetRayTracingShaderGroupHandlesKHR              = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesKHR")
-	GetRayTracingShaderGroupHandlesNV               = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesNV")
-	GetRayTracingShaderGroupStackSizeKHR            = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupStackSizeKHR")
-	GetRefreshCycleDurationGOOGLE                   = auto_cast GetDeviceProcAddr(device, "vkGetRefreshCycleDurationGOOGLE")
-	GetRenderAreaGranularity                        = auto_cast GetDeviceProcAddr(device, "vkGetRenderAreaGranularity")
-	GetSemaphoreCounterValue                        = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValue")
-	GetSemaphoreCounterValueKHR                     = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValueKHR")
-	GetSemaphoreFdKHR                               = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreFdKHR")
-	GetSemaphoreWin32HandleKHR                      = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreWin32HandleKHR")
-	GetShaderInfoAMD                                = auto_cast GetDeviceProcAddr(device, "vkGetShaderInfoAMD")
-	GetSwapchainCounterEXT                          = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainCounterEXT")
-	GetSwapchainImagesKHR                           = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainImagesKHR")
-	GetSwapchainStatusKHR                           = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainStatusKHR")
-	GetValidationCacheDataEXT                       = auto_cast GetDeviceProcAddr(device, "vkGetValidationCacheDataEXT")
-	ImportFenceFdKHR                                = auto_cast GetDeviceProcAddr(device, "vkImportFenceFdKHR")
-	ImportFenceWin32HandleKHR                       = auto_cast GetDeviceProcAddr(device, "vkImportFenceWin32HandleKHR")
-	ImportSemaphoreFdKHR                            = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreFdKHR")
-	ImportSemaphoreWin32HandleKHR                   = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreWin32HandleKHR")
-	InitializePerformanceApiINTEL                   = auto_cast GetDeviceProcAddr(device, "vkInitializePerformanceApiINTEL")
-	InvalidateMappedMemoryRanges                    = auto_cast GetDeviceProcAddr(device, "vkInvalidateMappedMemoryRanges")
-	MapMemory                                       = auto_cast GetDeviceProcAddr(device, "vkMapMemory")
-	MergePipelineCaches                             = auto_cast GetDeviceProcAddr(device, "vkMergePipelineCaches")
-	MergeValidationCachesEXT                        = auto_cast GetDeviceProcAddr(device, "vkMergeValidationCachesEXT")
-	QueueBeginDebugUtilsLabelEXT                    = auto_cast GetDeviceProcAddr(device, "vkQueueBeginDebugUtilsLabelEXT")
-	QueueBindSparse                                 = auto_cast GetDeviceProcAddr(device, "vkQueueBindSparse")
-	QueueEndDebugUtilsLabelEXT                      = auto_cast GetDeviceProcAddr(device, "vkQueueEndDebugUtilsLabelEXT")
-	QueueInsertDebugUtilsLabelEXT                   = auto_cast GetDeviceProcAddr(device, "vkQueueInsertDebugUtilsLabelEXT")
-	QueuePresentKHR                                 = auto_cast GetDeviceProcAddr(device, "vkQueuePresentKHR")
-	QueueSetPerformanceConfigurationINTEL           = auto_cast GetDeviceProcAddr(device, "vkQueueSetPerformanceConfigurationINTEL")
-	QueueSubmit                                     = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit")
-	QueueSubmit2                                    = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2")
-	QueueSubmit2KHR                                 = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2KHR")
-	QueueWaitIdle                                   = auto_cast GetDeviceProcAddr(device, "vkQueueWaitIdle")
-	RegisterDeviceEventEXT                          = auto_cast GetDeviceProcAddr(device, "vkRegisterDeviceEventEXT")
-	RegisterDisplayEventEXT                         = auto_cast GetDeviceProcAddr(device, "vkRegisterDisplayEventEXT")
-	ReleaseFullScreenExclusiveModeEXT               = auto_cast GetDeviceProcAddr(device, "vkReleaseFullScreenExclusiveModeEXT")
-	ReleasePerformanceConfigurationINTEL            = auto_cast GetDeviceProcAddr(device, "vkReleasePerformanceConfigurationINTEL")
-	ReleaseProfilingLockKHR                         = auto_cast GetDeviceProcAddr(device, "vkReleaseProfilingLockKHR")
-	ResetCommandBuffer                              = auto_cast GetDeviceProcAddr(device, "vkResetCommandBuffer")
-	ResetCommandPool                                = auto_cast GetDeviceProcAddr(device, "vkResetCommandPool")
-	ResetDescriptorPool                             = auto_cast GetDeviceProcAddr(device, "vkResetDescriptorPool")
-	ResetEvent                                      = auto_cast GetDeviceProcAddr(device, "vkResetEvent")
-	ResetFences                                     = auto_cast GetDeviceProcAddr(device, "vkResetFences")
-	ResetQueryPool                                  = auto_cast GetDeviceProcAddr(device, "vkResetQueryPool")
-	ResetQueryPoolEXT                               = auto_cast GetDeviceProcAddr(device, "vkResetQueryPoolEXT")
-	SetDebugUtilsObjectNameEXT                      = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectNameEXT")
-	SetDebugUtilsObjectTagEXT                       = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectTagEXT")
-	SetDeviceMemoryPriorityEXT                      = auto_cast GetDeviceProcAddr(device, "vkSetDeviceMemoryPriorityEXT")
-	SetEvent                                        = auto_cast GetDeviceProcAddr(device, "vkSetEvent")
-	SetHdrMetadataEXT                               = auto_cast GetDeviceProcAddr(device, "vkSetHdrMetadataEXT")
-	SetLocalDimmingAMD                              = auto_cast GetDeviceProcAddr(device, "vkSetLocalDimmingAMD")
-	SetPrivateData                                  = auto_cast GetDeviceProcAddr(device, "vkSetPrivateData")
-	SetPrivateDataEXT                               = auto_cast GetDeviceProcAddr(device, "vkSetPrivateDataEXT")
-	SignalSemaphore                                 = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphore")
-	SignalSemaphoreKHR                              = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphoreKHR")
-	TrimCommandPool                                 = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPool")
-	TrimCommandPoolKHR                              = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPoolKHR")
-	UninitializePerformanceApiINTEL                 = auto_cast GetDeviceProcAddr(device, "vkUninitializePerformanceApiINTEL")
-	UnmapMemory                                     = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory")
-	UpdateDescriptorSetWithTemplate                 = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplate")
-	UpdateDescriptorSetWithTemplateKHR              = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplateKHR")
-	UpdateDescriptorSets                            = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSets")
-	WaitForFences                                   = auto_cast GetDeviceProcAddr(device, "vkWaitForFences")
-	WaitForPresentKHR                               = auto_cast GetDeviceProcAddr(device, "vkWaitForPresentKHR")
-	WaitSemaphores                                  = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphores")
-	WaitSemaphoresKHR                               = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphoresKHR")
-	WriteAccelerationStructuresPropertiesKHR        = auto_cast GetDeviceProcAddr(device, "vkWriteAccelerationStructuresPropertiesKHR")
-}
-
-load_proc_addresses_instance :: proc(instance: Instance) {
-	AcquireDrmDisplayEXT                                            = auto_cast GetInstanceProcAddr(instance, "vkAcquireDrmDisplayEXT")
-	AcquireWinrtDisplayNV                                           = auto_cast GetInstanceProcAddr(instance, "vkAcquireWinrtDisplayNV")
-	CreateDebugReportCallbackEXT                                    = auto_cast GetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT")
-	CreateDebugUtilsMessengerEXT                                    = auto_cast GetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT")
-	CreateDevice                                                    = auto_cast GetInstanceProcAddr(instance, "vkCreateDevice")
-	CreateDisplayModeKHR                                            = auto_cast GetInstanceProcAddr(instance, "vkCreateDisplayModeKHR")
-	CreateDisplayPlaneSurfaceKHR                                    = auto_cast GetInstanceProcAddr(instance, "vkCreateDisplayPlaneSurfaceKHR")
-	CreateHeadlessSurfaceEXT                                        = auto_cast GetInstanceProcAddr(instance, "vkCreateHeadlessSurfaceEXT")
-	CreateIOSSurfaceMVK                                             = auto_cast GetInstanceProcAddr(instance, "vkCreateIOSSurfaceMVK")
-	CreateMacOSSurfaceMVK                                           = auto_cast GetInstanceProcAddr(instance, "vkCreateMacOSSurfaceMVK")
-	CreateMetalSurfaceEXT                                           = auto_cast GetInstanceProcAddr(instance, "vkCreateMetalSurfaceEXT")
-	CreateWaylandSurfaceKHR                                         = auto_cast GetInstanceProcAddr(instance, "vkCreateWaylandSurfaceKHR")
-	CreateWin32SurfaceKHR                                           = auto_cast GetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR")
-	DebugReportMessageEXT                                           = auto_cast GetInstanceProcAddr(instance, "vkDebugReportMessageEXT")
-	DestroyDebugReportCallbackEXT                                   = auto_cast GetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT")
-	DestroyDebugUtilsMessengerEXT                                   = auto_cast GetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT")
-	DestroyInstance                                                 = auto_cast GetInstanceProcAddr(instance, "vkDestroyInstance")
-	DestroySurfaceKHR                                               = auto_cast GetInstanceProcAddr(instance, "vkDestroySurfaceKHR")
-	EnumerateDeviceExtensionProperties                              = auto_cast GetInstanceProcAddr(instance, "vkEnumerateDeviceExtensionProperties")
-	EnumerateDeviceLayerProperties                                  = auto_cast GetInstanceProcAddr(instance, "vkEnumerateDeviceLayerProperties")
-	EnumeratePhysicalDeviceGroups                                   = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroups")
-	EnumeratePhysicalDeviceGroupsKHR                                = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroupsKHR")
-	EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR   = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")
-	EnumeratePhysicalDevices                                        = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDevices")
-	GetDisplayModeProperties2KHR                                    = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayModeProperties2KHR")
-	GetDisplayModePropertiesKHR                                     = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayModePropertiesKHR")
-	GetDisplayPlaneCapabilities2KHR                                 = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilities2KHR")
-	GetDisplayPlaneCapabilitiesKHR                                  = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR")
-	GetDisplayPlaneSupportedDisplaysKHR                             = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneSupportedDisplaysKHR")
-	GetDrmDisplayEXT                                                = auto_cast GetInstanceProcAddr(instance, "vkGetDrmDisplayEXT")
-	GetPhysicalDeviceCalibrateableTimeDomainsEXT                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT")
-	GetPhysicalDeviceCooperativeMatrixPropertiesNV                  = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV")
-	GetPhysicalDeviceDisplayPlaneProperties2KHR                     = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
-	GetPhysicalDeviceDisplayPlanePropertiesKHR                      = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")
-	GetPhysicalDeviceDisplayProperties2KHR                          = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayProperties2KHR")
-	GetPhysicalDeviceDisplayPropertiesKHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR")
-	GetPhysicalDeviceExternalBufferProperties                       = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferProperties")
-	GetPhysicalDeviceExternalBufferPropertiesKHR                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR")
-	GetPhysicalDeviceExternalFenceProperties                        = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFenceProperties")
-	GetPhysicalDeviceExternalFencePropertiesKHR                     = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR")
-	GetPhysicalDeviceExternalImageFormatPropertiesNV                = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV")
-	GetPhysicalDeviceExternalSemaphoreProperties                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphoreProperties")
-	GetPhysicalDeviceExternalSemaphorePropertiesKHR                 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR")
-	GetPhysicalDeviceFeatures                                       = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures")
-	GetPhysicalDeviceFeatures2                                      = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2")
-	GetPhysicalDeviceFeatures2KHR                                   = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2KHR")
-	GetPhysicalDeviceFormatProperties                               = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties")
-	GetPhysicalDeviceFormatProperties2                              = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2")
-	GetPhysicalDeviceFormatProperties2KHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2KHR")
-	GetPhysicalDeviceFragmentShadingRatesKHR                        = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR")
-	GetPhysicalDeviceImageFormatProperties                          = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties")
-	GetPhysicalDeviceImageFormatProperties2                         = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2")
-	GetPhysicalDeviceImageFormatProperties2KHR                      = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2KHR")
-	GetPhysicalDeviceMemoryProperties                               = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties")
-	GetPhysicalDeviceMemoryProperties2                              = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2")
-	GetPhysicalDeviceMemoryProperties2KHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2KHR")
-	GetPhysicalDeviceMultisamplePropertiesEXT                       = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT")
-	GetPhysicalDevicePresentRectanglesKHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDevicePresentRectanglesKHR")
-	GetPhysicalDeviceProperties                                     = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties")
-	GetPhysicalDeviceProperties2                                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2")
-	GetPhysicalDeviceProperties2KHR                                 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2KHR")
-	GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR           = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")
-	GetPhysicalDeviceQueueFamilyProperties                          = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties")
-	GetPhysicalDeviceQueueFamilyProperties2                         = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2")
-	GetPhysicalDeviceQueueFamilyProperties2KHR                      = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR")
-	GetPhysicalDeviceSparseImageFormatProperties                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties")
-	GetPhysicalDeviceSparseImageFormatProperties2                   = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2")
-	GetPhysicalDeviceSparseImageFormatProperties2KHR                = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR")
-	GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV")
-	GetPhysicalDeviceSurfaceCapabilities2EXT                        = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT")
-	GetPhysicalDeviceSurfaceCapabilities2KHR                        = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR")
-	GetPhysicalDeviceSurfaceCapabilitiesKHR                         = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")
-	GetPhysicalDeviceSurfaceFormats2KHR                             = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormats2KHR")
-	GetPhysicalDeviceSurfaceFormatsKHR                              = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR")
-	GetPhysicalDeviceSurfacePresentModes2EXT                        = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT")
-	GetPhysicalDeviceSurfacePresentModesKHR                         = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR")
-	GetPhysicalDeviceSurfaceSupportKHR                              = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceSupportKHR")
-	GetPhysicalDeviceToolProperties                                 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolProperties")
-	GetPhysicalDeviceToolPropertiesEXT                              = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolPropertiesEXT")
-	GetPhysicalDeviceWaylandPresentationSupportKHR                  = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR")
-	GetPhysicalDeviceWin32PresentationSupportKHR                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR")
-	GetWinrtDisplayNV                                               = auto_cast GetInstanceProcAddr(instance, "vkGetWinrtDisplayNV")
-	ReleaseDisplayEXT                                               = auto_cast GetInstanceProcAddr(instance, "vkReleaseDisplayEXT")
-	SubmitDebugUtilsMessageEXT                                      = auto_cast GetInstanceProcAddr(instance, "vkSubmitDebugUtilsMessageEXT")
-
-	// Device Procedures (may call into dispatch)
-	AcquireFullScreenExclusiveModeEXT               = auto_cast GetInstanceProcAddr(instance, "vkAcquireFullScreenExclusiveModeEXT")
-	AcquireNextImage2KHR                            = auto_cast GetInstanceProcAddr(instance, "vkAcquireNextImage2KHR")
-	AcquireNextImageKHR                             = auto_cast GetInstanceProcAddr(instance, "vkAcquireNextImageKHR")
-	AcquirePerformanceConfigurationINTEL            = auto_cast GetInstanceProcAddr(instance, "vkAcquirePerformanceConfigurationINTEL")
-	AcquireProfilingLockKHR                         = auto_cast GetInstanceProcAddr(instance, "vkAcquireProfilingLockKHR")
-	AllocateCommandBuffers                          = auto_cast GetInstanceProcAddr(instance, "vkAllocateCommandBuffers")
-	AllocateDescriptorSets                          = auto_cast GetInstanceProcAddr(instance, "vkAllocateDescriptorSets")
-	AllocateMemory                                  = auto_cast GetInstanceProcAddr(instance, "vkAllocateMemory")
-	BeginCommandBuffer                              = auto_cast GetInstanceProcAddr(instance, "vkBeginCommandBuffer")
-	BindAccelerationStructureMemoryNV               = auto_cast GetInstanceProcAddr(instance, "vkBindAccelerationStructureMemoryNV")
-	BindBufferMemory                                = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory")
-	BindBufferMemory2                               = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory2")
-	BindBufferMemory2KHR                            = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory2KHR")
-	BindImageMemory                                 = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory")
-	BindImageMemory2                                = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory2")
-	BindImageMemory2KHR                             = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory2KHR")
-	BuildAccelerationStructuresKHR                  = auto_cast GetInstanceProcAddr(instance, "vkBuildAccelerationStructuresKHR")
-	CmdBeginConditionalRenderingEXT                 = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginConditionalRenderingEXT")
-	CmdBeginDebugUtilsLabelEXT                      = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginDebugUtilsLabelEXT")
-	CmdBeginQuery                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginQuery")
-	CmdBeginQueryIndexedEXT                         = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginQueryIndexedEXT")
-	CmdBeginRenderPass                              = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass")
-	CmdBeginRenderPass2                             = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass2")
-	CmdBeginRenderPass2KHR                          = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass2KHR")
-	CmdBeginRendering                               = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRendering")
-	CmdBeginRenderingKHR                            = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderingKHR")
-	CmdBeginTransformFeedbackEXT                    = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginTransformFeedbackEXT")
-	CmdBindDescriptorSets                           = auto_cast GetInstanceProcAddr(instance, "vkCmdBindDescriptorSets")
-	CmdBindIndexBuffer                              = auto_cast GetInstanceProcAddr(instance, "vkCmdBindIndexBuffer")
-	CmdBindInvocationMaskHUAWEI                     = auto_cast GetInstanceProcAddr(instance, "vkCmdBindInvocationMaskHUAWEI")
-	CmdBindPipeline                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdBindPipeline")
-	CmdBindPipelineShaderGroupNV                    = auto_cast GetInstanceProcAddr(instance, "vkCmdBindPipelineShaderGroupNV")
-	CmdBindShadingRateImageNV                       = auto_cast GetInstanceProcAddr(instance, "vkCmdBindShadingRateImageNV")
-	CmdBindTransformFeedbackBuffersEXT              = auto_cast GetInstanceProcAddr(instance, "vkCmdBindTransformFeedbackBuffersEXT")
-	CmdBindVertexBuffers                            = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers")
-	CmdBindVertexBuffers2                           = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers2")
-	CmdBindVertexBuffers2EXT                        = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers2EXT")
-	CmdBlitImage                                    = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage")
-	CmdBlitImage2                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage2")
-	CmdBlitImage2KHR                                = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage2KHR")
-	CmdBuildAccelerationStructureNV                 = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructureNV")
-	CmdBuildAccelerationStructuresIndirectKHR       = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructuresIndirectKHR")
-	CmdBuildAccelerationStructuresKHR               = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructuresKHR")
-	CmdClearAttachments                             = auto_cast GetInstanceProcAddr(instance, "vkCmdClearAttachments")
-	CmdClearColorImage                              = auto_cast GetInstanceProcAddr(instance, "vkCmdClearColorImage")
-	CmdClearDepthStencilImage                       = auto_cast GetInstanceProcAddr(instance, "vkCmdClearDepthStencilImage")
-	CmdCopyAccelerationStructureKHR                 = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureKHR")
-	CmdCopyAccelerationStructureNV                  = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureNV")
-	CmdCopyAccelerationStructureToMemoryKHR         = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureToMemoryKHR")
-	CmdCopyBuffer                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer")
-	CmdCopyBuffer2                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer2")
-	CmdCopyBuffer2KHR                               = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer2KHR")
-	CmdCopyBufferToImage                            = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage")
-	CmdCopyBufferToImage2                           = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage2")
-	CmdCopyBufferToImage2KHR                        = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage2KHR")
-	CmdCopyImage                                    = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage")
-	CmdCopyImage2                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage2")
-	CmdCopyImage2KHR                                = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage2KHR")
-	CmdCopyImageToBuffer                            = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer")
-	CmdCopyImageToBuffer2                           = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer2")
-	CmdCopyImageToBuffer2KHR                        = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer2KHR")
-	CmdCopyMemoryToAccelerationStructureKHR         = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMemoryToAccelerationStructureKHR")
-	CmdCopyQueryPoolResults                         = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyQueryPoolResults")
-	CmdCuLaunchKernelNVX                            = auto_cast GetInstanceProcAddr(instance, "vkCmdCuLaunchKernelNVX")
-	CmdDebugMarkerBeginEXT                          = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerBeginEXT")
-	CmdDebugMarkerEndEXT                            = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerEndEXT")
-	CmdDebugMarkerInsertEXT                         = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerInsertEXT")
-	CmdDispatch                                     = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatch")
-	CmdDispatchBase                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchBase")
-	CmdDispatchBaseKHR                              = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchBaseKHR")
-	CmdDispatchIndirect                             = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchIndirect")
-	CmdDraw                                         = auto_cast GetInstanceProcAddr(instance, "vkCmdDraw")
-	CmdDrawIndexed                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexed")
-	CmdDrawIndexedIndirect                          = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirect")
-	CmdDrawIndexedIndirectCount                     = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCount")
-	CmdDrawIndexedIndirectCountAMD                  = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCountAMD")
-	CmdDrawIndexedIndirectCountKHR                  = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCountKHR")
-	CmdDrawIndirect                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirect")
-	CmdDrawIndirectByteCountEXT                     = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectByteCountEXT")
-	CmdDrawIndirectCount                            = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCount")
-	CmdDrawIndirectCountAMD                         = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCountAMD")
-	CmdDrawIndirectCountKHR                         = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCountKHR")
-	CmdDrawMeshTasksIndirectCountNV                 = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectCountNV")
-	CmdDrawMeshTasksIndirectNV                      = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectNV")
-	CmdDrawMeshTasksNV                              = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksNV")
-	CmdDrawMultiEXT                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMultiEXT")
-	CmdDrawMultiIndexedEXT                          = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMultiIndexedEXT")
-	CmdEndConditionalRenderingEXT                   = auto_cast GetInstanceProcAddr(instance, "vkCmdEndConditionalRenderingEXT")
-	CmdEndDebugUtilsLabelEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCmdEndDebugUtilsLabelEXT")
-	CmdEndQuery                                     = auto_cast GetInstanceProcAddr(instance, "vkCmdEndQuery")
-	CmdEndQueryIndexedEXT                           = auto_cast GetInstanceProcAddr(instance, "vkCmdEndQueryIndexedEXT")
-	CmdEndRenderPass                                = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass")
-	CmdEndRenderPass2                               = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass2")
-	CmdEndRenderPass2KHR                            = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass2KHR")
-	CmdEndRendering                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRendering")
-	CmdEndRenderingKHR                              = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderingKHR")
-	CmdEndTransformFeedbackEXT                      = auto_cast GetInstanceProcAddr(instance, "vkCmdEndTransformFeedbackEXT")
-	CmdExecuteCommands                              = auto_cast GetInstanceProcAddr(instance, "vkCmdExecuteCommands")
-	CmdExecuteGeneratedCommandsNV                   = auto_cast GetInstanceProcAddr(instance, "vkCmdExecuteGeneratedCommandsNV")
-	CmdFillBuffer                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdFillBuffer")
-	CmdInsertDebugUtilsLabelEXT                     = auto_cast GetInstanceProcAddr(instance, "vkCmdInsertDebugUtilsLabelEXT")
-	CmdNextSubpass                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass")
-	CmdNextSubpass2                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass2")
-	CmdNextSubpass2KHR                              = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass2KHR")
-	CmdPipelineBarrier                              = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier")
-	CmdPipelineBarrier2                             = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier2")
-	CmdPipelineBarrier2KHR                          = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier2KHR")
-	CmdPreprocessGeneratedCommandsNV                = auto_cast GetInstanceProcAddr(instance, "vkCmdPreprocessGeneratedCommandsNV")
-	CmdPushConstants                                = auto_cast GetInstanceProcAddr(instance, "vkCmdPushConstants")
-	CmdPushDescriptorSetKHR                         = auto_cast GetInstanceProcAddr(instance, "vkCmdPushDescriptorSetKHR")
-	CmdPushDescriptorSetWithTemplateKHR             = auto_cast GetInstanceProcAddr(instance, "vkCmdPushDescriptorSetWithTemplateKHR")
-	CmdResetEvent                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent")
-	CmdResetEvent2                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent2")
-	CmdResetEvent2KHR                               = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent2KHR")
-	CmdResetQueryPool                               = auto_cast GetInstanceProcAddr(instance, "vkCmdResetQueryPool")
-	CmdResolveImage                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage")
-	CmdResolveImage2                                = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage2")
-	CmdResolveImage2KHR                             = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage2KHR")
-	CmdSetBlendConstants                            = auto_cast GetInstanceProcAddr(instance, "vkCmdSetBlendConstants")
-	CmdSetCheckpointNV                              = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCheckpointNV")
-	CmdSetCoarseSampleOrderNV                       = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoarseSampleOrderNV")
-	CmdSetCullMode                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCullMode")
-	CmdSetCullModeEXT                               = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCullModeEXT")
-	CmdSetDepthBias                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBias")
-	CmdSetDepthBiasEnable                           = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBiasEnable")
-	CmdSetDepthBiasEnableEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBiasEnableEXT")
-	CmdSetDepthBounds                               = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBounds")
-	CmdSetDepthBoundsTestEnable                     = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBoundsTestEnable")
-	CmdSetDepthBoundsTestEnableEXT                  = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBoundsTestEnableEXT")
-	CmdSetDepthCompareOp                            = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthCompareOp")
-	CmdSetDepthCompareOpEXT                         = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthCompareOpEXT")
-	CmdSetDepthTestEnable                           = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthTestEnable")
-	CmdSetDepthTestEnableEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthTestEnableEXT")
-	CmdSetDepthWriteEnable                          = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthWriteEnable")
-	CmdSetDepthWriteEnableEXT                       = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthWriteEnableEXT")
-	CmdSetDeviceMask                                = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDeviceMask")
-	CmdSetDeviceMaskKHR                             = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDeviceMaskKHR")
-	CmdSetDiscardRectangleEXT                       = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleEXT")
-	CmdSetEvent                                     = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent")
-	CmdSetEvent2                                    = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent2")
-	CmdSetEvent2KHR                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent2KHR")
-	CmdSetExclusiveScissorNV                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetExclusiveScissorNV")
-	CmdSetFragmentShadingRateEnumNV                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateEnumNV")
-	CmdSetFragmentShadingRateKHR                    = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateKHR")
-	CmdSetFrontFace                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFrontFace")
-	CmdSetFrontFaceEXT                              = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFrontFaceEXT")
-	CmdSetLineStippleEXT                            = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineStippleEXT")
-	CmdSetLineWidth                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineWidth")
-	CmdSetLogicOpEXT                                = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLogicOpEXT")
-	CmdSetPatchControlPointsEXT                     = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPatchControlPointsEXT")
-	CmdSetPerformanceMarkerINTEL                    = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceMarkerINTEL")
-	CmdSetPerformanceOverrideINTEL                  = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceOverrideINTEL")
-	CmdSetPerformanceStreamMarkerINTEL              = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceStreamMarkerINTEL")
-	CmdSetPrimitiveRestartEnable                    = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveRestartEnable")
-	CmdSetPrimitiveRestartEnableEXT                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveRestartEnableEXT")
-	CmdSetPrimitiveTopology                         = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveTopology")
-	CmdSetPrimitiveTopologyEXT                      = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveTopologyEXT")
-	CmdSetRasterizerDiscardEnable                   = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizerDiscardEnable")
-	CmdSetRasterizerDiscardEnableEXT                = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizerDiscardEnableEXT")
-	CmdSetRayTracingPipelineStackSizeKHR            = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRayTracingPipelineStackSizeKHR")
-	CmdSetSampleLocationsEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetSampleLocationsEXT")
-	CmdSetScissor                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissor")
-	CmdSetScissorWithCount                          = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissorWithCount")
-	CmdSetScissorWithCountEXT                       = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissorWithCountEXT")
-	CmdSetStencilCompareMask                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilCompareMask")
-	CmdSetStencilOp                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilOp")
-	CmdSetStencilOpEXT                              = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilOpEXT")
-	CmdSetStencilReference                          = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilReference")
-	CmdSetStencilTestEnable                         = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilTestEnable")
-	CmdSetStencilTestEnableEXT                      = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilTestEnableEXT")
-	CmdSetStencilWriteMask                          = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilWriteMask")
-	CmdSetVertexInputEXT                            = auto_cast GetInstanceProcAddr(instance, "vkCmdSetVertexInputEXT")
-	CmdSetViewport                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewport")
-	CmdSetViewportShadingRatePaletteNV              = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportShadingRatePaletteNV")
-	CmdSetViewportWScalingNV                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWScalingNV")
-	CmdSetViewportWithCount                         = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWithCount")
-	CmdSetViewportWithCountEXT                      = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWithCountEXT")
-	CmdSubpassShadingHUAWEI                         = auto_cast GetInstanceProcAddr(instance, "vkCmdSubpassShadingHUAWEI")
-	CmdTraceRaysIndirectKHR                         = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysIndirectKHR")
-	CmdTraceRaysKHR                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysKHR")
-	CmdTraceRaysNV                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysNV")
-	CmdUpdateBuffer                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdUpdateBuffer")
-	CmdWaitEvents                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents")
-	CmdWaitEvents2                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents2")
-	CmdWaitEvents2KHR                               = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents2KHR")
-	CmdWriteAccelerationStructuresPropertiesKHR     = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteAccelerationStructuresPropertiesKHR")
-	CmdWriteAccelerationStructuresPropertiesNV      = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteAccelerationStructuresPropertiesNV")
-	CmdWriteBufferMarker2AMD                        = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteBufferMarker2AMD")
-	CmdWriteBufferMarkerAMD                         = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteBufferMarkerAMD")
-	CmdWriteTimestamp                               = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp")
-	CmdWriteTimestamp2                              = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp2")
-	CmdWriteTimestamp2KHR                           = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp2KHR")
-	CompileDeferredNV                               = auto_cast GetInstanceProcAddr(instance, "vkCompileDeferredNV")
-	CopyAccelerationStructureKHR                    = auto_cast GetInstanceProcAddr(instance, "vkCopyAccelerationStructureKHR")
-	CopyAccelerationStructureToMemoryKHR            = auto_cast GetInstanceProcAddr(instance, "vkCopyAccelerationStructureToMemoryKHR")
-	CopyMemoryToAccelerationStructureKHR            = auto_cast GetInstanceProcAddr(instance, "vkCopyMemoryToAccelerationStructureKHR")
-	CreateAccelerationStructureKHR                  = auto_cast GetInstanceProcAddr(instance, "vkCreateAccelerationStructureKHR")
-	CreateAccelerationStructureNV                   = auto_cast GetInstanceProcAddr(instance, "vkCreateAccelerationStructureNV")
-	CreateBuffer                                    = auto_cast GetInstanceProcAddr(instance, "vkCreateBuffer")
-	CreateBufferView                                = auto_cast GetInstanceProcAddr(instance, "vkCreateBufferView")
-	CreateCommandPool                               = auto_cast GetInstanceProcAddr(instance, "vkCreateCommandPool")
-	CreateComputePipelines                          = auto_cast GetInstanceProcAddr(instance, "vkCreateComputePipelines")
-	CreateCuFunctionNVX                             = auto_cast GetInstanceProcAddr(instance, "vkCreateCuFunctionNVX")
-	CreateCuModuleNVX                               = auto_cast GetInstanceProcAddr(instance, "vkCreateCuModuleNVX")
-	CreateDeferredOperationKHR                      = auto_cast GetInstanceProcAddr(instance, "vkCreateDeferredOperationKHR")
-	CreateDescriptorPool                            = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorPool")
-	CreateDescriptorSetLayout                       = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorSetLayout")
-	CreateDescriptorUpdateTemplate                  = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorUpdateTemplate")
-	CreateDescriptorUpdateTemplateKHR               = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorUpdateTemplateKHR")
-	CreateEvent                                     = auto_cast GetInstanceProcAddr(instance, "vkCreateEvent")
-	CreateFence                                     = auto_cast GetInstanceProcAddr(instance, "vkCreateFence")
-	CreateFramebuffer                               = auto_cast GetInstanceProcAddr(instance, "vkCreateFramebuffer")
-	CreateGraphicsPipelines                         = auto_cast GetInstanceProcAddr(instance, "vkCreateGraphicsPipelines")
-	CreateImage                                     = auto_cast GetInstanceProcAddr(instance, "vkCreateImage")
-	CreateImageView                                 = auto_cast GetInstanceProcAddr(instance, "vkCreateImageView")
-	CreateIndirectCommandsLayoutNV                  = auto_cast GetInstanceProcAddr(instance, "vkCreateIndirectCommandsLayoutNV")
-	CreatePipelineCache                             = auto_cast GetInstanceProcAddr(instance, "vkCreatePipelineCache")
-	CreatePipelineLayout                            = auto_cast GetInstanceProcAddr(instance, "vkCreatePipelineLayout")
-	CreatePrivateDataSlot                           = auto_cast GetInstanceProcAddr(instance, "vkCreatePrivateDataSlot")
-	CreatePrivateDataSlotEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCreatePrivateDataSlotEXT")
-	CreateQueryPool                                 = auto_cast GetInstanceProcAddr(instance, "vkCreateQueryPool")
-	CreateRayTracingPipelinesKHR                    = auto_cast GetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesKHR")
-	CreateRayTracingPipelinesNV                     = auto_cast GetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesNV")
-	CreateRenderPass                                = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass")
-	CreateRenderPass2                               = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass2")
-	CreateRenderPass2KHR                            = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass2KHR")
-	CreateSampler                                   = auto_cast GetInstanceProcAddr(instance, "vkCreateSampler")
-	CreateSamplerYcbcrConversion                    = auto_cast GetInstanceProcAddr(instance, "vkCreateSamplerYcbcrConversion")
-	CreateSamplerYcbcrConversionKHR                 = auto_cast GetInstanceProcAddr(instance, "vkCreateSamplerYcbcrConversionKHR")
-	CreateSemaphore                                 = auto_cast GetInstanceProcAddr(instance, "vkCreateSemaphore")
-	CreateShaderModule                              = auto_cast GetInstanceProcAddr(instance, "vkCreateShaderModule")
-	CreateSharedSwapchainsKHR                       = auto_cast GetInstanceProcAddr(instance, "vkCreateSharedSwapchainsKHR")
-	CreateSwapchainKHR                              = auto_cast GetInstanceProcAddr(instance, "vkCreateSwapchainKHR")
-	CreateValidationCacheEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCreateValidationCacheEXT")
-	DebugMarkerSetObjectNameEXT                     = auto_cast GetInstanceProcAddr(instance, "vkDebugMarkerSetObjectNameEXT")
-	DebugMarkerSetObjectTagEXT                      = auto_cast GetInstanceProcAddr(instance, "vkDebugMarkerSetObjectTagEXT")
-	DeferredOperationJoinKHR                        = auto_cast GetInstanceProcAddr(instance, "vkDeferredOperationJoinKHR")
-	DestroyAccelerationStructureKHR                 = auto_cast GetInstanceProcAddr(instance, "vkDestroyAccelerationStructureKHR")
-	DestroyAccelerationStructureNV                  = auto_cast GetInstanceProcAddr(instance, "vkDestroyAccelerationStructureNV")
-	DestroyBuffer                                   = auto_cast GetInstanceProcAddr(instance, "vkDestroyBuffer")
-	DestroyBufferView                               = auto_cast GetInstanceProcAddr(instance, "vkDestroyBufferView")
-	DestroyCommandPool                              = auto_cast GetInstanceProcAddr(instance, "vkDestroyCommandPool")
-	DestroyCuFunctionNVX                            = auto_cast GetInstanceProcAddr(instance, "vkDestroyCuFunctionNVX")
-	DestroyCuModuleNVX                              = auto_cast GetInstanceProcAddr(instance, "vkDestroyCuModuleNVX")
-	DestroyDeferredOperationKHR                     = auto_cast GetInstanceProcAddr(instance, "vkDestroyDeferredOperationKHR")
-	DestroyDescriptorPool                           = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorPool")
-	DestroyDescriptorSetLayout                      = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorSetLayout")
-	DestroyDescriptorUpdateTemplate                 = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorUpdateTemplate")
-	DestroyDescriptorUpdateTemplateKHR              = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorUpdateTemplateKHR")
-	DestroyDevice                                   = auto_cast GetInstanceProcAddr(instance, "vkDestroyDevice")
-	DestroyEvent                                    = auto_cast GetInstanceProcAddr(instance, "vkDestroyEvent")
-	DestroyFence                                    = auto_cast GetInstanceProcAddr(instance, "vkDestroyFence")
-	DestroyFramebuffer                              = auto_cast GetInstanceProcAddr(instance, "vkDestroyFramebuffer")
-	DestroyImage                                    = auto_cast GetInstanceProcAddr(instance, "vkDestroyImage")
-	DestroyImageView                                = auto_cast GetInstanceProcAddr(instance, "vkDestroyImageView")
-	DestroyIndirectCommandsLayoutNV                 = auto_cast GetInstanceProcAddr(instance, "vkDestroyIndirectCommandsLayoutNV")
-	DestroyPipeline                                 = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipeline")
-	DestroyPipelineCache                            = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipelineCache")
-	DestroyPipelineLayout                           = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipelineLayout")
-	DestroyPrivateDataSlot                          = auto_cast GetInstanceProcAddr(instance, "vkDestroyPrivateDataSlot")
-	DestroyPrivateDataSlotEXT                       = auto_cast GetInstanceProcAddr(instance, "vkDestroyPrivateDataSlotEXT")
-	DestroyQueryPool                                = auto_cast GetInstanceProcAddr(instance, "vkDestroyQueryPool")
-	DestroyRenderPass                               = auto_cast GetInstanceProcAddr(instance, "vkDestroyRenderPass")
-	DestroySampler                                  = auto_cast GetInstanceProcAddr(instance, "vkDestroySampler")
-	DestroySamplerYcbcrConversion                   = auto_cast GetInstanceProcAddr(instance, "vkDestroySamplerYcbcrConversion")
-	DestroySamplerYcbcrConversionKHR                = auto_cast GetInstanceProcAddr(instance, "vkDestroySamplerYcbcrConversionKHR")
-	DestroySemaphore                                = auto_cast GetInstanceProcAddr(instance, "vkDestroySemaphore")
-	DestroyShaderModule                             = auto_cast GetInstanceProcAddr(instance, "vkDestroyShaderModule")
-	DestroySwapchainKHR                             = auto_cast GetInstanceProcAddr(instance, "vkDestroySwapchainKHR")
-	DestroyValidationCacheEXT                       = auto_cast GetInstanceProcAddr(instance, "vkDestroyValidationCacheEXT")
-	DeviceWaitIdle                                  = auto_cast GetInstanceProcAddr(instance, "vkDeviceWaitIdle")
-	DisplayPowerControlEXT                          = auto_cast GetInstanceProcAddr(instance, "vkDisplayPowerControlEXT")
-	EndCommandBuffer                                = auto_cast GetInstanceProcAddr(instance, "vkEndCommandBuffer")
-	FlushMappedMemoryRanges                         = auto_cast GetInstanceProcAddr(instance, "vkFlushMappedMemoryRanges")
-	FreeCommandBuffers                              = auto_cast GetInstanceProcAddr(instance, "vkFreeCommandBuffers")
-	FreeDescriptorSets                              = auto_cast GetInstanceProcAddr(instance, "vkFreeDescriptorSets")
-	FreeMemory                                      = auto_cast GetInstanceProcAddr(instance, "vkFreeMemory")
-	GetAccelerationStructureBuildSizesKHR           = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureBuildSizesKHR")
-	GetAccelerationStructureDeviceAddressKHR        = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureDeviceAddressKHR")
-	GetAccelerationStructureHandleNV                = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureHandleNV")
-	GetAccelerationStructureMemoryRequirementsNV    = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureMemoryRequirementsNV")
-	GetBufferDeviceAddress                          = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddress")
-	GetBufferDeviceAddressEXT                       = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddressEXT")
-	GetBufferDeviceAddressKHR                       = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddressKHR")
-	GetBufferMemoryRequirements                     = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements")
-	GetBufferMemoryRequirements2                    = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements2")
-	GetBufferMemoryRequirements2KHR                 = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements2KHR")
-	GetBufferOpaqueCaptureAddress                   = auto_cast GetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureAddress")
-	GetBufferOpaqueCaptureAddressKHR                = auto_cast GetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureAddressKHR")
-	GetCalibratedTimestampsEXT                      = auto_cast GetInstanceProcAddr(instance, "vkGetCalibratedTimestampsEXT")
-	GetDeferredOperationMaxConcurrencyKHR           = auto_cast GetInstanceProcAddr(instance, "vkGetDeferredOperationMaxConcurrencyKHR")
-	GetDeferredOperationResultKHR                   = auto_cast GetInstanceProcAddr(instance, "vkGetDeferredOperationResultKHR")
-	GetDescriptorSetHostMappingVALVE                = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetHostMappingVALVE")
-	GetDescriptorSetLayoutHostMappingInfoVALVE      = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
-	GetDescriptorSetLayoutSupport                   = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSupport")
-	GetDescriptorSetLayoutSupportKHR                = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSupportKHR")
-	GetDeviceAccelerationStructureCompatibilityKHR  = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceAccelerationStructureCompatibilityKHR")
-	GetDeviceBufferMemoryRequirements               = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceBufferMemoryRequirements")
-	GetDeviceBufferMemoryRequirementsKHR            = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceBufferMemoryRequirementsKHR")
-	GetDeviceGroupPeerMemoryFeatures                = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPeerMemoryFeatures")
-	GetDeviceGroupPeerMemoryFeaturesKHR             = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR")
-	GetDeviceGroupPresentCapabilitiesKHR            = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPresentCapabilitiesKHR")
-	GetDeviceGroupSurfacePresentModes2EXT           = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupSurfacePresentModes2EXT")
-	GetDeviceGroupSurfacePresentModesKHR            = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupSurfacePresentModesKHR")
-	GetDeviceImageMemoryRequirements                = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageMemoryRequirements")
-	GetDeviceImageMemoryRequirementsKHR             = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageMemoryRequirementsKHR")
-	GetDeviceImageSparseMemoryRequirements          = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageSparseMemoryRequirements")
-	GetDeviceImageSparseMemoryRequirementsKHR       = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageSparseMemoryRequirementsKHR")
-	GetDeviceMemoryCommitment                       = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryCommitment")
-	GetDeviceMemoryOpaqueCaptureAddress             = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryOpaqueCaptureAddress")
-	GetDeviceMemoryOpaqueCaptureAddressKHR          = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
-	GetDeviceProcAddr                               = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceProcAddr")
-	GetDeviceQueue                                  = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceQueue")
-	GetDeviceQueue2                                 = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceQueue2")
-	GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
-	GetEventStatus                                  = auto_cast GetInstanceProcAddr(instance, "vkGetEventStatus")
-	GetFenceFdKHR                                   = auto_cast GetInstanceProcAddr(instance, "vkGetFenceFdKHR")
-	GetFenceStatus                                  = auto_cast GetInstanceProcAddr(instance, "vkGetFenceStatus")
-	GetFenceWin32HandleKHR                          = auto_cast GetInstanceProcAddr(instance, "vkGetFenceWin32HandleKHR")
-	GetGeneratedCommandsMemoryRequirementsNV        = auto_cast GetInstanceProcAddr(instance, "vkGetGeneratedCommandsMemoryRequirementsNV")
-	GetImageDrmFormatModifierPropertiesEXT          = auto_cast GetInstanceProcAddr(instance, "vkGetImageDrmFormatModifierPropertiesEXT")
-	GetImageMemoryRequirements                      = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements")
-	GetImageMemoryRequirements2                     = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements2")
-	GetImageMemoryRequirements2KHR                  = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements2KHR")
-	GetImageSparseMemoryRequirements                = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements")
-	GetImageSparseMemoryRequirements2               = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements2")
-	GetImageSparseMemoryRequirements2KHR            = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements2KHR")
-	GetImageSubresourceLayout                       = auto_cast GetInstanceProcAddr(instance, "vkGetImageSubresourceLayout")
-	GetImageViewAddressNVX                          = auto_cast GetInstanceProcAddr(instance, "vkGetImageViewAddressNVX")
-	GetImageViewHandleNVX                           = auto_cast GetInstanceProcAddr(instance, "vkGetImageViewHandleNVX")
-	GetMemoryFdKHR                                  = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryFdKHR")
-	GetMemoryFdPropertiesKHR                        = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryFdPropertiesKHR")
-	GetMemoryHostPointerPropertiesEXT               = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryHostPointerPropertiesEXT")
-	GetMemoryRemoteAddressNV                        = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryRemoteAddressNV")
-	GetMemoryWin32HandleKHR                         = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandleKHR")
-	GetMemoryWin32HandleNV                          = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandleNV")
-	GetMemoryWin32HandlePropertiesKHR               = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandlePropertiesKHR")
-	GetPastPresentationTimingGOOGLE                 = auto_cast GetInstanceProcAddr(instance, "vkGetPastPresentationTimingGOOGLE")
-	GetPerformanceParameterINTEL                    = auto_cast GetInstanceProcAddr(instance, "vkGetPerformanceParameterINTEL")
-	GetPipelineCacheData                            = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineCacheData")
-	GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutableInternalRepresentationsKHR")
-	GetPipelineExecutablePropertiesKHR              = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutablePropertiesKHR")
-	GetPipelineExecutableStatisticsKHR              = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutableStatisticsKHR")
-	GetPrivateData                                  = auto_cast GetInstanceProcAddr(instance, "vkGetPrivateData")
-	GetPrivateDataEXT                               = auto_cast GetInstanceProcAddr(instance, "vkGetPrivateDataEXT")
-	GetQueryPoolResults                             = auto_cast GetInstanceProcAddr(instance, "vkGetQueryPoolResults")
-	GetQueueCheckpointData2NV                       = auto_cast GetInstanceProcAddr(instance, "vkGetQueueCheckpointData2NV")
-	GetQueueCheckpointDataNV                        = auto_cast GetInstanceProcAddr(instance, "vkGetQueueCheckpointDataNV")
-	GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
-	GetRayTracingShaderGroupHandlesKHR              = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupHandlesKHR")
-	GetRayTracingShaderGroupHandlesNV               = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupHandlesNV")
-	GetRayTracingShaderGroupStackSizeKHR            = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupStackSizeKHR")
-	GetRefreshCycleDurationGOOGLE                   = auto_cast GetInstanceProcAddr(instance, "vkGetRefreshCycleDurationGOOGLE")
-	GetRenderAreaGranularity                        = auto_cast GetInstanceProcAddr(instance, "vkGetRenderAreaGranularity")
-	GetSemaphoreCounterValue                        = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreCounterValue")
-	GetSemaphoreCounterValueKHR                     = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreCounterValueKHR")
-	GetSemaphoreFdKHR                               = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreFdKHR")
-	GetSemaphoreWin32HandleKHR                      = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreWin32HandleKHR")
-	GetShaderInfoAMD                                = auto_cast GetInstanceProcAddr(instance, "vkGetShaderInfoAMD")
-	GetSwapchainCounterEXT                          = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainCounterEXT")
-	GetSwapchainImagesKHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainImagesKHR")
-	GetSwapchainStatusKHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainStatusKHR")
-	GetValidationCacheDataEXT                       = auto_cast GetInstanceProcAddr(instance, "vkGetValidationCacheDataEXT")
-	ImportFenceFdKHR                                = auto_cast GetInstanceProcAddr(instance, "vkImportFenceFdKHR")
-	ImportFenceWin32HandleKHR                       = auto_cast GetInstanceProcAddr(instance, "vkImportFenceWin32HandleKHR")
-	ImportSemaphoreFdKHR                            = auto_cast GetInstanceProcAddr(instance, "vkImportSemaphoreFdKHR")
-	ImportSemaphoreWin32HandleKHR                   = auto_cast GetInstanceProcAddr(instance, "vkImportSemaphoreWin32HandleKHR")
-	InitializePerformanceApiINTEL                   = auto_cast GetInstanceProcAddr(instance, "vkInitializePerformanceApiINTEL")
-	InvalidateMappedMemoryRanges                    = auto_cast GetInstanceProcAddr(instance, "vkInvalidateMappedMemoryRanges")
-	MapMemory                                       = auto_cast GetInstanceProcAddr(instance, "vkMapMemory")
-	MergePipelineCaches                             = auto_cast GetInstanceProcAddr(instance, "vkMergePipelineCaches")
-	MergeValidationCachesEXT                        = auto_cast GetInstanceProcAddr(instance, "vkMergeValidationCachesEXT")
-	QueueBeginDebugUtilsLabelEXT                    = auto_cast GetInstanceProcAddr(instance, "vkQueueBeginDebugUtilsLabelEXT")
-	QueueBindSparse                                 = auto_cast GetInstanceProcAddr(instance, "vkQueueBindSparse")
-	QueueEndDebugUtilsLabelEXT                      = auto_cast GetInstanceProcAddr(instance, "vkQueueEndDebugUtilsLabelEXT")
-	QueueInsertDebugUtilsLabelEXT                   = auto_cast GetInstanceProcAddr(instance, "vkQueueInsertDebugUtilsLabelEXT")
-	QueuePresentKHR                                 = auto_cast GetInstanceProcAddr(instance, "vkQueuePresentKHR")
-	QueueSetPerformanceConfigurationINTEL           = auto_cast GetInstanceProcAddr(instance, "vkQueueSetPerformanceConfigurationINTEL")
-	QueueSubmit                                     = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit")
-	QueueSubmit2                                    = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit2")
-	QueueSubmit2KHR                                 = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit2KHR")
-	QueueWaitIdle                                   = auto_cast GetInstanceProcAddr(instance, "vkQueueWaitIdle")
-	RegisterDeviceEventEXT                          = auto_cast GetInstanceProcAddr(instance, "vkRegisterDeviceEventEXT")
-	RegisterDisplayEventEXT                         = auto_cast GetInstanceProcAddr(instance, "vkRegisterDisplayEventEXT")
-	ReleaseFullScreenExclusiveModeEXT               = auto_cast GetInstanceProcAddr(instance, "vkReleaseFullScreenExclusiveModeEXT")
-	ReleasePerformanceConfigurationINTEL            = auto_cast GetInstanceProcAddr(instance, "vkReleasePerformanceConfigurationINTEL")
-	ReleaseProfilingLockKHR                         = auto_cast GetInstanceProcAddr(instance, "vkReleaseProfilingLockKHR")
-	ResetCommandBuffer                              = auto_cast GetInstanceProcAddr(instance, "vkResetCommandBuffer")
-	ResetCommandPool                                = auto_cast GetInstanceProcAddr(instance, "vkResetCommandPool")
-	ResetDescriptorPool                             = auto_cast GetInstanceProcAddr(instance, "vkResetDescriptorPool")
-	ResetEvent                                      = auto_cast GetInstanceProcAddr(instance, "vkResetEvent")
-	ResetFences                                     = auto_cast GetInstanceProcAddr(instance, "vkResetFences")
-	ResetQueryPool                                  = auto_cast GetInstanceProcAddr(instance, "vkResetQueryPool")
-	ResetQueryPoolEXT                               = auto_cast GetInstanceProcAddr(instance, "vkResetQueryPoolEXT")
-	SetDebugUtilsObjectNameEXT                      = auto_cast GetInstanceProcAddr(instance, "vkSetDebugUtilsObjectNameEXT")
-	SetDebugUtilsObjectTagEXT                       = auto_cast GetInstanceProcAddr(instance, "vkSetDebugUtilsObjectTagEXT")
-	SetDeviceMemoryPriorityEXT                      = auto_cast GetInstanceProcAddr(instance, "vkSetDeviceMemoryPriorityEXT")
-	SetEvent                                        = auto_cast GetInstanceProcAddr(instance, "vkSetEvent")
-	SetHdrMetadataEXT                               = auto_cast GetInstanceProcAddr(instance, "vkSetHdrMetadataEXT")
-	SetLocalDimmingAMD                              = auto_cast GetInstanceProcAddr(instance, "vkSetLocalDimmingAMD")
-	SetPrivateData                                  = auto_cast GetInstanceProcAddr(instance, "vkSetPrivateData")
-	SetPrivateDataEXT                               = auto_cast GetInstanceProcAddr(instance, "vkSetPrivateDataEXT")
-	SignalSemaphore                                 = auto_cast GetInstanceProcAddr(instance, "vkSignalSemaphore")
-	SignalSemaphoreKHR                              = auto_cast GetInstanceProcAddr(instance, "vkSignalSemaphoreKHR")
-	TrimCommandPool                                 = auto_cast GetInstanceProcAddr(instance, "vkTrimCommandPool")
-	TrimCommandPoolKHR                              = auto_cast GetInstanceProcAddr(instance, "vkTrimCommandPoolKHR")
-	UninitializePerformanceApiINTEL                 = auto_cast GetInstanceProcAddr(instance, "vkUninitializePerformanceApiINTEL")
-	UnmapMemory                                     = auto_cast GetInstanceProcAddr(instance, "vkUnmapMemory")
-	UpdateDescriptorSetWithTemplate                 = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSetWithTemplate")
-	UpdateDescriptorSetWithTemplateKHR              = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSetWithTemplateKHR")
-	UpdateDescriptorSets                            = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSets")
-	WaitForFences                                   = auto_cast GetInstanceProcAddr(instance, "vkWaitForFences")
-	WaitForPresentKHR                               = auto_cast GetInstanceProcAddr(instance, "vkWaitForPresentKHR")
-	WaitSemaphores                                  = auto_cast GetInstanceProcAddr(instance, "vkWaitSemaphores")
-	WaitSemaphoresKHR                               = auto_cast GetInstanceProcAddr(instance, "vkWaitSemaphoresKHR")
-	WriteAccelerationStructuresPropertiesKHR        = auto_cast GetInstanceProcAddr(instance, "vkWriteAccelerationStructuresPropertiesKHR")
-}
-
-load_proc_addresses_global :: proc(vk_get_instance_proc_addr: rawptr) {
-	GetInstanceProcAddr = auto_cast vk_get_instance_proc_addr
-
-	CreateInstance                       = auto_cast GetInstanceProcAddr(nil, "vkCreateInstance")
-	DebugUtilsMessengerCallbackEXT       = auto_cast GetInstanceProcAddr(nil, "vkDebugUtilsMessengerCallbackEXT")
-	DeviceMemoryReportCallbackEXT        = auto_cast GetInstanceProcAddr(nil, "vkDeviceMemoryReportCallbackEXT")
-	EnumerateInstanceExtensionProperties = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceExtensionProperties")
-	EnumerateInstanceLayerProperties     = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceLayerProperties")
-	EnumerateInstanceVersion             = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceVersion")
-	GetInstanceProcAddr                  = auto_cast GetInstanceProcAddr(nil, "vkGetInstanceProcAddr")
-}
-
-load_proc_addresses :: proc{
-	load_proc_addresses_global,
-	load_proc_addresses_instance,
-	load_proc_addresses_device,
-	load_proc_addresses_device_vtable,
-	load_proc_addresses_custom,
-}
-
+//
+// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
+//
+package vulkan
+
+import "core:c"
+
+// Loader Procedure Types
+ProcCreateInstance                       :: #type proc "system" (pCreateInfo: ^InstanceCreateInfo, pAllocator: ^AllocationCallbacks, pInstance: ^Instance) -> Result
+ProcDebugUtilsMessengerCallbackEXT       :: #type proc "system" (messageSeverity: DebugUtilsMessageSeverityFlagsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: ^DebugUtilsMessengerCallbackDataEXT, pUserData: rawptr) -> b32
+ProcDeviceMemoryReportCallbackEXT        :: #type proc "system" (pCallbackData: ^DeviceMemoryReportCallbackDataEXT, pUserData: rawptr)
+ProcEnumerateInstanceExtensionProperties :: #type proc "system" (pLayerName: cstring, pPropertyCount: ^u32, pProperties: [^]ExtensionProperties) -> Result
+ProcEnumerateInstanceLayerProperties     :: #type proc "system" (pPropertyCount: ^u32, pProperties: [^]LayerProperties) -> Result
+ProcEnumerateInstanceVersion             :: #type proc "system" (pApiVersion: ^u32) -> Result
+
+// Misc Procedure Types
+ProcAllocationFunction             :: #type proc "system" (pUserData: rawptr, size: int, alignment: int, allocationScope: SystemAllocationScope) -> rawptr
+ProcDebugReportCallbackEXT         :: #type proc "system" (flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: int, messageCode: i32, pLayerPrefix: cstring, pMessage: cstring, pUserData: rawptr) -> b32
+ProcFreeFunction                   :: #type proc "system" (pUserData: rawptr, pMemory: rawptr)
+ProcInternalAllocationNotification :: #type proc "system" (pUserData: rawptr, size: int, allocationType: InternalAllocationType, allocationScope: SystemAllocationScope)
+ProcInternalFreeNotification       :: #type proc "system" (pUserData: rawptr, size: int, allocationType: InternalAllocationType, allocationScope: SystemAllocationScope)
+ProcReallocationFunction           :: #type proc "system" (pUserData: rawptr, pOriginal: rawptr, size: int, alignment: int, allocationScope: SystemAllocationScope) -> rawptr
+ProcVoidFunction                   :: #type proc "system" ()
+
+// Instance Procedure Types
+ProcAcquireDrmDisplayEXT                                            :: #type proc "system" (physicalDevice: PhysicalDevice, drmFd: i32, display: DisplayKHR) -> Result
+ProcAcquireWinrtDisplayNV                                           :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result
+ProcCreateDebugReportCallbackEXT                                    :: #type proc "system" (instance: Instance, pCreateInfo: ^DebugReportCallbackCreateInfoEXT, pAllocator: ^AllocationCallbacks, pCallback: ^DebugReportCallbackEXT) -> Result
+ProcCreateDebugUtilsMessengerEXT                                    :: #type proc "system" (instance: Instance, pCreateInfo: ^DebugUtilsMessengerCreateInfoEXT, pAllocator: ^AllocationCallbacks, pMessenger: ^DebugUtilsMessengerEXT) -> Result
+ProcCreateDevice                                                    :: #type proc "system" (physicalDevice: PhysicalDevice, pCreateInfo: ^DeviceCreateInfo, pAllocator: ^AllocationCallbacks, pDevice: ^Device) -> Result
+ProcCreateDisplayModeKHR                                            :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pCreateInfo: ^DisplayModeCreateInfoKHR, pAllocator: ^AllocationCallbacks, pMode: ^DisplayModeKHR) -> Result
+ProcCreateDisplayPlaneSurfaceKHR                                    :: #type proc "system" (instance: Instance, pCreateInfo: ^DisplaySurfaceCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
+ProcCreateHeadlessSurfaceEXT                                        :: #type proc "system" (instance: Instance, pCreateInfo: ^HeadlessSurfaceCreateInfoEXT, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
+ProcCreateIOSSurfaceMVK                                             :: #type proc "system" (instance: Instance, pCreateInfo: ^IOSSurfaceCreateInfoMVK, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
+ProcCreateMacOSSurfaceMVK                                           :: #type proc "system" (instance: Instance, pCreateInfo: ^MacOSSurfaceCreateInfoMVK, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
+ProcCreateMetalSurfaceEXT                                           :: #type proc "system" (instance: Instance, pCreateInfo: ^MetalSurfaceCreateInfoEXT, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
+ProcCreateWin32SurfaceKHR                                           :: #type proc "system" (instance: Instance, pCreateInfo: ^Win32SurfaceCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
+ProcDebugReportMessageEXT                                           :: #type proc "system" (instance: Instance, flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: int, messageCode: i32, pLayerPrefix: cstring, pMessage: cstring)
+ProcDestroyDebugReportCallbackEXT                                   :: #type proc "system" (instance: Instance, callback: DebugReportCallbackEXT, pAllocator: ^AllocationCallbacks)
+ProcDestroyDebugUtilsMessengerEXT                                   :: #type proc "system" (instance: Instance, messenger: DebugUtilsMessengerEXT, pAllocator: ^AllocationCallbacks)
+ProcDestroyInstance                                                 :: #type proc "system" (instance: Instance, pAllocator: ^AllocationCallbacks)
+ProcDestroySurfaceKHR                                               :: #type proc "system" (instance: Instance, surface: SurfaceKHR, pAllocator: ^AllocationCallbacks)
+ProcEnumerateDeviceExtensionProperties                              :: #type proc "system" (physicalDevice: PhysicalDevice, pLayerName: cstring, pPropertyCount: ^u32, pProperties: [^]ExtensionProperties) -> Result
+ProcEnumerateDeviceLayerProperties                                  :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]LayerProperties) -> Result
+ProcEnumeratePhysicalDeviceGroups                                   :: #type proc "system" (instance: Instance, pPhysicalDeviceGroupCount: ^u32, pPhysicalDeviceGroupProperties: [^]PhysicalDeviceGroupProperties) -> Result
+ProcEnumeratePhysicalDeviceGroupsKHR                                :: #type proc "system" (instance: Instance, pPhysicalDeviceGroupCount: ^u32, pPhysicalDeviceGroupProperties: [^]PhysicalDeviceGroupProperties) -> Result
+ProcEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR   :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, pCounterCount: ^u32, pCounters: [^]PerformanceCounterKHR, pCounterDescriptions: [^]PerformanceCounterDescriptionKHR) -> Result
+ProcEnumeratePhysicalDevices                                        :: #type proc "system" (instance: Instance, pPhysicalDeviceCount: ^u32, pPhysicalDevices: [^]PhysicalDevice) -> Result
+ProcGetDisplayModeProperties2KHR                                    :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: ^u32, pProperties: [^]DisplayModeProperties2KHR) -> Result
+ProcGetDisplayModePropertiesKHR                                     :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: ^u32, pProperties: [^]DisplayModePropertiesKHR) -> Result
+ProcGetDisplayPlaneCapabilities2KHR                                 :: #type proc "system" (physicalDevice: PhysicalDevice, pDisplayPlaneInfo: ^DisplayPlaneInfo2KHR, pCapabilities: [^]DisplayPlaneCapabilities2KHR) -> Result
+ProcGetDisplayPlaneCapabilitiesKHR                                  :: #type proc "system" (physicalDevice: PhysicalDevice, mode: DisplayModeKHR, planeIndex: u32, pCapabilities: [^]DisplayPlaneCapabilitiesKHR) -> Result
+ProcGetDisplayPlaneSupportedDisplaysKHR                             :: #type proc "system" (physicalDevice: PhysicalDevice, planeIndex: u32, pDisplayCount: ^u32, pDisplays: [^]DisplayKHR) -> Result
+ProcGetDrmDisplayEXT                                                :: #type proc "system" (physicalDevice: PhysicalDevice, drmFd: i32, connectorId: u32, display: ^DisplayKHR) -> Result
+ProcGetInstanceProcAddr                                             :: #type proc "system" (instance: Instance, pName: cstring) -> ProcVoidFunction
+ProcGetPhysicalDeviceCalibrateableTimeDomainsEXT                    :: #type proc "system" (physicalDevice: PhysicalDevice, pTimeDomainCount: ^u32, pTimeDomains: [^]TimeDomainEXT) -> Result
+ProcGetPhysicalDeviceCooperativeMatrixPropertiesNV                  :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]CooperativeMatrixPropertiesNV) -> Result
+ProcGetPhysicalDeviceDisplayPlaneProperties2KHR                     :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPlaneProperties2KHR) -> Result
+ProcGetPhysicalDeviceDisplayPlanePropertiesKHR                      :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPlanePropertiesKHR) -> Result
+ProcGetPhysicalDeviceDisplayProperties2KHR                          :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayProperties2KHR) -> Result
+ProcGetPhysicalDeviceDisplayPropertiesKHR                           :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPropertiesKHR) -> Result
+ProcGetPhysicalDeviceExternalBufferProperties                       :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalBufferInfo: ^PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: [^]ExternalBufferProperties)
+ProcGetPhysicalDeviceExternalBufferPropertiesKHR                    :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalBufferInfo: ^PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: [^]ExternalBufferProperties)
+ProcGetPhysicalDeviceExternalFenceProperties                        :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalFenceInfo: ^PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: [^]ExternalFenceProperties)
+ProcGetPhysicalDeviceExternalFencePropertiesKHR                     :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalFenceInfo: ^PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: [^]ExternalFenceProperties)
+ProcGetPhysicalDeviceExternalImageFormatPropertiesNV                :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, externalHandleType: ExternalMemoryHandleTypeFlagsNV, pExternalImageFormatProperties: [^]ExternalImageFormatPropertiesNV) -> Result
+ProcGetPhysicalDeviceExternalSemaphoreProperties                    :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: ^PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: [^]ExternalSemaphoreProperties)
+ProcGetPhysicalDeviceExternalSemaphorePropertiesKHR                 :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: ^PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: [^]ExternalSemaphoreProperties)
+ProcGetPhysicalDeviceFeatures                                       :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures)
+ProcGetPhysicalDeviceFeatures2                                      :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures2)
+ProcGetPhysicalDeviceFeatures2KHR                                   :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures2)
+ProcGetPhysicalDeviceFormatProperties                               :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties)
+ProcGetPhysicalDeviceFormatProperties2                              :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties2)
+ProcGetPhysicalDeviceFormatProperties2KHR                           :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties2)
+ProcGetPhysicalDeviceFragmentShadingRatesKHR                        :: #type proc "system" (physicalDevice: PhysicalDevice, pFragmentShadingRateCount: ^u32, pFragmentShadingRates: [^]PhysicalDeviceFragmentShadingRateKHR) -> Result
+ProcGetPhysicalDeviceImageFormatProperties                          :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, pImageFormatProperties: [^]ImageFormatProperties) -> Result
+ProcGetPhysicalDeviceImageFormatProperties2                         :: #type proc "system" (physicalDevice: PhysicalDevice, pImageFormatInfo: ^PhysicalDeviceImageFormatInfo2, pImageFormatProperties: [^]ImageFormatProperties2) -> Result
+ProcGetPhysicalDeviceImageFormatProperties2KHR                      :: #type proc "system" (physicalDevice: PhysicalDevice, pImageFormatInfo: ^PhysicalDeviceImageFormatInfo2, pImageFormatProperties: [^]ImageFormatProperties2) -> Result
+ProcGetPhysicalDeviceMemoryProperties                               :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties)
+ProcGetPhysicalDeviceMemoryProperties2                              :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties2)
+ProcGetPhysicalDeviceMemoryProperties2KHR                           :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties2)
+ProcGetPhysicalDeviceMultisamplePropertiesEXT                       :: #type proc "system" (physicalDevice: PhysicalDevice, samples: SampleCountFlags, pMultisampleProperties: [^]MultisamplePropertiesEXT)
+ProcGetPhysicalDevicePresentRectanglesKHR                           :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pRectCount: ^u32, pRects: [^]Rect2D) -> Result
+ProcGetPhysicalDeviceProperties                                     :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties)
+ProcGetPhysicalDeviceProperties2                                    :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties2)
+ProcGetPhysicalDeviceProperties2KHR                                 :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties2)
+ProcGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR           :: #type proc "system" (physicalDevice: PhysicalDevice, pPerformanceQueryCreateInfo: ^QueryPoolPerformanceCreateInfoKHR, pNumPasses: [^]u32)
+ProcGetPhysicalDeviceQueueFamilyProperties                          :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties)
+ProcGetPhysicalDeviceQueueFamilyProperties2                         :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties2)
+ProcGetPhysicalDeviceQueueFamilyProperties2KHR                      :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties2)
+ProcGetPhysicalDeviceSparseImageFormatProperties                    :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, samples: SampleCountFlags, usage: ImageUsageFlags, tiling: ImageTiling, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties)
+ProcGetPhysicalDeviceSparseImageFormatProperties2                   :: #type proc "system" (physicalDevice: PhysicalDevice, pFormatInfo: ^PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties2)
+ProcGetPhysicalDeviceSparseImageFormatProperties2KHR                :: #type proc "system" (physicalDevice: PhysicalDevice, pFormatInfo: ^PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties2)
+ProcGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV :: #type proc "system" (physicalDevice: PhysicalDevice, pCombinationCount: ^u32, pCombinations: [^]FramebufferMixedSamplesCombinationNV) -> Result
+ProcGetPhysicalDeviceSurfaceCapabilities2EXT                        :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: [^]SurfaceCapabilities2EXT) -> Result
+ProcGetPhysicalDeviceSurfaceCapabilities2KHR                        :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pSurfaceCapabilities: [^]SurfaceCapabilities2KHR) -> Result
+ProcGetPhysicalDeviceSurfaceCapabilitiesKHR                         :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: [^]SurfaceCapabilitiesKHR) -> Result
+ProcGetPhysicalDeviceSurfaceFormats2KHR                             :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pSurfaceFormatCount: ^u32, pSurfaceFormats: [^]SurfaceFormat2KHR) -> Result
+ProcGetPhysicalDeviceSurfaceFormatsKHR                              :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceFormatCount: ^u32, pSurfaceFormats: [^]SurfaceFormatKHR) -> Result
+ProcGetPhysicalDeviceSurfacePresentModes2EXT                        :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pPresentModeCount: ^u32, pPresentModes: [^]PresentModeKHR) -> Result
+ProcGetPhysicalDeviceSurfacePresentModesKHR                         :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pPresentModeCount: ^u32, pPresentModes: [^]PresentModeKHR) -> Result
+ProcGetPhysicalDeviceSurfaceSupportKHR                              :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, surface: SurfaceKHR, pSupported: ^b32) -> Result
+ProcGetPhysicalDeviceToolProperties                                 :: #type proc "system" (physicalDevice: PhysicalDevice, pToolCount: ^u32, pToolProperties: [^]PhysicalDeviceToolProperties) -> Result
+ProcGetPhysicalDeviceToolPropertiesEXT                              :: #type proc "system" (physicalDevice: PhysicalDevice, pToolCount: ^u32, pToolProperties: [^]PhysicalDeviceToolProperties) -> Result
+ProcGetPhysicalDeviceWin32PresentationSupportKHR                    :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32) -> b32
+ProcGetWinrtDisplayNV                                               :: #type proc "system" (physicalDevice: PhysicalDevice, deviceRelativeId: u32, pDisplay: ^DisplayKHR) -> Result
+ProcReleaseDisplayEXT                                               :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result
+ProcSubmitDebugUtilsMessageEXT                                      :: #type proc "system" (instance: Instance, messageSeverity: DebugUtilsMessageSeverityFlagsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: ^DebugUtilsMessengerCallbackDataEXT)
+
+// Device Procedure Types
+ProcAcquireFullScreenExclusiveModeEXT               :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result
+ProcAcquireNextImage2KHR                            :: #type proc "system" (device: Device, pAcquireInfo: ^AcquireNextImageInfoKHR, pImageIndex: ^u32) -> Result
+ProcAcquireNextImageKHR                             :: #type proc "system" (device: Device, swapchain: SwapchainKHR, timeout: u64, semaphore: Semaphore, fence: Fence, pImageIndex: ^u32) -> Result
+ProcAcquirePerformanceConfigurationINTEL            :: #type proc "system" (device: Device, pAcquireInfo: ^PerformanceConfigurationAcquireInfoINTEL, pConfiguration: ^PerformanceConfigurationINTEL) -> Result
+ProcAcquireProfilingLockKHR                         :: #type proc "system" (device: Device, pInfo: ^AcquireProfilingLockInfoKHR) -> Result
+ProcAllocateCommandBuffers                          :: #type proc "system" (device: Device, pAllocateInfo: ^CommandBufferAllocateInfo, pCommandBuffers: [^]CommandBuffer) -> Result
+ProcAllocateDescriptorSets                          :: #type proc "system" (device: Device, pAllocateInfo: ^DescriptorSetAllocateInfo, pDescriptorSets: [^]DescriptorSet) -> Result
+ProcAllocateMemory                                  :: #type proc "system" (device: Device, pAllocateInfo: ^MemoryAllocateInfo, pAllocator: ^AllocationCallbacks, pMemory: ^DeviceMemory) -> Result
+ProcBeginCommandBuffer                              :: #type proc "system" (commandBuffer: CommandBuffer, pBeginInfo: ^CommandBufferBeginInfo) -> Result
+ProcBindAccelerationStructureMemoryNV               :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindAccelerationStructureMemoryInfoNV) -> Result
+ProcBindBufferMemory                                :: #type proc "system" (device: Device, buffer: Buffer, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result
+ProcBindBufferMemory2                               :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindBufferMemoryInfo) -> Result
+ProcBindBufferMemory2KHR                            :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindBufferMemoryInfo) -> Result
+ProcBindImageMemory                                 :: #type proc "system" (device: Device, image: Image, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result
+ProcBindImageMemory2                                :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindImageMemoryInfo) -> Result
+ProcBindImageMemory2KHR                             :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindImageMemoryInfo) -> Result
+ProcBuildAccelerationStructuresKHR                  :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ^[^]AccelerationStructureBuildRangeInfoKHR) -> Result
+ProcCmdBeginConditionalRenderingEXT                 :: #type proc "system" (commandBuffer: CommandBuffer, pConditionalRenderingBegin: ^ConditionalRenderingBeginInfoEXT)
+ProcCmdBeginDebugUtilsLabelEXT                      :: #type proc "system" (commandBuffer: CommandBuffer, pLabelInfo: ^DebugUtilsLabelEXT)
+ProcCmdBeginQuery                                   :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags)
+ProcCmdBeginQueryIndexedEXT                         :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags, index: u32)
+ProcCmdBeginRenderPass                              :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, contents: SubpassContents)
+ProcCmdBeginRenderPass2                             :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, pSubpassBeginInfo: ^SubpassBeginInfo)
+ProcCmdBeginRenderPass2KHR                          :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, pSubpassBeginInfo: ^SubpassBeginInfo)
+ProcCmdBeginRendering                               :: #type proc "system" (commandBuffer: CommandBuffer, pRenderingInfo: ^RenderingInfo)
+ProcCmdBeginRenderingKHR                            :: #type proc "system" (commandBuffer: CommandBuffer, pRenderingInfo: ^RenderingInfo)
+ProcCmdBeginTransformFeedbackEXT                    :: #type proc "system" (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: [^]Buffer, pCounterBufferOffsets: [^]DeviceSize)
+ProcCmdBindDescriptorSets                           :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, firstSet: u32, descriptorSetCount: u32, pDescriptorSets: [^]DescriptorSet, dynamicOffsetCount: u32, pDynamicOffsets: [^]u32)
+ProcCmdBindIndexBuffer                              :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, indexType: IndexType)
+ProcCmdBindInvocationMaskHUAWEI                     :: #type proc "system" (commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout)
+ProcCmdBindPipeline                                 :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline)
+ProcCmdBindPipelineShaderGroupNV                    :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline, groupIndex: u32)
+ProcCmdBindShadingRateImageNV                       :: #type proc "system" (commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout)
+ProcCmdBindTransformFeedbackBuffersEXT              :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize)
+ProcCmdBindVertexBuffers                            :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize)
+ProcCmdBindVertexBuffers2                           :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize, pStrides: [^]DeviceSize)
+ProcCmdBindVertexBuffers2EXT                        :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize, pStrides: [^]DeviceSize)
+ProcCmdBlitImage                                    :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageBlit, filter: Filter)
+ProcCmdBlitImage2                                   :: #type proc "system" (commandBuffer: CommandBuffer, pBlitImageInfo: ^BlitImageInfo2)
+ProcCmdBlitImage2KHR                                :: #type proc "system" (commandBuffer: CommandBuffer, pBlitImageInfo: ^BlitImageInfo2)
+ProcCmdBuildAccelerationStructureNV                 :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^AccelerationStructureInfoNV, instanceData: Buffer, instanceOffset: DeviceSize, update: b32, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratchOffset: DeviceSize)
+ProcCmdBuildAccelerationStructuresIndirectKHR       :: #type proc "system" (commandBuffer: CommandBuffer, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, pIndirectDeviceAddresses: [^]DeviceAddress, pIndirectStrides: [^]u32, ppMaxPrimitiveCounts: ^[^]u32)
+ProcCmdBuildAccelerationStructuresKHR               :: #type proc "system" (commandBuffer: CommandBuffer, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ^[^]AccelerationStructureBuildRangeInfoKHR)
+ProcCmdClearAttachments                             :: #type proc "system" (commandBuffer: CommandBuffer, attachmentCount: u32, pAttachments: [^]ClearAttachment, rectCount: u32, pRects: [^]ClearRect)
+ProcCmdClearColorImage                              :: #type proc "system" (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pColor: ^ClearColorValue, rangeCount: u32, pRanges: [^]ImageSubresourceRange)
+ProcCmdClearDepthStencilImage                       :: #type proc "system" (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pDepthStencil: ^ClearDepthStencilValue, rangeCount: u32, pRanges: [^]ImageSubresourceRange)
+ProcCmdCopyAccelerationStructureKHR                 :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyAccelerationStructureInfoKHR)
+ProcCmdCopyAccelerationStructureNV                  :: #type proc "system" (commandBuffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeKHR)
+ProcCmdCopyAccelerationStructureToMemoryKHR         :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyAccelerationStructureToMemoryInfoKHR)
+ProcCmdCopyBuffer                                   :: #type proc "system" (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstBuffer: Buffer, regionCount: u32, pRegions: [^]BufferCopy)
+ProcCmdCopyBuffer2                                  :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferInfo: ^CopyBufferInfo2)
+ProcCmdCopyBuffer2KHR                               :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferInfo: ^CopyBufferInfo2)
+ProcCmdCopyBufferToImage                            :: #type proc "system" (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]BufferImageCopy)
+ProcCmdCopyBufferToImage2                           :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferToImageInfo: ^CopyBufferToImageInfo2)
+ProcCmdCopyBufferToImage2KHR                        :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferToImageInfo: ^CopyBufferToImageInfo2)
+ProcCmdCopyImage                                    :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageCopy)
+ProcCmdCopyImage2                                   :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageInfo: ^CopyImageInfo2)
+ProcCmdCopyImage2KHR                                :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageInfo: ^CopyImageInfo2)
+ProcCmdCopyImageToBuffer                            :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstBuffer: Buffer, regionCount: u32, pRegions: [^]BufferImageCopy)
+ProcCmdCopyImageToBuffer2                           :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageToBufferInfo: ^CopyImageToBufferInfo2)
+ProcCmdCopyImageToBuffer2KHR                        :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageToBufferInfo: ^CopyImageToBufferInfo2)
+ProcCmdCopyMemoryToAccelerationStructureKHR         :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyMemoryToAccelerationStructureInfoKHR)
+ProcCmdCopyQueryPoolResults                         :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dstBuffer: Buffer, dstOffset: DeviceSize, stride: DeviceSize, flags: QueryResultFlags)
+ProcCmdCuLaunchKernelNVX                            :: #type proc "system" (commandBuffer: CommandBuffer, pLaunchInfo: ^CuLaunchInfoNVX)
+ProcCmdDebugMarkerBeginEXT                          :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^DebugMarkerMarkerInfoEXT)
+ProcCmdDebugMarkerEndEXT                            :: #type proc "system" (commandBuffer: CommandBuffer)
+ProcCmdDebugMarkerInsertEXT                         :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^DebugMarkerMarkerInfoEXT)
+ProcCmdDispatch                                     :: #type proc "system" (commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32)
+ProcCmdDispatchBase                                 :: #type proc "system" (commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32)
+ProcCmdDispatchBaseKHR                              :: #type proc "system" (commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32)
+ProcCmdDispatchIndirect                             :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize)
+ProcCmdDraw                                         :: #type proc "system" (commandBuffer: CommandBuffer, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32)
+ProcCmdDrawIndexed                                  :: #type proc "system" (commandBuffer: CommandBuffer, indexCount: u32, instanceCount: u32, firstIndex: u32, vertexOffset: i32, firstInstance: u32)
+ProcCmdDrawIndexedIndirect                          :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32)
+ProcCmdDrawIndexedIndirectCount                     :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
+ProcCmdDrawIndexedIndirectCountAMD                  :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
+ProcCmdDrawIndexedIndirectCountKHR                  :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
+ProcCmdDrawIndirect                                 :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32)
+ProcCmdDrawIndirectByteCountEXT                     :: #type proc "system" (commandBuffer: CommandBuffer, instanceCount: u32, firstInstance: u32, counterBuffer: Buffer, counterBufferOffset: DeviceSize, counterOffset: u32, vertexStride: u32)
+ProcCmdDrawIndirectCount                            :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
+ProcCmdDrawIndirectCountAMD                         :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
+ProcCmdDrawIndirectCountKHR                         :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
+ProcCmdDrawMeshTasksIndirectCountNV                 :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
+ProcCmdDrawMeshTasksIndirectNV                      :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32)
+ProcCmdDrawMeshTasksNV                              :: #type proc "system" (commandBuffer: CommandBuffer, taskCount: u32, firstTask: u32)
+ProcCmdDrawMultiEXT                                 :: #type proc "system" (commandBuffer: CommandBuffer, drawCount: u32, pVertexInfo: ^MultiDrawInfoEXT, instanceCount: u32, firstInstance: u32, stride: u32)
+ProcCmdDrawMultiIndexedEXT                          :: #type proc "system" (commandBuffer: CommandBuffer, drawCount: u32, pIndexInfo: ^MultiDrawIndexedInfoEXT, instanceCount: u32, firstInstance: u32, stride: u32, pVertexOffset: ^i32)
+ProcCmdEndConditionalRenderingEXT                   :: #type proc "system" (commandBuffer: CommandBuffer)
+ProcCmdEndDebugUtilsLabelEXT                        :: #type proc "system" (commandBuffer: CommandBuffer)
+ProcCmdEndQuery                                     :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32)
+ProcCmdEndQueryIndexedEXT                           :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, index: u32)
+ProcCmdEndRenderPass                                :: #type proc "system" (commandBuffer: CommandBuffer)
+ProcCmdEndRenderPass2                               :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassEndInfo: ^SubpassEndInfo)
+ProcCmdEndRenderPass2KHR                            :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassEndInfo: ^SubpassEndInfo)
+ProcCmdEndRendering                                 :: #type proc "system" (commandBuffer: CommandBuffer)
+ProcCmdEndRenderingKHR                              :: #type proc "system" (commandBuffer: CommandBuffer)
+ProcCmdEndTransformFeedbackEXT                      :: #type proc "system" (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: [^]Buffer, pCounterBufferOffsets: [^]DeviceSize)
+ProcCmdExecuteCommands                              :: #type proc "system" (commandBuffer: CommandBuffer, commandBufferCount: u32, pCommandBuffers: [^]CommandBuffer)
+ProcCmdExecuteGeneratedCommandsNV                   :: #type proc "system" (commandBuffer: CommandBuffer, isPreprocessed: b32, pGeneratedCommandsInfo: ^GeneratedCommandsInfoNV)
+ProcCmdFillBuffer                                   :: #type proc "system" (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, size: DeviceSize, data: u32)
+ProcCmdInsertDebugUtilsLabelEXT                     :: #type proc "system" (commandBuffer: CommandBuffer, pLabelInfo: ^DebugUtilsLabelEXT)
+ProcCmdNextSubpass                                  :: #type proc "system" (commandBuffer: CommandBuffer, contents: SubpassContents)
+ProcCmdNextSubpass2                                 :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassBeginInfo: ^SubpassBeginInfo, pSubpassEndInfo: ^SubpassEndInfo)
+ProcCmdNextSubpass2KHR                              :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassBeginInfo: ^SubpassBeginInfo, pSubpassEndInfo: ^SubpassEndInfo)
+ProcCmdPipelineBarrier                              :: #type proc "system" (commandBuffer: CommandBuffer, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, dependencyFlags: DependencyFlags, memoryBarrierCount: u32, pMemoryBarriers: [^]MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: [^]BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: [^]ImageMemoryBarrier)
+ProcCmdPipelineBarrier2                             :: #type proc "system" (commandBuffer: CommandBuffer, pDependencyInfo: ^DependencyInfo)
+ProcCmdPipelineBarrier2KHR                          :: #type proc "system" (commandBuffer: CommandBuffer, pDependencyInfo: ^DependencyInfo)
+ProcCmdPreprocessGeneratedCommandsNV                :: #type proc "system" (commandBuffer: CommandBuffer, pGeneratedCommandsInfo: ^GeneratedCommandsInfoNV)
+ProcCmdPushConstants                                :: #type proc "system" (commandBuffer: CommandBuffer, layout: PipelineLayout, stageFlags: ShaderStageFlags, offset: u32, size: u32, pValues: rawptr)
+ProcCmdPushDescriptorSetKHR                         :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, set: u32, descriptorWriteCount: u32, pDescriptorWrites: [^]WriteDescriptorSet)
+ProcCmdPushDescriptorSetWithTemplateKHR             :: #type proc "system" (commandBuffer: CommandBuffer, descriptorUpdateTemplate: DescriptorUpdateTemplate, layout: PipelineLayout, set: u32, pData: rawptr)
+ProcCmdResetEvent                                   :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags)
+ProcCmdResetEvent2                                  :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags2)
+ProcCmdResetEvent2KHR                               :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags2)
+ProcCmdResetQueryPool                               :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32)
+ProcCmdResolveImage                                 :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageResolve)
+ProcCmdResolveImage2                                :: #type proc "system" (commandBuffer: CommandBuffer, pResolveImageInfo: ^ResolveImageInfo2)
+ProcCmdResolveImage2KHR                             :: #type proc "system" (commandBuffer: CommandBuffer, pResolveImageInfo: ^ResolveImageInfo2)
+ProcCmdSetBlendConstants                            :: #type proc "system" (commandBuffer: CommandBuffer)
+ProcCmdSetCheckpointNV                              :: #type proc "system" (commandBuffer: CommandBuffer, pCheckpointMarker: rawptr)
+ProcCmdSetCoarseSampleOrderNV                       :: #type proc "system" (commandBuffer: CommandBuffer, sampleOrderType: CoarseSampleOrderTypeNV, customSampleOrderCount: u32, pCustomSampleOrders: [^]CoarseSampleOrderCustomNV)
+ProcCmdSetCullMode                                  :: #type proc "system" (commandBuffer: CommandBuffer, cullMode: CullModeFlags)
+ProcCmdSetCullModeEXT                               :: #type proc "system" (commandBuffer: CommandBuffer, cullMode: CullModeFlags)
+ProcCmdSetDepthBias                                 :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasConstantFactor: f32, depthBiasClamp: f32, depthBiasSlopeFactor: f32)
+ProcCmdSetDepthBiasEnable                           :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasEnable: b32)
+ProcCmdSetDepthBiasEnableEXT                        :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasEnable: b32)
+ProcCmdSetDepthBounds                               :: #type proc "system" (commandBuffer: CommandBuffer, minDepthBounds: f32, maxDepthBounds: f32)
+ProcCmdSetDepthBoundsTestEnable                     :: #type proc "system" (commandBuffer: CommandBuffer, depthBoundsTestEnable: b32)
+ProcCmdSetDepthBoundsTestEnableEXT                  :: #type proc "system" (commandBuffer: CommandBuffer, depthBoundsTestEnable: b32)
+ProcCmdSetDepthCompareOp                            :: #type proc "system" (commandBuffer: CommandBuffer, depthCompareOp: CompareOp)
+ProcCmdSetDepthCompareOpEXT                         :: #type proc "system" (commandBuffer: CommandBuffer, depthCompareOp: CompareOp)
+ProcCmdSetDepthTestEnable                           :: #type proc "system" (commandBuffer: CommandBuffer, depthTestEnable: b32)
+ProcCmdSetDepthTestEnableEXT                        :: #type proc "system" (commandBuffer: CommandBuffer, depthTestEnable: b32)
+ProcCmdSetDepthWriteEnable                          :: #type proc "system" (commandBuffer: CommandBuffer, depthWriteEnable: b32)
+ProcCmdSetDepthWriteEnableEXT                       :: #type proc "system" (commandBuffer: CommandBuffer, depthWriteEnable: b32)
+ProcCmdSetDeviceMask                                :: #type proc "system" (commandBuffer: CommandBuffer, deviceMask: u32)
+ProcCmdSetDeviceMaskKHR                             :: #type proc "system" (commandBuffer: CommandBuffer, deviceMask: u32)
+ProcCmdSetDiscardRectangleEXT                       :: #type proc "system" (commandBuffer: CommandBuffer, firstDiscardRectangle: u32, discardRectangleCount: u32, pDiscardRectangles: [^]Rect2D)
+ProcCmdSetEvent                                     :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags)
+ProcCmdSetEvent2                                    :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, pDependencyInfo: ^DependencyInfo)
+ProcCmdSetEvent2KHR                                 :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, pDependencyInfo: ^DependencyInfo)
+ProcCmdSetExclusiveScissorNV                        :: #type proc "system" (commandBuffer: CommandBuffer, firstExclusiveScissor: u32, exclusiveScissorCount: u32, pExclusiveScissors: [^]Rect2D)
+ProcCmdSetFragmentShadingRateEnumNV                 :: #type proc "system" (commandBuffer: CommandBuffer, shadingRate: FragmentShadingRateNV)
+ProcCmdSetFragmentShadingRateKHR                    :: #type proc "system" (commandBuffer: CommandBuffer, pFragmentSize: ^Extent2D)
+ProcCmdSetFrontFace                                 :: #type proc "system" (commandBuffer: CommandBuffer, frontFace: FrontFace)
+ProcCmdSetFrontFaceEXT                              :: #type proc "system" (commandBuffer: CommandBuffer, frontFace: FrontFace)
+ProcCmdSetLineStippleEXT                            :: #type proc "system" (commandBuffer: CommandBuffer, lineStippleFactor: u32, lineStipplePattern: u16)
+ProcCmdSetLineWidth                                 :: #type proc "system" (commandBuffer: CommandBuffer, lineWidth: f32)
+ProcCmdSetLogicOpEXT                                :: #type proc "system" (commandBuffer: CommandBuffer, logicOp: LogicOp)
+ProcCmdSetPatchControlPointsEXT                     :: #type proc "system" (commandBuffer: CommandBuffer, patchControlPoints: u32)
+ProcCmdSetPerformanceMarkerINTEL                    :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^PerformanceMarkerInfoINTEL) -> Result
+ProcCmdSetPerformanceOverrideINTEL                  :: #type proc "system" (commandBuffer: CommandBuffer, pOverrideInfo: ^PerformanceOverrideInfoINTEL) -> Result
+ProcCmdSetPerformanceStreamMarkerINTEL              :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^PerformanceStreamMarkerInfoINTEL) -> Result
+ProcCmdSetPrimitiveRestartEnable                    :: #type proc "system" (commandBuffer: CommandBuffer, primitiveRestartEnable: b32)
+ProcCmdSetPrimitiveRestartEnableEXT                 :: #type proc "system" (commandBuffer: CommandBuffer, primitiveRestartEnable: b32)
+ProcCmdSetPrimitiveTopology                         :: #type proc "system" (commandBuffer: CommandBuffer, primitiveTopology: PrimitiveTopology)
+ProcCmdSetPrimitiveTopologyEXT                      :: #type proc "system" (commandBuffer: CommandBuffer, primitiveTopology: PrimitiveTopology)
+ProcCmdSetRasterizerDiscardEnable                   :: #type proc "system" (commandBuffer: CommandBuffer, rasterizerDiscardEnable: b32)
+ProcCmdSetRasterizerDiscardEnableEXT                :: #type proc "system" (commandBuffer: CommandBuffer, rasterizerDiscardEnable: b32)
+ProcCmdSetRayTracingPipelineStackSizeKHR            :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStackSize: u32)
+ProcCmdSetSampleLocationsEXT                        :: #type proc "system" (commandBuffer: CommandBuffer, pSampleLocationsInfo: ^SampleLocationsInfoEXT)
+ProcCmdSetScissor                                   :: #type proc "system" (commandBuffer: CommandBuffer, firstScissor: u32, scissorCount: u32, pScissors: [^]Rect2D)
+ProcCmdSetScissorWithCount                          :: #type proc "system" (commandBuffer: CommandBuffer, scissorCount: u32, pScissors: [^]Rect2D)
+ProcCmdSetScissorWithCountEXT                       :: #type proc "system" (commandBuffer: CommandBuffer, scissorCount: u32, pScissors: [^]Rect2D)
+ProcCmdSetStencilCompareMask                        :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, compareMask: u32)
+ProcCmdSetStencilOp                                 :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, failOp: StencilOp, passOp: StencilOp, depthFailOp: StencilOp, compareOp: CompareOp)
+ProcCmdSetStencilOpEXT                              :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, failOp: StencilOp, passOp: StencilOp, depthFailOp: StencilOp, compareOp: CompareOp)
+ProcCmdSetStencilReference                          :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, reference: u32)
+ProcCmdSetStencilTestEnable                         :: #type proc "system" (commandBuffer: CommandBuffer, stencilTestEnable: b32)
+ProcCmdSetStencilTestEnableEXT                      :: #type proc "system" (commandBuffer: CommandBuffer, stencilTestEnable: b32)
+ProcCmdSetStencilWriteMask                          :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, writeMask: u32)
+ProcCmdSetVertexInputEXT                            :: #type proc "system" (commandBuffer: CommandBuffer, vertexBindingDescriptionCount: u32, pVertexBindingDescriptions: [^]VertexInputBindingDescription2EXT, vertexAttributeDescriptionCount: u32, pVertexAttributeDescriptions: [^]VertexInputAttributeDescription2EXT)
+ProcCmdSetViewport                                  :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewports: [^]Viewport)
+ProcCmdSetViewportShadingRatePaletteNV              :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pShadingRatePalettes: [^]ShadingRatePaletteNV)
+ProcCmdSetViewportWScalingNV                        :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewportWScalings: [^]ViewportWScalingNV)
+ProcCmdSetViewportWithCount                         :: #type proc "system" (commandBuffer: CommandBuffer, viewportCount: u32, pViewports: [^]Viewport)
+ProcCmdSetViewportWithCountEXT                      :: #type proc "system" (commandBuffer: CommandBuffer, viewportCount: u32, pViewports: [^]Viewport)
+ProcCmdSubpassShadingHUAWEI                         :: #type proc "system" (commandBuffer: CommandBuffer)
+ProcCmdTraceRaysIndirectKHR                         :: #type proc "system" (commandBuffer: CommandBuffer, pRaygenShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pMissShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pHitShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pCallableShaderBindingTable: [^]StridedDeviceAddressRegionKHR, indirectDeviceAddress: DeviceAddress)
+ProcCmdTraceRaysKHR                                 :: #type proc "system" (commandBuffer: CommandBuffer, pRaygenShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pMissShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pHitShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pCallableShaderBindingTable: [^]StridedDeviceAddressRegionKHR, width: u32, height: u32, depth: u32)
+ProcCmdTraceRaysNV                                  :: #type proc "system" (commandBuffer: CommandBuffer, raygenShaderBindingTableBuffer: Buffer, raygenShaderBindingOffset: DeviceSize, missShaderBindingTableBuffer: Buffer, missShaderBindingOffset: DeviceSize, missShaderBindingStride: DeviceSize, hitShaderBindingTableBuffer: Buffer, hitShaderBindingOffset: DeviceSize, hitShaderBindingStride: DeviceSize, callableShaderBindingTableBuffer: Buffer, callableShaderBindingOffset: DeviceSize, callableShaderBindingStride: DeviceSize, width: u32, height: u32, depth: u32)
+ProcCmdUpdateBuffer                                 :: #type proc "system" (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, dataSize: DeviceSize, pData: rawptr)
+ProcCmdWaitEvents                                   :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, memoryBarrierCount: u32, pMemoryBarriers: [^]MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: [^]BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: [^]ImageMemoryBarrier)
+ProcCmdWaitEvents2                                  :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, pDependencyInfos: [^]DependencyInfo)
+ProcCmdWaitEvents2KHR                               :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, pDependencyInfos: [^]DependencyInfo)
+ProcCmdWriteAccelerationStructuresPropertiesKHR     :: #type proc "system" (commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureKHR, queryType: QueryType, queryPool: QueryPool, firstQuery: u32)
+ProcCmdWriteAccelerationStructuresPropertiesNV      :: #type proc "system" (commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureNV, queryType: QueryType, queryPool: QueryPool, firstQuery: u32)
+ProcCmdWriteBufferMarker2AMD                        :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32)
+ProcCmdWriteBufferMarkerAMD                         :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlags, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32)
+ProcCmdWriteTimestamp                               :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlags, queryPool: QueryPool, query: u32)
+ProcCmdWriteTimestamp2                              :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, queryPool: QueryPool, query: u32)
+ProcCmdWriteTimestamp2KHR                           :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, queryPool: QueryPool, query: u32)
+ProcCompileDeferredNV                               :: #type proc "system" (device: Device, pipeline: Pipeline, shader: u32) -> Result
+ProcCopyAccelerationStructureKHR                    :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyAccelerationStructureInfoKHR) -> Result
+ProcCopyAccelerationStructureToMemoryKHR            :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyAccelerationStructureToMemoryInfoKHR) -> Result
+ProcCopyMemoryToAccelerationStructureKHR            :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyMemoryToAccelerationStructureInfoKHR) -> Result
+ProcCreateAccelerationStructureKHR                  :: #type proc "system" (device: Device, pCreateInfo: ^AccelerationStructureCreateInfoKHR, pAllocator: ^AllocationCallbacks, pAccelerationStructure: ^AccelerationStructureKHR) -> Result
+ProcCreateAccelerationStructureNV                   :: #type proc "system" (device: Device, pCreateInfo: ^AccelerationStructureCreateInfoNV, pAllocator: ^AllocationCallbacks, pAccelerationStructure: ^AccelerationStructureNV) -> Result
+ProcCreateBuffer                                    :: #type proc "system" (device: Device, pCreateInfo: ^BufferCreateInfo, pAllocator: ^AllocationCallbacks, pBuffer: ^Buffer) -> Result
+ProcCreateBufferView                                :: #type proc "system" (device: Device, pCreateInfo: ^BufferViewCreateInfo, pAllocator: ^AllocationCallbacks, pView: ^BufferView) -> Result
+ProcCreateCommandPool                               :: #type proc "system" (device: Device, pCreateInfo: ^CommandPoolCreateInfo, pAllocator: ^AllocationCallbacks, pCommandPool: ^CommandPool) -> Result
+ProcCreateComputePipelines                          :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]ComputePipelineCreateInfo, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
+ProcCreateCuFunctionNVX                             :: #type proc "system" (device: Device, pCreateInfo: ^CuFunctionCreateInfoNVX, pAllocator: ^AllocationCallbacks, pFunction: ^CuFunctionNVX) -> Result
+ProcCreateCuModuleNVX                               :: #type proc "system" (device: Device, pCreateInfo: ^CuModuleCreateInfoNVX, pAllocator: ^AllocationCallbacks, pModule: ^CuModuleNVX) -> Result
+ProcCreateDeferredOperationKHR                      :: #type proc "system" (device: Device, pAllocator: ^AllocationCallbacks, pDeferredOperation: ^DeferredOperationKHR) -> Result
+ProcCreateDescriptorPool                            :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorPoolCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorPool: ^DescriptorPool) -> Result
+ProcCreateDescriptorSetLayout                       :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pAllocator: ^AllocationCallbacks, pSetLayout: ^DescriptorSetLayout) -> Result
+ProcCreateDescriptorUpdateTemplate                  :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorUpdateTemplateCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorUpdateTemplate: ^DescriptorUpdateTemplate) -> Result
+ProcCreateDescriptorUpdateTemplateKHR               :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorUpdateTemplateCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorUpdateTemplate: ^DescriptorUpdateTemplate) -> Result
+ProcCreateEvent                                     :: #type proc "system" (device: Device, pCreateInfo: ^EventCreateInfo, pAllocator: ^AllocationCallbacks, pEvent: ^Event) -> Result
+ProcCreateFence                                     :: #type proc "system" (device: Device, pCreateInfo: ^FenceCreateInfo, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result
+ProcCreateFramebuffer                               :: #type proc "system" (device: Device, pCreateInfo: ^FramebufferCreateInfo, pAllocator: ^AllocationCallbacks, pFramebuffer: ^Framebuffer) -> Result
+ProcCreateGraphicsPipelines                         :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]GraphicsPipelineCreateInfo, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
+ProcCreateImage                                     :: #type proc "system" (device: Device, pCreateInfo: ^ImageCreateInfo, pAllocator: ^AllocationCallbacks, pImage: ^Image) -> Result
+ProcCreateImageView                                 :: #type proc "system" (device: Device, pCreateInfo: ^ImageViewCreateInfo, pAllocator: ^AllocationCallbacks, pView: ^ImageView) -> Result
+ProcCreateIndirectCommandsLayoutNV                  :: #type proc "system" (device: Device, pCreateInfo: ^IndirectCommandsLayoutCreateInfoNV, pAllocator: ^AllocationCallbacks, pIndirectCommandsLayout: ^IndirectCommandsLayoutNV) -> Result
+ProcCreatePipelineCache                             :: #type proc "system" (device: Device, pCreateInfo: ^PipelineCacheCreateInfo, pAllocator: ^AllocationCallbacks, pPipelineCache: ^PipelineCache) -> Result
+ProcCreatePipelineLayout                            :: #type proc "system" (device: Device, pCreateInfo: ^PipelineLayoutCreateInfo, pAllocator: ^AllocationCallbacks, pPipelineLayout: ^PipelineLayout) -> Result
+ProcCreatePrivateDataSlot                           :: #type proc "system" (device: Device, pCreateInfo: ^PrivateDataSlotCreateInfo, pAllocator: ^AllocationCallbacks, pPrivateDataSlot: ^PrivateDataSlot) -> Result
+ProcCreatePrivateDataSlotEXT                        :: #type proc "system" (device: Device, pCreateInfo: ^PrivateDataSlotCreateInfo, pAllocator: ^AllocationCallbacks, pPrivateDataSlot: ^PrivateDataSlot) -> Result
+ProcCreateQueryPool                                 :: #type proc "system" (device: Device, pCreateInfo: ^QueryPoolCreateInfo, pAllocator: ^AllocationCallbacks, pQueryPool: ^QueryPool) -> Result
+ProcCreateRayTracingPipelinesKHR                    :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]RayTracingPipelineCreateInfoKHR, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
+ProcCreateRayTracingPipelinesNV                     :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]RayTracingPipelineCreateInfoNV, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
+ProcCreateRenderPass                                :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result
+ProcCreateRenderPass2                               :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo2, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result
+ProcCreateRenderPass2KHR                            :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo2, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result
+ProcCreateSampler                                   :: #type proc "system" (device: Device, pCreateInfo: ^SamplerCreateInfo, pAllocator: ^AllocationCallbacks, pSampler: ^Sampler) -> Result
+ProcCreateSamplerYcbcrConversion                    :: #type proc "system" (device: Device, pCreateInfo: ^SamplerYcbcrConversionCreateInfo, pAllocator: ^AllocationCallbacks, pYcbcrConversion: ^SamplerYcbcrConversion) -> Result
+ProcCreateSamplerYcbcrConversionKHR                 :: #type proc "system" (device: Device, pCreateInfo: ^SamplerYcbcrConversionCreateInfo, pAllocator: ^AllocationCallbacks, pYcbcrConversion: ^SamplerYcbcrConversion) -> Result
+ProcCreateSemaphore                                 :: #type proc "system" (device: Device, pCreateInfo: ^SemaphoreCreateInfo, pAllocator: ^AllocationCallbacks, pSemaphore: ^Semaphore) -> Result
+ProcCreateShaderModule                              :: #type proc "system" (device: Device, pCreateInfo: ^ShaderModuleCreateInfo, pAllocator: ^AllocationCallbacks, pShaderModule: ^ShaderModule) -> Result
+ProcCreateSharedSwapchainsKHR                       :: #type proc "system" (device: Device, swapchainCount: u32, pCreateInfos: [^]SwapchainCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSwapchains: [^]SwapchainKHR) -> Result
+ProcCreateSwapchainKHR                              :: #type proc "system" (device: Device, pCreateInfo: ^SwapchainCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSwapchain: ^SwapchainKHR) -> Result
+ProcCreateValidationCacheEXT                        :: #type proc "system" (device: Device, pCreateInfo: ^ValidationCacheCreateInfoEXT, pAllocator: ^AllocationCallbacks, pValidationCache: ^ValidationCacheEXT) -> Result
+ProcDebugMarkerSetObjectNameEXT                     :: #type proc "system" (device: Device, pNameInfo: ^DebugMarkerObjectNameInfoEXT) -> Result
+ProcDebugMarkerSetObjectTagEXT                      :: #type proc "system" (device: Device, pTagInfo: ^DebugMarkerObjectTagInfoEXT) -> Result
+ProcDeferredOperationJoinKHR                        :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> Result
+ProcDestroyAccelerationStructureKHR                 :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureKHR, pAllocator: ^AllocationCallbacks)
+ProcDestroyAccelerationStructureNV                  :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureNV, pAllocator: ^AllocationCallbacks)
+ProcDestroyBuffer                                   :: #type proc "system" (device: Device, buffer: Buffer, pAllocator: ^AllocationCallbacks)
+ProcDestroyBufferView                               :: #type proc "system" (device: Device, bufferView: BufferView, pAllocator: ^AllocationCallbacks)
+ProcDestroyCommandPool                              :: #type proc "system" (device: Device, commandPool: CommandPool, pAllocator: ^AllocationCallbacks)
+ProcDestroyCuFunctionNVX                            :: #type proc "system" (device: Device, function: CuFunctionNVX, pAllocator: ^AllocationCallbacks)
+ProcDestroyCuModuleNVX                              :: #type proc "system" (device: Device, module: CuModuleNVX, pAllocator: ^AllocationCallbacks)
+ProcDestroyDeferredOperationKHR                     :: #type proc "system" (device: Device, operation: DeferredOperationKHR, pAllocator: ^AllocationCallbacks)
+ProcDestroyDescriptorPool                           :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, pAllocator: ^AllocationCallbacks)
+ProcDestroyDescriptorSetLayout                      :: #type proc "system" (device: Device, descriptorSetLayout: DescriptorSetLayout, pAllocator: ^AllocationCallbacks)
+ProcDestroyDescriptorUpdateTemplate                 :: #type proc "system" (device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: ^AllocationCallbacks)
+ProcDestroyDescriptorUpdateTemplateKHR              :: #type proc "system" (device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: ^AllocationCallbacks)
+ProcDestroyDevice                                   :: #type proc "system" (device: Device, pAllocator: ^AllocationCallbacks)
+ProcDestroyEvent                                    :: #type proc "system" (device: Device, event: Event, pAllocator: ^AllocationCallbacks)
+ProcDestroyFence                                    :: #type proc "system" (device: Device, fence: Fence, pAllocator: ^AllocationCallbacks)
+ProcDestroyFramebuffer                              :: #type proc "system" (device: Device, framebuffer: Framebuffer, pAllocator: ^AllocationCallbacks)
+ProcDestroyImage                                    :: #type proc "system" (device: Device, image: Image, pAllocator: ^AllocationCallbacks)
+ProcDestroyImageView                                :: #type proc "system" (device: Device, imageView: ImageView, pAllocator: ^AllocationCallbacks)
+ProcDestroyIndirectCommandsLayoutNV                 :: #type proc "system" (device: Device, indirectCommandsLayout: IndirectCommandsLayoutNV, pAllocator: ^AllocationCallbacks)
+ProcDestroyPipeline                                 :: #type proc "system" (device: Device, pipeline: Pipeline, pAllocator: ^AllocationCallbacks)
+ProcDestroyPipelineCache                            :: #type proc "system" (device: Device, pipelineCache: PipelineCache, pAllocator: ^AllocationCallbacks)
+ProcDestroyPipelineLayout                           :: #type proc "system" (device: Device, pipelineLayout: PipelineLayout, pAllocator: ^AllocationCallbacks)
+ProcDestroyPrivateDataSlot                          :: #type proc "system" (device: Device, privateDataSlot: PrivateDataSlot, pAllocator: ^AllocationCallbacks)
+ProcDestroyPrivateDataSlotEXT                       :: #type proc "system" (device: Device, privateDataSlot: PrivateDataSlot, pAllocator: ^AllocationCallbacks)
+ProcDestroyQueryPool                                :: #type proc "system" (device: Device, queryPool: QueryPool, pAllocator: ^AllocationCallbacks)
+ProcDestroyRenderPass                               :: #type proc "system" (device: Device, renderPass: RenderPass, pAllocator: ^AllocationCallbacks)
+ProcDestroySampler                                  :: #type proc "system" (device: Device, sampler: Sampler, pAllocator: ^AllocationCallbacks)
+ProcDestroySamplerYcbcrConversion                   :: #type proc "system" (device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: ^AllocationCallbacks)
+ProcDestroySamplerYcbcrConversionKHR                :: #type proc "system" (device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: ^AllocationCallbacks)
+ProcDestroySemaphore                                :: #type proc "system" (device: Device, semaphore: Semaphore, pAllocator: ^AllocationCallbacks)
+ProcDestroyShaderModule                             :: #type proc "system" (device: Device, shaderModule: ShaderModule, pAllocator: ^AllocationCallbacks)
+ProcDestroySwapchainKHR                             :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pAllocator: ^AllocationCallbacks)
+ProcDestroyValidationCacheEXT                       :: #type proc "system" (device: Device, validationCache: ValidationCacheEXT, pAllocator: ^AllocationCallbacks)
+ProcDeviceWaitIdle                                  :: #type proc "system" (device: Device) -> Result
+ProcDisplayPowerControlEXT                          :: #type proc "system" (device: Device, display: DisplayKHR, pDisplayPowerInfo: ^DisplayPowerInfoEXT) -> Result
+ProcEndCommandBuffer                                :: #type proc "system" (commandBuffer: CommandBuffer) -> Result
+ProcFlushMappedMemoryRanges                         :: #type proc "system" (device: Device, memoryRangeCount: u32, pMemoryRanges: [^]MappedMemoryRange) -> Result
+ProcFreeCommandBuffers                              :: #type proc "system" (device: Device, commandPool: CommandPool, commandBufferCount: u32, pCommandBuffers: [^]CommandBuffer)
+ProcFreeDescriptorSets                              :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, descriptorSetCount: u32, pDescriptorSets: [^]DescriptorSet) -> Result
+ProcFreeMemory                                      :: #type proc "system" (device: Device, memory: DeviceMemory, pAllocator: ^AllocationCallbacks)
+ProcGetAccelerationStructureBuildSizesKHR           :: #type proc "system" (device: Device, buildType: AccelerationStructureBuildTypeKHR, pBuildInfo: ^AccelerationStructureBuildGeometryInfoKHR, pMaxPrimitiveCounts: [^]u32, pSizeInfo: ^AccelerationStructureBuildSizesInfoKHR)
+ProcGetAccelerationStructureDeviceAddressKHR        :: #type proc "system" (device: Device, pInfo: ^AccelerationStructureDeviceAddressInfoKHR) -> DeviceAddress
+ProcGetAccelerationStructureHandleNV                :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureNV, dataSize: int, pData: rawptr) -> Result
+ProcGetAccelerationStructureMemoryRequirementsNV    :: #type proc "system" (device: Device, pInfo: ^AccelerationStructureMemoryRequirementsInfoNV, pMemoryRequirements: [^]MemoryRequirements2KHR)
+ProcGetBufferDeviceAddress                          :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress
+ProcGetBufferDeviceAddressEXT                       :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress
+ProcGetBufferDeviceAddressKHR                       :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress
+ProcGetBufferMemoryRequirements                     :: #type proc "system" (device: Device, buffer: Buffer, pMemoryRequirements: [^]MemoryRequirements)
+ProcGetBufferMemoryRequirements2                    :: #type proc "system" (device: Device, pInfo: ^BufferMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
+ProcGetBufferMemoryRequirements2KHR                 :: #type proc "system" (device: Device, pInfo: ^BufferMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
+ProcGetBufferOpaqueCaptureAddress                   :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> u64
+ProcGetBufferOpaqueCaptureAddressKHR                :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> u64
+ProcGetCalibratedTimestampsEXT                      :: #type proc "system" (device: Device, timestampCount: u32, pTimestampInfos: [^]CalibratedTimestampInfoEXT, pTimestamps: [^]u64, pMaxDeviation: ^u64) -> Result
+ProcGetDeferredOperationMaxConcurrencyKHR           :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> u32
+ProcGetDeferredOperationResultKHR                   :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> Result
+ProcGetDescriptorSetHostMappingVALVE                :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, ppData: ^rawptr)
+ProcGetDescriptorSetLayoutHostMappingInfoVALVE      :: #type proc "system" (device: Device, pBindingReference: ^DescriptorSetBindingReferenceVALVE, pHostMapping: ^DescriptorSetLayoutHostMappingInfoVALVE)
+ProcGetDescriptorSetLayoutSupport                   :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pSupport: ^DescriptorSetLayoutSupport)
+ProcGetDescriptorSetLayoutSupportKHR                :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pSupport: ^DescriptorSetLayoutSupport)
+ProcGetDeviceAccelerationStructureCompatibilityKHR  :: #type proc "system" (device: Device, pVersionInfo: ^AccelerationStructureVersionInfoKHR, pCompatibility: ^AccelerationStructureCompatibilityKHR)
+ProcGetDeviceBufferMemoryRequirements               :: #type proc "system" (device: Device, pInfo: ^DeviceBufferMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
+ProcGetDeviceBufferMemoryRequirementsKHR            :: #type proc "system" (device: Device, pInfo: ^DeviceBufferMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
+ProcGetDeviceGroupPeerMemoryFeatures                :: #type proc "system" (device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: [^]PeerMemoryFeatureFlags)
+ProcGetDeviceGroupPeerMemoryFeaturesKHR             :: #type proc "system" (device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: [^]PeerMemoryFeatureFlags)
+ProcGetDeviceGroupPresentCapabilitiesKHR            :: #type proc "system" (device: Device, pDeviceGroupPresentCapabilities: [^]DeviceGroupPresentCapabilitiesKHR) -> Result
+ProcGetDeviceGroupSurfacePresentModes2EXT           :: #type proc "system" (device: Device, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pModes: [^]DeviceGroupPresentModeFlagsKHR) -> Result
+ProcGetDeviceGroupSurfacePresentModesKHR            :: #type proc "system" (device: Device, surface: SurfaceKHR, pModes: [^]DeviceGroupPresentModeFlagsKHR) -> Result
+ProcGetDeviceImageMemoryRequirements                :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
+ProcGetDeviceImageMemoryRequirementsKHR             :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
+ProcGetDeviceImageSparseMemoryRequirements          :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
+ProcGetDeviceImageSparseMemoryRequirementsKHR       :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
+ProcGetDeviceMemoryCommitment                       :: #type proc "system" (device: Device, memory: DeviceMemory, pCommittedMemoryInBytes: [^]DeviceSize)
+ProcGetDeviceMemoryOpaqueCaptureAddress             :: #type proc "system" (device: Device, pInfo: ^DeviceMemoryOpaqueCaptureAddressInfo) -> u64
+ProcGetDeviceMemoryOpaqueCaptureAddressKHR          :: #type proc "system" (device: Device, pInfo: ^DeviceMemoryOpaqueCaptureAddressInfo) -> u64
+ProcGetDeviceProcAddr                               :: #type proc "system" (device: Device, pName: cstring) -> ProcVoidFunction
+ProcGetDeviceQueue                                  :: #type proc "system" (device: Device, queueFamilyIndex: u32, queueIndex: u32, pQueue: ^Queue)
+ProcGetDeviceQueue2                                 :: #type proc "system" (device: Device, pQueueInfo: ^DeviceQueueInfo2, pQueue: ^Queue)
+ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   :: #type proc "system" (device: Device, renderpass: RenderPass, pMaxWorkgroupSize: ^Extent2D) -> Result
+ProcGetEventStatus                                  :: #type proc "system" (device: Device, event: Event) -> Result
+ProcGetFenceFdKHR                                   :: #type proc "system" (device: Device, pGetFdInfo: ^FenceGetFdInfoKHR, pFd: ^c.int) -> Result
+ProcGetFenceStatus                                  :: #type proc "system" (device: Device, fence: Fence) -> Result
+ProcGetFenceWin32HandleKHR                          :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^FenceGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result
+ProcGetGeneratedCommandsMemoryRequirementsNV        :: #type proc "system" (device: Device, pInfo: ^GeneratedCommandsMemoryRequirementsInfoNV, pMemoryRequirements: [^]MemoryRequirements2)
+ProcGetImageDrmFormatModifierPropertiesEXT          :: #type proc "system" (device: Device, image: Image, pProperties: [^]ImageDrmFormatModifierPropertiesEXT) -> Result
+ProcGetImageMemoryRequirements                      :: #type proc "system" (device: Device, image: Image, pMemoryRequirements: [^]MemoryRequirements)
+ProcGetImageMemoryRequirements2                     :: #type proc "system" (device: Device, pInfo: ^ImageMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
+ProcGetImageMemoryRequirements2KHR                  :: #type proc "system" (device: Device, pInfo: ^ImageMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
+ProcGetImageSparseMemoryRequirements                :: #type proc "system" (device: Device, image: Image, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements)
+ProcGetImageSparseMemoryRequirements2               :: #type proc "system" (device: Device, pInfo: ^ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
+ProcGetImageSparseMemoryRequirements2KHR            :: #type proc "system" (device: Device, pInfo: ^ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
+ProcGetImageSubresourceLayout                       :: #type proc "system" (device: Device, image: Image, pSubresource: ^ImageSubresource, pLayout: ^SubresourceLayout)
+ProcGetImageViewAddressNVX                          :: #type proc "system" (device: Device, imageView: ImageView, pProperties: [^]ImageViewAddressPropertiesNVX) -> Result
+ProcGetImageViewHandleNVX                           :: #type proc "system" (device: Device, pInfo: ^ImageViewHandleInfoNVX) -> u32
+ProcGetMemoryFdKHR                                  :: #type proc "system" (device: Device, pGetFdInfo: ^MemoryGetFdInfoKHR, pFd: ^c.int) -> Result
+ProcGetMemoryFdPropertiesKHR                        :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, fd: c.int, pMemoryFdProperties: [^]MemoryFdPropertiesKHR) -> Result
+ProcGetMemoryHostPointerPropertiesEXT               :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, pHostPointer: rawptr, pMemoryHostPointerProperties: [^]MemoryHostPointerPropertiesEXT) -> Result
+ProcGetMemoryRemoteAddressNV                        :: #type proc "system" (device: Device, pMemoryGetRemoteAddressInfo: ^MemoryGetRemoteAddressInfoNV, pAddress: [^]RemoteAddressNV) -> Result
+ProcGetMemoryWin32HandleKHR                         :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^MemoryGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result
+ProcGetMemoryWin32HandleNV                          :: #type proc "system" (device: Device, memory: DeviceMemory, handleType: ExternalMemoryHandleTypeFlagsNV, pHandle: ^HANDLE) -> Result
+ProcGetMemoryWin32HandlePropertiesKHR               :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, handle: HANDLE, pMemoryWin32HandleProperties: [^]MemoryWin32HandlePropertiesKHR) -> Result
+ProcGetPastPresentationTimingGOOGLE                 :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pPresentationTimingCount: ^u32, pPresentationTimings: [^]PastPresentationTimingGOOGLE) -> Result
+ProcGetPerformanceParameterINTEL                    :: #type proc "system" (device: Device, parameter: PerformanceParameterTypeINTEL, pValue: ^PerformanceValueINTEL) -> Result
+ProcGetPipelineCacheData                            :: #type proc "system" (device: Device, pipelineCache: PipelineCache, pDataSize: ^int, pData: rawptr) -> Result
+ProcGetPipelineExecutableInternalRepresentationsKHR :: #type proc "system" (device: Device, pExecutableInfo: ^PipelineExecutableInfoKHR, pInternalRepresentationCount: ^u32, pInternalRepresentations: [^]PipelineExecutableInternalRepresentationKHR) -> Result
+ProcGetPipelineExecutablePropertiesKHR              :: #type proc "system" (device: Device, pPipelineInfo: ^PipelineInfoKHR, pExecutableCount: ^u32, pProperties: [^]PipelineExecutablePropertiesKHR) -> Result
+ProcGetPipelineExecutableStatisticsKHR              :: #type proc "system" (device: Device, pExecutableInfo: ^PipelineExecutableInfoKHR, pStatisticCount: ^u32, pStatistics: [^]PipelineExecutableStatisticKHR) -> Result
+ProcGetPrivateData                                  :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, pData: ^u64)
+ProcGetPrivateDataEXT                               :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, pData: ^u64)
+ProcGetQueryPoolResults                             :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dataSize: int, pData: rawptr, stride: DeviceSize, flags: QueryResultFlags) -> Result
+ProcGetQueueCheckpointData2NV                       :: #type proc "system" (queue: Queue, pCheckpointDataCount: ^u32, pCheckpointData: ^CheckpointData2NV)
+ProcGetQueueCheckpointDataNV                        :: #type proc "system" (queue: Queue, pCheckpointDataCount: ^u32, pCheckpointData: ^CheckpointDataNV)
+ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result
+ProcGetRayTracingShaderGroupHandlesKHR              :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result
+ProcGetRayTracingShaderGroupHandlesNV               :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result
+ProcGetRayTracingShaderGroupStackSizeKHR            :: #type proc "system" (device: Device, pipeline: Pipeline, group: u32, groupShader: ShaderGroupShaderKHR) -> DeviceSize
+ProcGetRefreshCycleDurationGOOGLE                   :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pDisplayTimingProperties: [^]RefreshCycleDurationGOOGLE) -> Result
+ProcGetRenderAreaGranularity                        :: #type proc "system" (device: Device, renderPass: RenderPass, pGranularity: ^Extent2D)
+ProcGetSemaphoreCounterValue                        :: #type proc "system" (device: Device, semaphore: Semaphore, pValue: ^u64) -> Result
+ProcGetSemaphoreCounterValueKHR                     :: #type proc "system" (device: Device, semaphore: Semaphore, pValue: ^u64) -> Result
+ProcGetSemaphoreFdKHR                               :: #type proc "system" (device: Device, pGetFdInfo: ^SemaphoreGetFdInfoKHR, pFd: ^c.int) -> Result
+ProcGetSemaphoreWin32HandleKHR                      :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^SemaphoreGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result
+ProcGetShaderInfoAMD                                :: #type proc "system" (device: Device, pipeline: Pipeline, shaderStage: ShaderStageFlags, infoType: ShaderInfoTypeAMD, pInfoSize: ^int, pInfo: rawptr) -> Result
+ProcGetSwapchainCounterEXT                          :: #type proc "system" (device: Device, swapchain: SwapchainKHR, counter: SurfaceCounterFlagsEXT, pCounterValue: ^u64) -> Result
+ProcGetSwapchainImagesKHR                           :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pSwapchainImageCount: ^u32, pSwapchainImages: [^]Image) -> Result
+ProcGetSwapchainStatusKHR                           :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result
+ProcGetValidationCacheDataEXT                       :: #type proc "system" (device: Device, validationCache: ValidationCacheEXT, pDataSize: ^int, pData: rawptr) -> Result
+ProcImportFenceFdKHR                                :: #type proc "system" (device: Device, pImportFenceFdInfo: ^ImportFenceFdInfoKHR) -> Result
+ProcImportFenceWin32HandleKHR                       :: #type proc "system" (device: Device, pImportFenceWin32HandleInfo: ^ImportFenceWin32HandleInfoKHR) -> Result
+ProcImportSemaphoreFdKHR                            :: #type proc "system" (device: Device, pImportSemaphoreFdInfo: ^ImportSemaphoreFdInfoKHR) -> Result
+ProcImportSemaphoreWin32HandleKHR                   :: #type proc "system" (device: Device, pImportSemaphoreWin32HandleInfo: ^ImportSemaphoreWin32HandleInfoKHR) -> Result
+ProcInitializePerformanceApiINTEL                   :: #type proc "system" (device: Device, pInitializeInfo: ^InitializePerformanceApiInfoINTEL) -> Result
+ProcInvalidateMappedMemoryRanges                    :: #type proc "system" (device: Device, memoryRangeCount: u32, pMemoryRanges: [^]MappedMemoryRange) -> Result
+ProcMapMemory                                       :: #type proc "system" (device: Device, memory: DeviceMemory, offset: DeviceSize, size: DeviceSize, flags: MemoryMapFlags, ppData: ^rawptr) -> Result
+ProcMergePipelineCaches                             :: #type proc "system" (device: Device, dstCache: PipelineCache, srcCacheCount: u32, pSrcCaches: [^]PipelineCache) -> Result
+ProcMergeValidationCachesEXT                        :: #type proc "system" (device: Device, dstCache: ValidationCacheEXT, srcCacheCount: u32, pSrcCaches: [^]ValidationCacheEXT) -> Result
+ProcQueueBeginDebugUtilsLabelEXT                    :: #type proc "system" (queue: Queue, pLabelInfo: ^DebugUtilsLabelEXT)
+ProcQueueBindSparse                                 :: #type proc "system" (queue: Queue, bindInfoCount: u32, pBindInfo: ^BindSparseInfo, fence: Fence) -> Result
+ProcQueueEndDebugUtilsLabelEXT                      :: #type proc "system" (queue: Queue)
+ProcQueueInsertDebugUtilsLabelEXT                   :: #type proc "system" (queue: Queue, pLabelInfo: ^DebugUtilsLabelEXT)
+ProcQueuePresentKHR                                 :: #type proc "system" (queue: Queue, pPresentInfo: ^PresentInfoKHR) -> Result
+ProcQueueSetPerformanceConfigurationINTEL           :: #type proc "system" (queue: Queue, configuration: PerformanceConfigurationINTEL) -> Result
+ProcQueueSubmit                                     :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo, fence: Fence) -> Result
+ProcQueueSubmit2                                    :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo2, fence: Fence) -> Result
+ProcQueueSubmit2KHR                                 :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo2, fence: Fence) -> Result
+ProcQueueWaitIdle                                   :: #type proc "system" (queue: Queue) -> Result
+ProcRegisterDeviceEventEXT                          :: #type proc "system" (device: Device, pDeviceEventInfo: ^DeviceEventInfoEXT, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result
+ProcRegisterDisplayEventEXT                         :: #type proc "system" (device: Device, display: DisplayKHR, pDisplayEventInfo: ^DisplayEventInfoEXT, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result
+ProcReleaseFullScreenExclusiveModeEXT               :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result
+ProcReleasePerformanceConfigurationINTEL            :: #type proc "system" (device: Device, configuration: PerformanceConfigurationINTEL) -> Result
+ProcReleaseProfilingLockKHR                         :: #type proc "system" (device: Device)
+ProcResetCommandBuffer                              :: #type proc "system" (commandBuffer: CommandBuffer, flags: CommandBufferResetFlags) -> Result
+ProcResetCommandPool                                :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolResetFlags) -> Result
+ProcResetDescriptorPool                             :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, flags: DescriptorPoolResetFlags) -> Result
+ProcResetEvent                                      :: #type proc "system" (device: Device, event: Event) -> Result
+ProcResetFences                                     :: #type proc "system" (device: Device, fenceCount: u32, pFences: [^]Fence) -> Result
+ProcResetQueryPool                                  :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32)
+ProcResetQueryPoolEXT                               :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32)
+ProcSetDebugUtilsObjectNameEXT                      :: #type proc "system" (device: Device, pNameInfo: ^DebugUtilsObjectNameInfoEXT) -> Result
+ProcSetDebugUtilsObjectTagEXT                       :: #type proc "system" (device: Device, pTagInfo: ^DebugUtilsObjectTagInfoEXT) -> Result
+ProcSetDeviceMemoryPriorityEXT                      :: #type proc "system" (device: Device, memory: DeviceMemory, priority: f32)
+ProcSetEvent                                        :: #type proc "system" (device: Device, event: Event) -> Result
+ProcSetHdrMetadataEXT                               :: #type proc "system" (device: Device, swapchainCount: u32, pSwapchains: [^]SwapchainKHR, pMetadata: ^HdrMetadataEXT)
+ProcSetLocalDimmingAMD                              :: #type proc "system" (device: Device, swapChain: SwapchainKHR, localDimmingEnable: b32)
+ProcSetPrivateData                                  :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, data: u64) -> Result
+ProcSetPrivateDataEXT                               :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, data: u64) -> Result
+ProcSignalSemaphore                                 :: #type proc "system" (device: Device, pSignalInfo: ^SemaphoreSignalInfo) -> Result
+ProcSignalSemaphoreKHR                              :: #type proc "system" (device: Device, pSignalInfo: ^SemaphoreSignalInfo) -> Result
+ProcTrimCommandPool                                 :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags)
+ProcTrimCommandPoolKHR                              :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags)
+ProcUninitializePerformanceApiINTEL                 :: #type proc "system" (device: Device)
+ProcUnmapMemory                                     :: #type proc "system" (device: Device, memory: DeviceMemory)
+ProcUpdateDescriptorSetWithTemplate                 :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: rawptr)
+ProcUpdateDescriptorSetWithTemplateKHR              :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: rawptr)
+ProcUpdateDescriptorSets                            :: #type proc "system" (device: Device, descriptorWriteCount: u32, pDescriptorWrites: [^]WriteDescriptorSet, descriptorCopyCount: u32, pDescriptorCopies: [^]CopyDescriptorSet)
+ProcWaitForFences                                   :: #type proc "system" (device: Device, fenceCount: u32, pFences: [^]Fence, waitAll: b32, timeout: u64) -> Result
+ProcWaitForPresentKHR                               :: #type proc "system" (device: Device, swapchain: SwapchainKHR, presentId: u64, timeout: u64) -> Result
+ProcWaitSemaphores                                  :: #type proc "system" (device: Device, pWaitInfo: ^SemaphoreWaitInfo, timeout: u64) -> Result
+ProcWaitSemaphoresKHR                               :: #type proc "system" (device: Device, pWaitInfo: ^SemaphoreWaitInfo, timeout: u64) -> Result
+ProcWriteAccelerationStructuresPropertiesKHR        :: #type proc "system" (device: Device, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureKHR, queryType: QueryType, dataSize: int, pData: rawptr, stride: int) -> Result
+
+
+// Loader Procedures
+CreateInstance:                       ProcCreateInstance
+DebugUtilsMessengerCallbackEXT:       ProcDebugUtilsMessengerCallbackEXT
+DeviceMemoryReportCallbackEXT:        ProcDeviceMemoryReportCallbackEXT
+EnumerateInstanceExtensionProperties: ProcEnumerateInstanceExtensionProperties
+EnumerateInstanceLayerProperties:     ProcEnumerateInstanceLayerProperties
+EnumerateInstanceVersion:             ProcEnumerateInstanceVersion
+GetInstanceProcAddr:                  ProcGetInstanceProcAddr
+
+// Instance Procedures
+AcquireDrmDisplayEXT:                                            ProcAcquireDrmDisplayEXT
+AcquireWinrtDisplayNV:                                           ProcAcquireWinrtDisplayNV
+CreateDebugReportCallbackEXT:                                    ProcCreateDebugReportCallbackEXT
+CreateDebugUtilsMessengerEXT:                                    ProcCreateDebugUtilsMessengerEXT
+CreateDevice:                                                    ProcCreateDevice
+CreateDisplayModeKHR:                                            ProcCreateDisplayModeKHR
+CreateDisplayPlaneSurfaceKHR:                                    ProcCreateDisplayPlaneSurfaceKHR
+CreateHeadlessSurfaceEXT:                                        ProcCreateHeadlessSurfaceEXT
+CreateIOSSurfaceMVK:                                             ProcCreateIOSSurfaceMVK
+CreateMacOSSurfaceMVK:                                           ProcCreateMacOSSurfaceMVK
+CreateMetalSurfaceEXT:                                           ProcCreateMetalSurfaceEXT
+CreateWin32SurfaceKHR:                                           ProcCreateWin32SurfaceKHR
+DebugReportMessageEXT:                                           ProcDebugReportMessageEXT
+DestroyDebugReportCallbackEXT:                                   ProcDestroyDebugReportCallbackEXT
+DestroyDebugUtilsMessengerEXT:                                   ProcDestroyDebugUtilsMessengerEXT
+DestroyInstance:                                                 ProcDestroyInstance
+DestroySurfaceKHR:                                               ProcDestroySurfaceKHR
+EnumerateDeviceExtensionProperties:                              ProcEnumerateDeviceExtensionProperties
+EnumerateDeviceLayerProperties:                                  ProcEnumerateDeviceLayerProperties
+EnumeratePhysicalDeviceGroups:                                   ProcEnumeratePhysicalDeviceGroups
+EnumeratePhysicalDeviceGroupsKHR:                                ProcEnumeratePhysicalDeviceGroupsKHR
+EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR:   ProcEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
+EnumeratePhysicalDevices:                                        ProcEnumeratePhysicalDevices
+GetDisplayModeProperties2KHR:                                    ProcGetDisplayModeProperties2KHR
+GetDisplayModePropertiesKHR:                                     ProcGetDisplayModePropertiesKHR
+GetDisplayPlaneCapabilities2KHR:                                 ProcGetDisplayPlaneCapabilities2KHR
+GetDisplayPlaneCapabilitiesKHR:                                  ProcGetDisplayPlaneCapabilitiesKHR
+GetDisplayPlaneSupportedDisplaysKHR:                             ProcGetDisplayPlaneSupportedDisplaysKHR
+GetDrmDisplayEXT:                                                ProcGetDrmDisplayEXT
+GetPhysicalDeviceCalibrateableTimeDomainsEXT:                    ProcGetPhysicalDeviceCalibrateableTimeDomainsEXT
+GetPhysicalDeviceCooperativeMatrixPropertiesNV:                  ProcGetPhysicalDeviceCooperativeMatrixPropertiesNV
+GetPhysicalDeviceDisplayPlaneProperties2KHR:                     ProcGetPhysicalDeviceDisplayPlaneProperties2KHR
+GetPhysicalDeviceDisplayPlanePropertiesKHR:                      ProcGetPhysicalDeviceDisplayPlanePropertiesKHR
+GetPhysicalDeviceDisplayProperties2KHR:                          ProcGetPhysicalDeviceDisplayProperties2KHR
+GetPhysicalDeviceDisplayPropertiesKHR:                           ProcGetPhysicalDeviceDisplayPropertiesKHR
+GetPhysicalDeviceExternalBufferProperties:                       ProcGetPhysicalDeviceExternalBufferProperties
+GetPhysicalDeviceExternalBufferPropertiesKHR:                    ProcGetPhysicalDeviceExternalBufferPropertiesKHR
+GetPhysicalDeviceExternalFenceProperties:                        ProcGetPhysicalDeviceExternalFenceProperties
+GetPhysicalDeviceExternalFencePropertiesKHR:                     ProcGetPhysicalDeviceExternalFencePropertiesKHR
+GetPhysicalDeviceExternalImageFormatPropertiesNV:                ProcGetPhysicalDeviceExternalImageFormatPropertiesNV
+GetPhysicalDeviceExternalSemaphoreProperties:                    ProcGetPhysicalDeviceExternalSemaphoreProperties
+GetPhysicalDeviceExternalSemaphorePropertiesKHR:                 ProcGetPhysicalDeviceExternalSemaphorePropertiesKHR
+GetPhysicalDeviceFeatures:                                       ProcGetPhysicalDeviceFeatures
+GetPhysicalDeviceFeatures2:                                      ProcGetPhysicalDeviceFeatures2
+GetPhysicalDeviceFeatures2KHR:                                   ProcGetPhysicalDeviceFeatures2KHR
+GetPhysicalDeviceFormatProperties:                               ProcGetPhysicalDeviceFormatProperties
+GetPhysicalDeviceFormatProperties2:                              ProcGetPhysicalDeviceFormatProperties2
+GetPhysicalDeviceFormatProperties2KHR:                           ProcGetPhysicalDeviceFormatProperties2KHR
+GetPhysicalDeviceFragmentShadingRatesKHR:                        ProcGetPhysicalDeviceFragmentShadingRatesKHR
+GetPhysicalDeviceImageFormatProperties:                          ProcGetPhysicalDeviceImageFormatProperties
+GetPhysicalDeviceImageFormatProperties2:                         ProcGetPhysicalDeviceImageFormatProperties2
+GetPhysicalDeviceImageFormatProperties2KHR:                      ProcGetPhysicalDeviceImageFormatProperties2KHR
+GetPhysicalDeviceMemoryProperties:                               ProcGetPhysicalDeviceMemoryProperties
+GetPhysicalDeviceMemoryProperties2:                              ProcGetPhysicalDeviceMemoryProperties2
+GetPhysicalDeviceMemoryProperties2KHR:                           ProcGetPhysicalDeviceMemoryProperties2KHR
+GetPhysicalDeviceMultisamplePropertiesEXT:                       ProcGetPhysicalDeviceMultisamplePropertiesEXT
+GetPhysicalDevicePresentRectanglesKHR:                           ProcGetPhysicalDevicePresentRectanglesKHR
+GetPhysicalDeviceProperties:                                     ProcGetPhysicalDeviceProperties
+GetPhysicalDeviceProperties2:                                    ProcGetPhysicalDeviceProperties2
+GetPhysicalDeviceProperties2KHR:                                 ProcGetPhysicalDeviceProperties2KHR
+GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR:           ProcGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
+GetPhysicalDeviceQueueFamilyProperties:                          ProcGetPhysicalDeviceQueueFamilyProperties
+GetPhysicalDeviceQueueFamilyProperties2:                         ProcGetPhysicalDeviceQueueFamilyProperties2
+GetPhysicalDeviceQueueFamilyProperties2KHR:                      ProcGetPhysicalDeviceQueueFamilyProperties2KHR
+GetPhysicalDeviceSparseImageFormatProperties:                    ProcGetPhysicalDeviceSparseImageFormatProperties
+GetPhysicalDeviceSparseImageFormatProperties2:                   ProcGetPhysicalDeviceSparseImageFormatProperties2
+GetPhysicalDeviceSparseImageFormatProperties2KHR:                ProcGetPhysicalDeviceSparseImageFormatProperties2KHR
+GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV: ProcGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
+GetPhysicalDeviceSurfaceCapabilities2EXT:                        ProcGetPhysicalDeviceSurfaceCapabilities2EXT
+GetPhysicalDeviceSurfaceCapabilities2KHR:                        ProcGetPhysicalDeviceSurfaceCapabilities2KHR
+GetPhysicalDeviceSurfaceCapabilitiesKHR:                         ProcGetPhysicalDeviceSurfaceCapabilitiesKHR
+GetPhysicalDeviceSurfaceFormats2KHR:                             ProcGetPhysicalDeviceSurfaceFormats2KHR
+GetPhysicalDeviceSurfaceFormatsKHR:                              ProcGetPhysicalDeviceSurfaceFormatsKHR
+GetPhysicalDeviceSurfacePresentModes2EXT:                        ProcGetPhysicalDeviceSurfacePresentModes2EXT
+GetPhysicalDeviceSurfacePresentModesKHR:                         ProcGetPhysicalDeviceSurfacePresentModesKHR
+GetPhysicalDeviceSurfaceSupportKHR:                              ProcGetPhysicalDeviceSurfaceSupportKHR
+GetPhysicalDeviceToolProperties:                                 ProcGetPhysicalDeviceToolProperties
+GetPhysicalDeviceToolPropertiesEXT:                              ProcGetPhysicalDeviceToolPropertiesEXT
+GetPhysicalDeviceWin32PresentationSupportKHR:                    ProcGetPhysicalDeviceWin32PresentationSupportKHR
+GetWinrtDisplayNV:                                               ProcGetWinrtDisplayNV
+ReleaseDisplayEXT:                                               ProcReleaseDisplayEXT
+SubmitDebugUtilsMessageEXT:                                      ProcSubmitDebugUtilsMessageEXT
+
+// Device Procedures
+AcquireFullScreenExclusiveModeEXT:               ProcAcquireFullScreenExclusiveModeEXT
+AcquireNextImage2KHR:                            ProcAcquireNextImage2KHR
+AcquireNextImageKHR:                             ProcAcquireNextImageKHR
+AcquirePerformanceConfigurationINTEL:            ProcAcquirePerformanceConfigurationINTEL
+AcquireProfilingLockKHR:                         ProcAcquireProfilingLockKHR
+AllocateCommandBuffers:                          ProcAllocateCommandBuffers
+AllocateDescriptorSets:                          ProcAllocateDescriptorSets
+AllocateMemory:                                  ProcAllocateMemory
+BeginCommandBuffer:                              ProcBeginCommandBuffer
+BindAccelerationStructureMemoryNV:               ProcBindAccelerationStructureMemoryNV
+BindBufferMemory:                                ProcBindBufferMemory
+BindBufferMemory2:                               ProcBindBufferMemory2
+BindBufferMemory2KHR:                            ProcBindBufferMemory2KHR
+BindImageMemory:                                 ProcBindImageMemory
+BindImageMemory2:                                ProcBindImageMemory2
+BindImageMemory2KHR:                             ProcBindImageMemory2KHR
+BuildAccelerationStructuresKHR:                  ProcBuildAccelerationStructuresKHR
+CmdBeginConditionalRenderingEXT:                 ProcCmdBeginConditionalRenderingEXT
+CmdBeginDebugUtilsLabelEXT:                      ProcCmdBeginDebugUtilsLabelEXT
+CmdBeginQuery:                                   ProcCmdBeginQuery
+CmdBeginQueryIndexedEXT:                         ProcCmdBeginQueryIndexedEXT
+CmdBeginRenderPass:                              ProcCmdBeginRenderPass
+CmdBeginRenderPass2:                             ProcCmdBeginRenderPass2
+CmdBeginRenderPass2KHR:                          ProcCmdBeginRenderPass2KHR
+CmdBeginRendering:                               ProcCmdBeginRendering
+CmdBeginRenderingKHR:                            ProcCmdBeginRenderingKHR
+CmdBeginTransformFeedbackEXT:                    ProcCmdBeginTransformFeedbackEXT
+CmdBindDescriptorSets:                           ProcCmdBindDescriptorSets
+CmdBindIndexBuffer:                              ProcCmdBindIndexBuffer
+CmdBindInvocationMaskHUAWEI:                     ProcCmdBindInvocationMaskHUAWEI
+CmdBindPipeline:                                 ProcCmdBindPipeline
+CmdBindPipelineShaderGroupNV:                    ProcCmdBindPipelineShaderGroupNV
+CmdBindShadingRateImageNV:                       ProcCmdBindShadingRateImageNV
+CmdBindTransformFeedbackBuffersEXT:              ProcCmdBindTransformFeedbackBuffersEXT
+CmdBindVertexBuffers:                            ProcCmdBindVertexBuffers
+CmdBindVertexBuffers2:                           ProcCmdBindVertexBuffers2
+CmdBindVertexBuffers2EXT:                        ProcCmdBindVertexBuffers2EXT
+CmdBlitImage:                                    ProcCmdBlitImage
+CmdBlitImage2:                                   ProcCmdBlitImage2
+CmdBlitImage2KHR:                                ProcCmdBlitImage2KHR
+CmdBuildAccelerationStructureNV:                 ProcCmdBuildAccelerationStructureNV
+CmdBuildAccelerationStructuresIndirectKHR:       ProcCmdBuildAccelerationStructuresIndirectKHR
+CmdBuildAccelerationStructuresKHR:               ProcCmdBuildAccelerationStructuresKHR
+CmdClearAttachments:                             ProcCmdClearAttachments
+CmdClearColorImage:                              ProcCmdClearColorImage
+CmdClearDepthStencilImage:                       ProcCmdClearDepthStencilImage
+CmdCopyAccelerationStructureKHR:                 ProcCmdCopyAccelerationStructureKHR
+CmdCopyAccelerationStructureNV:                  ProcCmdCopyAccelerationStructureNV
+CmdCopyAccelerationStructureToMemoryKHR:         ProcCmdCopyAccelerationStructureToMemoryKHR
+CmdCopyBuffer:                                   ProcCmdCopyBuffer
+CmdCopyBuffer2:                                  ProcCmdCopyBuffer2
+CmdCopyBuffer2KHR:                               ProcCmdCopyBuffer2KHR
+CmdCopyBufferToImage:                            ProcCmdCopyBufferToImage
+CmdCopyBufferToImage2:                           ProcCmdCopyBufferToImage2
+CmdCopyBufferToImage2KHR:                        ProcCmdCopyBufferToImage2KHR
+CmdCopyImage:                                    ProcCmdCopyImage
+CmdCopyImage2:                                   ProcCmdCopyImage2
+CmdCopyImage2KHR:                                ProcCmdCopyImage2KHR
+CmdCopyImageToBuffer:                            ProcCmdCopyImageToBuffer
+CmdCopyImageToBuffer2:                           ProcCmdCopyImageToBuffer2
+CmdCopyImageToBuffer2KHR:                        ProcCmdCopyImageToBuffer2KHR
+CmdCopyMemoryToAccelerationStructureKHR:         ProcCmdCopyMemoryToAccelerationStructureKHR
+CmdCopyQueryPoolResults:                         ProcCmdCopyQueryPoolResults
+CmdCuLaunchKernelNVX:                            ProcCmdCuLaunchKernelNVX
+CmdDebugMarkerBeginEXT:                          ProcCmdDebugMarkerBeginEXT
+CmdDebugMarkerEndEXT:                            ProcCmdDebugMarkerEndEXT
+CmdDebugMarkerInsertEXT:                         ProcCmdDebugMarkerInsertEXT
+CmdDispatch:                                     ProcCmdDispatch
+CmdDispatchBase:                                 ProcCmdDispatchBase
+CmdDispatchBaseKHR:                              ProcCmdDispatchBaseKHR
+CmdDispatchIndirect:                             ProcCmdDispatchIndirect
+CmdDraw:                                         ProcCmdDraw
+CmdDrawIndexed:                                  ProcCmdDrawIndexed
+CmdDrawIndexedIndirect:                          ProcCmdDrawIndexedIndirect
+CmdDrawIndexedIndirectCount:                     ProcCmdDrawIndexedIndirectCount
+CmdDrawIndexedIndirectCountAMD:                  ProcCmdDrawIndexedIndirectCountAMD
+CmdDrawIndexedIndirectCountKHR:                  ProcCmdDrawIndexedIndirectCountKHR
+CmdDrawIndirect:                                 ProcCmdDrawIndirect
+CmdDrawIndirectByteCountEXT:                     ProcCmdDrawIndirectByteCountEXT
+CmdDrawIndirectCount:                            ProcCmdDrawIndirectCount
+CmdDrawIndirectCountAMD:                         ProcCmdDrawIndirectCountAMD
+CmdDrawIndirectCountKHR:                         ProcCmdDrawIndirectCountKHR
+CmdDrawMeshTasksIndirectCountNV:                 ProcCmdDrawMeshTasksIndirectCountNV
+CmdDrawMeshTasksIndirectNV:                      ProcCmdDrawMeshTasksIndirectNV
+CmdDrawMeshTasksNV:                              ProcCmdDrawMeshTasksNV
+CmdDrawMultiEXT:                                 ProcCmdDrawMultiEXT
+CmdDrawMultiIndexedEXT:                          ProcCmdDrawMultiIndexedEXT
+CmdEndConditionalRenderingEXT:                   ProcCmdEndConditionalRenderingEXT
+CmdEndDebugUtilsLabelEXT:                        ProcCmdEndDebugUtilsLabelEXT
+CmdEndQuery:                                     ProcCmdEndQuery
+CmdEndQueryIndexedEXT:                           ProcCmdEndQueryIndexedEXT
+CmdEndRenderPass:                                ProcCmdEndRenderPass
+CmdEndRenderPass2:                               ProcCmdEndRenderPass2
+CmdEndRenderPass2KHR:                            ProcCmdEndRenderPass2KHR
+CmdEndRendering:                                 ProcCmdEndRendering
+CmdEndRenderingKHR:                              ProcCmdEndRenderingKHR
+CmdEndTransformFeedbackEXT:                      ProcCmdEndTransformFeedbackEXT
+CmdExecuteCommands:                              ProcCmdExecuteCommands
+CmdExecuteGeneratedCommandsNV:                   ProcCmdExecuteGeneratedCommandsNV
+CmdFillBuffer:                                   ProcCmdFillBuffer
+CmdInsertDebugUtilsLabelEXT:                     ProcCmdInsertDebugUtilsLabelEXT
+CmdNextSubpass:                                  ProcCmdNextSubpass
+CmdNextSubpass2:                                 ProcCmdNextSubpass2
+CmdNextSubpass2KHR:                              ProcCmdNextSubpass2KHR
+CmdPipelineBarrier:                              ProcCmdPipelineBarrier
+CmdPipelineBarrier2:                             ProcCmdPipelineBarrier2
+CmdPipelineBarrier2KHR:                          ProcCmdPipelineBarrier2KHR
+CmdPreprocessGeneratedCommandsNV:                ProcCmdPreprocessGeneratedCommandsNV
+CmdPushConstants:                                ProcCmdPushConstants
+CmdPushDescriptorSetKHR:                         ProcCmdPushDescriptorSetKHR
+CmdPushDescriptorSetWithTemplateKHR:             ProcCmdPushDescriptorSetWithTemplateKHR
+CmdResetEvent:                                   ProcCmdResetEvent
+CmdResetEvent2:                                  ProcCmdResetEvent2
+CmdResetEvent2KHR:                               ProcCmdResetEvent2KHR
+CmdResetQueryPool:                               ProcCmdResetQueryPool
+CmdResolveImage:                                 ProcCmdResolveImage
+CmdResolveImage2:                                ProcCmdResolveImage2
+CmdResolveImage2KHR:                             ProcCmdResolveImage2KHR
+CmdSetBlendConstants:                            ProcCmdSetBlendConstants
+CmdSetCheckpointNV:                              ProcCmdSetCheckpointNV
+CmdSetCoarseSampleOrderNV:                       ProcCmdSetCoarseSampleOrderNV
+CmdSetCullMode:                                  ProcCmdSetCullMode
+CmdSetCullModeEXT:                               ProcCmdSetCullModeEXT
+CmdSetDepthBias:                                 ProcCmdSetDepthBias
+CmdSetDepthBiasEnable:                           ProcCmdSetDepthBiasEnable
+CmdSetDepthBiasEnableEXT:                        ProcCmdSetDepthBiasEnableEXT
+CmdSetDepthBounds:                               ProcCmdSetDepthBounds
+CmdSetDepthBoundsTestEnable:                     ProcCmdSetDepthBoundsTestEnable
+CmdSetDepthBoundsTestEnableEXT:                  ProcCmdSetDepthBoundsTestEnableEXT
+CmdSetDepthCompareOp:                            ProcCmdSetDepthCompareOp
+CmdSetDepthCompareOpEXT:                         ProcCmdSetDepthCompareOpEXT
+CmdSetDepthTestEnable:                           ProcCmdSetDepthTestEnable
+CmdSetDepthTestEnableEXT:                        ProcCmdSetDepthTestEnableEXT
+CmdSetDepthWriteEnable:                          ProcCmdSetDepthWriteEnable
+CmdSetDepthWriteEnableEXT:                       ProcCmdSetDepthWriteEnableEXT
+CmdSetDeviceMask:                                ProcCmdSetDeviceMask
+CmdSetDeviceMaskKHR:                             ProcCmdSetDeviceMaskKHR
+CmdSetDiscardRectangleEXT:                       ProcCmdSetDiscardRectangleEXT
+CmdSetEvent:                                     ProcCmdSetEvent
+CmdSetEvent2:                                    ProcCmdSetEvent2
+CmdSetEvent2KHR:                                 ProcCmdSetEvent2KHR
+CmdSetExclusiveScissorNV:                        ProcCmdSetExclusiveScissorNV
+CmdSetFragmentShadingRateEnumNV:                 ProcCmdSetFragmentShadingRateEnumNV
+CmdSetFragmentShadingRateKHR:                    ProcCmdSetFragmentShadingRateKHR
+CmdSetFrontFace:                                 ProcCmdSetFrontFace
+CmdSetFrontFaceEXT:                              ProcCmdSetFrontFaceEXT
+CmdSetLineStippleEXT:                            ProcCmdSetLineStippleEXT
+CmdSetLineWidth:                                 ProcCmdSetLineWidth
+CmdSetLogicOpEXT:                                ProcCmdSetLogicOpEXT
+CmdSetPatchControlPointsEXT:                     ProcCmdSetPatchControlPointsEXT
+CmdSetPerformanceMarkerINTEL:                    ProcCmdSetPerformanceMarkerINTEL
+CmdSetPerformanceOverrideINTEL:                  ProcCmdSetPerformanceOverrideINTEL
+CmdSetPerformanceStreamMarkerINTEL:              ProcCmdSetPerformanceStreamMarkerINTEL
+CmdSetPrimitiveRestartEnable:                    ProcCmdSetPrimitiveRestartEnable
+CmdSetPrimitiveRestartEnableEXT:                 ProcCmdSetPrimitiveRestartEnableEXT
+CmdSetPrimitiveTopology:                         ProcCmdSetPrimitiveTopology
+CmdSetPrimitiveTopologyEXT:                      ProcCmdSetPrimitiveTopologyEXT
+CmdSetRasterizerDiscardEnable:                   ProcCmdSetRasterizerDiscardEnable
+CmdSetRasterizerDiscardEnableEXT:                ProcCmdSetRasterizerDiscardEnableEXT
+CmdSetRayTracingPipelineStackSizeKHR:            ProcCmdSetRayTracingPipelineStackSizeKHR
+CmdSetSampleLocationsEXT:                        ProcCmdSetSampleLocationsEXT
+CmdSetScissor:                                   ProcCmdSetScissor
+CmdSetScissorWithCount:                          ProcCmdSetScissorWithCount
+CmdSetScissorWithCountEXT:                       ProcCmdSetScissorWithCountEXT
+CmdSetStencilCompareMask:                        ProcCmdSetStencilCompareMask
+CmdSetStencilOp:                                 ProcCmdSetStencilOp
+CmdSetStencilOpEXT:                              ProcCmdSetStencilOpEXT
+CmdSetStencilReference:                          ProcCmdSetStencilReference
+CmdSetStencilTestEnable:                         ProcCmdSetStencilTestEnable
+CmdSetStencilTestEnableEXT:                      ProcCmdSetStencilTestEnableEXT
+CmdSetStencilWriteMask:                          ProcCmdSetStencilWriteMask
+CmdSetVertexInputEXT:                            ProcCmdSetVertexInputEXT
+CmdSetViewport:                                  ProcCmdSetViewport
+CmdSetViewportShadingRatePaletteNV:              ProcCmdSetViewportShadingRatePaletteNV
+CmdSetViewportWScalingNV:                        ProcCmdSetViewportWScalingNV
+CmdSetViewportWithCount:                         ProcCmdSetViewportWithCount
+CmdSetViewportWithCountEXT:                      ProcCmdSetViewportWithCountEXT
+CmdSubpassShadingHUAWEI:                         ProcCmdSubpassShadingHUAWEI
+CmdTraceRaysIndirectKHR:                         ProcCmdTraceRaysIndirectKHR
+CmdTraceRaysKHR:                                 ProcCmdTraceRaysKHR
+CmdTraceRaysNV:                                  ProcCmdTraceRaysNV
+CmdUpdateBuffer:                                 ProcCmdUpdateBuffer
+CmdWaitEvents:                                   ProcCmdWaitEvents
+CmdWaitEvents2:                                  ProcCmdWaitEvents2
+CmdWaitEvents2KHR:                               ProcCmdWaitEvents2KHR
+CmdWriteAccelerationStructuresPropertiesKHR:     ProcCmdWriteAccelerationStructuresPropertiesKHR
+CmdWriteAccelerationStructuresPropertiesNV:      ProcCmdWriteAccelerationStructuresPropertiesNV
+CmdWriteBufferMarker2AMD:                        ProcCmdWriteBufferMarker2AMD
+CmdWriteBufferMarkerAMD:                         ProcCmdWriteBufferMarkerAMD
+CmdWriteTimestamp:                               ProcCmdWriteTimestamp
+CmdWriteTimestamp2:                              ProcCmdWriteTimestamp2
+CmdWriteTimestamp2KHR:                           ProcCmdWriteTimestamp2KHR
+CompileDeferredNV:                               ProcCompileDeferredNV
+CopyAccelerationStructureKHR:                    ProcCopyAccelerationStructureKHR
+CopyAccelerationStructureToMemoryKHR:            ProcCopyAccelerationStructureToMemoryKHR
+CopyMemoryToAccelerationStructureKHR:            ProcCopyMemoryToAccelerationStructureKHR
+CreateAccelerationStructureKHR:                  ProcCreateAccelerationStructureKHR
+CreateAccelerationStructureNV:                   ProcCreateAccelerationStructureNV
+CreateBuffer:                                    ProcCreateBuffer
+CreateBufferView:                                ProcCreateBufferView
+CreateCommandPool:                               ProcCreateCommandPool
+CreateComputePipelines:                          ProcCreateComputePipelines
+CreateCuFunctionNVX:                             ProcCreateCuFunctionNVX
+CreateCuModuleNVX:                               ProcCreateCuModuleNVX
+CreateDeferredOperationKHR:                      ProcCreateDeferredOperationKHR
+CreateDescriptorPool:                            ProcCreateDescriptorPool
+CreateDescriptorSetLayout:                       ProcCreateDescriptorSetLayout
+CreateDescriptorUpdateTemplate:                  ProcCreateDescriptorUpdateTemplate
+CreateDescriptorUpdateTemplateKHR:               ProcCreateDescriptorUpdateTemplateKHR
+CreateEvent:                                     ProcCreateEvent
+CreateFence:                                     ProcCreateFence
+CreateFramebuffer:                               ProcCreateFramebuffer
+CreateGraphicsPipelines:                         ProcCreateGraphicsPipelines
+CreateImage:                                     ProcCreateImage
+CreateImageView:                                 ProcCreateImageView
+CreateIndirectCommandsLayoutNV:                  ProcCreateIndirectCommandsLayoutNV
+CreatePipelineCache:                             ProcCreatePipelineCache
+CreatePipelineLayout:                            ProcCreatePipelineLayout
+CreatePrivateDataSlot:                           ProcCreatePrivateDataSlot
+CreatePrivateDataSlotEXT:                        ProcCreatePrivateDataSlotEXT
+CreateQueryPool:                                 ProcCreateQueryPool
+CreateRayTracingPipelinesKHR:                    ProcCreateRayTracingPipelinesKHR
+CreateRayTracingPipelinesNV:                     ProcCreateRayTracingPipelinesNV
+CreateRenderPass:                                ProcCreateRenderPass
+CreateRenderPass2:                               ProcCreateRenderPass2
+CreateRenderPass2KHR:                            ProcCreateRenderPass2KHR
+CreateSampler:                                   ProcCreateSampler
+CreateSamplerYcbcrConversion:                    ProcCreateSamplerYcbcrConversion
+CreateSamplerYcbcrConversionKHR:                 ProcCreateSamplerYcbcrConversionKHR
+CreateSemaphore:                                 ProcCreateSemaphore
+CreateShaderModule:                              ProcCreateShaderModule
+CreateSharedSwapchainsKHR:                       ProcCreateSharedSwapchainsKHR
+CreateSwapchainKHR:                              ProcCreateSwapchainKHR
+CreateValidationCacheEXT:                        ProcCreateValidationCacheEXT
+DebugMarkerSetObjectNameEXT:                     ProcDebugMarkerSetObjectNameEXT
+DebugMarkerSetObjectTagEXT:                      ProcDebugMarkerSetObjectTagEXT
+DeferredOperationJoinKHR:                        ProcDeferredOperationJoinKHR
+DestroyAccelerationStructureKHR:                 ProcDestroyAccelerationStructureKHR
+DestroyAccelerationStructureNV:                  ProcDestroyAccelerationStructureNV
+DestroyBuffer:                                   ProcDestroyBuffer
+DestroyBufferView:                               ProcDestroyBufferView
+DestroyCommandPool:                              ProcDestroyCommandPool
+DestroyCuFunctionNVX:                            ProcDestroyCuFunctionNVX
+DestroyCuModuleNVX:                              ProcDestroyCuModuleNVX
+DestroyDeferredOperationKHR:                     ProcDestroyDeferredOperationKHR
+DestroyDescriptorPool:                           ProcDestroyDescriptorPool
+DestroyDescriptorSetLayout:                      ProcDestroyDescriptorSetLayout
+DestroyDescriptorUpdateTemplate:                 ProcDestroyDescriptorUpdateTemplate
+DestroyDescriptorUpdateTemplateKHR:              ProcDestroyDescriptorUpdateTemplateKHR
+DestroyDevice:                                   ProcDestroyDevice
+DestroyEvent:                                    ProcDestroyEvent
+DestroyFence:                                    ProcDestroyFence
+DestroyFramebuffer:                              ProcDestroyFramebuffer
+DestroyImage:                                    ProcDestroyImage
+DestroyImageView:                                ProcDestroyImageView
+DestroyIndirectCommandsLayoutNV:                 ProcDestroyIndirectCommandsLayoutNV
+DestroyPipeline:                                 ProcDestroyPipeline
+DestroyPipelineCache:                            ProcDestroyPipelineCache
+DestroyPipelineLayout:                           ProcDestroyPipelineLayout
+DestroyPrivateDataSlot:                          ProcDestroyPrivateDataSlot
+DestroyPrivateDataSlotEXT:                       ProcDestroyPrivateDataSlotEXT
+DestroyQueryPool:                                ProcDestroyQueryPool
+DestroyRenderPass:                               ProcDestroyRenderPass
+DestroySampler:                                  ProcDestroySampler
+DestroySamplerYcbcrConversion:                   ProcDestroySamplerYcbcrConversion
+DestroySamplerYcbcrConversionKHR:                ProcDestroySamplerYcbcrConversionKHR
+DestroySemaphore:                                ProcDestroySemaphore
+DestroyShaderModule:                             ProcDestroyShaderModule
+DestroySwapchainKHR:                             ProcDestroySwapchainKHR
+DestroyValidationCacheEXT:                       ProcDestroyValidationCacheEXT
+DeviceWaitIdle:                                  ProcDeviceWaitIdle
+DisplayPowerControlEXT:                          ProcDisplayPowerControlEXT
+EndCommandBuffer:                                ProcEndCommandBuffer
+FlushMappedMemoryRanges:                         ProcFlushMappedMemoryRanges
+FreeCommandBuffers:                              ProcFreeCommandBuffers
+FreeDescriptorSets:                              ProcFreeDescriptorSets
+FreeMemory:                                      ProcFreeMemory
+GetAccelerationStructureBuildSizesKHR:           ProcGetAccelerationStructureBuildSizesKHR
+GetAccelerationStructureDeviceAddressKHR:        ProcGetAccelerationStructureDeviceAddressKHR
+GetAccelerationStructureHandleNV:                ProcGetAccelerationStructureHandleNV
+GetAccelerationStructureMemoryRequirementsNV:    ProcGetAccelerationStructureMemoryRequirementsNV
+GetBufferDeviceAddress:                          ProcGetBufferDeviceAddress
+GetBufferDeviceAddressEXT:                       ProcGetBufferDeviceAddressEXT
+GetBufferDeviceAddressKHR:                       ProcGetBufferDeviceAddressKHR
+GetBufferMemoryRequirements:                     ProcGetBufferMemoryRequirements
+GetBufferMemoryRequirements2:                    ProcGetBufferMemoryRequirements2
+GetBufferMemoryRequirements2KHR:                 ProcGetBufferMemoryRequirements2KHR
+GetBufferOpaqueCaptureAddress:                   ProcGetBufferOpaqueCaptureAddress
+GetBufferOpaqueCaptureAddressKHR:                ProcGetBufferOpaqueCaptureAddressKHR
+GetCalibratedTimestampsEXT:                      ProcGetCalibratedTimestampsEXT
+GetDeferredOperationMaxConcurrencyKHR:           ProcGetDeferredOperationMaxConcurrencyKHR
+GetDeferredOperationResultKHR:                   ProcGetDeferredOperationResultKHR
+GetDescriptorSetHostMappingVALVE:                ProcGetDescriptorSetHostMappingVALVE
+GetDescriptorSetLayoutHostMappingInfoVALVE:      ProcGetDescriptorSetLayoutHostMappingInfoVALVE
+GetDescriptorSetLayoutSupport:                   ProcGetDescriptorSetLayoutSupport
+GetDescriptorSetLayoutSupportKHR:                ProcGetDescriptorSetLayoutSupportKHR
+GetDeviceAccelerationStructureCompatibilityKHR:  ProcGetDeviceAccelerationStructureCompatibilityKHR
+GetDeviceBufferMemoryRequirements:               ProcGetDeviceBufferMemoryRequirements
+GetDeviceBufferMemoryRequirementsKHR:            ProcGetDeviceBufferMemoryRequirementsKHR
+GetDeviceGroupPeerMemoryFeatures:                ProcGetDeviceGroupPeerMemoryFeatures
+GetDeviceGroupPeerMemoryFeaturesKHR:             ProcGetDeviceGroupPeerMemoryFeaturesKHR
+GetDeviceGroupPresentCapabilitiesKHR:            ProcGetDeviceGroupPresentCapabilitiesKHR
+GetDeviceGroupSurfacePresentModes2EXT:           ProcGetDeviceGroupSurfacePresentModes2EXT
+GetDeviceGroupSurfacePresentModesKHR:            ProcGetDeviceGroupSurfacePresentModesKHR
+GetDeviceImageMemoryRequirements:                ProcGetDeviceImageMemoryRequirements
+GetDeviceImageMemoryRequirementsKHR:             ProcGetDeviceImageMemoryRequirementsKHR
+GetDeviceImageSparseMemoryRequirements:          ProcGetDeviceImageSparseMemoryRequirements
+GetDeviceImageSparseMemoryRequirementsKHR:       ProcGetDeviceImageSparseMemoryRequirementsKHR
+GetDeviceMemoryCommitment:                       ProcGetDeviceMemoryCommitment
+GetDeviceMemoryOpaqueCaptureAddress:             ProcGetDeviceMemoryOpaqueCaptureAddress
+GetDeviceMemoryOpaqueCaptureAddressKHR:          ProcGetDeviceMemoryOpaqueCaptureAddressKHR
+GetDeviceProcAddr:                               ProcGetDeviceProcAddr
+GetDeviceQueue:                                  ProcGetDeviceQueue
+GetDeviceQueue2:                                 ProcGetDeviceQueue2
+GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI:   ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
+GetEventStatus:                                  ProcGetEventStatus
+GetFenceFdKHR:                                   ProcGetFenceFdKHR
+GetFenceStatus:                                  ProcGetFenceStatus
+GetFenceWin32HandleKHR:                          ProcGetFenceWin32HandleKHR
+GetGeneratedCommandsMemoryRequirementsNV:        ProcGetGeneratedCommandsMemoryRequirementsNV
+GetImageDrmFormatModifierPropertiesEXT:          ProcGetImageDrmFormatModifierPropertiesEXT
+GetImageMemoryRequirements:                      ProcGetImageMemoryRequirements
+GetImageMemoryRequirements2:                     ProcGetImageMemoryRequirements2
+GetImageMemoryRequirements2KHR:                  ProcGetImageMemoryRequirements2KHR
+GetImageSparseMemoryRequirements:                ProcGetImageSparseMemoryRequirements
+GetImageSparseMemoryRequirements2:               ProcGetImageSparseMemoryRequirements2
+GetImageSparseMemoryRequirements2KHR:            ProcGetImageSparseMemoryRequirements2KHR
+GetImageSubresourceLayout:                       ProcGetImageSubresourceLayout
+GetImageViewAddressNVX:                          ProcGetImageViewAddressNVX
+GetImageViewHandleNVX:                           ProcGetImageViewHandleNVX
+GetMemoryFdKHR:                                  ProcGetMemoryFdKHR
+GetMemoryFdPropertiesKHR:                        ProcGetMemoryFdPropertiesKHR
+GetMemoryHostPointerPropertiesEXT:               ProcGetMemoryHostPointerPropertiesEXT
+GetMemoryRemoteAddressNV:                        ProcGetMemoryRemoteAddressNV
+GetMemoryWin32HandleKHR:                         ProcGetMemoryWin32HandleKHR
+GetMemoryWin32HandleNV:                          ProcGetMemoryWin32HandleNV
+GetMemoryWin32HandlePropertiesKHR:               ProcGetMemoryWin32HandlePropertiesKHR
+GetPastPresentationTimingGOOGLE:                 ProcGetPastPresentationTimingGOOGLE
+GetPerformanceParameterINTEL:                    ProcGetPerformanceParameterINTEL
+GetPipelineCacheData:                            ProcGetPipelineCacheData
+GetPipelineExecutableInternalRepresentationsKHR: ProcGetPipelineExecutableInternalRepresentationsKHR
+GetPipelineExecutablePropertiesKHR:              ProcGetPipelineExecutablePropertiesKHR
+GetPipelineExecutableStatisticsKHR:              ProcGetPipelineExecutableStatisticsKHR
+GetPrivateData:                                  ProcGetPrivateData
+GetPrivateDataEXT:                               ProcGetPrivateDataEXT
+GetQueryPoolResults:                             ProcGetQueryPoolResults
+GetQueueCheckpointData2NV:                       ProcGetQueueCheckpointData2NV
+GetQueueCheckpointDataNV:                        ProcGetQueueCheckpointDataNV
+GetRayTracingCaptureReplayShaderGroupHandlesKHR: ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR
+GetRayTracingShaderGroupHandlesKHR:              ProcGetRayTracingShaderGroupHandlesKHR
+GetRayTracingShaderGroupHandlesNV:               ProcGetRayTracingShaderGroupHandlesNV
+GetRayTracingShaderGroupStackSizeKHR:            ProcGetRayTracingShaderGroupStackSizeKHR
+GetRefreshCycleDurationGOOGLE:                   ProcGetRefreshCycleDurationGOOGLE
+GetRenderAreaGranularity:                        ProcGetRenderAreaGranularity
+GetSemaphoreCounterValue:                        ProcGetSemaphoreCounterValue
+GetSemaphoreCounterValueKHR:                     ProcGetSemaphoreCounterValueKHR
+GetSemaphoreFdKHR:                               ProcGetSemaphoreFdKHR
+GetSemaphoreWin32HandleKHR:                      ProcGetSemaphoreWin32HandleKHR
+GetShaderInfoAMD:                                ProcGetShaderInfoAMD
+GetSwapchainCounterEXT:                          ProcGetSwapchainCounterEXT
+GetSwapchainImagesKHR:                           ProcGetSwapchainImagesKHR
+GetSwapchainStatusKHR:                           ProcGetSwapchainStatusKHR
+GetValidationCacheDataEXT:                       ProcGetValidationCacheDataEXT
+ImportFenceFdKHR:                                ProcImportFenceFdKHR
+ImportFenceWin32HandleKHR:                       ProcImportFenceWin32HandleKHR
+ImportSemaphoreFdKHR:                            ProcImportSemaphoreFdKHR
+ImportSemaphoreWin32HandleKHR:                   ProcImportSemaphoreWin32HandleKHR
+InitializePerformanceApiINTEL:                   ProcInitializePerformanceApiINTEL
+InvalidateMappedMemoryRanges:                    ProcInvalidateMappedMemoryRanges
+MapMemory:                                       ProcMapMemory
+MergePipelineCaches:                             ProcMergePipelineCaches
+MergeValidationCachesEXT:                        ProcMergeValidationCachesEXT
+QueueBeginDebugUtilsLabelEXT:                    ProcQueueBeginDebugUtilsLabelEXT
+QueueBindSparse:                                 ProcQueueBindSparse
+QueueEndDebugUtilsLabelEXT:                      ProcQueueEndDebugUtilsLabelEXT
+QueueInsertDebugUtilsLabelEXT:                   ProcQueueInsertDebugUtilsLabelEXT
+QueuePresentKHR:                                 ProcQueuePresentKHR
+QueueSetPerformanceConfigurationINTEL:           ProcQueueSetPerformanceConfigurationINTEL
+QueueSubmit:                                     ProcQueueSubmit
+QueueSubmit2:                                    ProcQueueSubmit2
+QueueSubmit2KHR:                                 ProcQueueSubmit2KHR
+QueueWaitIdle:                                   ProcQueueWaitIdle
+RegisterDeviceEventEXT:                          ProcRegisterDeviceEventEXT
+RegisterDisplayEventEXT:                         ProcRegisterDisplayEventEXT
+ReleaseFullScreenExclusiveModeEXT:               ProcReleaseFullScreenExclusiveModeEXT
+ReleasePerformanceConfigurationINTEL:            ProcReleasePerformanceConfigurationINTEL
+ReleaseProfilingLockKHR:                         ProcReleaseProfilingLockKHR
+ResetCommandBuffer:                              ProcResetCommandBuffer
+ResetCommandPool:                                ProcResetCommandPool
+ResetDescriptorPool:                             ProcResetDescriptorPool
+ResetEvent:                                      ProcResetEvent
+ResetFences:                                     ProcResetFences
+ResetQueryPool:                                  ProcResetQueryPool
+ResetQueryPoolEXT:                               ProcResetQueryPoolEXT
+SetDebugUtilsObjectNameEXT:                      ProcSetDebugUtilsObjectNameEXT
+SetDebugUtilsObjectTagEXT:                       ProcSetDebugUtilsObjectTagEXT
+SetDeviceMemoryPriorityEXT:                      ProcSetDeviceMemoryPriorityEXT
+SetEvent:                                        ProcSetEvent
+SetHdrMetadataEXT:                               ProcSetHdrMetadataEXT
+SetLocalDimmingAMD:                              ProcSetLocalDimmingAMD
+SetPrivateData:                                  ProcSetPrivateData
+SetPrivateDataEXT:                               ProcSetPrivateDataEXT
+SignalSemaphore:                                 ProcSignalSemaphore
+SignalSemaphoreKHR:                              ProcSignalSemaphoreKHR
+TrimCommandPool:                                 ProcTrimCommandPool
+TrimCommandPoolKHR:                              ProcTrimCommandPoolKHR
+UninitializePerformanceApiINTEL:                 ProcUninitializePerformanceApiINTEL
+UnmapMemory:                                     ProcUnmapMemory
+UpdateDescriptorSetWithTemplate:                 ProcUpdateDescriptorSetWithTemplate
+UpdateDescriptorSetWithTemplateKHR:              ProcUpdateDescriptorSetWithTemplateKHR
+UpdateDescriptorSets:                            ProcUpdateDescriptorSets
+WaitForFences:                                   ProcWaitForFences
+WaitForPresentKHR:                               ProcWaitForPresentKHR
+WaitSemaphores:                                  ProcWaitSemaphores
+WaitSemaphoresKHR:                               ProcWaitSemaphoresKHR
+WriteAccelerationStructuresPropertiesKHR:        ProcWriteAccelerationStructuresPropertiesKHR
+
+load_proc_addresses_custom :: proc(set_proc_address: SetProcAddressType) {
+	// Loader Procedures
+	set_proc_address(&CreateInstance,                       "vkCreateInstance")
+	set_proc_address(&DebugUtilsMessengerCallbackEXT,       "vkDebugUtilsMessengerCallbackEXT")
+	set_proc_address(&DeviceMemoryReportCallbackEXT,        "vkDeviceMemoryReportCallbackEXT")
+	set_proc_address(&EnumerateInstanceExtensionProperties, "vkEnumerateInstanceExtensionProperties")
+	set_proc_address(&EnumerateInstanceLayerProperties,     "vkEnumerateInstanceLayerProperties")
+	set_proc_address(&EnumerateInstanceVersion,             "vkEnumerateInstanceVersion")
+	set_proc_address(&GetInstanceProcAddr,                  "vkGetInstanceProcAddr")
+
+	// Instance Procedures
+	set_proc_address(&AcquireDrmDisplayEXT,                                            "vkAcquireDrmDisplayEXT")
+	set_proc_address(&AcquireWinrtDisplayNV,                                           "vkAcquireWinrtDisplayNV")
+	set_proc_address(&CreateDebugReportCallbackEXT,                                    "vkCreateDebugReportCallbackEXT")
+	set_proc_address(&CreateDebugUtilsMessengerEXT,                                    "vkCreateDebugUtilsMessengerEXT")
+	set_proc_address(&CreateDevice,                                                    "vkCreateDevice")
+	set_proc_address(&CreateDisplayModeKHR,                                            "vkCreateDisplayModeKHR")
+	set_proc_address(&CreateDisplayPlaneSurfaceKHR,                                    "vkCreateDisplayPlaneSurfaceKHR")
+	set_proc_address(&CreateHeadlessSurfaceEXT,                                        "vkCreateHeadlessSurfaceEXT")
+	set_proc_address(&CreateIOSSurfaceMVK,                                             "vkCreateIOSSurfaceMVK")
+	set_proc_address(&CreateMacOSSurfaceMVK,                                           "vkCreateMacOSSurfaceMVK")
+	set_proc_address(&CreateMetalSurfaceEXT,                                           "vkCreateMetalSurfaceEXT")
+	set_proc_address(&CreateWin32SurfaceKHR,                                           "vkCreateWin32SurfaceKHR")
+	set_proc_address(&DebugReportMessageEXT,                                           "vkDebugReportMessageEXT")
+	set_proc_address(&DestroyDebugReportCallbackEXT,                                   "vkDestroyDebugReportCallbackEXT")
+	set_proc_address(&DestroyDebugUtilsMessengerEXT,                                   "vkDestroyDebugUtilsMessengerEXT")
+	set_proc_address(&DestroyInstance,                                                 "vkDestroyInstance")
+	set_proc_address(&DestroySurfaceKHR,                                               "vkDestroySurfaceKHR")
+	set_proc_address(&EnumerateDeviceExtensionProperties,                              "vkEnumerateDeviceExtensionProperties")
+	set_proc_address(&EnumerateDeviceLayerProperties,                                  "vkEnumerateDeviceLayerProperties")
+	set_proc_address(&EnumeratePhysicalDeviceGroups,                                   "vkEnumeratePhysicalDeviceGroups")
+	set_proc_address(&EnumeratePhysicalDeviceGroupsKHR,                                "vkEnumeratePhysicalDeviceGroupsKHR")
+	set_proc_address(&EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,   "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")
+	set_proc_address(&EnumeratePhysicalDevices,                                        "vkEnumeratePhysicalDevices")
+	set_proc_address(&GetDisplayModeProperties2KHR,                                    "vkGetDisplayModeProperties2KHR")
+	set_proc_address(&GetDisplayModePropertiesKHR,                                     "vkGetDisplayModePropertiesKHR")
+	set_proc_address(&GetDisplayPlaneCapabilities2KHR,                                 "vkGetDisplayPlaneCapabilities2KHR")
+	set_proc_address(&GetDisplayPlaneCapabilitiesKHR,                                  "vkGetDisplayPlaneCapabilitiesKHR")
+	set_proc_address(&GetDisplayPlaneSupportedDisplaysKHR,                             "vkGetDisplayPlaneSupportedDisplaysKHR")
+	set_proc_address(&GetDrmDisplayEXT,                                                "vkGetDrmDisplayEXT")
+	set_proc_address(&GetPhysicalDeviceCalibrateableTimeDomainsEXT,                    "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT")
+	set_proc_address(&GetPhysicalDeviceCooperativeMatrixPropertiesNV,                  "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV")
+	set_proc_address(&GetPhysicalDeviceDisplayPlaneProperties2KHR,                     "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
+	set_proc_address(&GetPhysicalDeviceDisplayPlanePropertiesKHR,                      "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")
+	set_proc_address(&GetPhysicalDeviceDisplayProperties2KHR,                          "vkGetPhysicalDeviceDisplayProperties2KHR")
+	set_proc_address(&GetPhysicalDeviceDisplayPropertiesKHR,                           "vkGetPhysicalDeviceDisplayPropertiesKHR")
+	set_proc_address(&GetPhysicalDeviceExternalBufferProperties,                       "vkGetPhysicalDeviceExternalBufferProperties")
+	set_proc_address(&GetPhysicalDeviceExternalBufferPropertiesKHR,                    "vkGetPhysicalDeviceExternalBufferPropertiesKHR")
+	set_proc_address(&GetPhysicalDeviceExternalFenceProperties,                        "vkGetPhysicalDeviceExternalFenceProperties")
+	set_proc_address(&GetPhysicalDeviceExternalFencePropertiesKHR,                     "vkGetPhysicalDeviceExternalFencePropertiesKHR")
+	set_proc_address(&GetPhysicalDeviceExternalImageFormatPropertiesNV,                "vkGetPhysicalDeviceExternalImageFormatPropertiesNV")
+	set_proc_address(&GetPhysicalDeviceExternalSemaphoreProperties,                    "vkGetPhysicalDeviceExternalSemaphoreProperties")
+	set_proc_address(&GetPhysicalDeviceExternalSemaphorePropertiesKHR,                 "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR")
+	set_proc_address(&GetPhysicalDeviceFeatures,                                       "vkGetPhysicalDeviceFeatures")
+	set_proc_address(&GetPhysicalDeviceFeatures2,                                      "vkGetPhysicalDeviceFeatures2")
+	set_proc_address(&GetPhysicalDeviceFeatures2KHR,                                   "vkGetPhysicalDeviceFeatures2KHR")
+	set_proc_address(&GetPhysicalDeviceFormatProperties,                               "vkGetPhysicalDeviceFormatProperties")
+	set_proc_address(&GetPhysicalDeviceFormatProperties2,                              "vkGetPhysicalDeviceFormatProperties2")
+	set_proc_address(&GetPhysicalDeviceFormatProperties2KHR,                           "vkGetPhysicalDeviceFormatProperties2KHR")
+	set_proc_address(&GetPhysicalDeviceFragmentShadingRatesKHR,                        "vkGetPhysicalDeviceFragmentShadingRatesKHR")
+	set_proc_address(&GetPhysicalDeviceImageFormatProperties,                          "vkGetPhysicalDeviceImageFormatProperties")
+	set_proc_address(&GetPhysicalDeviceImageFormatProperties2,                         "vkGetPhysicalDeviceImageFormatProperties2")
+	set_proc_address(&GetPhysicalDeviceImageFormatProperties2KHR,                      "vkGetPhysicalDeviceImageFormatProperties2KHR")
+	set_proc_address(&GetPhysicalDeviceMemoryProperties,                               "vkGetPhysicalDeviceMemoryProperties")
+	set_proc_address(&GetPhysicalDeviceMemoryProperties2,                              "vkGetPhysicalDeviceMemoryProperties2")
+	set_proc_address(&GetPhysicalDeviceMemoryProperties2KHR,                           "vkGetPhysicalDeviceMemoryProperties2KHR")
+	set_proc_address(&GetPhysicalDeviceMultisamplePropertiesEXT,                       "vkGetPhysicalDeviceMultisamplePropertiesEXT")
+	set_proc_address(&GetPhysicalDevicePresentRectanglesKHR,                           "vkGetPhysicalDevicePresentRectanglesKHR")
+	set_proc_address(&GetPhysicalDeviceProperties,                                     "vkGetPhysicalDeviceProperties")
+	set_proc_address(&GetPhysicalDeviceProperties2,                                    "vkGetPhysicalDeviceProperties2")
+	set_proc_address(&GetPhysicalDeviceProperties2KHR,                                 "vkGetPhysicalDeviceProperties2KHR")
+	set_proc_address(&GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR,           "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")
+	set_proc_address(&GetPhysicalDeviceQueueFamilyProperties,                          "vkGetPhysicalDeviceQueueFamilyProperties")
+	set_proc_address(&GetPhysicalDeviceQueueFamilyProperties2,                         "vkGetPhysicalDeviceQueueFamilyProperties2")
+	set_proc_address(&GetPhysicalDeviceQueueFamilyProperties2KHR,                      "vkGetPhysicalDeviceQueueFamilyProperties2KHR")
+	set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties,                    "vkGetPhysicalDeviceSparseImageFormatProperties")
+	set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties2,                   "vkGetPhysicalDeviceSparseImageFormatProperties2")
+	set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties2KHR,                "vkGetPhysicalDeviceSparseImageFormatProperties2KHR")
+	set_proc_address(&GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV")
+	set_proc_address(&GetPhysicalDeviceSurfaceCapabilities2EXT,                        "vkGetPhysicalDeviceSurfaceCapabilities2EXT")
+	set_proc_address(&GetPhysicalDeviceSurfaceCapabilities2KHR,                        "vkGetPhysicalDeviceSurfaceCapabilities2KHR")
+	set_proc_address(&GetPhysicalDeviceSurfaceCapabilitiesKHR,                         "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")
+	set_proc_address(&GetPhysicalDeviceSurfaceFormats2KHR,                             "vkGetPhysicalDeviceSurfaceFormats2KHR")
+	set_proc_address(&GetPhysicalDeviceSurfaceFormatsKHR,                              "vkGetPhysicalDeviceSurfaceFormatsKHR")
+	set_proc_address(&GetPhysicalDeviceSurfacePresentModes2EXT,                        "vkGetPhysicalDeviceSurfacePresentModes2EXT")
+	set_proc_address(&GetPhysicalDeviceSurfacePresentModesKHR,                         "vkGetPhysicalDeviceSurfacePresentModesKHR")
+	set_proc_address(&GetPhysicalDeviceSurfaceSupportKHR,                              "vkGetPhysicalDeviceSurfaceSupportKHR")
+	set_proc_address(&GetPhysicalDeviceToolProperties,                                 "vkGetPhysicalDeviceToolProperties")
+	set_proc_address(&GetPhysicalDeviceToolPropertiesEXT,                              "vkGetPhysicalDeviceToolPropertiesEXT")
+	set_proc_address(&GetPhysicalDeviceWin32PresentationSupportKHR,                    "vkGetPhysicalDeviceWin32PresentationSupportKHR")
+	set_proc_address(&GetWinrtDisplayNV,                                               "vkGetWinrtDisplayNV")
+	set_proc_address(&ReleaseDisplayEXT,                                               "vkReleaseDisplayEXT")
+	set_proc_address(&SubmitDebugUtilsMessageEXT,                                      "vkSubmitDebugUtilsMessageEXT")
+
+	// Device Procedures
+	set_proc_address(&AcquireFullScreenExclusiveModeEXT,               "vkAcquireFullScreenExclusiveModeEXT")
+	set_proc_address(&AcquireNextImage2KHR,                            "vkAcquireNextImage2KHR")
+	set_proc_address(&AcquireNextImageKHR,                             "vkAcquireNextImageKHR")
+	set_proc_address(&AcquirePerformanceConfigurationINTEL,            "vkAcquirePerformanceConfigurationINTEL")
+	set_proc_address(&AcquireProfilingLockKHR,                         "vkAcquireProfilingLockKHR")
+	set_proc_address(&AllocateCommandBuffers,                          "vkAllocateCommandBuffers")
+	set_proc_address(&AllocateDescriptorSets,                          "vkAllocateDescriptorSets")
+	set_proc_address(&AllocateMemory,                                  "vkAllocateMemory")
+	set_proc_address(&BeginCommandBuffer,                              "vkBeginCommandBuffer")
+	set_proc_address(&BindAccelerationStructureMemoryNV,               "vkBindAccelerationStructureMemoryNV")
+	set_proc_address(&BindBufferMemory,                                "vkBindBufferMemory")
+	set_proc_address(&BindBufferMemory2,                               "vkBindBufferMemory2")
+	set_proc_address(&BindBufferMemory2KHR,                            "vkBindBufferMemory2KHR")
+	set_proc_address(&BindImageMemory,                                 "vkBindImageMemory")
+	set_proc_address(&BindImageMemory2,                                "vkBindImageMemory2")
+	set_proc_address(&BindImageMemory2KHR,                             "vkBindImageMemory2KHR")
+	set_proc_address(&BuildAccelerationStructuresKHR,                  "vkBuildAccelerationStructuresKHR")
+	set_proc_address(&CmdBeginConditionalRenderingEXT,                 "vkCmdBeginConditionalRenderingEXT")
+	set_proc_address(&CmdBeginDebugUtilsLabelEXT,                      "vkCmdBeginDebugUtilsLabelEXT")
+	set_proc_address(&CmdBeginQuery,                                   "vkCmdBeginQuery")
+	set_proc_address(&CmdBeginQueryIndexedEXT,                         "vkCmdBeginQueryIndexedEXT")
+	set_proc_address(&CmdBeginRenderPass,                              "vkCmdBeginRenderPass")
+	set_proc_address(&CmdBeginRenderPass2,                             "vkCmdBeginRenderPass2")
+	set_proc_address(&CmdBeginRenderPass2KHR,                          "vkCmdBeginRenderPass2KHR")
+	set_proc_address(&CmdBeginRendering,                               "vkCmdBeginRendering")
+	set_proc_address(&CmdBeginRenderingKHR,                            "vkCmdBeginRenderingKHR")
+	set_proc_address(&CmdBeginTransformFeedbackEXT,                    "vkCmdBeginTransformFeedbackEXT")
+	set_proc_address(&CmdBindDescriptorSets,                           "vkCmdBindDescriptorSets")
+	set_proc_address(&CmdBindIndexBuffer,                              "vkCmdBindIndexBuffer")
+	set_proc_address(&CmdBindInvocationMaskHUAWEI,                     "vkCmdBindInvocationMaskHUAWEI")
+	set_proc_address(&CmdBindPipeline,                                 "vkCmdBindPipeline")
+	set_proc_address(&CmdBindPipelineShaderGroupNV,                    "vkCmdBindPipelineShaderGroupNV")
+	set_proc_address(&CmdBindShadingRateImageNV,                       "vkCmdBindShadingRateImageNV")
+	set_proc_address(&CmdBindTransformFeedbackBuffersEXT,              "vkCmdBindTransformFeedbackBuffersEXT")
+	set_proc_address(&CmdBindVertexBuffers,                            "vkCmdBindVertexBuffers")
+	set_proc_address(&CmdBindVertexBuffers2,                           "vkCmdBindVertexBuffers2")
+	set_proc_address(&CmdBindVertexBuffers2EXT,                        "vkCmdBindVertexBuffers2EXT")
+	set_proc_address(&CmdBlitImage,                                    "vkCmdBlitImage")
+	set_proc_address(&CmdBlitImage2,                                   "vkCmdBlitImage2")
+	set_proc_address(&CmdBlitImage2KHR,                                "vkCmdBlitImage2KHR")
+	set_proc_address(&CmdBuildAccelerationStructureNV,                 "vkCmdBuildAccelerationStructureNV")
+	set_proc_address(&CmdBuildAccelerationStructuresIndirectKHR,       "vkCmdBuildAccelerationStructuresIndirectKHR")
+	set_proc_address(&CmdBuildAccelerationStructuresKHR,               "vkCmdBuildAccelerationStructuresKHR")
+	set_proc_address(&CmdClearAttachments,                             "vkCmdClearAttachments")
+	set_proc_address(&CmdClearColorImage,                              "vkCmdClearColorImage")
+	set_proc_address(&CmdClearDepthStencilImage,                       "vkCmdClearDepthStencilImage")
+	set_proc_address(&CmdCopyAccelerationStructureKHR,                 "vkCmdCopyAccelerationStructureKHR")
+	set_proc_address(&CmdCopyAccelerationStructureNV,                  "vkCmdCopyAccelerationStructureNV")
+	set_proc_address(&CmdCopyAccelerationStructureToMemoryKHR,         "vkCmdCopyAccelerationStructureToMemoryKHR")
+	set_proc_address(&CmdCopyBuffer,                                   "vkCmdCopyBuffer")
+	set_proc_address(&CmdCopyBuffer2,                                  "vkCmdCopyBuffer2")
+	set_proc_address(&CmdCopyBuffer2KHR,                               "vkCmdCopyBuffer2KHR")
+	set_proc_address(&CmdCopyBufferToImage,                            "vkCmdCopyBufferToImage")
+	set_proc_address(&CmdCopyBufferToImage2,                           "vkCmdCopyBufferToImage2")
+	set_proc_address(&CmdCopyBufferToImage2KHR,                        "vkCmdCopyBufferToImage2KHR")
+	set_proc_address(&CmdCopyImage,                                    "vkCmdCopyImage")
+	set_proc_address(&CmdCopyImage2,                                   "vkCmdCopyImage2")
+	set_proc_address(&CmdCopyImage2KHR,                                "vkCmdCopyImage2KHR")
+	set_proc_address(&CmdCopyImageToBuffer,                            "vkCmdCopyImageToBuffer")
+	set_proc_address(&CmdCopyImageToBuffer2,                           "vkCmdCopyImageToBuffer2")
+	set_proc_address(&CmdCopyImageToBuffer2KHR,                        "vkCmdCopyImageToBuffer2KHR")
+	set_proc_address(&CmdCopyMemoryToAccelerationStructureKHR,         "vkCmdCopyMemoryToAccelerationStructureKHR")
+	set_proc_address(&CmdCopyQueryPoolResults,                         "vkCmdCopyQueryPoolResults")
+	set_proc_address(&CmdCuLaunchKernelNVX,                            "vkCmdCuLaunchKernelNVX")
+	set_proc_address(&CmdDebugMarkerBeginEXT,                          "vkCmdDebugMarkerBeginEXT")
+	set_proc_address(&CmdDebugMarkerEndEXT,                            "vkCmdDebugMarkerEndEXT")
+	set_proc_address(&CmdDebugMarkerInsertEXT,                         "vkCmdDebugMarkerInsertEXT")
+	set_proc_address(&CmdDispatch,                                     "vkCmdDispatch")
+	set_proc_address(&CmdDispatchBase,                                 "vkCmdDispatchBase")
+	set_proc_address(&CmdDispatchBaseKHR,                              "vkCmdDispatchBaseKHR")
+	set_proc_address(&CmdDispatchIndirect,                             "vkCmdDispatchIndirect")
+	set_proc_address(&CmdDraw,                                         "vkCmdDraw")
+	set_proc_address(&CmdDrawIndexed,                                  "vkCmdDrawIndexed")
+	set_proc_address(&CmdDrawIndexedIndirect,                          "vkCmdDrawIndexedIndirect")
+	set_proc_address(&CmdDrawIndexedIndirectCount,                     "vkCmdDrawIndexedIndirectCount")
+	set_proc_address(&CmdDrawIndexedIndirectCountAMD,                  "vkCmdDrawIndexedIndirectCountAMD")
+	set_proc_address(&CmdDrawIndexedIndirectCountKHR,                  "vkCmdDrawIndexedIndirectCountKHR")
+	set_proc_address(&CmdDrawIndirect,                                 "vkCmdDrawIndirect")
+	set_proc_address(&CmdDrawIndirectByteCountEXT,                     "vkCmdDrawIndirectByteCountEXT")
+	set_proc_address(&CmdDrawIndirectCount,                            "vkCmdDrawIndirectCount")
+	set_proc_address(&CmdDrawIndirectCountAMD,                         "vkCmdDrawIndirectCountAMD")
+	set_proc_address(&CmdDrawIndirectCountKHR,                         "vkCmdDrawIndirectCountKHR")
+	set_proc_address(&CmdDrawMeshTasksIndirectCountNV,                 "vkCmdDrawMeshTasksIndirectCountNV")
+	set_proc_address(&CmdDrawMeshTasksIndirectNV,                      "vkCmdDrawMeshTasksIndirectNV")
+	set_proc_address(&CmdDrawMeshTasksNV,                              "vkCmdDrawMeshTasksNV")
+	set_proc_address(&CmdDrawMultiEXT,                                 "vkCmdDrawMultiEXT")
+	set_proc_address(&CmdDrawMultiIndexedEXT,                          "vkCmdDrawMultiIndexedEXT")
+	set_proc_address(&CmdEndConditionalRenderingEXT,                   "vkCmdEndConditionalRenderingEXT")
+	set_proc_address(&CmdEndDebugUtilsLabelEXT,                        "vkCmdEndDebugUtilsLabelEXT")
+	set_proc_address(&CmdEndQuery,                                     "vkCmdEndQuery")
+	set_proc_address(&CmdEndQueryIndexedEXT,                           "vkCmdEndQueryIndexedEXT")
+	set_proc_address(&CmdEndRenderPass,                                "vkCmdEndRenderPass")
+	set_proc_address(&CmdEndRenderPass2,                               "vkCmdEndRenderPass2")
+	set_proc_address(&CmdEndRenderPass2KHR,                            "vkCmdEndRenderPass2KHR")
+	set_proc_address(&CmdEndRendering,                                 "vkCmdEndRendering")
+	set_proc_address(&CmdEndRenderingKHR,                              "vkCmdEndRenderingKHR")
+	set_proc_address(&CmdEndTransformFeedbackEXT,                      "vkCmdEndTransformFeedbackEXT")
+	set_proc_address(&CmdExecuteCommands,                              "vkCmdExecuteCommands")
+	set_proc_address(&CmdExecuteGeneratedCommandsNV,                   "vkCmdExecuteGeneratedCommandsNV")
+	set_proc_address(&CmdFillBuffer,                                   "vkCmdFillBuffer")
+	set_proc_address(&CmdInsertDebugUtilsLabelEXT,                     "vkCmdInsertDebugUtilsLabelEXT")
+	set_proc_address(&CmdNextSubpass,                                  "vkCmdNextSubpass")
+	set_proc_address(&CmdNextSubpass2,                                 "vkCmdNextSubpass2")
+	set_proc_address(&CmdNextSubpass2KHR,                              "vkCmdNextSubpass2KHR")
+	set_proc_address(&CmdPipelineBarrier,                              "vkCmdPipelineBarrier")
+	set_proc_address(&CmdPipelineBarrier2,                             "vkCmdPipelineBarrier2")
+	set_proc_address(&CmdPipelineBarrier2KHR,                          "vkCmdPipelineBarrier2KHR")
+	set_proc_address(&CmdPreprocessGeneratedCommandsNV,                "vkCmdPreprocessGeneratedCommandsNV")
+	set_proc_address(&CmdPushConstants,                                "vkCmdPushConstants")
+	set_proc_address(&CmdPushDescriptorSetKHR,                         "vkCmdPushDescriptorSetKHR")
+	set_proc_address(&CmdPushDescriptorSetWithTemplateKHR,             "vkCmdPushDescriptorSetWithTemplateKHR")
+	set_proc_address(&CmdResetEvent,                                   "vkCmdResetEvent")
+	set_proc_address(&CmdResetEvent2,                                  "vkCmdResetEvent2")
+	set_proc_address(&CmdResetEvent2KHR,                               "vkCmdResetEvent2KHR")
+	set_proc_address(&CmdResetQueryPool,                               "vkCmdResetQueryPool")
+	set_proc_address(&CmdResolveImage,                                 "vkCmdResolveImage")
+	set_proc_address(&CmdResolveImage2,                                "vkCmdResolveImage2")
+	set_proc_address(&CmdResolveImage2KHR,                             "vkCmdResolveImage2KHR")
+	set_proc_address(&CmdSetBlendConstants,                            "vkCmdSetBlendConstants")
+	set_proc_address(&CmdSetCheckpointNV,                              "vkCmdSetCheckpointNV")
+	set_proc_address(&CmdSetCoarseSampleOrderNV,                       "vkCmdSetCoarseSampleOrderNV")
+	set_proc_address(&CmdSetCullMode,                                  "vkCmdSetCullMode")
+	set_proc_address(&CmdSetCullModeEXT,                               "vkCmdSetCullModeEXT")
+	set_proc_address(&CmdSetDepthBias,                                 "vkCmdSetDepthBias")
+	set_proc_address(&CmdSetDepthBiasEnable,                           "vkCmdSetDepthBiasEnable")
+	set_proc_address(&CmdSetDepthBiasEnableEXT,                        "vkCmdSetDepthBiasEnableEXT")
+	set_proc_address(&CmdSetDepthBounds,                               "vkCmdSetDepthBounds")
+	set_proc_address(&CmdSetDepthBoundsTestEnable,                     "vkCmdSetDepthBoundsTestEnable")
+	set_proc_address(&CmdSetDepthBoundsTestEnableEXT,                  "vkCmdSetDepthBoundsTestEnableEXT")
+	set_proc_address(&CmdSetDepthCompareOp,                            "vkCmdSetDepthCompareOp")
+	set_proc_address(&CmdSetDepthCompareOpEXT,                         "vkCmdSetDepthCompareOpEXT")
+	set_proc_address(&CmdSetDepthTestEnable,                           "vkCmdSetDepthTestEnable")
+	set_proc_address(&CmdSetDepthTestEnableEXT,                        "vkCmdSetDepthTestEnableEXT")
+	set_proc_address(&CmdSetDepthWriteEnable,                          "vkCmdSetDepthWriteEnable")
+	set_proc_address(&CmdSetDepthWriteEnableEXT,                       "vkCmdSetDepthWriteEnableEXT")
+	set_proc_address(&CmdSetDeviceMask,                                "vkCmdSetDeviceMask")
+	set_proc_address(&CmdSetDeviceMaskKHR,                             "vkCmdSetDeviceMaskKHR")
+	set_proc_address(&CmdSetDiscardRectangleEXT,                       "vkCmdSetDiscardRectangleEXT")
+	set_proc_address(&CmdSetEvent,                                     "vkCmdSetEvent")
+	set_proc_address(&CmdSetEvent2,                                    "vkCmdSetEvent2")
+	set_proc_address(&CmdSetEvent2KHR,                                 "vkCmdSetEvent2KHR")
+	set_proc_address(&CmdSetExclusiveScissorNV,                        "vkCmdSetExclusiveScissorNV")
+	set_proc_address(&CmdSetFragmentShadingRateEnumNV,                 "vkCmdSetFragmentShadingRateEnumNV")
+	set_proc_address(&CmdSetFragmentShadingRateKHR,                    "vkCmdSetFragmentShadingRateKHR")
+	set_proc_address(&CmdSetFrontFace,                                 "vkCmdSetFrontFace")
+	set_proc_address(&CmdSetFrontFaceEXT,                              "vkCmdSetFrontFaceEXT")
+	set_proc_address(&CmdSetLineStippleEXT,                            "vkCmdSetLineStippleEXT")
+	set_proc_address(&CmdSetLineWidth,                                 "vkCmdSetLineWidth")
+	set_proc_address(&CmdSetLogicOpEXT,                                "vkCmdSetLogicOpEXT")
+	set_proc_address(&CmdSetPatchControlPointsEXT,                     "vkCmdSetPatchControlPointsEXT")
+	set_proc_address(&CmdSetPerformanceMarkerINTEL,                    "vkCmdSetPerformanceMarkerINTEL")
+	set_proc_address(&CmdSetPerformanceOverrideINTEL,                  "vkCmdSetPerformanceOverrideINTEL")
+	set_proc_address(&CmdSetPerformanceStreamMarkerINTEL,              "vkCmdSetPerformanceStreamMarkerINTEL")
+	set_proc_address(&CmdSetPrimitiveRestartEnable,                    "vkCmdSetPrimitiveRestartEnable")
+	set_proc_address(&CmdSetPrimitiveRestartEnableEXT,                 "vkCmdSetPrimitiveRestartEnableEXT")
+	set_proc_address(&CmdSetPrimitiveTopology,                         "vkCmdSetPrimitiveTopology")
+	set_proc_address(&CmdSetPrimitiveTopologyEXT,                      "vkCmdSetPrimitiveTopologyEXT")
+	set_proc_address(&CmdSetRasterizerDiscardEnable,                   "vkCmdSetRasterizerDiscardEnable")
+	set_proc_address(&CmdSetRasterizerDiscardEnableEXT,                "vkCmdSetRasterizerDiscardEnableEXT")
+	set_proc_address(&CmdSetRayTracingPipelineStackSizeKHR,            "vkCmdSetRayTracingPipelineStackSizeKHR")
+	set_proc_address(&CmdSetSampleLocationsEXT,                        "vkCmdSetSampleLocationsEXT")
+	set_proc_address(&CmdSetScissor,                                   "vkCmdSetScissor")
+	set_proc_address(&CmdSetScissorWithCount,                          "vkCmdSetScissorWithCount")
+	set_proc_address(&CmdSetScissorWithCountEXT,                       "vkCmdSetScissorWithCountEXT")
+	set_proc_address(&CmdSetStencilCompareMask,                        "vkCmdSetStencilCompareMask")
+	set_proc_address(&CmdSetStencilOp,                                 "vkCmdSetStencilOp")
+	set_proc_address(&CmdSetStencilOpEXT,                              "vkCmdSetStencilOpEXT")
+	set_proc_address(&CmdSetStencilReference,                          "vkCmdSetStencilReference")
+	set_proc_address(&CmdSetStencilTestEnable,                         "vkCmdSetStencilTestEnable")
+	set_proc_address(&CmdSetStencilTestEnableEXT,                      "vkCmdSetStencilTestEnableEXT")
+	set_proc_address(&CmdSetStencilWriteMask,                          "vkCmdSetStencilWriteMask")
+	set_proc_address(&CmdSetVertexInputEXT,                            "vkCmdSetVertexInputEXT")
+	set_proc_address(&CmdSetViewport,                                  "vkCmdSetViewport")
+	set_proc_address(&CmdSetViewportShadingRatePaletteNV,              "vkCmdSetViewportShadingRatePaletteNV")
+	set_proc_address(&CmdSetViewportWScalingNV,                        "vkCmdSetViewportWScalingNV")
+	set_proc_address(&CmdSetViewportWithCount,                         "vkCmdSetViewportWithCount")
+	set_proc_address(&CmdSetViewportWithCountEXT,                      "vkCmdSetViewportWithCountEXT")
+	set_proc_address(&CmdSubpassShadingHUAWEI,                         "vkCmdSubpassShadingHUAWEI")
+	set_proc_address(&CmdTraceRaysIndirectKHR,                         "vkCmdTraceRaysIndirectKHR")
+	set_proc_address(&CmdTraceRaysKHR,                                 "vkCmdTraceRaysKHR")
+	set_proc_address(&CmdTraceRaysNV,                                  "vkCmdTraceRaysNV")
+	set_proc_address(&CmdUpdateBuffer,                                 "vkCmdUpdateBuffer")
+	set_proc_address(&CmdWaitEvents,                                   "vkCmdWaitEvents")
+	set_proc_address(&CmdWaitEvents2,                                  "vkCmdWaitEvents2")
+	set_proc_address(&CmdWaitEvents2KHR,                               "vkCmdWaitEvents2KHR")
+	set_proc_address(&CmdWriteAccelerationStructuresPropertiesKHR,     "vkCmdWriteAccelerationStructuresPropertiesKHR")
+	set_proc_address(&CmdWriteAccelerationStructuresPropertiesNV,      "vkCmdWriteAccelerationStructuresPropertiesNV")
+	set_proc_address(&CmdWriteBufferMarker2AMD,                        "vkCmdWriteBufferMarker2AMD")
+	set_proc_address(&CmdWriteBufferMarkerAMD,                         "vkCmdWriteBufferMarkerAMD")
+	set_proc_address(&CmdWriteTimestamp,                               "vkCmdWriteTimestamp")
+	set_proc_address(&CmdWriteTimestamp2,                              "vkCmdWriteTimestamp2")
+	set_proc_address(&CmdWriteTimestamp2KHR,                           "vkCmdWriteTimestamp2KHR")
+	set_proc_address(&CompileDeferredNV,                               "vkCompileDeferredNV")
+	set_proc_address(&CopyAccelerationStructureKHR,                    "vkCopyAccelerationStructureKHR")
+	set_proc_address(&CopyAccelerationStructureToMemoryKHR,            "vkCopyAccelerationStructureToMemoryKHR")
+	set_proc_address(&CopyMemoryToAccelerationStructureKHR,            "vkCopyMemoryToAccelerationStructureKHR")
+	set_proc_address(&CreateAccelerationStructureKHR,                  "vkCreateAccelerationStructureKHR")
+	set_proc_address(&CreateAccelerationStructureNV,                   "vkCreateAccelerationStructureNV")
+	set_proc_address(&CreateBuffer,                                    "vkCreateBuffer")
+	set_proc_address(&CreateBufferView,                                "vkCreateBufferView")
+	set_proc_address(&CreateCommandPool,                               "vkCreateCommandPool")
+	set_proc_address(&CreateComputePipelines,                          "vkCreateComputePipelines")
+	set_proc_address(&CreateCuFunctionNVX,                             "vkCreateCuFunctionNVX")
+	set_proc_address(&CreateCuModuleNVX,                               "vkCreateCuModuleNVX")
+	set_proc_address(&CreateDeferredOperationKHR,                      "vkCreateDeferredOperationKHR")
+	set_proc_address(&CreateDescriptorPool,                            "vkCreateDescriptorPool")
+	set_proc_address(&CreateDescriptorSetLayout,                       "vkCreateDescriptorSetLayout")
+	set_proc_address(&CreateDescriptorUpdateTemplate,                  "vkCreateDescriptorUpdateTemplate")
+	set_proc_address(&CreateDescriptorUpdateTemplateKHR,               "vkCreateDescriptorUpdateTemplateKHR")
+	set_proc_address(&CreateEvent,                                     "vkCreateEvent")
+	set_proc_address(&CreateFence,                                     "vkCreateFence")
+	set_proc_address(&CreateFramebuffer,                               "vkCreateFramebuffer")
+	set_proc_address(&CreateGraphicsPipelines,                         "vkCreateGraphicsPipelines")
+	set_proc_address(&CreateImage,                                     "vkCreateImage")
+	set_proc_address(&CreateImageView,                                 "vkCreateImageView")
+	set_proc_address(&CreateIndirectCommandsLayoutNV,                  "vkCreateIndirectCommandsLayoutNV")
+	set_proc_address(&CreatePipelineCache,                             "vkCreatePipelineCache")
+	set_proc_address(&CreatePipelineLayout,                            "vkCreatePipelineLayout")
+	set_proc_address(&CreatePrivateDataSlot,                           "vkCreatePrivateDataSlot")
+	set_proc_address(&CreatePrivateDataSlotEXT,                        "vkCreatePrivateDataSlotEXT")
+	set_proc_address(&CreateQueryPool,                                 "vkCreateQueryPool")
+	set_proc_address(&CreateRayTracingPipelinesKHR,                    "vkCreateRayTracingPipelinesKHR")
+	set_proc_address(&CreateRayTracingPipelinesNV,                     "vkCreateRayTracingPipelinesNV")
+	set_proc_address(&CreateRenderPass,                                "vkCreateRenderPass")
+	set_proc_address(&CreateRenderPass2,                               "vkCreateRenderPass2")
+	set_proc_address(&CreateRenderPass2KHR,                            "vkCreateRenderPass2KHR")
+	set_proc_address(&CreateSampler,                                   "vkCreateSampler")
+	set_proc_address(&CreateSamplerYcbcrConversion,                    "vkCreateSamplerYcbcrConversion")
+	set_proc_address(&CreateSamplerYcbcrConversionKHR,                 "vkCreateSamplerYcbcrConversionKHR")
+	set_proc_address(&CreateSemaphore,                                 "vkCreateSemaphore")
+	set_proc_address(&CreateShaderModule,                              "vkCreateShaderModule")
+	set_proc_address(&CreateSharedSwapchainsKHR,                       "vkCreateSharedSwapchainsKHR")
+	set_proc_address(&CreateSwapchainKHR,                              "vkCreateSwapchainKHR")
+	set_proc_address(&CreateValidationCacheEXT,                        "vkCreateValidationCacheEXT")
+	set_proc_address(&DebugMarkerSetObjectNameEXT,                     "vkDebugMarkerSetObjectNameEXT")
+	set_proc_address(&DebugMarkerSetObjectTagEXT,                      "vkDebugMarkerSetObjectTagEXT")
+	set_proc_address(&DeferredOperationJoinKHR,                        "vkDeferredOperationJoinKHR")
+	set_proc_address(&DestroyAccelerationStructureKHR,                 "vkDestroyAccelerationStructureKHR")
+	set_proc_address(&DestroyAccelerationStructureNV,                  "vkDestroyAccelerationStructureNV")
+	set_proc_address(&DestroyBuffer,                                   "vkDestroyBuffer")
+	set_proc_address(&DestroyBufferView,                               "vkDestroyBufferView")
+	set_proc_address(&DestroyCommandPool,                              "vkDestroyCommandPool")
+	set_proc_address(&DestroyCuFunctionNVX,                            "vkDestroyCuFunctionNVX")
+	set_proc_address(&DestroyCuModuleNVX,                              "vkDestroyCuModuleNVX")
+	set_proc_address(&DestroyDeferredOperationKHR,                     "vkDestroyDeferredOperationKHR")
+	set_proc_address(&DestroyDescriptorPool,                           "vkDestroyDescriptorPool")
+	set_proc_address(&DestroyDescriptorSetLayout,                      "vkDestroyDescriptorSetLayout")
+	set_proc_address(&DestroyDescriptorUpdateTemplate,                 "vkDestroyDescriptorUpdateTemplate")
+	set_proc_address(&DestroyDescriptorUpdateTemplateKHR,              "vkDestroyDescriptorUpdateTemplateKHR")
+	set_proc_address(&DestroyDevice,                                   "vkDestroyDevice")
+	set_proc_address(&DestroyEvent,                                    "vkDestroyEvent")
+	set_proc_address(&DestroyFence,                                    "vkDestroyFence")
+	set_proc_address(&DestroyFramebuffer,                              "vkDestroyFramebuffer")
+	set_proc_address(&DestroyImage,                                    "vkDestroyImage")
+	set_proc_address(&DestroyImageView,                                "vkDestroyImageView")
+	set_proc_address(&DestroyIndirectCommandsLayoutNV,                 "vkDestroyIndirectCommandsLayoutNV")
+	set_proc_address(&DestroyPipeline,                                 "vkDestroyPipeline")
+	set_proc_address(&DestroyPipelineCache,                            "vkDestroyPipelineCache")
+	set_proc_address(&DestroyPipelineLayout,                           "vkDestroyPipelineLayout")
+	set_proc_address(&DestroyPrivateDataSlot,                          "vkDestroyPrivateDataSlot")
+	set_proc_address(&DestroyPrivateDataSlotEXT,                       "vkDestroyPrivateDataSlotEXT")
+	set_proc_address(&DestroyQueryPool,                                "vkDestroyQueryPool")
+	set_proc_address(&DestroyRenderPass,                               "vkDestroyRenderPass")
+	set_proc_address(&DestroySampler,                                  "vkDestroySampler")
+	set_proc_address(&DestroySamplerYcbcrConversion,                   "vkDestroySamplerYcbcrConversion")
+	set_proc_address(&DestroySamplerYcbcrConversionKHR,                "vkDestroySamplerYcbcrConversionKHR")
+	set_proc_address(&DestroySemaphore,                                "vkDestroySemaphore")
+	set_proc_address(&DestroyShaderModule,                             "vkDestroyShaderModule")
+	set_proc_address(&DestroySwapchainKHR,                             "vkDestroySwapchainKHR")
+	set_proc_address(&DestroyValidationCacheEXT,                       "vkDestroyValidationCacheEXT")
+	set_proc_address(&DeviceWaitIdle,                                  "vkDeviceWaitIdle")
+	set_proc_address(&DisplayPowerControlEXT,                          "vkDisplayPowerControlEXT")
+	set_proc_address(&EndCommandBuffer,                                "vkEndCommandBuffer")
+	set_proc_address(&FlushMappedMemoryRanges,                         "vkFlushMappedMemoryRanges")
+	set_proc_address(&FreeCommandBuffers,                              "vkFreeCommandBuffers")
+	set_proc_address(&FreeDescriptorSets,                              "vkFreeDescriptorSets")
+	set_proc_address(&FreeMemory,                                      "vkFreeMemory")
+	set_proc_address(&GetAccelerationStructureBuildSizesKHR,           "vkGetAccelerationStructureBuildSizesKHR")
+	set_proc_address(&GetAccelerationStructureDeviceAddressKHR,        "vkGetAccelerationStructureDeviceAddressKHR")
+	set_proc_address(&GetAccelerationStructureHandleNV,                "vkGetAccelerationStructureHandleNV")
+	set_proc_address(&GetAccelerationStructureMemoryRequirementsNV,    "vkGetAccelerationStructureMemoryRequirementsNV")
+	set_proc_address(&GetBufferDeviceAddress,                          "vkGetBufferDeviceAddress")
+	set_proc_address(&GetBufferDeviceAddressEXT,                       "vkGetBufferDeviceAddressEXT")
+	set_proc_address(&GetBufferDeviceAddressKHR,                       "vkGetBufferDeviceAddressKHR")
+	set_proc_address(&GetBufferMemoryRequirements,                     "vkGetBufferMemoryRequirements")
+	set_proc_address(&GetBufferMemoryRequirements2,                    "vkGetBufferMemoryRequirements2")
+	set_proc_address(&GetBufferMemoryRequirements2KHR,                 "vkGetBufferMemoryRequirements2KHR")
+	set_proc_address(&GetBufferOpaqueCaptureAddress,                   "vkGetBufferOpaqueCaptureAddress")
+	set_proc_address(&GetBufferOpaqueCaptureAddressKHR,                "vkGetBufferOpaqueCaptureAddressKHR")
+	set_proc_address(&GetCalibratedTimestampsEXT,                      "vkGetCalibratedTimestampsEXT")
+	set_proc_address(&GetDeferredOperationMaxConcurrencyKHR,           "vkGetDeferredOperationMaxConcurrencyKHR")
+	set_proc_address(&GetDeferredOperationResultKHR,                   "vkGetDeferredOperationResultKHR")
+	set_proc_address(&GetDescriptorSetHostMappingVALVE,                "vkGetDescriptorSetHostMappingVALVE")
+	set_proc_address(&GetDescriptorSetLayoutHostMappingInfoVALVE,      "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
+	set_proc_address(&GetDescriptorSetLayoutSupport,                   "vkGetDescriptorSetLayoutSupport")
+	set_proc_address(&GetDescriptorSetLayoutSupportKHR,                "vkGetDescriptorSetLayoutSupportKHR")
+	set_proc_address(&GetDeviceAccelerationStructureCompatibilityKHR,  "vkGetDeviceAccelerationStructureCompatibilityKHR")
+	set_proc_address(&GetDeviceBufferMemoryRequirements,               "vkGetDeviceBufferMemoryRequirements")
+	set_proc_address(&GetDeviceBufferMemoryRequirementsKHR,            "vkGetDeviceBufferMemoryRequirementsKHR")
+	set_proc_address(&GetDeviceGroupPeerMemoryFeatures,                "vkGetDeviceGroupPeerMemoryFeatures")
+	set_proc_address(&GetDeviceGroupPeerMemoryFeaturesKHR,             "vkGetDeviceGroupPeerMemoryFeaturesKHR")
+	set_proc_address(&GetDeviceGroupPresentCapabilitiesKHR,            "vkGetDeviceGroupPresentCapabilitiesKHR")
+	set_proc_address(&GetDeviceGroupSurfacePresentModes2EXT,           "vkGetDeviceGroupSurfacePresentModes2EXT")
+	set_proc_address(&GetDeviceGroupSurfacePresentModesKHR,            "vkGetDeviceGroupSurfacePresentModesKHR")
+	set_proc_address(&GetDeviceImageMemoryRequirements,                "vkGetDeviceImageMemoryRequirements")
+	set_proc_address(&GetDeviceImageMemoryRequirementsKHR,             "vkGetDeviceImageMemoryRequirementsKHR")
+	set_proc_address(&GetDeviceImageSparseMemoryRequirements,          "vkGetDeviceImageSparseMemoryRequirements")
+	set_proc_address(&GetDeviceImageSparseMemoryRequirementsKHR,       "vkGetDeviceImageSparseMemoryRequirementsKHR")
+	set_proc_address(&GetDeviceMemoryCommitment,                       "vkGetDeviceMemoryCommitment")
+	set_proc_address(&GetDeviceMemoryOpaqueCaptureAddress,             "vkGetDeviceMemoryOpaqueCaptureAddress")
+	set_proc_address(&GetDeviceMemoryOpaqueCaptureAddressKHR,          "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
+	set_proc_address(&GetDeviceProcAddr,                               "vkGetDeviceProcAddr")
+	set_proc_address(&GetDeviceQueue,                                  "vkGetDeviceQueue")
+	set_proc_address(&GetDeviceQueue2,                                 "vkGetDeviceQueue2")
+	set_proc_address(&GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,   "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
+	set_proc_address(&GetEventStatus,                                  "vkGetEventStatus")
+	set_proc_address(&GetFenceFdKHR,                                   "vkGetFenceFdKHR")
+	set_proc_address(&GetFenceStatus,                                  "vkGetFenceStatus")
+	set_proc_address(&GetFenceWin32HandleKHR,                          "vkGetFenceWin32HandleKHR")
+	set_proc_address(&GetGeneratedCommandsMemoryRequirementsNV,        "vkGetGeneratedCommandsMemoryRequirementsNV")
+	set_proc_address(&GetImageDrmFormatModifierPropertiesEXT,          "vkGetImageDrmFormatModifierPropertiesEXT")
+	set_proc_address(&GetImageMemoryRequirements,                      "vkGetImageMemoryRequirements")
+	set_proc_address(&GetImageMemoryRequirements2,                     "vkGetImageMemoryRequirements2")
+	set_proc_address(&GetImageMemoryRequirements2KHR,                  "vkGetImageMemoryRequirements2KHR")
+	set_proc_address(&GetImageSparseMemoryRequirements,                "vkGetImageSparseMemoryRequirements")
+	set_proc_address(&GetImageSparseMemoryRequirements2,               "vkGetImageSparseMemoryRequirements2")
+	set_proc_address(&GetImageSparseMemoryRequirements2KHR,            "vkGetImageSparseMemoryRequirements2KHR")
+	set_proc_address(&GetImageSubresourceLayout,                       "vkGetImageSubresourceLayout")
+	set_proc_address(&GetImageViewAddressNVX,                          "vkGetImageViewAddressNVX")
+	set_proc_address(&GetImageViewHandleNVX,                           "vkGetImageViewHandleNVX")
+	set_proc_address(&GetMemoryFdKHR,                                  "vkGetMemoryFdKHR")
+	set_proc_address(&GetMemoryFdPropertiesKHR,                        "vkGetMemoryFdPropertiesKHR")
+	set_proc_address(&GetMemoryHostPointerPropertiesEXT,               "vkGetMemoryHostPointerPropertiesEXT")
+	set_proc_address(&GetMemoryRemoteAddressNV,                        "vkGetMemoryRemoteAddressNV")
+	set_proc_address(&GetMemoryWin32HandleKHR,                         "vkGetMemoryWin32HandleKHR")
+	set_proc_address(&GetMemoryWin32HandleNV,                          "vkGetMemoryWin32HandleNV")
+	set_proc_address(&GetMemoryWin32HandlePropertiesKHR,               "vkGetMemoryWin32HandlePropertiesKHR")
+	set_proc_address(&GetPastPresentationTimingGOOGLE,                 "vkGetPastPresentationTimingGOOGLE")
+	set_proc_address(&GetPerformanceParameterINTEL,                    "vkGetPerformanceParameterINTEL")
+	set_proc_address(&GetPipelineCacheData,                            "vkGetPipelineCacheData")
+	set_proc_address(&GetPipelineExecutableInternalRepresentationsKHR, "vkGetPipelineExecutableInternalRepresentationsKHR")
+	set_proc_address(&GetPipelineExecutablePropertiesKHR,              "vkGetPipelineExecutablePropertiesKHR")
+	set_proc_address(&GetPipelineExecutableStatisticsKHR,              "vkGetPipelineExecutableStatisticsKHR")
+	set_proc_address(&GetPrivateData,                                  "vkGetPrivateData")
+	set_proc_address(&GetPrivateDataEXT,                               "vkGetPrivateDataEXT")
+	set_proc_address(&GetQueryPoolResults,                             "vkGetQueryPoolResults")
+	set_proc_address(&GetQueueCheckpointData2NV,                       "vkGetQueueCheckpointData2NV")
+	set_proc_address(&GetQueueCheckpointDataNV,                        "vkGetQueueCheckpointDataNV")
+	set_proc_address(&GetRayTracingCaptureReplayShaderGroupHandlesKHR, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
+	set_proc_address(&GetRayTracingShaderGroupHandlesKHR,              "vkGetRayTracingShaderGroupHandlesKHR")
+	set_proc_address(&GetRayTracingShaderGroupHandlesNV,               "vkGetRayTracingShaderGroupHandlesNV")
+	set_proc_address(&GetRayTracingShaderGroupStackSizeKHR,            "vkGetRayTracingShaderGroupStackSizeKHR")
+	set_proc_address(&GetRefreshCycleDurationGOOGLE,                   "vkGetRefreshCycleDurationGOOGLE")
+	set_proc_address(&GetRenderAreaGranularity,                        "vkGetRenderAreaGranularity")
+	set_proc_address(&GetSemaphoreCounterValue,                        "vkGetSemaphoreCounterValue")
+	set_proc_address(&GetSemaphoreCounterValueKHR,                     "vkGetSemaphoreCounterValueKHR")
+	set_proc_address(&GetSemaphoreFdKHR,                               "vkGetSemaphoreFdKHR")
+	set_proc_address(&GetSemaphoreWin32HandleKHR,                      "vkGetSemaphoreWin32HandleKHR")
+	set_proc_address(&GetShaderInfoAMD,                                "vkGetShaderInfoAMD")
+	set_proc_address(&GetSwapchainCounterEXT,                          "vkGetSwapchainCounterEXT")
+	set_proc_address(&GetSwapchainImagesKHR,                           "vkGetSwapchainImagesKHR")
+	set_proc_address(&GetSwapchainStatusKHR,                           "vkGetSwapchainStatusKHR")
+	set_proc_address(&GetValidationCacheDataEXT,                       "vkGetValidationCacheDataEXT")
+	set_proc_address(&ImportFenceFdKHR,                                "vkImportFenceFdKHR")
+	set_proc_address(&ImportFenceWin32HandleKHR,                       "vkImportFenceWin32HandleKHR")
+	set_proc_address(&ImportSemaphoreFdKHR,                            "vkImportSemaphoreFdKHR")
+	set_proc_address(&ImportSemaphoreWin32HandleKHR,                   "vkImportSemaphoreWin32HandleKHR")
+	set_proc_address(&InitializePerformanceApiINTEL,                   "vkInitializePerformanceApiINTEL")
+	set_proc_address(&InvalidateMappedMemoryRanges,                    "vkInvalidateMappedMemoryRanges")
+	set_proc_address(&MapMemory,                                       "vkMapMemory")
+	set_proc_address(&MergePipelineCaches,                             "vkMergePipelineCaches")
+	set_proc_address(&MergeValidationCachesEXT,                        "vkMergeValidationCachesEXT")
+	set_proc_address(&QueueBeginDebugUtilsLabelEXT,                    "vkQueueBeginDebugUtilsLabelEXT")
+	set_proc_address(&QueueBindSparse,                                 "vkQueueBindSparse")
+	set_proc_address(&QueueEndDebugUtilsLabelEXT,                      "vkQueueEndDebugUtilsLabelEXT")
+	set_proc_address(&QueueInsertDebugUtilsLabelEXT,                   "vkQueueInsertDebugUtilsLabelEXT")
+	set_proc_address(&QueuePresentKHR,                                 "vkQueuePresentKHR")
+	set_proc_address(&QueueSetPerformanceConfigurationINTEL,           "vkQueueSetPerformanceConfigurationINTEL")
+	set_proc_address(&QueueSubmit,                                     "vkQueueSubmit")
+	set_proc_address(&QueueSubmit2,                                    "vkQueueSubmit2")
+	set_proc_address(&QueueSubmit2KHR,                                 "vkQueueSubmit2KHR")
+	set_proc_address(&QueueWaitIdle,                                   "vkQueueWaitIdle")
+	set_proc_address(&RegisterDeviceEventEXT,                          "vkRegisterDeviceEventEXT")
+	set_proc_address(&RegisterDisplayEventEXT,                         "vkRegisterDisplayEventEXT")
+	set_proc_address(&ReleaseFullScreenExclusiveModeEXT,               "vkReleaseFullScreenExclusiveModeEXT")
+	set_proc_address(&ReleasePerformanceConfigurationINTEL,            "vkReleasePerformanceConfigurationINTEL")
+	set_proc_address(&ReleaseProfilingLockKHR,                         "vkReleaseProfilingLockKHR")
+	set_proc_address(&ResetCommandBuffer,                              "vkResetCommandBuffer")
+	set_proc_address(&ResetCommandPool,                                "vkResetCommandPool")
+	set_proc_address(&ResetDescriptorPool,                             "vkResetDescriptorPool")
+	set_proc_address(&ResetEvent,                                      "vkResetEvent")
+	set_proc_address(&ResetFences,                                     "vkResetFences")
+	set_proc_address(&ResetQueryPool,                                  "vkResetQueryPool")
+	set_proc_address(&ResetQueryPoolEXT,                               "vkResetQueryPoolEXT")
+	set_proc_address(&SetDebugUtilsObjectNameEXT,                      "vkSetDebugUtilsObjectNameEXT")
+	set_proc_address(&SetDebugUtilsObjectTagEXT,                       "vkSetDebugUtilsObjectTagEXT")
+	set_proc_address(&SetDeviceMemoryPriorityEXT,                      "vkSetDeviceMemoryPriorityEXT")
+	set_proc_address(&SetEvent,                                        "vkSetEvent")
+	set_proc_address(&SetHdrMetadataEXT,                               "vkSetHdrMetadataEXT")
+	set_proc_address(&SetLocalDimmingAMD,                              "vkSetLocalDimmingAMD")
+	set_proc_address(&SetPrivateData,                                  "vkSetPrivateData")
+	set_proc_address(&SetPrivateDataEXT,                               "vkSetPrivateDataEXT")
+	set_proc_address(&SignalSemaphore,                                 "vkSignalSemaphore")
+	set_proc_address(&SignalSemaphoreKHR,                              "vkSignalSemaphoreKHR")
+	set_proc_address(&TrimCommandPool,                                 "vkTrimCommandPool")
+	set_proc_address(&TrimCommandPoolKHR,                              "vkTrimCommandPoolKHR")
+	set_proc_address(&UninitializePerformanceApiINTEL,                 "vkUninitializePerformanceApiINTEL")
+	set_proc_address(&UnmapMemory,                                     "vkUnmapMemory")
+	set_proc_address(&UpdateDescriptorSetWithTemplate,                 "vkUpdateDescriptorSetWithTemplate")
+	set_proc_address(&UpdateDescriptorSetWithTemplateKHR,              "vkUpdateDescriptorSetWithTemplateKHR")
+	set_proc_address(&UpdateDescriptorSets,                            "vkUpdateDescriptorSets")
+	set_proc_address(&WaitForFences,                                   "vkWaitForFences")
+	set_proc_address(&WaitForPresentKHR,                               "vkWaitForPresentKHR")
+	set_proc_address(&WaitSemaphores,                                  "vkWaitSemaphores")
+	set_proc_address(&WaitSemaphoresKHR,                               "vkWaitSemaphoresKHR")
+	set_proc_address(&WriteAccelerationStructuresPropertiesKHR,        "vkWriteAccelerationStructuresPropertiesKHR")
+
+}
+
+// Device Procedure VTable
+Device_VTable :: struct {
+	AcquireFullScreenExclusiveModeEXT:               ProcAcquireFullScreenExclusiveModeEXT,
+	AcquireNextImage2KHR:                            ProcAcquireNextImage2KHR,
+	AcquireNextImageKHR:                             ProcAcquireNextImageKHR,
+	AcquirePerformanceConfigurationINTEL:            ProcAcquirePerformanceConfigurationINTEL,
+	AcquireProfilingLockKHR:                         ProcAcquireProfilingLockKHR,
+	AllocateCommandBuffers:                          ProcAllocateCommandBuffers,
+	AllocateDescriptorSets:                          ProcAllocateDescriptorSets,
+	AllocateMemory:                                  ProcAllocateMemory,
+	BeginCommandBuffer:                              ProcBeginCommandBuffer,
+	BindAccelerationStructureMemoryNV:               ProcBindAccelerationStructureMemoryNV,
+	BindBufferMemory:                                ProcBindBufferMemory,
+	BindBufferMemory2:                               ProcBindBufferMemory2,
+	BindBufferMemory2KHR:                            ProcBindBufferMemory2KHR,
+	BindImageMemory:                                 ProcBindImageMemory,
+	BindImageMemory2:                                ProcBindImageMemory2,
+	BindImageMemory2KHR:                             ProcBindImageMemory2KHR,
+	BuildAccelerationStructuresKHR:                  ProcBuildAccelerationStructuresKHR,
+	CmdBeginConditionalRenderingEXT:                 ProcCmdBeginConditionalRenderingEXT,
+	CmdBeginDebugUtilsLabelEXT:                      ProcCmdBeginDebugUtilsLabelEXT,
+	CmdBeginQuery:                                   ProcCmdBeginQuery,
+	CmdBeginQueryIndexedEXT:                         ProcCmdBeginQueryIndexedEXT,
+	CmdBeginRenderPass:                              ProcCmdBeginRenderPass,
+	CmdBeginRenderPass2:                             ProcCmdBeginRenderPass2,
+	CmdBeginRenderPass2KHR:                          ProcCmdBeginRenderPass2KHR,
+	CmdBeginRendering:                               ProcCmdBeginRendering,
+	CmdBeginRenderingKHR:                            ProcCmdBeginRenderingKHR,
+	CmdBeginTransformFeedbackEXT:                    ProcCmdBeginTransformFeedbackEXT,
+	CmdBindDescriptorSets:                           ProcCmdBindDescriptorSets,
+	CmdBindIndexBuffer:                              ProcCmdBindIndexBuffer,
+	CmdBindInvocationMaskHUAWEI:                     ProcCmdBindInvocationMaskHUAWEI,
+	CmdBindPipeline:                                 ProcCmdBindPipeline,
+	CmdBindPipelineShaderGroupNV:                    ProcCmdBindPipelineShaderGroupNV,
+	CmdBindShadingRateImageNV:                       ProcCmdBindShadingRateImageNV,
+	CmdBindTransformFeedbackBuffersEXT:              ProcCmdBindTransformFeedbackBuffersEXT,
+	CmdBindVertexBuffers:                            ProcCmdBindVertexBuffers,
+	CmdBindVertexBuffers2:                           ProcCmdBindVertexBuffers2,
+	CmdBindVertexBuffers2EXT:                        ProcCmdBindVertexBuffers2EXT,
+	CmdBlitImage:                                    ProcCmdBlitImage,
+	CmdBlitImage2:                                   ProcCmdBlitImage2,
+	CmdBlitImage2KHR:                                ProcCmdBlitImage2KHR,
+	CmdBuildAccelerationStructureNV:                 ProcCmdBuildAccelerationStructureNV,
+	CmdBuildAccelerationStructuresIndirectKHR:       ProcCmdBuildAccelerationStructuresIndirectKHR,
+	CmdBuildAccelerationStructuresKHR:               ProcCmdBuildAccelerationStructuresKHR,
+	CmdClearAttachments:                             ProcCmdClearAttachments,
+	CmdClearColorImage:                              ProcCmdClearColorImage,
+	CmdClearDepthStencilImage:                       ProcCmdClearDepthStencilImage,
+	CmdCopyAccelerationStructureKHR:                 ProcCmdCopyAccelerationStructureKHR,
+	CmdCopyAccelerationStructureNV:                  ProcCmdCopyAccelerationStructureNV,
+	CmdCopyAccelerationStructureToMemoryKHR:         ProcCmdCopyAccelerationStructureToMemoryKHR,
+	CmdCopyBuffer:                                   ProcCmdCopyBuffer,
+	CmdCopyBuffer2:                                  ProcCmdCopyBuffer2,
+	CmdCopyBuffer2KHR:                               ProcCmdCopyBuffer2KHR,
+	CmdCopyBufferToImage:                            ProcCmdCopyBufferToImage,
+	CmdCopyBufferToImage2:                           ProcCmdCopyBufferToImage2,
+	CmdCopyBufferToImage2KHR:                        ProcCmdCopyBufferToImage2KHR,
+	CmdCopyImage:                                    ProcCmdCopyImage,
+	CmdCopyImage2:                                   ProcCmdCopyImage2,
+	CmdCopyImage2KHR:                                ProcCmdCopyImage2KHR,
+	CmdCopyImageToBuffer:                            ProcCmdCopyImageToBuffer,
+	CmdCopyImageToBuffer2:                           ProcCmdCopyImageToBuffer2,
+	CmdCopyImageToBuffer2KHR:                        ProcCmdCopyImageToBuffer2KHR,
+	CmdCopyMemoryToAccelerationStructureKHR:         ProcCmdCopyMemoryToAccelerationStructureKHR,
+	CmdCopyQueryPoolResults:                         ProcCmdCopyQueryPoolResults,
+	CmdCuLaunchKernelNVX:                            ProcCmdCuLaunchKernelNVX,
+	CmdDebugMarkerBeginEXT:                          ProcCmdDebugMarkerBeginEXT,
+	CmdDebugMarkerEndEXT:                            ProcCmdDebugMarkerEndEXT,
+	CmdDebugMarkerInsertEXT:                         ProcCmdDebugMarkerInsertEXT,
+	CmdDispatch:                                     ProcCmdDispatch,
+	CmdDispatchBase:                                 ProcCmdDispatchBase,
+	CmdDispatchBaseKHR:                              ProcCmdDispatchBaseKHR,
+	CmdDispatchIndirect:                             ProcCmdDispatchIndirect,
+	CmdDraw:                                         ProcCmdDraw,
+	CmdDrawIndexed:                                  ProcCmdDrawIndexed,
+	CmdDrawIndexedIndirect:                          ProcCmdDrawIndexedIndirect,
+	CmdDrawIndexedIndirectCount:                     ProcCmdDrawIndexedIndirectCount,
+	CmdDrawIndexedIndirectCountAMD:                  ProcCmdDrawIndexedIndirectCountAMD,
+	CmdDrawIndexedIndirectCountKHR:                  ProcCmdDrawIndexedIndirectCountKHR,
+	CmdDrawIndirect:                                 ProcCmdDrawIndirect,
+	CmdDrawIndirectByteCountEXT:                     ProcCmdDrawIndirectByteCountEXT,
+	CmdDrawIndirectCount:                            ProcCmdDrawIndirectCount,
+	CmdDrawIndirectCountAMD:                         ProcCmdDrawIndirectCountAMD,
+	CmdDrawIndirectCountKHR:                         ProcCmdDrawIndirectCountKHR,
+	CmdDrawMeshTasksIndirectCountNV:                 ProcCmdDrawMeshTasksIndirectCountNV,
+	CmdDrawMeshTasksIndirectNV:                      ProcCmdDrawMeshTasksIndirectNV,
+	CmdDrawMeshTasksNV:                              ProcCmdDrawMeshTasksNV,
+	CmdDrawMultiEXT:                                 ProcCmdDrawMultiEXT,
+	CmdDrawMultiIndexedEXT:                          ProcCmdDrawMultiIndexedEXT,
+	CmdEndConditionalRenderingEXT:                   ProcCmdEndConditionalRenderingEXT,
+	CmdEndDebugUtilsLabelEXT:                        ProcCmdEndDebugUtilsLabelEXT,
+	CmdEndQuery:                                     ProcCmdEndQuery,
+	CmdEndQueryIndexedEXT:                           ProcCmdEndQueryIndexedEXT,
+	CmdEndRenderPass:                                ProcCmdEndRenderPass,
+	CmdEndRenderPass2:                               ProcCmdEndRenderPass2,
+	CmdEndRenderPass2KHR:                            ProcCmdEndRenderPass2KHR,
+	CmdEndRendering:                                 ProcCmdEndRendering,
+	CmdEndRenderingKHR:                              ProcCmdEndRenderingKHR,
+	CmdEndTransformFeedbackEXT:                      ProcCmdEndTransformFeedbackEXT,
+	CmdExecuteCommands:                              ProcCmdExecuteCommands,
+	CmdExecuteGeneratedCommandsNV:                   ProcCmdExecuteGeneratedCommandsNV,
+	CmdFillBuffer:                                   ProcCmdFillBuffer,
+	CmdInsertDebugUtilsLabelEXT:                     ProcCmdInsertDebugUtilsLabelEXT,
+	CmdNextSubpass:                                  ProcCmdNextSubpass,
+	CmdNextSubpass2:                                 ProcCmdNextSubpass2,
+	CmdNextSubpass2KHR:                              ProcCmdNextSubpass2KHR,
+	CmdPipelineBarrier:                              ProcCmdPipelineBarrier,
+	CmdPipelineBarrier2:                             ProcCmdPipelineBarrier2,
+	CmdPipelineBarrier2KHR:                          ProcCmdPipelineBarrier2KHR,
+	CmdPreprocessGeneratedCommandsNV:                ProcCmdPreprocessGeneratedCommandsNV,
+	CmdPushConstants:                                ProcCmdPushConstants,
+	CmdPushDescriptorSetKHR:                         ProcCmdPushDescriptorSetKHR,
+	CmdPushDescriptorSetWithTemplateKHR:             ProcCmdPushDescriptorSetWithTemplateKHR,
+	CmdResetEvent:                                   ProcCmdResetEvent,
+	CmdResetEvent2:                                  ProcCmdResetEvent2,
+	CmdResetEvent2KHR:                               ProcCmdResetEvent2KHR,
+	CmdResetQueryPool:                               ProcCmdResetQueryPool,
+	CmdResolveImage:                                 ProcCmdResolveImage,
+	CmdResolveImage2:                                ProcCmdResolveImage2,
+	CmdResolveImage2KHR:                             ProcCmdResolveImage2KHR,
+	CmdSetBlendConstants:                            ProcCmdSetBlendConstants,
+	CmdSetCheckpointNV:                              ProcCmdSetCheckpointNV,
+	CmdSetCoarseSampleOrderNV:                       ProcCmdSetCoarseSampleOrderNV,
+	CmdSetCullMode:                                  ProcCmdSetCullMode,
+	CmdSetCullModeEXT:                               ProcCmdSetCullModeEXT,
+	CmdSetDepthBias:                                 ProcCmdSetDepthBias,
+	CmdSetDepthBiasEnable:                           ProcCmdSetDepthBiasEnable,
+	CmdSetDepthBiasEnableEXT:                        ProcCmdSetDepthBiasEnableEXT,
+	CmdSetDepthBounds:                               ProcCmdSetDepthBounds,
+	CmdSetDepthBoundsTestEnable:                     ProcCmdSetDepthBoundsTestEnable,
+	CmdSetDepthBoundsTestEnableEXT:                  ProcCmdSetDepthBoundsTestEnableEXT,
+	CmdSetDepthCompareOp:                            ProcCmdSetDepthCompareOp,
+	CmdSetDepthCompareOpEXT:                         ProcCmdSetDepthCompareOpEXT,
+	CmdSetDepthTestEnable:                           ProcCmdSetDepthTestEnable,
+	CmdSetDepthTestEnableEXT:                        ProcCmdSetDepthTestEnableEXT,
+	CmdSetDepthWriteEnable:                          ProcCmdSetDepthWriteEnable,
+	CmdSetDepthWriteEnableEXT:                       ProcCmdSetDepthWriteEnableEXT,
+	CmdSetDeviceMask:                                ProcCmdSetDeviceMask,
+	CmdSetDeviceMaskKHR:                             ProcCmdSetDeviceMaskKHR,
+	CmdSetDiscardRectangleEXT:                       ProcCmdSetDiscardRectangleEXT,
+	CmdSetEvent:                                     ProcCmdSetEvent,
+	CmdSetEvent2:                                    ProcCmdSetEvent2,
+	CmdSetEvent2KHR:                                 ProcCmdSetEvent2KHR,
+	CmdSetExclusiveScissorNV:                        ProcCmdSetExclusiveScissorNV,
+	CmdSetFragmentShadingRateEnumNV:                 ProcCmdSetFragmentShadingRateEnumNV,
+	CmdSetFragmentShadingRateKHR:                    ProcCmdSetFragmentShadingRateKHR,
+	CmdSetFrontFace:                                 ProcCmdSetFrontFace,
+	CmdSetFrontFaceEXT:                              ProcCmdSetFrontFaceEXT,
+	CmdSetLineStippleEXT:                            ProcCmdSetLineStippleEXT,
+	CmdSetLineWidth:                                 ProcCmdSetLineWidth,
+	CmdSetLogicOpEXT:                                ProcCmdSetLogicOpEXT,
+	CmdSetPatchControlPointsEXT:                     ProcCmdSetPatchControlPointsEXT,
+	CmdSetPerformanceMarkerINTEL:                    ProcCmdSetPerformanceMarkerINTEL,
+	CmdSetPerformanceOverrideINTEL:                  ProcCmdSetPerformanceOverrideINTEL,
+	CmdSetPerformanceStreamMarkerINTEL:              ProcCmdSetPerformanceStreamMarkerINTEL,
+	CmdSetPrimitiveRestartEnable:                    ProcCmdSetPrimitiveRestartEnable,
+	CmdSetPrimitiveRestartEnableEXT:                 ProcCmdSetPrimitiveRestartEnableEXT,
+	CmdSetPrimitiveTopology:                         ProcCmdSetPrimitiveTopology,
+	CmdSetPrimitiveTopologyEXT:                      ProcCmdSetPrimitiveTopologyEXT,
+	CmdSetRasterizerDiscardEnable:                   ProcCmdSetRasterizerDiscardEnable,
+	CmdSetRasterizerDiscardEnableEXT:                ProcCmdSetRasterizerDiscardEnableEXT,
+	CmdSetRayTracingPipelineStackSizeKHR:            ProcCmdSetRayTracingPipelineStackSizeKHR,
+	CmdSetSampleLocationsEXT:                        ProcCmdSetSampleLocationsEXT,
+	CmdSetScissor:                                   ProcCmdSetScissor,
+	CmdSetScissorWithCount:                          ProcCmdSetScissorWithCount,
+	CmdSetScissorWithCountEXT:                       ProcCmdSetScissorWithCountEXT,
+	CmdSetStencilCompareMask:                        ProcCmdSetStencilCompareMask,
+	CmdSetStencilOp:                                 ProcCmdSetStencilOp,
+	CmdSetStencilOpEXT:                              ProcCmdSetStencilOpEXT,
+	CmdSetStencilReference:                          ProcCmdSetStencilReference,
+	CmdSetStencilTestEnable:                         ProcCmdSetStencilTestEnable,
+	CmdSetStencilTestEnableEXT:                      ProcCmdSetStencilTestEnableEXT,
+	CmdSetStencilWriteMask:                          ProcCmdSetStencilWriteMask,
+	CmdSetVertexInputEXT:                            ProcCmdSetVertexInputEXT,
+	CmdSetViewport:                                  ProcCmdSetViewport,
+	CmdSetViewportShadingRatePaletteNV:              ProcCmdSetViewportShadingRatePaletteNV,
+	CmdSetViewportWScalingNV:                        ProcCmdSetViewportWScalingNV,
+	CmdSetViewportWithCount:                         ProcCmdSetViewportWithCount,
+	CmdSetViewportWithCountEXT:                      ProcCmdSetViewportWithCountEXT,
+	CmdSubpassShadingHUAWEI:                         ProcCmdSubpassShadingHUAWEI,
+	CmdTraceRaysIndirectKHR:                         ProcCmdTraceRaysIndirectKHR,
+	CmdTraceRaysKHR:                                 ProcCmdTraceRaysKHR,
+	CmdTraceRaysNV:                                  ProcCmdTraceRaysNV,
+	CmdUpdateBuffer:                                 ProcCmdUpdateBuffer,
+	CmdWaitEvents:                                   ProcCmdWaitEvents,
+	CmdWaitEvents2:                                  ProcCmdWaitEvents2,
+	CmdWaitEvents2KHR:                               ProcCmdWaitEvents2KHR,
+	CmdWriteAccelerationStructuresPropertiesKHR:     ProcCmdWriteAccelerationStructuresPropertiesKHR,
+	CmdWriteAccelerationStructuresPropertiesNV:      ProcCmdWriteAccelerationStructuresPropertiesNV,
+	CmdWriteBufferMarker2AMD:                        ProcCmdWriteBufferMarker2AMD,
+	CmdWriteBufferMarkerAMD:                         ProcCmdWriteBufferMarkerAMD,
+	CmdWriteTimestamp:                               ProcCmdWriteTimestamp,
+	CmdWriteTimestamp2:                              ProcCmdWriteTimestamp2,
+	CmdWriteTimestamp2KHR:                           ProcCmdWriteTimestamp2KHR,
+	CompileDeferredNV:                               ProcCompileDeferredNV,
+	CopyAccelerationStructureKHR:                    ProcCopyAccelerationStructureKHR,
+	CopyAccelerationStructureToMemoryKHR:            ProcCopyAccelerationStructureToMemoryKHR,
+	CopyMemoryToAccelerationStructureKHR:            ProcCopyMemoryToAccelerationStructureKHR,
+	CreateAccelerationStructureKHR:                  ProcCreateAccelerationStructureKHR,
+	CreateAccelerationStructureNV:                   ProcCreateAccelerationStructureNV,
+	CreateBuffer:                                    ProcCreateBuffer,
+	CreateBufferView:                                ProcCreateBufferView,
+	CreateCommandPool:                               ProcCreateCommandPool,
+	CreateComputePipelines:                          ProcCreateComputePipelines,
+	CreateCuFunctionNVX:                             ProcCreateCuFunctionNVX,
+	CreateCuModuleNVX:                               ProcCreateCuModuleNVX,
+	CreateDeferredOperationKHR:                      ProcCreateDeferredOperationKHR,
+	CreateDescriptorPool:                            ProcCreateDescriptorPool,
+	CreateDescriptorSetLayout:                       ProcCreateDescriptorSetLayout,
+	CreateDescriptorUpdateTemplate:                  ProcCreateDescriptorUpdateTemplate,
+	CreateDescriptorUpdateTemplateKHR:               ProcCreateDescriptorUpdateTemplateKHR,
+	CreateEvent:                                     ProcCreateEvent,
+	CreateFence:                                     ProcCreateFence,
+	CreateFramebuffer:                               ProcCreateFramebuffer,
+	CreateGraphicsPipelines:                         ProcCreateGraphicsPipelines,
+	CreateImage:                                     ProcCreateImage,
+	CreateImageView:                                 ProcCreateImageView,
+	CreateIndirectCommandsLayoutNV:                  ProcCreateIndirectCommandsLayoutNV,
+	CreatePipelineCache:                             ProcCreatePipelineCache,
+	CreatePipelineLayout:                            ProcCreatePipelineLayout,
+	CreatePrivateDataSlot:                           ProcCreatePrivateDataSlot,
+	CreatePrivateDataSlotEXT:                        ProcCreatePrivateDataSlotEXT,
+	CreateQueryPool:                                 ProcCreateQueryPool,
+	CreateRayTracingPipelinesKHR:                    ProcCreateRayTracingPipelinesKHR,
+	CreateRayTracingPipelinesNV:                     ProcCreateRayTracingPipelinesNV,
+	CreateRenderPass:                                ProcCreateRenderPass,
+	CreateRenderPass2:                               ProcCreateRenderPass2,
+	CreateRenderPass2KHR:                            ProcCreateRenderPass2KHR,
+	CreateSampler:                                   ProcCreateSampler,
+	CreateSamplerYcbcrConversion:                    ProcCreateSamplerYcbcrConversion,
+	CreateSamplerYcbcrConversionKHR:                 ProcCreateSamplerYcbcrConversionKHR,
+	CreateSemaphore:                                 ProcCreateSemaphore,
+	CreateShaderModule:                              ProcCreateShaderModule,
+	CreateSharedSwapchainsKHR:                       ProcCreateSharedSwapchainsKHR,
+	CreateSwapchainKHR:                              ProcCreateSwapchainKHR,
+	CreateValidationCacheEXT:                        ProcCreateValidationCacheEXT,
+	DebugMarkerSetObjectNameEXT:                     ProcDebugMarkerSetObjectNameEXT,
+	DebugMarkerSetObjectTagEXT:                      ProcDebugMarkerSetObjectTagEXT,
+	DeferredOperationJoinKHR:                        ProcDeferredOperationJoinKHR,
+	DestroyAccelerationStructureKHR:                 ProcDestroyAccelerationStructureKHR,
+	DestroyAccelerationStructureNV:                  ProcDestroyAccelerationStructureNV,
+	DestroyBuffer:                                   ProcDestroyBuffer,
+	DestroyBufferView:                               ProcDestroyBufferView,
+	DestroyCommandPool:                              ProcDestroyCommandPool,
+	DestroyCuFunctionNVX:                            ProcDestroyCuFunctionNVX,
+	DestroyCuModuleNVX:                              ProcDestroyCuModuleNVX,
+	DestroyDeferredOperationKHR:                     ProcDestroyDeferredOperationKHR,
+	DestroyDescriptorPool:                           ProcDestroyDescriptorPool,
+	DestroyDescriptorSetLayout:                      ProcDestroyDescriptorSetLayout,
+	DestroyDescriptorUpdateTemplate:                 ProcDestroyDescriptorUpdateTemplate,
+	DestroyDescriptorUpdateTemplateKHR:              ProcDestroyDescriptorUpdateTemplateKHR,
+	DestroyDevice:                                   ProcDestroyDevice,
+	DestroyEvent:                                    ProcDestroyEvent,
+	DestroyFence:                                    ProcDestroyFence,
+	DestroyFramebuffer:                              ProcDestroyFramebuffer,
+	DestroyImage:                                    ProcDestroyImage,
+	DestroyImageView:                                ProcDestroyImageView,
+	DestroyIndirectCommandsLayoutNV:                 ProcDestroyIndirectCommandsLayoutNV,
+	DestroyPipeline:                                 ProcDestroyPipeline,
+	DestroyPipelineCache:                            ProcDestroyPipelineCache,
+	DestroyPipelineLayout:                           ProcDestroyPipelineLayout,
+	DestroyPrivateDataSlot:                          ProcDestroyPrivateDataSlot,
+	DestroyPrivateDataSlotEXT:                       ProcDestroyPrivateDataSlotEXT,
+	DestroyQueryPool:                                ProcDestroyQueryPool,
+	DestroyRenderPass:                               ProcDestroyRenderPass,
+	DestroySampler:                                  ProcDestroySampler,
+	DestroySamplerYcbcrConversion:                   ProcDestroySamplerYcbcrConversion,
+	DestroySamplerYcbcrConversionKHR:                ProcDestroySamplerYcbcrConversionKHR,
+	DestroySemaphore:                                ProcDestroySemaphore,
+	DestroyShaderModule:                             ProcDestroyShaderModule,
+	DestroySwapchainKHR:                             ProcDestroySwapchainKHR,
+	DestroyValidationCacheEXT:                       ProcDestroyValidationCacheEXT,
+	DeviceWaitIdle:                                  ProcDeviceWaitIdle,
+	DisplayPowerControlEXT:                          ProcDisplayPowerControlEXT,
+	EndCommandBuffer:                                ProcEndCommandBuffer,
+	FlushMappedMemoryRanges:                         ProcFlushMappedMemoryRanges,
+	FreeCommandBuffers:                              ProcFreeCommandBuffers,
+	FreeDescriptorSets:                              ProcFreeDescriptorSets,
+	FreeMemory:                                      ProcFreeMemory,
+	GetAccelerationStructureBuildSizesKHR:           ProcGetAccelerationStructureBuildSizesKHR,
+	GetAccelerationStructureDeviceAddressKHR:        ProcGetAccelerationStructureDeviceAddressKHR,
+	GetAccelerationStructureHandleNV:                ProcGetAccelerationStructureHandleNV,
+	GetAccelerationStructureMemoryRequirementsNV:    ProcGetAccelerationStructureMemoryRequirementsNV,
+	GetBufferDeviceAddress:                          ProcGetBufferDeviceAddress,
+	GetBufferDeviceAddressEXT:                       ProcGetBufferDeviceAddressEXT,
+	GetBufferDeviceAddressKHR:                       ProcGetBufferDeviceAddressKHR,
+	GetBufferMemoryRequirements:                     ProcGetBufferMemoryRequirements,
+	GetBufferMemoryRequirements2:                    ProcGetBufferMemoryRequirements2,
+	GetBufferMemoryRequirements2KHR:                 ProcGetBufferMemoryRequirements2KHR,
+	GetBufferOpaqueCaptureAddress:                   ProcGetBufferOpaqueCaptureAddress,
+	GetBufferOpaqueCaptureAddressKHR:                ProcGetBufferOpaqueCaptureAddressKHR,
+	GetCalibratedTimestampsEXT:                      ProcGetCalibratedTimestampsEXT,
+	GetDeferredOperationMaxConcurrencyKHR:           ProcGetDeferredOperationMaxConcurrencyKHR,
+	GetDeferredOperationResultKHR:                   ProcGetDeferredOperationResultKHR,
+	GetDescriptorSetHostMappingVALVE:                ProcGetDescriptorSetHostMappingVALVE,
+	GetDescriptorSetLayoutHostMappingInfoVALVE:      ProcGetDescriptorSetLayoutHostMappingInfoVALVE,
+	GetDescriptorSetLayoutSupport:                   ProcGetDescriptorSetLayoutSupport,
+	GetDescriptorSetLayoutSupportKHR:                ProcGetDescriptorSetLayoutSupportKHR,
+	GetDeviceAccelerationStructureCompatibilityKHR:  ProcGetDeviceAccelerationStructureCompatibilityKHR,
+	GetDeviceBufferMemoryRequirements:               ProcGetDeviceBufferMemoryRequirements,
+	GetDeviceBufferMemoryRequirementsKHR:            ProcGetDeviceBufferMemoryRequirementsKHR,
+	GetDeviceGroupPeerMemoryFeatures:                ProcGetDeviceGroupPeerMemoryFeatures,
+	GetDeviceGroupPeerMemoryFeaturesKHR:             ProcGetDeviceGroupPeerMemoryFeaturesKHR,
+	GetDeviceGroupPresentCapabilitiesKHR:            ProcGetDeviceGroupPresentCapabilitiesKHR,
+	GetDeviceGroupSurfacePresentModes2EXT:           ProcGetDeviceGroupSurfacePresentModes2EXT,
+	GetDeviceGroupSurfacePresentModesKHR:            ProcGetDeviceGroupSurfacePresentModesKHR,
+	GetDeviceImageMemoryRequirements:                ProcGetDeviceImageMemoryRequirements,
+	GetDeviceImageMemoryRequirementsKHR:             ProcGetDeviceImageMemoryRequirementsKHR,
+	GetDeviceImageSparseMemoryRequirements:          ProcGetDeviceImageSparseMemoryRequirements,
+	GetDeviceImageSparseMemoryRequirementsKHR:       ProcGetDeviceImageSparseMemoryRequirementsKHR,
+	GetDeviceMemoryCommitment:                       ProcGetDeviceMemoryCommitment,
+	GetDeviceMemoryOpaqueCaptureAddress:             ProcGetDeviceMemoryOpaqueCaptureAddress,
+	GetDeviceMemoryOpaqueCaptureAddressKHR:          ProcGetDeviceMemoryOpaqueCaptureAddressKHR,
+	GetDeviceProcAddr:                               ProcGetDeviceProcAddr,
+	GetDeviceQueue:                                  ProcGetDeviceQueue,
+	GetDeviceQueue2:                                 ProcGetDeviceQueue2,
+	GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI:   ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
+	GetEventStatus:                                  ProcGetEventStatus,
+	GetFenceFdKHR:                                   ProcGetFenceFdKHR,
+	GetFenceStatus:                                  ProcGetFenceStatus,
+	GetFenceWin32HandleKHR:                          ProcGetFenceWin32HandleKHR,
+	GetGeneratedCommandsMemoryRequirementsNV:        ProcGetGeneratedCommandsMemoryRequirementsNV,
+	GetImageDrmFormatModifierPropertiesEXT:          ProcGetImageDrmFormatModifierPropertiesEXT,
+	GetImageMemoryRequirements:                      ProcGetImageMemoryRequirements,
+	GetImageMemoryRequirements2:                     ProcGetImageMemoryRequirements2,
+	GetImageMemoryRequirements2KHR:                  ProcGetImageMemoryRequirements2KHR,
+	GetImageSparseMemoryRequirements:                ProcGetImageSparseMemoryRequirements,
+	GetImageSparseMemoryRequirements2:               ProcGetImageSparseMemoryRequirements2,
+	GetImageSparseMemoryRequirements2KHR:            ProcGetImageSparseMemoryRequirements2KHR,
+	GetImageSubresourceLayout:                       ProcGetImageSubresourceLayout,
+	GetImageViewAddressNVX:                          ProcGetImageViewAddressNVX,
+	GetImageViewHandleNVX:                           ProcGetImageViewHandleNVX,
+	GetMemoryFdKHR:                                  ProcGetMemoryFdKHR,
+	GetMemoryFdPropertiesKHR:                        ProcGetMemoryFdPropertiesKHR,
+	GetMemoryHostPointerPropertiesEXT:               ProcGetMemoryHostPointerPropertiesEXT,
+	GetMemoryRemoteAddressNV:                        ProcGetMemoryRemoteAddressNV,
+	GetMemoryWin32HandleKHR:                         ProcGetMemoryWin32HandleKHR,
+	GetMemoryWin32HandleNV:                          ProcGetMemoryWin32HandleNV,
+	GetMemoryWin32HandlePropertiesKHR:               ProcGetMemoryWin32HandlePropertiesKHR,
+	GetPastPresentationTimingGOOGLE:                 ProcGetPastPresentationTimingGOOGLE,
+	GetPerformanceParameterINTEL:                    ProcGetPerformanceParameterINTEL,
+	GetPipelineCacheData:                            ProcGetPipelineCacheData,
+	GetPipelineExecutableInternalRepresentationsKHR: ProcGetPipelineExecutableInternalRepresentationsKHR,
+	GetPipelineExecutablePropertiesKHR:              ProcGetPipelineExecutablePropertiesKHR,
+	GetPipelineExecutableStatisticsKHR:              ProcGetPipelineExecutableStatisticsKHR,
+	GetPrivateData:                                  ProcGetPrivateData,
+	GetPrivateDataEXT:                               ProcGetPrivateDataEXT,
+	GetQueryPoolResults:                             ProcGetQueryPoolResults,
+	GetQueueCheckpointData2NV:                       ProcGetQueueCheckpointData2NV,
+	GetQueueCheckpointDataNV:                        ProcGetQueueCheckpointDataNV,
+	GetRayTracingCaptureReplayShaderGroupHandlesKHR: ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR,
+	GetRayTracingShaderGroupHandlesKHR:              ProcGetRayTracingShaderGroupHandlesKHR,
+	GetRayTracingShaderGroupHandlesNV:               ProcGetRayTracingShaderGroupHandlesNV,
+	GetRayTracingShaderGroupStackSizeKHR:            ProcGetRayTracingShaderGroupStackSizeKHR,
+	GetRefreshCycleDurationGOOGLE:                   ProcGetRefreshCycleDurationGOOGLE,
+	GetRenderAreaGranularity:                        ProcGetRenderAreaGranularity,
+	GetSemaphoreCounterValue:                        ProcGetSemaphoreCounterValue,
+	GetSemaphoreCounterValueKHR:                     ProcGetSemaphoreCounterValueKHR,
+	GetSemaphoreFdKHR:                               ProcGetSemaphoreFdKHR,
+	GetSemaphoreWin32HandleKHR:                      ProcGetSemaphoreWin32HandleKHR,
+	GetShaderInfoAMD:                                ProcGetShaderInfoAMD,
+	GetSwapchainCounterEXT:                          ProcGetSwapchainCounterEXT,
+	GetSwapchainImagesKHR:                           ProcGetSwapchainImagesKHR,
+	GetSwapchainStatusKHR:                           ProcGetSwapchainStatusKHR,
+	GetValidationCacheDataEXT:                       ProcGetValidationCacheDataEXT,
+	ImportFenceFdKHR:                                ProcImportFenceFdKHR,
+	ImportFenceWin32HandleKHR:                       ProcImportFenceWin32HandleKHR,
+	ImportSemaphoreFdKHR:                            ProcImportSemaphoreFdKHR,
+	ImportSemaphoreWin32HandleKHR:                   ProcImportSemaphoreWin32HandleKHR,
+	InitializePerformanceApiINTEL:                   ProcInitializePerformanceApiINTEL,
+	InvalidateMappedMemoryRanges:                    ProcInvalidateMappedMemoryRanges,
+	MapMemory:                                       ProcMapMemory,
+	MergePipelineCaches:                             ProcMergePipelineCaches,
+	MergeValidationCachesEXT:                        ProcMergeValidationCachesEXT,
+	QueueBeginDebugUtilsLabelEXT:                    ProcQueueBeginDebugUtilsLabelEXT,
+	QueueBindSparse:                                 ProcQueueBindSparse,
+	QueueEndDebugUtilsLabelEXT:                      ProcQueueEndDebugUtilsLabelEXT,
+	QueueInsertDebugUtilsLabelEXT:                   ProcQueueInsertDebugUtilsLabelEXT,
+	QueuePresentKHR:                                 ProcQueuePresentKHR,
+	QueueSetPerformanceConfigurationINTEL:           ProcQueueSetPerformanceConfigurationINTEL,
+	QueueSubmit:                                     ProcQueueSubmit,
+	QueueSubmit2:                                    ProcQueueSubmit2,
+	QueueSubmit2KHR:                                 ProcQueueSubmit2KHR,
+	QueueWaitIdle:                                   ProcQueueWaitIdle,
+	RegisterDeviceEventEXT:                          ProcRegisterDeviceEventEXT,
+	RegisterDisplayEventEXT:                         ProcRegisterDisplayEventEXT,
+	ReleaseFullScreenExclusiveModeEXT:               ProcReleaseFullScreenExclusiveModeEXT,
+	ReleasePerformanceConfigurationINTEL:            ProcReleasePerformanceConfigurationINTEL,
+	ReleaseProfilingLockKHR:                         ProcReleaseProfilingLockKHR,
+	ResetCommandBuffer:                              ProcResetCommandBuffer,
+	ResetCommandPool:                                ProcResetCommandPool,
+	ResetDescriptorPool:                             ProcResetDescriptorPool,
+	ResetEvent:                                      ProcResetEvent,
+	ResetFences:                                     ProcResetFences,
+	ResetQueryPool:                                  ProcResetQueryPool,
+	ResetQueryPoolEXT:                               ProcResetQueryPoolEXT,
+	SetDebugUtilsObjectNameEXT:                      ProcSetDebugUtilsObjectNameEXT,
+	SetDebugUtilsObjectTagEXT:                       ProcSetDebugUtilsObjectTagEXT,
+	SetDeviceMemoryPriorityEXT:                      ProcSetDeviceMemoryPriorityEXT,
+	SetEvent:                                        ProcSetEvent,
+	SetHdrMetadataEXT:                               ProcSetHdrMetadataEXT,
+	SetLocalDimmingAMD:                              ProcSetLocalDimmingAMD,
+	SetPrivateData:                                  ProcSetPrivateData,
+	SetPrivateDataEXT:                               ProcSetPrivateDataEXT,
+	SignalSemaphore:                                 ProcSignalSemaphore,
+	SignalSemaphoreKHR:                              ProcSignalSemaphoreKHR,
+	TrimCommandPool:                                 ProcTrimCommandPool,
+	TrimCommandPoolKHR:                              ProcTrimCommandPoolKHR,
+	UninitializePerformanceApiINTEL:                 ProcUninitializePerformanceApiINTEL,
+	UnmapMemory:                                     ProcUnmapMemory,
+	UpdateDescriptorSetWithTemplate:                 ProcUpdateDescriptorSetWithTemplate,
+	UpdateDescriptorSetWithTemplateKHR:              ProcUpdateDescriptorSetWithTemplateKHR,
+	UpdateDescriptorSets:                            ProcUpdateDescriptorSets,
+	WaitForFences:                                   ProcWaitForFences,
+	WaitForPresentKHR:                               ProcWaitForPresentKHR,
+	WaitSemaphores:                                  ProcWaitSemaphores,
+	WaitSemaphoresKHR:                               ProcWaitSemaphoresKHR,
+	WriteAccelerationStructuresPropertiesKHR:        ProcWriteAccelerationStructuresPropertiesKHR,
+}
+
+load_proc_addresses_device_vtable :: proc(device: Device, vtable: ^Device_VTable) {
+	vtable.AcquireFullScreenExclusiveModeEXT               = auto_cast GetDeviceProcAddr(device, "vkAcquireFullScreenExclusiveModeEXT")
+	vtable.AcquireNextImage2KHR                            = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImage2KHR")
+	vtable.AcquireNextImageKHR                             = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImageKHR")
+	vtable.AcquirePerformanceConfigurationINTEL            = auto_cast GetDeviceProcAddr(device, "vkAcquirePerformanceConfigurationINTEL")
+	vtable.AcquireProfilingLockKHR                         = auto_cast GetDeviceProcAddr(device, "vkAcquireProfilingLockKHR")
+	vtable.AllocateCommandBuffers                          = auto_cast GetDeviceProcAddr(device, "vkAllocateCommandBuffers")
+	vtable.AllocateDescriptorSets                          = auto_cast GetDeviceProcAddr(device, "vkAllocateDescriptorSets")
+	vtable.AllocateMemory                                  = auto_cast GetDeviceProcAddr(device, "vkAllocateMemory")
+	vtable.BeginCommandBuffer                              = auto_cast GetDeviceProcAddr(device, "vkBeginCommandBuffer")
+	vtable.BindAccelerationStructureMemoryNV               = auto_cast GetDeviceProcAddr(device, "vkBindAccelerationStructureMemoryNV")
+	vtable.BindBufferMemory                                = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory")
+	vtable.BindBufferMemory2                               = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2")
+	vtable.BindBufferMemory2KHR                            = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2KHR")
+	vtable.BindImageMemory                                 = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory")
+	vtable.BindImageMemory2                                = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2")
+	vtable.BindImageMemory2KHR                             = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2KHR")
+	vtable.BuildAccelerationStructuresKHR                  = auto_cast GetDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR")
+	vtable.CmdBeginConditionalRenderingEXT                 = auto_cast GetDeviceProcAddr(device, "vkCmdBeginConditionalRenderingEXT")
+	vtable.CmdBeginDebugUtilsLabelEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdBeginDebugUtilsLabelEXT")
+	vtable.CmdBeginQuery                                   = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQuery")
+	vtable.CmdBeginQueryIndexedEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT")
+	vtable.CmdBeginRenderPass                              = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass")
+	vtable.CmdBeginRenderPass2                             = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2")
+	vtable.CmdBeginRenderPass2KHR                          = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR")
+	vtable.CmdBeginRendering                               = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRendering")
+	vtable.CmdBeginRenderingKHR                            = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderingKHR")
+	vtable.CmdBeginTransformFeedbackEXT                    = auto_cast GetDeviceProcAddr(device, "vkCmdBeginTransformFeedbackEXT")
+	vtable.CmdBindDescriptorSets                           = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorSets")
+	vtable.CmdBindIndexBuffer                              = auto_cast GetDeviceProcAddr(device, "vkCmdBindIndexBuffer")
+	vtable.CmdBindInvocationMaskHUAWEI                     = auto_cast GetDeviceProcAddr(device, "vkCmdBindInvocationMaskHUAWEI")
+	vtable.CmdBindPipeline                                 = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipeline")
+	vtable.CmdBindPipelineShaderGroupNV                    = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipelineShaderGroupNV")
+	vtable.CmdBindShadingRateImageNV                       = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadingRateImageNV")
+	vtable.CmdBindTransformFeedbackBuffersEXT              = auto_cast GetDeviceProcAddr(device, "vkCmdBindTransformFeedbackBuffersEXT")
+	vtable.CmdBindVertexBuffers                            = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers")
+	vtable.CmdBindVertexBuffers2                           = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2")
+	vtable.CmdBindVertexBuffers2EXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT")
+	vtable.CmdBlitImage                                    = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage")
+	vtable.CmdBlitImage2                                   = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2")
+	vtable.CmdBlitImage2KHR                                = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2KHR")
+	vtable.CmdBuildAccelerationStructureNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructureNV")
+	vtable.CmdBuildAccelerationStructuresIndirectKHR       = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR")
+	vtable.CmdBuildAccelerationStructuresKHR               = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresKHR")
+	vtable.CmdClearAttachments                             = auto_cast GetDeviceProcAddr(device, "vkCmdClearAttachments")
+	vtable.CmdClearColorImage                              = auto_cast GetDeviceProcAddr(device, "vkCmdClearColorImage")
+	vtable.CmdClearDepthStencilImage                       = auto_cast GetDeviceProcAddr(device, "vkCmdClearDepthStencilImage")
+	vtable.CmdCopyAccelerationStructureKHR                 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureKHR")
+	vtable.CmdCopyAccelerationStructureNV                  = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureNV")
+	vtable.CmdCopyAccelerationStructureToMemoryKHR         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureToMemoryKHR")
+	vtable.CmdCopyBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer")
+	vtable.CmdCopyBuffer2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2")
+	vtable.CmdCopyBuffer2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR")
+	vtable.CmdCopyBufferToImage                            = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage")
+	vtable.CmdCopyBufferToImage2                           = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2")
+	vtable.CmdCopyBufferToImage2KHR                        = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR")
+	vtable.CmdCopyImage                                    = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage")
+	vtable.CmdCopyImage2                                   = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2")
+	vtable.CmdCopyImage2KHR                                = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2KHR")
+	vtable.CmdCopyImageToBuffer                            = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer")
+	vtable.CmdCopyImageToBuffer2                           = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2")
+	vtable.CmdCopyImageToBuffer2KHR                        = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR")
+	vtable.CmdCopyMemoryToAccelerationStructureKHR         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToAccelerationStructureKHR")
+	vtable.CmdCopyQueryPoolResults                         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyQueryPoolResults")
+	vtable.CmdCuLaunchKernelNVX                            = auto_cast GetDeviceProcAddr(device, "vkCmdCuLaunchKernelNVX")
+	vtable.CmdDebugMarkerBeginEXT                          = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT")
+	vtable.CmdDebugMarkerEndEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT")
+	vtable.CmdDebugMarkerInsertEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT")
+	vtable.CmdDispatch                                     = auto_cast GetDeviceProcAddr(device, "vkCmdDispatch")
+	vtable.CmdDispatchBase                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBase")
+	vtable.CmdDispatchBaseKHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBaseKHR")
+	vtable.CmdDispatchIndirect                             = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchIndirect")
+	vtable.CmdDraw                                         = auto_cast GetDeviceProcAddr(device, "vkCmdDraw")
+	vtable.CmdDrawIndexed                                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexed")
+	vtable.CmdDrawIndexedIndirect                          = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirect")
+	vtable.CmdDrawIndexedIndirectCount                     = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCount")
+	vtable.CmdDrawIndexedIndirectCountAMD                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountAMD")
+	vtable.CmdDrawIndexedIndirectCountKHR                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountKHR")
+	vtable.CmdDrawIndirect                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirect")
+	vtable.CmdDrawIndirectByteCountEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectByteCountEXT")
+	vtable.CmdDrawIndirectCount                            = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCount")
+	vtable.CmdDrawIndirectCountAMD                         = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountAMD")
+	vtable.CmdDrawIndirectCountKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountKHR")
+	vtable.CmdDrawMeshTasksIndirectCountNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountNV")
+	vtable.CmdDrawMeshTasksIndirectNV                      = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectNV")
+	vtable.CmdDrawMeshTasksNV                              = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksNV")
+	vtable.CmdDrawMultiEXT                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiEXT")
+	vtable.CmdDrawMultiIndexedEXT                          = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiIndexedEXT")
+	vtable.CmdEndConditionalRenderingEXT                   = auto_cast GetDeviceProcAddr(device, "vkCmdEndConditionalRenderingEXT")
+	vtable.CmdEndDebugUtilsLabelEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdEndDebugUtilsLabelEXT")
+	vtable.CmdEndQuery                                     = auto_cast GetDeviceProcAddr(device, "vkCmdEndQuery")
+	vtable.CmdEndQueryIndexedEXT                           = auto_cast GetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT")
+	vtable.CmdEndRenderPass                                = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass")
+	vtable.CmdEndRenderPass2                               = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2")
+	vtable.CmdEndRenderPass2KHR                            = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR")
+	vtable.CmdEndRendering                                 = auto_cast GetDeviceProcAddr(device, "vkCmdEndRendering")
+	vtable.CmdEndRenderingKHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderingKHR")
+	vtable.CmdEndTransformFeedbackEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdEndTransformFeedbackEXT")
+	vtable.CmdExecuteCommands                              = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteCommands")
+	vtable.CmdExecuteGeneratedCommandsNV                   = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteGeneratedCommandsNV")
+	vtable.CmdFillBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkCmdFillBuffer")
+	vtable.CmdInsertDebugUtilsLabelEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdInsertDebugUtilsLabelEXT")
+	vtable.CmdNextSubpass                                  = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass")
+	vtable.CmdNextSubpass2                                 = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2")
+	vtable.CmdNextSubpass2KHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2KHR")
+	vtable.CmdPipelineBarrier                              = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier")
+	vtable.CmdPipelineBarrier2                             = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2")
+	vtable.CmdPipelineBarrier2KHR                          = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR")
+	vtable.CmdPreprocessGeneratedCommandsNV                = auto_cast GetDeviceProcAddr(device, "vkCmdPreprocessGeneratedCommandsNV")
+	vtable.CmdPushConstants                                = auto_cast GetDeviceProcAddr(device, "vkCmdPushConstants")
+	vtable.CmdPushDescriptorSetKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR")
+	vtable.CmdPushDescriptorSetWithTemplateKHR             = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetWithTemplateKHR")
+	vtable.CmdResetEvent                                   = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent")
+	vtable.CmdResetEvent2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2")
+	vtable.CmdResetEvent2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2KHR")
+	vtable.CmdResetQueryPool                               = auto_cast GetDeviceProcAddr(device, "vkCmdResetQueryPool")
+	vtable.CmdResolveImage                                 = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage")
+	vtable.CmdResolveImage2                                = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2")
+	vtable.CmdResolveImage2KHR                             = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2KHR")
+	vtable.CmdSetBlendConstants                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetBlendConstants")
+	vtable.CmdSetCheckpointNV                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetCheckpointNV")
+	vtable.CmdSetCoarseSampleOrderNV                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoarseSampleOrderNV")
+	vtable.CmdSetCullMode                                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullMode")
+	vtable.CmdSetCullModeEXT                               = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullModeEXT")
+	vtable.CmdSetDepthBias                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBias")
+	vtable.CmdSetDepthBiasEnable                           = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnable")
+	vtable.CmdSetDepthBiasEnableEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnableEXT")
+	vtable.CmdSetDepthBounds                               = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBounds")
+	vtable.CmdSetDepthBoundsTestEnable                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnable")
+	vtable.CmdSetDepthBoundsTestEnableEXT                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT")
+	vtable.CmdSetDepthCompareOp                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOp")
+	vtable.CmdSetDepthCompareOpEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT")
+	vtable.CmdSetDepthTestEnable                           = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnable")
+	vtable.CmdSetDepthTestEnableEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT")
+	vtable.CmdSetDepthWriteEnable                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnable")
+	vtable.CmdSetDepthWriteEnableEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT")
+	vtable.CmdSetDeviceMask                                = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMask")
+	vtable.CmdSetDeviceMaskKHR                             = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMaskKHR")
+	vtable.CmdSetDiscardRectangleEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEXT")
+	vtable.CmdSetEvent                                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent")
+	vtable.CmdSetEvent2                                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2")
+	vtable.CmdSetEvent2KHR                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2KHR")
+	vtable.CmdSetExclusiveScissorNV                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorNV")
+	vtable.CmdSetFragmentShadingRateEnumNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateEnumNV")
+	vtable.CmdSetFragmentShadingRateKHR                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateKHR")
+	vtable.CmdSetFrontFace                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFace")
+	vtable.CmdSetFrontFaceEXT                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT")
+	vtable.CmdSetLineStippleEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEXT")
+	vtable.CmdSetLineWidth                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineWidth")
+	vtable.CmdSetLogicOpEXT                                = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEXT")
+	vtable.CmdSetPatchControlPointsEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetPatchControlPointsEXT")
+	vtable.CmdSetPerformanceMarkerINTEL                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceMarkerINTEL")
+	vtable.CmdSetPerformanceOverrideINTEL                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceOverrideINTEL")
+	vtable.CmdSetPerformanceStreamMarkerINTEL              = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceStreamMarkerINTEL")
+	vtable.CmdSetPrimitiveRestartEnable                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnable")
+	vtable.CmdSetPrimitiveRestartEnableEXT                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnableEXT")
+	vtable.CmdSetPrimitiveTopology                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopology")
+	vtable.CmdSetPrimitiveTopologyEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT")
+	vtable.CmdSetRasterizerDiscardEnable                   = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnable")
+	vtable.CmdSetRasterizerDiscardEnableEXT                = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnableEXT")
+	vtable.CmdSetRayTracingPipelineStackSizeKHR            = auto_cast GetDeviceProcAddr(device, "vkCmdSetRayTracingPipelineStackSizeKHR")
+	vtable.CmdSetSampleLocationsEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEXT")
+	vtable.CmdSetScissor                                   = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissor")
+	vtable.CmdSetScissorWithCount                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCount")
+	vtable.CmdSetScissorWithCountEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT")
+	vtable.CmdSetStencilCompareMask                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilCompareMask")
+	vtable.CmdSetStencilOp                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOp")
+	vtable.CmdSetStencilOpEXT                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOpEXT")
+	vtable.CmdSetStencilReference                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilReference")
+	vtable.CmdSetStencilTestEnable                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnable")
+	vtable.CmdSetStencilTestEnableEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT")
+	vtable.CmdSetStencilWriteMask                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilWriteMask")
+	vtable.CmdSetVertexInputEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetVertexInputEXT")
+	vtable.CmdSetViewport                                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewport")
+	vtable.CmdSetViewportShadingRatePaletteNV              = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportShadingRatePaletteNV")
+	vtable.CmdSetViewportWScalingNV                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingNV")
+	vtable.CmdSetViewportWithCount                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCount")
+	vtable.CmdSetViewportWithCountEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT")
+	vtable.CmdSubpassShadingHUAWEI                         = auto_cast GetDeviceProcAddr(device, "vkCmdSubpassShadingHUAWEI")
+	vtable.CmdTraceRaysIndirectKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR")
+	vtable.CmdTraceRaysKHR                                 = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysKHR")
+	vtable.CmdTraceRaysNV                                  = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysNV")
+	vtable.CmdUpdateBuffer                                 = auto_cast GetDeviceProcAddr(device, "vkCmdUpdateBuffer")
+	vtable.CmdWaitEvents                                   = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents")
+	vtable.CmdWaitEvents2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2")
+	vtable.CmdWaitEvents2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2KHR")
+	vtable.CmdWriteAccelerationStructuresPropertiesKHR     = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesKHR")
+	vtable.CmdWriteAccelerationStructuresPropertiesNV      = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesNV")
+	vtable.CmdWriteBufferMarker2AMD                        = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarker2AMD")
+	vtable.CmdWriteBufferMarkerAMD                         = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarkerAMD")
+	vtable.CmdWriteTimestamp                               = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp")
+	vtable.CmdWriteTimestamp2                              = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2")
+	vtable.CmdWriteTimestamp2KHR                           = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR")
+	vtable.CompileDeferredNV                               = auto_cast GetDeviceProcAddr(device, "vkCompileDeferredNV")
+	vtable.CopyAccelerationStructureKHR                    = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureKHR")
+	vtable.CopyAccelerationStructureToMemoryKHR            = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureToMemoryKHR")
+	vtable.CopyMemoryToAccelerationStructureKHR            = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToAccelerationStructureKHR")
+	vtable.CreateAccelerationStructureKHR                  = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureKHR")
+	vtable.CreateAccelerationStructureNV                   = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureNV")
+	vtable.CreateBuffer                                    = auto_cast GetDeviceProcAddr(device, "vkCreateBuffer")
+	vtable.CreateBufferView                                = auto_cast GetDeviceProcAddr(device, "vkCreateBufferView")
+	vtable.CreateCommandPool                               = auto_cast GetDeviceProcAddr(device, "vkCreateCommandPool")
+	vtable.CreateComputePipelines                          = auto_cast GetDeviceProcAddr(device, "vkCreateComputePipelines")
+	vtable.CreateCuFunctionNVX                             = auto_cast GetDeviceProcAddr(device, "vkCreateCuFunctionNVX")
+	vtable.CreateCuModuleNVX                               = auto_cast GetDeviceProcAddr(device, "vkCreateCuModuleNVX")
+	vtable.CreateDeferredOperationKHR                      = auto_cast GetDeviceProcAddr(device, "vkCreateDeferredOperationKHR")
+	vtable.CreateDescriptorPool                            = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorPool")
+	vtable.CreateDescriptorSetLayout                       = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorSetLayout")
+	vtable.CreateDescriptorUpdateTemplate                  = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplate")
+	vtable.CreateDescriptorUpdateTemplateKHR               = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR")
+	vtable.CreateEvent                                     = auto_cast GetDeviceProcAddr(device, "vkCreateEvent")
+	vtable.CreateFence                                     = auto_cast GetDeviceProcAddr(device, "vkCreateFence")
+	vtable.CreateFramebuffer                               = auto_cast GetDeviceProcAddr(device, "vkCreateFramebuffer")
+	vtable.CreateGraphicsPipelines                         = auto_cast GetDeviceProcAddr(device, "vkCreateGraphicsPipelines")
+	vtable.CreateImage                                     = auto_cast GetDeviceProcAddr(device, "vkCreateImage")
+	vtable.CreateImageView                                 = auto_cast GetDeviceProcAddr(device, "vkCreateImageView")
+	vtable.CreateIndirectCommandsLayoutNV                  = auto_cast GetDeviceProcAddr(device, "vkCreateIndirectCommandsLayoutNV")
+	vtable.CreatePipelineCache                             = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineCache")
+	vtable.CreatePipelineLayout                            = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineLayout")
+	vtable.CreatePrivateDataSlot                           = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlot")
+	vtable.CreatePrivateDataSlotEXT                        = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlotEXT")
+	vtable.CreateQueryPool                                 = auto_cast GetDeviceProcAddr(device, "vkCreateQueryPool")
+	vtable.CreateRayTracingPipelinesKHR                    = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesKHR")
+	vtable.CreateRayTracingPipelinesNV                     = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesNV")
+	vtable.CreateRenderPass                                = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass")
+	vtable.CreateRenderPass2                               = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2")
+	vtable.CreateRenderPass2KHR                            = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2KHR")
+	vtable.CreateSampler                                   = auto_cast GetDeviceProcAddr(device, "vkCreateSampler")
+	vtable.CreateSamplerYcbcrConversion                    = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversion")
+	vtable.CreateSamplerYcbcrConversionKHR                 = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversionKHR")
+	vtable.CreateSemaphore                                 = auto_cast GetDeviceProcAddr(device, "vkCreateSemaphore")
+	vtable.CreateShaderModule                              = auto_cast GetDeviceProcAddr(device, "vkCreateShaderModule")
+	vtable.CreateSharedSwapchainsKHR                       = auto_cast GetDeviceProcAddr(device, "vkCreateSharedSwapchainsKHR")
+	vtable.CreateSwapchainKHR                              = auto_cast GetDeviceProcAddr(device, "vkCreateSwapchainKHR")
+	vtable.CreateValidationCacheEXT                        = auto_cast GetDeviceProcAddr(device, "vkCreateValidationCacheEXT")
+	vtable.DebugMarkerSetObjectNameEXT                     = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT")
+	vtable.DebugMarkerSetObjectTagEXT                      = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT")
+	vtable.DeferredOperationJoinKHR                        = auto_cast GetDeviceProcAddr(device, "vkDeferredOperationJoinKHR")
+	vtable.DestroyAccelerationStructureKHR                 = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureKHR")
+	vtable.DestroyAccelerationStructureNV                  = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureNV")
+	vtable.DestroyBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkDestroyBuffer")
+	vtable.DestroyBufferView                               = auto_cast GetDeviceProcAddr(device, "vkDestroyBufferView")
+	vtable.DestroyCommandPool                              = auto_cast GetDeviceProcAddr(device, "vkDestroyCommandPool")
+	vtable.DestroyCuFunctionNVX                            = auto_cast GetDeviceProcAddr(device, "vkDestroyCuFunctionNVX")
+	vtable.DestroyCuModuleNVX                              = auto_cast GetDeviceProcAddr(device, "vkDestroyCuModuleNVX")
+	vtable.DestroyDeferredOperationKHR                     = auto_cast GetDeviceProcAddr(device, "vkDestroyDeferredOperationKHR")
+	vtable.DestroyDescriptorPool                           = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorPool")
+	vtable.DestroyDescriptorSetLayout                      = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorSetLayout")
+	vtable.DestroyDescriptorUpdateTemplate                 = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplate")
+	vtable.DestroyDescriptorUpdateTemplateKHR              = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplateKHR")
+	vtable.DestroyDevice                                   = auto_cast GetDeviceProcAddr(device, "vkDestroyDevice")
+	vtable.DestroyEvent                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyEvent")
+	vtable.DestroyFence                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyFence")
+	vtable.DestroyFramebuffer                              = auto_cast GetDeviceProcAddr(device, "vkDestroyFramebuffer")
+	vtable.DestroyImage                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyImage")
+	vtable.DestroyImageView                                = auto_cast GetDeviceProcAddr(device, "vkDestroyImageView")
+	vtable.DestroyIndirectCommandsLayoutNV                 = auto_cast GetDeviceProcAddr(device, "vkDestroyIndirectCommandsLayoutNV")
+	vtable.DestroyPipeline                                 = auto_cast GetDeviceProcAddr(device, "vkDestroyPipeline")
+	vtable.DestroyPipelineCache                            = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineCache")
+	vtable.DestroyPipelineLayout                           = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineLayout")
+	vtable.DestroyPrivateDataSlot                          = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlot")
+	vtable.DestroyPrivateDataSlotEXT                       = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlotEXT")
+	vtable.DestroyQueryPool                                = auto_cast GetDeviceProcAddr(device, "vkDestroyQueryPool")
+	vtable.DestroyRenderPass                               = auto_cast GetDeviceProcAddr(device, "vkDestroyRenderPass")
+	vtable.DestroySampler                                  = auto_cast GetDeviceProcAddr(device, "vkDestroySampler")
+	vtable.DestroySamplerYcbcrConversion                   = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversion")
+	vtable.DestroySamplerYcbcrConversionKHR                = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversionKHR")
+	vtable.DestroySemaphore                                = auto_cast GetDeviceProcAddr(device, "vkDestroySemaphore")
+	vtable.DestroyShaderModule                             = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderModule")
+	vtable.DestroySwapchainKHR                             = auto_cast GetDeviceProcAddr(device, "vkDestroySwapchainKHR")
+	vtable.DestroyValidationCacheEXT                       = auto_cast GetDeviceProcAddr(device, "vkDestroyValidationCacheEXT")
+	vtable.DeviceWaitIdle                                  = auto_cast GetDeviceProcAddr(device, "vkDeviceWaitIdle")
+	vtable.DisplayPowerControlEXT                          = auto_cast GetDeviceProcAddr(device, "vkDisplayPowerControlEXT")
+	vtable.EndCommandBuffer                                = auto_cast GetDeviceProcAddr(device, "vkEndCommandBuffer")
+	vtable.FlushMappedMemoryRanges                         = auto_cast GetDeviceProcAddr(device, "vkFlushMappedMemoryRanges")
+	vtable.FreeCommandBuffers                              = auto_cast GetDeviceProcAddr(device, "vkFreeCommandBuffers")
+	vtable.FreeDescriptorSets                              = auto_cast GetDeviceProcAddr(device, "vkFreeDescriptorSets")
+	vtable.FreeMemory                                      = auto_cast GetDeviceProcAddr(device, "vkFreeMemory")
+	vtable.GetAccelerationStructureBuildSizesKHR           = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureBuildSizesKHR")
+	vtable.GetAccelerationStructureDeviceAddressKHR        = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureDeviceAddressKHR")
+	vtable.GetAccelerationStructureHandleNV                = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureHandleNV")
+	vtable.GetAccelerationStructureMemoryRequirementsNV    = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureMemoryRequirementsNV")
+	vtable.GetBufferDeviceAddress                          = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddress")
+	vtable.GetBufferDeviceAddressEXT                       = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressEXT")
+	vtable.GetBufferDeviceAddressKHR                       = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR")
+	vtable.GetBufferMemoryRequirements                     = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements")
+	vtable.GetBufferMemoryRequirements2                    = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2")
+	vtable.GetBufferMemoryRequirements2KHR                 = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2KHR")
+	vtable.GetBufferOpaqueCaptureAddress                   = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddress")
+	vtable.GetBufferOpaqueCaptureAddressKHR                = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR")
+	vtable.GetCalibratedTimestampsEXT                      = auto_cast GetDeviceProcAddr(device, "vkGetCalibratedTimestampsEXT")
+	vtable.GetDeferredOperationMaxConcurrencyKHR           = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationMaxConcurrencyKHR")
+	vtable.GetDeferredOperationResultKHR                   = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationResultKHR")
+	vtable.GetDescriptorSetHostMappingVALVE                = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetHostMappingVALVE")
+	vtable.GetDescriptorSetLayoutHostMappingInfoVALVE      = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
+	vtable.GetDescriptorSetLayoutSupport                   = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupport")
+	vtable.GetDescriptorSetLayoutSupportKHR                = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupportKHR")
+	vtable.GetDeviceAccelerationStructureCompatibilityKHR  = auto_cast GetDeviceProcAddr(device, "vkGetDeviceAccelerationStructureCompatibilityKHR")
+	vtable.GetDeviceBufferMemoryRequirements               = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirements")
+	vtable.GetDeviceBufferMemoryRequirementsKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirementsKHR")
+	vtable.GetDeviceGroupPeerMemoryFeatures                = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeatures")
+	vtable.GetDeviceGroupPeerMemoryFeaturesKHR             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeaturesKHR")
+	vtable.GetDeviceGroupPresentCapabilitiesKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPresentCapabilitiesKHR")
+	vtable.GetDeviceGroupSurfacePresentModes2EXT           = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModes2EXT")
+	vtable.GetDeviceGroupSurfacePresentModesKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModesKHR")
+	vtable.GetDeviceImageMemoryRequirements                = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirements")
+	vtable.GetDeviceImageMemoryRequirementsKHR             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirementsKHR")
+	vtable.GetDeviceImageSparseMemoryRequirements          = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirements")
+	vtable.GetDeviceImageSparseMemoryRequirementsKHR       = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirementsKHR")
+	vtable.GetDeviceMemoryCommitment                       = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryCommitment")
+	vtable.GetDeviceMemoryOpaqueCaptureAddress             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddress")
+	vtable.GetDeviceMemoryOpaqueCaptureAddressKHR          = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
+	vtable.GetDeviceProcAddr                               = auto_cast GetDeviceProcAddr(device, "vkGetDeviceProcAddr")
+	vtable.GetDeviceQueue                                  = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue")
+	vtable.GetDeviceQueue2                                 = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue2")
+	vtable.GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   = auto_cast GetDeviceProcAddr(device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
+	vtable.GetEventStatus                                  = auto_cast GetDeviceProcAddr(device, "vkGetEventStatus")
+	vtable.GetFenceFdKHR                                   = auto_cast GetDeviceProcAddr(device, "vkGetFenceFdKHR")
+	vtable.GetFenceStatus                                  = auto_cast GetDeviceProcAddr(device, "vkGetFenceStatus")
+	vtable.GetFenceWin32HandleKHR                          = auto_cast GetDeviceProcAddr(device, "vkGetFenceWin32HandleKHR")
+	vtable.GetGeneratedCommandsMemoryRequirementsNV        = auto_cast GetDeviceProcAddr(device, "vkGetGeneratedCommandsMemoryRequirementsNV")
+	vtable.GetImageDrmFormatModifierPropertiesEXT          = auto_cast GetDeviceProcAddr(device, "vkGetImageDrmFormatModifierPropertiesEXT")
+	vtable.GetImageMemoryRequirements                      = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements")
+	vtable.GetImageMemoryRequirements2                     = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2")
+	vtable.GetImageMemoryRequirements2KHR                  = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2KHR")
+	vtable.GetImageSparseMemoryRequirements                = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements")
+	vtable.GetImageSparseMemoryRequirements2               = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2")
+	vtable.GetImageSparseMemoryRequirements2KHR            = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2KHR")
+	vtable.GetImageSubresourceLayout                       = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout")
+	vtable.GetImageViewAddressNVX                          = auto_cast GetDeviceProcAddr(device, "vkGetImageViewAddressNVX")
+	vtable.GetImageViewHandleNVX                           = auto_cast GetDeviceProcAddr(device, "vkGetImageViewHandleNVX")
+	vtable.GetMemoryFdKHR                                  = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdKHR")
+	vtable.GetMemoryFdPropertiesKHR                        = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdPropertiesKHR")
+	vtable.GetMemoryHostPointerPropertiesEXT               = auto_cast GetDeviceProcAddr(device, "vkGetMemoryHostPointerPropertiesEXT")
+	vtable.GetMemoryRemoteAddressNV                        = auto_cast GetDeviceProcAddr(device, "vkGetMemoryRemoteAddressNV")
+	vtable.GetMemoryWin32HandleKHR                         = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR")
+	vtable.GetMemoryWin32HandleNV                          = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleNV")
+	vtable.GetMemoryWin32HandlePropertiesKHR               = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHR")
+	vtable.GetPastPresentationTimingGOOGLE                 = auto_cast GetDeviceProcAddr(device, "vkGetPastPresentationTimingGOOGLE")
+	vtable.GetPerformanceParameterINTEL                    = auto_cast GetDeviceProcAddr(device, "vkGetPerformanceParameterINTEL")
+	vtable.GetPipelineCacheData                            = auto_cast GetDeviceProcAddr(device, "vkGetPipelineCacheData")
+	vtable.GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableInternalRepresentationsKHR")
+	vtable.GetPipelineExecutablePropertiesKHR              = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutablePropertiesKHR")
+	vtable.GetPipelineExecutableStatisticsKHR              = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableStatisticsKHR")
+	vtable.GetPrivateData                                  = auto_cast GetDeviceProcAddr(device, "vkGetPrivateData")
+	vtable.GetPrivateDataEXT                               = auto_cast GetDeviceProcAddr(device, "vkGetPrivateDataEXT")
+	vtable.GetQueryPoolResults                             = auto_cast GetDeviceProcAddr(device, "vkGetQueryPoolResults")
+	vtable.GetQueueCheckpointData2NV                       = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointData2NV")
+	vtable.GetQueueCheckpointDataNV                        = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointDataNV")
+	vtable.GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
+	vtable.GetRayTracingShaderGroupHandlesKHR              = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesKHR")
+	vtable.GetRayTracingShaderGroupHandlesNV               = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesNV")
+	vtable.GetRayTracingShaderGroupStackSizeKHR            = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupStackSizeKHR")
+	vtable.GetRefreshCycleDurationGOOGLE                   = auto_cast GetDeviceProcAddr(device, "vkGetRefreshCycleDurationGOOGLE")
+	vtable.GetRenderAreaGranularity                        = auto_cast GetDeviceProcAddr(device, "vkGetRenderAreaGranularity")
+	vtable.GetSemaphoreCounterValue                        = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValue")
+	vtable.GetSemaphoreCounterValueKHR                     = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValueKHR")
+	vtable.GetSemaphoreFdKHR                               = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreFdKHR")
+	vtable.GetSemaphoreWin32HandleKHR                      = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreWin32HandleKHR")
+	vtable.GetShaderInfoAMD                                = auto_cast GetDeviceProcAddr(device, "vkGetShaderInfoAMD")
+	vtable.GetSwapchainCounterEXT                          = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainCounterEXT")
+	vtable.GetSwapchainImagesKHR                           = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainImagesKHR")
+	vtable.GetSwapchainStatusKHR                           = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainStatusKHR")
+	vtable.GetValidationCacheDataEXT                       = auto_cast GetDeviceProcAddr(device, "vkGetValidationCacheDataEXT")
+	vtable.ImportFenceFdKHR                                = auto_cast GetDeviceProcAddr(device, "vkImportFenceFdKHR")
+	vtable.ImportFenceWin32HandleKHR                       = auto_cast GetDeviceProcAddr(device, "vkImportFenceWin32HandleKHR")
+	vtable.ImportSemaphoreFdKHR                            = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreFdKHR")
+	vtable.ImportSemaphoreWin32HandleKHR                   = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreWin32HandleKHR")
+	vtable.InitializePerformanceApiINTEL                   = auto_cast GetDeviceProcAddr(device, "vkInitializePerformanceApiINTEL")
+	vtable.InvalidateMappedMemoryRanges                    = auto_cast GetDeviceProcAddr(device, "vkInvalidateMappedMemoryRanges")
+	vtable.MapMemory                                       = auto_cast GetDeviceProcAddr(device, "vkMapMemory")
+	vtable.MergePipelineCaches                             = auto_cast GetDeviceProcAddr(device, "vkMergePipelineCaches")
+	vtable.MergeValidationCachesEXT                        = auto_cast GetDeviceProcAddr(device, "vkMergeValidationCachesEXT")
+	vtable.QueueBeginDebugUtilsLabelEXT                    = auto_cast GetDeviceProcAddr(device, "vkQueueBeginDebugUtilsLabelEXT")
+	vtable.QueueBindSparse                                 = auto_cast GetDeviceProcAddr(device, "vkQueueBindSparse")
+	vtable.QueueEndDebugUtilsLabelEXT                      = auto_cast GetDeviceProcAddr(device, "vkQueueEndDebugUtilsLabelEXT")
+	vtable.QueueInsertDebugUtilsLabelEXT                   = auto_cast GetDeviceProcAddr(device, "vkQueueInsertDebugUtilsLabelEXT")
+	vtable.QueuePresentKHR                                 = auto_cast GetDeviceProcAddr(device, "vkQueuePresentKHR")
+	vtable.QueueSetPerformanceConfigurationINTEL           = auto_cast GetDeviceProcAddr(device, "vkQueueSetPerformanceConfigurationINTEL")
+	vtable.QueueSubmit                                     = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit")
+	vtable.QueueSubmit2                                    = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2")
+	vtable.QueueSubmit2KHR                                 = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2KHR")
+	vtable.QueueWaitIdle                                   = auto_cast GetDeviceProcAddr(device, "vkQueueWaitIdle")
+	vtable.RegisterDeviceEventEXT                          = auto_cast GetDeviceProcAddr(device, "vkRegisterDeviceEventEXT")
+	vtable.RegisterDisplayEventEXT                         = auto_cast GetDeviceProcAddr(device, "vkRegisterDisplayEventEXT")
+	vtable.ReleaseFullScreenExclusiveModeEXT               = auto_cast GetDeviceProcAddr(device, "vkReleaseFullScreenExclusiveModeEXT")
+	vtable.ReleasePerformanceConfigurationINTEL            = auto_cast GetDeviceProcAddr(device, "vkReleasePerformanceConfigurationINTEL")
+	vtable.ReleaseProfilingLockKHR                         = auto_cast GetDeviceProcAddr(device, "vkReleaseProfilingLockKHR")
+	vtable.ResetCommandBuffer                              = auto_cast GetDeviceProcAddr(device, "vkResetCommandBuffer")
+	vtable.ResetCommandPool                                = auto_cast GetDeviceProcAddr(device, "vkResetCommandPool")
+	vtable.ResetDescriptorPool                             = auto_cast GetDeviceProcAddr(device, "vkResetDescriptorPool")
+	vtable.ResetEvent                                      = auto_cast GetDeviceProcAddr(device, "vkResetEvent")
+	vtable.ResetFences                                     = auto_cast GetDeviceProcAddr(device, "vkResetFences")
+	vtable.ResetQueryPool                                  = auto_cast GetDeviceProcAddr(device, "vkResetQueryPool")
+	vtable.ResetQueryPoolEXT                               = auto_cast GetDeviceProcAddr(device, "vkResetQueryPoolEXT")
+	vtable.SetDebugUtilsObjectNameEXT                      = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectNameEXT")
+	vtable.SetDebugUtilsObjectTagEXT                       = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectTagEXT")
+	vtable.SetDeviceMemoryPriorityEXT                      = auto_cast GetDeviceProcAddr(device, "vkSetDeviceMemoryPriorityEXT")
+	vtable.SetEvent                                        = auto_cast GetDeviceProcAddr(device, "vkSetEvent")
+	vtable.SetHdrMetadataEXT                               = auto_cast GetDeviceProcAddr(device, "vkSetHdrMetadataEXT")
+	vtable.SetLocalDimmingAMD                              = auto_cast GetDeviceProcAddr(device, "vkSetLocalDimmingAMD")
+	vtable.SetPrivateData                                  = auto_cast GetDeviceProcAddr(device, "vkSetPrivateData")
+	vtable.SetPrivateDataEXT                               = auto_cast GetDeviceProcAddr(device, "vkSetPrivateDataEXT")
+	vtable.SignalSemaphore                                 = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphore")
+	vtable.SignalSemaphoreKHR                              = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphoreKHR")
+	vtable.TrimCommandPool                                 = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPool")
+	vtable.TrimCommandPoolKHR                              = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPoolKHR")
+	vtable.UninitializePerformanceApiINTEL                 = auto_cast GetDeviceProcAddr(device, "vkUninitializePerformanceApiINTEL")
+	vtable.UnmapMemory                                     = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory")
+	vtable.UpdateDescriptorSetWithTemplate                 = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplate")
+	vtable.UpdateDescriptorSetWithTemplateKHR              = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplateKHR")
+	vtable.UpdateDescriptorSets                            = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSets")
+	vtable.WaitForFences                                   = auto_cast GetDeviceProcAddr(device, "vkWaitForFences")
+	vtable.WaitForPresentKHR                               = auto_cast GetDeviceProcAddr(device, "vkWaitForPresentKHR")
+	vtable.WaitSemaphores                                  = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphores")
+	vtable.WaitSemaphoresKHR                               = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphoresKHR")
+	vtable.WriteAccelerationStructuresPropertiesKHR        = auto_cast GetDeviceProcAddr(device, "vkWriteAccelerationStructuresPropertiesKHR")
+}
+
+load_proc_addresses_device :: proc(device: Device) {
+	AcquireFullScreenExclusiveModeEXT               = auto_cast GetDeviceProcAddr(device, "vkAcquireFullScreenExclusiveModeEXT")
+	AcquireNextImage2KHR                            = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImage2KHR")
+	AcquireNextImageKHR                             = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImageKHR")
+	AcquirePerformanceConfigurationINTEL            = auto_cast GetDeviceProcAddr(device, "vkAcquirePerformanceConfigurationINTEL")
+	AcquireProfilingLockKHR                         = auto_cast GetDeviceProcAddr(device, "vkAcquireProfilingLockKHR")
+	AllocateCommandBuffers                          = auto_cast GetDeviceProcAddr(device, "vkAllocateCommandBuffers")
+	AllocateDescriptorSets                          = auto_cast GetDeviceProcAddr(device, "vkAllocateDescriptorSets")
+	AllocateMemory                                  = auto_cast GetDeviceProcAddr(device, "vkAllocateMemory")
+	BeginCommandBuffer                              = auto_cast GetDeviceProcAddr(device, "vkBeginCommandBuffer")
+	BindAccelerationStructureMemoryNV               = auto_cast GetDeviceProcAddr(device, "vkBindAccelerationStructureMemoryNV")
+	BindBufferMemory                                = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory")
+	BindBufferMemory2                               = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2")
+	BindBufferMemory2KHR                            = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2KHR")
+	BindImageMemory                                 = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory")
+	BindImageMemory2                                = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2")
+	BindImageMemory2KHR                             = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2KHR")
+	BuildAccelerationStructuresKHR                  = auto_cast GetDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR")
+	CmdBeginConditionalRenderingEXT                 = auto_cast GetDeviceProcAddr(device, "vkCmdBeginConditionalRenderingEXT")
+	CmdBeginDebugUtilsLabelEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdBeginDebugUtilsLabelEXT")
+	CmdBeginQuery                                   = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQuery")
+	CmdBeginQueryIndexedEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT")
+	CmdBeginRenderPass                              = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass")
+	CmdBeginRenderPass2                             = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2")
+	CmdBeginRenderPass2KHR                          = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR")
+	CmdBeginRendering                               = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRendering")
+	CmdBeginRenderingKHR                            = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderingKHR")
+	CmdBeginTransformFeedbackEXT                    = auto_cast GetDeviceProcAddr(device, "vkCmdBeginTransformFeedbackEXT")
+	CmdBindDescriptorSets                           = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorSets")
+	CmdBindIndexBuffer                              = auto_cast GetDeviceProcAddr(device, "vkCmdBindIndexBuffer")
+	CmdBindInvocationMaskHUAWEI                     = auto_cast GetDeviceProcAddr(device, "vkCmdBindInvocationMaskHUAWEI")
+	CmdBindPipeline                                 = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipeline")
+	CmdBindPipelineShaderGroupNV                    = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipelineShaderGroupNV")
+	CmdBindShadingRateImageNV                       = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadingRateImageNV")
+	CmdBindTransformFeedbackBuffersEXT              = auto_cast GetDeviceProcAddr(device, "vkCmdBindTransformFeedbackBuffersEXT")
+	CmdBindVertexBuffers                            = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers")
+	CmdBindVertexBuffers2                           = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2")
+	CmdBindVertexBuffers2EXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT")
+	CmdBlitImage                                    = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage")
+	CmdBlitImage2                                   = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2")
+	CmdBlitImage2KHR                                = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2KHR")
+	CmdBuildAccelerationStructureNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructureNV")
+	CmdBuildAccelerationStructuresIndirectKHR       = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR")
+	CmdBuildAccelerationStructuresKHR               = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresKHR")
+	CmdClearAttachments                             = auto_cast GetDeviceProcAddr(device, "vkCmdClearAttachments")
+	CmdClearColorImage                              = auto_cast GetDeviceProcAddr(device, "vkCmdClearColorImage")
+	CmdClearDepthStencilImage                       = auto_cast GetDeviceProcAddr(device, "vkCmdClearDepthStencilImage")
+	CmdCopyAccelerationStructureKHR                 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureKHR")
+	CmdCopyAccelerationStructureNV                  = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureNV")
+	CmdCopyAccelerationStructureToMemoryKHR         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureToMemoryKHR")
+	CmdCopyBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer")
+	CmdCopyBuffer2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2")
+	CmdCopyBuffer2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR")
+	CmdCopyBufferToImage                            = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage")
+	CmdCopyBufferToImage2                           = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2")
+	CmdCopyBufferToImage2KHR                        = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR")
+	CmdCopyImage                                    = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage")
+	CmdCopyImage2                                   = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2")
+	CmdCopyImage2KHR                                = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2KHR")
+	CmdCopyImageToBuffer                            = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer")
+	CmdCopyImageToBuffer2                           = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2")
+	CmdCopyImageToBuffer2KHR                        = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR")
+	CmdCopyMemoryToAccelerationStructureKHR         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToAccelerationStructureKHR")
+	CmdCopyQueryPoolResults                         = auto_cast GetDeviceProcAddr(device, "vkCmdCopyQueryPoolResults")
+	CmdCuLaunchKernelNVX                            = auto_cast GetDeviceProcAddr(device, "vkCmdCuLaunchKernelNVX")
+	CmdDebugMarkerBeginEXT                          = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT")
+	CmdDebugMarkerEndEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT")
+	CmdDebugMarkerInsertEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT")
+	CmdDispatch                                     = auto_cast GetDeviceProcAddr(device, "vkCmdDispatch")
+	CmdDispatchBase                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBase")
+	CmdDispatchBaseKHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBaseKHR")
+	CmdDispatchIndirect                             = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchIndirect")
+	CmdDraw                                         = auto_cast GetDeviceProcAddr(device, "vkCmdDraw")
+	CmdDrawIndexed                                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexed")
+	CmdDrawIndexedIndirect                          = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirect")
+	CmdDrawIndexedIndirectCount                     = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCount")
+	CmdDrawIndexedIndirectCountAMD                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountAMD")
+	CmdDrawIndexedIndirectCountKHR                  = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountKHR")
+	CmdDrawIndirect                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirect")
+	CmdDrawIndirectByteCountEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectByteCountEXT")
+	CmdDrawIndirectCount                            = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCount")
+	CmdDrawIndirectCountAMD                         = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountAMD")
+	CmdDrawIndirectCountKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountKHR")
+	CmdDrawMeshTasksIndirectCountNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountNV")
+	CmdDrawMeshTasksIndirectNV                      = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectNV")
+	CmdDrawMeshTasksNV                              = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksNV")
+	CmdDrawMultiEXT                                 = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiEXT")
+	CmdDrawMultiIndexedEXT                          = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiIndexedEXT")
+	CmdEndConditionalRenderingEXT                   = auto_cast GetDeviceProcAddr(device, "vkCmdEndConditionalRenderingEXT")
+	CmdEndDebugUtilsLabelEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdEndDebugUtilsLabelEXT")
+	CmdEndQuery                                     = auto_cast GetDeviceProcAddr(device, "vkCmdEndQuery")
+	CmdEndQueryIndexedEXT                           = auto_cast GetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT")
+	CmdEndRenderPass                                = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass")
+	CmdEndRenderPass2                               = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2")
+	CmdEndRenderPass2KHR                            = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR")
+	CmdEndRendering                                 = auto_cast GetDeviceProcAddr(device, "vkCmdEndRendering")
+	CmdEndRenderingKHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderingKHR")
+	CmdEndTransformFeedbackEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdEndTransformFeedbackEXT")
+	CmdExecuteCommands                              = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteCommands")
+	CmdExecuteGeneratedCommandsNV                   = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteGeneratedCommandsNV")
+	CmdFillBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkCmdFillBuffer")
+	CmdInsertDebugUtilsLabelEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdInsertDebugUtilsLabelEXT")
+	CmdNextSubpass                                  = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass")
+	CmdNextSubpass2                                 = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2")
+	CmdNextSubpass2KHR                              = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2KHR")
+	CmdPipelineBarrier                              = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier")
+	CmdPipelineBarrier2                             = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2")
+	CmdPipelineBarrier2KHR                          = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR")
+	CmdPreprocessGeneratedCommandsNV                = auto_cast GetDeviceProcAddr(device, "vkCmdPreprocessGeneratedCommandsNV")
+	CmdPushConstants                                = auto_cast GetDeviceProcAddr(device, "vkCmdPushConstants")
+	CmdPushDescriptorSetKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR")
+	CmdPushDescriptorSetWithTemplateKHR             = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetWithTemplateKHR")
+	CmdResetEvent                                   = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent")
+	CmdResetEvent2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2")
+	CmdResetEvent2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2KHR")
+	CmdResetQueryPool                               = auto_cast GetDeviceProcAddr(device, "vkCmdResetQueryPool")
+	CmdResolveImage                                 = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage")
+	CmdResolveImage2                                = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2")
+	CmdResolveImage2KHR                             = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2KHR")
+	CmdSetBlendConstants                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetBlendConstants")
+	CmdSetCheckpointNV                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetCheckpointNV")
+	CmdSetCoarseSampleOrderNV                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoarseSampleOrderNV")
+	CmdSetCullMode                                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullMode")
+	CmdSetCullModeEXT                               = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullModeEXT")
+	CmdSetDepthBias                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBias")
+	CmdSetDepthBiasEnable                           = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnable")
+	CmdSetDepthBiasEnableEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnableEXT")
+	CmdSetDepthBounds                               = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBounds")
+	CmdSetDepthBoundsTestEnable                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnable")
+	CmdSetDepthBoundsTestEnableEXT                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT")
+	CmdSetDepthCompareOp                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOp")
+	CmdSetDepthCompareOpEXT                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT")
+	CmdSetDepthTestEnable                           = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnable")
+	CmdSetDepthTestEnableEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT")
+	CmdSetDepthWriteEnable                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnable")
+	CmdSetDepthWriteEnableEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT")
+	CmdSetDeviceMask                                = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMask")
+	CmdSetDeviceMaskKHR                             = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMaskKHR")
+	CmdSetDiscardRectangleEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEXT")
+	CmdSetEvent                                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent")
+	CmdSetEvent2                                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2")
+	CmdSetEvent2KHR                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2KHR")
+	CmdSetExclusiveScissorNV                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorNV")
+	CmdSetFragmentShadingRateEnumNV                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateEnumNV")
+	CmdSetFragmentShadingRateKHR                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateKHR")
+	CmdSetFrontFace                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFace")
+	CmdSetFrontFaceEXT                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT")
+	CmdSetLineStippleEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEXT")
+	CmdSetLineWidth                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineWidth")
+	CmdSetLogicOpEXT                                = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEXT")
+	CmdSetPatchControlPointsEXT                     = auto_cast GetDeviceProcAddr(device, "vkCmdSetPatchControlPointsEXT")
+	CmdSetPerformanceMarkerINTEL                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceMarkerINTEL")
+	CmdSetPerformanceOverrideINTEL                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceOverrideINTEL")
+	CmdSetPerformanceStreamMarkerINTEL              = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceStreamMarkerINTEL")
+	CmdSetPrimitiveRestartEnable                    = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnable")
+	CmdSetPrimitiveRestartEnableEXT                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnableEXT")
+	CmdSetPrimitiveTopology                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopology")
+	CmdSetPrimitiveTopologyEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT")
+	CmdSetRasterizerDiscardEnable                   = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnable")
+	CmdSetRasterizerDiscardEnableEXT                = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnableEXT")
+	CmdSetRayTracingPipelineStackSizeKHR            = auto_cast GetDeviceProcAddr(device, "vkCmdSetRayTracingPipelineStackSizeKHR")
+	CmdSetSampleLocationsEXT                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEXT")
+	CmdSetScissor                                   = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissor")
+	CmdSetScissorWithCount                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCount")
+	CmdSetScissorWithCountEXT                       = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT")
+	CmdSetStencilCompareMask                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilCompareMask")
+	CmdSetStencilOp                                 = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOp")
+	CmdSetStencilOpEXT                              = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOpEXT")
+	CmdSetStencilReference                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilReference")
+	CmdSetStencilTestEnable                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnable")
+	CmdSetStencilTestEnableEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT")
+	CmdSetStencilWriteMask                          = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilWriteMask")
+	CmdSetVertexInputEXT                            = auto_cast GetDeviceProcAddr(device, "vkCmdSetVertexInputEXT")
+	CmdSetViewport                                  = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewport")
+	CmdSetViewportShadingRatePaletteNV              = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportShadingRatePaletteNV")
+	CmdSetViewportWScalingNV                        = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingNV")
+	CmdSetViewportWithCount                         = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCount")
+	CmdSetViewportWithCountEXT                      = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT")
+	CmdSubpassShadingHUAWEI                         = auto_cast GetDeviceProcAddr(device, "vkCmdSubpassShadingHUAWEI")
+	CmdTraceRaysIndirectKHR                         = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR")
+	CmdTraceRaysKHR                                 = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysKHR")
+	CmdTraceRaysNV                                  = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysNV")
+	CmdUpdateBuffer                                 = auto_cast GetDeviceProcAddr(device, "vkCmdUpdateBuffer")
+	CmdWaitEvents                                   = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents")
+	CmdWaitEvents2                                  = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2")
+	CmdWaitEvents2KHR                               = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2KHR")
+	CmdWriteAccelerationStructuresPropertiesKHR     = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesKHR")
+	CmdWriteAccelerationStructuresPropertiesNV      = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesNV")
+	CmdWriteBufferMarker2AMD                        = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarker2AMD")
+	CmdWriteBufferMarkerAMD                         = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarkerAMD")
+	CmdWriteTimestamp                               = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp")
+	CmdWriteTimestamp2                              = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2")
+	CmdWriteTimestamp2KHR                           = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR")
+	CompileDeferredNV                               = auto_cast GetDeviceProcAddr(device, "vkCompileDeferredNV")
+	CopyAccelerationStructureKHR                    = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureKHR")
+	CopyAccelerationStructureToMemoryKHR            = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureToMemoryKHR")
+	CopyMemoryToAccelerationStructureKHR            = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToAccelerationStructureKHR")
+	CreateAccelerationStructureKHR                  = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureKHR")
+	CreateAccelerationStructureNV                   = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureNV")
+	CreateBuffer                                    = auto_cast GetDeviceProcAddr(device, "vkCreateBuffer")
+	CreateBufferView                                = auto_cast GetDeviceProcAddr(device, "vkCreateBufferView")
+	CreateCommandPool                               = auto_cast GetDeviceProcAddr(device, "vkCreateCommandPool")
+	CreateComputePipelines                          = auto_cast GetDeviceProcAddr(device, "vkCreateComputePipelines")
+	CreateCuFunctionNVX                             = auto_cast GetDeviceProcAddr(device, "vkCreateCuFunctionNVX")
+	CreateCuModuleNVX                               = auto_cast GetDeviceProcAddr(device, "vkCreateCuModuleNVX")
+	CreateDeferredOperationKHR                      = auto_cast GetDeviceProcAddr(device, "vkCreateDeferredOperationKHR")
+	CreateDescriptorPool                            = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorPool")
+	CreateDescriptorSetLayout                       = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorSetLayout")
+	CreateDescriptorUpdateTemplate                  = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplate")
+	CreateDescriptorUpdateTemplateKHR               = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR")
+	CreateEvent                                     = auto_cast GetDeviceProcAddr(device, "vkCreateEvent")
+	CreateFence                                     = auto_cast GetDeviceProcAddr(device, "vkCreateFence")
+	CreateFramebuffer                               = auto_cast GetDeviceProcAddr(device, "vkCreateFramebuffer")
+	CreateGraphicsPipelines                         = auto_cast GetDeviceProcAddr(device, "vkCreateGraphicsPipelines")
+	CreateImage                                     = auto_cast GetDeviceProcAddr(device, "vkCreateImage")
+	CreateImageView                                 = auto_cast GetDeviceProcAddr(device, "vkCreateImageView")
+	CreateIndirectCommandsLayoutNV                  = auto_cast GetDeviceProcAddr(device, "vkCreateIndirectCommandsLayoutNV")
+	CreatePipelineCache                             = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineCache")
+	CreatePipelineLayout                            = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineLayout")
+	CreatePrivateDataSlot                           = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlot")
+	CreatePrivateDataSlotEXT                        = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlotEXT")
+	CreateQueryPool                                 = auto_cast GetDeviceProcAddr(device, "vkCreateQueryPool")
+	CreateRayTracingPipelinesKHR                    = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesKHR")
+	CreateRayTracingPipelinesNV                     = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesNV")
+	CreateRenderPass                                = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass")
+	CreateRenderPass2                               = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2")
+	CreateRenderPass2KHR                            = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2KHR")
+	CreateSampler                                   = auto_cast GetDeviceProcAddr(device, "vkCreateSampler")
+	CreateSamplerYcbcrConversion                    = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversion")
+	CreateSamplerYcbcrConversionKHR                 = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversionKHR")
+	CreateSemaphore                                 = auto_cast GetDeviceProcAddr(device, "vkCreateSemaphore")
+	CreateShaderModule                              = auto_cast GetDeviceProcAddr(device, "vkCreateShaderModule")
+	CreateSharedSwapchainsKHR                       = auto_cast GetDeviceProcAddr(device, "vkCreateSharedSwapchainsKHR")
+	CreateSwapchainKHR                              = auto_cast GetDeviceProcAddr(device, "vkCreateSwapchainKHR")
+	CreateValidationCacheEXT                        = auto_cast GetDeviceProcAddr(device, "vkCreateValidationCacheEXT")
+	DebugMarkerSetObjectNameEXT                     = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT")
+	DebugMarkerSetObjectTagEXT                      = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT")
+	DeferredOperationJoinKHR                        = auto_cast GetDeviceProcAddr(device, "vkDeferredOperationJoinKHR")
+	DestroyAccelerationStructureKHR                 = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureKHR")
+	DestroyAccelerationStructureNV                  = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureNV")
+	DestroyBuffer                                   = auto_cast GetDeviceProcAddr(device, "vkDestroyBuffer")
+	DestroyBufferView                               = auto_cast GetDeviceProcAddr(device, "vkDestroyBufferView")
+	DestroyCommandPool                              = auto_cast GetDeviceProcAddr(device, "vkDestroyCommandPool")
+	DestroyCuFunctionNVX                            = auto_cast GetDeviceProcAddr(device, "vkDestroyCuFunctionNVX")
+	DestroyCuModuleNVX                              = auto_cast GetDeviceProcAddr(device, "vkDestroyCuModuleNVX")
+	DestroyDeferredOperationKHR                     = auto_cast GetDeviceProcAddr(device, "vkDestroyDeferredOperationKHR")
+	DestroyDescriptorPool                           = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorPool")
+	DestroyDescriptorSetLayout                      = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorSetLayout")
+	DestroyDescriptorUpdateTemplate                 = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplate")
+	DestroyDescriptorUpdateTemplateKHR              = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplateKHR")
+	DestroyDevice                                   = auto_cast GetDeviceProcAddr(device, "vkDestroyDevice")
+	DestroyEvent                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyEvent")
+	DestroyFence                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyFence")
+	DestroyFramebuffer                              = auto_cast GetDeviceProcAddr(device, "vkDestroyFramebuffer")
+	DestroyImage                                    = auto_cast GetDeviceProcAddr(device, "vkDestroyImage")
+	DestroyImageView                                = auto_cast GetDeviceProcAddr(device, "vkDestroyImageView")
+	DestroyIndirectCommandsLayoutNV                 = auto_cast GetDeviceProcAddr(device, "vkDestroyIndirectCommandsLayoutNV")
+	DestroyPipeline                                 = auto_cast GetDeviceProcAddr(device, "vkDestroyPipeline")
+	DestroyPipelineCache                            = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineCache")
+	DestroyPipelineLayout                           = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineLayout")
+	DestroyPrivateDataSlot                          = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlot")
+	DestroyPrivateDataSlotEXT                       = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlotEXT")
+	DestroyQueryPool                                = auto_cast GetDeviceProcAddr(device, "vkDestroyQueryPool")
+	DestroyRenderPass                               = auto_cast GetDeviceProcAddr(device, "vkDestroyRenderPass")
+	DestroySampler                                  = auto_cast GetDeviceProcAddr(device, "vkDestroySampler")
+	DestroySamplerYcbcrConversion                   = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversion")
+	DestroySamplerYcbcrConversionKHR                = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversionKHR")
+	DestroySemaphore                                = auto_cast GetDeviceProcAddr(device, "vkDestroySemaphore")
+	DestroyShaderModule                             = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderModule")
+	DestroySwapchainKHR                             = auto_cast GetDeviceProcAddr(device, "vkDestroySwapchainKHR")
+	DestroyValidationCacheEXT                       = auto_cast GetDeviceProcAddr(device, "vkDestroyValidationCacheEXT")
+	DeviceWaitIdle                                  = auto_cast GetDeviceProcAddr(device, "vkDeviceWaitIdle")
+	DisplayPowerControlEXT                          = auto_cast GetDeviceProcAddr(device, "vkDisplayPowerControlEXT")
+	EndCommandBuffer                                = auto_cast GetDeviceProcAddr(device, "vkEndCommandBuffer")
+	FlushMappedMemoryRanges                         = auto_cast GetDeviceProcAddr(device, "vkFlushMappedMemoryRanges")
+	FreeCommandBuffers                              = auto_cast GetDeviceProcAddr(device, "vkFreeCommandBuffers")
+	FreeDescriptorSets                              = auto_cast GetDeviceProcAddr(device, "vkFreeDescriptorSets")
+	FreeMemory                                      = auto_cast GetDeviceProcAddr(device, "vkFreeMemory")
+	GetAccelerationStructureBuildSizesKHR           = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureBuildSizesKHR")
+	GetAccelerationStructureDeviceAddressKHR        = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureDeviceAddressKHR")
+	GetAccelerationStructureHandleNV                = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureHandleNV")
+	GetAccelerationStructureMemoryRequirementsNV    = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureMemoryRequirementsNV")
+	GetBufferDeviceAddress                          = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddress")
+	GetBufferDeviceAddressEXT                       = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressEXT")
+	GetBufferDeviceAddressKHR                       = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR")
+	GetBufferMemoryRequirements                     = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements")
+	GetBufferMemoryRequirements2                    = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2")
+	GetBufferMemoryRequirements2KHR                 = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2KHR")
+	GetBufferOpaqueCaptureAddress                   = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddress")
+	GetBufferOpaqueCaptureAddressKHR                = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR")
+	GetCalibratedTimestampsEXT                      = auto_cast GetDeviceProcAddr(device, "vkGetCalibratedTimestampsEXT")
+	GetDeferredOperationMaxConcurrencyKHR           = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationMaxConcurrencyKHR")
+	GetDeferredOperationResultKHR                   = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationResultKHR")
+	GetDescriptorSetHostMappingVALVE                = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetHostMappingVALVE")
+	GetDescriptorSetLayoutHostMappingInfoVALVE      = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
+	GetDescriptorSetLayoutSupport                   = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupport")
+	GetDescriptorSetLayoutSupportKHR                = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupportKHR")
+	GetDeviceAccelerationStructureCompatibilityKHR  = auto_cast GetDeviceProcAddr(device, "vkGetDeviceAccelerationStructureCompatibilityKHR")
+	GetDeviceBufferMemoryRequirements               = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirements")
+	GetDeviceBufferMemoryRequirementsKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirementsKHR")
+	GetDeviceGroupPeerMemoryFeatures                = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeatures")
+	GetDeviceGroupPeerMemoryFeaturesKHR             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeaturesKHR")
+	GetDeviceGroupPresentCapabilitiesKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPresentCapabilitiesKHR")
+	GetDeviceGroupSurfacePresentModes2EXT           = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModes2EXT")
+	GetDeviceGroupSurfacePresentModesKHR            = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModesKHR")
+	GetDeviceImageMemoryRequirements                = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirements")
+	GetDeviceImageMemoryRequirementsKHR             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirementsKHR")
+	GetDeviceImageSparseMemoryRequirements          = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirements")
+	GetDeviceImageSparseMemoryRequirementsKHR       = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirementsKHR")
+	GetDeviceMemoryCommitment                       = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryCommitment")
+	GetDeviceMemoryOpaqueCaptureAddress             = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddress")
+	GetDeviceMemoryOpaqueCaptureAddressKHR          = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
+	GetDeviceProcAddr                               = auto_cast GetDeviceProcAddr(device, "vkGetDeviceProcAddr")
+	GetDeviceQueue                                  = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue")
+	GetDeviceQueue2                                 = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue2")
+	GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   = auto_cast GetDeviceProcAddr(device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
+	GetEventStatus                                  = auto_cast GetDeviceProcAddr(device, "vkGetEventStatus")
+	GetFenceFdKHR                                   = auto_cast GetDeviceProcAddr(device, "vkGetFenceFdKHR")
+	GetFenceStatus                                  = auto_cast GetDeviceProcAddr(device, "vkGetFenceStatus")
+	GetFenceWin32HandleKHR                          = auto_cast GetDeviceProcAddr(device, "vkGetFenceWin32HandleKHR")
+	GetGeneratedCommandsMemoryRequirementsNV        = auto_cast GetDeviceProcAddr(device, "vkGetGeneratedCommandsMemoryRequirementsNV")
+	GetImageDrmFormatModifierPropertiesEXT          = auto_cast GetDeviceProcAddr(device, "vkGetImageDrmFormatModifierPropertiesEXT")
+	GetImageMemoryRequirements                      = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements")
+	GetImageMemoryRequirements2                     = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2")
+	GetImageMemoryRequirements2KHR                  = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2KHR")
+	GetImageSparseMemoryRequirements                = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements")
+	GetImageSparseMemoryRequirements2               = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2")
+	GetImageSparseMemoryRequirements2KHR            = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2KHR")
+	GetImageSubresourceLayout                       = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout")
+	GetImageViewAddressNVX                          = auto_cast GetDeviceProcAddr(device, "vkGetImageViewAddressNVX")
+	GetImageViewHandleNVX                           = auto_cast GetDeviceProcAddr(device, "vkGetImageViewHandleNVX")
+	GetMemoryFdKHR                                  = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdKHR")
+	GetMemoryFdPropertiesKHR                        = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdPropertiesKHR")
+	GetMemoryHostPointerPropertiesEXT               = auto_cast GetDeviceProcAddr(device, "vkGetMemoryHostPointerPropertiesEXT")
+	GetMemoryRemoteAddressNV                        = auto_cast GetDeviceProcAddr(device, "vkGetMemoryRemoteAddressNV")
+	GetMemoryWin32HandleKHR                         = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR")
+	GetMemoryWin32HandleNV                          = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleNV")
+	GetMemoryWin32HandlePropertiesKHR               = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHR")
+	GetPastPresentationTimingGOOGLE                 = auto_cast GetDeviceProcAddr(device, "vkGetPastPresentationTimingGOOGLE")
+	GetPerformanceParameterINTEL                    = auto_cast GetDeviceProcAddr(device, "vkGetPerformanceParameterINTEL")
+	GetPipelineCacheData                            = auto_cast GetDeviceProcAddr(device, "vkGetPipelineCacheData")
+	GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableInternalRepresentationsKHR")
+	GetPipelineExecutablePropertiesKHR              = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutablePropertiesKHR")
+	GetPipelineExecutableStatisticsKHR              = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableStatisticsKHR")
+	GetPrivateData                                  = auto_cast GetDeviceProcAddr(device, "vkGetPrivateData")
+	GetPrivateDataEXT                               = auto_cast GetDeviceProcAddr(device, "vkGetPrivateDataEXT")
+	GetQueryPoolResults                             = auto_cast GetDeviceProcAddr(device, "vkGetQueryPoolResults")
+	GetQueueCheckpointData2NV                       = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointData2NV")
+	GetQueueCheckpointDataNV                        = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointDataNV")
+	GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
+	GetRayTracingShaderGroupHandlesKHR              = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesKHR")
+	GetRayTracingShaderGroupHandlesNV               = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesNV")
+	GetRayTracingShaderGroupStackSizeKHR            = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupStackSizeKHR")
+	GetRefreshCycleDurationGOOGLE                   = auto_cast GetDeviceProcAddr(device, "vkGetRefreshCycleDurationGOOGLE")
+	GetRenderAreaGranularity                        = auto_cast GetDeviceProcAddr(device, "vkGetRenderAreaGranularity")
+	GetSemaphoreCounterValue                        = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValue")
+	GetSemaphoreCounterValueKHR                     = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValueKHR")
+	GetSemaphoreFdKHR                               = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreFdKHR")
+	GetSemaphoreWin32HandleKHR                      = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreWin32HandleKHR")
+	GetShaderInfoAMD                                = auto_cast GetDeviceProcAddr(device, "vkGetShaderInfoAMD")
+	GetSwapchainCounterEXT                          = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainCounterEXT")
+	GetSwapchainImagesKHR                           = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainImagesKHR")
+	GetSwapchainStatusKHR                           = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainStatusKHR")
+	GetValidationCacheDataEXT                       = auto_cast GetDeviceProcAddr(device, "vkGetValidationCacheDataEXT")
+	ImportFenceFdKHR                                = auto_cast GetDeviceProcAddr(device, "vkImportFenceFdKHR")
+	ImportFenceWin32HandleKHR                       = auto_cast GetDeviceProcAddr(device, "vkImportFenceWin32HandleKHR")
+	ImportSemaphoreFdKHR                            = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreFdKHR")
+	ImportSemaphoreWin32HandleKHR                   = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreWin32HandleKHR")
+	InitializePerformanceApiINTEL                   = auto_cast GetDeviceProcAddr(device, "vkInitializePerformanceApiINTEL")
+	InvalidateMappedMemoryRanges                    = auto_cast GetDeviceProcAddr(device, "vkInvalidateMappedMemoryRanges")
+	MapMemory                                       = auto_cast GetDeviceProcAddr(device, "vkMapMemory")
+	MergePipelineCaches                             = auto_cast GetDeviceProcAddr(device, "vkMergePipelineCaches")
+	MergeValidationCachesEXT                        = auto_cast GetDeviceProcAddr(device, "vkMergeValidationCachesEXT")
+	QueueBeginDebugUtilsLabelEXT                    = auto_cast GetDeviceProcAddr(device, "vkQueueBeginDebugUtilsLabelEXT")
+	QueueBindSparse                                 = auto_cast GetDeviceProcAddr(device, "vkQueueBindSparse")
+	QueueEndDebugUtilsLabelEXT                      = auto_cast GetDeviceProcAddr(device, "vkQueueEndDebugUtilsLabelEXT")
+	QueueInsertDebugUtilsLabelEXT                   = auto_cast GetDeviceProcAddr(device, "vkQueueInsertDebugUtilsLabelEXT")
+	QueuePresentKHR                                 = auto_cast GetDeviceProcAddr(device, "vkQueuePresentKHR")
+	QueueSetPerformanceConfigurationINTEL           = auto_cast GetDeviceProcAddr(device, "vkQueueSetPerformanceConfigurationINTEL")
+	QueueSubmit                                     = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit")
+	QueueSubmit2                                    = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2")
+	QueueSubmit2KHR                                 = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2KHR")
+	QueueWaitIdle                                   = auto_cast GetDeviceProcAddr(device, "vkQueueWaitIdle")
+	RegisterDeviceEventEXT                          = auto_cast GetDeviceProcAddr(device, "vkRegisterDeviceEventEXT")
+	RegisterDisplayEventEXT                         = auto_cast GetDeviceProcAddr(device, "vkRegisterDisplayEventEXT")
+	ReleaseFullScreenExclusiveModeEXT               = auto_cast GetDeviceProcAddr(device, "vkReleaseFullScreenExclusiveModeEXT")
+	ReleasePerformanceConfigurationINTEL            = auto_cast GetDeviceProcAddr(device, "vkReleasePerformanceConfigurationINTEL")
+	ReleaseProfilingLockKHR                         = auto_cast GetDeviceProcAddr(device, "vkReleaseProfilingLockKHR")
+	ResetCommandBuffer                              = auto_cast GetDeviceProcAddr(device, "vkResetCommandBuffer")
+	ResetCommandPool                                = auto_cast GetDeviceProcAddr(device, "vkResetCommandPool")
+	ResetDescriptorPool                             = auto_cast GetDeviceProcAddr(device, "vkResetDescriptorPool")
+	ResetEvent                                      = auto_cast GetDeviceProcAddr(device, "vkResetEvent")
+	ResetFences                                     = auto_cast GetDeviceProcAddr(device, "vkResetFences")
+	ResetQueryPool                                  = auto_cast GetDeviceProcAddr(device, "vkResetQueryPool")
+	ResetQueryPoolEXT                               = auto_cast GetDeviceProcAddr(device, "vkResetQueryPoolEXT")
+	SetDebugUtilsObjectNameEXT                      = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectNameEXT")
+	SetDebugUtilsObjectTagEXT                       = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectTagEXT")
+	SetDeviceMemoryPriorityEXT                      = auto_cast GetDeviceProcAddr(device, "vkSetDeviceMemoryPriorityEXT")
+	SetEvent                                        = auto_cast GetDeviceProcAddr(device, "vkSetEvent")
+	SetHdrMetadataEXT                               = auto_cast GetDeviceProcAddr(device, "vkSetHdrMetadataEXT")
+	SetLocalDimmingAMD                              = auto_cast GetDeviceProcAddr(device, "vkSetLocalDimmingAMD")
+	SetPrivateData                                  = auto_cast GetDeviceProcAddr(device, "vkSetPrivateData")
+	SetPrivateDataEXT                               = auto_cast GetDeviceProcAddr(device, "vkSetPrivateDataEXT")
+	SignalSemaphore                                 = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphore")
+	SignalSemaphoreKHR                              = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphoreKHR")
+	TrimCommandPool                                 = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPool")
+	TrimCommandPoolKHR                              = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPoolKHR")
+	UninitializePerformanceApiINTEL                 = auto_cast GetDeviceProcAddr(device, "vkUninitializePerformanceApiINTEL")
+	UnmapMemory                                     = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory")
+	UpdateDescriptorSetWithTemplate                 = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplate")
+	UpdateDescriptorSetWithTemplateKHR              = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplateKHR")
+	UpdateDescriptorSets                            = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSets")
+	WaitForFences                                   = auto_cast GetDeviceProcAddr(device, "vkWaitForFences")
+	WaitForPresentKHR                               = auto_cast GetDeviceProcAddr(device, "vkWaitForPresentKHR")
+	WaitSemaphores                                  = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphores")
+	WaitSemaphoresKHR                               = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphoresKHR")
+	WriteAccelerationStructuresPropertiesKHR        = auto_cast GetDeviceProcAddr(device, "vkWriteAccelerationStructuresPropertiesKHR")
+}
+
+load_proc_addresses_instance :: proc(instance: Instance) {
+	AcquireDrmDisplayEXT                                            = auto_cast GetInstanceProcAddr(instance, "vkAcquireDrmDisplayEXT")
+	AcquireWinrtDisplayNV                                           = auto_cast GetInstanceProcAddr(instance, "vkAcquireWinrtDisplayNV")
+	CreateDebugReportCallbackEXT                                    = auto_cast GetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT")
+	CreateDebugUtilsMessengerEXT                                    = auto_cast GetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT")
+	CreateDevice                                                    = auto_cast GetInstanceProcAddr(instance, "vkCreateDevice")
+	CreateDisplayModeKHR                                            = auto_cast GetInstanceProcAddr(instance, "vkCreateDisplayModeKHR")
+	CreateDisplayPlaneSurfaceKHR                                    = auto_cast GetInstanceProcAddr(instance, "vkCreateDisplayPlaneSurfaceKHR")
+	CreateHeadlessSurfaceEXT                                        = auto_cast GetInstanceProcAddr(instance, "vkCreateHeadlessSurfaceEXT")
+	CreateIOSSurfaceMVK                                             = auto_cast GetInstanceProcAddr(instance, "vkCreateIOSSurfaceMVK")
+	CreateMacOSSurfaceMVK                                           = auto_cast GetInstanceProcAddr(instance, "vkCreateMacOSSurfaceMVK")
+	CreateMetalSurfaceEXT                                           = auto_cast GetInstanceProcAddr(instance, "vkCreateMetalSurfaceEXT")
+	CreateWin32SurfaceKHR                                           = auto_cast GetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR")
+	DebugReportMessageEXT                                           = auto_cast GetInstanceProcAddr(instance, "vkDebugReportMessageEXT")
+	DestroyDebugReportCallbackEXT                                   = auto_cast GetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT")
+	DestroyDebugUtilsMessengerEXT                                   = auto_cast GetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT")
+	DestroyInstance                                                 = auto_cast GetInstanceProcAddr(instance, "vkDestroyInstance")
+	DestroySurfaceKHR                                               = auto_cast GetInstanceProcAddr(instance, "vkDestroySurfaceKHR")
+	EnumerateDeviceExtensionProperties                              = auto_cast GetInstanceProcAddr(instance, "vkEnumerateDeviceExtensionProperties")
+	EnumerateDeviceLayerProperties                                  = auto_cast GetInstanceProcAddr(instance, "vkEnumerateDeviceLayerProperties")
+	EnumeratePhysicalDeviceGroups                                   = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroups")
+	EnumeratePhysicalDeviceGroupsKHR                                = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroupsKHR")
+	EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR   = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")
+	EnumeratePhysicalDevices                                        = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDevices")
+	GetDisplayModeProperties2KHR                                    = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayModeProperties2KHR")
+	GetDisplayModePropertiesKHR                                     = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayModePropertiesKHR")
+	GetDisplayPlaneCapabilities2KHR                                 = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilities2KHR")
+	GetDisplayPlaneCapabilitiesKHR                                  = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR")
+	GetDisplayPlaneSupportedDisplaysKHR                             = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneSupportedDisplaysKHR")
+	GetDrmDisplayEXT                                                = auto_cast GetInstanceProcAddr(instance, "vkGetDrmDisplayEXT")
+	GetPhysicalDeviceCalibrateableTimeDomainsEXT                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT")
+	GetPhysicalDeviceCooperativeMatrixPropertiesNV                  = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV")
+	GetPhysicalDeviceDisplayPlaneProperties2KHR                     = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
+	GetPhysicalDeviceDisplayPlanePropertiesKHR                      = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")
+	GetPhysicalDeviceDisplayProperties2KHR                          = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayProperties2KHR")
+	GetPhysicalDeviceDisplayPropertiesKHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR")
+	GetPhysicalDeviceExternalBufferProperties                       = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferProperties")
+	GetPhysicalDeviceExternalBufferPropertiesKHR                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR")
+	GetPhysicalDeviceExternalFenceProperties                        = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFenceProperties")
+	GetPhysicalDeviceExternalFencePropertiesKHR                     = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR")
+	GetPhysicalDeviceExternalImageFormatPropertiesNV                = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV")
+	GetPhysicalDeviceExternalSemaphoreProperties                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphoreProperties")
+	GetPhysicalDeviceExternalSemaphorePropertiesKHR                 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR")
+	GetPhysicalDeviceFeatures                                       = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures")
+	GetPhysicalDeviceFeatures2                                      = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2")
+	GetPhysicalDeviceFeatures2KHR                                   = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2KHR")
+	GetPhysicalDeviceFormatProperties                               = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties")
+	GetPhysicalDeviceFormatProperties2                              = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2")
+	GetPhysicalDeviceFormatProperties2KHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2KHR")
+	GetPhysicalDeviceFragmentShadingRatesKHR                        = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR")
+	GetPhysicalDeviceImageFormatProperties                          = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties")
+	GetPhysicalDeviceImageFormatProperties2                         = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2")
+	GetPhysicalDeviceImageFormatProperties2KHR                      = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2KHR")
+	GetPhysicalDeviceMemoryProperties                               = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties")
+	GetPhysicalDeviceMemoryProperties2                              = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2")
+	GetPhysicalDeviceMemoryProperties2KHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2KHR")
+	GetPhysicalDeviceMultisamplePropertiesEXT                       = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT")
+	GetPhysicalDevicePresentRectanglesKHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDevicePresentRectanglesKHR")
+	GetPhysicalDeviceProperties                                     = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties")
+	GetPhysicalDeviceProperties2                                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2")
+	GetPhysicalDeviceProperties2KHR                                 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2KHR")
+	GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR           = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")
+	GetPhysicalDeviceQueueFamilyProperties                          = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties")
+	GetPhysicalDeviceQueueFamilyProperties2                         = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2")
+	GetPhysicalDeviceQueueFamilyProperties2KHR                      = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR")
+	GetPhysicalDeviceSparseImageFormatProperties                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties")
+	GetPhysicalDeviceSparseImageFormatProperties2                   = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2")
+	GetPhysicalDeviceSparseImageFormatProperties2KHR                = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR")
+	GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV")
+	GetPhysicalDeviceSurfaceCapabilities2EXT                        = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT")
+	GetPhysicalDeviceSurfaceCapabilities2KHR                        = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR")
+	GetPhysicalDeviceSurfaceCapabilitiesKHR                         = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")
+	GetPhysicalDeviceSurfaceFormats2KHR                             = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormats2KHR")
+	GetPhysicalDeviceSurfaceFormatsKHR                              = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR")
+	GetPhysicalDeviceSurfacePresentModes2EXT                        = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT")
+	GetPhysicalDeviceSurfacePresentModesKHR                         = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR")
+	GetPhysicalDeviceSurfaceSupportKHR                              = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceSupportKHR")
+	GetPhysicalDeviceToolProperties                                 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolProperties")
+	GetPhysicalDeviceToolPropertiesEXT                              = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolPropertiesEXT")
+	GetPhysicalDeviceWin32PresentationSupportKHR                    = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR")
+	GetWinrtDisplayNV                                               = auto_cast GetInstanceProcAddr(instance, "vkGetWinrtDisplayNV")
+	ReleaseDisplayEXT                                               = auto_cast GetInstanceProcAddr(instance, "vkReleaseDisplayEXT")
+	SubmitDebugUtilsMessageEXT                                      = auto_cast GetInstanceProcAddr(instance, "vkSubmitDebugUtilsMessageEXT")
+
+	// Device Procedures (may call into dispatch)
+	AcquireFullScreenExclusiveModeEXT               = auto_cast GetInstanceProcAddr(instance, "vkAcquireFullScreenExclusiveModeEXT")
+	AcquireNextImage2KHR                            = auto_cast GetInstanceProcAddr(instance, "vkAcquireNextImage2KHR")
+	AcquireNextImageKHR                             = auto_cast GetInstanceProcAddr(instance, "vkAcquireNextImageKHR")
+	AcquirePerformanceConfigurationINTEL            = auto_cast GetInstanceProcAddr(instance, "vkAcquirePerformanceConfigurationINTEL")
+	AcquireProfilingLockKHR                         = auto_cast GetInstanceProcAddr(instance, "vkAcquireProfilingLockKHR")
+	AllocateCommandBuffers                          = auto_cast GetInstanceProcAddr(instance, "vkAllocateCommandBuffers")
+	AllocateDescriptorSets                          = auto_cast GetInstanceProcAddr(instance, "vkAllocateDescriptorSets")
+	AllocateMemory                                  = auto_cast GetInstanceProcAddr(instance, "vkAllocateMemory")
+	BeginCommandBuffer                              = auto_cast GetInstanceProcAddr(instance, "vkBeginCommandBuffer")
+	BindAccelerationStructureMemoryNV               = auto_cast GetInstanceProcAddr(instance, "vkBindAccelerationStructureMemoryNV")
+	BindBufferMemory                                = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory")
+	BindBufferMemory2                               = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory2")
+	BindBufferMemory2KHR                            = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory2KHR")
+	BindImageMemory                                 = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory")
+	BindImageMemory2                                = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory2")
+	BindImageMemory2KHR                             = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory2KHR")
+	BuildAccelerationStructuresKHR                  = auto_cast GetInstanceProcAddr(instance, "vkBuildAccelerationStructuresKHR")
+	CmdBeginConditionalRenderingEXT                 = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginConditionalRenderingEXT")
+	CmdBeginDebugUtilsLabelEXT                      = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginDebugUtilsLabelEXT")
+	CmdBeginQuery                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginQuery")
+	CmdBeginQueryIndexedEXT                         = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginQueryIndexedEXT")
+	CmdBeginRenderPass                              = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass")
+	CmdBeginRenderPass2                             = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass2")
+	CmdBeginRenderPass2KHR                          = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass2KHR")
+	CmdBeginRendering                               = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRendering")
+	CmdBeginRenderingKHR                            = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderingKHR")
+	CmdBeginTransformFeedbackEXT                    = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginTransformFeedbackEXT")
+	CmdBindDescriptorSets                           = auto_cast GetInstanceProcAddr(instance, "vkCmdBindDescriptorSets")
+	CmdBindIndexBuffer                              = auto_cast GetInstanceProcAddr(instance, "vkCmdBindIndexBuffer")
+	CmdBindInvocationMaskHUAWEI                     = auto_cast GetInstanceProcAddr(instance, "vkCmdBindInvocationMaskHUAWEI")
+	CmdBindPipeline                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdBindPipeline")
+	CmdBindPipelineShaderGroupNV                    = auto_cast GetInstanceProcAddr(instance, "vkCmdBindPipelineShaderGroupNV")
+	CmdBindShadingRateImageNV                       = auto_cast GetInstanceProcAddr(instance, "vkCmdBindShadingRateImageNV")
+	CmdBindTransformFeedbackBuffersEXT              = auto_cast GetInstanceProcAddr(instance, "vkCmdBindTransformFeedbackBuffersEXT")
+	CmdBindVertexBuffers                            = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers")
+	CmdBindVertexBuffers2                           = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers2")
+	CmdBindVertexBuffers2EXT                        = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers2EXT")
+	CmdBlitImage                                    = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage")
+	CmdBlitImage2                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage2")
+	CmdBlitImage2KHR                                = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage2KHR")
+	CmdBuildAccelerationStructureNV                 = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructureNV")
+	CmdBuildAccelerationStructuresIndirectKHR       = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructuresIndirectKHR")
+	CmdBuildAccelerationStructuresKHR               = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructuresKHR")
+	CmdClearAttachments                             = auto_cast GetInstanceProcAddr(instance, "vkCmdClearAttachments")
+	CmdClearColorImage                              = auto_cast GetInstanceProcAddr(instance, "vkCmdClearColorImage")
+	CmdClearDepthStencilImage                       = auto_cast GetInstanceProcAddr(instance, "vkCmdClearDepthStencilImage")
+	CmdCopyAccelerationStructureKHR                 = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureKHR")
+	CmdCopyAccelerationStructureNV                  = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureNV")
+	CmdCopyAccelerationStructureToMemoryKHR         = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureToMemoryKHR")
+	CmdCopyBuffer                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer")
+	CmdCopyBuffer2                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer2")
+	CmdCopyBuffer2KHR                               = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer2KHR")
+	CmdCopyBufferToImage                            = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage")
+	CmdCopyBufferToImage2                           = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage2")
+	CmdCopyBufferToImage2KHR                        = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage2KHR")
+	CmdCopyImage                                    = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage")
+	CmdCopyImage2                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage2")
+	CmdCopyImage2KHR                                = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage2KHR")
+	CmdCopyImageToBuffer                            = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer")
+	CmdCopyImageToBuffer2                           = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer2")
+	CmdCopyImageToBuffer2KHR                        = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer2KHR")
+	CmdCopyMemoryToAccelerationStructureKHR         = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMemoryToAccelerationStructureKHR")
+	CmdCopyQueryPoolResults                         = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyQueryPoolResults")
+	CmdCuLaunchKernelNVX                            = auto_cast GetInstanceProcAddr(instance, "vkCmdCuLaunchKernelNVX")
+	CmdDebugMarkerBeginEXT                          = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerBeginEXT")
+	CmdDebugMarkerEndEXT                            = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerEndEXT")
+	CmdDebugMarkerInsertEXT                         = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerInsertEXT")
+	CmdDispatch                                     = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatch")
+	CmdDispatchBase                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchBase")
+	CmdDispatchBaseKHR                              = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchBaseKHR")
+	CmdDispatchIndirect                             = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchIndirect")
+	CmdDraw                                         = auto_cast GetInstanceProcAddr(instance, "vkCmdDraw")
+	CmdDrawIndexed                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexed")
+	CmdDrawIndexedIndirect                          = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirect")
+	CmdDrawIndexedIndirectCount                     = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCount")
+	CmdDrawIndexedIndirectCountAMD                  = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCountAMD")
+	CmdDrawIndexedIndirectCountKHR                  = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCountKHR")
+	CmdDrawIndirect                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirect")
+	CmdDrawIndirectByteCountEXT                     = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectByteCountEXT")
+	CmdDrawIndirectCount                            = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCount")
+	CmdDrawIndirectCountAMD                         = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCountAMD")
+	CmdDrawIndirectCountKHR                         = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCountKHR")
+	CmdDrawMeshTasksIndirectCountNV                 = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectCountNV")
+	CmdDrawMeshTasksIndirectNV                      = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectNV")
+	CmdDrawMeshTasksNV                              = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksNV")
+	CmdDrawMultiEXT                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMultiEXT")
+	CmdDrawMultiIndexedEXT                          = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMultiIndexedEXT")
+	CmdEndConditionalRenderingEXT                   = auto_cast GetInstanceProcAddr(instance, "vkCmdEndConditionalRenderingEXT")
+	CmdEndDebugUtilsLabelEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCmdEndDebugUtilsLabelEXT")
+	CmdEndQuery                                     = auto_cast GetInstanceProcAddr(instance, "vkCmdEndQuery")
+	CmdEndQueryIndexedEXT                           = auto_cast GetInstanceProcAddr(instance, "vkCmdEndQueryIndexedEXT")
+	CmdEndRenderPass                                = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass")
+	CmdEndRenderPass2                               = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass2")
+	CmdEndRenderPass2KHR                            = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass2KHR")
+	CmdEndRendering                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRendering")
+	CmdEndRenderingKHR                              = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderingKHR")
+	CmdEndTransformFeedbackEXT                      = auto_cast GetInstanceProcAddr(instance, "vkCmdEndTransformFeedbackEXT")
+	CmdExecuteCommands                              = auto_cast GetInstanceProcAddr(instance, "vkCmdExecuteCommands")
+	CmdExecuteGeneratedCommandsNV                   = auto_cast GetInstanceProcAddr(instance, "vkCmdExecuteGeneratedCommandsNV")
+	CmdFillBuffer                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdFillBuffer")
+	CmdInsertDebugUtilsLabelEXT                     = auto_cast GetInstanceProcAddr(instance, "vkCmdInsertDebugUtilsLabelEXT")
+	CmdNextSubpass                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass")
+	CmdNextSubpass2                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass2")
+	CmdNextSubpass2KHR                              = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass2KHR")
+	CmdPipelineBarrier                              = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier")
+	CmdPipelineBarrier2                             = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier2")
+	CmdPipelineBarrier2KHR                          = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier2KHR")
+	CmdPreprocessGeneratedCommandsNV                = auto_cast GetInstanceProcAddr(instance, "vkCmdPreprocessGeneratedCommandsNV")
+	CmdPushConstants                                = auto_cast GetInstanceProcAddr(instance, "vkCmdPushConstants")
+	CmdPushDescriptorSetKHR                         = auto_cast GetInstanceProcAddr(instance, "vkCmdPushDescriptorSetKHR")
+	CmdPushDescriptorSetWithTemplateKHR             = auto_cast GetInstanceProcAddr(instance, "vkCmdPushDescriptorSetWithTemplateKHR")
+	CmdResetEvent                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent")
+	CmdResetEvent2                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent2")
+	CmdResetEvent2KHR                               = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent2KHR")
+	CmdResetQueryPool                               = auto_cast GetInstanceProcAddr(instance, "vkCmdResetQueryPool")
+	CmdResolveImage                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage")
+	CmdResolveImage2                                = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage2")
+	CmdResolveImage2KHR                             = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage2KHR")
+	CmdSetBlendConstants                            = auto_cast GetInstanceProcAddr(instance, "vkCmdSetBlendConstants")
+	CmdSetCheckpointNV                              = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCheckpointNV")
+	CmdSetCoarseSampleOrderNV                       = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoarseSampleOrderNV")
+	CmdSetCullMode                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCullMode")
+	CmdSetCullModeEXT                               = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCullModeEXT")
+	CmdSetDepthBias                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBias")
+	CmdSetDepthBiasEnable                           = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBiasEnable")
+	CmdSetDepthBiasEnableEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBiasEnableEXT")
+	CmdSetDepthBounds                               = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBounds")
+	CmdSetDepthBoundsTestEnable                     = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBoundsTestEnable")
+	CmdSetDepthBoundsTestEnableEXT                  = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBoundsTestEnableEXT")
+	CmdSetDepthCompareOp                            = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthCompareOp")
+	CmdSetDepthCompareOpEXT                         = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthCompareOpEXT")
+	CmdSetDepthTestEnable                           = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthTestEnable")
+	CmdSetDepthTestEnableEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthTestEnableEXT")
+	CmdSetDepthWriteEnable                          = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthWriteEnable")
+	CmdSetDepthWriteEnableEXT                       = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthWriteEnableEXT")
+	CmdSetDeviceMask                                = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDeviceMask")
+	CmdSetDeviceMaskKHR                             = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDeviceMaskKHR")
+	CmdSetDiscardRectangleEXT                       = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleEXT")
+	CmdSetEvent                                     = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent")
+	CmdSetEvent2                                    = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent2")
+	CmdSetEvent2KHR                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent2KHR")
+	CmdSetExclusiveScissorNV                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetExclusiveScissorNV")
+	CmdSetFragmentShadingRateEnumNV                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateEnumNV")
+	CmdSetFragmentShadingRateKHR                    = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateKHR")
+	CmdSetFrontFace                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFrontFace")
+	CmdSetFrontFaceEXT                              = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFrontFaceEXT")
+	CmdSetLineStippleEXT                            = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineStippleEXT")
+	CmdSetLineWidth                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineWidth")
+	CmdSetLogicOpEXT                                = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLogicOpEXT")
+	CmdSetPatchControlPointsEXT                     = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPatchControlPointsEXT")
+	CmdSetPerformanceMarkerINTEL                    = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceMarkerINTEL")
+	CmdSetPerformanceOverrideINTEL                  = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceOverrideINTEL")
+	CmdSetPerformanceStreamMarkerINTEL              = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceStreamMarkerINTEL")
+	CmdSetPrimitiveRestartEnable                    = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveRestartEnable")
+	CmdSetPrimitiveRestartEnableEXT                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveRestartEnableEXT")
+	CmdSetPrimitiveTopology                         = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveTopology")
+	CmdSetPrimitiveTopologyEXT                      = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveTopologyEXT")
+	CmdSetRasterizerDiscardEnable                   = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizerDiscardEnable")
+	CmdSetRasterizerDiscardEnableEXT                = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizerDiscardEnableEXT")
+	CmdSetRayTracingPipelineStackSizeKHR            = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRayTracingPipelineStackSizeKHR")
+	CmdSetSampleLocationsEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetSampleLocationsEXT")
+	CmdSetScissor                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissor")
+	CmdSetScissorWithCount                          = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissorWithCount")
+	CmdSetScissorWithCountEXT                       = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissorWithCountEXT")
+	CmdSetStencilCompareMask                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilCompareMask")
+	CmdSetStencilOp                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilOp")
+	CmdSetStencilOpEXT                              = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilOpEXT")
+	CmdSetStencilReference                          = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilReference")
+	CmdSetStencilTestEnable                         = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilTestEnable")
+	CmdSetStencilTestEnableEXT                      = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilTestEnableEXT")
+	CmdSetStencilWriteMask                          = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilWriteMask")
+	CmdSetVertexInputEXT                            = auto_cast GetInstanceProcAddr(instance, "vkCmdSetVertexInputEXT")
+	CmdSetViewport                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewport")
+	CmdSetViewportShadingRatePaletteNV              = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportShadingRatePaletteNV")
+	CmdSetViewportWScalingNV                        = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWScalingNV")
+	CmdSetViewportWithCount                         = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWithCount")
+	CmdSetViewportWithCountEXT                      = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWithCountEXT")
+	CmdSubpassShadingHUAWEI                         = auto_cast GetInstanceProcAddr(instance, "vkCmdSubpassShadingHUAWEI")
+	CmdTraceRaysIndirectKHR                         = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysIndirectKHR")
+	CmdTraceRaysKHR                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysKHR")
+	CmdTraceRaysNV                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysNV")
+	CmdUpdateBuffer                                 = auto_cast GetInstanceProcAddr(instance, "vkCmdUpdateBuffer")
+	CmdWaitEvents                                   = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents")
+	CmdWaitEvents2                                  = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents2")
+	CmdWaitEvents2KHR                               = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents2KHR")
+	CmdWriteAccelerationStructuresPropertiesKHR     = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteAccelerationStructuresPropertiesKHR")
+	CmdWriteAccelerationStructuresPropertiesNV      = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteAccelerationStructuresPropertiesNV")
+	CmdWriteBufferMarker2AMD                        = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteBufferMarker2AMD")
+	CmdWriteBufferMarkerAMD                         = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteBufferMarkerAMD")
+	CmdWriteTimestamp                               = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp")
+	CmdWriteTimestamp2                              = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp2")
+	CmdWriteTimestamp2KHR                           = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp2KHR")
+	CompileDeferredNV                               = auto_cast GetInstanceProcAddr(instance, "vkCompileDeferredNV")
+	CopyAccelerationStructureKHR                    = auto_cast GetInstanceProcAddr(instance, "vkCopyAccelerationStructureKHR")
+	CopyAccelerationStructureToMemoryKHR            = auto_cast GetInstanceProcAddr(instance, "vkCopyAccelerationStructureToMemoryKHR")
+	CopyMemoryToAccelerationStructureKHR            = auto_cast GetInstanceProcAddr(instance, "vkCopyMemoryToAccelerationStructureKHR")
+	CreateAccelerationStructureKHR                  = auto_cast GetInstanceProcAddr(instance, "vkCreateAccelerationStructureKHR")
+	CreateAccelerationStructureNV                   = auto_cast GetInstanceProcAddr(instance, "vkCreateAccelerationStructureNV")
+	CreateBuffer                                    = auto_cast GetInstanceProcAddr(instance, "vkCreateBuffer")
+	CreateBufferView                                = auto_cast GetInstanceProcAddr(instance, "vkCreateBufferView")
+	CreateCommandPool                               = auto_cast GetInstanceProcAddr(instance, "vkCreateCommandPool")
+	CreateComputePipelines                          = auto_cast GetInstanceProcAddr(instance, "vkCreateComputePipelines")
+	CreateCuFunctionNVX                             = auto_cast GetInstanceProcAddr(instance, "vkCreateCuFunctionNVX")
+	CreateCuModuleNVX                               = auto_cast GetInstanceProcAddr(instance, "vkCreateCuModuleNVX")
+	CreateDeferredOperationKHR                      = auto_cast GetInstanceProcAddr(instance, "vkCreateDeferredOperationKHR")
+	CreateDescriptorPool                            = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorPool")
+	CreateDescriptorSetLayout                       = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorSetLayout")
+	CreateDescriptorUpdateTemplate                  = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorUpdateTemplate")
+	CreateDescriptorUpdateTemplateKHR               = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorUpdateTemplateKHR")
+	CreateEvent                                     = auto_cast GetInstanceProcAddr(instance, "vkCreateEvent")
+	CreateFence                                     = auto_cast GetInstanceProcAddr(instance, "vkCreateFence")
+	CreateFramebuffer                               = auto_cast GetInstanceProcAddr(instance, "vkCreateFramebuffer")
+	CreateGraphicsPipelines                         = auto_cast GetInstanceProcAddr(instance, "vkCreateGraphicsPipelines")
+	CreateImage                                     = auto_cast GetInstanceProcAddr(instance, "vkCreateImage")
+	CreateImageView                                 = auto_cast GetInstanceProcAddr(instance, "vkCreateImageView")
+	CreateIndirectCommandsLayoutNV                  = auto_cast GetInstanceProcAddr(instance, "vkCreateIndirectCommandsLayoutNV")
+	CreatePipelineCache                             = auto_cast GetInstanceProcAddr(instance, "vkCreatePipelineCache")
+	CreatePipelineLayout                            = auto_cast GetInstanceProcAddr(instance, "vkCreatePipelineLayout")
+	CreatePrivateDataSlot                           = auto_cast GetInstanceProcAddr(instance, "vkCreatePrivateDataSlot")
+	CreatePrivateDataSlotEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCreatePrivateDataSlotEXT")
+	CreateQueryPool                                 = auto_cast GetInstanceProcAddr(instance, "vkCreateQueryPool")
+	CreateRayTracingPipelinesKHR                    = auto_cast GetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesKHR")
+	CreateRayTracingPipelinesNV                     = auto_cast GetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesNV")
+	CreateRenderPass                                = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass")
+	CreateRenderPass2                               = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass2")
+	CreateRenderPass2KHR                            = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass2KHR")
+	CreateSampler                                   = auto_cast GetInstanceProcAddr(instance, "vkCreateSampler")
+	CreateSamplerYcbcrConversion                    = auto_cast GetInstanceProcAddr(instance, "vkCreateSamplerYcbcrConversion")
+	CreateSamplerYcbcrConversionKHR                 = auto_cast GetInstanceProcAddr(instance, "vkCreateSamplerYcbcrConversionKHR")
+	CreateSemaphore                                 = auto_cast GetInstanceProcAddr(instance, "vkCreateSemaphore")
+	CreateShaderModule                              = auto_cast GetInstanceProcAddr(instance, "vkCreateShaderModule")
+	CreateSharedSwapchainsKHR                       = auto_cast GetInstanceProcAddr(instance, "vkCreateSharedSwapchainsKHR")
+	CreateSwapchainKHR                              = auto_cast GetInstanceProcAddr(instance, "vkCreateSwapchainKHR")
+	CreateValidationCacheEXT                        = auto_cast GetInstanceProcAddr(instance, "vkCreateValidationCacheEXT")
+	DebugMarkerSetObjectNameEXT                     = auto_cast GetInstanceProcAddr(instance, "vkDebugMarkerSetObjectNameEXT")
+	DebugMarkerSetObjectTagEXT                      = auto_cast GetInstanceProcAddr(instance, "vkDebugMarkerSetObjectTagEXT")
+	DeferredOperationJoinKHR                        = auto_cast GetInstanceProcAddr(instance, "vkDeferredOperationJoinKHR")
+	DestroyAccelerationStructureKHR                 = auto_cast GetInstanceProcAddr(instance, "vkDestroyAccelerationStructureKHR")
+	DestroyAccelerationStructureNV                  = auto_cast GetInstanceProcAddr(instance, "vkDestroyAccelerationStructureNV")
+	DestroyBuffer                                   = auto_cast GetInstanceProcAddr(instance, "vkDestroyBuffer")
+	DestroyBufferView                               = auto_cast GetInstanceProcAddr(instance, "vkDestroyBufferView")
+	DestroyCommandPool                              = auto_cast GetInstanceProcAddr(instance, "vkDestroyCommandPool")
+	DestroyCuFunctionNVX                            = auto_cast GetInstanceProcAddr(instance, "vkDestroyCuFunctionNVX")
+	DestroyCuModuleNVX                              = auto_cast GetInstanceProcAddr(instance, "vkDestroyCuModuleNVX")
+	DestroyDeferredOperationKHR                     = auto_cast GetInstanceProcAddr(instance, "vkDestroyDeferredOperationKHR")
+	DestroyDescriptorPool                           = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorPool")
+	DestroyDescriptorSetLayout                      = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorSetLayout")
+	DestroyDescriptorUpdateTemplate                 = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorUpdateTemplate")
+	DestroyDescriptorUpdateTemplateKHR              = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorUpdateTemplateKHR")
+	DestroyDevice                                   = auto_cast GetInstanceProcAddr(instance, "vkDestroyDevice")
+	DestroyEvent                                    = auto_cast GetInstanceProcAddr(instance, "vkDestroyEvent")
+	DestroyFence                                    = auto_cast GetInstanceProcAddr(instance, "vkDestroyFence")
+	DestroyFramebuffer                              = auto_cast GetInstanceProcAddr(instance, "vkDestroyFramebuffer")
+	DestroyImage                                    = auto_cast GetInstanceProcAddr(instance, "vkDestroyImage")
+	DestroyImageView                                = auto_cast GetInstanceProcAddr(instance, "vkDestroyImageView")
+	DestroyIndirectCommandsLayoutNV                 = auto_cast GetInstanceProcAddr(instance, "vkDestroyIndirectCommandsLayoutNV")
+	DestroyPipeline                                 = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipeline")
+	DestroyPipelineCache                            = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipelineCache")
+	DestroyPipelineLayout                           = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipelineLayout")
+	DestroyPrivateDataSlot                          = auto_cast GetInstanceProcAddr(instance, "vkDestroyPrivateDataSlot")
+	DestroyPrivateDataSlotEXT                       = auto_cast GetInstanceProcAddr(instance, "vkDestroyPrivateDataSlotEXT")
+	DestroyQueryPool                                = auto_cast GetInstanceProcAddr(instance, "vkDestroyQueryPool")
+	DestroyRenderPass                               = auto_cast GetInstanceProcAddr(instance, "vkDestroyRenderPass")
+	DestroySampler                                  = auto_cast GetInstanceProcAddr(instance, "vkDestroySampler")
+	DestroySamplerYcbcrConversion                   = auto_cast GetInstanceProcAddr(instance, "vkDestroySamplerYcbcrConversion")
+	DestroySamplerYcbcrConversionKHR                = auto_cast GetInstanceProcAddr(instance, "vkDestroySamplerYcbcrConversionKHR")
+	DestroySemaphore                                = auto_cast GetInstanceProcAddr(instance, "vkDestroySemaphore")
+	DestroyShaderModule                             = auto_cast GetInstanceProcAddr(instance, "vkDestroyShaderModule")
+	DestroySwapchainKHR                             = auto_cast GetInstanceProcAddr(instance, "vkDestroySwapchainKHR")
+	DestroyValidationCacheEXT                       = auto_cast GetInstanceProcAddr(instance, "vkDestroyValidationCacheEXT")
+	DeviceWaitIdle                                  = auto_cast GetInstanceProcAddr(instance, "vkDeviceWaitIdle")
+	DisplayPowerControlEXT                          = auto_cast GetInstanceProcAddr(instance, "vkDisplayPowerControlEXT")
+	EndCommandBuffer                                = auto_cast GetInstanceProcAddr(instance, "vkEndCommandBuffer")
+	FlushMappedMemoryRanges                         = auto_cast GetInstanceProcAddr(instance, "vkFlushMappedMemoryRanges")
+	FreeCommandBuffers                              = auto_cast GetInstanceProcAddr(instance, "vkFreeCommandBuffers")
+	FreeDescriptorSets                              = auto_cast GetInstanceProcAddr(instance, "vkFreeDescriptorSets")
+	FreeMemory                                      = auto_cast GetInstanceProcAddr(instance, "vkFreeMemory")
+	GetAccelerationStructureBuildSizesKHR           = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureBuildSizesKHR")
+	GetAccelerationStructureDeviceAddressKHR        = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureDeviceAddressKHR")
+	GetAccelerationStructureHandleNV                = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureHandleNV")
+	GetAccelerationStructureMemoryRequirementsNV    = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureMemoryRequirementsNV")
+	GetBufferDeviceAddress                          = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddress")
+	GetBufferDeviceAddressEXT                       = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddressEXT")
+	GetBufferDeviceAddressKHR                       = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddressKHR")
+	GetBufferMemoryRequirements                     = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements")
+	GetBufferMemoryRequirements2                    = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements2")
+	GetBufferMemoryRequirements2KHR                 = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements2KHR")
+	GetBufferOpaqueCaptureAddress                   = auto_cast GetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureAddress")
+	GetBufferOpaqueCaptureAddressKHR                = auto_cast GetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureAddressKHR")
+	GetCalibratedTimestampsEXT                      = auto_cast GetInstanceProcAddr(instance, "vkGetCalibratedTimestampsEXT")
+	GetDeferredOperationMaxConcurrencyKHR           = auto_cast GetInstanceProcAddr(instance, "vkGetDeferredOperationMaxConcurrencyKHR")
+	GetDeferredOperationResultKHR                   = auto_cast GetInstanceProcAddr(instance, "vkGetDeferredOperationResultKHR")
+	GetDescriptorSetHostMappingVALVE                = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetHostMappingVALVE")
+	GetDescriptorSetLayoutHostMappingInfoVALVE      = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
+	GetDescriptorSetLayoutSupport                   = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSupport")
+	GetDescriptorSetLayoutSupportKHR                = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSupportKHR")
+	GetDeviceAccelerationStructureCompatibilityKHR  = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceAccelerationStructureCompatibilityKHR")
+	GetDeviceBufferMemoryRequirements               = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceBufferMemoryRequirements")
+	GetDeviceBufferMemoryRequirementsKHR            = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceBufferMemoryRequirementsKHR")
+	GetDeviceGroupPeerMemoryFeatures                = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPeerMemoryFeatures")
+	GetDeviceGroupPeerMemoryFeaturesKHR             = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR")
+	GetDeviceGroupPresentCapabilitiesKHR            = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPresentCapabilitiesKHR")
+	GetDeviceGroupSurfacePresentModes2EXT           = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupSurfacePresentModes2EXT")
+	GetDeviceGroupSurfacePresentModesKHR            = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupSurfacePresentModesKHR")
+	GetDeviceImageMemoryRequirements                = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageMemoryRequirements")
+	GetDeviceImageMemoryRequirementsKHR             = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageMemoryRequirementsKHR")
+	GetDeviceImageSparseMemoryRequirements          = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageSparseMemoryRequirements")
+	GetDeviceImageSparseMemoryRequirementsKHR       = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageSparseMemoryRequirementsKHR")
+	GetDeviceMemoryCommitment                       = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryCommitment")
+	GetDeviceMemoryOpaqueCaptureAddress             = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryOpaqueCaptureAddress")
+	GetDeviceMemoryOpaqueCaptureAddressKHR          = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
+	GetDeviceProcAddr                               = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceProcAddr")
+	GetDeviceQueue                                  = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceQueue")
+	GetDeviceQueue2                                 = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceQueue2")
+	GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
+	GetEventStatus                                  = auto_cast GetInstanceProcAddr(instance, "vkGetEventStatus")
+	GetFenceFdKHR                                   = auto_cast GetInstanceProcAddr(instance, "vkGetFenceFdKHR")
+	GetFenceStatus                                  = auto_cast GetInstanceProcAddr(instance, "vkGetFenceStatus")
+	GetFenceWin32HandleKHR                          = auto_cast GetInstanceProcAddr(instance, "vkGetFenceWin32HandleKHR")
+	GetGeneratedCommandsMemoryRequirementsNV        = auto_cast GetInstanceProcAddr(instance, "vkGetGeneratedCommandsMemoryRequirementsNV")
+	GetImageDrmFormatModifierPropertiesEXT          = auto_cast GetInstanceProcAddr(instance, "vkGetImageDrmFormatModifierPropertiesEXT")
+	GetImageMemoryRequirements                      = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements")
+	GetImageMemoryRequirements2                     = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements2")
+	GetImageMemoryRequirements2KHR                  = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements2KHR")
+	GetImageSparseMemoryRequirements                = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements")
+	GetImageSparseMemoryRequirements2               = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements2")
+	GetImageSparseMemoryRequirements2KHR            = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements2KHR")
+	GetImageSubresourceLayout                       = auto_cast GetInstanceProcAddr(instance, "vkGetImageSubresourceLayout")
+	GetImageViewAddressNVX                          = auto_cast GetInstanceProcAddr(instance, "vkGetImageViewAddressNVX")
+	GetImageViewHandleNVX                           = auto_cast GetInstanceProcAddr(instance, "vkGetImageViewHandleNVX")
+	GetMemoryFdKHR                                  = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryFdKHR")
+	GetMemoryFdPropertiesKHR                        = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryFdPropertiesKHR")
+	GetMemoryHostPointerPropertiesEXT               = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryHostPointerPropertiesEXT")
+	GetMemoryRemoteAddressNV                        = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryRemoteAddressNV")
+	GetMemoryWin32HandleKHR                         = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandleKHR")
+	GetMemoryWin32HandleNV                          = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandleNV")
+	GetMemoryWin32HandlePropertiesKHR               = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandlePropertiesKHR")
+	GetPastPresentationTimingGOOGLE                 = auto_cast GetInstanceProcAddr(instance, "vkGetPastPresentationTimingGOOGLE")
+	GetPerformanceParameterINTEL                    = auto_cast GetInstanceProcAddr(instance, "vkGetPerformanceParameterINTEL")
+	GetPipelineCacheData                            = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineCacheData")
+	GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutableInternalRepresentationsKHR")
+	GetPipelineExecutablePropertiesKHR              = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutablePropertiesKHR")
+	GetPipelineExecutableStatisticsKHR              = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutableStatisticsKHR")
+	GetPrivateData                                  = auto_cast GetInstanceProcAddr(instance, "vkGetPrivateData")
+	GetPrivateDataEXT                               = auto_cast GetInstanceProcAddr(instance, "vkGetPrivateDataEXT")
+	GetQueryPoolResults                             = auto_cast GetInstanceProcAddr(instance, "vkGetQueryPoolResults")
+	GetQueueCheckpointData2NV                       = auto_cast GetInstanceProcAddr(instance, "vkGetQueueCheckpointData2NV")
+	GetQueueCheckpointDataNV                        = auto_cast GetInstanceProcAddr(instance, "vkGetQueueCheckpointDataNV")
+	GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
+	GetRayTracingShaderGroupHandlesKHR              = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupHandlesKHR")
+	GetRayTracingShaderGroupHandlesNV               = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupHandlesNV")
+	GetRayTracingShaderGroupStackSizeKHR            = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupStackSizeKHR")
+	GetRefreshCycleDurationGOOGLE                   = auto_cast GetInstanceProcAddr(instance, "vkGetRefreshCycleDurationGOOGLE")
+	GetRenderAreaGranularity                        = auto_cast GetInstanceProcAddr(instance, "vkGetRenderAreaGranularity")
+	GetSemaphoreCounterValue                        = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreCounterValue")
+	GetSemaphoreCounterValueKHR                     = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreCounterValueKHR")
+	GetSemaphoreFdKHR                               = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreFdKHR")
+	GetSemaphoreWin32HandleKHR                      = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreWin32HandleKHR")
+	GetShaderInfoAMD                                = auto_cast GetInstanceProcAddr(instance, "vkGetShaderInfoAMD")
+	GetSwapchainCounterEXT                          = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainCounterEXT")
+	GetSwapchainImagesKHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainImagesKHR")
+	GetSwapchainStatusKHR                           = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainStatusKHR")
+	GetValidationCacheDataEXT                       = auto_cast GetInstanceProcAddr(instance, "vkGetValidationCacheDataEXT")
+	ImportFenceFdKHR                                = auto_cast GetInstanceProcAddr(instance, "vkImportFenceFdKHR")
+	ImportFenceWin32HandleKHR                       = auto_cast GetInstanceProcAddr(instance, "vkImportFenceWin32HandleKHR")
+	ImportSemaphoreFdKHR                            = auto_cast GetInstanceProcAddr(instance, "vkImportSemaphoreFdKHR")
+	ImportSemaphoreWin32HandleKHR                   = auto_cast GetInstanceProcAddr(instance, "vkImportSemaphoreWin32HandleKHR")
+	InitializePerformanceApiINTEL                   = auto_cast GetInstanceProcAddr(instance, "vkInitializePerformanceApiINTEL")
+	InvalidateMappedMemoryRanges                    = auto_cast GetInstanceProcAddr(instance, "vkInvalidateMappedMemoryRanges")
+	MapMemory                                       = auto_cast GetInstanceProcAddr(instance, "vkMapMemory")
+	MergePipelineCaches                             = auto_cast GetInstanceProcAddr(instance, "vkMergePipelineCaches")
+	MergeValidationCachesEXT                        = auto_cast GetInstanceProcAddr(instance, "vkMergeValidationCachesEXT")
+	QueueBeginDebugUtilsLabelEXT                    = auto_cast GetInstanceProcAddr(instance, "vkQueueBeginDebugUtilsLabelEXT")
+	QueueBindSparse                                 = auto_cast GetInstanceProcAddr(instance, "vkQueueBindSparse")
+	QueueEndDebugUtilsLabelEXT                      = auto_cast GetInstanceProcAddr(instance, "vkQueueEndDebugUtilsLabelEXT")
+	QueueInsertDebugUtilsLabelEXT                   = auto_cast GetInstanceProcAddr(instance, "vkQueueInsertDebugUtilsLabelEXT")
+	QueuePresentKHR                                 = auto_cast GetInstanceProcAddr(instance, "vkQueuePresentKHR")
+	QueueSetPerformanceConfigurationINTEL           = auto_cast GetInstanceProcAddr(instance, "vkQueueSetPerformanceConfigurationINTEL")
+	QueueSubmit                                     = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit")
+	QueueSubmit2                                    = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit2")
+	QueueSubmit2KHR                                 = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit2KHR")
+	QueueWaitIdle                                   = auto_cast GetInstanceProcAddr(instance, "vkQueueWaitIdle")
+	RegisterDeviceEventEXT                          = auto_cast GetInstanceProcAddr(instance, "vkRegisterDeviceEventEXT")
+	RegisterDisplayEventEXT                         = auto_cast GetInstanceProcAddr(instance, "vkRegisterDisplayEventEXT")
+	ReleaseFullScreenExclusiveModeEXT               = auto_cast GetInstanceProcAddr(instance, "vkReleaseFullScreenExclusiveModeEXT")
+	ReleasePerformanceConfigurationINTEL            = auto_cast GetInstanceProcAddr(instance, "vkReleasePerformanceConfigurationINTEL")
+	ReleaseProfilingLockKHR                         = auto_cast GetInstanceProcAddr(instance, "vkReleaseProfilingLockKHR")
+	ResetCommandBuffer                              = auto_cast GetInstanceProcAddr(instance, "vkResetCommandBuffer")
+	ResetCommandPool                                = auto_cast GetInstanceProcAddr(instance, "vkResetCommandPool")
+	ResetDescriptorPool                             = auto_cast GetInstanceProcAddr(instance, "vkResetDescriptorPool")
+	ResetEvent                                      = auto_cast GetInstanceProcAddr(instance, "vkResetEvent")
+	ResetFences                                     = auto_cast GetInstanceProcAddr(instance, "vkResetFences")
+	ResetQueryPool                                  = auto_cast GetInstanceProcAddr(instance, "vkResetQueryPool")
+	ResetQueryPoolEXT                               = auto_cast GetInstanceProcAddr(instance, "vkResetQueryPoolEXT")
+	SetDebugUtilsObjectNameEXT                      = auto_cast GetInstanceProcAddr(instance, "vkSetDebugUtilsObjectNameEXT")
+	SetDebugUtilsObjectTagEXT                       = auto_cast GetInstanceProcAddr(instance, "vkSetDebugUtilsObjectTagEXT")
+	SetDeviceMemoryPriorityEXT                      = auto_cast GetInstanceProcAddr(instance, "vkSetDeviceMemoryPriorityEXT")
+	SetEvent                                        = auto_cast GetInstanceProcAddr(instance, "vkSetEvent")
+	SetHdrMetadataEXT                               = auto_cast GetInstanceProcAddr(instance, "vkSetHdrMetadataEXT")
+	SetLocalDimmingAMD                              = auto_cast GetInstanceProcAddr(instance, "vkSetLocalDimmingAMD")
+	SetPrivateData                                  = auto_cast GetInstanceProcAddr(instance, "vkSetPrivateData")
+	SetPrivateDataEXT                               = auto_cast GetInstanceProcAddr(instance, "vkSetPrivateDataEXT")
+	SignalSemaphore                                 = auto_cast GetInstanceProcAddr(instance, "vkSignalSemaphore")
+	SignalSemaphoreKHR                              = auto_cast GetInstanceProcAddr(instance, "vkSignalSemaphoreKHR")
+	TrimCommandPool                                 = auto_cast GetInstanceProcAddr(instance, "vkTrimCommandPool")
+	TrimCommandPoolKHR                              = auto_cast GetInstanceProcAddr(instance, "vkTrimCommandPoolKHR")
+	UninitializePerformanceApiINTEL                 = auto_cast GetInstanceProcAddr(instance, "vkUninitializePerformanceApiINTEL")
+	UnmapMemory                                     = auto_cast GetInstanceProcAddr(instance, "vkUnmapMemory")
+	UpdateDescriptorSetWithTemplate                 = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSetWithTemplate")
+	UpdateDescriptorSetWithTemplateKHR              = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSetWithTemplateKHR")
+	UpdateDescriptorSets                            = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSets")
+	WaitForFences                                   = auto_cast GetInstanceProcAddr(instance, "vkWaitForFences")
+	WaitForPresentKHR                               = auto_cast GetInstanceProcAddr(instance, "vkWaitForPresentKHR")
+	WaitSemaphores                                  = auto_cast GetInstanceProcAddr(instance, "vkWaitSemaphores")
+	WaitSemaphoresKHR                               = auto_cast GetInstanceProcAddr(instance, "vkWaitSemaphoresKHR")
+	WriteAccelerationStructuresPropertiesKHR        = auto_cast GetInstanceProcAddr(instance, "vkWriteAccelerationStructuresPropertiesKHR")
+}
+
+load_proc_addresses_global :: proc(vk_get_instance_proc_addr: rawptr) {
+	GetInstanceProcAddr = auto_cast vk_get_instance_proc_addr
+
+	CreateInstance                       = auto_cast GetInstanceProcAddr(nil, "vkCreateInstance")
+	DebugUtilsMessengerCallbackEXT       = auto_cast GetInstanceProcAddr(nil, "vkDebugUtilsMessengerCallbackEXT")
+	DeviceMemoryReportCallbackEXT        = auto_cast GetInstanceProcAddr(nil, "vkDeviceMemoryReportCallbackEXT")
+	EnumerateInstanceExtensionProperties = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceExtensionProperties")
+	EnumerateInstanceLayerProperties     = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceLayerProperties")
+	EnumerateInstanceVersion             = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceVersion")
+	GetInstanceProcAddr                  = auto_cast GetInstanceProcAddr(nil, "vkGetInstanceProcAddr")
+}
+
+load_proc_addresses :: proc{
+	load_proc_addresses_global,
+	load_proc_addresses_instance,
+	load_proc_addresses_device,
+	load_proc_addresses_device_vtable,
+	load_proc_addresses_custom,
+}
+

+ 5865 - 5873
vendor/vulkan/structs.odin

@@ -1,5873 +1,5865 @@
-//
-// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
-//
-package vulkan
-
-import "core:c"
-
-when ODIN_OS == .Windows {
-	import win32 "core:sys/windows"
-
-	HINSTANCE           :: win32.HINSTANCE
-	HWND                :: win32.HWND
-	HMONITOR            :: win32.HMONITOR
-	HANDLE              :: win32.HANDLE
-	LPCWSTR             :: win32.LPCWSTR
-	SECURITY_ATTRIBUTES :: win32.SECURITY_ATTRIBUTES
-	DWORD               :: win32.DWORD
-	LONG                :: win32.LONG
-	LUID                :: win32.LUID
-} else {
-	HINSTANCE           :: distinct rawptr
-	HWND                :: distinct rawptr
-	HMONITOR            :: distinct rawptr
-	HANDLE              :: distinct rawptr
-	LPCWSTR             :: ^u16
-	SECURITY_ATTRIBUTES :: struct {}
-	DWORD               :: u32
-	LONG                :: c.long
-	LUID :: struct {
-		LowPart:  DWORD,
-		HighPart: LONG,
-	}
-}
-
-CAMetalLayer :: struct {}
-
-/********************************/
-
-Extent2D :: struct {
-	width:  u32,
-	height: u32,
-}
-
-Extent3D :: struct {
-	width:  u32,
-	height: u32,
-	depth:  u32,
-}
-
-Offset2D :: struct {
-	x: i32,
-	y: i32,
-}
-
-Offset3D :: struct {
-	x: i32,
-	y: i32,
-	z: i32,
-}
-
-Rect2D :: struct {
-	offset: Offset2D,
-	extent: Extent2D,
-}
-
-BaseInStructure :: struct {
-	sType: StructureType,
-	pNext: ^BaseInStructure,
-}
-
-BaseOutStructure :: struct {
-	sType: StructureType,
-	pNext: ^BaseOutStructure,
-}
-
-BufferMemoryBarrier :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	srcAccessMask:       AccessFlags,
-	dstAccessMask:       AccessFlags,
-	srcQueueFamilyIndex: u32,
-	dstQueueFamilyIndex: u32,
-	buffer:              Buffer,
-	offset:              DeviceSize,
-	size:                DeviceSize,
-}
-
-DispatchIndirectCommand :: struct {
-	x: u32,
-	y: u32,
-	z: u32,
-}
-
-DrawIndexedIndirectCommand :: struct {
-	indexCount:    u32,
-	instanceCount: u32,
-	firstIndex:    u32,
-	vertexOffset:  i32,
-	firstInstance: u32,
-}
-
-DrawIndirectCommand :: struct {
-	vertexCount:   u32,
-	instanceCount: u32,
-	firstVertex:   u32,
-	firstInstance: u32,
-}
-
-ImageSubresourceRange :: struct {
-	aspectMask:     ImageAspectFlags,
-	baseMipLevel:   u32,
-	levelCount:     u32,
-	baseArrayLayer: u32,
-	layerCount:     u32,
-}
-
-ImageMemoryBarrier :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	srcAccessMask:       AccessFlags,
-	dstAccessMask:       AccessFlags,
-	oldLayout:           ImageLayout,
-	newLayout:           ImageLayout,
-	srcQueueFamilyIndex: u32,
-	dstQueueFamilyIndex: u32,
-	image:               Image,
-	subresourceRange:    ImageSubresourceRange,
-}
-
-MemoryBarrier :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	srcAccessMask: AccessFlags,
-	dstAccessMask: AccessFlags,
-}
-
-PipelineCacheHeaderVersionOne :: struct {
-	headerSize:        u32,
-	headerVersion:     PipelineCacheHeaderVersion,
-	vendorID:          u32,
-	deviceID:          u32,
-	pipelineCacheUUID: [UUID_SIZE]u8,
-}
-
-AllocationCallbacks :: struct {
-	pUserData:             rawptr,
-	pfnAllocation:         ProcAllocationFunction,
-	pfnReallocation:       ProcReallocationFunction,
-	pfnFree:               ProcFreeFunction,
-	pfnInternalAllocation: ProcInternalAllocationNotification,
-	pfnInternalFree:       ProcInternalFreeNotification,
-}
-
-ApplicationInfo :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	pApplicationName:   cstring,
-	applicationVersion: u32,
-	pEngineName:        cstring,
-	engineVersion:      u32,
-	apiVersion:         u32,
-}
-
-FormatProperties :: struct {
-	linearTilingFeatures:  FormatFeatureFlags,
-	optimalTilingFeatures: FormatFeatureFlags,
-	bufferFeatures:        FormatFeatureFlags,
-}
-
-ImageFormatProperties :: struct {
-	maxExtent:       Extent3D,
-	maxMipLevels:    u32,
-	maxArrayLayers:  u32,
-	sampleCounts:    SampleCountFlags,
-	maxResourceSize: DeviceSize,
-}
-
-InstanceCreateInfo :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	flags:                   InstanceCreateFlags,
-	pApplicationInfo:        ^ApplicationInfo,
-	enabledLayerCount:       u32,
-	ppEnabledLayerNames:     [^]cstring,
-	enabledExtensionCount:   u32,
-	ppEnabledExtensionNames: [^]cstring,
-}
-
-MemoryHeap :: struct {
-	size:  DeviceSize,
-	flags: MemoryHeapFlags,
-}
-
-MemoryType :: struct {
-	propertyFlags: MemoryPropertyFlags,
-	heapIndex:     u32,
-}
-
-PhysicalDeviceFeatures :: struct {
-	robustBufferAccess:                      b32,
-	fullDrawIndexUint32:                     b32,
-	imageCubeArray:                          b32,
-	independentBlend:                        b32,
-	geometryShader:                          b32,
-	tessellationShader:                      b32,
-	sampleRateShading:                       b32,
-	dualSrcBlend:                            b32,
-	logicOp:                                 b32,
-	multiDrawIndirect:                       b32,
-	drawIndirectFirstInstance:               b32,
-	depthClamp:                              b32,
-	depthBiasClamp:                          b32,
-	fillModeNonSolid:                        b32,
-	depthBounds:                             b32,
-	wideLines:                               b32,
-	largePoints:                             b32,
-	alphaToOne:                              b32,
-	multiViewport:                           b32,
-	samplerAnisotropy:                       b32,
-	textureCompressionETC2:                  b32,
-	textureCompressionASTC_LDR:              b32,
-	textureCompressionBC:                    b32,
-	occlusionQueryPrecise:                   b32,
-	pipelineStatisticsQuery:                 b32,
-	vertexPipelineStoresAndAtomics:          b32,
-	fragmentStoresAndAtomics:                b32,
-	shaderTessellationAndGeometryPointSize:  b32,
-	shaderImageGatherExtended:               b32,
-	shaderStorageImageExtendedFormats:       b32,
-	shaderStorageImageMultisample:           b32,
-	shaderStorageImageReadWithoutFormat:     b32,
-	shaderStorageImageWriteWithoutFormat:    b32,
-	shaderUniformBufferArrayDynamicIndexing: b32,
-	shaderSampledImageArrayDynamicIndexing:  b32,
-	shaderStorageBufferArrayDynamicIndexing: b32,
-	shaderStorageImageArrayDynamicIndexing:  b32,
-	shaderClipDistance:                      b32,
-	shaderCullDistance:                      b32,
-	shaderFloat64:                           b32,
-	shaderInt64:                             b32,
-	shaderInt16:                             b32,
-	shaderResourceResidency:                 b32,
-	shaderResourceMinLod:                    b32,
-	sparseBinding:                           b32,
-	sparseResidencyBuffer:                   b32,
-	sparseResidencyImage2D:                  b32,
-	sparseResidencyImage3D:                  b32,
-	sparseResidency2Samples:                 b32,
-	sparseResidency4Samples:                 b32,
-	sparseResidency8Samples:                 b32,
-	sparseResidency16Samples:                b32,
-	sparseResidencyAliased:                  b32,
-	variableMultisampleRate:                 b32,
-	inheritedQueries:                        b32,
-}
-
-PhysicalDeviceLimits :: struct {
-	maxImageDimension1D:                             u32,
-	maxImageDimension2D:                             u32,
-	maxImageDimension3D:                             u32,
-	maxImageDimensionCube:                           u32,
-	maxImageArrayLayers:                             u32,
-	maxTexelBufferElements:                          u32,
-	maxUniformBufferRange:                           u32,
-	maxStorageBufferRange:                           u32,
-	maxPushConstantsSize:                            u32,
-	maxMemoryAllocationCount:                        u32,
-	maxSamplerAllocationCount:                       u32,
-	bufferImageGranularity:                          DeviceSize,
-	sparseAddressSpaceSize:                          DeviceSize,
-	maxBoundDescriptorSets:                          u32,
-	maxPerStageDescriptorSamplers:                   u32,
-	maxPerStageDescriptorUniformBuffers:             u32,
-	maxPerStageDescriptorStorageBuffers:             u32,
-	maxPerStageDescriptorSampledImages:              u32,
-	maxPerStageDescriptorStorageImages:              u32,
-	maxPerStageDescriptorInputAttachments:           u32,
-	maxPerStageResources:                            u32,
-	maxDescriptorSetSamplers:                        u32,
-	maxDescriptorSetUniformBuffers:                  u32,
-	maxDescriptorSetUniformBuffersDynamic:           u32,
-	maxDescriptorSetStorageBuffers:                  u32,
-	maxDescriptorSetStorageBuffersDynamic:           u32,
-	maxDescriptorSetSampledImages:                   u32,
-	maxDescriptorSetStorageImages:                   u32,
-	maxDescriptorSetInputAttachments:                u32,
-	maxVertexInputAttributes:                        u32,
-	maxVertexInputBindings:                          u32,
-	maxVertexInputAttributeOffset:                   u32,
-	maxVertexInputBindingStride:                     u32,
-	maxVertexOutputComponents:                       u32,
-	maxTessellationGenerationLevel:                  u32,
-	maxTessellationPatchSize:                        u32,
-	maxTessellationControlPerVertexInputComponents:  u32,
-	maxTessellationControlPerVertexOutputComponents: u32,
-	maxTessellationControlPerPatchOutputComponents:  u32,
-	maxTessellationControlTotalOutputComponents:     u32,
-	maxTessellationEvaluationInputComponents:        u32,
-	maxTessellationEvaluationOutputComponents:       u32,
-	maxGeometryShaderInvocations:                    u32,
-	maxGeometryInputComponents:                      u32,
-	maxGeometryOutputComponents:                     u32,
-	maxGeometryOutputVertices:                       u32,
-	maxGeometryTotalOutputComponents:                u32,
-	maxFragmentInputComponents:                      u32,
-	maxFragmentOutputAttachments:                    u32,
-	maxFragmentDualSrcAttachments:                   u32,
-	maxFragmentCombinedOutputResources:              u32,
-	maxComputeSharedMemorySize:                      u32,
-	maxComputeWorkGroupCount:                        [3]u32,
-	maxComputeWorkGroupInvocations:                  u32,
-	maxComputeWorkGroupSize:                         [3]u32,
-	subPixelPrecisionBits:                           u32,
-	subTexelPrecisionBits:                           u32,
-	mipmapPrecisionBits:                             u32,
-	maxDrawIndexedIndexValue:                        u32,
-	maxDrawIndirectCount:                            u32,
-	maxSamplerLodBias:                               f32,
-	maxSamplerAnisotropy:                            f32,
-	maxViewports:                                    u32,
-	maxViewportDimensions:                           [2]u32,
-	viewportBoundsRange:                             [2]f32,
-	viewportSubPixelBits:                            u32,
-	minMemoryMapAlignment:                           int,
-	minTexelBufferOffsetAlignment:                   DeviceSize,
-	minUniformBufferOffsetAlignment:                 DeviceSize,
-	minStorageBufferOffsetAlignment:                 DeviceSize,
-	minTexelOffset:                                  i32,
-	maxTexelOffset:                                  u32,
-	minTexelGatherOffset:                            i32,
-	maxTexelGatherOffset:                            u32,
-	minInterpolationOffset:                          f32,
-	maxInterpolationOffset:                          f32,
-	subPixelInterpolationOffsetBits:                 u32,
-	maxFramebufferWidth:                             u32,
-	maxFramebufferHeight:                            u32,
-	maxFramebufferLayers:                            u32,
-	framebufferColorSampleCounts:                    SampleCountFlags,
-	framebufferDepthSampleCounts:                    SampleCountFlags,
-	framebufferStencilSampleCounts:                  SampleCountFlags,
-	framebufferNoAttachmentsSampleCounts:            SampleCountFlags,
-	maxColorAttachments:                             u32,
-	sampledImageColorSampleCounts:                   SampleCountFlags,
-	sampledImageIntegerSampleCounts:                 SampleCountFlags,
-	sampledImageDepthSampleCounts:                   SampleCountFlags,
-	sampledImageStencilSampleCounts:                 SampleCountFlags,
-	storageImageSampleCounts:                        SampleCountFlags,
-	maxSampleMaskWords:                              u32,
-	timestampComputeAndGraphics:                     b32,
-	timestampPeriod:                                 f32,
-	maxClipDistances:                                u32,
-	maxCullDistances:                                u32,
-	maxCombinedClipAndCullDistances:                 u32,
-	discreteQueuePriorities:                         u32,
-	pointSizeRange:                                  [2]f32,
-	lineWidthRange:                                  [2]f32,
-	pointSizeGranularity:                            f32,
-	lineWidthGranularity:                            f32,
-	strictLines:                                     b32,
-	standardSampleLocations:                         b32,
-	optimalBufferCopyOffsetAlignment:                DeviceSize,
-	optimalBufferCopyRowPitchAlignment:              DeviceSize,
-	nonCoherentAtomSize:                             DeviceSize,
-}
-
-PhysicalDeviceMemoryProperties :: struct {
-	memoryTypeCount: u32,
-	memoryTypes:     [MAX_MEMORY_TYPES]MemoryType,
-	memoryHeapCount: u32,
-	memoryHeaps:     [MAX_MEMORY_HEAPS]MemoryHeap,
-}
-
-PhysicalDeviceSparseProperties :: struct {
-	residencyStandard2DBlockShape:            b32,
-	residencyStandard2DMultisampleBlockShape: b32,
-	residencyStandard3DBlockShape:            b32,
-	residencyAlignedMipSize:                  b32,
-	residencyNonResidentStrict:               b32,
-}
-
-PhysicalDeviceProperties :: struct {
-	apiVersion:        u32,
-	driverVersion:     u32,
-	vendorID:          u32,
-	deviceID:          u32,
-	deviceType:        PhysicalDeviceType,
-	deviceName:        [MAX_PHYSICAL_DEVICE_NAME_SIZE]byte,
-	pipelineCacheUUID: [UUID_SIZE]u8,
-	limits:            PhysicalDeviceLimits,
-	sparseProperties:  PhysicalDeviceSparseProperties,
-}
-
-QueueFamilyProperties :: struct {
-	queueFlags:                  QueueFlags,
-	queueCount:                  u32,
-	timestampValidBits:          u32,
-	minImageTransferGranularity: Extent3D,
-}
-
-DeviceQueueCreateInfo :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	flags:            DeviceQueueCreateFlags,
-	queueFamilyIndex: u32,
-	queueCount:       u32,
-	pQueuePriorities: [^]f32,
-}
-
-DeviceCreateInfo :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	flags:                   DeviceCreateFlags,
-	queueCreateInfoCount:    u32,
-	pQueueCreateInfos:       [^]DeviceQueueCreateInfo,
-	enabledLayerCount:       u32,
-	ppEnabledLayerNames:     [^]cstring,
-	enabledExtensionCount:   u32,
-	ppEnabledExtensionNames: [^]cstring,
-	pEnabledFeatures:        [^]PhysicalDeviceFeatures,
-}
-
-ExtensionProperties :: struct {
-	extensionName: [MAX_EXTENSION_NAME_SIZE]byte,
-	specVersion:   u32,
-}
-
-LayerProperties :: struct {
-	layerName:             [MAX_EXTENSION_NAME_SIZE]byte,
-	specVersion:           u32,
-	implementationVersion: u32,
-	description:           [MAX_DESCRIPTION_SIZE]byte,
-}
-
-SubmitInfo :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	waitSemaphoreCount:   u32,
-	pWaitSemaphores:      [^]Semaphore,
-	pWaitDstStageMask:    [^]PipelineStageFlags,
-	commandBufferCount:   u32,
-	pCommandBuffers:      [^]CommandBuffer,
-	signalSemaphoreCount: u32,
-	pSignalSemaphores:    [^]Semaphore,
-}
-
-MappedMemoryRange :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	memory: DeviceMemory,
-	offset: DeviceSize,
-	size:   DeviceSize,
-}
-
-MemoryAllocateInfo :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	allocationSize:  DeviceSize,
-	memoryTypeIndex: u32,
-}
-
-MemoryRequirements :: struct {
-	size:           DeviceSize,
-	alignment:      DeviceSize,
-	memoryTypeBits: u32,
-}
-
-SparseMemoryBind :: struct {
-	resourceOffset: DeviceSize,
-	size:           DeviceSize,
-	memory:         DeviceMemory,
-	memoryOffset:   DeviceSize,
-	flags:          SparseMemoryBindFlags,
-}
-
-SparseBufferMemoryBindInfo :: struct {
-	buffer:    Buffer,
-	bindCount: u32,
-	pBinds:    [^]SparseMemoryBind,
-}
-
-SparseImageOpaqueMemoryBindInfo :: struct {
-	image:     Image,
-	bindCount: u32,
-	pBinds:    [^]SparseMemoryBind,
-}
-
-ImageSubresource :: struct {
-	aspectMask: ImageAspectFlags,
-	mipLevel:   u32,
-	arrayLayer: u32,
-}
-
-SparseImageMemoryBind :: struct {
-	subresource:  ImageSubresource,
-	offset:       Offset3D,
-	extent:       Extent3D,
-	memory:       DeviceMemory,
-	memoryOffset: DeviceSize,
-	flags:        SparseMemoryBindFlags,
-}
-
-SparseImageMemoryBindInfo :: struct {
-	image:     Image,
-	bindCount: u32,
-	pBinds:    [^]SparseImageMemoryBind,
-}
-
-BindSparseInfo :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	waitSemaphoreCount:   u32,
-	pWaitSemaphores:      [^]Semaphore,
-	bufferBindCount:      u32,
-	pBufferBinds:         [^]SparseBufferMemoryBindInfo,
-	imageOpaqueBindCount: u32,
-	pImageOpaqueBinds:    [^]SparseImageOpaqueMemoryBindInfo,
-	imageBindCount:       u32,
-	pImageBinds:          [^]SparseImageMemoryBindInfo,
-	signalSemaphoreCount: u32,
-	pSignalSemaphores:    [^]Semaphore,
-}
-
-SparseImageFormatProperties :: struct {
-	aspectMask:       ImageAspectFlags,
-	imageGranularity: Extent3D,
-	flags:            SparseImageFormatFlags,
-}
-
-SparseImageMemoryRequirements :: struct {
-	formatProperties:     SparseImageFormatProperties,
-	imageMipTailFirstLod: u32,
-	imageMipTailSize:     DeviceSize,
-	imageMipTailOffset:   DeviceSize,
-	imageMipTailStride:   DeviceSize,
-}
-
-FenceCreateInfo :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	flags: FenceCreateFlags,
-}
-
-SemaphoreCreateInfo :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	flags: SemaphoreCreateFlags,
-}
-
-EventCreateInfo :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	flags: EventCreateFlags,
-}
-
-QueryPoolCreateInfo :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	flags:              QueryPoolCreateFlags,
-	queryType:          QueryType,
-	queryCount:         u32,
-	pipelineStatistics: QueryPipelineStatisticFlags,
-}
-
-BufferCreateInfo :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	flags:                 BufferCreateFlags,
-	size:                  DeviceSize,
-	usage:                 BufferUsageFlags,
-	sharingMode:           SharingMode,
-	queueFamilyIndexCount: u32,
-	pQueueFamilyIndices:   [^]u32,
-}
-
-BufferViewCreateInfo :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	flags:  BufferViewCreateFlags,
-	buffer: Buffer,
-	format: Format,
-	offset: DeviceSize,
-	range:  DeviceSize,
-}
-
-ImageCreateInfo :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	flags:                 ImageCreateFlags,
-	imageType:             ImageType,
-	format:                Format,
-	extent:                Extent3D,
-	mipLevels:             u32,
-	arrayLayers:           u32,
-	samples:               SampleCountFlags,
-	tiling:                ImageTiling,
-	usage:                 ImageUsageFlags,
-	sharingMode:           SharingMode,
-	queueFamilyIndexCount: u32,
-	pQueueFamilyIndices:   [^]u32,
-	initialLayout:         ImageLayout,
-}
-
-SubresourceLayout :: struct {
-	offset:     DeviceSize,
-	size:       DeviceSize,
-	rowPitch:   DeviceSize,
-	arrayPitch: DeviceSize,
-	depthPitch: DeviceSize,
-}
-
-ComponentMapping :: struct {
-	r: ComponentSwizzle,
-	g: ComponentSwizzle,
-	b: ComponentSwizzle,
-	a: ComponentSwizzle,
-}
-
-ImageViewCreateInfo :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	flags:            ImageViewCreateFlags,
-	image:            Image,
-	viewType:         ImageViewType,
-	format:           Format,
-	components:       ComponentMapping,
-	subresourceRange: ImageSubresourceRange,
-}
-
-ShaderModuleCreateInfo :: struct {
-	sType:    StructureType,
-	pNext:    rawptr,
-	flags:    ShaderModuleCreateFlags,
-	codeSize: int,
-	pCode:    ^u32,
-}
-
-PipelineCacheCreateInfo :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	flags:           PipelineCacheCreateFlags,
-	initialDataSize: int,
-	pInitialData:    rawptr,
-}
-
-SpecializationMapEntry :: struct {
-	constantID: u32,
-	offset:     u32,
-	size:       int,
-}
-
-SpecializationInfo :: struct {
-	mapEntryCount: u32,
-	pMapEntries:   [^]SpecializationMapEntry,
-	dataSize:      int,
-	pData:         rawptr,
-}
-
-PipelineShaderStageCreateInfo :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	flags:               PipelineShaderStageCreateFlags,
-	stage:               ShaderStageFlags,
-	module:              ShaderModule,
-	pName:               cstring,
-	pSpecializationInfo: ^SpecializationInfo,
-}
-
-ComputePipelineCreateInfo :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	flags:              PipelineCreateFlags,
-	stage:              PipelineShaderStageCreateInfo,
-	layout:             PipelineLayout,
-	basePipelineHandle: Pipeline,
-	basePipelineIndex:  i32,
-}
-
-VertexInputBindingDescription :: struct {
-	binding:   u32,
-	stride:    u32,
-	inputRate: VertexInputRate,
-}
-
-VertexInputAttributeDescription :: struct {
-	location: u32,
-	binding:  u32,
-	format:   Format,
-	offset:   u32,
-}
-
-PipelineVertexInputStateCreateInfo :: struct {
-	sType:                           StructureType,
-	pNext:                           rawptr,
-	flags:                           PipelineVertexInputStateCreateFlags,
-	vertexBindingDescriptionCount:   u32,
-	pVertexBindingDescriptions:      [^]VertexInputBindingDescription,
-	vertexAttributeDescriptionCount: u32,
-	pVertexAttributeDescriptions:    [^]VertexInputAttributeDescription,
-}
-
-PipelineInputAssemblyStateCreateInfo :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	flags:                  PipelineInputAssemblyStateCreateFlags,
-	topology:               PrimitiveTopology,
-	primitiveRestartEnable: b32,
-}
-
-PipelineTessellationStateCreateInfo :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	flags:              PipelineTessellationStateCreateFlags,
-	patchControlPoints: u32,
-}
-
-Viewport :: struct {
-	x:        f32,
-	y:        f32,
-	width:    f32,
-	height:   f32,
-	minDepth: f32,
-	maxDepth: f32,
-}
-
-PipelineViewportStateCreateInfo :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	flags:         PipelineViewportStateCreateFlags,
-	viewportCount: u32,
-	pViewports:    [^]Viewport,
-	scissorCount:  u32,
-	pScissors:     [^]Rect2D,
-}
-
-PipelineRasterizationStateCreateInfo :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	flags:                   PipelineRasterizationStateCreateFlags,
-	depthClampEnable:        b32,
-	rasterizerDiscardEnable: b32,
-	polygonMode:             PolygonMode,
-	cullMode:                CullModeFlags,
-	frontFace:               FrontFace,
-	depthBiasEnable:         b32,
-	depthBiasConstantFactor: f32,
-	depthBiasClamp:          f32,
-	depthBiasSlopeFactor:    f32,
-	lineWidth:               f32,
-}
-
-PipelineMultisampleStateCreateInfo :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	flags:                 PipelineMultisampleStateCreateFlags,
-	rasterizationSamples:  SampleCountFlags,
-	sampleShadingEnable:   b32,
-	minSampleShading:      f32,
-	pSampleMask:           ^SampleMask,
-	alphaToCoverageEnable: b32,
-	alphaToOneEnable:      b32,
-}
-
-StencilOpState :: struct {
-	failOp:      StencilOp,
-	passOp:      StencilOp,
-	depthFailOp: StencilOp,
-	compareOp:   CompareOp,
-	compareMask: u32,
-	writeMask:   u32,
-	reference:   u32,
-}
-
-PipelineDepthStencilStateCreateInfo :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	flags:                 PipelineDepthStencilStateCreateFlags,
-	depthTestEnable:       b32,
-	depthWriteEnable:      b32,
-	depthCompareOp:        CompareOp,
-	depthBoundsTestEnable: b32,
-	stencilTestEnable:     b32,
-	front:                 StencilOpState,
-	back:                  StencilOpState,
-	minDepthBounds:        f32,
-	maxDepthBounds:        f32,
-}
-
-PipelineColorBlendAttachmentState :: struct {
-	blendEnable:         b32,
-	srcColorBlendFactor: BlendFactor,
-	dstColorBlendFactor: BlendFactor,
-	colorBlendOp:        BlendOp,
-	srcAlphaBlendFactor: BlendFactor,
-	dstAlphaBlendFactor: BlendFactor,
-	alphaBlendOp:        BlendOp,
-	colorWriteMask:      ColorComponentFlags,
-}
-
-PipelineColorBlendStateCreateInfo :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	flags:           PipelineColorBlendStateCreateFlags,
-	logicOpEnable:   b32,
-	logicOp:         LogicOp,
-	attachmentCount: u32,
-	pAttachments:    [^]PipelineColorBlendAttachmentState,
-	blendConstants:  [4]f32,
-}
-
-PipelineDynamicStateCreateInfo :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	flags:             PipelineDynamicStateCreateFlags,
-	dynamicStateCount: u32,
-	pDynamicStates:    [^]DynamicState,
-}
-
-GraphicsPipelineCreateInfo :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	flags:               PipelineCreateFlags,
-	stageCount:          u32,
-	pStages:             [^]PipelineShaderStageCreateInfo,
-	pVertexInputState:   ^PipelineVertexInputStateCreateInfo,
-	pInputAssemblyState: ^PipelineInputAssemblyStateCreateInfo,
-	pTessellationState:  ^PipelineTessellationStateCreateInfo,
-	pViewportState:      ^PipelineViewportStateCreateInfo,
-	pRasterizationState: ^PipelineRasterizationStateCreateInfo,
-	pMultisampleState:   ^PipelineMultisampleStateCreateInfo,
-	pDepthStencilState:  ^PipelineDepthStencilStateCreateInfo,
-	pColorBlendState:    ^PipelineColorBlendStateCreateInfo,
-	pDynamicState:       ^PipelineDynamicStateCreateInfo,
-	layout:              PipelineLayout,
-	renderPass:          RenderPass,
-	subpass:             u32,
-	basePipelineHandle:  Pipeline,
-	basePipelineIndex:   i32,
-}
-
-PushConstantRange :: struct {
-	stageFlags: ShaderStageFlags,
-	offset:     u32,
-	size:       u32,
-}
-
-PipelineLayoutCreateInfo :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	flags:                  PipelineLayoutCreateFlags,
-	setLayoutCount:         u32,
-	pSetLayouts:            [^]DescriptorSetLayout,
-	pushConstantRangeCount: u32,
-	pPushConstantRanges:    [^]PushConstantRange,
-}
-
-SamplerCreateInfo :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	flags:                   SamplerCreateFlags,
-	magFilter:               Filter,
-	minFilter:               Filter,
-	mipmapMode:              SamplerMipmapMode,
-	addressModeU:            SamplerAddressMode,
-	addressModeV:            SamplerAddressMode,
-	addressModeW:            SamplerAddressMode,
-	mipLodBias:              f32,
-	anisotropyEnable:        b32,
-	maxAnisotropy:           f32,
-	compareEnable:           b32,
-	compareOp:               CompareOp,
-	minLod:                  f32,
-	maxLod:                  f32,
-	borderColor:             BorderColor,
-	unnormalizedCoordinates: b32,
-}
-
-CopyDescriptorSet :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	srcSet:          DescriptorSet,
-	srcBinding:      u32,
-	srcArrayElement: u32,
-	dstSet:          DescriptorSet,
-	dstBinding:      u32,
-	dstArrayElement: u32,
-	descriptorCount: u32,
-}
-
-DescriptorBufferInfo :: struct {
-	buffer: Buffer,
-	offset: DeviceSize,
-	range:  DeviceSize,
-}
-
-DescriptorImageInfo :: struct {
-	sampler:     Sampler,
-	imageView:   ImageView,
-	imageLayout: ImageLayout,
-}
-
-DescriptorPoolSize :: struct {
-	type:            DescriptorType,
-	descriptorCount: u32,
-}
-
-DescriptorPoolCreateInfo :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	flags:         DescriptorPoolCreateFlags,
-	maxSets:       u32,
-	poolSizeCount: u32,
-	pPoolSizes:    [^]DescriptorPoolSize,
-}
-
-DescriptorSetAllocateInfo :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	descriptorPool:     DescriptorPool,
-	descriptorSetCount: u32,
-	pSetLayouts:        [^]DescriptorSetLayout,
-}
-
-DescriptorSetLayoutBinding :: struct {
-	binding:            u32,
-	descriptorType:     DescriptorType,
-	descriptorCount:    u32,
-	stageFlags:         ShaderStageFlags,
-	pImmutableSamplers: [^]Sampler,
-}
-
-DescriptorSetLayoutCreateInfo :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	flags:        DescriptorSetLayoutCreateFlags,
-	bindingCount: u32,
-	pBindings:    [^]DescriptorSetLayoutBinding,
-}
-
-WriteDescriptorSet :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	dstSet:           DescriptorSet,
-	dstBinding:       u32,
-	dstArrayElement:  u32,
-	descriptorCount:  u32,
-	descriptorType:   DescriptorType,
-	pImageInfo:       ^DescriptorImageInfo,
-	pBufferInfo:      ^DescriptorBufferInfo,
-	pTexelBufferView: ^BufferView,
-}
-
-AttachmentDescription :: struct {
-	flags:          AttachmentDescriptionFlags,
-	format:         Format,
-	samples:        SampleCountFlags,
-	loadOp:         AttachmentLoadOp,
-	storeOp:        AttachmentStoreOp,
-	stencilLoadOp:  AttachmentLoadOp,
-	stencilStoreOp: AttachmentStoreOp,
-	initialLayout:  ImageLayout,
-	finalLayout:    ImageLayout,
-}
-
-AttachmentReference :: struct {
-	attachment: u32,
-	layout:     ImageLayout,
-}
-
-FramebufferCreateInfo :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	flags:           FramebufferCreateFlags,
-	renderPass:      RenderPass,
-	attachmentCount: u32,
-	pAttachments:    [^]ImageView,
-	width:           u32,
-	height:          u32,
-	layers:          u32,
-}
-
-SubpassDescription :: struct {
-	flags:                   SubpassDescriptionFlags,
-	pipelineBindPoint:       PipelineBindPoint,
-	inputAttachmentCount:    u32,
-	pInputAttachments:       [^]AttachmentReference,
-	colorAttachmentCount:    u32,
-	pColorAttachments:       [^]AttachmentReference,
-	pResolveAttachments:     [^]AttachmentReference,
-	pDepthStencilAttachment: ^AttachmentReference,
-	preserveAttachmentCount: u32,
-	pPreserveAttachments:    [^]u32,
-}
-
-SubpassDependency :: struct {
-	srcSubpass:      u32,
-	dstSubpass:      u32,
-	srcStageMask:    PipelineStageFlags,
-	dstStageMask:    PipelineStageFlags,
-	srcAccessMask:   AccessFlags,
-	dstAccessMask:   AccessFlags,
-	dependencyFlags: DependencyFlags,
-}
-
-RenderPassCreateInfo :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	flags:           RenderPassCreateFlags,
-	attachmentCount: u32,
-	pAttachments:    [^]AttachmentDescription,
-	subpassCount:    u32,
-	pSubpasses:      [^]SubpassDescription,
-	dependencyCount: u32,
-	pDependencies:   [^]SubpassDependency,
-}
-
-CommandPoolCreateInfo :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	flags:            CommandPoolCreateFlags,
-	queueFamilyIndex: u32,
-}
-
-CommandBufferAllocateInfo :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	commandPool:        CommandPool,
-	level:              CommandBufferLevel,
-	commandBufferCount: u32,
-}
-
-CommandBufferInheritanceInfo :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	renderPass:           RenderPass,
-	subpass:              u32,
-	framebuffer:          Framebuffer,
-	occlusionQueryEnable: b32,
-	queryFlags:           QueryControlFlags,
-	pipelineStatistics:   QueryPipelineStatisticFlags,
-}
-
-CommandBufferBeginInfo :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	flags:            CommandBufferUsageFlags,
-	pInheritanceInfo: ^CommandBufferInheritanceInfo,
-}
-
-BufferCopy :: struct {
-	srcOffset: DeviceSize,
-	dstOffset: DeviceSize,
-	size:      DeviceSize,
-}
-
-ImageSubresourceLayers :: struct {
-	aspectMask:     ImageAspectFlags,
-	mipLevel:       u32,
-	baseArrayLayer: u32,
-	layerCount:     u32,
-}
-
-BufferImageCopy :: struct {
-	bufferOffset:      DeviceSize,
-	bufferRowLength:   u32,
-	bufferImageHeight: u32,
-	imageSubresource:  ImageSubresourceLayers,
-	imageOffset:       Offset3D,
-	imageExtent:       Extent3D,
-}
-
-ClearColorValue :: struct #raw_union {
-	float32: [4]f32,
-	int32:   [4]i32,
-	uint32:  [4]u32,
-}
-
-ClearDepthStencilValue :: struct {
-	depth:   f32,
-	stencil: u32,
-}
-
-ClearValue :: struct #raw_union {
-	color:        ClearColorValue,
-	depthStencil: ClearDepthStencilValue,
-}
-
-ClearAttachment :: struct {
-	aspectMask:      ImageAspectFlags,
-	colorAttachment: u32,
-	clearValue:      ClearValue,
-}
-
-ClearRect :: struct {
-	rect:           Rect2D,
-	baseArrayLayer: u32,
-	layerCount:     u32,
-}
-
-ImageBlit :: struct {
-	srcSubresource: ImageSubresourceLayers,
-	srcOffsets:     [2]Offset3D,
-	dstSubresource: ImageSubresourceLayers,
-	dstOffsets:     [2]Offset3D,
-}
-
-ImageCopy :: struct {
-	srcSubresource: ImageSubresourceLayers,
-	srcOffset:      Offset3D,
-	dstSubresource: ImageSubresourceLayers,
-	dstOffset:      Offset3D,
-	extent:         Extent3D,
-}
-
-ImageResolve :: struct {
-	srcSubresource: ImageSubresourceLayers,
-	srcOffset:      Offset3D,
-	dstSubresource: ImageSubresourceLayers,
-	dstOffset:      Offset3D,
-	extent:         Extent3D,
-}
-
-RenderPassBeginInfo :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	renderPass:      RenderPass,
-	framebuffer:     Framebuffer,
-	renderArea:      Rect2D,
-	clearValueCount: u32,
-	pClearValues:    [^]ClearValue,
-}
-
-PhysicalDeviceSubgroupProperties :: struct {
-	sType:                     StructureType,
-	pNext:                     rawptr,
-	subgroupSize:              u32,
-	supportedStages:           ShaderStageFlags,
-	supportedOperations:       SubgroupFeatureFlags,
-	quadOperationsInAllStages: b32,
-}
-
-BindBufferMemoryInfo :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	buffer:       Buffer,
-	memory:       DeviceMemory,
-	memoryOffset: DeviceSize,
-}
-
-BindImageMemoryInfo :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	image:        Image,
-	memory:       DeviceMemory,
-	memoryOffset: DeviceSize,
-}
-
-PhysicalDevice16BitStorageFeatures :: struct {
-	sType:                              StructureType,
-	pNext:                              rawptr,
-	storageBuffer16BitAccess:           b32,
-	uniformAndStorageBuffer16BitAccess: b32,
-	storagePushConstant16:              b32,
-	storageInputOutput16:               b32,
-}
-
-MemoryDedicatedRequirements :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	prefersDedicatedAllocation:  b32,
-	requiresDedicatedAllocation: b32,
-}
-
-MemoryDedicatedAllocateInfo :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	image:  Image,
-	buffer: Buffer,
-}
-
-MemoryAllocateFlagsInfo :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	flags:      MemoryAllocateFlags,
-	deviceMask: u32,
-}
-
-DeviceGroupRenderPassBeginInfo :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	deviceMask:            u32,
-	deviceRenderAreaCount: u32,
-	pDeviceRenderAreas:    [^]Rect2D,
-}
-
-DeviceGroupCommandBufferBeginInfo :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	deviceMask: u32,
-}
-
-DeviceGroupSubmitInfo :: struct {
-	sType:                         StructureType,
-	pNext:                         rawptr,
-	waitSemaphoreCount:            u32,
-	pWaitSemaphoreDeviceIndices:   [^]u32,
-	commandBufferCount:            u32,
-	pCommandBufferDeviceMasks:     [^]u32,
-	signalSemaphoreCount:          u32,
-	pSignalSemaphoreDeviceIndices: [^]u32,
-}
-
-DeviceGroupBindSparseInfo :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	resourceDeviceIndex: u32,
-	memoryDeviceIndex:   u32,
-}
-
-BindBufferMemoryDeviceGroupInfo :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	deviceIndexCount: u32,
-	pDeviceIndices:   [^]u32,
-}
-
-BindImageMemoryDeviceGroupInfo :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	deviceIndexCount:             u32,
-	pDeviceIndices:               [^]u32,
-	splitInstanceBindRegionCount: u32,
-	pSplitInstanceBindRegions:    [^]Rect2D,
-}
-
-PhysicalDeviceGroupProperties :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	physicalDeviceCount: u32,
-	physicalDevices:     [MAX_DEVICE_GROUP_SIZE]PhysicalDevice,
-	subsetAllocation:    b32,
-}
-
-DeviceGroupDeviceCreateInfo :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	physicalDeviceCount: u32,
-	pPhysicalDevices:    [^]PhysicalDevice,
-}
-
-BufferMemoryRequirementsInfo2 :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	buffer: Buffer,
-}
-
-ImageMemoryRequirementsInfo2 :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	image: Image,
-}
-
-ImageSparseMemoryRequirementsInfo2 :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	image: Image,
-}
-
-MemoryRequirements2 :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	memoryRequirements: MemoryRequirements,
-}
-
-SparseImageMemoryRequirements2 :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	memoryRequirements: SparseImageMemoryRequirements,
-}
-
-PhysicalDeviceFeatures2 :: struct {
-	sType:    StructureType,
-	pNext:    rawptr,
-	features: PhysicalDeviceFeatures,
-}
-
-PhysicalDeviceProperties2 :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	properties: PhysicalDeviceProperties,
-}
-
-FormatProperties2 :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	formatProperties: FormatProperties,
-}
-
-ImageFormatProperties2 :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	imageFormatProperties: ImageFormatProperties,
-}
-
-PhysicalDeviceImageFormatInfo2 :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	format: Format,
-	type:   ImageType,
-	tiling: ImageTiling,
-	usage:  ImageUsageFlags,
-	flags:  ImageCreateFlags,
-}
-
-QueueFamilyProperties2 :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	queueFamilyProperties: QueueFamilyProperties,
-}
-
-PhysicalDeviceMemoryProperties2 :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	memoryProperties: PhysicalDeviceMemoryProperties,
-}
-
-SparseImageFormatProperties2 :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	properties: SparseImageFormatProperties,
-}
-
-PhysicalDeviceSparseImageFormatInfo2 :: struct {
-	sType:   StructureType,
-	pNext:   rawptr,
-	format:  Format,
-	type:    ImageType,
-	samples: SampleCountFlags,
-	usage:   ImageUsageFlags,
-	tiling:  ImageTiling,
-}
-
-PhysicalDevicePointClippingProperties :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	pointClippingBehavior: PointClippingBehavior,
-}
-
-InputAttachmentAspectReference :: struct {
-	subpass:              u32,
-	inputAttachmentIndex: u32,
-	aspectMask:           ImageAspectFlags,
-}
-
-RenderPassInputAttachmentAspectCreateInfo :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	aspectReferenceCount: u32,
-	pAspectReferences:    [^]InputAttachmentAspectReference,
-}
-
-ImageViewUsageCreateInfo :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	usage: ImageUsageFlags,
-}
-
-PipelineTessellationDomainOriginStateCreateInfo :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	domainOrigin: TessellationDomainOrigin,
-}
-
-RenderPassMultiviewCreateInfo :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	subpassCount:         u32,
-	pViewMasks:           [^]u32,
-	dependencyCount:      u32,
-	pViewOffsets:         [^]i32,
-	correlationMaskCount: u32,
-	pCorrelationMasks:    [^]u32,
-}
-
-PhysicalDeviceMultiviewFeatures :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	multiview:                   b32,
-	multiviewGeometryShader:     b32,
-	multiviewTessellationShader: b32,
-}
-
-PhysicalDeviceMultiviewProperties :: struct {
-	sType:                     StructureType,
-	pNext:                     rawptr,
-	maxMultiviewViewCount:     u32,
-	maxMultiviewInstanceIndex: u32,
-}
-
-PhysicalDeviceVariablePointersFeatures :: struct {
-	sType:                         StructureType,
-	pNext:                         rawptr,
-	variablePointersStorageBuffer: b32,
-	variablePointers:              b32,
-}
-
-PhysicalDeviceProtectedMemoryFeatures :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	protectedMemory: b32,
-}
-
-PhysicalDeviceProtectedMemoryProperties :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	protectedNoFault: b32,
-}
-
-DeviceQueueInfo2 :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	flags:            DeviceQueueCreateFlags,
-	queueFamilyIndex: u32,
-	queueIndex:       u32,
-}
-
-ProtectedSubmitInfo :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	protectedSubmit: b32,
-}
-
-SamplerYcbcrConversionCreateInfo :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	format:                      Format,
-	ycbcrModel:                  SamplerYcbcrModelConversion,
-	ycbcrRange:                  SamplerYcbcrRange,
-	components:                  ComponentMapping,
-	xChromaOffset:               ChromaLocation,
-	yChromaOffset:               ChromaLocation,
-	chromaFilter:                Filter,
-	forceExplicitReconstruction: b32,
-}
-
-SamplerYcbcrConversionInfo :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	conversion: SamplerYcbcrConversion,
-}
-
-BindImagePlaneMemoryInfo :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	planeAspect: ImageAspectFlags,
-}
-
-ImagePlaneMemoryRequirementsInfo :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	planeAspect: ImageAspectFlags,
-}
-
-PhysicalDeviceSamplerYcbcrConversionFeatures :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	samplerYcbcrConversion: b32,
-}
-
-SamplerYcbcrConversionImageFormatProperties :: struct {
-	sType:                               StructureType,
-	pNext:                               rawptr,
-	combinedImageSamplerDescriptorCount: u32,
-}
-
-DescriptorUpdateTemplateEntry :: struct {
-	dstBinding:      u32,
-	dstArrayElement: u32,
-	descriptorCount: u32,
-	descriptorType:  DescriptorType,
-	offset:          int,
-	stride:          int,
-}
-
-DescriptorUpdateTemplateCreateInfo :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	flags:                      DescriptorUpdateTemplateCreateFlags,
-	descriptorUpdateEntryCount: u32,
-	pDescriptorUpdateEntries:   [^]DescriptorUpdateTemplateEntry,
-	templateType:               DescriptorUpdateTemplateType,
-	descriptorSetLayout:        DescriptorSetLayout,
-	pipelineBindPoint:          PipelineBindPoint,
-	pipelineLayout:             PipelineLayout,
-	set:                        u32,
-}
-
-ExternalMemoryProperties :: struct {
-	externalMemoryFeatures:        ExternalMemoryFeatureFlags,
-	exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlags,
-	compatibleHandleTypes:         ExternalMemoryHandleTypeFlags,
-}
-
-PhysicalDeviceExternalImageFormatInfo :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	handleType: ExternalMemoryHandleTypeFlags,
-}
-
-ExternalImageFormatProperties :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	externalMemoryProperties: ExternalMemoryProperties,
-}
-
-PhysicalDeviceExternalBufferInfo :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	flags:      BufferCreateFlags,
-	usage:      BufferUsageFlags,
-	handleType: ExternalMemoryHandleTypeFlags,
-}
-
-ExternalBufferProperties :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	externalMemoryProperties: ExternalMemoryProperties,
-}
-
-PhysicalDeviceIDProperties :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	deviceUUID:      [UUID_SIZE]u8,
-	driverUUID:      [UUID_SIZE]u8,
-	deviceLUID:      [LUID_SIZE]u8,
-	deviceNodeMask:  u32,
-	deviceLUIDValid: b32,
-}
-
-ExternalMemoryImageCreateInfo :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	handleTypes: ExternalMemoryHandleTypeFlags,
-}
-
-ExternalMemoryBufferCreateInfo :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	handleTypes: ExternalMemoryHandleTypeFlags,
-}
-
-ExportMemoryAllocateInfo :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	handleTypes: ExternalMemoryHandleTypeFlags,
-}
-
-PhysicalDeviceExternalFenceInfo :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	handleType: ExternalFenceHandleTypeFlags,
-}
-
-ExternalFenceProperties :: struct {
-	sType:                         StructureType,
-	pNext:                         rawptr,
-	exportFromImportedHandleTypes: ExternalFenceHandleTypeFlags,
-	compatibleHandleTypes:         ExternalFenceHandleTypeFlags,
-	externalFenceFeatures:         ExternalFenceFeatureFlags,
-}
-
-ExportFenceCreateInfo :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	handleTypes: ExternalFenceHandleTypeFlags,
-}
-
-ExportSemaphoreCreateInfo :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	handleTypes: ExternalSemaphoreHandleTypeFlags,
-}
-
-PhysicalDeviceExternalSemaphoreInfo :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	handleType: ExternalSemaphoreHandleTypeFlags,
-}
-
-ExternalSemaphoreProperties :: struct {
-	sType:                         StructureType,
-	pNext:                         rawptr,
-	exportFromImportedHandleTypes: ExternalSemaphoreHandleTypeFlags,
-	compatibleHandleTypes:         ExternalSemaphoreHandleTypeFlags,
-	externalSemaphoreFeatures:     ExternalSemaphoreFeatureFlags,
-}
-
-PhysicalDeviceMaintenance3Properties :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	maxPerSetDescriptors:    u32,
-	maxMemoryAllocationSize: DeviceSize,
-}
-
-DescriptorSetLayoutSupport :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	supported: b32,
-}
-
-PhysicalDeviceShaderDrawParametersFeatures :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	shaderDrawParameters: b32,
-}
-
-PhysicalDeviceVulkan11Features :: struct {
-	sType:                              StructureType,
-	pNext:                              rawptr,
-	storageBuffer16BitAccess:           b32,
-	uniformAndStorageBuffer16BitAccess: b32,
-	storagePushConstant16:              b32,
-	storageInputOutput16:               b32,
-	multiview:                          b32,
-	multiviewGeometryShader:            b32,
-	multiviewTessellationShader:        b32,
-	variablePointersStorageBuffer:      b32,
-	variablePointers:                   b32,
-	protectedMemory:                    b32,
-	samplerYcbcrConversion:             b32,
-	shaderDrawParameters:               b32,
-}
-
-PhysicalDeviceVulkan11Properties :: struct {
-	sType:                             StructureType,
-	pNext:                             rawptr,
-	deviceUUID:                        [UUID_SIZE]u8,
-	driverUUID:                        [UUID_SIZE]u8,
-	deviceLUID:                        [LUID_SIZE]u8,
-	deviceNodeMask:                    u32,
-	deviceLUIDValid:                   b32,
-	subgroupSize:                      u32,
-	subgroupSupportedStages:           ShaderStageFlags,
-	subgroupSupportedOperations:       SubgroupFeatureFlags,
-	subgroupQuadOperationsInAllStages: b32,
-	pointClippingBehavior:             PointClippingBehavior,
-	maxMultiviewViewCount:             u32,
-	maxMultiviewInstanceIndex:         u32,
-	protectedNoFault:                  b32,
-	maxPerSetDescriptors:              u32,
-	maxMemoryAllocationSize:           DeviceSize,
-}
-
-PhysicalDeviceVulkan12Features :: struct {
-	sType:                                              StructureType,
-	pNext:                                              rawptr,
-	samplerMirrorClampToEdge:                           b32,
-	drawIndirectCount:                                  b32,
-	storageBuffer8BitAccess:                            b32,
-	uniformAndStorageBuffer8BitAccess:                  b32,
-	storagePushConstant8:                               b32,
-	shaderBufferInt64Atomics:                           b32,
-	shaderSharedInt64Atomics:                           b32,
-	shaderFloat16:                                      b32,
-	shaderInt8:                                         b32,
-	descriptorIndexing:                                 b32,
-	shaderInputAttachmentArrayDynamicIndexing:          b32,
-	shaderUniformTexelBufferArrayDynamicIndexing:       b32,
-	shaderStorageTexelBufferArrayDynamicIndexing:       b32,
-	shaderUniformBufferArrayNonUniformIndexing:         b32,
-	shaderSampledImageArrayNonUniformIndexing:          b32,
-	shaderStorageBufferArrayNonUniformIndexing:         b32,
-	shaderStorageImageArrayNonUniformIndexing:          b32,
-	shaderInputAttachmentArrayNonUniformIndexing:       b32,
-	shaderUniformTexelBufferArrayNonUniformIndexing:    b32,
-	shaderStorageTexelBufferArrayNonUniformIndexing:    b32,
-	descriptorBindingUniformBufferUpdateAfterBind:      b32,
-	descriptorBindingSampledImageUpdateAfterBind:       b32,
-	descriptorBindingStorageImageUpdateAfterBind:       b32,
-	descriptorBindingStorageBufferUpdateAfterBind:      b32,
-	descriptorBindingUniformTexelBufferUpdateAfterBind: b32,
-	descriptorBindingStorageTexelBufferUpdateAfterBind: b32,
-	descriptorBindingUpdateUnusedWhilePending:          b32,
-	descriptorBindingPartiallyBound:                    b32,
-	descriptorBindingVariableDescriptorCount:           b32,
-	runtimeDescriptorArray:                             b32,
-	samplerFilterMinmax:                                b32,
-	scalarBlockLayout:                                  b32,
-	imagelessFramebuffer:                               b32,
-	uniformBufferStandardLayout:                        b32,
-	shaderSubgroupExtendedTypes:                        b32,
-	separateDepthStencilLayouts:                        b32,
-	hostQueryReset:                                     b32,
-	timelineSemaphore:                                  b32,
-	bufferDeviceAddress:                                b32,
-	bufferDeviceAddressCaptureReplay:                   b32,
-	bufferDeviceAddressMultiDevice:                     b32,
-	vulkanMemoryModel:                                  b32,
-	vulkanMemoryModelDeviceScope:                       b32,
-	vulkanMemoryModelAvailabilityVisibilityChains:      b32,
-	shaderOutputViewportIndex:                          b32,
-	shaderOutputLayer:                                  b32,
-	subgroupBroadcastDynamicId:                         b32,
-}
-
-ConformanceVersion :: struct {
-	major:    u8,
-	minor:    u8,
-	subminor: u8,
-	patch:    u8,
-}
-
-PhysicalDeviceVulkan12Properties :: struct {
-	sType:                                                StructureType,
-	pNext:                                                rawptr,
-	driverID:                                             DriverId,
-	driverName:                                           [MAX_DRIVER_NAME_SIZE]byte,
-	driverInfo:                                           [MAX_DRIVER_INFO_SIZE]byte,
-	conformanceVersion:                                   ConformanceVersion,
-	denormBehaviorIndependence:                           ShaderFloatControlsIndependence,
-	roundingModeIndependence:                             ShaderFloatControlsIndependence,
-	shaderSignedZeroInfNanPreserveFloat16:                b32,
-	shaderSignedZeroInfNanPreserveFloat32:                b32,
-	shaderSignedZeroInfNanPreserveFloat64:                b32,
-	shaderDenormPreserveFloat16:                          b32,
-	shaderDenormPreserveFloat32:                          b32,
-	shaderDenormPreserveFloat64:                          b32,
-	shaderDenormFlushToZeroFloat16:                       b32,
-	shaderDenormFlushToZeroFloat32:                       b32,
-	shaderDenormFlushToZeroFloat64:                       b32,
-	shaderRoundingModeRTEFloat16:                         b32,
-	shaderRoundingModeRTEFloat32:                         b32,
-	shaderRoundingModeRTEFloat64:                         b32,
-	shaderRoundingModeRTZFloat16:                         b32,
-	shaderRoundingModeRTZFloat32:                         b32,
-	shaderRoundingModeRTZFloat64:                         b32,
-	maxUpdateAfterBindDescriptorsInAllPools:              u32,
-	shaderUniformBufferArrayNonUniformIndexingNative:     b32,
-	shaderSampledImageArrayNonUniformIndexingNative:      b32,
-	shaderStorageBufferArrayNonUniformIndexingNative:     b32,
-	shaderStorageImageArrayNonUniformIndexingNative:      b32,
-	shaderInputAttachmentArrayNonUniformIndexingNative:   b32,
-	robustBufferAccessUpdateAfterBind:                    b32,
-	quadDivergentImplicitLod:                             b32,
-	maxPerStageDescriptorUpdateAfterBindSamplers:         u32,
-	maxPerStageDescriptorUpdateAfterBindUniformBuffers:   u32,
-	maxPerStageDescriptorUpdateAfterBindStorageBuffers:   u32,
-	maxPerStageDescriptorUpdateAfterBindSampledImages:    u32,
-	maxPerStageDescriptorUpdateAfterBindStorageImages:    u32,
-	maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
-	maxPerStageUpdateAfterBindResources:                  u32,
-	maxDescriptorSetUpdateAfterBindSamplers:              u32,
-	maxDescriptorSetUpdateAfterBindUniformBuffers:        u32,
-	maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
-	maxDescriptorSetUpdateAfterBindStorageBuffers:        u32,
-	maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
-	maxDescriptorSetUpdateAfterBindSampledImages:         u32,
-	maxDescriptorSetUpdateAfterBindStorageImages:         u32,
-	maxDescriptorSetUpdateAfterBindInputAttachments:      u32,
-	supportedDepthResolveModes:                           ResolveModeFlags,
-	supportedStencilResolveModes:                         ResolveModeFlags,
-	independentResolveNone:                               b32,
-	independentResolve:                                   b32,
-	filterMinmaxSingleComponentFormats:                   b32,
-	filterMinmaxImageComponentMapping:                    b32,
-	maxTimelineSemaphoreValueDifference:                  u64,
-	framebufferIntegerColorSampleCounts:                  SampleCountFlags,
-}
-
-ImageFormatListCreateInfo :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	viewFormatCount: u32,
-	pViewFormats:    [^]Format,
-}
-
-AttachmentDescription2 :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	flags:          AttachmentDescriptionFlags,
-	format:         Format,
-	samples:        SampleCountFlags,
-	loadOp:         AttachmentLoadOp,
-	storeOp:        AttachmentStoreOp,
-	stencilLoadOp:  AttachmentLoadOp,
-	stencilStoreOp: AttachmentStoreOp,
-	initialLayout:  ImageLayout,
-	finalLayout:    ImageLayout,
-}
-
-AttachmentReference2 :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	attachment: u32,
-	layout:     ImageLayout,
-	aspectMask: ImageAspectFlags,
-}
-
-SubpassDescription2 :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	flags:                   SubpassDescriptionFlags,
-	pipelineBindPoint:       PipelineBindPoint,
-	viewMask:                u32,
-	inputAttachmentCount:    u32,
-	pInputAttachments:       [^]AttachmentReference2,
-	colorAttachmentCount:    u32,
-	pColorAttachments:       [^]AttachmentReference2,
-	pResolveAttachments:     [^]AttachmentReference2,
-	pDepthStencilAttachment: ^AttachmentReference2,
-	preserveAttachmentCount: u32,
-	pPreserveAttachments:    [^]u32,
-}
-
-SubpassDependency2 :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	srcSubpass:      u32,
-	dstSubpass:      u32,
-	srcStageMask:    PipelineStageFlags,
-	dstStageMask:    PipelineStageFlags,
-	srcAccessMask:   AccessFlags,
-	dstAccessMask:   AccessFlags,
-	dependencyFlags: DependencyFlags,
-	viewOffset:      i32,
-}
-
-RenderPassCreateInfo2 :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	flags:                   RenderPassCreateFlags,
-	attachmentCount:         u32,
-	pAttachments:            [^]AttachmentDescription2,
-	subpassCount:            u32,
-	pSubpasses:              [^]SubpassDescription2,
-	dependencyCount:         u32,
-	pDependencies:           [^]SubpassDependency2,
-	correlatedViewMaskCount: u32,
-	pCorrelatedViewMasks:    [^]u32,
-}
-
-SubpassBeginInfo :: struct {
-	sType:    StructureType,
-	pNext:    rawptr,
-	contents: SubpassContents,
-}
-
-SubpassEndInfo :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-}
-
-PhysicalDevice8BitStorageFeatures :: struct {
-	sType:                             StructureType,
-	pNext:                             rawptr,
-	storageBuffer8BitAccess:           b32,
-	uniformAndStorageBuffer8BitAccess: b32,
-	storagePushConstant8:              b32,
-}
-
-PhysicalDeviceDriverProperties :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	driverID:           DriverId,
-	driverName:         [MAX_DRIVER_NAME_SIZE]byte,
-	driverInfo:         [MAX_DRIVER_INFO_SIZE]byte,
-	conformanceVersion: ConformanceVersion,
-}
-
-PhysicalDeviceShaderAtomicInt64Features :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	shaderBufferInt64Atomics: b32,
-	shaderSharedInt64Atomics: b32,
-}
-
-PhysicalDeviceShaderFloat16Int8Features :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	shaderFloat16: b32,
-	shaderInt8:    b32,
-}
-
-PhysicalDeviceFloatControlsProperties :: struct {
-	sType:                                 StructureType,
-	pNext:                                 rawptr,
-	denormBehaviorIndependence:            ShaderFloatControlsIndependence,
-	roundingModeIndependence:              ShaderFloatControlsIndependence,
-	shaderSignedZeroInfNanPreserveFloat16: b32,
-	shaderSignedZeroInfNanPreserveFloat32: b32,
-	shaderSignedZeroInfNanPreserveFloat64: b32,
-	shaderDenormPreserveFloat16:           b32,
-	shaderDenormPreserveFloat32:           b32,
-	shaderDenormPreserveFloat64:           b32,
-	shaderDenormFlushToZeroFloat16:        b32,
-	shaderDenormFlushToZeroFloat32:        b32,
-	shaderDenormFlushToZeroFloat64:        b32,
-	shaderRoundingModeRTEFloat16:          b32,
-	shaderRoundingModeRTEFloat32:          b32,
-	shaderRoundingModeRTEFloat64:          b32,
-	shaderRoundingModeRTZFloat16:          b32,
-	shaderRoundingModeRTZFloat32:          b32,
-	shaderRoundingModeRTZFloat64:          b32,
-}
-
-DescriptorSetLayoutBindingFlagsCreateInfo :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	bindingCount:  u32,
-	pBindingFlags: [^]DescriptorBindingFlags,
-}
-
-PhysicalDeviceDescriptorIndexingFeatures :: struct {
-	sType:                                              StructureType,
-	pNext:                                              rawptr,
-	shaderInputAttachmentArrayDynamicIndexing:          b32,
-	shaderUniformTexelBufferArrayDynamicIndexing:       b32,
-	shaderStorageTexelBufferArrayDynamicIndexing:       b32,
-	shaderUniformBufferArrayNonUniformIndexing:         b32,
-	shaderSampledImageArrayNonUniformIndexing:          b32,
-	shaderStorageBufferArrayNonUniformIndexing:         b32,
-	shaderStorageImageArrayNonUniformIndexing:          b32,
-	shaderInputAttachmentArrayNonUniformIndexing:       b32,
-	shaderUniformTexelBufferArrayNonUniformIndexing:    b32,
-	shaderStorageTexelBufferArrayNonUniformIndexing:    b32,
-	descriptorBindingUniformBufferUpdateAfterBind:      b32,
-	descriptorBindingSampledImageUpdateAfterBind:       b32,
-	descriptorBindingStorageImageUpdateAfterBind:       b32,
-	descriptorBindingStorageBufferUpdateAfterBind:      b32,
-	descriptorBindingUniformTexelBufferUpdateAfterBind: b32,
-	descriptorBindingStorageTexelBufferUpdateAfterBind: b32,
-	descriptorBindingUpdateUnusedWhilePending:          b32,
-	descriptorBindingPartiallyBound:                    b32,
-	descriptorBindingVariableDescriptorCount:           b32,
-	runtimeDescriptorArray:                             b32,
-}
-
-PhysicalDeviceDescriptorIndexingProperties :: struct {
-	sType:                                                StructureType,
-	pNext:                                                rawptr,
-	maxUpdateAfterBindDescriptorsInAllPools:              u32,
-	shaderUniformBufferArrayNonUniformIndexingNative:     b32,
-	shaderSampledImageArrayNonUniformIndexingNative:      b32,
-	shaderStorageBufferArrayNonUniformIndexingNative:     b32,
-	shaderStorageImageArrayNonUniformIndexingNative:      b32,
-	shaderInputAttachmentArrayNonUniformIndexingNative:   b32,
-	robustBufferAccessUpdateAfterBind:                    b32,
-	quadDivergentImplicitLod:                             b32,
-	maxPerStageDescriptorUpdateAfterBindSamplers:         u32,
-	maxPerStageDescriptorUpdateAfterBindUniformBuffers:   u32,
-	maxPerStageDescriptorUpdateAfterBindStorageBuffers:   u32,
-	maxPerStageDescriptorUpdateAfterBindSampledImages:    u32,
-	maxPerStageDescriptorUpdateAfterBindStorageImages:    u32,
-	maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
-	maxPerStageUpdateAfterBindResources:                  u32,
-	maxDescriptorSetUpdateAfterBindSamplers:              u32,
-	maxDescriptorSetUpdateAfterBindUniformBuffers:        u32,
-	maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
-	maxDescriptorSetUpdateAfterBindStorageBuffers:        u32,
-	maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
-	maxDescriptorSetUpdateAfterBindSampledImages:         u32,
-	maxDescriptorSetUpdateAfterBindStorageImages:         u32,
-	maxDescriptorSetUpdateAfterBindInputAttachments:      u32,
-}
-
-DescriptorSetVariableDescriptorCountAllocateInfo :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	descriptorSetCount: u32,
-	pDescriptorCounts:  [^]u32,
-}
-
-DescriptorSetVariableDescriptorCountLayoutSupport :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	maxVariableDescriptorCount: u32,
-}
-
-SubpassDescriptionDepthStencilResolve :: struct {
-	sType:                          StructureType,
-	pNext:                          rawptr,
-	depthResolveMode:               ResolveModeFlags,
-	stencilResolveMode:             ResolveModeFlags,
-	pDepthStencilResolveAttachment: ^AttachmentReference2,
-}
-
-PhysicalDeviceDepthStencilResolveProperties :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	supportedDepthResolveModes:   ResolveModeFlags,
-	supportedStencilResolveModes: ResolveModeFlags,
-	independentResolveNone:       b32,
-	independentResolve:           b32,
-}
-
-PhysicalDeviceScalarBlockLayoutFeatures :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	scalarBlockLayout: b32,
-}
-
-ImageStencilUsageCreateInfo :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	stencilUsage: ImageUsageFlags,
-}
-
-SamplerReductionModeCreateInfo :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	reductionMode: SamplerReductionMode,
-}
-
-PhysicalDeviceSamplerFilterMinmaxProperties :: struct {
-	sType:                              StructureType,
-	pNext:                              rawptr,
-	filterMinmaxSingleComponentFormats: b32,
-	filterMinmaxImageComponentMapping:  b32,
-}
-
-PhysicalDeviceVulkanMemoryModelFeatures :: struct {
-	sType:                                         StructureType,
-	pNext:                                         rawptr,
-	vulkanMemoryModel:                             b32,
-	vulkanMemoryModelDeviceScope:                  b32,
-	vulkanMemoryModelAvailabilityVisibilityChains: b32,
-}
-
-PhysicalDeviceImagelessFramebufferFeatures :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	imagelessFramebuffer: b32,
-}
-
-FramebufferAttachmentImageInfo :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	flags:           ImageCreateFlags,
-	usage:           ImageUsageFlags,
-	width:           u32,
-	height:          u32,
-	layerCount:      u32,
-	viewFormatCount: u32,
-	pViewFormats:    [^]Format,
-}
-
-FramebufferAttachmentsCreateInfo :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	attachmentImageInfoCount: u32,
-	pAttachmentImageInfos:    [^]FramebufferAttachmentImageInfo,
-}
-
-RenderPassAttachmentBeginInfo :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	attachmentCount: u32,
-	pAttachments:    [^]ImageView,
-}
-
-PhysicalDeviceUniformBufferStandardLayoutFeatures :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	uniformBufferStandardLayout: b32,
-}
-
-PhysicalDeviceShaderSubgroupExtendedTypesFeatures :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	shaderSubgroupExtendedTypes: b32,
-}
-
-PhysicalDeviceSeparateDepthStencilLayoutsFeatures :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	separateDepthStencilLayouts: b32,
-}
-
-AttachmentReferenceStencilLayout :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	stencilLayout: ImageLayout,
-}
-
-AttachmentDescriptionStencilLayout :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	stencilInitialLayout: ImageLayout,
-	stencilFinalLayout:   ImageLayout,
-}
-
-PhysicalDeviceHostQueryResetFeatures :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	hostQueryReset: b32,
-}
-
-PhysicalDeviceTimelineSemaphoreFeatures :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	timelineSemaphore: b32,
-}
-
-PhysicalDeviceTimelineSemaphoreProperties :: struct {
-	sType:                               StructureType,
-	pNext:                               rawptr,
-	maxTimelineSemaphoreValueDifference: u64,
-}
-
-SemaphoreTypeCreateInfo :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	semaphoreType: SemaphoreType,
-	initialValue:  u64,
-}
-
-TimelineSemaphoreSubmitInfo :: struct {
-	sType:                     StructureType,
-	pNext:                     rawptr,
-	waitSemaphoreValueCount:   u32,
-	pWaitSemaphoreValues:      [^]u64,
-	signalSemaphoreValueCount: u32,
-	pSignalSemaphoreValues:    [^]u64,
-}
-
-SemaphoreWaitInfo :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	flags:          SemaphoreWaitFlags,
-	semaphoreCount: u32,
-	pSemaphores:    [^]Semaphore,
-	pValues:        [^]u64,
-}
-
-SemaphoreSignalInfo :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	semaphore: Semaphore,
-	value:     u64,
-}
-
-PhysicalDeviceBufferDeviceAddressFeatures :: struct {
-	sType:                            StructureType,
-	pNext:                            rawptr,
-	bufferDeviceAddress:              b32,
-	bufferDeviceAddressCaptureReplay: b32,
-	bufferDeviceAddressMultiDevice:   b32,
-}
-
-BufferDeviceAddressInfo :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	buffer: Buffer,
-}
-
-BufferOpaqueCaptureAddressCreateInfo :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	opaqueCaptureAddress: u64,
-}
-
-MemoryOpaqueCaptureAddressAllocateInfo :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	opaqueCaptureAddress: u64,
-}
-
-DeviceMemoryOpaqueCaptureAddressInfo :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	memory: DeviceMemory,
-}
-
-PhysicalDeviceVulkan13Features :: struct {
-	sType:                                              StructureType,
-	pNext:                                              rawptr,
-	robustImageAccess:                                  b32,
-	inlineUniformBlock:                                 b32,
-	descriptorBindingInlineUniformBlockUpdateAfterBind: b32,
-	pipelineCreationCacheControl:                       b32,
-	privateData:                                        b32,
-	shaderDemoteToHelperInvocation:                     b32,
-	shaderTerminateInvocation:                          b32,
-	subgroupSizeControl:                                b32,
-	computeFullSubgroups:                               b32,
-	synchronization2:                                   b32,
-	textureCompressionASTC_HDR:                         b32,
-	shaderZeroInitializeWorkgroupMemory:                b32,
-	dynamicRendering:                                   b32,
-	shaderIntegerDotProduct:                            b32,
-	maintenance4:                                       b32,
-}
-
-PhysicalDeviceVulkan13Properties :: struct {
-	sType:                                                                         StructureType,
-	pNext:                                                                         rawptr,
-	minSubgroupSize:                                                               u32,
-	maxSubgroupSize:                                                               u32,
-	maxComputeWorkgroupSubgroups:                                                  u32,
-	requiredSubgroupSizeStages:                                                    ShaderStageFlags,
-	maxInlineUniformBlockSize:                                                     u32,
-	maxPerStageDescriptorInlineUniformBlocks:                                      u32,
-	maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks:                       u32,
-	maxDescriptorSetInlineUniformBlocks:                                           u32,
-	maxDescriptorSetUpdateAfterBindInlineUniformBlocks:                            u32,
-	maxInlineUniformTotalSize:                                                     u32,
-	integerDotProduct8BitUnsignedAccelerated:                                      b32,
-	integerDotProduct8BitSignedAccelerated:                                        b32,
-	integerDotProduct8BitMixedSignednessAccelerated:                               b32,
-	integerDotProduct4x8BitPackedUnsignedAccelerated:                              b32,
-	integerDotProduct4x8BitPackedSignedAccelerated:                                b32,
-	integerDotProduct4x8BitPackedMixedSignednessAccelerated:                       b32,
-	integerDotProduct16BitUnsignedAccelerated:                                     b32,
-	integerDotProduct16BitSignedAccelerated:                                       b32,
-	integerDotProduct16BitMixedSignednessAccelerated:                              b32,
-	integerDotProduct32BitUnsignedAccelerated:                                     b32,
-	integerDotProduct32BitSignedAccelerated:                                       b32,
-	integerDotProduct32BitMixedSignednessAccelerated:                              b32,
-	integerDotProduct64BitUnsignedAccelerated:                                     b32,
-	integerDotProduct64BitSignedAccelerated:                                       b32,
-	integerDotProduct64BitMixedSignednessAccelerated:                              b32,
-	integerDotProductAccumulatingSaturating8BitUnsignedAccelerated:                b32,
-	integerDotProductAccumulatingSaturating8BitSignedAccelerated:                  b32,
-	integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated:         b32,
-	integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated:        b32,
-	integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated:          b32,
-	integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32,
-	integerDotProductAccumulatingSaturating16BitUnsignedAccelerated:               b32,
-	integerDotProductAccumulatingSaturating16BitSignedAccelerated:                 b32,
-	integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated:        b32,
-	integerDotProductAccumulatingSaturating32BitUnsignedAccelerated:               b32,
-	integerDotProductAccumulatingSaturating32BitSignedAccelerated:                 b32,
-	integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated:        b32,
-	integerDotProductAccumulatingSaturating64BitUnsignedAccelerated:               b32,
-	integerDotProductAccumulatingSaturating64BitSignedAccelerated:                 b32,
-	integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated:        b32,
-	storageTexelBufferOffsetAlignmentBytes:                                        DeviceSize,
-	storageTexelBufferOffsetSingleTexelAlignment:                                  b32,
-	uniformTexelBufferOffsetAlignmentBytes:                                        DeviceSize,
-	uniformTexelBufferOffsetSingleTexelAlignment:                                  b32,
-	maxBufferSize:                                                                 DeviceSize,
-}
-
-PipelineCreationFeedback :: struct {
-	flags:    PipelineCreationFeedbackFlags,
-	duration: u64,
-}
-
-PipelineCreationFeedbackCreateInfo :: struct {
-	sType:                              StructureType,
-	pNext:                              rawptr,
-	pPipelineCreationFeedback:          ^PipelineCreationFeedback,
-	pipelineStageCreationFeedbackCount: u32,
-	pPipelineStageCreationFeedbacks:    [^]PipelineCreationFeedback,
-}
-
-PhysicalDeviceShaderTerminateInvocationFeatures :: struct {
-	sType:                     StructureType,
-	pNext:                     rawptr,
-	shaderTerminateInvocation: b32,
-}
-
-PhysicalDeviceToolProperties :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	name:        [MAX_EXTENSION_NAME_SIZE]byte,
-	version:     [MAX_EXTENSION_NAME_SIZE]byte,
-	purposes:    ToolPurposeFlags,
-	description: [MAX_DESCRIPTION_SIZE]byte,
-	layer:       [MAX_EXTENSION_NAME_SIZE]byte,
-}
-
-PhysicalDeviceShaderDemoteToHelperInvocationFeatures :: struct {
-	sType:                          StructureType,
-	pNext:                          rawptr,
-	shaderDemoteToHelperInvocation: b32,
-}
-
-PhysicalDevicePrivateDataFeatures :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	privateData: b32,
-}
-
-DevicePrivateDataCreateInfo :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	privateDataSlotRequestCount: u32,
-}
-
-PrivateDataSlotCreateInfo :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	flags: PrivateDataSlotCreateFlags,
-}
-
-PhysicalDevicePipelineCreationCacheControlFeatures :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	pipelineCreationCacheControl: b32,
-}
-
-MemoryBarrier2 :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	srcStageMask:  PipelineStageFlags2,
-	srcAccessMask: AccessFlags2,
-	dstStageMask:  PipelineStageFlags2,
-	dstAccessMask: AccessFlags2,
-}
-
-BufferMemoryBarrier2 :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	srcStageMask:        PipelineStageFlags2,
-	srcAccessMask:       AccessFlags2,
-	dstStageMask:        PipelineStageFlags2,
-	dstAccessMask:       AccessFlags2,
-	srcQueueFamilyIndex: u32,
-	dstQueueFamilyIndex: u32,
-	buffer:              Buffer,
-	offset:              DeviceSize,
-	size:                DeviceSize,
-}
-
-ImageMemoryBarrier2 :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	srcStageMask:        PipelineStageFlags2,
-	srcAccessMask:       AccessFlags2,
-	dstStageMask:        PipelineStageFlags2,
-	dstAccessMask:       AccessFlags2,
-	oldLayout:           ImageLayout,
-	newLayout:           ImageLayout,
-	srcQueueFamilyIndex: u32,
-	dstQueueFamilyIndex: u32,
-	image:               Image,
-	subresourceRange:    ImageSubresourceRange,
-}
-
-DependencyInfo :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	dependencyFlags:          DependencyFlags,
-	memoryBarrierCount:       u32,
-	pMemoryBarriers:          [^]MemoryBarrier2,
-	bufferMemoryBarrierCount: u32,
-	pBufferMemoryBarriers:    [^]BufferMemoryBarrier2,
-	imageMemoryBarrierCount:  u32,
-	pImageMemoryBarriers:     [^]ImageMemoryBarrier2,
-}
-
-SemaphoreSubmitInfo :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	semaphore:   Semaphore,
-	value:       u64,
-	stageMask:   PipelineStageFlags2,
-	deviceIndex: u32,
-}
-
-CommandBufferSubmitInfo :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	commandBuffer: CommandBuffer,
-	deviceMask:    u32,
-}
-
-SubmitInfo2 :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	flags:                    SubmitFlags,
-	waitSemaphoreInfoCount:   u32,
-	pWaitSemaphoreInfos:      [^]SemaphoreSubmitInfo,
-	commandBufferInfoCount:   u32,
-	pCommandBufferInfos:      [^]CommandBufferSubmitInfo,
-	signalSemaphoreInfoCount: u32,
-	pSignalSemaphoreInfos:    [^]SemaphoreSubmitInfo,
-}
-
-PhysicalDeviceSynchronization2Features :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	synchronization2: b32,
-}
-
-PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures :: struct {
-	sType:                               StructureType,
-	pNext:                               rawptr,
-	shaderZeroInitializeWorkgroupMemory: b32,
-}
-
-PhysicalDeviceImageRobustnessFeatures :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	robustImageAccess: b32,
-}
-
-BufferCopy2 :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	srcOffset: DeviceSize,
-	dstOffset: DeviceSize,
-	size:      DeviceSize,
-}
-
-CopyBufferInfo2 :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	srcBuffer:   Buffer,
-	dstBuffer:   Buffer,
-	regionCount: u32,
-	pRegions:    [^]BufferCopy2,
-}
-
-ImageCopy2 :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	srcSubresource: ImageSubresourceLayers,
-	srcOffset:      Offset3D,
-	dstSubresource: ImageSubresourceLayers,
-	dstOffset:      Offset3D,
-	extent:         Extent3D,
-}
-
-CopyImageInfo2 :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	srcImage:       Image,
-	srcImageLayout: ImageLayout,
-	dstImage:       Image,
-	dstImageLayout: ImageLayout,
-	regionCount:    u32,
-	pRegions:       [^]ImageCopy2,
-}
-
-BufferImageCopy2 :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	bufferOffset:      DeviceSize,
-	bufferRowLength:   u32,
-	bufferImageHeight: u32,
-	imageSubresource:  ImageSubresourceLayers,
-	imageOffset:       Offset3D,
-	imageExtent:       Extent3D,
-}
-
-CopyBufferToImageInfo2 :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	srcBuffer:      Buffer,
-	dstImage:       Image,
-	dstImageLayout: ImageLayout,
-	regionCount:    u32,
-	pRegions:       [^]BufferImageCopy2,
-}
-
-CopyImageToBufferInfo2 :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	srcImage:       Image,
-	srcImageLayout: ImageLayout,
-	dstBuffer:      Buffer,
-	regionCount:    u32,
-	pRegions:       [^]BufferImageCopy2,
-}
-
-ImageBlit2 :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	srcSubresource: ImageSubresourceLayers,
-	srcOffsets:     [2]Offset3D,
-	dstSubresource: ImageSubresourceLayers,
-	dstOffsets:     [2]Offset3D,
-}
-
-BlitImageInfo2 :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	srcImage:       Image,
-	srcImageLayout: ImageLayout,
-	dstImage:       Image,
-	dstImageLayout: ImageLayout,
-	regionCount:    u32,
-	pRegions:       [^]ImageBlit2,
-	filter:         Filter,
-}
-
-ImageResolve2 :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	srcSubresource: ImageSubresourceLayers,
-	srcOffset:      Offset3D,
-	dstSubresource: ImageSubresourceLayers,
-	dstOffset:      Offset3D,
-	extent:         Extent3D,
-}
-
-ResolveImageInfo2 :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	srcImage:       Image,
-	srcImageLayout: ImageLayout,
-	dstImage:       Image,
-	dstImageLayout: ImageLayout,
-	regionCount:    u32,
-	pRegions:       [^]ImageResolve2,
-}
-
-PhysicalDeviceSubgroupSizeControlFeatures :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	subgroupSizeControl:  b32,
-	computeFullSubgroups: b32,
-}
-
-PhysicalDeviceSubgroupSizeControlProperties :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	minSubgroupSize:              u32,
-	maxSubgroupSize:              u32,
-	maxComputeWorkgroupSubgroups: u32,
-	requiredSubgroupSizeStages:   ShaderStageFlags,
-}
-
-PipelineShaderStageRequiredSubgroupSizeCreateInfo :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	requiredSubgroupSize: u32,
-}
-
-PhysicalDeviceInlineUniformBlockFeatures :: struct {
-	sType:                                              StructureType,
-	pNext:                                              rawptr,
-	inlineUniformBlock:                                 b32,
-	descriptorBindingInlineUniformBlockUpdateAfterBind: b32,
-}
-
-PhysicalDeviceInlineUniformBlockProperties :: struct {
-	sType:                                                   StructureType,
-	pNext:                                                   rawptr,
-	maxInlineUniformBlockSize:                               u32,
-	maxPerStageDescriptorInlineUniformBlocks:                u32,
-	maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
-	maxDescriptorSetInlineUniformBlocks:                     u32,
-	maxDescriptorSetUpdateAfterBindInlineUniformBlocks:      u32,
-}
-
-WriteDescriptorSetInlineUniformBlock :: struct {
-	sType:    StructureType,
-	pNext:    rawptr,
-	dataSize: u32,
-	pData:    rawptr,
-}
-
-DescriptorPoolInlineUniformBlockCreateInfo :: struct {
-	sType:                         StructureType,
-	pNext:                         rawptr,
-	maxInlineUniformBlockBindings: u32,
-}
-
-PhysicalDeviceTextureCompressionASTCHDRFeatures :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	textureCompressionASTC_HDR: b32,
-}
-
-RenderingAttachmentInfo :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	imageView:          ImageView,
-	imageLayout:        ImageLayout,
-	resolveMode:        ResolveModeFlags,
-	resolveImageView:   ImageView,
-	resolveImageLayout: ImageLayout,
-	loadOp:             AttachmentLoadOp,
-	storeOp:            AttachmentStoreOp,
-	clearValue:         ClearValue,
-}
-
-RenderingInfo :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	flags:                RenderingFlags,
-	renderArea:           Rect2D,
-	layerCount:           u32,
-	viewMask:             u32,
-	colorAttachmentCount: u32,
-	pColorAttachments:    [^]RenderingAttachmentInfo,
-	pDepthAttachment:     ^RenderingAttachmentInfo,
-	pStencilAttachment:   ^RenderingAttachmentInfo,
-}
-
-PipelineRenderingCreateInfo :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	viewMask:                u32,
-	colorAttachmentCount:    u32,
-	pColorAttachmentFormats: [^]Format,
-	depthAttachmentFormat:   Format,
-	stencilAttachmentFormat: Format,
-}
-
-PhysicalDeviceDynamicRenderingFeatures :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	dynamicRendering: b32,
-}
-
-CommandBufferInheritanceRenderingInfo :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	flags:                   RenderingFlags,
-	viewMask:                u32,
-	colorAttachmentCount:    u32,
-	pColorAttachmentFormats: [^]Format,
-	depthAttachmentFormat:   Format,
-	stencilAttachmentFormat: Format,
-	rasterizationSamples:    SampleCountFlags,
-}
-
-PhysicalDeviceShaderIntegerDotProductFeatures :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	shaderIntegerDotProduct: b32,
-}
-
-PhysicalDeviceShaderIntegerDotProductProperties :: struct {
-	sType:                                                                         StructureType,
-	pNext:                                                                         rawptr,
-	integerDotProduct8BitUnsignedAccelerated:                                      b32,
-	integerDotProduct8BitSignedAccelerated:                                        b32,
-	integerDotProduct8BitMixedSignednessAccelerated:                               b32,
-	integerDotProduct4x8BitPackedUnsignedAccelerated:                              b32,
-	integerDotProduct4x8BitPackedSignedAccelerated:                                b32,
-	integerDotProduct4x8BitPackedMixedSignednessAccelerated:                       b32,
-	integerDotProduct16BitUnsignedAccelerated:                                     b32,
-	integerDotProduct16BitSignedAccelerated:                                       b32,
-	integerDotProduct16BitMixedSignednessAccelerated:                              b32,
-	integerDotProduct32BitUnsignedAccelerated:                                     b32,
-	integerDotProduct32BitSignedAccelerated:                                       b32,
-	integerDotProduct32BitMixedSignednessAccelerated:                              b32,
-	integerDotProduct64BitUnsignedAccelerated:                                     b32,
-	integerDotProduct64BitSignedAccelerated:                                       b32,
-	integerDotProduct64BitMixedSignednessAccelerated:                              b32,
-	integerDotProductAccumulatingSaturating8BitUnsignedAccelerated:                b32,
-	integerDotProductAccumulatingSaturating8BitSignedAccelerated:                  b32,
-	integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated:         b32,
-	integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated:        b32,
-	integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated:          b32,
-	integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32,
-	integerDotProductAccumulatingSaturating16BitUnsignedAccelerated:               b32,
-	integerDotProductAccumulatingSaturating16BitSignedAccelerated:                 b32,
-	integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated:        b32,
-	integerDotProductAccumulatingSaturating32BitUnsignedAccelerated:               b32,
-	integerDotProductAccumulatingSaturating32BitSignedAccelerated:                 b32,
-	integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated:        b32,
-	integerDotProductAccumulatingSaturating64BitUnsignedAccelerated:               b32,
-	integerDotProductAccumulatingSaturating64BitSignedAccelerated:                 b32,
-	integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated:        b32,
-}
-
-PhysicalDeviceTexelBufferAlignmentProperties :: struct {
-	sType:                                        StructureType,
-	pNext:                                        rawptr,
-	storageTexelBufferOffsetAlignmentBytes:       DeviceSize,
-	storageTexelBufferOffsetSingleTexelAlignment: b32,
-	uniformTexelBufferOffsetAlignmentBytes:       DeviceSize,
-	uniformTexelBufferOffsetSingleTexelAlignment: b32,
-}
-
-FormatProperties3 :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	linearTilingFeatures:  FormatFeatureFlags2,
-	optimalTilingFeatures: FormatFeatureFlags2,
-	bufferFeatures:        FormatFeatureFlags2,
-}
-
-PhysicalDeviceMaintenance4Features :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	maintenance4: b32,
-}
-
-PhysicalDeviceMaintenance4Properties :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	maxBufferSize: DeviceSize,
-}
-
-DeviceBufferMemoryRequirements :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	pCreateInfo: ^BufferCreateInfo,
-}
-
-DeviceImageMemoryRequirements :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	pCreateInfo: ^ImageCreateInfo,
-	planeAspect: ImageAspectFlags,
-}
-
-SurfaceCapabilitiesKHR :: struct {
-	minImageCount:           u32,
-	maxImageCount:           u32,
-	currentExtent:           Extent2D,
-	minImageExtent:          Extent2D,
-	maxImageExtent:          Extent2D,
-	maxImageArrayLayers:     u32,
-	supportedTransforms:     SurfaceTransformFlagsKHR,
-	currentTransform:        SurfaceTransformFlagsKHR,
-	supportedCompositeAlpha: CompositeAlphaFlagsKHR,
-	supportedUsageFlags:     ImageUsageFlags,
-}
-
-SurfaceFormatKHR :: struct {
-	format:     Format,
-	colorSpace: ColorSpaceKHR,
-}
-
-SwapchainCreateInfoKHR :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	flags:                 SwapchainCreateFlagsKHR,
-	surface:               SurfaceKHR,
-	minImageCount:         u32,
-	imageFormat:           Format,
-	imageColorSpace:       ColorSpaceKHR,
-	imageExtent:           Extent2D,
-	imageArrayLayers:      u32,
-	imageUsage:            ImageUsageFlags,
-	imageSharingMode:      SharingMode,
-	queueFamilyIndexCount: u32,
-	pQueueFamilyIndices:   [^]u32,
-	preTransform:          SurfaceTransformFlagsKHR,
-	compositeAlpha:        CompositeAlphaFlagsKHR,
-	presentMode:           PresentModeKHR,
-	clipped:               b32,
-	oldSwapchain:          SwapchainKHR,
-}
-
-PresentInfoKHR :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	waitSemaphoreCount: u32,
-	pWaitSemaphores:    [^]Semaphore,
-	swapchainCount:     u32,
-	pSwapchains:        [^]SwapchainKHR,
-	pImageIndices:      [^]u32,
-	pResults:           [^]Result,
-}
-
-ImageSwapchainCreateInfoKHR :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	swapchain: SwapchainKHR,
-}
-
-BindImageMemorySwapchainInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	swapchain:  SwapchainKHR,
-	imageIndex: u32,
-}
-
-AcquireNextImageInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	swapchain:  SwapchainKHR,
-	timeout:    u64,
-	semaphore:  Semaphore,
-	fence:      Fence,
-	deviceMask: u32,
-}
-
-DeviceGroupPresentCapabilitiesKHR :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	presentMask: [MAX_DEVICE_GROUP_SIZE]u32,
-	modes:       DeviceGroupPresentModeFlagsKHR,
-}
-
-DeviceGroupPresentInfoKHR :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	swapchainCount: u32,
-	pDeviceMasks:   [^]u32,
-	mode:           DeviceGroupPresentModeFlagsKHR,
-}
-
-DeviceGroupSwapchainCreateInfoKHR :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	modes: DeviceGroupPresentModeFlagsKHR,
-}
-
-DisplayModeParametersKHR :: struct {
-	visibleRegion: Extent2D,
-	refreshRate:   u32,
-}
-
-DisplayModeCreateInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	flags:      DisplayModeCreateFlagsKHR,
-	parameters: DisplayModeParametersKHR,
-}
-
-DisplayModePropertiesKHR :: struct {
-	displayMode: DisplayModeKHR,
-	parameters:  DisplayModeParametersKHR,
-}
-
-DisplayPlaneCapabilitiesKHR :: struct {
-	supportedAlpha: DisplayPlaneAlphaFlagsKHR,
-	minSrcPosition: Offset2D,
-	maxSrcPosition: Offset2D,
-	minSrcExtent:   Extent2D,
-	maxSrcExtent:   Extent2D,
-	minDstPosition: Offset2D,
-	maxDstPosition: Offset2D,
-	minDstExtent:   Extent2D,
-	maxDstExtent:   Extent2D,
-}
-
-DisplayPlanePropertiesKHR :: struct {
-	currentDisplay:    DisplayKHR,
-	currentStackIndex: u32,
-}
-
-DisplayPropertiesKHR :: struct {
-	display:              DisplayKHR,
-	displayName:          cstring,
-	physicalDimensions:   Extent2D,
-	physicalResolution:   Extent2D,
-	supportedTransforms:  SurfaceTransformFlagsKHR,
-	planeReorderPossible: b32,
-	persistentContent:    b32,
-}
-
-DisplaySurfaceCreateInfoKHR :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	flags:           DisplaySurfaceCreateFlagsKHR,
-	displayMode:     DisplayModeKHR,
-	planeIndex:      u32,
-	planeStackIndex: u32,
-	transform:       SurfaceTransformFlagsKHR,
-	globalAlpha:     f32,
-	alphaMode:       DisplayPlaneAlphaFlagsKHR,
-	imageExtent:     Extent2D,
-}
-
-DisplayPresentInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	srcRect:    Rect2D,
-	dstRect:    Rect2D,
-	persistent: b32,
-}
-
-RenderingFragmentShadingRateAttachmentInfoKHR :: struct {
-	sType:                          StructureType,
-	pNext:                          rawptr,
-	imageView:                      ImageView,
-	imageLayout:                    ImageLayout,
-	shadingRateAttachmentTexelSize: Extent2D,
-}
-
-RenderingFragmentDensityMapAttachmentInfoEXT :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	imageView:   ImageView,
-	imageLayout: ImageLayout,
-}
-
-AttachmentSampleCountInfoAMD :: struct {
-	sType:                         StructureType,
-	pNext:                         rawptr,
-	colorAttachmentCount:          u32,
-	pColorAttachmentSamples:       [^]SampleCountFlags,
-	depthStencilAttachmentSamples: SampleCountFlags,
-}
-
-MultiviewPerViewAttributesInfoNVX :: struct {
-	sType:                          StructureType,
-	pNext:                          rawptr,
-	perViewAttributes:              b32,
-	perViewAttributesPositionXOnly: b32,
-}
-
-ImportMemoryFdInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	handleType: ExternalMemoryHandleTypeFlags,
-	fd:         c.int,
-}
-
-MemoryFdPropertiesKHR :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	memoryTypeBits: u32,
-}
-
-MemoryGetFdInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	memory:     DeviceMemory,
-	handleType: ExternalMemoryHandleTypeFlags,
-}
-
-ImportSemaphoreFdInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	semaphore:  Semaphore,
-	flags:      SemaphoreImportFlags,
-	handleType: ExternalSemaphoreHandleTypeFlags,
-	fd:         c.int,
-}
-
-SemaphoreGetFdInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	semaphore:  Semaphore,
-	handleType: ExternalSemaphoreHandleTypeFlags,
-}
-
-PhysicalDevicePushDescriptorPropertiesKHR :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	maxPushDescriptors: u32,
-}
-
-RectLayerKHR :: struct {
-	offset: Offset2D,
-	extent: Extent2D,
-	layer:  u32,
-}
-
-PresentRegionKHR :: struct {
-	rectangleCount: u32,
-	pRectangles:    [^]RectLayerKHR,
-}
-
-PresentRegionsKHR :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	swapchainCount: u32,
-	pRegions:       [^]PresentRegionKHR,
-}
-
-SharedPresentSurfaceCapabilitiesKHR :: struct {
-	sType:                            StructureType,
-	pNext:                            rawptr,
-	sharedPresentSupportedUsageFlags: ImageUsageFlags,
-}
-
-ImportFenceFdInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	fence:      Fence,
-	flags:      FenceImportFlags,
-	handleType: ExternalFenceHandleTypeFlags,
-	fd:         c.int,
-}
-
-FenceGetFdInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	fence:      Fence,
-	handleType: ExternalFenceHandleTypeFlags,
-}
-
-PhysicalDevicePerformanceQueryFeaturesKHR :: struct {
-	sType:                                StructureType,
-	pNext:                                rawptr,
-	performanceCounterQueryPools:         b32,
-	performanceCounterMultipleQueryPools: b32,
-}
-
-PhysicalDevicePerformanceQueryPropertiesKHR :: struct {
-	sType:                         StructureType,
-	pNext:                         rawptr,
-	allowCommandBufferQueryCopies: b32,
-}
-
-PerformanceCounterKHR :: struct {
-	sType:   StructureType,
-	pNext:   rawptr,
-	unit:    PerformanceCounterUnitKHR,
-	scope:   PerformanceCounterScopeKHR,
-	storage: PerformanceCounterStorageKHR,
-	uuid:    [UUID_SIZE]u8,
-}
-
-PerformanceCounterDescriptionKHR :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	flags:       PerformanceCounterDescriptionFlagsKHR,
-	name:        [MAX_DESCRIPTION_SIZE]byte,
-	category:    [MAX_DESCRIPTION_SIZE]byte,
-	description: [MAX_DESCRIPTION_SIZE]byte,
-}
-
-QueryPoolPerformanceCreateInfoKHR :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	queueFamilyIndex:  u32,
-	counterIndexCount: u32,
-	pCounterIndices:   [^]u32,
-}
-
-PerformanceCounterResultKHR :: struct #raw_union {
-	int32:   i32,
-	int64:   i64,
-	uint32:  u32,
-	uint64:  u64,
-	float32: f32,
-	float64: f64,
-}
-
-AcquireProfilingLockInfoKHR :: struct {
-	sType:   StructureType,
-	pNext:   rawptr,
-	flags:   AcquireProfilingLockFlagsKHR,
-	timeout: u64,
-}
-
-PerformanceQuerySubmitInfoKHR :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	counterPassIndex: u32,
-}
-
-PhysicalDeviceSurfaceInfo2KHR :: struct {
-	sType:   StructureType,
-	pNext:   rawptr,
-	surface: SurfaceKHR,
-}
-
-SurfaceCapabilities2KHR :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	surfaceCapabilities: SurfaceCapabilitiesKHR,
-}
-
-SurfaceFormat2KHR :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	surfaceFormat: SurfaceFormatKHR,
-}
-
-DisplayProperties2KHR :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	displayProperties: DisplayPropertiesKHR,
-}
-
-DisplayPlaneProperties2KHR :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	displayPlaneProperties: DisplayPlanePropertiesKHR,
-}
-
-DisplayModeProperties2KHR :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	displayModeProperties: DisplayModePropertiesKHR,
-}
-
-DisplayPlaneInfo2KHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	mode:       DisplayModeKHR,
-	planeIndex: u32,
-}
-
-DisplayPlaneCapabilities2KHR :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	capabilities: DisplayPlaneCapabilitiesKHR,
-}
-
-PhysicalDeviceShaderClockFeaturesKHR :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	shaderSubgroupClock: b32,
-	shaderDeviceClock:   b32,
-}
-
-DeviceQueueGlobalPriorityCreateInfoKHR :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	globalPriority: QueueGlobalPriorityKHR,
-}
-
-PhysicalDeviceGlobalPriorityQueryFeaturesKHR :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	globalPriorityQuery: b32,
-}
-
-QueueFamilyGlobalPriorityPropertiesKHR :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	priorityCount: u32,
-	priorities:    [MAX_GLOBAL_PRIORITY_SIZE_KHR]QueueGlobalPriorityKHR,
-}
-
-FragmentShadingRateAttachmentInfoKHR :: struct {
-	sType:                          StructureType,
-	pNext:                          rawptr,
-	pFragmentShadingRateAttachment: ^AttachmentReference2,
-	shadingRateAttachmentTexelSize: Extent2D,
-}
-
-PipelineFragmentShadingRateStateCreateInfoKHR :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	fragmentSize: Extent2D,
-	combinerOps:  [2]FragmentShadingRateCombinerOpKHR,
-}
-
-PhysicalDeviceFragmentShadingRateFeaturesKHR :: struct {
-	sType:                         StructureType,
-	pNext:                         rawptr,
-	pipelineFragmentShadingRate:   b32,
-	primitiveFragmentShadingRate:  b32,
-	attachmentFragmentShadingRate: b32,
-}
-
-PhysicalDeviceFragmentShadingRatePropertiesKHR :: struct {
-	sType:                                                StructureType,
-	pNext:                                                rawptr,
-	minFragmentShadingRateAttachmentTexelSize:            Extent2D,
-	maxFragmentShadingRateAttachmentTexelSize:            Extent2D,
-	maxFragmentShadingRateAttachmentTexelSizeAspectRatio: u32,
-	primitiveFragmentShadingRateWithMultipleViewports:    b32,
-	layeredShadingRateAttachments:                        b32,
-	fragmentShadingRateNonTrivialCombinerOps:             b32,
-	maxFragmentSize:                                      Extent2D,
-	maxFragmentSizeAspectRatio:                           u32,
-	maxFragmentShadingRateCoverageSamples:                u32,
-	maxFragmentShadingRateRasterizationSamples:           SampleCountFlags,
-	fragmentShadingRateWithShaderDepthStencilWrites:      b32,
-	fragmentShadingRateWithSampleMask:                    b32,
-	fragmentShadingRateWithShaderSampleMask:              b32,
-	fragmentShadingRateWithConservativeRasterization:     b32,
-	fragmentShadingRateWithFragmentShaderInterlock:       b32,
-	fragmentShadingRateWithCustomSampleLocations:         b32,
-	fragmentShadingRateStrictMultiplyCombiner:            b32,
-}
-
-PhysicalDeviceFragmentShadingRateKHR :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	sampleCounts: SampleCountFlags,
-	fragmentSize: Extent2D,
-}
-
-SurfaceProtectedCapabilitiesKHR :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	supportsProtected: b32,
-}
-
-PhysicalDevicePresentWaitFeaturesKHR :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	presentWait: b32,
-}
-
-PhysicalDevicePipelineExecutablePropertiesFeaturesKHR :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	pipelineExecutableInfo: b32,
-}
-
-PipelineInfoKHR :: struct {
-	sType:    StructureType,
-	pNext:    rawptr,
-	pipeline: Pipeline,
-}
-
-PipelineExecutablePropertiesKHR :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	stages:       ShaderStageFlags,
-	name:         [MAX_DESCRIPTION_SIZE]byte,
-	description:  [MAX_DESCRIPTION_SIZE]byte,
-	subgroupSize: u32,
-}
-
-PipelineExecutableInfoKHR :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	pipeline:        Pipeline,
-	executableIndex: u32,
-}
-
-PipelineExecutableStatisticValueKHR :: struct #raw_union {
-	b32: b32,
-	i64: i64,
-	u64: u64,
-	f64: f64,
-}
-
-PipelineExecutableStatisticKHR :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	name:        [MAX_DESCRIPTION_SIZE]byte,
-	description: [MAX_DESCRIPTION_SIZE]byte,
-	format:      PipelineExecutableStatisticFormatKHR,
-	value:       PipelineExecutableStatisticValueKHR,
-}
-
-PipelineExecutableInternalRepresentationKHR :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	name:        [MAX_DESCRIPTION_SIZE]byte,
-	description: [MAX_DESCRIPTION_SIZE]byte,
-	isText:      b32,
-	dataSize:    int,
-	pData:       rawptr,
-}
-
-PipelineLibraryCreateInfoKHR :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	libraryCount: u32,
-	pLibraries:   [^]Pipeline,
-}
-
-PresentIdKHR :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	swapchainCount: u32,
-	pPresentIds:    [^]u64,
-}
-
-PhysicalDevicePresentIdFeaturesKHR :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	presentId: b32,
-}
-
-QueueFamilyCheckpointProperties2NV :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	checkpointExecutionStageMask: PipelineStageFlags2,
-}
-
-CheckpointData2NV :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	stage:             PipelineStageFlags2,
-	pCheckpointMarker: rawptr,
-}
-
-PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR :: struct {
-	sType:                            StructureType,
-	pNext:                            rawptr,
-	shaderSubgroupUniformControlFlow: b32,
-}
-
-PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR :: struct {
-	sType:                                          StructureType,
-	pNext:                                          rawptr,
-	workgroupMemoryExplicitLayout:                  b32,
-	workgroupMemoryExplicitLayoutScalarBlockLayout: b32,
-	workgroupMemoryExplicitLayout8BitAccess:        b32,
-	workgroupMemoryExplicitLayout16BitAccess:       b32,
-}
-
-DebugReportCallbackCreateInfoEXT :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	flags:       DebugReportFlagsEXT,
-	pfnCallback: ProcDebugReportCallbackEXT,
-	pUserData:   rawptr,
-}
-
-PipelineRasterizationStateRasterizationOrderAMD :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	rasterizationOrder: RasterizationOrderAMD,
-}
-
-DebugMarkerObjectNameInfoEXT :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	objectType:  DebugReportObjectTypeEXT,
-	object:      u64,
-	pObjectName: cstring,
-}
-
-DebugMarkerObjectTagInfoEXT :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	objectType: DebugReportObjectTypeEXT,
-	object:     u64,
-	tagName:    u64,
-	tagSize:    int,
-	pTag:       rawptr,
-}
-
-DebugMarkerMarkerInfoEXT :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	pMarkerName: cstring,
-	color:       [4]f32,
-}
-
-DedicatedAllocationImageCreateInfoNV :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	dedicatedAllocation: b32,
-}
-
-DedicatedAllocationBufferCreateInfoNV :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	dedicatedAllocation: b32,
-}
-
-DedicatedAllocationMemoryAllocateInfoNV :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	image:  Image,
-	buffer: Buffer,
-}
-
-PhysicalDeviceTransformFeedbackFeaturesEXT :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	transformFeedback: b32,
-	geometryStreams:   b32,
-}
-
-PhysicalDeviceTransformFeedbackPropertiesEXT :: struct {
-	sType:                                      StructureType,
-	pNext:                                      rawptr,
-	maxTransformFeedbackStreams:                u32,
-	maxTransformFeedbackBuffers:                u32,
-	maxTransformFeedbackBufferSize:             DeviceSize,
-	maxTransformFeedbackStreamDataSize:         u32,
-	maxTransformFeedbackBufferDataSize:         u32,
-	maxTransformFeedbackBufferDataStride:       u32,
-	transformFeedbackQueries:                   b32,
-	transformFeedbackStreamsLinesTriangles:     b32,
-	transformFeedbackRasterizationStreamSelect: b32,
-	transformFeedbackDraw:                      b32,
-}
-
-PipelineRasterizationStateStreamCreateInfoEXT :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	flags:               PipelineRasterizationStateStreamCreateFlagsEXT,
-	rasterizationStream: u32,
-}
-
-CuModuleCreateInfoNVX :: struct {
-	sType:    StructureType,
-	pNext:    rawptr,
-	dataSize: int,
-	pData:    rawptr,
-}
-
-CuFunctionCreateInfoNVX :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	module: CuModuleNVX,
-	pName:  cstring,
-}
-
-CuLaunchInfoNVX :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	function:       CuFunctionNVX,
-	gridDimX:       u32,
-	gridDimY:       u32,
-	gridDimZ:       u32,
-	blockDimX:      u32,
-	blockDimY:      u32,
-	blockDimZ:      u32,
-	sharedMemBytes: u32,
-	paramCount:     int,
-	pParams:        [^]rawptr,
-	extraCount:     int,
-	pExtras:        [^]rawptr,
-}
-
-ImageViewHandleInfoNVX :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	imageView:      ImageView,
-	descriptorType: DescriptorType,
-	sampler:        Sampler,
-}
-
-ImageViewAddressPropertiesNVX :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	deviceAddress: DeviceAddress,
-	size:          DeviceSize,
-}
-
-TextureLODGatherFormatPropertiesAMD :: struct {
-	sType:                           StructureType,
-	pNext:                           rawptr,
-	supportsTextureGatherLODBiasAMD: b32,
-}
-
-ShaderResourceUsageAMD :: struct {
-	numUsedVgprs:             u32,
-	numUsedSgprs:             u32,
-	ldsSizePerLocalWorkGroup: u32,
-	ldsUsageSizeInBytes:      int,
-	scratchMemUsageInBytes:   int,
-}
-
-ShaderStatisticsInfoAMD :: struct {
-	shaderStageMask:      ShaderStageFlags,
-	resourceUsage:        ShaderResourceUsageAMD,
-	numPhysicalVgprs:     u32,
-	numPhysicalSgprs:     u32,
-	numAvailableVgprs:    u32,
-	numAvailableSgprs:    u32,
-	computeWorkGroupSize: [3]u32,
-}
-
-PhysicalDeviceCornerSampledImageFeaturesNV :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	cornerSampledImage: b32,
-}
-
-ExternalImageFormatPropertiesNV :: struct {
-	imageFormatProperties:         ImageFormatProperties,
-	externalMemoryFeatures:        ExternalMemoryFeatureFlagsNV,
-	exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlagsNV,
-	compatibleHandleTypes:         ExternalMemoryHandleTypeFlagsNV,
-}
-
-ExternalMemoryImageCreateInfoNV :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	handleTypes: ExternalMemoryHandleTypeFlagsNV,
-}
-
-ExportMemoryAllocateInfoNV :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	handleTypes: ExternalMemoryHandleTypeFlagsNV,
-}
-
-ValidationFlagsEXT :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	disabledValidationCheckCount: u32,
-	pDisabledValidationChecks:    [^]ValidationCheckEXT,
-}
-
-ImageViewASTCDecodeModeEXT :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	decodeMode: Format,
-}
-
-PhysicalDeviceASTCDecodeFeaturesEXT :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	decodeModeSharedExponent: b32,
-}
-
-ConditionalRenderingBeginInfoEXT :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	buffer: Buffer,
-	offset: DeviceSize,
-	flags:  ConditionalRenderingFlagsEXT,
-}
-
-PhysicalDeviceConditionalRenderingFeaturesEXT :: struct {
-	sType:                         StructureType,
-	pNext:                         rawptr,
-	conditionalRendering:          b32,
-	inheritedConditionalRendering: b32,
-}
-
-CommandBufferInheritanceConditionalRenderingInfoEXT :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	conditionalRenderingEnable: b32,
-}
-
-ViewportWScalingNV :: struct {
-	xcoeff: f32,
-	ycoeff: f32,
-}
-
-PipelineViewportWScalingStateCreateInfoNV :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	viewportWScalingEnable: b32,
-	viewportCount:          u32,
-	pViewportWScalings:     [^]ViewportWScalingNV,
-}
-
-SurfaceCapabilities2EXT :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	minImageCount:            u32,
-	maxImageCount:            u32,
-	currentExtent:            Extent2D,
-	minImageExtent:           Extent2D,
-	maxImageExtent:           Extent2D,
-	maxImageArrayLayers:      u32,
-	supportedTransforms:      SurfaceTransformFlagsKHR,
-	currentTransform:         SurfaceTransformFlagsKHR,
-	supportedCompositeAlpha:  CompositeAlphaFlagsKHR,
-	supportedUsageFlags:      ImageUsageFlags,
-	supportedSurfaceCounters: SurfaceCounterFlagsEXT,
-}
-
-DisplayPowerInfoEXT :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	powerState: DisplayPowerStateEXT,
-}
-
-DeviceEventInfoEXT :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	deviceEvent: DeviceEventTypeEXT,
-}
-
-DisplayEventInfoEXT :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	displayEvent: DisplayEventTypeEXT,
-}
-
-SwapchainCounterCreateInfoEXT :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	surfaceCounters: SurfaceCounterFlagsEXT,
-}
-
-RefreshCycleDurationGOOGLE :: struct {
-	refreshDuration: u64,
-}
-
-PastPresentationTimingGOOGLE :: struct {
-	presentID:           u32,
-	desiredPresentTime:  u64,
-	actualPresentTime:   u64,
-	earliestPresentTime: u64,
-	presentMargin:       u64,
-}
-
-PresentTimeGOOGLE :: struct {
-	presentID:          u32,
-	desiredPresentTime: u64,
-}
-
-PresentTimesInfoGOOGLE :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	swapchainCount: u32,
-	pTimes:         [^]PresentTimeGOOGLE,
-}
-
-PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	perViewPositionAllComponents: b32,
-}
-
-ViewportSwizzleNV :: struct {
-	x: ViewportCoordinateSwizzleNV,
-	y: ViewportCoordinateSwizzleNV,
-	z: ViewportCoordinateSwizzleNV,
-	w: ViewportCoordinateSwizzleNV,
-}
-
-PipelineViewportSwizzleStateCreateInfoNV :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	flags:             PipelineViewportSwizzleStateCreateFlagsNV,
-	viewportCount:     u32,
-	pViewportSwizzles: [^]ViewportSwizzleNV,
-}
-
-PhysicalDeviceDiscardRectanglePropertiesEXT :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	maxDiscardRectangles: u32,
-}
-
-PipelineDiscardRectangleStateCreateInfoEXT :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	flags:                 PipelineDiscardRectangleStateCreateFlagsEXT,
-	discardRectangleMode:  DiscardRectangleModeEXT,
-	discardRectangleCount: u32,
-	pDiscardRectangles:    [^]Rect2D,
-}
-
-PhysicalDeviceConservativeRasterizationPropertiesEXT :: struct {
-	sType:                                       StructureType,
-	pNext:                                       rawptr,
-	primitiveOverestimationSize:                 f32,
-	maxExtraPrimitiveOverestimationSize:         f32,
-	extraPrimitiveOverestimationSizeGranularity: f32,
-	primitiveUnderestimation:                    b32,
-	conservativePointAndLineRasterization:       b32,
-	degenerateTrianglesRasterized:               b32,
-	degenerateLinesRasterized:                   b32,
-	fullyCoveredFragmentShaderInputVariable:     b32,
-	conservativeRasterizationPostDepthCoverage:  b32,
-}
-
-PipelineRasterizationConservativeStateCreateInfoEXT :: struct {
-	sType:                            StructureType,
-	pNext:                            rawptr,
-	flags:                            PipelineRasterizationConservativeStateCreateFlagsEXT,
-	conservativeRasterizationMode:    ConservativeRasterizationModeEXT,
-	extraPrimitiveOverestimationSize: f32,
-}
-
-PhysicalDeviceDepthClipEnableFeaturesEXT :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	depthClipEnable: b32,
-}
-
-PipelineRasterizationDepthClipStateCreateInfoEXT :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	flags:           PipelineRasterizationDepthClipStateCreateFlagsEXT,
-	depthClipEnable: b32,
-}
-
-XYColorEXT :: struct {
-	x: f32,
-	y: f32,
-}
-
-HdrMetadataEXT :: struct {
-	sType:                     StructureType,
-	pNext:                     rawptr,
-	displayPrimaryRed:         XYColorEXT,
-	displayPrimaryGreen:       XYColorEXT,
-	displayPrimaryBlue:        XYColorEXT,
-	whitePoint:                XYColorEXT,
-	maxLuminance:              f32,
-	minLuminance:              f32,
-	maxContentLightLevel:      f32,
-	maxFrameAverageLightLevel: f32,
-}
-
-DebugUtilsLabelEXT :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	pLabelName: cstring,
-	color:      [4]f32,
-}
-
-DebugUtilsObjectNameInfoEXT :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	objectType:   ObjectType,
-	objectHandle: u64,
-	pObjectName:  cstring,
-}
-
-DebugUtilsMessengerCallbackDataEXT :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	flags:            DebugUtilsMessengerCallbackDataFlagsEXT,
-	pMessageIdName:   cstring,
-	messageIdNumber:  i32,
-	pMessage:         cstring,
-	queueLabelCount:  u32,
-	pQueueLabels:     [^]DebugUtilsLabelEXT,
-	cmdBufLabelCount: u32,
-	pCmdBufLabels:    [^]DebugUtilsLabelEXT,
-	objectCount:      u32,
-	pObjects:         [^]DebugUtilsObjectNameInfoEXT,
-}
-
-DebugUtilsMessengerCreateInfoEXT :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	flags:           DebugUtilsMessengerCreateFlagsEXT,
-	messageSeverity: DebugUtilsMessageSeverityFlagsEXT,
-	messageType:     DebugUtilsMessageTypeFlagsEXT,
-	pfnUserCallback: ProcDebugUtilsMessengerCallbackEXT,
-	pUserData:       rawptr,
-}
-
-DebugUtilsObjectTagInfoEXT :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	objectType:   ObjectType,
-	objectHandle: u64,
-	tagName:      u64,
-	tagSize:      int,
-	pTag:         rawptr,
-}
-
-SampleLocationEXT :: struct {
-	x: f32,
-	y: f32,
-}
-
-SampleLocationsInfoEXT :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	sampleLocationsPerPixel: SampleCountFlags,
-	sampleLocationGridSize:  Extent2D,
-	sampleLocationsCount:    u32,
-	pSampleLocations:        [^]SampleLocationEXT,
-}
-
-AttachmentSampleLocationsEXT :: struct {
-	attachmentIndex:     u32,
-	sampleLocationsInfo: SampleLocationsInfoEXT,
-}
-
-SubpassSampleLocationsEXT :: struct {
-	subpassIndex:        u32,
-	sampleLocationsInfo: SampleLocationsInfoEXT,
-}
-
-RenderPassSampleLocationsBeginInfoEXT :: struct {
-	sType:                                 StructureType,
-	pNext:                                 rawptr,
-	attachmentInitialSampleLocationsCount: u32,
-	pAttachmentInitialSampleLocations:     [^]AttachmentSampleLocationsEXT,
-	postSubpassSampleLocationsCount:       u32,
-	pPostSubpassSampleLocations:           [^]SubpassSampleLocationsEXT,
-}
-
-PipelineSampleLocationsStateCreateInfoEXT :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	sampleLocationsEnable: b32,
-	sampleLocationsInfo:   SampleLocationsInfoEXT,
-}
-
-PhysicalDeviceSampleLocationsPropertiesEXT :: struct {
-	sType:                         StructureType,
-	pNext:                         rawptr,
-	sampleLocationSampleCounts:    SampleCountFlags,
-	maxSampleLocationGridSize:     Extent2D,
-	sampleLocationCoordinateRange: [2]f32,
-	sampleLocationSubPixelBits:    u32,
-	variableSampleLocations:       b32,
-}
-
-MultisamplePropertiesEXT :: struct {
-	sType:                     StructureType,
-	pNext:                     rawptr,
-	maxSampleLocationGridSize: Extent2D,
-}
-
-PhysicalDeviceBlendOperationAdvancedFeaturesEXT :: struct {
-	sType:                           StructureType,
-	pNext:                           rawptr,
-	advancedBlendCoherentOperations: b32,
-}
-
-PhysicalDeviceBlendOperationAdvancedPropertiesEXT :: struct {
-	sType:                                 StructureType,
-	pNext:                                 rawptr,
-	advancedBlendMaxColorAttachments:      u32,
-	advancedBlendIndependentBlend:         b32,
-	advancedBlendNonPremultipliedSrcColor: b32,
-	advancedBlendNonPremultipliedDstColor: b32,
-	advancedBlendCorrelatedOverlap:        b32,
-	advancedBlendAllOperations:            b32,
-}
-
-PipelineColorBlendAdvancedStateCreateInfoEXT :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	srcPremultiplied: b32,
-	dstPremultiplied: b32,
-	blendOverlap:     BlendOverlapEXT,
-}
-
-PipelineCoverageToColorStateCreateInfoNV :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	flags:                   PipelineCoverageToColorStateCreateFlagsNV,
-	coverageToColorEnable:   b32,
-	coverageToColorLocation: u32,
-}
-
-PipelineCoverageModulationStateCreateInfoNV :: struct {
-	sType:                         StructureType,
-	pNext:                         rawptr,
-	flags:                         PipelineCoverageModulationStateCreateFlagsNV,
-	coverageModulationMode:        CoverageModulationModeNV,
-	coverageModulationTableEnable: b32,
-	coverageModulationTableCount:  u32,
-	pCoverageModulationTable:      [^]f32,
-}
-
-PhysicalDeviceShaderSMBuiltinsPropertiesNV :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	shaderSMCount:    u32,
-	shaderWarpsPerSM: u32,
-}
-
-PhysicalDeviceShaderSMBuiltinsFeaturesNV :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	shaderSMBuiltins: b32,
-}
-
-DrmFormatModifierPropertiesEXT :: struct {
-	drmFormatModifier:               u64,
-	drmFormatModifierPlaneCount:     u32,
-	drmFormatModifierTilingFeatures: FormatFeatureFlags,
-}
-
-DrmFormatModifierPropertiesListEXT :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	drmFormatModifierCount:       u32,
-	pDrmFormatModifierProperties: [^]DrmFormatModifierPropertiesEXT,
-}
-
-PhysicalDeviceImageDrmFormatModifierInfoEXT :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	drmFormatModifier:     u64,
-	sharingMode:           SharingMode,
-	queueFamilyIndexCount: u32,
-	pQueueFamilyIndices:   [^]u32,
-}
-
-ImageDrmFormatModifierListCreateInfoEXT :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	drmFormatModifierCount: u32,
-	pDrmFormatModifiers:    [^]u64,
-}
-
-ImageDrmFormatModifierExplicitCreateInfoEXT :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	drmFormatModifier:           u64,
-	drmFormatModifierPlaneCount: u32,
-	pPlaneLayouts:               [^]SubresourceLayout,
-}
-
-ImageDrmFormatModifierPropertiesEXT :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	drmFormatModifier: u64,
-}
-
-DrmFormatModifierProperties2EXT :: struct {
-	drmFormatModifier:               u64,
-	drmFormatModifierPlaneCount:     u32,
-	drmFormatModifierTilingFeatures: FormatFeatureFlags2,
-}
-
-DrmFormatModifierPropertiesList2EXT :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	drmFormatModifierCount:       u32,
-	pDrmFormatModifierProperties: [^]DrmFormatModifierProperties2EXT,
-}
-
-ValidationCacheCreateInfoEXT :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	flags:           ValidationCacheCreateFlagsEXT,
-	initialDataSize: int,
-	pInitialData:    rawptr,
-}
-
-ShaderModuleValidationCacheCreateInfoEXT :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	validationCache: ValidationCacheEXT,
-}
-
-ShadingRatePaletteNV :: struct {
-	shadingRatePaletteEntryCount: u32,
-	pShadingRatePaletteEntries:   [^]ShadingRatePaletteEntryNV,
-}
-
-PipelineViewportShadingRateImageStateCreateInfoNV :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	shadingRateImageEnable: b32,
-	viewportCount:          u32,
-	pShadingRatePalettes:   [^]ShadingRatePaletteNV,
-}
-
-PhysicalDeviceShadingRateImageFeaturesNV :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	shadingRateImage:             b32,
-	shadingRateCoarseSampleOrder: b32,
-}
-
-PhysicalDeviceShadingRateImagePropertiesNV :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	shadingRateTexelSize:        Extent2D,
-	shadingRatePaletteSize:      u32,
-	shadingRateMaxCoarseSamples: u32,
-}
-
-CoarseSampleLocationNV :: struct {
-	pixelX: u32,
-	pixelY: u32,
-	sample: u32,
-}
-
-CoarseSampleOrderCustomNV :: struct {
-	shadingRate:         ShadingRatePaletteEntryNV,
-	sampleCount:         u32,
-	sampleLocationCount: u32,
-	pSampleLocations:    [^]CoarseSampleLocationNV,
-}
-
-PipelineViewportCoarseSampleOrderStateCreateInfoNV :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	sampleOrderType:        CoarseSampleOrderTypeNV,
-	customSampleOrderCount: u32,
-	pCustomSampleOrders:    [^]CoarseSampleOrderCustomNV,
-}
-
-RayTracingShaderGroupCreateInfoNV :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	type:               RayTracingShaderGroupTypeKHR,
-	generalShader:      u32,
-	closestHitShader:   u32,
-	anyHitShader:       u32,
-	intersectionShader: u32,
-}
-
-RayTracingPipelineCreateInfoNV :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	flags:              PipelineCreateFlags,
-	stageCount:         u32,
-	pStages:            [^]PipelineShaderStageCreateInfo,
-	groupCount:         u32,
-	pGroups:            [^]RayTracingShaderGroupCreateInfoNV,
-	maxRecursionDepth:  u32,
-	layout:             PipelineLayout,
-	basePipelineHandle: Pipeline,
-	basePipelineIndex:  i32,
-}
-
-GeometryTrianglesNV :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	vertexData:      Buffer,
-	vertexOffset:    DeviceSize,
-	vertexCount:     u32,
-	vertexStride:    DeviceSize,
-	vertexFormat:    Format,
-	indexData:       Buffer,
-	indexOffset:     DeviceSize,
-	indexCount:      u32,
-	indexType:       IndexType,
-	transformData:   Buffer,
-	transformOffset: DeviceSize,
-}
-
-GeometryAABBNV :: struct {
-	sType:    StructureType,
-	pNext:    rawptr,
-	aabbData: Buffer,
-	numAABBs: u32,
-	stride:   u32,
-	offset:   DeviceSize,
-}
-
-GeometryDataNV :: struct {
-	triangles: GeometryTrianglesNV,
-	aabbs:     GeometryAABBNV,
-}
-
-GeometryNV :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	geometryType: GeometryTypeKHR,
-	geometry:     GeometryDataNV,
-	flags:        GeometryFlagsKHR,
-}
-
-AccelerationStructureInfoNV :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	type:          AccelerationStructureTypeNV,
-	flags:         BuildAccelerationStructureFlagsNV,
-	instanceCount: u32,
-	geometryCount: u32,
-	pGeometries:   [^]GeometryNV,
-}
-
-AccelerationStructureCreateInfoNV :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	compactedSize: DeviceSize,
-	info:          AccelerationStructureInfoNV,
-}
-
-BindAccelerationStructureMemoryInfoNV :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	accelerationStructure: AccelerationStructureNV,
-	memory:                DeviceMemory,
-	memoryOffset:          DeviceSize,
-	deviceIndexCount:      u32,
-	pDeviceIndices:        [^]u32,
-}
-
-WriteDescriptorSetAccelerationStructureNV :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	accelerationStructureCount: u32,
-	pAccelerationStructures:    [^]AccelerationStructureNV,
-}
-
-AccelerationStructureMemoryRequirementsInfoNV :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	type:                  AccelerationStructureMemoryRequirementsTypeNV,
-	accelerationStructure: AccelerationStructureNV,
-}
-
-PhysicalDeviceRayTracingPropertiesNV :: struct {
-	sType:                                  StructureType,
-	pNext:                                  rawptr,
-	shaderGroupHandleSize:                  u32,
-	maxRecursionDepth:                      u32,
-	maxShaderGroupStride:                   u32,
-	shaderGroupBaseAlignment:               u32,
-	maxGeometryCount:                       u64,
-	maxInstanceCount:                       u64,
-	maxTriangleCount:                       u64,
-	maxDescriptorSetAccelerationStructures: u32,
-}
-
-TransformMatrixKHR :: struct {
-	mat: [3][4]f32,
-}
-
-AabbPositionsKHR :: struct {
-	minX: f32,
-	minY: f32,
-	minZ: f32,
-	maxX: f32,
-	maxY: f32,
-	maxZ: f32,
-}
-
-AccelerationStructureInstanceKHR :: struct {
-	transform:                      TransformMatrixKHR,
-	accelerationStructureReference: u64,
-}
-
-PhysicalDeviceRepresentativeFragmentTestFeaturesNV :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	representativeFragmentTest: b32,
-}
-
-PipelineRepresentativeFragmentTestStateCreateInfoNV :: struct {
-	sType:                            StructureType,
-	pNext:                            rawptr,
-	representativeFragmentTestEnable: b32,
-}
-
-PhysicalDeviceImageViewImageFormatInfoEXT :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	imageViewType: ImageViewType,
-}
-
-FilterCubicImageViewImageFormatPropertiesEXT :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	filterCubic:       b32,
-	filterCubicMinmax: b32,
-}
-
-ImportMemoryHostPointerInfoEXT :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	handleType:   ExternalMemoryHandleTypeFlags,
-	pHostPointer: rawptr,
-}
-
-MemoryHostPointerPropertiesEXT :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	memoryTypeBits: u32,
-}
-
-PhysicalDeviceExternalMemoryHostPropertiesEXT :: struct {
-	sType:                           StructureType,
-	pNext:                           rawptr,
-	minImportedHostPointerAlignment: DeviceSize,
-}
-
-PipelineCompilerControlCreateInfoAMD :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	compilerControlFlags: PipelineCompilerControlFlagsAMD,
-}
-
-CalibratedTimestampInfoEXT :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	timeDomain: TimeDomainEXT,
-}
-
-PhysicalDeviceShaderCorePropertiesAMD :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	shaderEngineCount:          u32,
-	shaderArraysPerEngineCount: u32,
-	computeUnitsPerShaderArray: u32,
-	simdPerComputeUnit:         u32,
-	wavefrontsPerSimd:          u32,
-	wavefrontSize:              u32,
-	sgprsPerSimd:               u32,
-	minSgprAllocation:          u32,
-	maxSgprAllocation:          u32,
-	sgprAllocationGranularity:  u32,
-	vgprsPerSimd:               u32,
-	minVgprAllocation:          u32,
-	maxVgprAllocation:          u32,
-	vgprAllocationGranularity:  u32,
-}
-
-DeviceMemoryOverallocationCreateInfoAMD :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	overallocationBehavior: MemoryOverallocationBehaviorAMD,
-}
-
-PhysicalDeviceVertexAttributeDivisorPropertiesEXT :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	maxVertexAttribDivisor: u32,
-}
-
-VertexInputBindingDivisorDescriptionEXT :: struct {
-	binding: u32,
-	divisor: u32,
-}
-
-PipelineVertexInputDivisorStateCreateInfoEXT :: struct {
-	sType:                     StructureType,
-	pNext:                     rawptr,
-	vertexBindingDivisorCount: u32,
-	pVertexBindingDivisors:    [^]VertexInputBindingDivisorDescriptionEXT,
-}
-
-PhysicalDeviceVertexAttributeDivisorFeaturesEXT :: struct {
-	sType:                                  StructureType,
-	pNext:                                  rawptr,
-	vertexAttributeInstanceRateDivisor:     b32,
-	vertexAttributeInstanceRateZeroDivisor: b32,
-}
-
-PhysicalDeviceComputeShaderDerivativesFeaturesNV :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	computeDerivativeGroupQuads:  b32,
-	computeDerivativeGroupLinear: b32,
-}
-
-PhysicalDeviceMeshShaderFeaturesNV :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	taskShader: b32,
-	meshShader: b32,
-}
-
-PhysicalDeviceMeshShaderPropertiesNV :: struct {
-	sType:                             StructureType,
-	pNext:                             rawptr,
-	maxDrawMeshTasksCount:             u32,
-	maxTaskWorkGroupInvocations:       u32,
-	maxTaskWorkGroupSize:              [3]u32,
-	maxTaskTotalMemorySize:            u32,
-	maxTaskOutputCount:                u32,
-	maxMeshWorkGroupInvocations:       u32,
-	maxMeshWorkGroupSize:              [3]u32,
-	maxMeshTotalMemorySize:            u32,
-	maxMeshOutputVertices:             u32,
-	maxMeshOutputPrimitives:           u32,
-	maxMeshMultiviewViewCount:         u32,
-	meshOutputPerVertexGranularity:    u32,
-	meshOutputPerPrimitiveGranularity: u32,
-}
-
-DrawMeshTasksIndirectCommandNV :: struct {
-	taskCount: u32,
-	firstTask: u32,
-}
-
-PhysicalDeviceFragmentShaderBarycentricFeaturesNV :: struct {
-	sType:                     StructureType,
-	pNext:                     rawptr,
-	fragmentShaderBarycentric: b32,
-}
-
-PhysicalDeviceShaderImageFootprintFeaturesNV :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	imageFootprint: b32,
-}
-
-PipelineViewportExclusiveScissorStateCreateInfoNV :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	exclusiveScissorCount: u32,
-	pExclusiveScissors:    [^]Rect2D,
-}
-
-PhysicalDeviceExclusiveScissorFeaturesNV :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	exclusiveScissor: b32,
-}
-
-QueueFamilyCheckpointPropertiesNV :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	checkpointExecutionStageMask: PipelineStageFlags,
-}
-
-CheckpointDataNV :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	stage:             PipelineStageFlags,
-	pCheckpointMarker: rawptr,
-}
-
-PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	shaderIntegerFunctions2: b32,
-}
-
-PerformanceValueDataINTEL :: struct #raw_union {
-	value32:     u32,
-	value64:     u64,
-	valueFloat:  f32,
-	valueBool:   b32,
-	valueString: cstring,
-}
-
-PerformanceValueINTEL :: struct {
-	type: PerformanceValueTypeINTEL,
-	data: PerformanceValueDataINTEL,
-}
-
-InitializePerformanceApiInfoINTEL :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	pUserData: rawptr,
-}
-
-QueryPoolPerformanceQueryCreateInfoINTEL :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	performanceCountersSampling: QueryPoolSamplingModeINTEL,
-}
-
-PerformanceMarkerInfoINTEL :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	marker: u64,
-}
-
-PerformanceStreamMarkerInfoINTEL :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	marker: u32,
-}
-
-PerformanceOverrideInfoINTEL :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	type:      PerformanceOverrideTypeINTEL,
-	enable:    b32,
-	parameter: u64,
-}
-
-PerformanceConfigurationAcquireInfoINTEL :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	type:  PerformanceConfigurationTypeINTEL,
-}
-
-PhysicalDevicePCIBusInfoPropertiesEXT :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	pciDomain:   u32,
-	pciBus:      u32,
-	pciDevice:   u32,
-	pciFunction: u32,
-}
-
-DisplayNativeHdrSurfaceCapabilitiesAMD :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	localDimmingSupport: b32,
-}
-
-SwapchainDisplayNativeHdrCreateInfoAMD :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	localDimmingEnable: b32,
-}
-
-PhysicalDeviceFragmentDensityMapFeaturesEXT :: struct {
-	sType:                                 StructureType,
-	pNext:                                 rawptr,
-	fragmentDensityMap:                    b32,
-	fragmentDensityMapDynamic:             b32,
-	fragmentDensityMapNonSubsampledImages: b32,
-}
-
-PhysicalDeviceFragmentDensityMapPropertiesEXT :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	minFragmentDensityTexelSize: Extent2D,
-	maxFragmentDensityTexelSize: Extent2D,
-	fragmentDensityInvocations:  b32,
-}
-
-RenderPassFragmentDensityMapCreateInfoEXT :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	fragmentDensityMapAttachment: AttachmentReference,
-}
-
-PhysicalDeviceShaderCoreProperties2AMD :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	shaderCoreFeatures:     ShaderCorePropertiesFlagsAMD,
-	activeComputeUnitCount: u32,
-}
-
-PhysicalDeviceCoherentMemoryFeaturesAMD :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	deviceCoherentMemory: b32,
-}
-
-PhysicalDeviceShaderImageAtomicInt64FeaturesEXT :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	shaderImageInt64Atomics: b32,
-	sparseImageInt64Atomics: b32,
-}
-
-PhysicalDeviceMemoryBudgetPropertiesEXT :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	heapBudget: [MAX_MEMORY_HEAPS]DeviceSize,
-	heapUsage:  [MAX_MEMORY_HEAPS]DeviceSize,
-}
-
-PhysicalDeviceMemoryPriorityFeaturesEXT :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	memoryPriority: b32,
-}
-
-MemoryPriorityAllocateInfoEXT :: struct {
-	sType:    StructureType,
-	pNext:    rawptr,
-	priority: f32,
-}
-
-PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV :: struct {
-	sType:                            StructureType,
-	pNext:                            rawptr,
-	dedicatedAllocationImageAliasing: b32,
-}
-
-PhysicalDeviceBufferDeviceAddressFeaturesEXT :: struct {
-	sType:                            StructureType,
-	pNext:                            rawptr,
-	bufferDeviceAddress:              b32,
-	bufferDeviceAddressCaptureReplay: b32,
-	bufferDeviceAddressMultiDevice:   b32,
-}
-
-BufferDeviceAddressCreateInfoEXT :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	deviceAddress: DeviceAddress,
-}
-
-ValidationFeaturesEXT :: struct {
-	sType:                          StructureType,
-	pNext:                          rawptr,
-	enabledValidationFeatureCount:  u32,
-	pEnabledValidationFeatures:     [^]ValidationFeatureEnableEXT,
-	disabledValidationFeatureCount: u32,
-	pDisabledValidationFeatures:    [^]ValidationFeatureDisableEXT,
-}
-
-CooperativeMatrixPropertiesNV :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	MSize: u32,
-	NSize: u32,
-	KSize: u32,
-	AType: ComponentTypeNV,
-	BType: ComponentTypeNV,
-	CType: ComponentTypeNV,
-	DType: ComponentTypeNV,
-	scope: ScopeNV,
-}
-
-PhysicalDeviceCooperativeMatrixFeaturesNV :: struct {
-	sType:                               StructureType,
-	pNext:                               rawptr,
-	cooperativeMatrix:                   b32,
-	cooperativeMatrixRobustBufferAccess: b32,
-}
-
-PhysicalDeviceCooperativeMatrixPropertiesNV :: struct {
-	sType:                            StructureType,
-	pNext:                            rawptr,
-	cooperativeMatrixSupportedStages: ShaderStageFlags,
-}
-
-PhysicalDeviceCoverageReductionModeFeaturesNV :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	coverageReductionMode: b32,
-}
-
-PipelineCoverageReductionStateCreateInfoNV :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	flags:                 PipelineCoverageReductionStateCreateFlagsNV,
-	coverageReductionMode: CoverageReductionModeNV,
-}
-
-FramebufferMixedSamplesCombinationNV :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	coverageReductionMode: CoverageReductionModeNV,
-	rasterizationSamples:  SampleCountFlags,
-	depthStencilSamples:   SampleCountFlags,
-	colorSamples:          SampleCountFlags,
-}
-
-PhysicalDeviceFragmentShaderInterlockFeaturesEXT :: struct {
-	sType:                              StructureType,
-	pNext:                              rawptr,
-	fragmentShaderSampleInterlock:      b32,
-	fragmentShaderPixelInterlock:       b32,
-	fragmentShaderShadingRateInterlock: b32,
-}
-
-PhysicalDeviceYcbcrImageArraysFeaturesEXT :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	ycbcrImageArrays: b32,
-}
-
-PhysicalDeviceProvokingVertexFeaturesEXT :: struct {
-	sType:                                     StructureType,
-	pNext:                                     rawptr,
-	provokingVertexLast:                       b32,
-	transformFeedbackPreservesProvokingVertex: b32,
-}
-
-PhysicalDeviceProvokingVertexPropertiesEXT :: struct {
-	sType:                                                StructureType,
-	pNext:                                                rawptr,
-	provokingVertexModePerPipeline:                       b32,
-	transformFeedbackPreservesTriangleFanProvokingVertex: b32,
-}
-
-PipelineRasterizationProvokingVertexStateCreateInfoEXT :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	provokingVertexMode: ProvokingVertexModeEXT,
-}
-
-HeadlessSurfaceCreateInfoEXT :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	flags: HeadlessSurfaceCreateFlagsEXT,
-}
-
-PhysicalDeviceLineRasterizationFeaturesEXT :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	rectangularLines:         b32,
-	bresenhamLines:           b32,
-	smoothLines:              b32,
-	stippledRectangularLines: b32,
-	stippledBresenhamLines:   b32,
-	stippledSmoothLines:      b32,
-}
-
-PhysicalDeviceLineRasterizationPropertiesEXT :: struct {
-	sType:                     StructureType,
-	pNext:                     rawptr,
-	lineSubPixelPrecisionBits: u32,
-}
-
-PipelineRasterizationLineStateCreateInfoEXT :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	lineRasterizationMode: LineRasterizationModeEXT,
-	stippledLineEnable:    b32,
-	lineStippleFactor:     u32,
-	lineStipplePattern:    u16,
-}
-
-PhysicalDeviceShaderAtomicFloatFeaturesEXT :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	shaderBufferFloat32Atomics:   b32,
-	shaderBufferFloat32AtomicAdd: b32,
-	shaderBufferFloat64Atomics:   b32,
-	shaderBufferFloat64AtomicAdd: b32,
-	shaderSharedFloat32Atomics:   b32,
-	shaderSharedFloat32AtomicAdd: b32,
-	shaderSharedFloat64Atomics:   b32,
-	shaderSharedFloat64AtomicAdd: b32,
-	shaderImageFloat32Atomics:    b32,
-	shaderImageFloat32AtomicAdd:  b32,
-	sparseImageFloat32Atomics:    b32,
-	sparseImageFloat32AtomicAdd:  b32,
-}
-
-PhysicalDeviceIndexTypeUint8FeaturesEXT :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	indexTypeUint8: b32,
-}
-
-PhysicalDeviceExtendedDynamicStateFeaturesEXT :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	extendedDynamicState: b32,
-}
-
-PhysicalDeviceShaderAtomicFloat2FeaturesEXT :: struct {
-	sType:                           StructureType,
-	pNext:                           rawptr,
-	shaderBufferFloat16Atomics:      b32,
-	shaderBufferFloat16AtomicAdd:    b32,
-	shaderBufferFloat16AtomicMinMax: b32,
-	shaderBufferFloat32AtomicMinMax: b32,
-	shaderBufferFloat64AtomicMinMax: b32,
-	shaderSharedFloat16Atomics:      b32,
-	shaderSharedFloat16AtomicAdd:    b32,
-	shaderSharedFloat16AtomicMinMax: b32,
-	shaderSharedFloat32AtomicMinMax: b32,
-	shaderSharedFloat64AtomicMinMax: b32,
-	shaderImageFloat32AtomicMinMax:  b32,
-	sparseImageFloat32AtomicMinMax:  b32,
-}
-
-PhysicalDeviceDeviceGeneratedCommandsPropertiesNV :: struct {
-	sType:                                    StructureType,
-	pNext:                                    rawptr,
-	maxGraphicsShaderGroupCount:              u32,
-	maxIndirectSequenceCount:                 u32,
-	maxIndirectCommandsTokenCount:            u32,
-	maxIndirectCommandsStreamCount:           u32,
-	maxIndirectCommandsTokenOffset:           u32,
-	maxIndirectCommandsStreamStride:          u32,
-	minSequencesCountBufferOffsetAlignment:   u32,
-	minSequencesIndexBufferOffsetAlignment:   u32,
-	minIndirectCommandsBufferOffsetAlignment: u32,
-}
-
-PhysicalDeviceDeviceGeneratedCommandsFeaturesNV :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	deviceGeneratedCommands: b32,
-}
-
-GraphicsShaderGroupCreateInfoNV :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	stageCount:         u32,
-	pStages:            [^]PipelineShaderStageCreateInfo,
-	pVertexInputState:  ^PipelineVertexInputStateCreateInfo,
-	pTessellationState: ^PipelineTessellationStateCreateInfo,
-}
-
-GraphicsPipelineShaderGroupsCreateInfoNV :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	groupCount:    u32,
-	pGroups:       [^]GraphicsShaderGroupCreateInfoNV,
-	pipelineCount: u32,
-	pPipelines:    [^]Pipeline,
-}
-
-BindShaderGroupIndirectCommandNV :: struct {
-	groupIndex: u32,
-}
-
-BindIndexBufferIndirectCommandNV :: struct {
-	bufferAddress: DeviceAddress,
-	size:          u32,
-	indexType:     IndexType,
-}
-
-BindVertexBufferIndirectCommandNV :: struct {
-	bufferAddress: DeviceAddress,
-	size:          u32,
-	stride:        u32,
-}
-
-SetStateFlagsIndirectCommandNV :: struct {
-	data: u32,
-}
-
-IndirectCommandsStreamNV :: struct {
-	buffer: Buffer,
-	offset: DeviceSize,
-}
-
-IndirectCommandsLayoutTokenNV :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	tokenType:                    IndirectCommandsTokenTypeNV,
-	stream:                       u32,
-	offset:                       u32,
-	vertexBindingUnit:            u32,
-	vertexDynamicStride:          b32,
-	pushconstantPipelineLayout:   PipelineLayout,
-	pushconstantShaderStageFlags: ShaderStageFlags,
-	pushconstantOffset:           u32,
-	pushconstantSize:             u32,
-	indirectStateFlags:           IndirectStateFlagsNV,
-	indexTypeCount:               u32,
-	pIndexTypes:                  [^]IndexType,
-	pIndexTypeValues:             [^]u32,
-}
-
-IndirectCommandsLayoutCreateInfoNV :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	flags:             IndirectCommandsLayoutUsageFlagsNV,
-	pipelineBindPoint: PipelineBindPoint,
-	tokenCount:        u32,
-	pTokens:           [^]IndirectCommandsLayoutTokenNV,
-	streamCount:       u32,
-	pStreamStrides:    [^]u32,
-}
-
-GeneratedCommandsInfoNV :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	pipelineBindPoint:      PipelineBindPoint,
-	pipeline:               Pipeline,
-	indirectCommandsLayout: IndirectCommandsLayoutNV,
-	streamCount:            u32,
-	pStreams:               [^]IndirectCommandsStreamNV,
-	sequencesCount:         u32,
-	preprocessBuffer:       Buffer,
-	preprocessOffset:       DeviceSize,
-	preprocessSize:         DeviceSize,
-	sequencesCountBuffer:   Buffer,
-	sequencesCountOffset:   DeviceSize,
-	sequencesIndexBuffer:   Buffer,
-	sequencesIndexOffset:   DeviceSize,
-}
-
-GeneratedCommandsMemoryRequirementsInfoNV :: struct {
-	sType:                  StructureType,
-	pNext:                  rawptr,
-	pipelineBindPoint:      PipelineBindPoint,
-	pipeline:               Pipeline,
-	indirectCommandsLayout: IndirectCommandsLayoutNV,
-	maxSequencesCount:      u32,
-}
-
-PhysicalDeviceInheritedViewportScissorFeaturesNV :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	inheritedViewportScissor2D: b32,
-}
-
-CommandBufferInheritanceViewportScissorInfoNV :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	viewportScissor2D:  b32,
-	viewportDepthCount: u32,
-	pViewportDepths:    [^]Viewport,
-}
-
-PhysicalDeviceTexelBufferAlignmentFeaturesEXT :: struct {
-	sType:                StructureType,
-	pNext:                rawptr,
-	texelBufferAlignment: b32,
-}
-
-RenderPassTransformBeginInfoQCOM :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	transform: SurfaceTransformFlagsKHR,
-}
-
-CommandBufferInheritanceRenderPassTransformInfoQCOM :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	transform:  SurfaceTransformFlagsKHR,
-	renderArea: Rect2D,
-}
-
-PhysicalDeviceDeviceMemoryReportFeaturesEXT :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	deviceMemoryReport: b32,
-}
-
-DeviceMemoryReportCallbackDataEXT :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	flags:          DeviceMemoryReportFlagsEXT,
-	type:           DeviceMemoryReportEventTypeEXT,
-	memoryObjectId: u64,
-	size:           DeviceSize,
-	objectType:     ObjectType,
-	objectHandle:   u64,
-	heapIndex:      u32,
-}
-
-DeviceDeviceMemoryReportCreateInfoEXT :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	flags:           DeviceMemoryReportFlagsEXT,
-	pfnUserCallback: ProcDeviceMemoryReportCallbackEXT,
-	pUserData:       rawptr,
-}
-
-PhysicalDeviceRobustness2FeaturesEXT :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	robustBufferAccess2: b32,
-	robustImageAccess2:  b32,
-	nullDescriptor:      b32,
-}
-
-PhysicalDeviceRobustness2PropertiesEXT :: struct {
-	sType:                                  StructureType,
-	pNext:                                  rawptr,
-	robustStorageBufferAccessSizeAlignment: DeviceSize,
-	robustUniformBufferAccessSizeAlignment: DeviceSize,
-}
-
-SamplerCustomBorderColorCreateInfoEXT :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	customBorderColor: ClearColorValue,
-	format:            Format,
-}
-
-PhysicalDeviceCustomBorderColorPropertiesEXT :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	maxCustomBorderColorSamplers: u32,
-}
-
-PhysicalDeviceCustomBorderColorFeaturesEXT :: struct {
-	sType:                          StructureType,
-	pNext:                          rawptr,
-	customBorderColors:             b32,
-	customBorderColorWithoutFormat: b32,
-}
-
-PhysicalDeviceDiagnosticsConfigFeaturesNV :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	diagnosticsConfig: b32,
-}
-
-DeviceDiagnosticsConfigCreateInfoNV :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	flags: DeviceDiagnosticsConfigFlagsNV,
-}
-
-PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	graphicsPipelineLibrary: b32,
-}
-
-PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT :: struct {
-	sType:                                                     StructureType,
-	pNext:                                                     rawptr,
-	graphicsPipelineLibraryFastLinking:                        b32,
-	graphicsPipelineLibraryIndependentInterpolationDecoration: b32,
-}
-
-GraphicsPipelineLibraryCreateInfoEXT :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	flags: GraphicsPipelineLibraryFlagsEXT,
-}
-
-PhysicalDeviceFragmentShadingRateEnumsFeaturesNV :: struct {
-	sType:                            StructureType,
-	pNext:                            rawptr,
-	fragmentShadingRateEnums:         b32,
-	supersampleFragmentShadingRates:  b32,
-	noInvocationFragmentShadingRates: b32,
-}
-
-PhysicalDeviceFragmentShadingRateEnumsPropertiesNV :: struct {
-	sType:                                 StructureType,
-	pNext:                                 rawptr,
-	maxFragmentShadingRateInvocationCount: SampleCountFlags,
-}
-
-PipelineFragmentShadingRateEnumStateCreateInfoNV :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	shadingRateType: FragmentShadingRateTypeNV,
-	shadingRate:     FragmentShadingRateNV,
-	combinerOps:     [2]FragmentShadingRateCombinerOpKHR,
-}
-
-DeviceOrHostAddressConstKHR :: struct #raw_union {
-	deviceAddress: DeviceAddress,
-	hostAddress:   rawptr,
-}
-
-AccelerationStructureGeometryMotionTrianglesDataNV :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	vertexData: DeviceOrHostAddressConstKHR,
-}
-
-AccelerationStructureMotionInfoNV :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	maxInstances: u32,
-	flags:        AccelerationStructureMotionInfoFlagsNV,
-}
-
-AccelerationStructureMatrixMotionInstanceNV :: struct {
-	transformT0:                    TransformMatrixKHR,
-	transformT1:                    TransformMatrixKHR,
-	accelerationStructureReference: u64,
-}
-
-SRTDataNV :: struct {
-	sx:  f32,
-	a:   f32,
-	b:   f32,
-	pvx: f32,
-	sy:  f32,
-	c:   f32,
-	pvy: f32,
-	sz:  f32,
-	pvz: f32,
-	qx:  f32,
-	qy:  f32,
-	qz:  f32,
-	qw:  f32,
-	tx:  f32,
-	ty:  f32,
-	tz:  f32,
-}
-
-AccelerationStructureSRTMotionInstanceNV :: struct {
-	transformT0:                    SRTDataNV,
-	transformT1:                    SRTDataNV,
-	accelerationStructureReference: u64,
-}
-
-AccelerationStructureMotionInstanceDataNV :: struct #raw_union {
-	staticInstance:       AccelerationStructureInstanceKHR,
-	matrixMotionInstance: AccelerationStructureMatrixMotionInstanceNV,
-	srtMotionInstance:    AccelerationStructureSRTMotionInstanceNV,
-}
-
-AccelerationStructureMotionInstanceNV :: struct {
-	type:  AccelerationStructureMotionInstanceTypeNV,
-	flags: AccelerationStructureMotionInstanceFlagsNV,
-	data:  AccelerationStructureMotionInstanceDataNV,
-}
-
-PhysicalDeviceRayTracingMotionBlurFeaturesNV :: struct {
-	sType:                                         StructureType,
-	pNext:                                         rawptr,
-	rayTracingMotionBlur:                          b32,
-	rayTracingMotionBlurPipelineTraceRaysIndirect: b32,
-}
-
-PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	ycbcr2plane444Formats: b32,
-}
-
-PhysicalDeviceFragmentDensityMap2FeaturesEXT :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	fragmentDensityMapDeferred: b32,
-}
-
-PhysicalDeviceFragmentDensityMap2PropertiesEXT :: struct {
-	sType:                                     StructureType,
-	pNext:                                     rawptr,
-	subsampledLoads:                           b32,
-	subsampledCoarseReconstructionEarlyAccess: b32,
-	maxSubsampledArrayLayers:                  u32,
-	maxDescriptorSetSubsampledSamplers:        u32,
-}
-
-CopyCommandTransformInfoQCOM :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	transform: SurfaceTransformFlagsKHR,
-}
-
-PhysicalDevice4444FormatsFeaturesEXT :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	formatA4R4G4B4: b32,
-	formatA4B4G4R4: b32,
-}
-
-PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM :: struct {
-	sType:                                     StructureType,
-	pNext:                                     rawptr,
-	rasterizationOrderColorAttachmentAccess:   b32,
-	rasterizationOrderDepthAttachmentAccess:   b32,
-	rasterizationOrderStencilAttachmentAccess: b32,
-}
-
-PhysicalDeviceRGBA10X6FormatsFeaturesEXT :: struct {
-	sType:                             StructureType,
-	pNext:                             rawptr,
-	formatRgba10x6WithoutYCbCrSampler: b32,
-}
-
-PhysicalDeviceMutableDescriptorTypeFeaturesVALVE :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	mutableDescriptorType: b32,
-}
-
-MutableDescriptorTypeListVALVE :: struct {
-	descriptorTypeCount: u32,
-	pDescriptorTypes:    [^]DescriptorType,
-}
-
-MutableDescriptorTypeCreateInfoVALVE :: struct {
-	sType:                          StructureType,
-	pNext:                          rawptr,
-	mutableDescriptorTypeListCount: u32,
-	pMutableDescriptorTypeLists:    [^]MutableDescriptorTypeListVALVE,
-}
-
-PhysicalDeviceVertexInputDynamicStateFeaturesEXT :: struct {
-	sType:                   StructureType,
-	pNext:                   rawptr,
-	vertexInputDynamicState: b32,
-}
-
-VertexInputBindingDescription2EXT :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	binding:   u32,
-	stride:    u32,
-	inputRate: VertexInputRate,
-	divisor:   u32,
-}
-
-VertexInputAttributeDescription2EXT :: struct {
-	sType:    StructureType,
-	pNext:    rawptr,
-	location: u32,
-	binding:  u32,
-	format:   Format,
-	offset:   u32,
-}
-
-PhysicalDeviceDrmPropertiesEXT :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	hasPrimary:   b32,
-	hasRender:    b32,
-	primaryMajor: i64,
-	primaryMinor: i64,
-	renderMajor:  i64,
-	renderMinor:  i64,
-}
-
-PhysicalDeviceDepthClipControlFeaturesEXT :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	depthClipControl: b32,
-}
-
-PipelineViewportDepthClipControlCreateInfoEXT :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	negativeOneToOne: b32,
-}
-
-PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT :: struct {
-	sType:                             StructureType,
-	pNext:                             rawptr,
-	primitiveTopologyListRestart:      b32,
-	primitiveTopologyPatchListRestart: b32,
-}
-
-SubpassShadingPipelineCreateInfoHUAWEI :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	renderPass: RenderPass,
-	subpass:    u32,
-}
-
-PhysicalDeviceSubpassShadingFeaturesHUAWEI :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	subpassShading: b32,
-}
-
-PhysicalDeviceSubpassShadingPropertiesHUAWEI :: struct {
-	sType:                                     StructureType,
-	pNext:                                     rawptr,
-	maxSubpassShadingWorkgroupSizeAspectRatio: u32,
-}
-
-PhysicalDeviceInvocationMaskFeaturesHUAWEI :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	invocationMask: b32,
-}
-
-MemoryGetRemoteAddressInfoNV :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	memory:     DeviceMemory,
-	handleType: ExternalMemoryHandleTypeFlags,
-}
-
-PhysicalDeviceExternalMemoryRDMAFeaturesNV :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	externalMemoryRDMA: b32,
-}
-
-PhysicalDeviceExtendedDynamicState2FeaturesEXT :: struct {
-	sType:                                   StructureType,
-	pNext:                                   rawptr,
-	extendedDynamicState2:                   b32,
-	extendedDynamicState2LogicOp:            b32,
-	extendedDynamicState2PatchControlPoints: b32,
-}
-
-PhysicalDeviceColorWriteEnableFeaturesEXT :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	colorWriteEnable: b32,
-}
-
-PipelineColorWriteCreateInfoEXT :: struct {
-	sType:              StructureType,
-	pNext:              rawptr,
-	attachmentCount:    u32,
-	pColorWriteEnables: [^]b32,
-}
-
-PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT :: struct {
-	sType:                                         StructureType,
-	pNext:                                         rawptr,
-	primitivesGeneratedQuery:                      b32,
-	primitivesGeneratedQueryWithRasterizerDiscard: b32,
-	primitivesGeneratedQueryWithNonZeroStreams:    b32,
-}
-
-PhysicalDeviceImageViewMinLodFeaturesEXT :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	minLod: b32,
-}
-
-ImageViewMinLodCreateInfoEXT :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	minLod: f32,
-}
-
-PhysicalDeviceMultiDrawFeaturesEXT :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	multiDraw: b32,
-}
-
-PhysicalDeviceMultiDrawPropertiesEXT :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	maxMultiDrawCount: u32,
-}
-
-MultiDrawInfoEXT :: struct {
-	firstVertex: u32,
-	vertexCount: u32,
-}
-
-MultiDrawIndexedInfoEXT :: struct {
-	firstIndex:   u32,
-	indexCount:   u32,
-	vertexOffset: i32,
-}
-
-PhysicalDeviceImage2DViewOf3DFeaturesEXT :: struct {
-	sType:             StructureType,
-	pNext:             rawptr,
-	image2DViewOf3D:   b32,
-	sampler2DViewOf3D: b32,
-}
-
-PhysicalDeviceBorderColorSwizzleFeaturesEXT :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	borderColorSwizzle:          b32,
-	borderColorSwizzleFromImage: b32,
-}
-
-SamplerBorderColorComponentMappingCreateInfoEXT :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	components: ComponentMapping,
-	srgb:       b32,
-}
-
-PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT :: struct {
-	sType:                     StructureType,
-	pNext:                     rawptr,
-	pageableDeviceLocalMemory: b32,
-}
-
-PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	descriptorSetHostMapping: b32,
-}
-
-DescriptorSetBindingReferenceVALVE :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	descriptorSetLayout: DescriptorSetLayout,
-	binding:             u32,
-}
-
-DescriptorSetLayoutHostMappingInfoVALVE :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	descriptorOffset: int,
-	descriptorSize:   u32,
-}
-
-PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	fragmentDensityMapOffset: b32,
-}
-
-PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM :: struct {
-	sType:                            StructureType,
-	pNext:                            rawptr,
-	fragmentDensityOffsetGranularity: Extent2D,
-}
-
-SubpassFragmentDensityMapOffsetEndInfoQCOM :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	fragmentDensityOffsetCount: u32,
-	pFragmentDensityOffsets:    [^]Offset2D,
-}
-
-PhysicalDeviceLinearColorAttachmentFeaturesNV :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	linearColorAttachment: b32,
-}
-
-DeviceOrHostAddressKHR :: struct #raw_union {
-	deviceAddress: DeviceAddress,
-	hostAddress:   rawptr,
-}
-
-AccelerationStructureBuildRangeInfoKHR :: struct {
-	primitiveCount:  u32,
-	primitiveOffset: u32,
-	firstVertex:     u32,
-	transformOffset: u32,
-}
-
-AccelerationStructureGeometryTrianglesDataKHR :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	vertexFormat:  Format,
-	vertexData:    DeviceOrHostAddressConstKHR,
-	vertexStride:  DeviceSize,
-	maxVertex:     u32,
-	indexType:     IndexType,
-	indexData:     DeviceOrHostAddressConstKHR,
-	transformData: DeviceOrHostAddressConstKHR,
-}
-
-AccelerationStructureGeometryAabbsDataKHR :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	data:   DeviceOrHostAddressConstKHR,
-	stride: DeviceSize,
-}
-
-AccelerationStructureGeometryInstancesDataKHR :: struct {
-	sType:           StructureType,
-	pNext:           rawptr,
-	arrayOfPointers: b32,
-	data:            DeviceOrHostAddressConstKHR,
-}
-
-AccelerationStructureGeometryDataKHR :: struct #raw_union {
-	triangles: AccelerationStructureGeometryTrianglesDataKHR,
-	aabbs:     AccelerationStructureGeometryAabbsDataKHR,
-	instances: AccelerationStructureGeometryInstancesDataKHR,
-}
-
-AccelerationStructureGeometryKHR :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	geometryType: GeometryTypeKHR,
-	geometry:     AccelerationStructureGeometryDataKHR,
-	flags:        GeometryFlagsKHR,
-}
-
-AccelerationStructureBuildGeometryInfoKHR :: struct {
-	sType:                    StructureType,
-	pNext:                    rawptr,
-	type:                     AccelerationStructureTypeKHR,
-	flags:                    BuildAccelerationStructureFlagsKHR,
-	mode:                     BuildAccelerationStructureModeKHR,
-	srcAccelerationStructure: AccelerationStructureKHR,
-	dstAccelerationStructure: AccelerationStructureKHR,
-	geometryCount:            u32,
-	pGeometries:              [^]AccelerationStructureGeometryKHR,
-	ppGeometries:             ^[^]AccelerationStructureGeometryKHR,
-	scratchData:              DeviceOrHostAddressKHR,
-}
-
-AccelerationStructureCreateInfoKHR :: struct {
-	sType:         StructureType,
-	pNext:         rawptr,
-	createFlags:   AccelerationStructureCreateFlagsKHR,
-	buffer:        Buffer,
-	offset:        DeviceSize,
-	size:          DeviceSize,
-	type:          AccelerationStructureTypeKHR,
-	deviceAddress: DeviceAddress,
-}
-
-WriteDescriptorSetAccelerationStructureKHR :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	accelerationStructureCount: u32,
-	pAccelerationStructures:    [^]AccelerationStructureKHR,
-}
-
-PhysicalDeviceAccelerationStructureFeaturesKHR :: struct {
-	sType:                                                 StructureType,
-	pNext:                                                 rawptr,
-	accelerationStructure:                                 b32,
-	accelerationStructureCaptureReplay:                    b32,
-	accelerationStructureIndirectBuild:                    b32,
-	accelerationStructureHostCommands:                     b32,
-	descriptorBindingAccelerationStructureUpdateAfterBind: b32,
-}
-
-PhysicalDeviceAccelerationStructurePropertiesKHR :: struct {
-	sType:                                                      StructureType,
-	pNext:                                                      rawptr,
-	maxGeometryCount:                                           u64,
-	maxInstanceCount:                                           u64,
-	maxPrimitiveCount:                                          u64,
-	maxPerStageDescriptorAccelerationStructures:                u32,
-	maxPerStageDescriptorUpdateAfterBindAccelerationStructures: u32,
-	maxDescriptorSetAccelerationStructures:                     u32,
-	maxDescriptorSetUpdateAfterBindAccelerationStructures:      u32,
-	minAccelerationStructureScratchOffsetAlignment:             u32,
-}
-
-AccelerationStructureDeviceAddressInfoKHR :: struct {
-	sType:                 StructureType,
-	pNext:                 rawptr,
-	accelerationStructure: AccelerationStructureKHR,
-}
-
-AccelerationStructureVersionInfoKHR :: struct {
-	sType:        StructureType,
-	pNext:        rawptr,
-	pVersionData: ^u8,
-}
-
-CopyAccelerationStructureToMemoryInfoKHR :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	src:   AccelerationStructureKHR,
-	dst:   DeviceOrHostAddressKHR,
-	mode:  CopyAccelerationStructureModeKHR,
-}
-
-CopyMemoryToAccelerationStructureInfoKHR :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	src:   DeviceOrHostAddressConstKHR,
-	dst:   AccelerationStructureKHR,
-	mode:  CopyAccelerationStructureModeKHR,
-}
-
-CopyAccelerationStructureInfoKHR :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	src:   AccelerationStructureKHR,
-	dst:   AccelerationStructureKHR,
-	mode:  CopyAccelerationStructureModeKHR,
-}
-
-AccelerationStructureBuildSizesInfoKHR :: struct {
-	sType:                     StructureType,
-	pNext:                     rawptr,
-	accelerationStructureSize: DeviceSize,
-	updateScratchSize:         DeviceSize,
-	buildScratchSize:          DeviceSize,
-}
-
-RayTracingShaderGroupCreateInfoKHR :: struct {
-	sType:                           StructureType,
-	pNext:                           rawptr,
-	type:                            RayTracingShaderGroupTypeKHR,
-	generalShader:                   u32,
-	closestHitShader:                u32,
-	anyHitShader:                    u32,
-	intersectionShader:              u32,
-	pShaderGroupCaptureReplayHandle: rawptr,
-}
-
-RayTracingPipelineInterfaceCreateInfoKHR :: struct {
-	sType:                          StructureType,
-	pNext:                          rawptr,
-	maxPipelineRayPayloadSize:      u32,
-	maxPipelineRayHitAttributeSize: u32,
-}
-
-RayTracingPipelineCreateInfoKHR :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	flags:                        PipelineCreateFlags,
-	stageCount:                   u32,
-	pStages:                      [^]PipelineShaderStageCreateInfo,
-	groupCount:                   u32,
-	pGroups:                      [^]RayTracingShaderGroupCreateInfoKHR,
-	maxPipelineRayRecursionDepth: u32,
-	pLibraryInfo:                 ^PipelineLibraryCreateInfoKHR,
-	pLibraryInterface:            ^RayTracingPipelineInterfaceCreateInfoKHR,
-	pDynamicState:                ^PipelineDynamicStateCreateInfo,
-	layout:                       PipelineLayout,
-	basePipelineHandle:           Pipeline,
-	basePipelineIndex:            i32,
-}
-
-PhysicalDeviceRayTracingPipelineFeaturesKHR :: struct {
-	sType:                                                 StructureType,
-	pNext:                                                 rawptr,
-	rayTracingPipeline:                                    b32,
-	rayTracingPipelineShaderGroupHandleCaptureReplay:      b32,
-	rayTracingPipelineShaderGroupHandleCaptureReplayMixed: b32,
-	rayTracingPipelineTraceRaysIndirect:                   b32,
-	rayTraversalPrimitiveCulling:                          b32,
-}
-
-PhysicalDeviceRayTracingPipelinePropertiesKHR :: struct {
-	sType:                              StructureType,
-	pNext:                              rawptr,
-	shaderGroupHandleSize:              u32,
-	maxRayRecursionDepth:               u32,
-	maxShaderGroupStride:               u32,
-	shaderGroupBaseAlignment:           u32,
-	shaderGroupHandleCaptureReplaySize: u32,
-	maxRayDispatchInvocationCount:      u32,
-	shaderGroupHandleAlignment:         u32,
-	maxRayHitAttributeSize:             u32,
-}
-
-StridedDeviceAddressRegionKHR :: struct {
-	deviceAddress: DeviceAddress,
-	stride:        DeviceSize,
-	size:          DeviceSize,
-}
-
-TraceRaysIndirectCommandKHR :: struct {
-	width:  u32,
-	height: u32,
-	depth:  u32,
-}
-
-PhysicalDeviceRayQueryFeaturesKHR :: struct {
-	sType:    StructureType,
-	pNext:    rawptr,
-	rayQuery: b32,
-}
-
-Win32SurfaceCreateInfoKHR :: struct {
-	sType:     StructureType,
-	pNext:     rawptr,
-	flags:     Win32SurfaceCreateFlagsKHR,
-	hinstance: HINSTANCE,
-	hwnd:      HWND,
-}
-
-ImportMemoryWin32HandleInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	handleType: ExternalMemoryHandleTypeFlags,
-	handle:     HANDLE,
-	name:       LPCWSTR,
-}
-
-ExportMemoryWin32HandleInfoKHR :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	pAttributes: [^]SECURITY_ATTRIBUTES,
-	dwAccess:    DWORD,
-	name:        LPCWSTR,
-}
-
-MemoryWin32HandlePropertiesKHR :: struct {
-	sType:          StructureType,
-	pNext:          rawptr,
-	memoryTypeBits: u32,
-}
-
-MemoryGetWin32HandleInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	memory:     DeviceMemory,
-	handleType: ExternalMemoryHandleTypeFlags,
-}
-
-Win32KeyedMutexAcquireReleaseInfoKHR :: struct {
-	sType:            StructureType,
-	pNext:            rawptr,
-	acquireCount:     u32,
-	pAcquireSyncs:    [^]DeviceMemory,
-	pAcquireKeys:     [^]u64,
-	pAcquireTimeouts: [^]u32,
-	releaseCount:     u32,
-	pReleaseSyncs:    [^]DeviceMemory,
-	pReleaseKeys:     [^]u64,
-}
-
-ImportSemaphoreWin32HandleInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	semaphore:  Semaphore,
-	flags:      SemaphoreImportFlags,
-	handleType: ExternalSemaphoreHandleTypeFlags,
-	handle:     HANDLE,
-	name:       LPCWSTR,
-}
-
-ExportSemaphoreWin32HandleInfoKHR :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	pAttributes: [^]SECURITY_ATTRIBUTES,
-	dwAccess:    DWORD,
-	name:        LPCWSTR,
-}
-
-D3D12FenceSubmitInfoKHR :: struct {
-	sType:                      StructureType,
-	pNext:                      rawptr,
-	waitSemaphoreValuesCount:   u32,
-	pWaitSemaphoreValues:       [^]u64,
-	signalSemaphoreValuesCount: u32,
-	pSignalSemaphoreValues:     [^]u64,
-}
-
-SemaphoreGetWin32HandleInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	semaphore:  Semaphore,
-	handleType: ExternalSemaphoreHandleTypeFlags,
-}
-
-ImportFenceWin32HandleInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	fence:      Fence,
-	flags:      FenceImportFlags,
-	handleType: ExternalFenceHandleTypeFlags,
-	handle:     HANDLE,
-	name:       LPCWSTR,
-}
-
-ExportFenceWin32HandleInfoKHR :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	pAttributes: [^]SECURITY_ATTRIBUTES,
-	dwAccess:    DWORD,
-	name:        LPCWSTR,
-}
-
-FenceGetWin32HandleInfoKHR :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	fence:      Fence,
-	handleType: ExternalFenceHandleTypeFlags,
-}
-
-ImportMemoryWin32HandleInfoNV :: struct {
-	sType:      StructureType,
-	pNext:      rawptr,
-	handleType: ExternalMemoryHandleTypeFlagsNV,
-	handle:     HANDLE,
-}
-
-ExportMemoryWin32HandleInfoNV :: struct {
-	sType:       StructureType,
-	pNext:       rawptr,
-	pAttributes: [^]SECURITY_ATTRIBUTES,
-	dwAccess:    DWORD,
-}
-
-Win32KeyedMutexAcquireReleaseInfoNV :: struct {
-	sType:                       StructureType,
-	pNext:                       rawptr,
-	acquireCount:                u32,
-	pAcquireSyncs:               [^]DeviceMemory,
-	pAcquireKeys:                [^]u64,
-	pAcquireTimeoutMilliseconds: [^]u32,
-	releaseCount:                u32,
-	pReleaseSyncs:               [^]DeviceMemory,
-	pReleaseKeys:                [^]u64,
-}
-
-SurfaceFullScreenExclusiveInfoEXT :: struct {
-	sType:               StructureType,
-	pNext:               rawptr,
-	fullScreenExclusive: FullScreenExclusiveEXT,
-}
-
-SurfaceCapabilitiesFullScreenExclusiveEXT :: struct {
-	sType:                        StructureType,
-	pNext:                        rawptr,
-	fullScreenExclusiveSupported: b32,
-}
-
-SurfaceFullScreenExclusiveWin32InfoEXT :: struct {
-	sType:    StructureType,
-	pNext:    rawptr,
-	hmonitor: HMONITOR,
-}
-
-MetalSurfaceCreateInfoEXT :: struct {
-	sType:  StructureType,
-	pNext:  rawptr,
-	flags:  MetalSurfaceCreateFlagsEXT,
-	pLayer: ^CAMetalLayer,
-}
-
-MacOSSurfaceCreateInfoMVK :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	flags: MacOSSurfaceCreateFlagsMVK,
-	pView: rawptr,
-}
-
-IOSSurfaceCreateInfoMVK :: struct {
-	sType: StructureType,
-	pNext: rawptr,
-	flags: IOSSurfaceCreateFlagsMVK,
-	pView: rawptr,
-}
-
-WaylandSurfaceCreateInfoKHR :: struct {
-	sType:   StructureType,
-	pNext:   rawptr,
-	flags:   WaylandSurfaceCreateFlagsKHR,
-	display: ^struct wl_display,
-	surface: ^struct wl_surface,
-}
-
-// Aliases
-PhysicalDeviceVariablePointerFeatures                   :: PhysicalDeviceVariablePointersFeatures
-PhysicalDeviceShaderDrawParameterFeatures               :: PhysicalDeviceShaderDrawParametersFeatures
-PipelineStageFlags2                                     :: Flags64
-PipelineStageFlag2                                      :: Flags64
-AccessFlags2                                            :: Flags64
-AccessFlag2                                             :: Flags64
-FormatFeatureFlags2                                     :: Flags64
-FormatFeatureFlag2                                      :: Flags64
-RenderingFlagsKHR                                       :: RenderingFlags
-RenderingFlagKHR                                        :: RenderingFlag
-RenderingInfoKHR                                        :: RenderingInfo
-RenderingAttachmentInfoKHR                              :: RenderingAttachmentInfo
-PipelineRenderingCreateInfoKHR                          :: PipelineRenderingCreateInfo
-PhysicalDeviceDynamicRenderingFeaturesKHR               :: PhysicalDeviceDynamicRenderingFeatures
-CommandBufferInheritanceRenderingInfoKHR                :: CommandBufferInheritanceRenderingInfo
-AttachmentSampleCountInfoNV                             :: AttachmentSampleCountInfoAMD
-RenderPassMultiviewCreateInfoKHR                        :: RenderPassMultiviewCreateInfo
-PhysicalDeviceMultiviewFeaturesKHR                      :: PhysicalDeviceMultiviewFeatures
-PhysicalDeviceMultiviewPropertiesKHR                    :: PhysicalDeviceMultiviewProperties
-PhysicalDeviceFeatures2KHR                              :: PhysicalDeviceFeatures2
-PhysicalDeviceProperties2KHR                            :: PhysicalDeviceProperties2
-FormatProperties2KHR                                    :: FormatProperties2
-ImageFormatProperties2KHR                               :: ImageFormatProperties2
-PhysicalDeviceImageFormatInfo2KHR                       :: PhysicalDeviceImageFormatInfo2
-QueueFamilyProperties2KHR                               :: QueueFamilyProperties2
-PhysicalDeviceMemoryProperties2KHR                      :: PhysicalDeviceMemoryProperties2
-SparseImageFormatProperties2KHR                         :: SparseImageFormatProperties2
-PhysicalDeviceSparseImageFormatInfo2KHR                 :: PhysicalDeviceSparseImageFormatInfo2
-PeerMemoryFeatureFlagsKHR                               :: PeerMemoryFeatureFlags
-PeerMemoryFeatureFlagKHR                                :: PeerMemoryFeatureFlag
-MemoryAllocateFlagsKHR                                  :: MemoryAllocateFlags
-MemoryAllocateFlagKHR                                   :: MemoryAllocateFlag
-MemoryAllocateFlagsInfoKHR                              :: MemoryAllocateFlagsInfo
-DeviceGroupRenderPassBeginInfoKHR                       :: DeviceGroupRenderPassBeginInfo
-DeviceGroupCommandBufferBeginInfoKHR                    :: DeviceGroupCommandBufferBeginInfo
-DeviceGroupSubmitInfoKHR                                :: DeviceGroupSubmitInfo
-DeviceGroupBindSparseInfoKHR                            :: DeviceGroupBindSparseInfo
-BindBufferMemoryDeviceGroupInfoKHR                      :: BindBufferMemoryDeviceGroupInfo
-BindImageMemoryDeviceGroupInfoKHR                       :: BindImageMemoryDeviceGroupInfo
-CommandPoolTrimFlagsKHR                                 :: CommandPoolTrimFlags
-PhysicalDeviceGroupPropertiesKHR                        :: PhysicalDeviceGroupProperties
-DeviceGroupDeviceCreateInfoKHR                          :: DeviceGroupDeviceCreateInfo
-ExternalMemoryHandleTypeFlagsKHR                        :: ExternalMemoryHandleTypeFlags
-ExternalMemoryHandleTypeFlagKHR                         :: ExternalMemoryHandleTypeFlag
-ExternalMemoryFeatureFlagsKHR                           :: ExternalMemoryFeatureFlags
-ExternalMemoryFeatureFlagKHR                            :: ExternalMemoryFeatureFlag
-ExternalMemoryPropertiesKHR                             :: ExternalMemoryProperties
-PhysicalDeviceExternalImageFormatInfoKHR                :: PhysicalDeviceExternalImageFormatInfo
-ExternalImageFormatPropertiesKHR                        :: ExternalImageFormatProperties
-PhysicalDeviceExternalBufferInfoKHR                     :: PhysicalDeviceExternalBufferInfo
-ExternalBufferPropertiesKHR                             :: ExternalBufferProperties
-PhysicalDeviceIDPropertiesKHR                           :: PhysicalDeviceIDProperties
-ExternalMemoryImageCreateInfoKHR                        :: ExternalMemoryImageCreateInfo
-ExternalMemoryBufferCreateInfoKHR                       :: ExternalMemoryBufferCreateInfo
-ExportMemoryAllocateInfoKHR                             :: ExportMemoryAllocateInfo
-ExternalSemaphoreHandleTypeFlagsKHR                     :: ExternalSemaphoreHandleTypeFlags
-ExternalSemaphoreHandleTypeFlagKHR                      :: ExternalSemaphoreHandleTypeFlag
-ExternalSemaphoreFeatureFlagsKHR                        :: ExternalSemaphoreFeatureFlags
-ExternalSemaphoreFeatureFlagKHR                         :: ExternalSemaphoreFeatureFlag
-PhysicalDeviceExternalSemaphoreInfoKHR                  :: PhysicalDeviceExternalSemaphoreInfo
-ExternalSemaphorePropertiesKHR                          :: ExternalSemaphoreProperties
-SemaphoreImportFlagsKHR                                 :: SemaphoreImportFlags
-SemaphoreImportFlagKHR                                  :: SemaphoreImportFlag
-ExportSemaphoreCreateInfoKHR                            :: ExportSemaphoreCreateInfo
-PhysicalDeviceShaderFloat16Int8FeaturesKHR              :: PhysicalDeviceShaderFloat16Int8Features
-PhysicalDeviceFloat16Int8FeaturesKHR                    :: PhysicalDeviceShaderFloat16Int8Features
-PhysicalDevice16BitStorageFeaturesKHR                   :: PhysicalDevice16BitStorageFeatures
-DescriptorUpdateTemplateKHR                             :: DescriptorUpdateTemplate
-DescriptorUpdateTemplateTypeKHR                         :: DescriptorUpdateTemplateType
-DescriptorUpdateTemplateCreateFlagsKHR                  :: DescriptorUpdateTemplateCreateFlags
-DescriptorUpdateTemplateEntryKHR                        :: DescriptorUpdateTemplateEntry
-DescriptorUpdateTemplateCreateInfoKHR                   :: DescriptorUpdateTemplateCreateInfo
-PhysicalDeviceImagelessFramebufferFeaturesKHR           :: PhysicalDeviceImagelessFramebufferFeatures
-FramebufferAttachmentsCreateInfoKHR                     :: FramebufferAttachmentsCreateInfo
-FramebufferAttachmentImageInfoKHR                       :: FramebufferAttachmentImageInfo
-RenderPassAttachmentBeginInfoKHR                        :: RenderPassAttachmentBeginInfo
-RenderPassCreateInfo2KHR                                :: RenderPassCreateInfo2
-AttachmentDescription2KHR                               :: AttachmentDescription2
-AttachmentReference2KHR                                 :: AttachmentReference2
-SubpassDescription2KHR                                  :: SubpassDescription2
-SubpassDependency2KHR                                   :: SubpassDependency2
-SubpassBeginInfoKHR                                     :: SubpassBeginInfo
-SubpassEndInfoKHR                                       :: SubpassEndInfo
-ExternalFenceHandleTypeFlagsKHR                         :: ExternalFenceHandleTypeFlags
-ExternalFenceHandleTypeFlagKHR                          :: ExternalFenceHandleTypeFlag
-ExternalFenceFeatureFlagsKHR                            :: ExternalFenceFeatureFlags
-ExternalFenceFeatureFlagKHR                             :: ExternalFenceFeatureFlag
-PhysicalDeviceExternalFenceInfoKHR                      :: PhysicalDeviceExternalFenceInfo
-ExternalFencePropertiesKHR                              :: ExternalFenceProperties
-FenceImportFlagsKHR                                     :: FenceImportFlags
-FenceImportFlagKHR                                      :: FenceImportFlag
-ExportFenceCreateInfoKHR                                :: ExportFenceCreateInfo
-PointClippingBehaviorKHR                                :: PointClippingBehavior
-TessellationDomainOriginKHR                             :: TessellationDomainOrigin
-PhysicalDevicePointClippingPropertiesKHR                :: PhysicalDevicePointClippingProperties
-RenderPassInputAttachmentAspectCreateInfoKHR            :: RenderPassInputAttachmentAspectCreateInfo
-InputAttachmentAspectReferenceKHR                       :: InputAttachmentAspectReference
-ImageViewUsageCreateInfoKHR                             :: ImageViewUsageCreateInfo
-PipelineTessellationDomainOriginStateCreateInfoKHR      :: PipelineTessellationDomainOriginStateCreateInfo
-PhysicalDeviceVariablePointerFeaturesKHR                :: PhysicalDeviceVariablePointersFeatures
-PhysicalDeviceVariablePointersFeaturesKHR               :: PhysicalDeviceVariablePointersFeatures
-MemoryDedicatedRequirementsKHR                          :: MemoryDedicatedRequirements
-MemoryDedicatedAllocateInfoKHR                          :: MemoryDedicatedAllocateInfo
-BufferMemoryRequirementsInfo2KHR                        :: BufferMemoryRequirementsInfo2
-ImageMemoryRequirementsInfo2KHR                         :: ImageMemoryRequirementsInfo2
-ImageSparseMemoryRequirementsInfo2KHR                   :: ImageSparseMemoryRequirementsInfo2
-MemoryRequirements2KHR                                  :: MemoryRequirements2
-SparseImageMemoryRequirements2KHR                       :: SparseImageMemoryRequirements2
-ImageFormatListCreateInfoKHR                            :: ImageFormatListCreateInfo
-SamplerYcbcrConversionKHR                               :: SamplerYcbcrConversion
-SamplerYcbcrModelConversionKHR                          :: SamplerYcbcrModelConversion
-SamplerYcbcrRangeKHR                                    :: SamplerYcbcrRange
-ChromaLocationKHR                                       :: ChromaLocation
-SamplerYcbcrConversionCreateInfoKHR                     :: SamplerYcbcrConversionCreateInfo
-SamplerYcbcrConversionInfoKHR                           :: SamplerYcbcrConversionInfo
-BindImagePlaneMemoryInfoKHR                             :: BindImagePlaneMemoryInfo
-ImagePlaneMemoryRequirementsInfoKHR                     :: ImagePlaneMemoryRequirementsInfo
-PhysicalDeviceSamplerYcbcrConversionFeaturesKHR         :: PhysicalDeviceSamplerYcbcrConversionFeatures
-SamplerYcbcrConversionImageFormatPropertiesKHR          :: SamplerYcbcrConversionImageFormatProperties
-BindBufferMemoryInfoKHR                                 :: BindBufferMemoryInfo
-BindImageMemoryInfoKHR                                  :: BindImageMemoryInfo
-PhysicalDeviceMaintenance3PropertiesKHR                 :: PhysicalDeviceMaintenance3Properties
-DescriptorSetLayoutSupportKHR                           :: DescriptorSetLayoutSupport
-PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR    :: PhysicalDeviceShaderSubgroupExtendedTypesFeatures
-PhysicalDevice8BitStorageFeaturesKHR                    :: PhysicalDevice8BitStorageFeatures
-PhysicalDeviceShaderAtomicInt64FeaturesKHR              :: PhysicalDeviceShaderAtomicInt64Features
-DriverIdKHR                                             :: DriverId
-ConformanceVersionKHR                                   :: ConformanceVersion
-PhysicalDeviceDriverPropertiesKHR                       :: PhysicalDeviceDriverProperties
-ShaderFloatControlsIndependenceKHR                      :: ShaderFloatControlsIndependence
-PhysicalDeviceFloatControlsPropertiesKHR                :: PhysicalDeviceFloatControlsProperties
-ResolveModeFlagKHR                                      :: ResolveModeFlag
-ResolveModeFlagsKHR                                     :: ResolveModeFlags
-SubpassDescriptionDepthStencilResolveKHR                :: SubpassDescriptionDepthStencilResolve
-PhysicalDeviceDepthStencilResolvePropertiesKHR          :: PhysicalDeviceDepthStencilResolveProperties
-SemaphoreTypeKHR                                        :: SemaphoreType
-SemaphoreWaitFlagKHR                                    :: SemaphoreWaitFlag
-SemaphoreWaitFlagsKHR                                   :: SemaphoreWaitFlags
-PhysicalDeviceTimelineSemaphoreFeaturesKHR              :: PhysicalDeviceTimelineSemaphoreFeatures
-PhysicalDeviceTimelineSemaphorePropertiesKHR            :: PhysicalDeviceTimelineSemaphoreProperties
-SemaphoreTypeCreateInfoKHR                              :: SemaphoreTypeCreateInfo
-TimelineSemaphoreSubmitInfoKHR                          :: TimelineSemaphoreSubmitInfo
-SemaphoreWaitInfoKHR                                    :: SemaphoreWaitInfo
-SemaphoreSignalInfoKHR                                  :: SemaphoreSignalInfo
-PhysicalDeviceVulkanMemoryModelFeaturesKHR              :: PhysicalDeviceVulkanMemoryModelFeatures
-PhysicalDeviceShaderTerminateInvocationFeaturesKHR      :: PhysicalDeviceShaderTerminateInvocationFeatures
-PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR    :: PhysicalDeviceSeparateDepthStencilLayoutsFeatures
-AttachmentReferenceStencilLayoutKHR                     :: AttachmentReferenceStencilLayout
-AttachmentDescriptionStencilLayoutKHR                   :: AttachmentDescriptionStencilLayout
-PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR    :: PhysicalDeviceUniformBufferStandardLayoutFeatures
-PhysicalDeviceBufferDeviceAddressFeaturesKHR            :: PhysicalDeviceBufferDeviceAddressFeatures
-BufferDeviceAddressInfoKHR                              :: BufferDeviceAddressInfo
-BufferOpaqueCaptureAddressCreateInfoKHR                 :: BufferOpaqueCaptureAddressCreateInfo
-MemoryOpaqueCaptureAddressAllocateInfoKHR               :: MemoryOpaqueCaptureAddressAllocateInfo
-DeviceMemoryOpaqueCaptureAddressInfoKHR                 :: DeviceMemoryOpaqueCaptureAddressInfo
-PhysicalDeviceShaderIntegerDotProductFeaturesKHR        :: PhysicalDeviceShaderIntegerDotProductFeatures
-PhysicalDeviceShaderIntegerDotProductPropertiesKHR      :: PhysicalDeviceShaderIntegerDotProductProperties
-PipelineStageFlags2KHR                                  :: PipelineStageFlags2
-PipelineStageFlag2KHR                                   :: PipelineStageFlag2
-AccessFlags2KHR                                         :: AccessFlags2
-AccessFlag2KHR                                          :: AccessFlag2
-SubmitFlagKHR                                           :: SubmitFlag
-SubmitFlagsKHR                                          :: SubmitFlags
-MemoryBarrier2KHR                                       :: MemoryBarrier2
-BufferMemoryBarrier2KHR                                 :: BufferMemoryBarrier2
-ImageMemoryBarrier2KHR                                  :: ImageMemoryBarrier2
-DependencyInfoKHR                                       :: DependencyInfo
-SubmitInfo2KHR                                          :: SubmitInfo2
-SemaphoreSubmitInfoKHR                                  :: SemaphoreSubmitInfo
-CommandBufferSubmitInfoKHR                              :: CommandBufferSubmitInfo
-PhysicalDeviceSynchronization2FeaturesKHR               :: PhysicalDeviceSynchronization2Features
-PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR  :: PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
-CopyBufferInfo2KHR                                      :: CopyBufferInfo2
-CopyImageInfo2KHR                                       :: CopyImageInfo2
-CopyBufferToImageInfo2KHR                               :: CopyBufferToImageInfo2
-CopyImageToBufferInfo2KHR                               :: CopyImageToBufferInfo2
-BlitImageInfo2KHR                                       :: BlitImageInfo2
-ResolveImageInfo2KHR                                    :: ResolveImageInfo2
-BufferCopy2KHR                                          :: BufferCopy2
-ImageCopy2KHR                                           :: ImageCopy2
-ImageBlit2KHR                                           :: ImageBlit2
-BufferImageCopy2KHR                                     :: BufferImageCopy2
-ImageResolve2KHR                                        :: ImageResolve2
-FormatFeatureFlags2KHR                                  :: FormatFeatureFlags2
-FormatFeatureFlag2KHR                                   :: FormatFeatureFlag2
-FormatProperties3KHR                                    :: FormatProperties3
-PhysicalDeviceMaintenance4FeaturesKHR                   :: PhysicalDeviceMaintenance4Features
-PhysicalDeviceMaintenance4PropertiesKHR                 :: PhysicalDeviceMaintenance4Properties
-DeviceBufferMemoryRequirementsKHR                       :: DeviceBufferMemoryRequirements
-DeviceImageMemoryRequirementsKHR                        :: DeviceImageMemoryRequirements
-PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT      :: PhysicalDeviceTextureCompressionASTCHDRFeatures
-SamplerReductionModeEXT                                 :: SamplerReductionMode
-SamplerReductionModeCreateInfoEXT                       :: SamplerReductionModeCreateInfo
-PhysicalDeviceSamplerFilterMinmaxPropertiesEXT          :: PhysicalDeviceSamplerFilterMinmaxProperties
-PhysicalDeviceInlineUniformBlockFeaturesEXT             :: PhysicalDeviceInlineUniformBlockFeatures
-PhysicalDeviceInlineUniformBlockPropertiesEXT           :: PhysicalDeviceInlineUniformBlockProperties
-WriteDescriptorSetInlineUniformBlockEXT                 :: WriteDescriptorSetInlineUniformBlock
-DescriptorPoolInlineUniformBlockCreateInfoEXT           :: DescriptorPoolInlineUniformBlockCreateInfo
-DescriptorBindingFlagEXT                                :: DescriptorBindingFlag
-DescriptorBindingFlagsEXT                               :: DescriptorBindingFlags
-DescriptorSetLayoutBindingFlagsCreateInfoEXT            :: DescriptorSetLayoutBindingFlagsCreateInfo
-PhysicalDeviceDescriptorIndexingFeaturesEXT             :: PhysicalDeviceDescriptorIndexingFeatures
-PhysicalDeviceDescriptorIndexingPropertiesEXT           :: PhysicalDeviceDescriptorIndexingProperties
-DescriptorSetVariableDescriptorCountAllocateInfoEXT     :: DescriptorSetVariableDescriptorCountAllocateInfo
-DescriptorSetVariableDescriptorCountLayoutSupportEXT    :: DescriptorSetVariableDescriptorCountLayoutSupport
-RayTracingShaderGroupTypeNV                             :: RayTracingShaderGroupTypeKHR
-GeometryTypeNV                                          :: GeometryTypeKHR
-AccelerationStructureTypeNV                             :: AccelerationStructureTypeKHR
-CopyAccelerationStructureModeNV                         :: CopyAccelerationStructureModeKHR
-GeometryFlagsNV                                         :: GeometryFlagsKHR
-GeometryFlagNV                                          :: GeometryFlagKHR
-GeometryInstanceFlagsNV                                 :: GeometryInstanceFlagsKHR
-GeometryInstanceFlagNV                                  :: GeometryInstanceFlagKHR
-BuildAccelerationStructureFlagsNV                       :: BuildAccelerationStructureFlagsKHR
-BuildAccelerationStructureFlagNV                        :: BuildAccelerationStructureFlagKHR
-TransformMatrixNV                                       :: TransformMatrixKHR
-AabbPositionsNV                                         :: AabbPositionsKHR
-AccelerationStructureInstanceNV                         :: AccelerationStructureInstanceKHR
-QueueGlobalPriorityEXT                                  :: QueueGlobalPriorityKHR
-DeviceQueueGlobalPriorityCreateInfoEXT                  :: DeviceQueueGlobalPriorityCreateInfoKHR
-PipelineCreationFeedbackFlagEXT                         :: PipelineCreationFeedbackFlag
-PipelineCreationFeedbackFlagsEXT                        :: PipelineCreationFeedbackFlags
-PipelineCreationFeedbackCreateInfoEXT                   :: PipelineCreationFeedbackCreateInfo
-PipelineCreationFeedbackEXT                             :: PipelineCreationFeedback
-QueryPoolCreateInfoINTEL                                :: QueryPoolPerformanceQueryCreateInfoINTEL
-PhysicalDeviceScalarBlockLayoutFeaturesEXT              :: PhysicalDeviceScalarBlockLayoutFeatures
-PhysicalDeviceSubgroupSizeControlFeaturesEXT            :: PhysicalDeviceSubgroupSizeControlFeatures
-PhysicalDeviceSubgroupSizeControlPropertiesEXT          :: PhysicalDeviceSubgroupSizeControlProperties
-PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT    :: PipelineShaderStageRequiredSubgroupSizeCreateInfo
-PhysicalDeviceBufferAddressFeaturesEXT                  :: PhysicalDeviceBufferDeviceAddressFeaturesEXT
-BufferDeviceAddressInfoEXT                              :: BufferDeviceAddressInfo
-ToolPurposeFlagEXT                                      :: ToolPurposeFlag
-ToolPurposeFlagsEXT                                     :: ToolPurposeFlags
-PhysicalDeviceToolPropertiesEXT                         :: PhysicalDeviceToolProperties
-ImageStencilUsageCreateInfoEXT                          :: ImageStencilUsageCreateInfo
-PhysicalDeviceHostQueryResetFeaturesEXT                 :: PhysicalDeviceHostQueryResetFeatures
-PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT :: PhysicalDeviceShaderDemoteToHelperInvocationFeatures
-PhysicalDeviceTexelBufferAlignmentPropertiesEXT         :: PhysicalDeviceTexelBufferAlignmentProperties
-PrivateDataSlotEXT                                      :: PrivateDataSlot
-PrivateDataSlotCreateFlagsEXT                           :: PrivateDataSlotCreateFlags
-PhysicalDevicePrivateDataFeaturesEXT                    :: PhysicalDevicePrivateDataFeatures
-DevicePrivateDataCreateInfoEXT                          :: DevicePrivateDataCreateInfo
-PrivateDataSlotCreateInfoEXT                            :: PrivateDataSlotCreateInfo
-PhysicalDevicePipelineCreationCacheControlFeaturesEXT   :: PhysicalDevicePipelineCreationCacheControlFeatures
-PhysicalDeviceImageRobustnessFeaturesEXT                :: PhysicalDeviceImageRobustnessFeatures
-PhysicalDeviceGlobalPriorityQueryFeaturesEXT            :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-QueueFamilyGlobalPriorityPropertiesEXT                  :: QueueFamilyGlobalPriorityPropertiesKHR
-
-
+//
+// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
+//
+package vulkan
+
+import "core:c"
+
+when ODIN_OS == .Windows {
+	import win32 "core:sys/windows"
+
+	HINSTANCE           :: win32.HINSTANCE
+	HWND                :: win32.HWND
+	HMONITOR            :: win32.HMONITOR
+	HANDLE              :: win32.HANDLE
+	LPCWSTR             :: win32.LPCWSTR
+	SECURITY_ATTRIBUTES :: win32.SECURITY_ATTRIBUTES
+	DWORD               :: win32.DWORD
+	LONG                :: win32.LONG
+	LUID                :: win32.LUID
+} else {
+	HINSTANCE           :: distinct rawptr
+	HWND                :: distinct rawptr
+	HMONITOR            :: distinct rawptr
+	HANDLE              :: distinct rawptr
+	LPCWSTR             :: ^u16
+	SECURITY_ATTRIBUTES :: struct {}
+	DWORD               :: u32
+	LONG                :: c.long
+	LUID :: struct {
+		LowPart:  DWORD,
+		HighPart: LONG,
+	}
+}
+
+CAMetalLayer :: struct {}
+
+/********************************/
+
+Extent2D :: struct {
+	width:  u32,
+	height: u32,
+}
+
+Extent3D :: struct {
+	width:  u32,
+	height: u32,
+	depth:  u32,
+}
+
+Offset2D :: struct {
+	x: i32,
+	y: i32,
+}
+
+Offset3D :: struct {
+	x: i32,
+	y: i32,
+	z: i32,
+}
+
+Rect2D :: struct {
+	offset: Offset2D,
+	extent: Extent2D,
+}
+
+BaseInStructure :: struct {
+	sType: StructureType,
+	pNext: ^BaseInStructure,
+}
+
+BaseOutStructure :: struct {
+	sType: StructureType,
+	pNext: ^BaseOutStructure,
+}
+
+BufferMemoryBarrier :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	srcAccessMask:       AccessFlags,
+	dstAccessMask:       AccessFlags,
+	srcQueueFamilyIndex: u32,
+	dstQueueFamilyIndex: u32,
+	buffer:              Buffer,
+	offset:              DeviceSize,
+	size:                DeviceSize,
+}
+
+DispatchIndirectCommand :: struct {
+	x: u32,
+	y: u32,
+	z: u32,
+}
+
+DrawIndexedIndirectCommand :: struct {
+	indexCount:    u32,
+	instanceCount: u32,
+	firstIndex:    u32,
+	vertexOffset:  i32,
+	firstInstance: u32,
+}
+
+DrawIndirectCommand :: struct {
+	vertexCount:   u32,
+	instanceCount: u32,
+	firstVertex:   u32,
+	firstInstance: u32,
+}
+
+ImageSubresourceRange :: struct {
+	aspectMask:     ImageAspectFlags,
+	baseMipLevel:   u32,
+	levelCount:     u32,
+	baseArrayLayer: u32,
+	layerCount:     u32,
+}
+
+ImageMemoryBarrier :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	srcAccessMask:       AccessFlags,
+	dstAccessMask:       AccessFlags,
+	oldLayout:           ImageLayout,
+	newLayout:           ImageLayout,
+	srcQueueFamilyIndex: u32,
+	dstQueueFamilyIndex: u32,
+	image:               Image,
+	subresourceRange:    ImageSubresourceRange,
+}
+
+MemoryBarrier :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	srcAccessMask: AccessFlags,
+	dstAccessMask: AccessFlags,
+}
+
+PipelineCacheHeaderVersionOne :: struct {
+	headerSize:        u32,
+	headerVersion:     PipelineCacheHeaderVersion,
+	vendorID:          u32,
+	deviceID:          u32,
+	pipelineCacheUUID: [UUID_SIZE]u8,
+}
+
+AllocationCallbacks :: struct {
+	pUserData:             rawptr,
+	pfnAllocation:         ProcAllocationFunction,
+	pfnReallocation:       ProcReallocationFunction,
+	pfnFree:               ProcFreeFunction,
+	pfnInternalAllocation: ProcInternalAllocationNotification,
+	pfnInternalFree:       ProcInternalFreeNotification,
+}
+
+ApplicationInfo :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	pApplicationName:   cstring,
+	applicationVersion: u32,
+	pEngineName:        cstring,
+	engineVersion:      u32,
+	apiVersion:         u32,
+}
+
+FormatProperties :: struct {
+	linearTilingFeatures:  FormatFeatureFlags,
+	optimalTilingFeatures: FormatFeatureFlags,
+	bufferFeatures:        FormatFeatureFlags,
+}
+
+ImageFormatProperties :: struct {
+	maxExtent:       Extent3D,
+	maxMipLevels:    u32,
+	maxArrayLayers:  u32,
+	sampleCounts:    SampleCountFlags,
+	maxResourceSize: DeviceSize,
+}
+
+InstanceCreateInfo :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	flags:                   InstanceCreateFlags,
+	pApplicationInfo:        ^ApplicationInfo,
+	enabledLayerCount:       u32,
+	ppEnabledLayerNames:     [^]cstring,
+	enabledExtensionCount:   u32,
+	ppEnabledExtensionNames: [^]cstring,
+}
+
+MemoryHeap :: struct {
+	size:  DeviceSize,
+	flags: MemoryHeapFlags,
+}
+
+MemoryType :: struct {
+	propertyFlags: MemoryPropertyFlags,
+	heapIndex:     u32,
+}
+
+PhysicalDeviceFeatures :: struct {
+	robustBufferAccess:                      b32,
+	fullDrawIndexUint32:                     b32,
+	imageCubeArray:                          b32,
+	independentBlend:                        b32,
+	geometryShader:                          b32,
+	tessellationShader:                      b32,
+	sampleRateShading:                       b32,
+	dualSrcBlend:                            b32,
+	logicOp:                                 b32,
+	multiDrawIndirect:                       b32,
+	drawIndirectFirstInstance:               b32,
+	depthClamp:                              b32,
+	depthBiasClamp:                          b32,
+	fillModeNonSolid:                        b32,
+	depthBounds:                             b32,
+	wideLines:                               b32,
+	largePoints:                             b32,
+	alphaToOne:                              b32,
+	multiViewport:                           b32,
+	samplerAnisotropy:                       b32,
+	textureCompressionETC2:                  b32,
+	textureCompressionASTC_LDR:              b32,
+	textureCompressionBC:                    b32,
+	occlusionQueryPrecise:                   b32,
+	pipelineStatisticsQuery:                 b32,
+	vertexPipelineStoresAndAtomics:          b32,
+	fragmentStoresAndAtomics:                b32,
+	shaderTessellationAndGeometryPointSize:  b32,
+	shaderImageGatherExtended:               b32,
+	shaderStorageImageExtendedFormats:       b32,
+	shaderStorageImageMultisample:           b32,
+	shaderStorageImageReadWithoutFormat:     b32,
+	shaderStorageImageWriteWithoutFormat:    b32,
+	shaderUniformBufferArrayDynamicIndexing: b32,
+	shaderSampledImageArrayDynamicIndexing:  b32,
+	shaderStorageBufferArrayDynamicIndexing: b32,
+	shaderStorageImageArrayDynamicIndexing:  b32,
+	shaderClipDistance:                      b32,
+	shaderCullDistance:                      b32,
+	shaderFloat64:                           b32,
+	shaderInt64:                             b32,
+	shaderInt16:                             b32,
+	shaderResourceResidency:                 b32,
+	shaderResourceMinLod:                    b32,
+	sparseBinding:                           b32,
+	sparseResidencyBuffer:                   b32,
+	sparseResidencyImage2D:                  b32,
+	sparseResidencyImage3D:                  b32,
+	sparseResidency2Samples:                 b32,
+	sparseResidency4Samples:                 b32,
+	sparseResidency8Samples:                 b32,
+	sparseResidency16Samples:                b32,
+	sparseResidencyAliased:                  b32,
+	variableMultisampleRate:                 b32,
+	inheritedQueries:                        b32,
+}
+
+PhysicalDeviceLimits :: struct {
+	maxImageDimension1D:                             u32,
+	maxImageDimension2D:                             u32,
+	maxImageDimension3D:                             u32,
+	maxImageDimensionCube:                           u32,
+	maxImageArrayLayers:                             u32,
+	maxTexelBufferElements:                          u32,
+	maxUniformBufferRange:                           u32,
+	maxStorageBufferRange:                           u32,
+	maxPushConstantsSize:                            u32,
+	maxMemoryAllocationCount:                        u32,
+	maxSamplerAllocationCount:                       u32,
+	bufferImageGranularity:                          DeviceSize,
+	sparseAddressSpaceSize:                          DeviceSize,
+	maxBoundDescriptorSets:                          u32,
+	maxPerStageDescriptorSamplers:                   u32,
+	maxPerStageDescriptorUniformBuffers:             u32,
+	maxPerStageDescriptorStorageBuffers:             u32,
+	maxPerStageDescriptorSampledImages:              u32,
+	maxPerStageDescriptorStorageImages:              u32,
+	maxPerStageDescriptorInputAttachments:           u32,
+	maxPerStageResources:                            u32,
+	maxDescriptorSetSamplers:                        u32,
+	maxDescriptorSetUniformBuffers:                  u32,
+	maxDescriptorSetUniformBuffersDynamic:           u32,
+	maxDescriptorSetStorageBuffers:                  u32,
+	maxDescriptorSetStorageBuffersDynamic:           u32,
+	maxDescriptorSetSampledImages:                   u32,
+	maxDescriptorSetStorageImages:                   u32,
+	maxDescriptorSetInputAttachments:                u32,
+	maxVertexInputAttributes:                        u32,
+	maxVertexInputBindings:                          u32,
+	maxVertexInputAttributeOffset:                   u32,
+	maxVertexInputBindingStride:                     u32,
+	maxVertexOutputComponents:                       u32,
+	maxTessellationGenerationLevel:                  u32,
+	maxTessellationPatchSize:                        u32,
+	maxTessellationControlPerVertexInputComponents:  u32,
+	maxTessellationControlPerVertexOutputComponents: u32,
+	maxTessellationControlPerPatchOutputComponents:  u32,
+	maxTessellationControlTotalOutputComponents:     u32,
+	maxTessellationEvaluationInputComponents:        u32,
+	maxTessellationEvaluationOutputComponents:       u32,
+	maxGeometryShaderInvocations:                    u32,
+	maxGeometryInputComponents:                      u32,
+	maxGeometryOutputComponents:                     u32,
+	maxGeometryOutputVertices:                       u32,
+	maxGeometryTotalOutputComponents:                u32,
+	maxFragmentInputComponents:                      u32,
+	maxFragmentOutputAttachments:                    u32,
+	maxFragmentDualSrcAttachments:                   u32,
+	maxFragmentCombinedOutputResources:              u32,
+	maxComputeSharedMemorySize:                      u32,
+	maxComputeWorkGroupCount:                        [3]u32,
+	maxComputeWorkGroupInvocations:                  u32,
+	maxComputeWorkGroupSize:                         [3]u32,
+	subPixelPrecisionBits:                           u32,
+	subTexelPrecisionBits:                           u32,
+	mipmapPrecisionBits:                             u32,
+	maxDrawIndexedIndexValue:                        u32,
+	maxDrawIndirectCount:                            u32,
+	maxSamplerLodBias:                               f32,
+	maxSamplerAnisotropy:                            f32,
+	maxViewports:                                    u32,
+	maxViewportDimensions:                           [2]u32,
+	viewportBoundsRange:                             [2]f32,
+	viewportSubPixelBits:                            u32,
+	minMemoryMapAlignment:                           int,
+	minTexelBufferOffsetAlignment:                   DeviceSize,
+	minUniformBufferOffsetAlignment:                 DeviceSize,
+	minStorageBufferOffsetAlignment:                 DeviceSize,
+	minTexelOffset:                                  i32,
+	maxTexelOffset:                                  u32,
+	minTexelGatherOffset:                            i32,
+	maxTexelGatherOffset:                            u32,
+	minInterpolationOffset:                          f32,
+	maxInterpolationOffset:                          f32,
+	subPixelInterpolationOffsetBits:                 u32,
+	maxFramebufferWidth:                             u32,
+	maxFramebufferHeight:                            u32,
+	maxFramebufferLayers:                            u32,
+	framebufferColorSampleCounts:                    SampleCountFlags,
+	framebufferDepthSampleCounts:                    SampleCountFlags,
+	framebufferStencilSampleCounts:                  SampleCountFlags,
+	framebufferNoAttachmentsSampleCounts:            SampleCountFlags,
+	maxColorAttachments:                             u32,
+	sampledImageColorSampleCounts:                   SampleCountFlags,
+	sampledImageIntegerSampleCounts:                 SampleCountFlags,
+	sampledImageDepthSampleCounts:                   SampleCountFlags,
+	sampledImageStencilSampleCounts:                 SampleCountFlags,
+	storageImageSampleCounts:                        SampleCountFlags,
+	maxSampleMaskWords:                              u32,
+	timestampComputeAndGraphics:                     b32,
+	timestampPeriod:                                 f32,
+	maxClipDistances:                                u32,
+	maxCullDistances:                                u32,
+	maxCombinedClipAndCullDistances:                 u32,
+	discreteQueuePriorities:                         u32,
+	pointSizeRange:                                  [2]f32,
+	lineWidthRange:                                  [2]f32,
+	pointSizeGranularity:                            f32,
+	lineWidthGranularity:                            f32,
+	strictLines:                                     b32,
+	standardSampleLocations:                         b32,
+	optimalBufferCopyOffsetAlignment:                DeviceSize,
+	optimalBufferCopyRowPitchAlignment:              DeviceSize,
+	nonCoherentAtomSize:                             DeviceSize,
+}
+
+PhysicalDeviceMemoryProperties :: struct {
+	memoryTypeCount: u32,
+	memoryTypes:     [MAX_MEMORY_TYPES]MemoryType,
+	memoryHeapCount: u32,
+	memoryHeaps:     [MAX_MEMORY_HEAPS]MemoryHeap,
+}
+
+PhysicalDeviceSparseProperties :: struct {
+	residencyStandard2DBlockShape:            b32,
+	residencyStandard2DMultisampleBlockShape: b32,
+	residencyStandard3DBlockShape:            b32,
+	residencyAlignedMipSize:                  b32,
+	residencyNonResidentStrict:               b32,
+}
+
+PhysicalDeviceProperties :: struct {
+	apiVersion:        u32,
+	driverVersion:     u32,
+	vendorID:          u32,
+	deviceID:          u32,
+	deviceType:        PhysicalDeviceType,
+	deviceName:        [MAX_PHYSICAL_DEVICE_NAME_SIZE]byte,
+	pipelineCacheUUID: [UUID_SIZE]u8,
+	limits:            PhysicalDeviceLimits,
+	sparseProperties:  PhysicalDeviceSparseProperties,
+}
+
+QueueFamilyProperties :: struct {
+	queueFlags:                  QueueFlags,
+	queueCount:                  u32,
+	timestampValidBits:          u32,
+	minImageTransferGranularity: Extent3D,
+}
+
+DeviceQueueCreateInfo :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	flags:            DeviceQueueCreateFlags,
+	queueFamilyIndex: u32,
+	queueCount:       u32,
+	pQueuePriorities: [^]f32,
+}
+
+DeviceCreateInfo :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	flags:                   DeviceCreateFlags,
+	queueCreateInfoCount:    u32,
+	pQueueCreateInfos:       [^]DeviceQueueCreateInfo,
+	enabledLayerCount:       u32,
+	ppEnabledLayerNames:     [^]cstring,
+	enabledExtensionCount:   u32,
+	ppEnabledExtensionNames: [^]cstring,
+	pEnabledFeatures:        [^]PhysicalDeviceFeatures,
+}
+
+ExtensionProperties :: struct {
+	extensionName: [MAX_EXTENSION_NAME_SIZE]byte,
+	specVersion:   u32,
+}
+
+LayerProperties :: struct {
+	layerName:             [MAX_EXTENSION_NAME_SIZE]byte,
+	specVersion:           u32,
+	implementationVersion: u32,
+	description:           [MAX_DESCRIPTION_SIZE]byte,
+}
+
+SubmitInfo :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	waitSemaphoreCount:   u32,
+	pWaitSemaphores:      [^]Semaphore,
+	pWaitDstStageMask:    [^]PipelineStageFlags,
+	commandBufferCount:   u32,
+	pCommandBuffers:      [^]CommandBuffer,
+	signalSemaphoreCount: u32,
+	pSignalSemaphores:    [^]Semaphore,
+}
+
+MappedMemoryRange :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	memory: DeviceMemory,
+	offset: DeviceSize,
+	size:   DeviceSize,
+}
+
+MemoryAllocateInfo :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	allocationSize:  DeviceSize,
+	memoryTypeIndex: u32,
+}
+
+MemoryRequirements :: struct {
+	size:           DeviceSize,
+	alignment:      DeviceSize,
+	memoryTypeBits: u32,
+}
+
+SparseMemoryBind :: struct {
+	resourceOffset: DeviceSize,
+	size:           DeviceSize,
+	memory:         DeviceMemory,
+	memoryOffset:   DeviceSize,
+	flags:          SparseMemoryBindFlags,
+}
+
+SparseBufferMemoryBindInfo :: struct {
+	buffer:    Buffer,
+	bindCount: u32,
+	pBinds:    [^]SparseMemoryBind,
+}
+
+SparseImageOpaqueMemoryBindInfo :: struct {
+	image:     Image,
+	bindCount: u32,
+	pBinds:    [^]SparseMemoryBind,
+}
+
+ImageSubresource :: struct {
+	aspectMask: ImageAspectFlags,
+	mipLevel:   u32,
+	arrayLayer: u32,
+}
+
+SparseImageMemoryBind :: struct {
+	subresource:  ImageSubresource,
+	offset:       Offset3D,
+	extent:       Extent3D,
+	memory:       DeviceMemory,
+	memoryOffset: DeviceSize,
+	flags:        SparseMemoryBindFlags,
+}
+
+SparseImageMemoryBindInfo :: struct {
+	image:     Image,
+	bindCount: u32,
+	pBinds:    [^]SparseImageMemoryBind,
+}
+
+BindSparseInfo :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	waitSemaphoreCount:   u32,
+	pWaitSemaphores:      [^]Semaphore,
+	bufferBindCount:      u32,
+	pBufferBinds:         [^]SparseBufferMemoryBindInfo,
+	imageOpaqueBindCount: u32,
+	pImageOpaqueBinds:    [^]SparseImageOpaqueMemoryBindInfo,
+	imageBindCount:       u32,
+	pImageBinds:          [^]SparseImageMemoryBindInfo,
+	signalSemaphoreCount: u32,
+	pSignalSemaphores:    [^]Semaphore,
+}
+
+SparseImageFormatProperties :: struct {
+	aspectMask:       ImageAspectFlags,
+	imageGranularity: Extent3D,
+	flags:            SparseImageFormatFlags,
+}
+
+SparseImageMemoryRequirements :: struct {
+	formatProperties:     SparseImageFormatProperties,
+	imageMipTailFirstLod: u32,
+	imageMipTailSize:     DeviceSize,
+	imageMipTailOffset:   DeviceSize,
+	imageMipTailStride:   DeviceSize,
+}
+
+FenceCreateInfo :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	flags: FenceCreateFlags,
+}
+
+SemaphoreCreateInfo :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	flags: SemaphoreCreateFlags,
+}
+
+EventCreateInfo :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	flags: EventCreateFlags,
+}
+
+QueryPoolCreateInfo :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	flags:              QueryPoolCreateFlags,
+	queryType:          QueryType,
+	queryCount:         u32,
+	pipelineStatistics: QueryPipelineStatisticFlags,
+}
+
+BufferCreateInfo :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	flags:                 BufferCreateFlags,
+	size:                  DeviceSize,
+	usage:                 BufferUsageFlags,
+	sharingMode:           SharingMode,
+	queueFamilyIndexCount: u32,
+	pQueueFamilyIndices:   [^]u32,
+}
+
+BufferViewCreateInfo :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	flags:  BufferViewCreateFlags,
+	buffer: Buffer,
+	format: Format,
+	offset: DeviceSize,
+	range:  DeviceSize,
+}
+
+ImageCreateInfo :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	flags:                 ImageCreateFlags,
+	imageType:             ImageType,
+	format:                Format,
+	extent:                Extent3D,
+	mipLevels:             u32,
+	arrayLayers:           u32,
+	samples:               SampleCountFlags,
+	tiling:                ImageTiling,
+	usage:                 ImageUsageFlags,
+	sharingMode:           SharingMode,
+	queueFamilyIndexCount: u32,
+	pQueueFamilyIndices:   [^]u32,
+	initialLayout:         ImageLayout,
+}
+
+SubresourceLayout :: struct {
+	offset:     DeviceSize,
+	size:       DeviceSize,
+	rowPitch:   DeviceSize,
+	arrayPitch: DeviceSize,
+	depthPitch: DeviceSize,
+}
+
+ComponentMapping :: struct {
+	r: ComponentSwizzle,
+	g: ComponentSwizzle,
+	b: ComponentSwizzle,
+	a: ComponentSwizzle,
+}
+
+ImageViewCreateInfo :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	flags:            ImageViewCreateFlags,
+	image:            Image,
+	viewType:         ImageViewType,
+	format:           Format,
+	components:       ComponentMapping,
+	subresourceRange: ImageSubresourceRange,
+}
+
+ShaderModuleCreateInfo :: struct {
+	sType:    StructureType,
+	pNext:    rawptr,
+	flags:    ShaderModuleCreateFlags,
+	codeSize: int,
+	pCode:    ^u32,
+}
+
+PipelineCacheCreateInfo :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	flags:           PipelineCacheCreateFlags,
+	initialDataSize: int,
+	pInitialData:    rawptr,
+}
+
+SpecializationMapEntry :: struct {
+	constantID: u32,
+	offset:     u32,
+	size:       int,
+}
+
+SpecializationInfo :: struct {
+	mapEntryCount: u32,
+	pMapEntries:   [^]SpecializationMapEntry,
+	dataSize:      int,
+	pData:         rawptr,
+}
+
+PipelineShaderStageCreateInfo :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	flags:               PipelineShaderStageCreateFlags,
+	stage:               ShaderStageFlags,
+	module:              ShaderModule,
+	pName:               cstring,
+	pSpecializationInfo: ^SpecializationInfo,
+}
+
+ComputePipelineCreateInfo :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	flags:              PipelineCreateFlags,
+	stage:              PipelineShaderStageCreateInfo,
+	layout:             PipelineLayout,
+	basePipelineHandle: Pipeline,
+	basePipelineIndex:  i32,
+}
+
+VertexInputBindingDescription :: struct {
+	binding:   u32,
+	stride:    u32,
+	inputRate: VertexInputRate,
+}
+
+VertexInputAttributeDescription :: struct {
+	location: u32,
+	binding:  u32,
+	format:   Format,
+	offset:   u32,
+}
+
+PipelineVertexInputStateCreateInfo :: struct {
+	sType:                           StructureType,
+	pNext:                           rawptr,
+	flags:                           PipelineVertexInputStateCreateFlags,
+	vertexBindingDescriptionCount:   u32,
+	pVertexBindingDescriptions:      [^]VertexInputBindingDescription,
+	vertexAttributeDescriptionCount: u32,
+	pVertexAttributeDescriptions:    [^]VertexInputAttributeDescription,
+}
+
+PipelineInputAssemblyStateCreateInfo :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	flags:                  PipelineInputAssemblyStateCreateFlags,
+	topology:               PrimitiveTopology,
+	primitiveRestartEnable: b32,
+}
+
+PipelineTessellationStateCreateInfo :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	flags:              PipelineTessellationStateCreateFlags,
+	patchControlPoints: u32,
+}
+
+Viewport :: struct {
+	x:        f32,
+	y:        f32,
+	width:    f32,
+	height:   f32,
+	minDepth: f32,
+	maxDepth: f32,
+}
+
+PipelineViewportStateCreateInfo :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	flags:         PipelineViewportStateCreateFlags,
+	viewportCount: u32,
+	pViewports:    [^]Viewport,
+	scissorCount:  u32,
+	pScissors:     [^]Rect2D,
+}
+
+PipelineRasterizationStateCreateInfo :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	flags:                   PipelineRasterizationStateCreateFlags,
+	depthClampEnable:        b32,
+	rasterizerDiscardEnable: b32,
+	polygonMode:             PolygonMode,
+	cullMode:                CullModeFlags,
+	frontFace:               FrontFace,
+	depthBiasEnable:         b32,
+	depthBiasConstantFactor: f32,
+	depthBiasClamp:          f32,
+	depthBiasSlopeFactor:    f32,
+	lineWidth:               f32,
+}
+
+PipelineMultisampleStateCreateInfo :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	flags:                 PipelineMultisampleStateCreateFlags,
+	rasterizationSamples:  SampleCountFlags,
+	sampleShadingEnable:   b32,
+	minSampleShading:      f32,
+	pSampleMask:           ^SampleMask,
+	alphaToCoverageEnable: b32,
+	alphaToOneEnable:      b32,
+}
+
+StencilOpState :: struct {
+	failOp:      StencilOp,
+	passOp:      StencilOp,
+	depthFailOp: StencilOp,
+	compareOp:   CompareOp,
+	compareMask: u32,
+	writeMask:   u32,
+	reference:   u32,
+}
+
+PipelineDepthStencilStateCreateInfo :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	flags:                 PipelineDepthStencilStateCreateFlags,
+	depthTestEnable:       b32,
+	depthWriteEnable:      b32,
+	depthCompareOp:        CompareOp,
+	depthBoundsTestEnable: b32,
+	stencilTestEnable:     b32,
+	front:                 StencilOpState,
+	back:                  StencilOpState,
+	minDepthBounds:        f32,
+	maxDepthBounds:        f32,
+}
+
+PipelineColorBlendAttachmentState :: struct {
+	blendEnable:         b32,
+	srcColorBlendFactor: BlendFactor,
+	dstColorBlendFactor: BlendFactor,
+	colorBlendOp:        BlendOp,
+	srcAlphaBlendFactor: BlendFactor,
+	dstAlphaBlendFactor: BlendFactor,
+	alphaBlendOp:        BlendOp,
+	colorWriteMask:      ColorComponentFlags,
+}
+
+PipelineColorBlendStateCreateInfo :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	flags:           PipelineColorBlendStateCreateFlags,
+	logicOpEnable:   b32,
+	logicOp:         LogicOp,
+	attachmentCount: u32,
+	pAttachments:    [^]PipelineColorBlendAttachmentState,
+	blendConstants:  [4]f32,
+}
+
+PipelineDynamicStateCreateInfo :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	flags:             PipelineDynamicStateCreateFlags,
+	dynamicStateCount: u32,
+	pDynamicStates:    [^]DynamicState,
+}
+
+GraphicsPipelineCreateInfo :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	flags:               PipelineCreateFlags,
+	stageCount:          u32,
+	pStages:             [^]PipelineShaderStageCreateInfo,
+	pVertexInputState:   ^PipelineVertexInputStateCreateInfo,
+	pInputAssemblyState: ^PipelineInputAssemblyStateCreateInfo,
+	pTessellationState:  ^PipelineTessellationStateCreateInfo,
+	pViewportState:      ^PipelineViewportStateCreateInfo,
+	pRasterizationState: ^PipelineRasterizationStateCreateInfo,
+	pMultisampleState:   ^PipelineMultisampleStateCreateInfo,
+	pDepthStencilState:  ^PipelineDepthStencilStateCreateInfo,
+	pColorBlendState:    ^PipelineColorBlendStateCreateInfo,
+	pDynamicState:       ^PipelineDynamicStateCreateInfo,
+	layout:              PipelineLayout,
+	renderPass:          RenderPass,
+	subpass:             u32,
+	basePipelineHandle:  Pipeline,
+	basePipelineIndex:   i32,
+}
+
+PushConstantRange :: struct {
+	stageFlags: ShaderStageFlags,
+	offset:     u32,
+	size:       u32,
+}
+
+PipelineLayoutCreateInfo :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	flags:                  PipelineLayoutCreateFlags,
+	setLayoutCount:         u32,
+	pSetLayouts:            [^]DescriptorSetLayout,
+	pushConstantRangeCount: u32,
+	pPushConstantRanges:    [^]PushConstantRange,
+}
+
+SamplerCreateInfo :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	flags:                   SamplerCreateFlags,
+	magFilter:               Filter,
+	minFilter:               Filter,
+	mipmapMode:              SamplerMipmapMode,
+	addressModeU:            SamplerAddressMode,
+	addressModeV:            SamplerAddressMode,
+	addressModeW:            SamplerAddressMode,
+	mipLodBias:              f32,
+	anisotropyEnable:        b32,
+	maxAnisotropy:           f32,
+	compareEnable:           b32,
+	compareOp:               CompareOp,
+	minLod:                  f32,
+	maxLod:                  f32,
+	borderColor:             BorderColor,
+	unnormalizedCoordinates: b32,
+}
+
+CopyDescriptorSet :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	srcSet:          DescriptorSet,
+	srcBinding:      u32,
+	srcArrayElement: u32,
+	dstSet:          DescriptorSet,
+	dstBinding:      u32,
+	dstArrayElement: u32,
+	descriptorCount: u32,
+}
+
+DescriptorBufferInfo :: struct {
+	buffer: Buffer,
+	offset: DeviceSize,
+	range:  DeviceSize,
+}
+
+DescriptorImageInfo :: struct {
+	sampler:     Sampler,
+	imageView:   ImageView,
+	imageLayout: ImageLayout,
+}
+
+DescriptorPoolSize :: struct {
+	type:            DescriptorType,
+	descriptorCount: u32,
+}
+
+DescriptorPoolCreateInfo :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	flags:         DescriptorPoolCreateFlags,
+	maxSets:       u32,
+	poolSizeCount: u32,
+	pPoolSizes:    [^]DescriptorPoolSize,
+}
+
+DescriptorSetAllocateInfo :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	descriptorPool:     DescriptorPool,
+	descriptorSetCount: u32,
+	pSetLayouts:        [^]DescriptorSetLayout,
+}
+
+DescriptorSetLayoutBinding :: struct {
+	binding:            u32,
+	descriptorType:     DescriptorType,
+	descriptorCount:    u32,
+	stageFlags:         ShaderStageFlags,
+	pImmutableSamplers: [^]Sampler,
+}
+
+DescriptorSetLayoutCreateInfo :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	flags:        DescriptorSetLayoutCreateFlags,
+	bindingCount: u32,
+	pBindings:    [^]DescriptorSetLayoutBinding,
+}
+
+WriteDescriptorSet :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	dstSet:           DescriptorSet,
+	dstBinding:       u32,
+	dstArrayElement:  u32,
+	descriptorCount:  u32,
+	descriptorType:   DescriptorType,
+	pImageInfo:       ^DescriptorImageInfo,
+	pBufferInfo:      ^DescriptorBufferInfo,
+	pTexelBufferView: ^BufferView,
+}
+
+AttachmentDescription :: struct {
+	flags:          AttachmentDescriptionFlags,
+	format:         Format,
+	samples:        SampleCountFlags,
+	loadOp:         AttachmentLoadOp,
+	storeOp:        AttachmentStoreOp,
+	stencilLoadOp:  AttachmentLoadOp,
+	stencilStoreOp: AttachmentStoreOp,
+	initialLayout:  ImageLayout,
+	finalLayout:    ImageLayout,
+}
+
+AttachmentReference :: struct {
+	attachment: u32,
+	layout:     ImageLayout,
+}
+
+FramebufferCreateInfo :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	flags:           FramebufferCreateFlags,
+	renderPass:      RenderPass,
+	attachmentCount: u32,
+	pAttachments:    [^]ImageView,
+	width:           u32,
+	height:          u32,
+	layers:          u32,
+}
+
+SubpassDescription :: struct {
+	flags:                   SubpassDescriptionFlags,
+	pipelineBindPoint:       PipelineBindPoint,
+	inputAttachmentCount:    u32,
+	pInputAttachments:       [^]AttachmentReference,
+	colorAttachmentCount:    u32,
+	pColorAttachments:       [^]AttachmentReference,
+	pResolveAttachments:     [^]AttachmentReference,
+	pDepthStencilAttachment: ^AttachmentReference,
+	preserveAttachmentCount: u32,
+	pPreserveAttachments:    [^]u32,
+}
+
+SubpassDependency :: struct {
+	srcSubpass:      u32,
+	dstSubpass:      u32,
+	srcStageMask:    PipelineStageFlags,
+	dstStageMask:    PipelineStageFlags,
+	srcAccessMask:   AccessFlags,
+	dstAccessMask:   AccessFlags,
+	dependencyFlags: DependencyFlags,
+}
+
+RenderPassCreateInfo :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	flags:           RenderPassCreateFlags,
+	attachmentCount: u32,
+	pAttachments:    [^]AttachmentDescription,
+	subpassCount:    u32,
+	pSubpasses:      [^]SubpassDescription,
+	dependencyCount: u32,
+	pDependencies:   [^]SubpassDependency,
+}
+
+CommandPoolCreateInfo :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	flags:            CommandPoolCreateFlags,
+	queueFamilyIndex: u32,
+}
+
+CommandBufferAllocateInfo :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	commandPool:        CommandPool,
+	level:              CommandBufferLevel,
+	commandBufferCount: u32,
+}
+
+CommandBufferInheritanceInfo :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	renderPass:           RenderPass,
+	subpass:              u32,
+	framebuffer:          Framebuffer,
+	occlusionQueryEnable: b32,
+	queryFlags:           QueryControlFlags,
+	pipelineStatistics:   QueryPipelineStatisticFlags,
+}
+
+CommandBufferBeginInfo :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	flags:            CommandBufferUsageFlags,
+	pInheritanceInfo: ^CommandBufferInheritanceInfo,
+}
+
+BufferCopy :: struct {
+	srcOffset: DeviceSize,
+	dstOffset: DeviceSize,
+	size:      DeviceSize,
+}
+
+ImageSubresourceLayers :: struct {
+	aspectMask:     ImageAspectFlags,
+	mipLevel:       u32,
+	baseArrayLayer: u32,
+	layerCount:     u32,
+}
+
+BufferImageCopy :: struct {
+	bufferOffset:      DeviceSize,
+	bufferRowLength:   u32,
+	bufferImageHeight: u32,
+	imageSubresource:  ImageSubresourceLayers,
+	imageOffset:       Offset3D,
+	imageExtent:       Extent3D,
+}
+
+ClearColorValue :: struct #raw_union {
+	float32: [4]f32,
+	int32:   [4]i32,
+	uint32:  [4]u32,
+}
+
+ClearDepthStencilValue :: struct {
+	depth:   f32,
+	stencil: u32,
+}
+
+ClearValue :: struct #raw_union {
+	color:        ClearColorValue,
+	depthStencil: ClearDepthStencilValue,
+}
+
+ClearAttachment :: struct {
+	aspectMask:      ImageAspectFlags,
+	colorAttachment: u32,
+	clearValue:      ClearValue,
+}
+
+ClearRect :: struct {
+	rect:           Rect2D,
+	baseArrayLayer: u32,
+	layerCount:     u32,
+}
+
+ImageBlit :: struct {
+	srcSubresource: ImageSubresourceLayers,
+	srcOffsets:     [2]Offset3D,
+	dstSubresource: ImageSubresourceLayers,
+	dstOffsets:     [2]Offset3D,
+}
+
+ImageCopy :: struct {
+	srcSubresource: ImageSubresourceLayers,
+	srcOffset:      Offset3D,
+	dstSubresource: ImageSubresourceLayers,
+	dstOffset:      Offset3D,
+	extent:         Extent3D,
+}
+
+ImageResolve :: struct {
+	srcSubresource: ImageSubresourceLayers,
+	srcOffset:      Offset3D,
+	dstSubresource: ImageSubresourceLayers,
+	dstOffset:      Offset3D,
+	extent:         Extent3D,
+}
+
+RenderPassBeginInfo :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	renderPass:      RenderPass,
+	framebuffer:     Framebuffer,
+	renderArea:      Rect2D,
+	clearValueCount: u32,
+	pClearValues:    [^]ClearValue,
+}
+
+PhysicalDeviceSubgroupProperties :: struct {
+	sType:                     StructureType,
+	pNext:                     rawptr,
+	subgroupSize:              u32,
+	supportedStages:           ShaderStageFlags,
+	supportedOperations:       SubgroupFeatureFlags,
+	quadOperationsInAllStages: b32,
+}
+
+BindBufferMemoryInfo :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	buffer:       Buffer,
+	memory:       DeviceMemory,
+	memoryOffset: DeviceSize,
+}
+
+BindImageMemoryInfo :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	image:        Image,
+	memory:       DeviceMemory,
+	memoryOffset: DeviceSize,
+}
+
+PhysicalDevice16BitStorageFeatures :: struct {
+	sType:                              StructureType,
+	pNext:                              rawptr,
+	storageBuffer16BitAccess:           b32,
+	uniformAndStorageBuffer16BitAccess: b32,
+	storagePushConstant16:              b32,
+	storageInputOutput16:               b32,
+}
+
+MemoryDedicatedRequirements :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	prefersDedicatedAllocation:  b32,
+	requiresDedicatedAllocation: b32,
+}
+
+MemoryDedicatedAllocateInfo :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	image:  Image,
+	buffer: Buffer,
+}
+
+MemoryAllocateFlagsInfo :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	flags:      MemoryAllocateFlags,
+	deviceMask: u32,
+}
+
+DeviceGroupRenderPassBeginInfo :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	deviceMask:            u32,
+	deviceRenderAreaCount: u32,
+	pDeviceRenderAreas:    [^]Rect2D,
+}
+
+DeviceGroupCommandBufferBeginInfo :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	deviceMask: u32,
+}
+
+DeviceGroupSubmitInfo :: struct {
+	sType:                         StructureType,
+	pNext:                         rawptr,
+	waitSemaphoreCount:            u32,
+	pWaitSemaphoreDeviceIndices:   [^]u32,
+	commandBufferCount:            u32,
+	pCommandBufferDeviceMasks:     [^]u32,
+	signalSemaphoreCount:          u32,
+	pSignalSemaphoreDeviceIndices: [^]u32,
+}
+
+DeviceGroupBindSparseInfo :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	resourceDeviceIndex: u32,
+	memoryDeviceIndex:   u32,
+}
+
+BindBufferMemoryDeviceGroupInfo :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	deviceIndexCount: u32,
+	pDeviceIndices:   [^]u32,
+}
+
+BindImageMemoryDeviceGroupInfo :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	deviceIndexCount:             u32,
+	pDeviceIndices:               [^]u32,
+	splitInstanceBindRegionCount: u32,
+	pSplitInstanceBindRegions:    [^]Rect2D,
+}
+
+PhysicalDeviceGroupProperties :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	physicalDeviceCount: u32,
+	physicalDevices:     [MAX_DEVICE_GROUP_SIZE]PhysicalDevice,
+	subsetAllocation:    b32,
+}
+
+DeviceGroupDeviceCreateInfo :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	physicalDeviceCount: u32,
+	pPhysicalDevices:    [^]PhysicalDevice,
+}
+
+BufferMemoryRequirementsInfo2 :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	buffer: Buffer,
+}
+
+ImageMemoryRequirementsInfo2 :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	image: Image,
+}
+
+ImageSparseMemoryRequirementsInfo2 :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	image: Image,
+}
+
+MemoryRequirements2 :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	memoryRequirements: MemoryRequirements,
+}
+
+SparseImageMemoryRequirements2 :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	memoryRequirements: SparseImageMemoryRequirements,
+}
+
+PhysicalDeviceFeatures2 :: struct {
+	sType:    StructureType,
+	pNext:    rawptr,
+	features: PhysicalDeviceFeatures,
+}
+
+PhysicalDeviceProperties2 :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	properties: PhysicalDeviceProperties,
+}
+
+FormatProperties2 :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	formatProperties: FormatProperties,
+}
+
+ImageFormatProperties2 :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	imageFormatProperties: ImageFormatProperties,
+}
+
+PhysicalDeviceImageFormatInfo2 :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	format: Format,
+	type:   ImageType,
+	tiling: ImageTiling,
+	usage:  ImageUsageFlags,
+	flags:  ImageCreateFlags,
+}
+
+QueueFamilyProperties2 :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	queueFamilyProperties: QueueFamilyProperties,
+}
+
+PhysicalDeviceMemoryProperties2 :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	memoryProperties: PhysicalDeviceMemoryProperties,
+}
+
+SparseImageFormatProperties2 :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	properties: SparseImageFormatProperties,
+}
+
+PhysicalDeviceSparseImageFormatInfo2 :: struct {
+	sType:   StructureType,
+	pNext:   rawptr,
+	format:  Format,
+	type:    ImageType,
+	samples: SampleCountFlags,
+	usage:   ImageUsageFlags,
+	tiling:  ImageTiling,
+}
+
+PhysicalDevicePointClippingProperties :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	pointClippingBehavior: PointClippingBehavior,
+}
+
+InputAttachmentAspectReference :: struct {
+	subpass:              u32,
+	inputAttachmentIndex: u32,
+	aspectMask:           ImageAspectFlags,
+}
+
+RenderPassInputAttachmentAspectCreateInfo :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	aspectReferenceCount: u32,
+	pAspectReferences:    [^]InputAttachmentAspectReference,
+}
+
+ImageViewUsageCreateInfo :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	usage: ImageUsageFlags,
+}
+
+PipelineTessellationDomainOriginStateCreateInfo :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	domainOrigin: TessellationDomainOrigin,
+}
+
+RenderPassMultiviewCreateInfo :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	subpassCount:         u32,
+	pViewMasks:           [^]u32,
+	dependencyCount:      u32,
+	pViewOffsets:         [^]i32,
+	correlationMaskCount: u32,
+	pCorrelationMasks:    [^]u32,
+}
+
+PhysicalDeviceMultiviewFeatures :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	multiview:                   b32,
+	multiviewGeometryShader:     b32,
+	multiviewTessellationShader: b32,
+}
+
+PhysicalDeviceMultiviewProperties :: struct {
+	sType:                     StructureType,
+	pNext:                     rawptr,
+	maxMultiviewViewCount:     u32,
+	maxMultiviewInstanceIndex: u32,
+}
+
+PhysicalDeviceVariablePointersFeatures :: struct {
+	sType:                         StructureType,
+	pNext:                         rawptr,
+	variablePointersStorageBuffer: b32,
+	variablePointers:              b32,
+}
+
+PhysicalDeviceProtectedMemoryFeatures :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	protectedMemory: b32,
+}
+
+PhysicalDeviceProtectedMemoryProperties :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	protectedNoFault: b32,
+}
+
+DeviceQueueInfo2 :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	flags:            DeviceQueueCreateFlags,
+	queueFamilyIndex: u32,
+	queueIndex:       u32,
+}
+
+ProtectedSubmitInfo :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	protectedSubmit: b32,
+}
+
+SamplerYcbcrConversionCreateInfo :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	format:                      Format,
+	ycbcrModel:                  SamplerYcbcrModelConversion,
+	ycbcrRange:                  SamplerYcbcrRange,
+	components:                  ComponentMapping,
+	xChromaOffset:               ChromaLocation,
+	yChromaOffset:               ChromaLocation,
+	chromaFilter:                Filter,
+	forceExplicitReconstruction: b32,
+}
+
+SamplerYcbcrConversionInfo :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	conversion: SamplerYcbcrConversion,
+}
+
+BindImagePlaneMemoryInfo :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	planeAspect: ImageAspectFlags,
+}
+
+ImagePlaneMemoryRequirementsInfo :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	planeAspect: ImageAspectFlags,
+}
+
+PhysicalDeviceSamplerYcbcrConversionFeatures :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	samplerYcbcrConversion: b32,
+}
+
+SamplerYcbcrConversionImageFormatProperties :: struct {
+	sType:                               StructureType,
+	pNext:                               rawptr,
+	combinedImageSamplerDescriptorCount: u32,
+}
+
+DescriptorUpdateTemplateEntry :: struct {
+	dstBinding:      u32,
+	dstArrayElement: u32,
+	descriptorCount: u32,
+	descriptorType:  DescriptorType,
+	offset:          int,
+	stride:          int,
+}
+
+DescriptorUpdateTemplateCreateInfo :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	flags:                      DescriptorUpdateTemplateCreateFlags,
+	descriptorUpdateEntryCount: u32,
+	pDescriptorUpdateEntries:   [^]DescriptorUpdateTemplateEntry,
+	templateType:               DescriptorUpdateTemplateType,
+	descriptorSetLayout:        DescriptorSetLayout,
+	pipelineBindPoint:          PipelineBindPoint,
+	pipelineLayout:             PipelineLayout,
+	set:                        u32,
+}
+
+ExternalMemoryProperties :: struct {
+	externalMemoryFeatures:        ExternalMemoryFeatureFlags,
+	exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlags,
+	compatibleHandleTypes:         ExternalMemoryHandleTypeFlags,
+}
+
+PhysicalDeviceExternalImageFormatInfo :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	handleType: ExternalMemoryHandleTypeFlags,
+}
+
+ExternalImageFormatProperties :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	externalMemoryProperties: ExternalMemoryProperties,
+}
+
+PhysicalDeviceExternalBufferInfo :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	flags:      BufferCreateFlags,
+	usage:      BufferUsageFlags,
+	handleType: ExternalMemoryHandleTypeFlags,
+}
+
+ExternalBufferProperties :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	externalMemoryProperties: ExternalMemoryProperties,
+}
+
+PhysicalDeviceIDProperties :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	deviceUUID:      [UUID_SIZE]u8,
+	driverUUID:      [UUID_SIZE]u8,
+	deviceLUID:      [LUID_SIZE]u8,
+	deviceNodeMask:  u32,
+	deviceLUIDValid: b32,
+}
+
+ExternalMemoryImageCreateInfo :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	handleTypes: ExternalMemoryHandleTypeFlags,
+}
+
+ExternalMemoryBufferCreateInfo :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	handleTypes: ExternalMemoryHandleTypeFlags,
+}
+
+ExportMemoryAllocateInfo :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	handleTypes: ExternalMemoryHandleTypeFlags,
+}
+
+PhysicalDeviceExternalFenceInfo :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	handleType: ExternalFenceHandleTypeFlags,
+}
+
+ExternalFenceProperties :: struct {
+	sType:                         StructureType,
+	pNext:                         rawptr,
+	exportFromImportedHandleTypes: ExternalFenceHandleTypeFlags,
+	compatibleHandleTypes:         ExternalFenceHandleTypeFlags,
+	externalFenceFeatures:         ExternalFenceFeatureFlags,
+}
+
+ExportFenceCreateInfo :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	handleTypes: ExternalFenceHandleTypeFlags,
+}
+
+ExportSemaphoreCreateInfo :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	handleTypes: ExternalSemaphoreHandleTypeFlags,
+}
+
+PhysicalDeviceExternalSemaphoreInfo :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	handleType: ExternalSemaphoreHandleTypeFlags,
+}
+
+ExternalSemaphoreProperties :: struct {
+	sType:                         StructureType,
+	pNext:                         rawptr,
+	exportFromImportedHandleTypes: ExternalSemaphoreHandleTypeFlags,
+	compatibleHandleTypes:         ExternalSemaphoreHandleTypeFlags,
+	externalSemaphoreFeatures:     ExternalSemaphoreFeatureFlags,
+}
+
+PhysicalDeviceMaintenance3Properties :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	maxPerSetDescriptors:    u32,
+	maxMemoryAllocationSize: DeviceSize,
+}
+
+DescriptorSetLayoutSupport :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	supported: b32,
+}
+
+PhysicalDeviceShaderDrawParametersFeatures :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	shaderDrawParameters: b32,
+}
+
+PhysicalDeviceVulkan11Features :: struct {
+	sType:                              StructureType,
+	pNext:                              rawptr,
+	storageBuffer16BitAccess:           b32,
+	uniformAndStorageBuffer16BitAccess: b32,
+	storagePushConstant16:              b32,
+	storageInputOutput16:               b32,
+	multiview:                          b32,
+	multiviewGeometryShader:            b32,
+	multiviewTessellationShader:        b32,
+	variablePointersStorageBuffer:      b32,
+	variablePointers:                   b32,
+	protectedMemory:                    b32,
+	samplerYcbcrConversion:             b32,
+	shaderDrawParameters:               b32,
+}
+
+PhysicalDeviceVulkan11Properties :: struct {
+	sType:                             StructureType,
+	pNext:                             rawptr,
+	deviceUUID:                        [UUID_SIZE]u8,
+	driverUUID:                        [UUID_SIZE]u8,
+	deviceLUID:                        [LUID_SIZE]u8,
+	deviceNodeMask:                    u32,
+	deviceLUIDValid:                   b32,
+	subgroupSize:                      u32,
+	subgroupSupportedStages:           ShaderStageFlags,
+	subgroupSupportedOperations:       SubgroupFeatureFlags,
+	subgroupQuadOperationsInAllStages: b32,
+	pointClippingBehavior:             PointClippingBehavior,
+	maxMultiviewViewCount:             u32,
+	maxMultiviewInstanceIndex:         u32,
+	protectedNoFault:                  b32,
+	maxPerSetDescriptors:              u32,
+	maxMemoryAllocationSize:           DeviceSize,
+}
+
+PhysicalDeviceVulkan12Features :: struct {
+	sType:                                              StructureType,
+	pNext:                                              rawptr,
+	samplerMirrorClampToEdge:                           b32,
+	drawIndirectCount:                                  b32,
+	storageBuffer8BitAccess:                            b32,
+	uniformAndStorageBuffer8BitAccess:                  b32,
+	storagePushConstant8:                               b32,
+	shaderBufferInt64Atomics:                           b32,
+	shaderSharedInt64Atomics:                           b32,
+	shaderFloat16:                                      b32,
+	shaderInt8:                                         b32,
+	descriptorIndexing:                                 b32,
+	shaderInputAttachmentArrayDynamicIndexing:          b32,
+	shaderUniformTexelBufferArrayDynamicIndexing:       b32,
+	shaderStorageTexelBufferArrayDynamicIndexing:       b32,
+	shaderUniformBufferArrayNonUniformIndexing:         b32,
+	shaderSampledImageArrayNonUniformIndexing:          b32,
+	shaderStorageBufferArrayNonUniformIndexing:         b32,
+	shaderStorageImageArrayNonUniformIndexing:          b32,
+	shaderInputAttachmentArrayNonUniformIndexing:       b32,
+	shaderUniformTexelBufferArrayNonUniformIndexing:    b32,
+	shaderStorageTexelBufferArrayNonUniformIndexing:    b32,
+	descriptorBindingUniformBufferUpdateAfterBind:      b32,
+	descriptorBindingSampledImageUpdateAfterBind:       b32,
+	descriptorBindingStorageImageUpdateAfterBind:       b32,
+	descriptorBindingStorageBufferUpdateAfterBind:      b32,
+	descriptorBindingUniformTexelBufferUpdateAfterBind: b32,
+	descriptorBindingStorageTexelBufferUpdateAfterBind: b32,
+	descriptorBindingUpdateUnusedWhilePending:          b32,
+	descriptorBindingPartiallyBound:                    b32,
+	descriptorBindingVariableDescriptorCount:           b32,
+	runtimeDescriptorArray:                             b32,
+	samplerFilterMinmax:                                b32,
+	scalarBlockLayout:                                  b32,
+	imagelessFramebuffer:                               b32,
+	uniformBufferStandardLayout:                        b32,
+	shaderSubgroupExtendedTypes:                        b32,
+	separateDepthStencilLayouts:                        b32,
+	hostQueryReset:                                     b32,
+	timelineSemaphore:                                  b32,
+	bufferDeviceAddress:                                b32,
+	bufferDeviceAddressCaptureReplay:                   b32,
+	bufferDeviceAddressMultiDevice:                     b32,
+	vulkanMemoryModel:                                  b32,
+	vulkanMemoryModelDeviceScope:                       b32,
+	vulkanMemoryModelAvailabilityVisibilityChains:      b32,
+	shaderOutputViewportIndex:                          b32,
+	shaderOutputLayer:                                  b32,
+	subgroupBroadcastDynamicId:                         b32,
+}
+
+ConformanceVersion :: struct {
+	major:    u8,
+	minor:    u8,
+	subminor: u8,
+	patch:    u8,
+}
+
+PhysicalDeviceVulkan12Properties :: struct {
+	sType:                                                StructureType,
+	pNext:                                                rawptr,
+	driverID:                                             DriverId,
+	driverName:                                           [MAX_DRIVER_NAME_SIZE]byte,
+	driverInfo:                                           [MAX_DRIVER_INFO_SIZE]byte,
+	conformanceVersion:                                   ConformanceVersion,
+	denormBehaviorIndependence:                           ShaderFloatControlsIndependence,
+	roundingModeIndependence:                             ShaderFloatControlsIndependence,
+	shaderSignedZeroInfNanPreserveFloat16:                b32,
+	shaderSignedZeroInfNanPreserveFloat32:                b32,
+	shaderSignedZeroInfNanPreserveFloat64:                b32,
+	shaderDenormPreserveFloat16:                          b32,
+	shaderDenormPreserveFloat32:                          b32,
+	shaderDenormPreserveFloat64:                          b32,
+	shaderDenormFlushToZeroFloat16:                       b32,
+	shaderDenormFlushToZeroFloat32:                       b32,
+	shaderDenormFlushToZeroFloat64:                       b32,
+	shaderRoundingModeRTEFloat16:                         b32,
+	shaderRoundingModeRTEFloat32:                         b32,
+	shaderRoundingModeRTEFloat64:                         b32,
+	shaderRoundingModeRTZFloat16:                         b32,
+	shaderRoundingModeRTZFloat32:                         b32,
+	shaderRoundingModeRTZFloat64:                         b32,
+	maxUpdateAfterBindDescriptorsInAllPools:              u32,
+	shaderUniformBufferArrayNonUniformIndexingNative:     b32,
+	shaderSampledImageArrayNonUniformIndexingNative:      b32,
+	shaderStorageBufferArrayNonUniformIndexingNative:     b32,
+	shaderStorageImageArrayNonUniformIndexingNative:      b32,
+	shaderInputAttachmentArrayNonUniformIndexingNative:   b32,
+	robustBufferAccessUpdateAfterBind:                    b32,
+	quadDivergentImplicitLod:                             b32,
+	maxPerStageDescriptorUpdateAfterBindSamplers:         u32,
+	maxPerStageDescriptorUpdateAfterBindUniformBuffers:   u32,
+	maxPerStageDescriptorUpdateAfterBindStorageBuffers:   u32,
+	maxPerStageDescriptorUpdateAfterBindSampledImages:    u32,
+	maxPerStageDescriptorUpdateAfterBindStorageImages:    u32,
+	maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
+	maxPerStageUpdateAfterBindResources:                  u32,
+	maxDescriptorSetUpdateAfterBindSamplers:              u32,
+	maxDescriptorSetUpdateAfterBindUniformBuffers:        u32,
+	maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
+	maxDescriptorSetUpdateAfterBindStorageBuffers:        u32,
+	maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
+	maxDescriptorSetUpdateAfterBindSampledImages:         u32,
+	maxDescriptorSetUpdateAfterBindStorageImages:         u32,
+	maxDescriptorSetUpdateAfterBindInputAttachments:      u32,
+	supportedDepthResolveModes:                           ResolveModeFlags,
+	supportedStencilResolveModes:                         ResolveModeFlags,
+	independentResolveNone:                               b32,
+	independentResolve:                                   b32,
+	filterMinmaxSingleComponentFormats:                   b32,
+	filterMinmaxImageComponentMapping:                    b32,
+	maxTimelineSemaphoreValueDifference:                  u64,
+	framebufferIntegerColorSampleCounts:                  SampleCountFlags,
+}
+
+ImageFormatListCreateInfo :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	viewFormatCount: u32,
+	pViewFormats:    [^]Format,
+}
+
+AttachmentDescription2 :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	flags:          AttachmentDescriptionFlags,
+	format:         Format,
+	samples:        SampleCountFlags,
+	loadOp:         AttachmentLoadOp,
+	storeOp:        AttachmentStoreOp,
+	stencilLoadOp:  AttachmentLoadOp,
+	stencilStoreOp: AttachmentStoreOp,
+	initialLayout:  ImageLayout,
+	finalLayout:    ImageLayout,
+}
+
+AttachmentReference2 :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	attachment: u32,
+	layout:     ImageLayout,
+	aspectMask: ImageAspectFlags,
+}
+
+SubpassDescription2 :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	flags:                   SubpassDescriptionFlags,
+	pipelineBindPoint:       PipelineBindPoint,
+	viewMask:                u32,
+	inputAttachmentCount:    u32,
+	pInputAttachments:       [^]AttachmentReference2,
+	colorAttachmentCount:    u32,
+	pColorAttachments:       [^]AttachmentReference2,
+	pResolveAttachments:     [^]AttachmentReference2,
+	pDepthStencilAttachment: ^AttachmentReference2,
+	preserveAttachmentCount: u32,
+	pPreserveAttachments:    [^]u32,
+}
+
+SubpassDependency2 :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	srcSubpass:      u32,
+	dstSubpass:      u32,
+	srcStageMask:    PipelineStageFlags,
+	dstStageMask:    PipelineStageFlags,
+	srcAccessMask:   AccessFlags,
+	dstAccessMask:   AccessFlags,
+	dependencyFlags: DependencyFlags,
+	viewOffset:      i32,
+}
+
+RenderPassCreateInfo2 :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	flags:                   RenderPassCreateFlags,
+	attachmentCount:         u32,
+	pAttachments:            [^]AttachmentDescription2,
+	subpassCount:            u32,
+	pSubpasses:              [^]SubpassDescription2,
+	dependencyCount:         u32,
+	pDependencies:           [^]SubpassDependency2,
+	correlatedViewMaskCount: u32,
+	pCorrelatedViewMasks:    [^]u32,
+}
+
+SubpassBeginInfo :: struct {
+	sType:    StructureType,
+	pNext:    rawptr,
+	contents: SubpassContents,
+}
+
+SubpassEndInfo :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+}
+
+PhysicalDevice8BitStorageFeatures :: struct {
+	sType:                             StructureType,
+	pNext:                             rawptr,
+	storageBuffer8BitAccess:           b32,
+	uniformAndStorageBuffer8BitAccess: b32,
+	storagePushConstant8:              b32,
+}
+
+PhysicalDeviceDriverProperties :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	driverID:           DriverId,
+	driverName:         [MAX_DRIVER_NAME_SIZE]byte,
+	driverInfo:         [MAX_DRIVER_INFO_SIZE]byte,
+	conformanceVersion: ConformanceVersion,
+}
+
+PhysicalDeviceShaderAtomicInt64Features :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	shaderBufferInt64Atomics: b32,
+	shaderSharedInt64Atomics: b32,
+}
+
+PhysicalDeviceShaderFloat16Int8Features :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	shaderFloat16: b32,
+	shaderInt8:    b32,
+}
+
+PhysicalDeviceFloatControlsProperties :: struct {
+	sType:                                 StructureType,
+	pNext:                                 rawptr,
+	denormBehaviorIndependence:            ShaderFloatControlsIndependence,
+	roundingModeIndependence:              ShaderFloatControlsIndependence,
+	shaderSignedZeroInfNanPreserveFloat16: b32,
+	shaderSignedZeroInfNanPreserveFloat32: b32,
+	shaderSignedZeroInfNanPreserveFloat64: b32,
+	shaderDenormPreserveFloat16:           b32,
+	shaderDenormPreserveFloat32:           b32,
+	shaderDenormPreserveFloat64:           b32,
+	shaderDenormFlushToZeroFloat16:        b32,
+	shaderDenormFlushToZeroFloat32:        b32,
+	shaderDenormFlushToZeroFloat64:        b32,
+	shaderRoundingModeRTEFloat16:          b32,
+	shaderRoundingModeRTEFloat32:          b32,
+	shaderRoundingModeRTEFloat64:          b32,
+	shaderRoundingModeRTZFloat16:          b32,
+	shaderRoundingModeRTZFloat32:          b32,
+	shaderRoundingModeRTZFloat64:          b32,
+}
+
+DescriptorSetLayoutBindingFlagsCreateInfo :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	bindingCount:  u32,
+	pBindingFlags: [^]DescriptorBindingFlags,
+}
+
+PhysicalDeviceDescriptorIndexingFeatures :: struct {
+	sType:                                              StructureType,
+	pNext:                                              rawptr,
+	shaderInputAttachmentArrayDynamicIndexing:          b32,
+	shaderUniformTexelBufferArrayDynamicIndexing:       b32,
+	shaderStorageTexelBufferArrayDynamicIndexing:       b32,
+	shaderUniformBufferArrayNonUniformIndexing:         b32,
+	shaderSampledImageArrayNonUniformIndexing:          b32,
+	shaderStorageBufferArrayNonUniformIndexing:         b32,
+	shaderStorageImageArrayNonUniformIndexing:          b32,
+	shaderInputAttachmentArrayNonUniformIndexing:       b32,
+	shaderUniformTexelBufferArrayNonUniformIndexing:    b32,
+	shaderStorageTexelBufferArrayNonUniformIndexing:    b32,
+	descriptorBindingUniformBufferUpdateAfterBind:      b32,
+	descriptorBindingSampledImageUpdateAfterBind:       b32,
+	descriptorBindingStorageImageUpdateAfterBind:       b32,
+	descriptorBindingStorageBufferUpdateAfterBind:      b32,
+	descriptorBindingUniformTexelBufferUpdateAfterBind: b32,
+	descriptorBindingStorageTexelBufferUpdateAfterBind: b32,
+	descriptorBindingUpdateUnusedWhilePending:          b32,
+	descriptorBindingPartiallyBound:                    b32,
+	descriptorBindingVariableDescriptorCount:           b32,
+	runtimeDescriptorArray:                             b32,
+}
+
+PhysicalDeviceDescriptorIndexingProperties :: struct {
+	sType:                                                StructureType,
+	pNext:                                                rawptr,
+	maxUpdateAfterBindDescriptorsInAllPools:              u32,
+	shaderUniformBufferArrayNonUniformIndexingNative:     b32,
+	shaderSampledImageArrayNonUniformIndexingNative:      b32,
+	shaderStorageBufferArrayNonUniformIndexingNative:     b32,
+	shaderStorageImageArrayNonUniformIndexingNative:      b32,
+	shaderInputAttachmentArrayNonUniformIndexingNative:   b32,
+	robustBufferAccessUpdateAfterBind:                    b32,
+	quadDivergentImplicitLod:                             b32,
+	maxPerStageDescriptorUpdateAfterBindSamplers:         u32,
+	maxPerStageDescriptorUpdateAfterBindUniformBuffers:   u32,
+	maxPerStageDescriptorUpdateAfterBindStorageBuffers:   u32,
+	maxPerStageDescriptorUpdateAfterBindSampledImages:    u32,
+	maxPerStageDescriptorUpdateAfterBindStorageImages:    u32,
+	maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
+	maxPerStageUpdateAfterBindResources:                  u32,
+	maxDescriptorSetUpdateAfterBindSamplers:              u32,
+	maxDescriptorSetUpdateAfterBindUniformBuffers:        u32,
+	maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
+	maxDescriptorSetUpdateAfterBindStorageBuffers:        u32,
+	maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
+	maxDescriptorSetUpdateAfterBindSampledImages:         u32,
+	maxDescriptorSetUpdateAfterBindStorageImages:         u32,
+	maxDescriptorSetUpdateAfterBindInputAttachments:      u32,
+}
+
+DescriptorSetVariableDescriptorCountAllocateInfo :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	descriptorSetCount: u32,
+	pDescriptorCounts:  [^]u32,
+}
+
+DescriptorSetVariableDescriptorCountLayoutSupport :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	maxVariableDescriptorCount: u32,
+}
+
+SubpassDescriptionDepthStencilResolve :: struct {
+	sType:                          StructureType,
+	pNext:                          rawptr,
+	depthResolveMode:               ResolveModeFlags,
+	stencilResolveMode:             ResolveModeFlags,
+	pDepthStencilResolveAttachment: ^AttachmentReference2,
+}
+
+PhysicalDeviceDepthStencilResolveProperties :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	supportedDepthResolveModes:   ResolveModeFlags,
+	supportedStencilResolveModes: ResolveModeFlags,
+	independentResolveNone:       b32,
+	independentResolve:           b32,
+}
+
+PhysicalDeviceScalarBlockLayoutFeatures :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	scalarBlockLayout: b32,
+}
+
+ImageStencilUsageCreateInfo :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	stencilUsage: ImageUsageFlags,
+}
+
+SamplerReductionModeCreateInfo :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	reductionMode: SamplerReductionMode,
+}
+
+PhysicalDeviceSamplerFilterMinmaxProperties :: struct {
+	sType:                              StructureType,
+	pNext:                              rawptr,
+	filterMinmaxSingleComponentFormats: b32,
+	filterMinmaxImageComponentMapping:  b32,
+}
+
+PhysicalDeviceVulkanMemoryModelFeatures :: struct {
+	sType:                                         StructureType,
+	pNext:                                         rawptr,
+	vulkanMemoryModel:                             b32,
+	vulkanMemoryModelDeviceScope:                  b32,
+	vulkanMemoryModelAvailabilityVisibilityChains: b32,
+}
+
+PhysicalDeviceImagelessFramebufferFeatures :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	imagelessFramebuffer: b32,
+}
+
+FramebufferAttachmentImageInfo :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	flags:           ImageCreateFlags,
+	usage:           ImageUsageFlags,
+	width:           u32,
+	height:          u32,
+	layerCount:      u32,
+	viewFormatCount: u32,
+	pViewFormats:    [^]Format,
+}
+
+FramebufferAttachmentsCreateInfo :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	attachmentImageInfoCount: u32,
+	pAttachmentImageInfos:    [^]FramebufferAttachmentImageInfo,
+}
+
+RenderPassAttachmentBeginInfo :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	attachmentCount: u32,
+	pAttachments:    [^]ImageView,
+}
+
+PhysicalDeviceUniformBufferStandardLayoutFeatures :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	uniformBufferStandardLayout: b32,
+}
+
+PhysicalDeviceShaderSubgroupExtendedTypesFeatures :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	shaderSubgroupExtendedTypes: b32,
+}
+
+PhysicalDeviceSeparateDepthStencilLayoutsFeatures :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	separateDepthStencilLayouts: b32,
+}
+
+AttachmentReferenceStencilLayout :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	stencilLayout: ImageLayout,
+}
+
+AttachmentDescriptionStencilLayout :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	stencilInitialLayout: ImageLayout,
+	stencilFinalLayout:   ImageLayout,
+}
+
+PhysicalDeviceHostQueryResetFeatures :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	hostQueryReset: b32,
+}
+
+PhysicalDeviceTimelineSemaphoreFeatures :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	timelineSemaphore: b32,
+}
+
+PhysicalDeviceTimelineSemaphoreProperties :: struct {
+	sType:                               StructureType,
+	pNext:                               rawptr,
+	maxTimelineSemaphoreValueDifference: u64,
+}
+
+SemaphoreTypeCreateInfo :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	semaphoreType: SemaphoreType,
+	initialValue:  u64,
+}
+
+TimelineSemaphoreSubmitInfo :: struct {
+	sType:                     StructureType,
+	pNext:                     rawptr,
+	waitSemaphoreValueCount:   u32,
+	pWaitSemaphoreValues:      [^]u64,
+	signalSemaphoreValueCount: u32,
+	pSignalSemaphoreValues:    [^]u64,
+}
+
+SemaphoreWaitInfo :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	flags:          SemaphoreWaitFlags,
+	semaphoreCount: u32,
+	pSemaphores:    [^]Semaphore,
+	pValues:        [^]u64,
+}
+
+SemaphoreSignalInfo :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	semaphore: Semaphore,
+	value:     u64,
+}
+
+PhysicalDeviceBufferDeviceAddressFeatures :: struct {
+	sType:                            StructureType,
+	pNext:                            rawptr,
+	bufferDeviceAddress:              b32,
+	bufferDeviceAddressCaptureReplay: b32,
+	bufferDeviceAddressMultiDevice:   b32,
+}
+
+BufferDeviceAddressInfo :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	buffer: Buffer,
+}
+
+BufferOpaqueCaptureAddressCreateInfo :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	opaqueCaptureAddress: u64,
+}
+
+MemoryOpaqueCaptureAddressAllocateInfo :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	opaqueCaptureAddress: u64,
+}
+
+DeviceMemoryOpaqueCaptureAddressInfo :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	memory: DeviceMemory,
+}
+
+PhysicalDeviceVulkan13Features :: struct {
+	sType:                                              StructureType,
+	pNext:                                              rawptr,
+	robustImageAccess:                                  b32,
+	inlineUniformBlock:                                 b32,
+	descriptorBindingInlineUniformBlockUpdateAfterBind: b32,
+	pipelineCreationCacheControl:                       b32,
+	privateData:                                        b32,
+	shaderDemoteToHelperInvocation:                     b32,
+	shaderTerminateInvocation:                          b32,
+	subgroupSizeControl:                                b32,
+	computeFullSubgroups:                               b32,
+	synchronization2:                                   b32,
+	textureCompressionASTC_HDR:                         b32,
+	shaderZeroInitializeWorkgroupMemory:                b32,
+	dynamicRendering:                                   b32,
+	shaderIntegerDotProduct:                            b32,
+	maintenance4:                                       b32,
+}
+
+PhysicalDeviceVulkan13Properties :: struct {
+	sType:                                                                         StructureType,
+	pNext:                                                                         rawptr,
+	minSubgroupSize:                                                               u32,
+	maxSubgroupSize:                                                               u32,
+	maxComputeWorkgroupSubgroups:                                                  u32,
+	requiredSubgroupSizeStages:                                                    ShaderStageFlags,
+	maxInlineUniformBlockSize:                                                     u32,
+	maxPerStageDescriptorInlineUniformBlocks:                                      u32,
+	maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks:                       u32,
+	maxDescriptorSetInlineUniformBlocks:                                           u32,
+	maxDescriptorSetUpdateAfterBindInlineUniformBlocks:                            u32,
+	maxInlineUniformTotalSize:                                                     u32,
+	integerDotProduct8BitUnsignedAccelerated:                                      b32,
+	integerDotProduct8BitSignedAccelerated:                                        b32,
+	integerDotProduct8BitMixedSignednessAccelerated:                               b32,
+	integerDotProduct4x8BitPackedUnsignedAccelerated:                              b32,
+	integerDotProduct4x8BitPackedSignedAccelerated:                                b32,
+	integerDotProduct4x8BitPackedMixedSignednessAccelerated:                       b32,
+	integerDotProduct16BitUnsignedAccelerated:                                     b32,
+	integerDotProduct16BitSignedAccelerated:                                       b32,
+	integerDotProduct16BitMixedSignednessAccelerated:                              b32,
+	integerDotProduct32BitUnsignedAccelerated:                                     b32,
+	integerDotProduct32BitSignedAccelerated:                                       b32,
+	integerDotProduct32BitMixedSignednessAccelerated:                              b32,
+	integerDotProduct64BitUnsignedAccelerated:                                     b32,
+	integerDotProduct64BitSignedAccelerated:                                       b32,
+	integerDotProduct64BitMixedSignednessAccelerated:                              b32,
+	integerDotProductAccumulatingSaturating8BitUnsignedAccelerated:                b32,
+	integerDotProductAccumulatingSaturating8BitSignedAccelerated:                  b32,
+	integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated:         b32,
+	integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated:        b32,
+	integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated:          b32,
+	integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32,
+	integerDotProductAccumulatingSaturating16BitUnsignedAccelerated:               b32,
+	integerDotProductAccumulatingSaturating16BitSignedAccelerated:                 b32,
+	integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated:        b32,
+	integerDotProductAccumulatingSaturating32BitUnsignedAccelerated:               b32,
+	integerDotProductAccumulatingSaturating32BitSignedAccelerated:                 b32,
+	integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated:        b32,
+	integerDotProductAccumulatingSaturating64BitUnsignedAccelerated:               b32,
+	integerDotProductAccumulatingSaturating64BitSignedAccelerated:                 b32,
+	integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated:        b32,
+	storageTexelBufferOffsetAlignmentBytes:                                        DeviceSize,
+	storageTexelBufferOffsetSingleTexelAlignment:                                  b32,
+	uniformTexelBufferOffsetAlignmentBytes:                                        DeviceSize,
+	uniformTexelBufferOffsetSingleTexelAlignment:                                  b32,
+	maxBufferSize:                                                                 DeviceSize,
+}
+
+PipelineCreationFeedback :: struct {
+	flags:    PipelineCreationFeedbackFlags,
+	duration: u64,
+}
+
+PipelineCreationFeedbackCreateInfo :: struct {
+	sType:                              StructureType,
+	pNext:                              rawptr,
+	pPipelineCreationFeedback:          ^PipelineCreationFeedback,
+	pipelineStageCreationFeedbackCount: u32,
+	pPipelineStageCreationFeedbacks:    [^]PipelineCreationFeedback,
+}
+
+PhysicalDeviceShaderTerminateInvocationFeatures :: struct {
+	sType:                     StructureType,
+	pNext:                     rawptr,
+	shaderTerminateInvocation: b32,
+}
+
+PhysicalDeviceToolProperties :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	name:        [MAX_EXTENSION_NAME_SIZE]byte,
+	version:     [MAX_EXTENSION_NAME_SIZE]byte,
+	purposes:    ToolPurposeFlags,
+	description: [MAX_DESCRIPTION_SIZE]byte,
+	layer:       [MAX_EXTENSION_NAME_SIZE]byte,
+}
+
+PhysicalDeviceShaderDemoteToHelperInvocationFeatures :: struct {
+	sType:                          StructureType,
+	pNext:                          rawptr,
+	shaderDemoteToHelperInvocation: b32,
+}
+
+PhysicalDevicePrivateDataFeatures :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	privateData: b32,
+}
+
+DevicePrivateDataCreateInfo :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	privateDataSlotRequestCount: u32,
+}
+
+PrivateDataSlotCreateInfo :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	flags: PrivateDataSlotCreateFlags,
+}
+
+PhysicalDevicePipelineCreationCacheControlFeatures :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	pipelineCreationCacheControl: b32,
+}
+
+MemoryBarrier2 :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	srcStageMask:  PipelineStageFlags2,
+	srcAccessMask: AccessFlags2,
+	dstStageMask:  PipelineStageFlags2,
+	dstAccessMask: AccessFlags2,
+}
+
+BufferMemoryBarrier2 :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	srcStageMask:        PipelineStageFlags2,
+	srcAccessMask:       AccessFlags2,
+	dstStageMask:        PipelineStageFlags2,
+	dstAccessMask:       AccessFlags2,
+	srcQueueFamilyIndex: u32,
+	dstQueueFamilyIndex: u32,
+	buffer:              Buffer,
+	offset:              DeviceSize,
+	size:                DeviceSize,
+}
+
+ImageMemoryBarrier2 :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	srcStageMask:        PipelineStageFlags2,
+	srcAccessMask:       AccessFlags2,
+	dstStageMask:        PipelineStageFlags2,
+	dstAccessMask:       AccessFlags2,
+	oldLayout:           ImageLayout,
+	newLayout:           ImageLayout,
+	srcQueueFamilyIndex: u32,
+	dstQueueFamilyIndex: u32,
+	image:               Image,
+	subresourceRange:    ImageSubresourceRange,
+}
+
+DependencyInfo :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	dependencyFlags:          DependencyFlags,
+	memoryBarrierCount:       u32,
+	pMemoryBarriers:          [^]MemoryBarrier2,
+	bufferMemoryBarrierCount: u32,
+	pBufferMemoryBarriers:    [^]BufferMemoryBarrier2,
+	imageMemoryBarrierCount:  u32,
+	pImageMemoryBarriers:     [^]ImageMemoryBarrier2,
+}
+
+SemaphoreSubmitInfo :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	semaphore:   Semaphore,
+	value:       u64,
+	stageMask:   PipelineStageFlags2,
+	deviceIndex: u32,
+}
+
+CommandBufferSubmitInfo :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	commandBuffer: CommandBuffer,
+	deviceMask:    u32,
+}
+
+SubmitInfo2 :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	flags:                    SubmitFlags,
+	waitSemaphoreInfoCount:   u32,
+	pWaitSemaphoreInfos:      [^]SemaphoreSubmitInfo,
+	commandBufferInfoCount:   u32,
+	pCommandBufferInfos:      [^]CommandBufferSubmitInfo,
+	signalSemaphoreInfoCount: u32,
+	pSignalSemaphoreInfos:    [^]SemaphoreSubmitInfo,
+}
+
+PhysicalDeviceSynchronization2Features :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	synchronization2: b32,
+}
+
+PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures :: struct {
+	sType:                               StructureType,
+	pNext:                               rawptr,
+	shaderZeroInitializeWorkgroupMemory: b32,
+}
+
+PhysicalDeviceImageRobustnessFeatures :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	robustImageAccess: b32,
+}
+
+BufferCopy2 :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	srcOffset: DeviceSize,
+	dstOffset: DeviceSize,
+	size:      DeviceSize,
+}
+
+CopyBufferInfo2 :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	srcBuffer:   Buffer,
+	dstBuffer:   Buffer,
+	regionCount: u32,
+	pRegions:    [^]BufferCopy2,
+}
+
+ImageCopy2 :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	srcSubresource: ImageSubresourceLayers,
+	srcOffset:      Offset3D,
+	dstSubresource: ImageSubresourceLayers,
+	dstOffset:      Offset3D,
+	extent:         Extent3D,
+}
+
+CopyImageInfo2 :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	srcImage:       Image,
+	srcImageLayout: ImageLayout,
+	dstImage:       Image,
+	dstImageLayout: ImageLayout,
+	regionCount:    u32,
+	pRegions:       [^]ImageCopy2,
+}
+
+BufferImageCopy2 :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	bufferOffset:      DeviceSize,
+	bufferRowLength:   u32,
+	bufferImageHeight: u32,
+	imageSubresource:  ImageSubresourceLayers,
+	imageOffset:       Offset3D,
+	imageExtent:       Extent3D,
+}
+
+CopyBufferToImageInfo2 :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	srcBuffer:      Buffer,
+	dstImage:       Image,
+	dstImageLayout: ImageLayout,
+	regionCount:    u32,
+	pRegions:       [^]BufferImageCopy2,
+}
+
+CopyImageToBufferInfo2 :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	srcImage:       Image,
+	srcImageLayout: ImageLayout,
+	dstBuffer:      Buffer,
+	regionCount:    u32,
+	pRegions:       [^]BufferImageCopy2,
+}
+
+ImageBlit2 :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	srcSubresource: ImageSubresourceLayers,
+	srcOffsets:     [2]Offset3D,
+	dstSubresource: ImageSubresourceLayers,
+	dstOffsets:     [2]Offset3D,
+}
+
+BlitImageInfo2 :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	srcImage:       Image,
+	srcImageLayout: ImageLayout,
+	dstImage:       Image,
+	dstImageLayout: ImageLayout,
+	regionCount:    u32,
+	pRegions:       [^]ImageBlit2,
+	filter:         Filter,
+}
+
+ImageResolve2 :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	srcSubresource: ImageSubresourceLayers,
+	srcOffset:      Offset3D,
+	dstSubresource: ImageSubresourceLayers,
+	dstOffset:      Offset3D,
+	extent:         Extent3D,
+}
+
+ResolveImageInfo2 :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	srcImage:       Image,
+	srcImageLayout: ImageLayout,
+	dstImage:       Image,
+	dstImageLayout: ImageLayout,
+	regionCount:    u32,
+	pRegions:       [^]ImageResolve2,
+}
+
+PhysicalDeviceSubgroupSizeControlFeatures :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	subgroupSizeControl:  b32,
+	computeFullSubgroups: b32,
+}
+
+PhysicalDeviceSubgroupSizeControlProperties :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	minSubgroupSize:              u32,
+	maxSubgroupSize:              u32,
+	maxComputeWorkgroupSubgroups: u32,
+	requiredSubgroupSizeStages:   ShaderStageFlags,
+}
+
+PipelineShaderStageRequiredSubgroupSizeCreateInfo :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	requiredSubgroupSize: u32,
+}
+
+PhysicalDeviceInlineUniformBlockFeatures :: struct {
+	sType:                                              StructureType,
+	pNext:                                              rawptr,
+	inlineUniformBlock:                                 b32,
+	descriptorBindingInlineUniformBlockUpdateAfterBind: b32,
+}
+
+PhysicalDeviceInlineUniformBlockProperties :: struct {
+	sType:                                                   StructureType,
+	pNext:                                                   rawptr,
+	maxInlineUniformBlockSize:                               u32,
+	maxPerStageDescriptorInlineUniformBlocks:                u32,
+	maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
+	maxDescriptorSetInlineUniformBlocks:                     u32,
+	maxDescriptorSetUpdateAfterBindInlineUniformBlocks:      u32,
+}
+
+WriteDescriptorSetInlineUniformBlock :: struct {
+	sType:    StructureType,
+	pNext:    rawptr,
+	dataSize: u32,
+	pData:    rawptr,
+}
+
+DescriptorPoolInlineUniformBlockCreateInfo :: struct {
+	sType:                         StructureType,
+	pNext:                         rawptr,
+	maxInlineUniformBlockBindings: u32,
+}
+
+PhysicalDeviceTextureCompressionASTCHDRFeatures :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	textureCompressionASTC_HDR: b32,
+}
+
+RenderingAttachmentInfo :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	imageView:          ImageView,
+	imageLayout:        ImageLayout,
+	resolveMode:        ResolveModeFlags,
+	resolveImageView:   ImageView,
+	resolveImageLayout: ImageLayout,
+	loadOp:             AttachmentLoadOp,
+	storeOp:            AttachmentStoreOp,
+	clearValue:         ClearValue,
+}
+
+RenderingInfo :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	flags:                RenderingFlags,
+	renderArea:           Rect2D,
+	layerCount:           u32,
+	viewMask:             u32,
+	colorAttachmentCount: u32,
+	pColorAttachments:    [^]RenderingAttachmentInfo,
+	pDepthAttachment:     ^RenderingAttachmentInfo,
+	pStencilAttachment:   ^RenderingAttachmentInfo,
+}
+
+PipelineRenderingCreateInfo :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	viewMask:                u32,
+	colorAttachmentCount:    u32,
+	pColorAttachmentFormats: [^]Format,
+	depthAttachmentFormat:   Format,
+	stencilAttachmentFormat: Format,
+}
+
+PhysicalDeviceDynamicRenderingFeatures :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	dynamicRendering: b32,
+}
+
+CommandBufferInheritanceRenderingInfo :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	flags:                   RenderingFlags,
+	viewMask:                u32,
+	colorAttachmentCount:    u32,
+	pColorAttachmentFormats: [^]Format,
+	depthAttachmentFormat:   Format,
+	stencilAttachmentFormat: Format,
+	rasterizationSamples:    SampleCountFlags,
+}
+
+PhysicalDeviceShaderIntegerDotProductFeatures :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	shaderIntegerDotProduct: b32,
+}
+
+PhysicalDeviceShaderIntegerDotProductProperties :: struct {
+	sType:                                                                         StructureType,
+	pNext:                                                                         rawptr,
+	integerDotProduct8BitUnsignedAccelerated:                                      b32,
+	integerDotProduct8BitSignedAccelerated:                                        b32,
+	integerDotProduct8BitMixedSignednessAccelerated:                               b32,
+	integerDotProduct4x8BitPackedUnsignedAccelerated:                              b32,
+	integerDotProduct4x8BitPackedSignedAccelerated:                                b32,
+	integerDotProduct4x8BitPackedMixedSignednessAccelerated:                       b32,
+	integerDotProduct16BitUnsignedAccelerated:                                     b32,
+	integerDotProduct16BitSignedAccelerated:                                       b32,
+	integerDotProduct16BitMixedSignednessAccelerated:                              b32,
+	integerDotProduct32BitUnsignedAccelerated:                                     b32,
+	integerDotProduct32BitSignedAccelerated:                                       b32,
+	integerDotProduct32BitMixedSignednessAccelerated:                              b32,
+	integerDotProduct64BitUnsignedAccelerated:                                     b32,
+	integerDotProduct64BitSignedAccelerated:                                       b32,
+	integerDotProduct64BitMixedSignednessAccelerated:                              b32,
+	integerDotProductAccumulatingSaturating8BitUnsignedAccelerated:                b32,
+	integerDotProductAccumulatingSaturating8BitSignedAccelerated:                  b32,
+	integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated:         b32,
+	integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated:        b32,
+	integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated:          b32,
+	integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32,
+	integerDotProductAccumulatingSaturating16BitUnsignedAccelerated:               b32,
+	integerDotProductAccumulatingSaturating16BitSignedAccelerated:                 b32,
+	integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated:        b32,
+	integerDotProductAccumulatingSaturating32BitUnsignedAccelerated:               b32,
+	integerDotProductAccumulatingSaturating32BitSignedAccelerated:                 b32,
+	integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated:        b32,
+	integerDotProductAccumulatingSaturating64BitUnsignedAccelerated:               b32,
+	integerDotProductAccumulatingSaturating64BitSignedAccelerated:                 b32,
+	integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated:        b32,
+}
+
+PhysicalDeviceTexelBufferAlignmentProperties :: struct {
+	sType:                                        StructureType,
+	pNext:                                        rawptr,
+	storageTexelBufferOffsetAlignmentBytes:       DeviceSize,
+	storageTexelBufferOffsetSingleTexelAlignment: b32,
+	uniformTexelBufferOffsetAlignmentBytes:       DeviceSize,
+	uniformTexelBufferOffsetSingleTexelAlignment: b32,
+}
+
+FormatProperties3 :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	linearTilingFeatures:  FormatFeatureFlags2,
+	optimalTilingFeatures: FormatFeatureFlags2,
+	bufferFeatures:        FormatFeatureFlags2,
+}
+
+PhysicalDeviceMaintenance4Features :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	maintenance4: b32,
+}
+
+PhysicalDeviceMaintenance4Properties :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	maxBufferSize: DeviceSize,
+}
+
+DeviceBufferMemoryRequirements :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	pCreateInfo: ^BufferCreateInfo,
+}
+
+DeviceImageMemoryRequirements :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	pCreateInfo: ^ImageCreateInfo,
+	planeAspect: ImageAspectFlags,
+}
+
+SurfaceCapabilitiesKHR :: struct {
+	minImageCount:           u32,
+	maxImageCount:           u32,
+	currentExtent:           Extent2D,
+	minImageExtent:          Extent2D,
+	maxImageExtent:          Extent2D,
+	maxImageArrayLayers:     u32,
+	supportedTransforms:     SurfaceTransformFlagsKHR,
+	currentTransform:        SurfaceTransformFlagsKHR,
+	supportedCompositeAlpha: CompositeAlphaFlagsKHR,
+	supportedUsageFlags:     ImageUsageFlags,
+}
+
+SurfaceFormatKHR :: struct {
+	format:     Format,
+	colorSpace: ColorSpaceKHR,
+}
+
+SwapchainCreateInfoKHR :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	flags:                 SwapchainCreateFlagsKHR,
+	surface:               SurfaceKHR,
+	minImageCount:         u32,
+	imageFormat:           Format,
+	imageColorSpace:       ColorSpaceKHR,
+	imageExtent:           Extent2D,
+	imageArrayLayers:      u32,
+	imageUsage:            ImageUsageFlags,
+	imageSharingMode:      SharingMode,
+	queueFamilyIndexCount: u32,
+	pQueueFamilyIndices:   [^]u32,
+	preTransform:          SurfaceTransformFlagsKHR,
+	compositeAlpha:        CompositeAlphaFlagsKHR,
+	presentMode:           PresentModeKHR,
+	clipped:               b32,
+	oldSwapchain:          SwapchainKHR,
+}
+
+PresentInfoKHR :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	waitSemaphoreCount: u32,
+	pWaitSemaphores:    [^]Semaphore,
+	swapchainCount:     u32,
+	pSwapchains:        [^]SwapchainKHR,
+	pImageIndices:      [^]u32,
+	pResults:           [^]Result,
+}
+
+ImageSwapchainCreateInfoKHR :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	swapchain: SwapchainKHR,
+}
+
+BindImageMemorySwapchainInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	swapchain:  SwapchainKHR,
+	imageIndex: u32,
+}
+
+AcquireNextImageInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	swapchain:  SwapchainKHR,
+	timeout:    u64,
+	semaphore:  Semaphore,
+	fence:      Fence,
+	deviceMask: u32,
+}
+
+DeviceGroupPresentCapabilitiesKHR :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	presentMask: [MAX_DEVICE_GROUP_SIZE]u32,
+	modes:       DeviceGroupPresentModeFlagsKHR,
+}
+
+DeviceGroupPresentInfoKHR :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	swapchainCount: u32,
+	pDeviceMasks:   [^]u32,
+	mode:           DeviceGroupPresentModeFlagsKHR,
+}
+
+DeviceGroupSwapchainCreateInfoKHR :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	modes: DeviceGroupPresentModeFlagsKHR,
+}
+
+DisplayModeParametersKHR :: struct {
+	visibleRegion: Extent2D,
+	refreshRate:   u32,
+}
+
+DisplayModeCreateInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	flags:      DisplayModeCreateFlagsKHR,
+	parameters: DisplayModeParametersKHR,
+}
+
+DisplayModePropertiesKHR :: struct {
+	displayMode: DisplayModeKHR,
+	parameters:  DisplayModeParametersKHR,
+}
+
+DisplayPlaneCapabilitiesKHR :: struct {
+	supportedAlpha: DisplayPlaneAlphaFlagsKHR,
+	minSrcPosition: Offset2D,
+	maxSrcPosition: Offset2D,
+	minSrcExtent:   Extent2D,
+	maxSrcExtent:   Extent2D,
+	minDstPosition: Offset2D,
+	maxDstPosition: Offset2D,
+	minDstExtent:   Extent2D,
+	maxDstExtent:   Extent2D,
+}
+
+DisplayPlanePropertiesKHR :: struct {
+	currentDisplay:    DisplayKHR,
+	currentStackIndex: u32,
+}
+
+DisplayPropertiesKHR :: struct {
+	display:              DisplayKHR,
+	displayName:          cstring,
+	physicalDimensions:   Extent2D,
+	physicalResolution:   Extent2D,
+	supportedTransforms:  SurfaceTransformFlagsKHR,
+	planeReorderPossible: b32,
+	persistentContent:    b32,
+}
+
+DisplaySurfaceCreateInfoKHR :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	flags:           DisplaySurfaceCreateFlagsKHR,
+	displayMode:     DisplayModeKHR,
+	planeIndex:      u32,
+	planeStackIndex: u32,
+	transform:       SurfaceTransformFlagsKHR,
+	globalAlpha:     f32,
+	alphaMode:       DisplayPlaneAlphaFlagsKHR,
+	imageExtent:     Extent2D,
+}
+
+DisplayPresentInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	srcRect:    Rect2D,
+	dstRect:    Rect2D,
+	persistent: b32,
+}
+
+RenderingFragmentShadingRateAttachmentInfoKHR :: struct {
+	sType:                          StructureType,
+	pNext:                          rawptr,
+	imageView:                      ImageView,
+	imageLayout:                    ImageLayout,
+	shadingRateAttachmentTexelSize: Extent2D,
+}
+
+RenderingFragmentDensityMapAttachmentInfoEXT :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	imageView:   ImageView,
+	imageLayout: ImageLayout,
+}
+
+AttachmentSampleCountInfoAMD :: struct {
+	sType:                         StructureType,
+	pNext:                         rawptr,
+	colorAttachmentCount:          u32,
+	pColorAttachmentSamples:       [^]SampleCountFlags,
+	depthStencilAttachmentSamples: SampleCountFlags,
+}
+
+MultiviewPerViewAttributesInfoNVX :: struct {
+	sType:                          StructureType,
+	pNext:                          rawptr,
+	perViewAttributes:              b32,
+	perViewAttributesPositionXOnly: b32,
+}
+
+ImportMemoryFdInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	handleType: ExternalMemoryHandleTypeFlags,
+	fd:         c.int,
+}
+
+MemoryFdPropertiesKHR :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	memoryTypeBits: u32,
+}
+
+MemoryGetFdInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	memory:     DeviceMemory,
+	handleType: ExternalMemoryHandleTypeFlags,
+}
+
+ImportSemaphoreFdInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	semaphore:  Semaphore,
+	flags:      SemaphoreImportFlags,
+	handleType: ExternalSemaphoreHandleTypeFlags,
+	fd:         c.int,
+}
+
+SemaphoreGetFdInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	semaphore:  Semaphore,
+	handleType: ExternalSemaphoreHandleTypeFlags,
+}
+
+PhysicalDevicePushDescriptorPropertiesKHR :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	maxPushDescriptors: u32,
+}
+
+RectLayerKHR :: struct {
+	offset: Offset2D,
+	extent: Extent2D,
+	layer:  u32,
+}
+
+PresentRegionKHR :: struct {
+	rectangleCount: u32,
+	pRectangles:    [^]RectLayerKHR,
+}
+
+PresentRegionsKHR :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	swapchainCount: u32,
+	pRegions:       [^]PresentRegionKHR,
+}
+
+SharedPresentSurfaceCapabilitiesKHR :: struct {
+	sType:                            StructureType,
+	pNext:                            rawptr,
+	sharedPresentSupportedUsageFlags: ImageUsageFlags,
+}
+
+ImportFenceFdInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	fence:      Fence,
+	flags:      FenceImportFlags,
+	handleType: ExternalFenceHandleTypeFlags,
+	fd:         c.int,
+}
+
+FenceGetFdInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	fence:      Fence,
+	handleType: ExternalFenceHandleTypeFlags,
+}
+
+PhysicalDevicePerformanceQueryFeaturesKHR :: struct {
+	sType:                                StructureType,
+	pNext:                                rawptr,
+	performanceCounterQueryPools:         b32,
+	performanceCounterMultipleQueryPools: b32,
+}
+
+PhysicalDevicePerformanceQueryPropertiesKHR :: struct {
+	sType:                         StructureType,
+	pNext:                         rawptr,
+	allowCommandBufferQueryCopies: b32,
+}
+
+PerformanceCounterKHR :: struct {
+	sType:   StructureType,
+	pNext:   rawptr,
+	unit:    PerformanceCounterUnitKHR,
+	scope:   PerformanceCounterScopeKHR,
+	storage: PerformanceCounterStorageKHR,
+	uuid:    [UUID_SIZE]u8,
+}
+
+PerformanceCounterDescriptionKHR :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	flags:       PerformanceCounterDescriptionFlagsKHR,
+	name:        [MAX_DESCRIPTION_SIZE]byte,
+	category:    [MAX_DESCRIPTION_SIZE]byte,
+	description: [MAX_DESCRIPTION_SIZE]byte,
+}
+
+QueryPoolPerformanceCreateInfoKHR :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	queueFamilyIndex:  u32,
+	counterIndexCount: u32,
+	pCounterIndices:   [^]u32,
+}
+
+PerformanceCounterResultKHR :: struct #raw_union {
+	int32:   i32,
+	int64:   i64,
+	uint32:  u32,
+	uint64:  u64,
+	float32: f32,
+	float64: f64,
+}
+
+AcquireProfilingLockInfoKHR :: struct {
+	sType:   StructureType,
+	pNext:   rawptr,
+	flags:   AcquireProfilingLockFlagsKHR,
+	timeout: u64,
+}
+
+PerformanceQuerySubmitInfoKHR :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	counterPassIndex: u32,
+}
+
+PhysicalDeviceSurfaceInfo2KHR :: struct {
+	sType:   StructureType,
+	pNext:   rawptr,
+	surface: SurfaceKHR,
+}
+
+SurfaceCapabilities2KHR :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	surfaceCapabilities: SurfaceCapabilitiesKHR,
+}
+
+SurfaceFormat2KHR :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	surfaceFormat: SurfaceFormatKHR,
+}
+
+DisplayProperties2KHR :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	displayProperties: DisplayPropertiesKHR,
+}
+
+DisplayPlaneProperties2KHR :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	displayPlaneProperties: DisplayPlanePropertiesKHR,
+}
+
+DisplayModeProperties2KHR :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	displayModeProperties: DisplayModePropertiesKHR,
+}
+
+DisplayPlaneInfo2KHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	mode:       DisplayModeKHR,
+	planeIndex: u32,
+}
+
+DisplayPlaneCapabilities2KHR :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	capabilities: DisplayPlaneCapabilitiesKHR,
+}
+
+PhysicalDeviceShaderClockFeaturesKHR :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	shaderSubgroupClock: b32,
+	shaderDeviceClock:   b32,
+}
+
+DeviceQueueGlobalPriorityCreateInfoKHR :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	globalPriority: QueueGlobalPriorityKHR,
+}
+
+PhysicalDeviceGlobalPriorityQueryFeaturesKHR :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	globalPriorityQuery: b32,
+}
+
+QueueFamilyGlobalPriorityPropertiesKHR :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	priorityCount: u32,
+	priorities:    [MAX_GLOBAL_PRIORITY_SIZE_KHR]QueueGlobalPriorityKHR,
+}
+
+FragmentShadingRateAttachmentInfoKHR :: struct {
+	sType:                          StructureType,
+	pNext:                          rawptr,
+	pFragmentShadingRateAttachment: ^AttachmentReference2,
+	shadingRateAttachmentTexelSize: Extent2D,
+}
+
+PipelineFragmentShadingRateStateCreateInfoKHR :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	fragmentSize: Extent2D,
+	combinerOps:  [2]FragmentShadingRateCombinerOpKHR,
+}
+
+PhysicalDeviceFragmentShadingRateFeaturesKHR :: struct {
+	sType:                         StructureType,
+	pNext:                         rawptr,
+	pipelineFragmentShadingRate:   b32,
+	primitiveFragmentShadingRate:  b32,
+	attachmentFragmentShadingRate: b32,
+}
+
+PhysicalDeviceFragmentShadingRatePropertiesKHR :: struct {
+	sType:                                                StructureType,
+	pNext:                                                rawptr,
+	minFragmentShadingRateAttachmentTexelSize:            Extent2D,
+	maxFragmentShadingRateAttachmentTexelSize:            Extent2D,
+	maxFragmentShadingRateAttachmentTexelSizeAspectRatio: u32,
+	primitiveFragmentShadingRateWithMultipleViewports:    b32,
+	layeredShadingRateAttachments:                        b32,
+	fragmentShadingRateNonTrivialCombinerOps:             b32,
+	maxFragmentSize:                                      Extent2D,
+	maxFragmentSizeAspectRatio:                           u32,
+	maxFragmentShadingRateCoverageSamples:                u32,
+	maxFragmentShadingRateRasterizationSamples:           SampleCountFlags,
+	fragmentShadingRateWithShaderDepthStencilWrites:      b32,
+	fragmentShadingRateWithSampleMask:                    b32,
+	fragmentShadingRateWithShaderSampleMask:              b32,
+	fragmentShadingRateWithConservativeRasterization:     b32,
+	fragmentShadingRateWithFragmentShaderInterlock:       b32,
+	fragmentShadingRateWithCustomSampleLocations:         b32,
+	fragmentShadingRateStrictMultiplyCombiner:            b32,
+}
+
+PhysicalDeviceFragmentShadingRateKHR :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	sampleCounts: SampleCountFlags,
+	fragmentSize: Extent2D,
+}
+
+SurfaceProtectedCapabilitiesKHR :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	supportsProtected: b32,
+}
+
+PhysicalDevicePresentWaitFeaturesKHR :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	presentWait: b32,
+}
+
+PhysicalDevicePipelineExecutablePropertiesFeaturesKHR :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	pipelineExecutableInfo: b32,
+}
+
+PipelineInfoKHR :: struct {
+	sType:    StructureType,
+	pNext:    rawptr,
+	pipeline: Pipeline,
+}
+
+PipelineExecutablePropertiesKHR :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	stages:       ShaderStageFlags,
+	name:         [MAX_DESCRIPTION_SIZE]byte,
+	description:  [MAX_DESCRIPTION_SIZE]byte,
+	subgroupSize: u32,
+}
+
+PipelineExecutableInfoKHR :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	pipeline:        Pipeline,
+	executableIndex: u32,
+}
+
+PipelineExecutableStatisticValueKHR :: struct #raw_union {
+	b32: b32,
+	i64: i64,
+	u64: u64,
+	f64: f64,
+}
+
+PipelineExecutableStatisticKHR :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	name:        [MAX_DESCRIPTION_SIZE]byte,
+	description: [MAX_DESCRIPTION_SIZE]byte,
+	format:      PipelineExecutableStatisticFormatKHR,
+	value:       PipelineExecutableStatisticValueKHR,
+}
+
+PipelineExecutableInternalRepresentationKHR :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	name:        [MAX_DESCRIPTION_SIZE]byte,
+	description: [MAX_DESCRIPTION_SIZE]byte,
+	isText:      b32,
+	dataSize:    int,
+	pData:       rawptr,
+}
+
+PipelineLibraryCreateInfoKHR :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	libraryCount: u32,
+	pLibraries:   [^]Pipeline,
+}
+
+PresentIdKHR :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	swapchainCount: u32,
+	pPresentIds:    [^]u64,
+}
+
+PhysicalDevicePresentIdFeaturesKHR :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	presentId: b32,
+}
+
+QueueFamilyCheckpointProperties2NV :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	checkpointExecutionStageMask: PipelineStageFlags2,
+}
+
+CheckpointData2NV :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	stage:             PipelineStageFlags2,
+	pCheckpointMarker: rawptr,
+}
+
+PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR :: struct {
+	sType:                            StructureType,
+	pNext:                            rawptr,
+	shaderSubgroupUniformControlFlow: b32,
+}
+
+PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR :: struct {
+	sType:                                          StructureType,
+	pNext:                                          rawptr,
+	workgroupMemoryExplicitLayout:                  b32,
+	workgroupMemoryExplicitLayoutScalarBlockLayout: b32,
+	workgroupMemoryExplicitLayout8BitAccess:        b32,
+	workgroupMemoryExplicitLayout16BitAccess:       b32,
+}
+
+DebugReportCallbackCreateInfoEXT :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	flags:       DebugReportFlagsEXT,
+	pfnCallback: ProcDebugReportCallbackEXT,
+	pUserData:   rawptr,
+}
+
+PipelineRasterizationStateRasterizationOrderAMD :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	rasterizationOrder: RasterizationOrderAMD,
+}
+
+DebugMarkerObjectNameInfoEXT :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	objectType:  DebugReportObjectTypeEXT,
+	object:      u64,
+	pObjectName: cstring,
+}
+
+DebugMarkerObjectTagInfoEXT :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	objectType: DebugReportObjectTypeEXT,
+	object:     u64,
+	tagName:    u64,
+	tagSize:    int,
+	pTag:       rawptr,
+}
+
+DebugMarkerMarkerInfoEXT :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	pMarkerName: cstring,
+	color:       [4]f32,
+}
+
+DedicatedAllocationImageCreateInfoNV :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	dedicatedAllocation: b32,
+}
+
+DedicatedAllocationBufferCreateInfoNV :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	dedicatedAllocation: b32,
+}
+
+DedicatedAllocationMemoryAllocateInfoNV :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	image:  Image,
+	buffer: Buffer,
+}
+
+PhysicalDeviceTransformFeedbackFeaturesEXT :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	transformFeedback: b32,
+	geometryStreams:   b32,
+}
+
+PhysicalDeviceTransformFeedbackPropertiesEXT :: struct {
+	sType:                                      StructureType,
+	pNext:                                      rawptr,
+	maxTransformFeedbackStreams:                u32,
+	maxTransformFeedbackBuffers:                u32,
+	maxTransformFeedbackBufferSize:             DeviceSize,
+	maxTransformFeedbackStreamDataSize:         u32,
+	maxTransformFeedbackBufferDataSize:         u32,
+	maxTransformFeedbackBufferDataStride:       u32,
+	transformFeedbackQueries:                   b32,
+	transformFeedbackStreamsLinesTriangles:     b32,
+	transformFeedbackRasterizationStreamSelect: b32,
+	transformFeedbackDraw:                      b32,
+}
+
+PipelineRasterizationStateStreamCreateInfoEXT :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	flags:               PipelineRasterizationStateStreamCreateFlagsEXT,
+	rasterizationStream: u32,
+}
+
+CuModuleCreateInfoNVX :: struct {
+	sType:    StructureType,
+	pNext:    rawptr,
+	dataSize: int,
+	pData:    rawptr,
+}
+
+CuFunctionCreateInfoNVX :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	module: CuModuleNVX,
+	pName:  cstring,
+}
+
+CuLaunchInfoNVX :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	function:       CuFunctionNVX,
+	gridDimX:       u32,
+	gridDimY:       u32,
+	gridDimZ:       u32,
+	blockDimX:      u32,
+	blockDimY:      u32,
+	blockDimZ:      u32,
+	sharedMemBytes: u32,
+	paramCount:     int,
+	pParams:        [^]rawptr,
+	extraCount:     int,
+	pExtras:        [^]rawptr,
+}
+
+ImageViewHandleInfoNVX :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	imageView:      ImageView,
+	descriptorType: DescriptorType,
+	sampler:        Sampler,
+}
+
+ImageViewAddressPropertiesNVX :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	deviceAddress: DeviceAddress,
+	size:          DeviceSize,
+}
+
+TextureLODGatherFormatPropertiesAMD :: struct {
+	sType:                           StructureType,
+	pNext:                           rawptr,
+	supportsTextureGatherLODBiasAMD: b32,
+}
+
+ShaderResourceUsageAMD :: struct {
+	numUsedVgprs:             u32,
+	numUsedSgprs:             u32,
+	ldsSizePerLocalWorkGroup: u32,
+	ldsUsageSizeInBytes:      int,
+	scratchMemUsageInBytes:   int,
+}
+
+ShaderStatisticsInfoAMD :: struct {
+	shaderStageMask:      ShaderStageFlags,
+	resourceUsage:        ShaderResourceUsageAMD,
+	numPhysicalVgprs:     u32,
+	numPhysicalSgprs:     u32,
+	numAvailableVgprs:    u32,
+	numAvailableSgprs:    u32,
+	computeWorkGroupSize: [3]u32,
+}
+
+PhysicalDeviceCornerSampledImageFeaturesNV :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	cornerSampledImage: b32,
+}
+
+ExternalImageFormatPropertiesNV :: struct {
+	imageFormatProperties:         ImageFormatProperties,
+	externalMemoryFeatures:        ExternalMemoryFeatureFlagsNV,
+	exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlagsNV,
+	compatibleHandleTypes:         ExternalMemoryHandleTypeFlagsNV,
+}
+
+ExternalMemoryImageCreateInfoNV :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	handleTypes: ExternalMemoryHandleTypeFlagsNV,
+}
+
+ExportMemoryAllocateInfoNV :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	handleTypes: ExternalMemoryHandleTypeFlagsNV,
+}
+
+ValidationFlagsEXT :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	disabledValidationCheckCount: u32,
+	pDisabledValidationChecks:    [^]ValidationCheckEXT,
+}
+
+ImageViewASTCDecodeModeEXT :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	decodeMode: Format,
+}
+
+PhysicalDeviceASTCDecodeFeaturesEXT :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	decodeModeSharedExponent: b32,
+}
+
+ConditionalRenderingBeginInfoEXT :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	buffer: Buffer,
+	offset: DeviceSize,
+	flags:  ConditionalRenderingFlagsEXT,
+}
+
+PhysicalDeviceConditionalRenderingFeaturesEXT :: struct {
+	sType:                         StructureType,
+	pNext:                         rawptr,
+	conditionalRendering:          b32,
+	inheritedConditionalRendering: b32,
+}
+
+CommandBufferInheritanceConditionalRenderingInfoEXT :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	conditionalRenderingEnable: b32,
+}
+
+ViewportWScalingNV :: struct {
+	xcoeff: f32,
+	ycoeff: f32,
+}
+
+PipelineViewportWScalingStateCreateInfoNV :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	viewportWScalingEnable: b32,
+	viewportCount:          u32,
+	pViewportWScalings:     [^]ViewportWScalingNV,
+}
+
+SurfaceCapabilities2EXT :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	minImageCount:            u32,
+	maxImageCount:            u32,
+	currentExtent:            Extent2D,
+	minImageExtent:           Extent2D,
+	maxImageExtent:           Extent2D,
+	maxImageArrayLayers:      u32,
+	supportedTransforms:      SurfaceTransformFlagsKHR,
+	currentTransform:         SurfaceTransformFlagsKHR,
+	supportedCompositeAlpha:  CompositeAlphaFlagsKHR,
+	supportedUsageFlags:      ImageUsageFlags,
+	supportedSurfaceCounters: SurfaceCounterFlagsEXT,
+}
+
+DisplayPowerInfoEXT :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	powerState: DisplayPowerStateEXT,
+}
+
+DeviceEventInfoEXT :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	deviceEvent: DeviceEventTypeEXT,
+}
+
+DisplayEventInfoEXT :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	displayEvent: DisplayEventTypeEXT,
+}
+
+SwapchainCounterCreateInfoEXT :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	surfaceCounters: SurfaceCounterFlagsEXT,
+}
+
+RefreshCycleDurationGOOGLE :: struct {
+	refreshDuration: u64,
+}
+
+PastPresentationTimingGOOGLE :: struct {
+	presentID:           u32,
+	desiredPresentTime:  u64,
+	actualPresentTime:   u64,
+	earliestPresentTime: u64,
+	presentMargin:       u64,
+}
+
+PresentTimeGOOGLE :: struct {
+	presentID:          u32,
+	desiredPresentTime: u64,
+}
+
+PresentTimesInfoGOOGLE :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	swapchainCount: u32,
+	pTimes:         [^]PresentTimeGOOGLE,
+}
+
+PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	perViewPositionAllComponents: b32,
+}
+
+ViewportSwizzleNV :: struct {
+	x: ViewportCoordinateSwizzleNV,
+	y: ViewportCoordinateSwizzleNV,
+	z: ViewportCoordinateSwizzleNV,
+	w: ViewportCoordinateSwizzleNV,
+}
+
+PipelineViewportSwizzleStateCreateInfoNV :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	flags:             PipelineViewportSwizzleStateCreateFlagsNV,
+	viewportCount:     u32,
+	pViewportSwizzles: [^]ViewportSwizzleNV,
+}
+
+PhysicalDeviceDiscardRectanglePropertiesEXT :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	maxDiscardRectangles: u32,
+}
+
+PipelineDiscardRectangleStateCreateInfoEXT :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	flags:                 PipelineDiscardRectangleStateCreateFlagsEXT,
+	discardRectangleMode:  DiscardRectangleModeEXT,
+	discardRectangleCount: u32,
+	pDiscardRectangles:    [^]Rect2D,
+}
+
+PhysicalDeviceConservativeRasterizationPropertiesEXT :: struct {
+	sType:                                       StructureType,
+	pNext:                                       rawptr,
+	primitiveOverestimationSize:                 f32,
+	maxExtraPrimitiveOverestimationSize:         f32,
+	extraPrimitiveOverestimationSizeGranularity: f32,
+	primitiveUnderestimation:                    b32,
+	conservativePointAndLineRasterization:       b32,
+	degenerateTrianglesRasterized:               b32,
+	degenerateLinesRasterized:                   b32,
+	fullyCoveredFragmentShaderInputVariable:     b32,
+	conservativeRasterizationPostDepthCoverage:  b32,
+}
+
+PipelineRasterizationConservativeStateCreateInfoEXT :: struct {
+	sType:                            StructureType,
+	pNext:                            rawptr,
+	flags:                            PipelineRasterizationConservativeStateCreateFlagsEXT,
+	conservativeRasterizationMode:    ConservativeRasterizationModeEXT,
+	extraPrimitiveOverestimationSize: f32,
+}
+
+PhysicalDeviceDepthClipEnableFeaturesEXT :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	depthClipEnable: b32,
+}
+
+PipelineRasterizationDepthClipStateCreateInfoEXT :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	flags:           PipelineRasterizationDepthClipStateCreateFlagsEXT,
+	depthClipEnable: b32,
+}
+
+XYColorEXT :: struct {
+	x: f32,
+	y: f32,
+}
+
+HdrMetadataEXT :: struct {
+	sType:                     StructureType,
+	pNext:                     rawptr,
+	displayPrimaryRed:         XYColorEXT,
+	displayPrimaryGreen:       XYColorEXT,
+	displayPrimaryBlue:        XYColorEXT,
+	whitePoint:                XYColorEXT,
+	maxLuminance:              f32,
+	minLuminance:              f32,
+	maxContentLightLevel:      f32,
+	maxFrameAverageLightLevel: f32,
+}
+
+DebugUtilsLabelEXT :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	pLabelName: cstring,
+	color:      [4]f32,
+}
+
+DebugUtilsObjectNameInfoEXT :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	objectType:   ObjectType,
+	objectHandle: u64,
+	pObjectName:  cstring,
+}
+
+DebugUtilsMessengerCallbackDataEXT :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	flags:            DebugUtilsMessengerCallbackDataFlagsEXT,
+	pMessageIdName:   cstring,
+	messageIdNumber:  i32,
+	pMessage:         cstring,
+	queueLabelCount:  u32,
+	pQueueLabels:     [^]DebugUtilsLabelEXT,
+	cmdBufLabelCount: u32,
+	pCmdBufLabels:    [^]DebugUtilsLabelEXT,
+	objectCount:      u32,
+	pObjects:         [^]DebugUtilsObjectNameInfoEXT,
+}
+
+DebugUtilsMessengerCreateInfoEXT :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	flags:           DebugUtilsMessengerCreateFlagsEXT,
+	messageSeverity: DebugUtilsMessageSeverityFlagsEXT,
+	messageType:     DebugUtilsMessageTypeFlagsEXT,
+	pfnUserCallback: ProcDebugUtilsMessengerCallbackEXT,
+	pUserData:       rawptr,
+}
+
+DebugUtilsObjectTagInfoEXT :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	objectType:   ObjectType,
+	objectHandle: u64,
+	tagName:      u64,
+	tagSize:      int,
+	pTag:         rawptr,
+}
+
+SampleLocationEXT :: struct {
+	x: f32,
+	y: f32,
+}
+
+SampleLocationsInfoEXT :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	sampleLocationsPerPixel: SampleCountFlags,
+	sampleLocationGridSize:  Extent2D,
+	sampleLocationsCount:    u32,
+	pSampleLocations:        [^]SampleLocationEXT,
+}
+
+AttachmentSampleLocationsEXT :: struct {
+	attachmentIndex:     u32,
+	sampleLocationsInfo: SampleLocationsInfoEXT,
+}
+
+SubpassSampleLocationsEXT :: struct {
+	subpassIndex:        u32,
+	sampleLocationsInfo: SampleLocationsInfoEXT,
+}
+
+RenderPassSampleLocationsBeginInfoEXT :: struct {
+	sType:                                 StructureType,
+	pNext:                                 rawptr,
+	attachmentInitialSampleLocationsCount: u32,
+	pAttachmentInitialSampleLocations:     [^]AttachmentSampleLocationsEXT,
+	postSubpassSampleLocationsCount:       u32,
+	pPostSubpassSampleLocations:           [^]SubpassSampleLocationsEXT,
+}
+
+PipelineSampleLocationsStateCreateInfoEXT :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	sampleLocationsEnable: b32,
+	sampleLocationsInfo:   SampleLocationsInfoEXT,
+}
+
+PhysicalDeviceSampleLocationsPropertiesEXT :: struct {
+	sType:                         StructureType,
+	pNext:                         rawptr,
+	sampleLocationSampleCounts:    SampleCountFlags,
+	maxSampleLocationGridSize:     Extent2D,
+	sampleLocationCoordinateRange: [2]f32,
+	sampleLocationSubPixelBits:    u32,
+	variableSampleLocations:       b32,
+}
+
+MultisamplePropertiesEXT :: struct {
+	sType:                     StructureType,
+	pNext:                     rawptr,
+	maxSampleLocationGridSize: Extent2D,
+}
+
+PhysicalDeviceBlendOperationAdvancedFeaturesEXT :: struct {
+	sType:                           StructureType,
+	pNext:                           rawptr,
+	advancedBlendCoherentOperations: b32,
+}
+
+PhysicalDeviceBlendOperationAdvancedPropertiesEXT :: struct {
+	sType:                                 StructureType,
+	pNext:                                 rawptr,
+	advancedBlendMaxColorAttachments:      u32,
+	advancedBlendIndependentBlend:         b32,
+	advancedBlendNonPremultipliedSrcColor: b32,
+	advancedBlendNonPremultipliedDstColor: b32,
+	advancedBlendCorrelatedOverlap:        b32,
+	advancedBlendAllOperations:            b32,
+}
+
+PipelineColorBlendAdvancedStateCreateInfoEXT :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	srcPremultiplied: b32,
+	dstPremultiplied: b32,
+	blendOverlap:     BlendOverlapEXT,
+}
+
+PipelineCoverageToColorStateCreateInfoNV :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	flags:                   PipelineCoverageToColorStateCreateFlagsNV,
+	coverageToColorEnable:   b32,
+	coverageToColorLocation: u32,
+}
+
+PipelineCoverageModulationStateCreateInfoNV :: struct {
+	sType:                         StructureType,
+	pNext:                         rawptr,
+	flags:                         PipelineCoverageModulationStateCreateFlagsNV,
+	coverageModulationMode:        CoverageModulationModeNV,
+	coverageModulationTableEnable: b32,
+	coverageModulationTableCount:  u32,
+	pCoverageModulationTable:      [^]f32,
+}
+
+PhysicalDeviceShaderSMBuiltinsPropertiesNV :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	shaderSMCount:    u32,
+	shaderWarpsPerSM: u32,
+}
+
+PhysicalDeviceShaderSMBuiltinsFeaturesNV :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	shaderSMBuiltins: b32,
+}
+
+DrmFormatModifierPropertiesEXT :: struct {
+	drmFormatModifier:               u64,
+	drmFormatModifierPlaneCount:     u32,
+	drmFormatModifierTilingFeatures: FormatFeatureFlags,
+}
+
+DrmFormatModifierPropertiesListEXT :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	drmFormatModifierCount:       u32,
+	pDrmFormatModifierProperties: [^]DrmFormatModifierPropertiesEXT,
+}
+
+PhysicalDeviceImageDrmFormatModifierInfoEXT :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	drmFormatModifier:     u64,
+	sharingMode:           SharingMode,
+	queueFamilyIndexCount: u32,
+	pQueueFamilyIndices:   [^]u32,
+}
+
+ImageDrmFormatModifierListCreateInfoEXT :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	drmFormatModifierCount: u32,
+	pDrmFormatModifiers:    [^]u64,
+}
+
+ImageDrmFormatModifierExplicitCreateInfoEXT :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	drmFormatModifier:           u64,
+	drmFormatModifierPlaneCount: u32,
+	pPlaneLayouts:               [^]SubresourceLayout,
+}
+
+ImageDrmFormatModifierPropertiesEXT :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	drmFormatModifier: u64,
+}
+
+DrmFormatModifierProperties2EXT :: struct {
+	drmFormatModifier:               u64,
+	drmFormatModifierPlaneCount:     u32,
+	drmFormatModifierTilingFeatures: FormatFeatureFlags2,
+}
+
+DrmFormatModifierPropertiesList2EXT :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	drmFormatModifierCount:       u32,
+	pDrmFormatModifierProperties: [^]DrmFormatModifierProperties2EXT,
+}
+
+ValidationCacheCreateInfoEXT :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	flags:           ValidationCacheCreateFlagsEXT,
+	initialDataSize: int,
+	pInitialData:    rawptr,
+}
+
+ShaderModuleValidationCacheCreateInfoEXT :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	validationCache: ValidationCacheEXT,
+}
+
+ShadingRatePaletteNV :: struct {
+	shadingRatePaletteEntryCount: u32,
+	pShadingRatePaletteEntries:   [^]ShadingRatePaletteEntryNV,
+}
+
+PipelineViewportShadingRateImageStateCreateInfoNV :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	shadingRateImageEnable: b32,
+	viewportCount:          u32,
+	pShadingRatePalettes:   [^]ShadingRatePaletteNV,
+}
+
+PhysicalDeviceShadingRateImageFeaturesNV :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	shadingRateImage:             b32,
+	shadingRateCoarseSampleOrder: b32,
+}
+
+PhysicalDeviceShadingRateImagePropertiesNV :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	shadingRateTexelSize:        Extent2D,
+	shadingRatePaletteSize:      u32,
+	shadingRateMaxCoarseSamples: u32,
+}
+
+CoarseSampleLocationNV :: struct {
+	pixelX: u32,
+	pixelY: u32,
+	sample: u32,
+}
+
+CoarseSampleOrderCustomNV :: struct {
+	shadingRate:         ShadingRatePaletteEntryNV,
+	sampleCount:         u32,
+	sampleLocationCount: u32,
+	pSampleLocations:    [^]CoarseSampleLocationNV,
+}
+
+PipelineViewportCoarseSampleOrderStateCreateInfoNV :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	sampleOrderType:        CoarseSampleOrderTypeNV,
+	customSampleOrderCount: u32,
+	pCustomSampleOrders:    [^]CoarseSampleOrderCustomNV,
+}
+
+RayTracingShaderGroupCreateInfoNV :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	type:               RayTracingShaderGroupTypeKHR,
+	generalShader:      u32,
+	closestHitShader:   u32,
+	anyHitShader:       u32,
+	intersectionShader: u32,
+}
+
+RayTracingPipelineCreateInfoNV :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	flags:              PipelineCreateFlags,
+	stageCount:         u32,
+	pStages:            [^]PipelineShaderStageCreateInfo,
+	groupCount:         u32,
+	pGroups:            [^]RayTracingShaderGroupCreateInfoNV,
+	maxRecursionDepth:  u32,
+	layout:             PipelineLayout,
+	basePipelineHandle: Pipeline,
+	basePipelineIndex:  i32,
+}
+
+GeometryTrianglesNV :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	vertexData:      Buffer,
+	vertexOffset:    DeviceSize,
+	vertexCount:     u32,
+	vertexStride:    DeviceSize,
+	vertexFormat:    Format,
+	indexData:       Buffer,
+	indexOffset:     DeviceSize,
+	indexCount:      u32,
+	indexType:       IndexType,
+	transformData:   Buffer,
+	transformOffset: DeviceSize,
+}
+
+GeometryAABBNV :: struct {
+	sType:    StructureType,
+	pNext:    rawptr,
+	aabbData: Buffer,
+	numAABBs: u32,
+	stride:   u32,
+	offset:   DeviceSize,
+}
+
+GeometryDataNV :: struct {
+	triangles: GeometryTrianglesNV,
+	aabbs:     GeometryAABBNV,
+}
+
+GeometryNV :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	geometryType: GeometryTypeKHR,
+	geometry:     GeometryDataNV,
+	flags:        GeometryFlagsKHR,
+}
+
+AccelerationStructureInfoNV :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	type:          AccelerationStructureTypeNV,
+	flags:         BuildAccelerationStructureFlagsNV,
+	instanceCount: u32,
+	geometryCount: u32,
+	pGeometries:   [^]GeometryNV,
+}
+
+AccelerationStructureCreateInfoNV :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	compactedSize: DeviceSize,
+	info:          AccelerationStructureInfoNV,
+}
+
+BindAccelerationStructureMemoryInfoNV :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	accelerationStructure: AccelerationStructureNV,
+	memory:                DeviceMemory,
+	memoryOffset:          DeviceSize,
+	deviceIndexCount:      u32,
+	pDeviceIndices:        [^]u32,
+}
+
+WriteDescriptorSetAccelerationStructureNV :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	accelerationStructureCount: u32,
+	pAccelerationStructures:    [^]AccelerationStructureNV,
+}
+
+AccelerationStructureMemoryRequirementsInfoNV :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	type:                  AccelerationStructureMemoryRequirementsTypeNV,
+	accelerationStructure: AccelerationStructureNV,
+}
+
+PhysicalDeviceRayTracingPropertiesNV :: struct {
+	sType:                                  StructureType,
+	pNext:                                  rawptr,
+	shaderGroupHandleSize:                  u32,
+	maxRecursionDepth:                      u32,
+	maxShaderGroupStride:                   u32,
+	shaderGroupBaseAlignment:               u32,
+	maxGeometryCount:                       u64,
+	maxInstanceCount:                       u64,
+	maxTriangleCount:                       u64,
+	maxDescriptorSetAccelerationStructures: u32,
+}
+
+TransformMatrixKHR :: struct {
+	mat: [3][4]f32,
+}
+
+AabbPositionsKHR :: struct {
+	minX: f32,
+	minY: f32,
+	minZ: f32,
+	maxX: f32,
+	maxY: f32,
+	maxZ: f32,
+}
+
+AccelerationStructureInstanceKHR :: struct {
+	transform:                      TransformMatrixKHR,
+	accelerationStructureReference: u64,
+}
+
+PhysicalDeviceRepresentativeFragmentTestFeaturesNV :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	representativeFragmentTest: b32,
+}
+
+PipelineRepresentativeFragmentTestStateCreateInfoNV :: struct {
+	sType:                            StructureType,
+	pNext:                            rawptr,
+	representativeFragmentTestEnable: b32,
+}
+
+PhysicalDeviceImageViewImageFormatInfoEXT :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	imageViewType: ImageViewType,
+}
+
+FilterCubicImageViewImageFormatPropertiesEXT :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	filterCubic:       b32,
+	filterCubicMinmax: b32,
+}
+
+ImportMemoryHostPointerInfoEXT :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	handleType:   ExternalMemoryHandleTypeFlags,
+	pHostPointer: rawptr,
+}
+
+MemoryHostPointerPropertiesEXT :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	memoryTypeBits: u32,
+}
+
+PhysicalDeviceExternalMemoryHostPropertiesEXT :: struct {
+	sType:                           StructureType,
+	pNext:                           rawptr,
+	minImportedHostPointerAlignment: DeviceSize,
+}
+
+PipelineCompilerControlCreateInfoAMD :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	compilerControlFlags: PipelineCompilerControlFlagsAMD,
+}
+
+CalibratedTimestampInfoEXT :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	timeDomain: TimeDomainEXT,
+}
+
+PhysicalDeviceShaderCorePropertiesAMD :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	shaderEngineCount:          u32,
+	shaderArraysPerEngineCount: u32,
+	computeUnitsPerShaderArray: u32,
+	simdPerComputeUnit:         u32,
+	wavefrontsPerSimd:          u32,
+	wavefrontSize:              u32,
+	sgprsPerSimd:               u32,
+	minSgprAllocation:          u32,
+	maxSgprAllocation:          u32,
+	sgprAllocationGranularity:  u32,
+	vgprsPerSimd:               u32,
+	minVgprAllocation:          u32,
+	maxVgprAllocation:          u32,
+	vgprAllocationGranularity:  u32,
+}
+
+DeviceMemoryOverallocationCreateInfoAMD :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	overallocationBehavior: MemoryOverallocationBehaviorAMD,
+}
+
+PhysicalDeviceVertexAttributeDivisorPropertiesEXT :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	maxVertexAttribDivisor: u32,
+}
+
+VertexInputBindingDivisorDescriptionEXT :: struct {
+	binding: u32,
+	divisor: u32,
+}
+
+PipelineVertexInputDivisorStateCreateInfoEXT :: struct {
+	sType:                     StructureType,
+	pNext:                     rawptr,
+	vertexBindingDivisorCount: u32,
+	pVertexBindingDivisors:    [^]VertexInputBindingDivisorDescriptionEXT,
+}
+
+PhysicalDeviceVertexAttributeDivisorFeaturesEXT :: struct {
+	sType:                                  StructureType,
+	pNext:                                  rawptr,
+	vertexAttributeInstanceRateDivisor:     b32,
+	vertexAttributeInstanceRateZeroDivisor: b32,
+}
+
+PhysicalDeviceComputeShaderDerivativesFeaturesNV :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	computeDerivativeGroupQuads:  b32,
+	computeDerivativeGroupLinear: b32,
+}
+
+PhysicalDeviceMeshShaderFeaturesNV :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	taskShader: b32,
+	meshShader: b32,
+}
+
+PhysicalDeviceMeshShaderPropertiesNV :: struct {
+	sType:                             StructureType,
+	pNext:                             rawptr,
+	maxDrawMeshTasksCount:             u32,
+	maxTaskWorkGroupInvocations:       u32,
+	maxTaskWorkGroupSize:              [3]u32,
+	maxTaskTotalMemorySize:            u32,
+	maxTaskOutputCount:                u32,
+	maxMeshWorkGroupInvocations:       u32,
+	maxMeshWorkGroupSize:              [3]u32,
+	maxMeshTotalMemorySize:            u32,
+	maxMeshOutputVertices:             u32,
+	maxMeshOutputPrimitives:           u32,
+	maxMeshMultiviewViewCount:         u32,
+	meshOutputPerVertexGranularity:    u32,
+	meshOutputPerPrimitiveGranularity: u32,
+}
+
+DrawMeshTasksIndirectCommandNV :: struct {
+	taskCount: u32,
+	firstTask: u32,
+}
+
+PhysicalDeviceFragmentShaderBarycentricFeaturesNV :: struct {
+	sType:                     StructureType,
+	pNext:                     rawptr,
+	fragmentShaderBarycentric: b32,
+}
+
+PhysicalDeviceShaderImageFootprintFeaturesNV :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	imageFootprint: b32,
+}
+
+PipelineViewportExclusiveScissorStateCreateInfoNV :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	exclusiveScissorCount: u32,
+	pExclusiveScissors:    [^]Rect2D,
+}
+
+PhysicalDeviceExclusiveScissorFeaturesNV :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	exclusiveScissor: b32,
+}
+
+QueueFamilyCheckpointPropertiesNV :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	checkpointExecutionStageMask: PipelineStageFlags,
+}
+
+CheckpointDataNV :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	stage:             PipelineStageFlags,
+	pCheckpointMarker: rawptr,
+}
+
+PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	shaderIntegerFunctions2: b32,
+}
+
+PerformanceValueDataINTEL :: struct #raw_union {
+	value32:     u32,
+	value64:     u64,
+	valueFloat:  f32,
+	valueBool:   b32,
+	valueString: cstring,
+}
+
+PerformanceValueINTEL :: struct {
+	type: PerformanceValueTypeINTEL,
+	data: PerformanceValueDataINTEL,
+}
+
+InitializePerformanceApiInfoINTEL :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	pUserData: rawptr,
+}
+
+QueryPoolPerformanceQueryCreateInfoINTEL :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	performanceCountersSampling: QueryPoolSamplingModeINTEL,
+}
+
+PerformanceMarkerInfoINTEL :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	marker: u64,
+}
+
+PerformanceStreamMarkerInfoINTEL :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	marker: u32,
+}
+
+PerformanceOverrideInfoINTEL :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	type:      PerformanceOverrideTypeINTEL,
+	enable:    b32,
+	parameter: u64,
+}
+
+PerformanceConfigurationAcquireInfoINTEL :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	type:  PerformanceConfigurationTypeINTEL,
+}
+
+PhysicalDevicePCIBusInfoPropertiesEXT :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	pciDomain:   u32,
+	pciBus:      u32,
+	pciDevice:   u32,
+	pciFunction: u32,
+}
+
+DisplayNativeHdrSurfaceCapabilitiesAMD :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	localDimmingSupport: b32,
+}
+
+SwapchainDisplayNativeHdrCreateInfoAMD :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	localDimmingEnable: b32,
+}
+
+PhysicalDeviceFragmentDensityMapFeaturesEXT :: struct {
+	sType:                                 StructureType,
+	pNext:                                 rawptr,
+	fragmentDensityMap:                    b32,
+	fragmentDensityMapDynamic:             b32,
+	fragmentDensityMapNonSubsampledImages: b32,
+}
+
+PhysicalDeviceFragmentDensityMapPropertiesEXT :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	minFragmentDensityTexelSize: Extent2D,
+	maxFragmentDensityTexelSize: Extent2D,
+	fragmentDensityInvocations:  b32,
+}
+
+RenderPassFragmentDensityMapCreateInfoEXT :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	fragmentDensityMapAttachment: AttachmentReference,
+}
+
+PhysicalDeviceShaderCoreProperties2AMD :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	shaderCoreFeatures:     ShaderCorePropertiesFlagsAMD,
+	activeComputeUnitCount: u32,
+}
+
+PhysicalDeviceCoherentMemoryFeaturesAMD :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	deviceCoherentMemory: b32,
+}
+
+PhysicalDeviceShaderImageAtomicInt64FeaturesEXT :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	shaderImageInt64Atomics: b32,
+	sparseImageInt64Atomics: b32,
+}
+
+PhysicalDeviceMemoryBudgetPropertiesEXT :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	heapBudget: [MAX_MEMORY_HEAPS]DeviceSize,
+	heapUsage:  [MAX_MEMORY_HEAPS]DeviceSize,
+}
+
+PhysicalDeviceMemoryPriorityFeaturesEXT :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	memoryPriority: b32,
+}
+
+MemoryPriorityAllocateInfoEXT :: struct {
+	sType:    StructureType,
+	pNext:    rawptr,
+	priority: f32,
+}
+
+PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV :: struct {
+	sType:                            StructureType,
+	pNext:                            rawptr,
+	dedicatedAllocationImageAliasing: b32,
+}
+
+PhysicalDeviceBufferDeviceAddressFeaturesEXT :: struct {
+	sType:                            StructureType,
+	pNext:                            rawptr,
+	bufferDeviceAddress:              b32,
+	bufferDeviceAddressCaptureReplay: b32,
+	bufferDeviceAddressMultiDevice:   b32,
+}
+
+BufferDeviceAddressCreateInfoEXT :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	deviceAddress: DeviceAddress,
+}
+
+ValidationFeaturesEXT :: struct {
+	sType:                          StructureType,
+	pNext:                          rawptr,
+	enabledValidationFeatureCount:  u32,
+	pEnabledValidationFeatures:     [^]ValidationFeatureEnableEXT,
+	disabledValidationFeatureCount: u32,
+	pDisabledValidationFeatures:    [^]ValidationFeatureDisableEXT,
+}
+
+CooperativeMatrixPropertiesNV :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	MSize: u32,
+	NSize: u32,
+	KSize: u32,
+	AType: ComponentTypeNV,
+	BType: ComponentTypeNV,
+	CType: ComponentTypeNV,
+	DType: ComponentTypeNV,
+	scope: ScopeNV,
+}
+
+PhysicalDeviceCooperativeMatrixFeaturesNV :: struct {
+	sType:                               StructureType,
+	pNext:                               rawptr,
+	cooperativeMatrix:                   b32,
+	cooperativeMatrixRobustBufferAccess: b32,
+}
+
+PhysicalDeviceCooperativeMatrixPropertiesNV :: struct {
+	sType:                            StructureType,
+	pNext:                            rawptr,
+	cooperativeMatrixSupportedStages: ShaderStageFlags,
+}
+
+PhysicalDeviceCoverageReductionModeFeaturesNV :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	coverageReductionMode: b32,
+}
+
+PipelineCoverageReductionStateCreateInfoNV :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	flags:                 PipelineCoverageReductionStateCreateFlagsNV,
+	coverageReductionMode: CoverageReductionModeNV,
+}
+
+FramebufferMixedSamplesCombinationNV :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	coverageReductionMode: CoverageReductionModeNV,
+	rasterizationSamples:  SampleCountFlags,
+	depthStencilSamples:   SampleCountFlags,
+	colorSamples:          SampleCountFlags,
+}
+
+PhysicalDeviceFragmentShaderInterlockFeaturesEXT :: struct {
+	sType:                              StructureType,
+	pNext:                              rawptr,
+	fragmentShaderSampleInterlock:      b32,
+	fragmentShaderPixelInterlock:       b32,
+	fragmentShaderShadingRateInterlock: b32,
+}
+
+PhysicalDeviceYcbcrImageArraysFeaturesEXT :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	ycbcrImageArrays: b32,
+}
+
+PhysicalDeviceProvokingVertexFeaturesEXT :: struct {
+	sType:                                     StructureType,
+	pNext:                                     rawptr,
+	provokingVertexLast:                       b32,
+	transformFeedbackPreservesProvokingVertex: b32,
+}
+
+PhysicalDeviceProvokingVertexPropertiesEXT :: struct {
+	sType:                                                StructureType,
+	pNext:                                                rawptr,
+	provokingVertexModePerPipeline:                       b32,
+	transformFeedbackPreservesTriangleFanProvokingVertex: b32,
+}
+
+PipelineRasterizationProvokingVertexStateCreateInfoEXT :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	provokingVertexMode: ProvokingVertexModeEXT,
+}
+
+HeadlessSurfaceCreateInfoEXT :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	flags: HeadlessSurfaceCreateFlagsEXT,
+}
+
+PhysicalDeviceLineRasterizationFeaturesEXT :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	rectangularLines:         b32,
+	bresenhamLines:           b32,
+	smoothLines:              b32,
+	stippledRectangularLines: b32,
+	stippledBresenhamLines:   b32,
+	stippledSmoothLines:      b32,
+}
+
+PhysicalDeviceLineRasterizationPropertiesEXT :: struct {
+	sType:                     StructureType,
+	pNext:                     rawptr,
+	lineSubPixelPrecisionBits: u32,
+}
+
+PipelineRasterizationLineStateCreateInfoEXT :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	lineRasterizationMode: LineRasterizationModeEXT,
+	stippledLineEnable:    b32,
+	lineStippleFactor:     u32,
+	lineStipplePattern:    u16,
+}
+
+PhysicalDeviceShaderAtomicFloatFeaturesEXT :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	shaderBufferFloat32Atomics:   b32,
+	shaderBufferFloat32AtomicAdd: b32,
+	shaderBufferFloat64Atomics:   b32,
+	shaderBufferFloat64AtomicAdd: b32,
+	shaderSharedFloat32Atomics:   b32,
+	shaderSharedFloat32AtomicAdd: b32,
+	shaderSharedFloat64Atomics:   b32,
+	shaderSharedFloat64AtomicAdd: b32,
+	shaderImageFloat32Atomics:    b32,
+	shaderImageFloat32AtomicAdd:  b32,
+	sparseImageFloat32Atomics:    b32,
+	sparseImageFloat32AtomicAdd:  b32,
+}
+
+PhysicalDeviceIndexTypeUint8FeaturesEXT :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	indexTypeUint8: b32,
+}
+
+PhysicalDeviceExtendedDynamicStateFeaturesEXT :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	extendedDynamicState: b32,
+}
+
+PhysicalDeviceShaderAtomicFloat2FeaturesEXT :: struct {
+	sType:                           StructureType,
+	pNext:                           rawptr,
+	shaderBufferFloat16Atomics:      b32,
+	shaderBufferFloat16AtomicAdd:    b32,
+	shaderBufferFloat16AtomicMinMax: b32,
+	shaderBufferFloat32AtomicMinMax: b32,
+	shaderBufferFloat64AtomicMinMax: b32,
+	shaderSharedFloat16Atomics:      b32,
+	shaderSharedFloat16AtomicAdd:    b32,
+	shaderSharedFloat16AtomicMinMax: b32,
+	shaderSharedFloat32AtomicMinMax: b32,
+	shaderSharedFloat64AtomicMinMax: b32,
+	shaderImageFloat32AtomicMinMax:  b32,
+	sparseImageFloat32AtomicMinMax:  b32,
+}
+
+PhysicalDeviceDeviceGeneratedCommandsPropertiesNV :: struct {
+	sType:                                    StructureType,
+	pNext:                                    rawptr,
+	maxGraphicsShaderGroupCount:              u32,
+	maxIndirectSequenceCount:                 u32,
+	maxIndirectCommandsTokenCount:            u32,
+	maxIndirectCommandsStreamCount:           u32,
+	maxIndirectCommandsTokenOffset:           u32,
+	maxIndirectCommandsStreamStride:          u32,
+	minSequencesCountBufferOffsetAlignment:   u32,
+	minSequencesIndexBufferOffsetAlignment:   u32,
+	minIndirectCommandsBufferOffsetAlignment: u32,
+}
+
+PhysicalDeviceDeviceGeneratedCommandsFeaturesNV :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	deviceGeneratedCommands: b32,
+}
+
+GraphicsShaderGroupCreateInfoNV :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	stageCount:         u32,
+	pStages:            [^]PipelineShaderStageCreateInfo,
+	pVertexInputState:  ^PipelineVertexInputStateCreateInfo,
+	pTessellationState: ^PipelineTessellationStateCreateInfo,
+}
+
+GraphicsPipelineShaderGroupsCreateInfoNV :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	groupCount:    u32,
+	pGroups:       [^]GraphicsShaderGroupCreateInfoNV,
+	pipelineCount: u32,
+	pPipelines:    [^]Pipeline,
+}
+
+BindShaderGroupIndirectCommandNV :: struct {
+	groupIndex: u32,
+}
+
+BindIndexBufferIndirectCommandNV :: struct {
+	bufferAddress: DeviceAddress,
+	size:          u32,
+	indexType:     IndexType,
+}
+
+BindVertexBufferIndirectCommandNV :: struct {
+	bufferAddress: DeviceAddress,
+	size:          u32,
+	stride:        u32,
+}
+
+SetStateFlagsIndirectCommandNV :: struct {
+	data: u32,
+}
+
+IndirectCommandsStreamNV :: struct {
+	buffer: Buffer,
+	offset: DeviceSize,
+}
+
+IndirectCommandsLayoutTokenNV :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	tokenType:                    IndirectCommandsTokenTypeNV,
+	stream:                       u32,
+	offset:                       u32,
+	vertexBindingUnit:            u32,
+	vertexDynamicStride:          b32,
+	pushconstantPipelineLayout:   PipelineLayout,
+	pushconstantShaderStageFlags: ShaderStageFlags,
+	pushconstantOffset:           u32,
+	pushconstantSize:             u32,
+	indirectStateFlags:           IndirectStateFlagsNV,
+	indexTypeCount:               u32,
+	pIndexTypes:                  [^]IndexType,
+	pIndexTypeValues:             [^]u32,
+}
+
+IndirectCommandsLayoutCreateInfoNV :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	flags:             IndirectCommandsLayoutUsageFlagsNV,
+	pipelineBindPoint: PipelineBindPoint,
+	tokenCount:        u32,
+	pTokens:           [^]IndirectCommandsLayoutTokenNV,
+	streamCount:       u32,
+	pStreamStrides:    [^]u32,
+}
+
+GeneratedCommandsInfoNV :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	pipelineBindPoint:      PipelineBindPoint,
+	pipeline:               Pipeline,
+	indirectCommandsLayout: IndirectCommandsLayoutNV,
+	streamCount:            u32,
+	pStreams:               [^]IndirectCommandsStreamNV,
+	sequencesCount:         u32,
+	preprocessBuffer:       Buffer,
+	preprocessOffset:       DeviceSize,
+	preprocessSize:         DeviceSize,
+	sequencesCountBuffer:   Buffer,
+	sequencesCountOffset:   DeviceSize,
+	sequencesIndexBuffer:   Buffer,
+	sequencesIndexOffset:   DeviceSize,
+}
+
+GeneratedCommandsMemoryRequirementsInfoNV :: struct {
+	sType:                  StructureType,
+	pNext:                  rawptr,
+	pipelineBindPoint:      PipelineBindPoint,
+	pipeline:               Pipeline,
+	indirectCommandsLayout: IndirectCommandsLayoutNV,
+	maxSequencesCount:      u32,
+}
+
+PhysicalDeviceInheritedViewportScissorFeaturesNV :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	inheritedViewportScissor2D: b32,
+}
+
+CommandBufferInheritanceViewportScissorInfoNV :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	viewportScissor2D:  b32,
+	viewportDepthCount: u32,
+	pViewportDepths:    [^]Viewport,
+}
+
+PhysicalDeviceTexelBufferAlignmentFeaturesEXT :: struct {
+	sType:                StructureType,
+	pNext:                rawptr,
+	texelBufferAlignment: b32,
+}
+
+RenderPassTransformBeginInfoQCOM :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	transform: SurfaceTransformFlagsKHR,
+}
+
+CommandBufferInheritanceRenderPassTransformInfoQCOM :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	transform:  SurfaceTransformFlagsKHR,
+	renderArea: Rect2D,
+}
+
+PhysicalDeviceDeviceMemoryReportFeaturesEXT :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	deviceMemoryReport: b32,
+}
+
+DeviceMemoryReportCallbackDataEXT :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	flags:          DeviceMemoryReportFlagsEXT,
+	type:           DeviceMemoryReportEventTypeEXT,
+	memoryObjectId: u64,
+	size:           DeviceSize,
+	objectType:     ObjectType,
+	objectHandle:   u64,
+	heapIndex:      u32,
+}
+
+DeviceDeviceMemoryReportCreateInfoEXT :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	flags:           DeviceMemoryReportFlagsEXT,
+	pfnUserCallback: ProcDeviceMemoryReportCallbackEXT,
+	pUserData:       rawptr,
+}
+
+PhysicalDeviceRobustness2FeaturesEXT :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	robustBufferAccess2: b32,
+	robustImageAccess2:  b32,
+	nullDescriptor:      b32,
+}
+
+PhysicalDeviceRobustness2PropertiesEXT :: struct {
+	sType:                                  StructureType,
+	pNext:                                  rawptr,
+	robustStorageBufferAccessSizeAlignment: DeviceSize,
+	robustUniformBufferAccessSizeAlignment: DeviceSize,
+}
+
+SamplerCustomBorderColorCreateInfoEXT :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	customBorderColor: ClearColorValue,
+	format:            Format,
+}
+
+PhysicalDeviceCustomBorderColorPropertiesEXT :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	maxCustomBorderColorSamplers: u32,
+}
+
+PhysicalDeviceCustomBorderColorFeaturesEXT :: struct {
+	sType:                          StructureType,
+	pNext:                          rawptr,
+	customBorderColors:             b32,
+	customBorderColorWithoutFormat: b32,
+}
+
+PhysicalDeviceDiagnosticsConfigFeaturesNV :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	diagnosticsConfig: b32,
+}
+
+DeviceDiagnosticsConfigCreateInfoNV :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	flags: DeviceDiagnosticsConfigFlagsNV,
+}
+
+PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	graphicsPipelineLibrary: b32,
+}
+
+PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT :: struct {
+	sType:                                                     StructureType,
+	pNext:                                                     rawptr,
+	graphicsPipelineLibraryFastLinking:                        b32,
+	graphicsPipelineLibraryIndependentInterpolationDecoration: b32,
+}
+
+GraphicsPipelineLibraryCreateInfoEXT :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	flags: GraphicsPipelineLibraryFlagsEXT,
+}
+
+PhysicalDeviceFragmentShadingRateEnumsFeaturesNV :: struct {
+	sType:                            StructureType,
+	pNext:                            rawptr,
+	fragmentShadingRateEnums:         b32,
+	supersampleFragmentShadingRates:  b32,
+	noInvocationFragmentShadingRates: b32,
+}
+
+PhysicalDeviceFragmentShadingRateEnumsPropertiesNV :: struct {
+	sType:                                 StructureType,
+	pNext:                                 rawptr,
+	maxFragmentShadingRateInvocationCount: SampleCountFlags,
+}
+
+PipelineFragmentShadingRateEnumStateCreateInfoNV :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	shadingRateType: FragmentShadingRateTypeNV,
+	shadingRate:     FragmentShadingRateNV,
+	combinerOps:     [2]FragmentShadingRateCombinerOpKHR,
+}
+
+DeviceOrHostAddressConstKHR :: struct #raw_union {
+	deviceAddress: DeviceAddress,
+	hostAddress:   rawptr,
+}
+
+AccelerationStructureGeometryMotionTrianglesDataNV :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	vertexData: DeviceOrHostAddressConstKHR,
+}
+
+AccelerationStructureMotionInfoNV :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	maxInstances: u32,
+	flags:        AccelerationStructureMotionInfoFlagsNV,
+}
+
+AccelerationStructureMatrixMotionInstanceNV :: struct {
+	transformT0:                    TransformMatrixKHR,
+	transformT1:                    TransformMatrixKHR,
+	accelerationStructureReference: u64,
+}
+
+SRTDataNV :: struct {
+	sx:  f32,
+	a:   f32,
+	b:   f32,
+	pvx: f32,
+	sy:  f32,
+	c:   f32,
+	pvy: f32,
+	sz:  f32,
+	pvz: f32,
+	qx:  f32,
+	qy:  f32,
+	qz:  f32,
+	qw:  f32,
+	tx:  f32,
+	ty:  f32,
+	tz:  f32,
+}
+
+AccelerationStructureSRTMotionInstanceNV :: struct {
+	transformT0:                    SRTDataNV,
+	transformT1:                    SRTDataNV,
+	accelerationStructureReference: u64,
+}
+
+AccelerationStructureMotionInstanceDataNV :: struct #raw_union {
+	staticInstance:       AccelerationStructureInstanceKHR,
+	matrixMotionInstance: AccelerationStructureMatrixMotionInstanceNV,
+	srtMotionInstance:    AccelerationStructureSRTMotionInstanceNV,
+}
+
+AccelerationStructureMotionInstanceNV :: struct {
+	type:  AccelerationStructureMotionInstanceTypeNV,
+	flags: AccelerationStructureMotionInstanceFlagsNV,
+	data:  AccelerationStructureMotionInstanceDataNV,
+}
+
+PhysicalDeviceRayTracingMotionBlurFeaturesNV :: struct {
+	sType:                                         StructureType,
+	pNext:                                         rawptr,
+	rayTracingMotionBlur:                          b32,
+	rayTracingMotionBlurPipelineTraceRaysIndirect: b32,
+}
+
+PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	ycbcr2plane444Formats: b32,
+}
+
+PhysicalDeviceFragmentDensityMap2FeaturesEXT :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	fragmentDensityMapDeferred: b32,
+}
+
+PhysicalDeviceFragmentDensityMap2PropertiesEXT :: struct {
+	sType:                                     StructureType,
+	pNext:                                     rawptr,
+	subsampledLoads:                           b32,
+	subsampledCoarseReconstructionEarlyAccess: b32,
+	maxSubsampledArrayLayers:                  u32,
+	maxDescriptorSetSubsampledSamplers:        u32,
+}
+
+CopyCommandTransformInfoQCOM :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	transform: SurfaceTransformFlagsKHR,
+}
+
+PhysicalDevice4444FormatsFeaturesEXT :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	formatA4R4G4B4: b32,
+	formatA4B4G4R4: b32,
+}
+
+PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM :: struct {
+	sType:                                     StructureType,
+	pNext:                                     rawptr,
+	rasterizationOrderColorAttachmentAccess:   b32,
+	rasterizationOrderDepthAttachmentAccess:   b32,
+	rasterizationOrderStencilAttachmentAccess: b32,
+}
+
+PhysicalDeviceRGBA10X6FormatsFeaturesEXT :: struct {
+	sType:                             StructureType,
+	pNext:                             rawptr,
+	formatRgba10x6WithoutYCbCrSampler: b32,
+}
+
+PhysicalDeviceMutableDescriptorTypeFeaturesVALVE :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	mutableDescriptorType: b32,
+}
+
+MutableDescriptorTypeListVALVE :: struct {
+	descriptorTypeCount: u32,
+	pDescriptorTypes:    [^]DescriptorType,
+}
+
+MutableDescriptorTypeCreateInfoVALVE :: struct {
+	sType:                          StructureType,
+	pNext:                          rawptr,
+	mutableDescriptorTypeListCount: u32,
+	pMutableDescriptorTypeLists:    [^]MutableDescriptorTypeListVALVE,
+}
+
+PhysicalDeviceVertexInputDynamicStateFeaturesEXT :: struct {
+	sType:                   StructureType,
+	pNext:                   rawptr,
+	vertexInputDynamicState: b32,
+}
+
+VertexInputBindingDescription2EXT :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	binding:   u32,
+	stride:    u32,
+	inputRate: VertexInputRate,
+	divisor:   u32,
+}
+
+VertexInputAttributeDescription2EXT :: struct {
+	sType:    StructureType,
+	pNext:    rawptr,
+	location: u32,
+	binding:  u32,
+	format:   Format,
+	offset:   u32,
+}
+
+PhysicalDeviceDrmPropertiesEXT :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	hasPrimary:   b32,
+	hasRender:    b32,
+	primaryMajor: i64,
+	primaryMinor: i64,
+	renderMajor:  i64,
+	renderMinor:  i64,
+}
+
+PhysicalDeviceDepthClipControlFeaturesEXT :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	depthClipControl: b32,
+}
+
+PipelineViewportDepthClipControlCreateInfoEXT :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	negativeOneToOne: b32,
+}
+
+PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT :: struct {
+	sType:                             StructureType,
+	pNext:                             rawptr,
+	primitiveTopologyListRestart:      b32,
+	primitiveTopologyPatchListRestart: b32,
+}
+
+SubpassShadingPipelineCreateInfoHUAWEI :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	renderPass: RenderPass,
+	subpass:    u32,
+}
+
+PhysicalDeviceSubpassShadingFeaturesHUAWEI :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	subpassShading: b32,
+}
+
+PhysicalDeviceSubpassShadingPropertiesHUAWEI :: struct {
+	sType:                                     StructureType,
+	pNext:                                     rawptr,
+	maxSubpassShadingWorkgroupSizeAspectRatio: u32,
+}
+
+PhysicalDeviceInvocationMaskFeaturesHUAWEI :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	invocationMask: b32,
+}
+
+MemoryGetRemoteAddressInfoNV :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	memory:     DeviceMemory,
+	handleType: ExternalMemoryHandleTypeFlags,
+}
+
+PhysicalDeviceExternalMemoryRDMAFeaturesNV :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	externalMemoryRDMA: b32,
+}
+
+PhysicalDeviceExtendedDynamicState2FeaturesEXT :: struct {
+	sType:                                   StructureType,
+	pNext:                                   rawptr,
+	extendedDynamicState2:                   b32,
+	extendedDynamicState2LogicOp:            b32,
+	extendedDynamicState2PatchControlPoints: b32,
+}
+
+PhysicalDeviceColorWriteEnableFeaturesEXT :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	colorWriteEnable: b32,
+}
+
+PipelineColorWriteCreateInfoEXT :: struct {
+	sType:              StructureType,
+	pNext:              rawptr,
+	attachmentCount:    u32,
+	pColorWriteEnables: [^]b32,
+}
+
+PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT :: struct {
+	sType:                                         StructureType,
+	pNext:                                         rawptr,
+	primitivesGeneratedQuery:                      b32,
+	primitivesGeneratedQueryWithRasterizerDiscard: b32,
+	primitivesGeneratedQueryWithNonZeroStreams:    b32,
+}
+
+PhysicalDeviceImageViewMinLodFeaturesEXT :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	minLod: b32,
+}
+
+ImageViewMinLodCreateInfoEXT :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	minLod: f32,
+}
+
+PhysicalDeviceMultiDrawFeaturesEXT :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	multiDraw: b32,
+}
+
+PhysicalDeviceMultiDrawPropertiesEXT :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	maxMultiDrawCount: u32,
+}
+
+MultiDrawInfoEXT :: struct {
+	firstVertex: u32,
+	vertexCount: u32,
+}
+
+MultiDrawIndexedInfoEXT :: struct {
+	firstIndex:   u32,
+	indexCount:   u32,
+	vertexOffset: i32,
+}
+
+PhysicalDeviceImage2DViewOf3DFeaturesEXT :: struct {
+	sType:             StructureType,
+	pNext:             rawptr,
+	image2DViewOf3D:   b32,
+	sampler2DViewOf3D: b32,
+}
+
+PhysicalDeviceBorderColorSwizzleFeaturesEXT :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	borderColorSwizzle:          b32,
+	borderColorSwizzleFromImage: b32,
+}
+
+SamplerBorderColorComponentMappingCreateInfoEXT :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	components: ComponentMapping,
+	srgb:       b32,
+}
+
+PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT :: struct {
+	sType:                     StructureType,
+	pNext:                     rawptr,
+	pageableDeviceLocalMemory: b32,
+}
+
+PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	descriptorSetHostMapping: b32,
+}
+
+DescriptorSetBindingReferenceVALVE :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	descriptorSetLayout: DescriptorSetLayout,
+	binding:             u32,
+}
+
+DescriptorSetLayoutHostMappingInfoVALVE :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	descriptorOffset: int,
+	descriptorSize:   u32,
+}
+
+PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	fragmentDensityMapOffset: b32,
+}
+
+PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM :: struct {
+	sType:                            StructureType,
+	pNext:                            rawptr,
+	fragmentDensityOffsetGranularity: Extent2D,
+}
+
+SubpassFragmentDensityMapOffsetEndInfoQCOM :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	fragmentDensityOffsetCount: u32,
+	pFragmentDensityOffsets:    [^]Offset2D,
+}
+
+PhysicalDeviceLinearColorAttachmentFeaturesNV :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	linearColorAttachment: b32,
+}
+
+DeviceOrHostAddressKHR :: struct #raw_union {
+	deviceAddress: DeviceAddress,
+	hostAddress:   rawptr,
+}
+
+AccelerationStructureBuildRangeInfoKHR :: struct {
+	primitiveCount:  u32,
+	primitiveOffset: u32,
+	firstVertex:     u32,
+	transformOffset: u32,
+}
+
+AccelerationStructureGeometryTrianglesDataKHR :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	vertexFormat:  Format,
+	vertexData:    DeviceOrHostAddressConstKHR,
+	vertexStride:  DeviceSize,
+	maxVertex:     u32,
+	indexType:     IndexType,
+	indexData:     DeviceOrHostAddressConstKHR,
+	transformData: DeviceOrHostAddressConstKHR,
+}
+
+AccelerationStructureGeometryAabbsDataKHR :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	data:   DeviceOrHostAddressConstKHR,
+	stride: DeviceSize,
+}
+
+AccelerationStructureGeometryInstancesDataKHR :: struct {
+	sType:           StructureType,
+	pNext:           rawptr,
+	arrayOfPointers: b32,
+	data:            DeviceOrHostAddressConstKHR,
+}
+
+AccelerationStructureGeometryDataKHR :: struct #raw_union {
+	triangles: AccelerationStructureGeometryTrianglesDataKHR,
+	aabbs:     AccelerationStructureGeometryAabbsDataKHR,
+	instances: AccelerationStructureGeometryInstancesDataKHR,
+}
+
+AccelerationStructureGeometryKHR :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	geometryType: GeometryTypeKHR,
+	geometry:     AccelerationStructureGeometryDataKHR,
+	flags:        GeometryFlagsKHR,
+}
+
+AccelerationStructureBuildGeometryInfoKHR :: struct {
+	sType:                    StructureType,
+	pNext:                    rawptr,
+	type:                     AccelerationStructureTypeKHR,
+	flags:                    BuildAccelerationStructureFlagsKHR,
+	mode:                     BuildAccelerationStructureModeKHR,
+	srcAccelerationStructure: AccelerationStructureKHR,
+	dstAccelerationStructure: AccelerationStructureKHR,
+	geometryCount:            u32,
+	pGeometries:              [^]AccelerationStructureGeometryKHR,
+	ppGeometries:             ^[^]AccelerationStructureGeometryKHR,
+	scratchData:              DeviceOrHostAddressKHR,
+}
+
+AccelerationStructureCreateInfoKHR :: struct {
+	sType:         StructureType,
+	pNext:         rawptr,
+	createFlags:   AccelerationStructureCreateFlagsKHR,
+	buffer:        Buffer,
+	offset:        DeviceSize,
+	size:          DeviceSize,
+	type:          AccelerationStructureTypeKHR,
+	deviceAddress: DeviceAddress,
+}
+
+WriteDescriptorSetAccelerationStructureKHR :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	accelerationStructureCount: u32,
+	pAccelerationStructures:    [^]AccelerationStructureKHR,
+}
+
+PhysicalDeviceAccelerationStructureFeaturesKHR :: struct {
+	sType:                                                 StructureType,
+	pNext:                                                 rawptr,
+	accelerationStructure:                                 b32,
+	accelerationStructureCaptureReplay:                    b32,
+	accelerationStructureIndirectBuild:                    b32,
+	accelerationStructureHostCommands:                     b32,
+	descriptorBindingAccelerationStructureUpdateAfterBind: b32,
+}
+
+PhysicalDeviceAccelerationStructurePropertiesKHR :: struct {
+	sType:                                                      StructureType,
+	pNext:                                                      rawptr,
+	maxGeometryCount:                                           u64,
+	maxInstanceCount:                                           u64,
+	maxPrimitiveCount:                                          u64,
+	maxPerStageDescriptorAccelerationStructures:                u32,
+	maxPerStageDescriptorUpdateAfterBindAccelerationStructures: u32,
+	maxDescriptorSetAccelerationStructures:                     u32,
+	maxDescriptorSetUpdateAfterBindAccelerationStructures:      u32,
+	minAccelerationStructureScratchOffsetAlignment:             u32,
+}
+
+AccelerationStructureDeviceAddressInfoKHR :: struct {
+	sType:                 StructureType,
+	pNext:                 rawptr,
+	accelerationStructure: AccelerationStructureKHR,
+}
+
+AccelerationStructureVersionInfoKHR :: struct {
+	sType:        StructureType,
+	pNext:        rawptr,
+	pVersionData: ^u8,
+}
+
+CopyAccelerationStructureToMemoryInfoKHR :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	src:   AccelerationStructureKHR,
+	dst:   DeviceOrHostAddressKHR,
+	mode:  CopyAccelerationStructureModeKHR,
+}
+
+CopyMemoryToAccelerationStructureInfoKHR :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	src:   DeviceOrHostAddressConstKHR,
+	dst:   AccelerationStructureKHR,
+	mode:  CopyAccelerationStructureModeKHR,
+}
+
+CopyAccelerationStructureInfoKHR :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	src:   AccelerationStructureKHR,
+	dst:   AccelerationStructureKHR,
+	mode:  CopyAccelerationStructureModeKHR,
+}
+
+AccelerationStructureBuildSizesInfoKHR :: struct {
+	sType:                     StructureType,
+	pNext:                     rawptr,
+	accelerationStructureSize: DeviceSize,
+	updateScratchSize:         DeviceSize,
+	buildScratchSize:          DeviceSize,
+}
+
+RayTracingShaderGroupCreateInfoKHR :: struct {
+	sType:                           StructureType,
+	pNext:                           rawptr,
+	type:                            RayTracingShaderGroupTypeKHR,
+	generalShader:                   u32,
+	closestHitShader:                u32,
+	anyHitShader:                    u32,
+	intersectionShader:              u32,
+	pShaderGroupCaptureReplayHandle: rawptr,
+}
+
+RayTracingPipelineInterfaceCreateInfoKHR :: struct {
+	sType:                          StructureType,
+	pNext:                          rawptr,
+	maxPipelineRayPayloadSize:      u32,
+	maxPipelineRayHitAttributeSize: u32,
+}
+
+RayTracingPipelineCreateInfoKHR :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	flags:                        PipelineCreateFlags,
+	stageCount:                   u32,
+	pStages:                      [^]PipelineShaderStageCreateInfo,
+	groupCount:                   u32,
+	pGroups:                      [^]RayTracingShaderGroupCreateInfoKHR,
+	maxPipelineRayRecursionDepth: u32,
+	pLibraryInfo:                 ^PipelineLibraryCreateInfoKHR,
+	pLibraryInterface:            ^RayTracingPipelineInterfaceCreateInfoKHR,
+	pDynamicState:                ^PipelineDynamicStateCreateInfo,
+	layout:                       PipelineLayout,
+	basePipelineHandle:           Pipeline,
+	basePipelineIndex:            i32,
+}
+
+PhysicalDeviceRayTracingPipelineFeaturesKHR :: struct {
+	sType:                                                 StructureType,
+	pNext:                                                 rawptr,
+	rayTracingPipeline:                                    b32,
+	rayTracingPipelineShaderGroupHandleCaptureReplay:      b32,
+	rayTracingPipelineShaderGroupHandleCaptureReplayMixed: b32,
+	rayTracingPipelineTraceRaysIndirect:                   b32,
+	rayTraversalPrimitiveCulling:                          b32,
+}
+
+PhysicalDeviceRayTracingPipelinePropertiesKHR :: struct {
+	sType:                              StructureType,
+	pNext:                              rawptr,
+	shaderGroupHandleSize:              u32,
+	maxRayRecursionDepth:               u32,
+	maxShaderGroupStride:               u32,
+	shaderGroupBaseAlignment:           u32,
+	shaderGroupHandleCaptureReplaySize: u32,
+	maxRayDispatchInvocationCount:      u32,
+	shaderGroupHandleAlignment:         u32,
+	maxRayHitAttributeSize:             u32,
+}
+
+StridedDeviceAddressRegionKHR :: struct {
+	deviceAddress: DeviceAddress,
+	stride:        DeviceSize,
+	size:          DeviceSize,
+}
+
+TraceRaysIndirectCommandKHR :: struct {
+	width:  u32,
+	height: u32,
+	depth:  u32,
+}
+
+PhysicalDeviceRayQueryFeaturesKHR :: struct {
+	sType:    StructureType,
+	pNext:    rawptr,
+	rayQuery: b32,
+}
+
+Win32SurfaceCreateInfoKHR :: struct {
+	sType:     StructureType,
+	pNext:     rawptr,
+	flags:     Win32SurfaceCreateFlagsKHR,
+	hinstance: HINSTANCE,
+	hwnd:      HWND,
+}
+
+ImportMemoryWin32HandleInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	handleType: ExternalMemoryHandleTypeFlags,
+	handle:     HANDLE,
+	name:       LPCWSTR,
+}
+
+ExportMemoryWin32HandleInfoKHR :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	pAttributes: [^]SECURITY_ATTRIBUTES,
+	dwAccess:    DWORD,
+	name:        LPCWSTR,
+}
+
+MemoryWin32HandlePropertiesKHR :: struct {
+	sType:          StructureType,
+	pNext:          rawptr,
+	memoryTypeBits: u32,
+}
+
+MemoryGetWin32HandleInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	memory:     DeviceMemory,
+	handleType: ExternalMemoryHandleTypeFlags,
+}
+
+Win32KeyedMutexAcquireReleaseInfoKHR :: struct {
+	sType:            StructureType,
+	pNext:            rawptr,
+	acquireCount:     u32,
+	pAcquireSyncs:    [^]DeviceMemory,
+	pAcquireKeys:     [^]u64,
+	pAcquireTimeouts: [^]u32,
+	releaseCount:     u32,
+	pReleaseSyncs:    [^]DeviceMemory,
+	pReleaseKeys:     [^]u64,
+}
+
+ImportSemaphoreWin32HandleInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	semaphore:  Semaphore,
+	flags:      SemaphoreImportFlags,
+	handleType: ExternalSemaphoreHandleTypeFlags,
+	handle:     HANDLE,
+	name:       LPCWSTR,
+}
+
+ExportSemaphoreWin32HandleInfoKHR :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	pAttributes: [^]SECURITY_ATTRIBUTES,
+	dwAccess:    DWORD,
+	name:        LPCWSTR,
+}
+
+D3D12FenceSubmitInfoKHR :: struct {
+	sType:                      StructureType,
+	pNext:                      rawptr,
+	waitSemaphoreValuesCount:   u32,
+	pWaitSemaphoreValues:       [^]u64,
+	signalSemaphoreValuesCount: u32,
+	pSignalSemaphoreValues:     [^]u64,
+}
+
+SemaphoreGetWin32HandleInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	semaphore:  Semaphore,
+	handleType: ExternalSemaphoreHandleTypeFlags,
+}
+
+ImportFenceWin32HandleInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	fence:      Fence,
+	flags:      FenceImportFlags,
+	handleType: ExternalFenceHandleTypeFlags,
+	handle:     HANDLE,
+	name:       LPCWSTR,
+}
+
+ExportFenceWin32HandleInfoKHR :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	pAttributes: [^]SECURITY_ATTRIBUTES,
+	dwAccess:    DWORD,
+	name:        LPCWSTR,
+}
+
+FenceGetWin32HandleInfoKHR :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	fence:      Fence,
+	handleType: ExternalFenceHandleTypeFlags,
+}
+
+ImportMemoryWin32HandleInfoNV :: struct {
+	sType:      StructureType,
+	pNext:      rawptr,
+	handleType: ExternalMemoryHandleTypeFlagsNV,
+	handle:     HANDLE,
+}
+
+ExportMemoryWin32HandleInfoNV :: struct {
+	sType:       StructureType,
+	pNext:       rawptr,
+	pAttributes: [^]SECURITY_ATTRIBUTES,
+	dwAccess:    DWORD,
+}
+
+Win32KeyedMutexAcquireReleaseInfoNV :: struct {
+	sType:                       StructureType,
+	pNext:                       rawptr,
+	acquireCount:                u32,
+	pAcquireSyncs:               [^]DeviceMemory,
+	pAcquireKeys:                [^]u64,
+	pAcquireTimeoutMilliseconds: [^]u32,
+	releaseCount:                u32,
+	pReleaseSyncs:               [^]DeviceMemory,
+	pReleaseKeys:                [^]u64,
+}
+
+SurfaceFullScreenExclusiveInfoEXT :: struct {
+	sType:               StructureType,
+	pNext:               rawptr,
+	fullScreenExclusive: FullScreenExclusiveEXT,
+}
+
+SurfaceCapabilitiesFullScreenExclusiveEXT :: struct {
+	sType:                        StructureType,
+	pNext:                        rawptr,
+	fullScreenExclusiveSupported: b32,
+}
+
+SurfaceFullScreenExclusiveWin32InfoEXT :: struct {
+	sType:    StructureType,
+	pNext:    rawptr,
+	hmonitor: HMONITOR,
+}
+
+MetalSurfaceCreateInfoEXT :: struct {
+	sType:  StructureType,
+	pNext:  rawptr,
+	flags:  MetalSurfaceCreateFlagsEXT,
+	pLayer: ^CAMetalLayer,
+}
+
+MacOSSurfaceCreateInfoMVK :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	flags: MacOSSurfaceCreateFlagsMVK,
+	pView: rawptr,
+}
+
+IOSSurfaceCreateInfoMVK :: struct {
+	sType: StructureType,
+	pNext: rawptr,
+	flags: IOSSurfaceCreateFlagsMVK,
+	pView: rawptr,
+}
+
+// Aliases
+PhysicalDeviceVariablePointerFeatures                   :: PhysicalDeviceVariablePointersFeatures
+PhysicalDeviceShaderDrawParameterFeatures               :: PhysicalDeviceShaderDrawParametersFeatures
+PipelineStageFlags2                                     :: Flags64
+PipelineStageFlag2                                      :: Flags64
+AccessFlags2                                            :: Flags64
+AccessFlag2                                             :: Flags64
+FormatFeatureFlags2                                     :: Flags64
+FormatFeatureFlag2                                      :: Flags64
+RenderingFlagsKHR                                       :: RenderingFlags
+RenderingFlagKHR                                        :: RenderingFlag
+RenderingInfoKHR                                        :: RenderingInfo
+RenderingAttachmentInfoKHR                              :: RenderingAttachmentInfo
+PipelineRenderingCreateInfoKHR                          :: PipelineRenderingCreateInfo
+PhysicalDeviceDynamicRenderingFeaturesKHR               :: PhysicalDeviceDynamicRenderingFeatures
+CommandBufferInheritanceRenderingInfoKHR                :: CommandBufferInheritanceRenderingInfo
+AttachmentSampleCountInfoNV                             :: AttachmentSampleCountInfoAMD
+RenderPassMultiviewCreateInfoKHR                        :: RenderPassMultiviewCreateInfo
+PhysicalDeviceMultiviewFeaturesKHR                      :: PhysicalDeviceMultiviewFeatures
+PhysicalDeviceMultiviewPropertiesKHR                    :: PhysicalDeviceMultiviewProperties
+PhysicalDeviceFeatures2KHR                              :: PhysicalDeviceFeatures2
+PhysicalDeviceProperties2KHR                            :: PhysicalDeviceProperties2
+FormatProperties2KHR                                    :: FormatProperties2
+ImageFormatProperties2KHR                               :: ImageFormatProperties2
+PhysicalDeviceImageFormatInfo2KHR                       :: PhysicalDeviceImageFormatInfo2
+QueueFamilyProperties2KHR                               :: QueueFamilyProperties2
+PhysicalDeviceMemoryProperties2KHR                      :: PhysicalDeviceMemoryProperties2
+SparseImageFormatProperties2KHR                         :: SparseImageFormatProperties2
+PhysicalDeviceSparseImageFormatInfo2KHR                 :: PhysicalDeviceSparseImageFormatInfo2
+PeerMemoryFeatureFlagsKHR                               :: PeerMemoryFeatureFlags
+PeerMemoryFeatureFlagKHR                                :: PeerMemoryFeatureFlag
+MemoryAllocateFlagsKHR                                  :: MemoryAllocateFlags
+MemoryAllocateFlagKHR                                   :: MemoryAllocateFlag
+MemoryAllocateFlagsInfoKHR                              :: MemoryAllocateFlagsInfo
+DeviceGroupRenderPassBeginInfoKHR                       :: DeviceGroupRenderPassBeginInfo
+DeviceGroupCommandBufferBeginInfoKHR                    :: DeviceGroupCommandBufferBeginInfo
+DeviceGroupSubmitInfoKHR                                :: DeviceGroupSubmitInfo
+DeviceGroupBindSparseInfoKHR                            :: DeviceGroupBindSparseInfo
+BindBufferMemoryDeviceGroupInfoKHR                      :: BindBufferMemoryDeviceGroupInfo
+BindImageMemoryDeviceGroupInfoKHR                       :: BindImageMemoryDeviceGroupInfo
+CommandPoolTrimFlagsKHR                                 :: CommandPoolTrimFlags
+PhysicalDeviceGroupPropertiesKHR                        :: PhysicalDeviceGroupProperties
+DeviceGroupDeviceCreateInfoKHR                          :: DeviceGroupDeviceCreateInfo
+ExternalMemoryHandleTypeFlagsKHR                        :: ExternalMemoryHandleTypeFlags
+ExternalMemoryHandleTypeFlagKHR                         :: ExternalMemoryHandleTypeFlag
+ExternalMemoryFeatureFlagsKHR                           :: ExternalMemoryFeatureFlags
+ExternalMemoryFeatureFlagKHR                            :: ExternalMemoryFeatureFlag
+ExternalMemoryPropertiesKHR                             :: ExternalMemoryProperties
+PhysicalDeviceExternalImageFormatInfoKHR                :: PhysicalDeviceExternalImageFormatInfo
+ExternalImageFormatPropertiesKHR                        :: ExternalImageFormatProperties
+PhysicalDeviceExternalBufferInfoKHR                     :: PhysicalDeviceExternalBufferInfo
+ExternalBufferPropertiesKHR                             :: ExternalBufferProperties
+PhysicalDeviceIDPropertiesKHR                           :: PhysicalDeviceIDProperties
+ExternalMemoryImageCreateInfoKHR                        :: ExternalMemoryImageCreateInfo
+ExternalMemoryBufferCreateInfoKHR                       :: ExternalMemoryBufferCreateInfo
+ExportMemoryAllocateInfoKHR                             :: ExportMemoryAllocateInfo
+ExternalSemaphoreHandleTypeFlagsKHR                     :: ExternalSemaphoreHandleTypeFlags
+ExternalSemaphoreHandleTypeFlagKHR                      :: ExternalSemaphoreHandleTypeFlag
+ExternalSemaphoreFeatureFlagsKHR                        :: ExternalSemaphoreFeatureFlags
+ExternalSemaphoreFeatureFlagKHR                         :: ExternalSemaphoreFeatureFlag
+PhysicalDeviceExternalSemaphoreInfoKHR                  :: PhysicalDeviceExternalSemaphoreInfo
+ExternalSemaphorePropertiesKHR                          :: ExternalSemaphoreProperties
+SemaphoreImportFlagsKHR                                 :: SemaphoreImportFlags
+SemaphoreImportFlagKHR                                  :: SemaphoreImportFlag
+ExportSemaphoreCreateInfoKHR                            :: ExportSemaphoreCreateInfo
+PhysicalDeviceShaderFloat16Int8FeaturesKHR              :: PhysicalDeviceShaderFloat16Int8Features
+PhysicalDeviceFloat16Int8FeaturesKHR                    :: PhysicalDeviceShaderFloat16Int8Features
+PhysicalDevice16BitStorageFeaturesKHR                   :: PhysicalDevice16BitStorageFeatures
+DescriptorUpdateTemplateKHR                             :: DescriptorUpdateTemplate
+DescriptorUpdateTemplateTypeKHR                         :: DescriptorUpdateTemplateType
+DescriptorUpdateTemplateCreateFlagsKHR                  :: DescriptorUpdateTemplateCreateFlags
+DescriptorUpdateTemplateEntryKHR                        :: DescriptorUpdateTemplateEntry
+DescriptorUpdateTemplateCreateInfoKHR                   :: DescriptorUpdateTemplateCreateInfo
+PhysicalDeviceImagelessFramebufferFeaturesKHR           :: PhysicalDeviceImagelessFramebufferFeatures
+FramebufferAttachmentsCreateInfoKHR                     :: FramebufferAttachmentsCreateInfo
+FramebufferAttachmentImageInfoKHR                       :: FramebufferAttachmentImageInfo
+RenderPassAttachmentBeginInfoKHR                        :: RenderPassAttachmentBeginInfo
+RenderPassCreateInfo2KHR                                :: RenderPassCreateInfo2
+AttachmentDescription2KHR                               :: AttachmentDescription2
+AttachmentReference2KHR                                 :: AttachmentReference2
+SubpassDescription2KHR                                  :: SubpassDescription2
+SubpassDependency2KHR                                   :: SubpassDependency2
+SubpassBeginInfoKHR                                     :: SubpassBeginInfo
+SubpassEndInfoKHR                                       :: SubpassEndInfo
+ExternalFenceHandleTypeFlagsKHR                         :: ExternalFenceHandleTypeFlags
+ExternalFenceHandleTypeFlagKHR                          :: ExternalFenceHandleTypeFlag
+ExternalFenceFeatureFlagsKHR                            :: ExternalFenceFeatureFlags
+ExternalFenceFeatureFlagKHR                             :: ExternalFenceFeatureFlag
+PhysicalDeviceExternalFenceInfoKHR                      :: PhysicalDeviceExternalFenceInfo
+ExternalFencePropertiesKHR                              :: ExternalFenceProperties
+FenceImportFlagsKHR                                     :: FenceImportFlags
+FenceImportFlagKHR                                      :: FenceImportFlag
+ExportFenceCreateInfoKHR                                :: ExportFenceCreateInfo
+PointClippingBehaviorKHR                                :: PointClippingBehavior
+TessellationDomainOriginKHR                             :: TessellationDomainOrigin
+PhysicalDevicePointClippingPropertiesKHR                :: PhysicalDevicePointClippingProperties
+RenderPassInputAttachmentAspectCreateInfoKHR            :: RenderPassInputAttachmentAspectCreateInfo
+InputAttachmentAspectReferenceKHR                       :: InputAttachmentAspectReference
+ImageViewUsageCreateInfoKHR                             :: ImageViewUsageCreateInfo
+PipelineTessellationDomainOriginStateCreateInfoKHR      :: PipelineTessellationDomainOriginStateCreateInfo
+PhysicalDeviceVariablePointerFeaturesKHR                :: PhysicalDeviceVariablePointersFeatures
+PhysicalDeviceVariablePointersFeaturesKHR               :: PhysicalDeviceVariablePointersFeatures
+MemoryDedicatedRequirementsKHR                          :: MemoryDedicatedRequirements
+MemoryDedicatedAllocateInfoKHR                          :: MemoryDedicatedAllocateInfo
+BufferMemoryRequirementsInfo2KHR                        :: BufferMemoryRequirementsInfo2
+ImageMemoryRequirementsInfo2KHR                         :: ImageMemoryRequirementsInfo2
+ImageSparseMemoryRequirementsInfo2KHR                   :: ImageSparseMemoryRequirementsInfo2
+MemoryRequirements2KHR                                  :: MemoryRequirements2
+SparseImageMemoryRequirements2KHR                       :: SparseImageMemoryRequirements2
+ImageFormatListCreateInfoKHR                            :: ImageFormatListCreateInfo
+SamplerYcbcrConversionKHR                               :: SamplerYcbcrConversion
+SamplerYcbcrModelConversionKHR                          :: SamplerYcbcrModelConversion
+SamplerYcbcrRangeKHR                                    :: SamplerYcbcrRange
+ChromaLocationKHR                                       :: ChromaLocation
+SamplerYcbcrConversionCreateInfoKHR                     :: SamplerYcbcrConversionCreateInfo
+SamplerYcbcrConversionInfoKHR                           :: SamplerYcbcrConversionInfo
+BindImagePlaneMemoryInfoKHR                             :: BindImagePlaneMemoryInfo
+ImagePlaneMemoryRequirementsInfoKHR                     :: ImagePlaneMemoryRequirementsInfo
+PhysicalDeviceSamplerYcbcrConversionFeaturesKHR         :: PhysicalDeviceSamplerYcbcrConversionFeatures
+SamplerYcbcrConversionImageFormatPropertiesKHR          :: SamplerYcbcrConversionImageFormatProperties
+BindBufferMemoryInfoKHR                                 :: BindBufferMemoryInfo
+BindImageMemoryInfoKHR                                  :: BindImageMemoryInfo
+PhysicalDeviceMaintenance3PropertiesKHR                 :: PhysicalDeviceMaintenance3Properties
+DescriptorSetLayoutSupportKHR                           :: DescriptorSetLayoutSupport
+PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR    :: PhysicalDeviceShaderSubgroupExtendedTypesFeatures
+PhysicalDevice8BitStorageFeaturesKHR                    :: PhysicalDevice8BitStorageFeatures
+PhysicalDeviceShaderAtomicInt64FeaturesKHR              :: PhysicalDeviceShaderAtomicInt64Features
+DriverIdKHR                                             :: DriverId
+ConformanceVersionKHR                                   :: ConformanceVersion
+PhysicalDeviceDriverPropertiesKHR                       :: PhysicalDeviceDriverProperties
+ShaderFloatControlsIndependenceKHR                      :: ShaderFloatControlsIndependence
+PhysicalDeviceFloatControlsPropertiesKHR                :: PhysicalDeviceFloatControlsProperties
+ResolveModeFlagKHR                                      :: ResolveModeFlag
+ResolveModeFlagsKHR                                     :: ResolveModeFlags
+SubpassDescriptionDepthStencilResolveKHR                :: SubpassDescriptionDepthStencilResolve
+PhysicalDeviceDepthStencilResolvePropertiesKHR          :: PhysicalDeviceDepthStencilResolveProperties
+SemaphoreTypeKHR                                        :: SemaphoreType
+SemaphoreWaitFlagKHR                                    :: SemaphoreWaitFlag
+SemaphoreWaitFlagsKHR                                   :: SemaphoreWaitFlags
+PhysicalDeviceTimelineSemaphoreFeaturesKHR              :: PhysicalDeviceTimelineSemaphoreFeatures
+PhysicalDeviceTimelineSemaphorePropertiesKHR            :: PhysicalDeviceTimelineSemaphoreProperties
+SemaphoreTypeCreateInfoKHR                              :: SemaphoreTypeCreateInfo
+TimelineSemaphoreSubmitInfoKHR                          :: TimelineSemaphoreSubmitInfo
+SemaphoreWaitInfoKHR                                    :: SemaphoreWaitInfo
+SemaphoreSignalInfoKHR                                  :: SemaphoreSignalInfo
+PhysicalDeviceVulkanMemoryModelFeaturesKHR              :: PhysicalDeviceVulkanMemoryModelFeatures
+PhysicalDeviceShaderTerminateInvocationFeaturesKHR      :: PhysicalDeviceShaderTerminateInvocationFeatures
+PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR    :: PhysicalDeviceSeparateDepthStencilLayoutsFeatures
+AttachmentReferenceStencilLayoutKHR                     :: AttachmentReferenceStencilLayout
+AttachmentDescriptionStencilLayoutKHR                   :: AttachmentDescriptionStencilLayout
+PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR    :: PhysicalDeviceUniformBufferStandardLayoutFeatures
+PhysicalDeviceBufferDeviceAddressFeaturesKHR            :: PhysicalDeviceBufferDeviceAddressFeatures
+BufferDeviceAddressInfoKHR                              :: BufferDeviceAddressInfo
+BufferOpaqueCaptureAddressCreateInfoKHR                 :: BufferOpaqueCaptureAddressCreateInfo
+MemoryOpaqueCaptureAddressAllocateInfoKHR               :: MemoryOpaqueCaptureAddressAllocateInfo
+DeviceMemoryOpaqueCaptureAddressInfoKHR                 :: DeviceMemoryOpaqueCaptureAddressInfo
+PhysicalDeviceShaderIntegerDotProductFeaturesKHR        :: PhysicalDeviceShaderIntegerDotProductFeatures
+PhysicalDeviceShaderIntegerDotProductPropertiesKHR      :: PhysicalDeviceShaderIntegerDotProductProperties
+PipelineStageFlags2KHR                                  :: PipelineStageFlags2
+PipelineStageFlag2KHR                                   :: PipelineStageFlag2
+AccessFlags2KHR                                         :: AccessFlags2
+AccessFlag2KHR                                          :: AccessFlag2
+SubmitFlagKHR                                           :: SubmitFlag
+SubmitFlagsKHR                                          :: SubmitFlags
+MemoryBarrier2KHR                                       :: MemoryBarrier2
+BufferMemoryBarrier2KHR                                 :: BufferMemoryBarrier2
+ImageMemoryBarrier2KHR                                  :: ImageMemoryBarrier2
+DependencyInfoKHR                                       :: DependencyInfo
+SubmitInfo2KHR                                          :: SubmitInfo2
+SemaphoreSubmitInfoKHR                                  :: SemaphoreSubmitInfo
+CommandBufferSubmitInfoKHR                              :: CommandBufferSubmitInfo
+PhysicalDeviceSynchronization2FeaturesKHR               :: PhysicalDeviceSynchronization2Features
+PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR  :: PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
+CopyBufferInfo2KHR                                      :: CopyBufferInfo2
+CopyImageInfo2KHR                                       :: CopyImageInfo2
+CopyBufferToImageInfo2KHR                               :: CopyBufferToImageInfo2
+CopyImageToBufferInfo2KHR                               :: CopyImageToBufferInfo2
+BlitImageInfo2KHR                                       :: BlitImageInfo2
+ResolveImageInfo2KHR                                    :: ResolveImageInfo2
+BufferCopy2KHR                                          :: BufferCopy2
+ImageCopy2KHR                                           :: ImageCopy2
+ImageBlit2KHR                                           :: ImageBlit2
+BufferImageCopy2KHR                                     :: BufferImageCopy2
+ImageResolve2KHR                                        :: ImageResolve2
+FormatFeatureFlags2KHR                                  :: FormatFeatureFlags2
+FormatFeatureFlag2KHR                                   :: FormatFeatureFlag2
+FormatProperties3KHR                                    :: FormatProperties3
+PhysicalDeviceMaintenance4FeaturesKHR                   :: PhysicalDeviceMaintenance4Features
+PhysicalDeviceMaintenance4PropertiesKHR                 :: PhysicalDeviceMaintenance4Properties
+DeviceBufferMemoryRequirementsKHR                       :: DeviceBufferMemoryRequirements
+DeviceImageMemoryRequirementsKHR                        :: DeviceImageMemoryRequirements
+PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT      :: PhysicalDeviceTextureCompressionASTCHDRFeatures
+SamplerReductionModeEXT                                 :: SamplerReductionMode
+SamplerReductionModeCreateInfoEXT                       :: SamplerReductionModeCreateInfo
+PhysicalDeviceSamplerFilterMinmaxPropertiesEXT          :: PhysicalDeviceSamplerFilterMinmaxProperties
+PhysicalDeviceInlineUniformBlockFeaturesEXT             :: PhysicalDeviceInlineUniformBlockFeatures
+PhysicalDeviceInlineUniformBlockPropertiesEXT           :: PhysicalDeviceInlineUniformBlockProperties
+WriteDescriptorSetInlineUniformBlockEXT                 :: WriteDescriptorSetInlineUniformBlock
+DescriptorPoolInlineUniformBlockCreateInfoEXT           :: DescriptorPoolInlineUniformBlockCreateInfo
+DescriptorBindingFlagEXT                                :: DescriptorBindingFlag
+DescriptorBindingFlagsEXT                               :: DescriptorBindingFlags
+DescriptorSetLayoutBindingFlagsCreateInfoEXT            :: DescriptorSetLayoutBindingFlagsCreateInfo
+PhysicalDeviceDescriptorIndexingFeaturesEXT             :: PhysicalDeviceDescriptorIndexingFeatures
+PhysicalDeviceDescriptorIndexingPropertiesEXT           :: PhysicalDeviceDescriptorIndexingProperties
+DescriptorSetVariableDescriptorCountAllocateInfoEXT     :: DescriptorSetVariableDescriptorCountAllocateInfo
+DescriptorSetVariableDescriptorCountLayoutSupportEXT    :: DescriptorSetVariableDescriptorCountLayoutSupport
+RayTracingShaderGroupTypeNV                             :: RayTracingShaderGroupTypeKHR
+GeometryTypeNV                                          :: GeometryTypeKHR
+AccelerationStructureTypeNV                             :: AccelerationStructureTypeKHR
+CopyAccelerationStructureModeNV                         :: CopyAccelerationStructureModeKHR
+GeometryFlagsNV                                         :: GeometryFlagsKHR
+GeometryFlagNV                                          :: GeometryFlagKHR
+GeometryInstanceFlagsNV                                 :: GeometryInstanceFlagsKHR
+GeometryInstanceFlagNV                                  :: GeometryInstanceFlagKHR
+BuildAccelerationStructureFlagsNV                       :: BuildAccelerationStructureFlagsKHR
+BuildAccelerationStructureFlagNV                        :: BuildAccelerationStructureFlagKHR
+TransformMatrixNV                                       :: TransformMatrixKHR
+AabbPositionsNV                                         :: AabbPositionsKHR
+AccelerationStructureInstanceNV                         :: AccelerationStructureInstanceKHR
+QueueGlobalPriorityEXT                                  :: QueueGlobalPriorityKHR
+DeviceQueueGlobalPriorityCreateInfoEXT                  :: DeviceQueueGlobalPriorityCreateInfoKHR
+PipelineCreationFeedbackFlagEXT                         :: PipelineCreationFeedbackFlag
+PipelineCreationFeedbackFlagsEXT                        :: PipelineCreationFeedbackFlags
+PipelineCreationFeedbackCreateInfoEXT                   :: PipelineCreationFeedbackCreateInfo
+PipelineCreationFeedbackEXT                             :: PipelineCreationFeedback
+QueryPoolCreateInfoINTEL                                :: QueryPoolPerformanceQueryCreateInfoINTEL
+PhysicalDeviceScalarBlockLayoutFeaturesEXT              :: PhysicalDeviceScalarBlockLayoutFeatures
+PhysicalDeviceSubgroupSizeControlFeaturesEXT            :: PhysicalDeviceSubgroupSizeControlFeatures
+PhysicalDeviceSubgroupSizeControlPropertiesEXT          :: PhysicalDeviceSubgroupSizeControlProperties
+PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT    :: PipelineShaderStageRequiredSubgroupSizeCreateInfo
+PhysicalDeviceBufferAddressFeaturesEXT                  :: PhysicalDeviceBufferDeviceAddressFeaturesEXT
+BufferDeviceAddressInfoEXT                              :: BufferDeviceAddressInfo
+ToolPurposeFlagEXT                                      :: ToolPurposeFlag
+ToolPurposeFlagsEXT                                     :: ToolPurposeFlags
+PhysicalDeviceToolPropertiesEXT                         :: PhysicalDeviceToolProperties
+ImageStencilUsageCreateInfoEXT                          :: ImageStencilUsageCreateInfo
+PhysicalDeviceHostQueryResetFeaturesEXT                 :: PhysicalDeviceHostQueryResetFeatures
+PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT :: PhysicalDeviceShaderDemoteToHelperInvocationFeatures
+PhysicalDeviceTexelBufferAlignmentPropertiesEXT         :: PhysicalDeviceTexelBufferAlignmentProperties
+PrivateDataSlotEXT                                      :: PrivateDataSlot
+PrivateDataSlotCreateFlagsEXT                           :: PrivateDataSlotCreateFlags
+PhysicalDevicePrivateDataFeaturesEXT                    :: PhysicalDevicePrivateDataFeatures
+DevicePrivateDataCreateInfoEXT                          :: DevicePrivateDataCreateInfo
+PrivateDataSlotCreateInfoEXT                            :: PrivateDataSlotCreateInfo
+PhysicalDevicePipelineCreationCacheControlFeaturesEXT   :: PhysicalDevicePipelineCreationCacheControlFeatures
+PhysicalDeviceImageRobustnessFeaturesEXT                :: PhysicalDeviceImageRobustnessFeatures
+PhysicalDeviceGlobalPriorityQueryFeaturesEXT            :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR
+QueueFamilyGlobalPriorityPropertiesEXT                  :: QueueFamilyGlobalPriorityPropertiesKHR
+
+