1 /// Vulkan D bindings generated automatically by vkdgen
2 /// See https://github.com/rtbo/vkdgen
3 module gfx.bindings.vulkan.vk;
4 
5 version(Windows) {
6     import core.sys.windows.windef : HINSTANCE, HWND;
7 }
8 
9 version(linux) {
10     version(VkXcb) {
11         import xcb.xcb : xcb_connection_t, xcb_visualid_t, xcb_window_t;
12     }
13 }
14 
15 version(linux) {
16     version(VkWayland) {
17         import wayland.native.client : wl_display, wl_proxy;
18         alias wl_surface = wl_proxy;
19     }
20 }
21 
22 enum VK_HEADER_VERSION =  96;
23 
24 // Basic types definition
25 
26 alias uint8_t  = ubyte;
27 alias uint16_t = ushort;
28 alias uint32_t = uint;
29 alias uint64_t = ulong;
30 alias int8_t   = byte;
31 alias int16_t  = short;
32 alias int32_t  = int;
33 alias int64_t  = long;
34 
35 // VK_VERSION_1_0
36 alias VkFlags                                 = uint32_t;
37 alias VkInstanceCreateFlags                   = VkFlags;
38 alias VkBool32                                = uint32_t;
39 alias VkFormatFeatureFlags                    = VkFlags;
40 alias VkImageUsageFlags                       = VkFlags;
41 alias VkImageCreateFlags                      = VkFlags;
42 alias VkSampleCountFlags                      = VkFlags;
43 alias VkDeviceSize                            = uint64_t;
44 alias VkQueueFlags                            = VkFlags;
45 alias VkMemoryPropertyFlags                   = VkFlags;
46 alias VkMemoryHeapFlags                       = VkFlags;
47 alias VkDeviceCreateFlags                     = VkFlags;
48 alias VkDeviceQueueCreateFlags                = VkFlags;
49 alias VkPipelineStageFlags                    = VkFlags;
50 alias VkMemoryMapFlags                        = VkFlags;
51 alias VkImageAspectFlags                      = VkFlags;
52 alias VkSparseImageFormatFlags                = VkFlags;
53 alias VkSparseMemoryBindFlags                 = VkFlags;
54 alias VkFenceCreateFlags                      = VkFlags;
55 alias VkSemaphoreCreateFlags                  = VkFlags;
56 alias VkEventCreateFlags                      = VkFlags;
57 alias VkQueryPoolCreateFlags                  = VkFlags;
58 alias VkQueryPipelineStatisticFlags           = VkFlags;
59 alias VkQueryResultFlags                      = VkFlags;
60 alias VkBufferCreateFlags                     = VkFlags;
61 alias VkBufferUsageFlags                      = VkFlags;
62 alias VkBufferViewCreateFlags                 = VkFlags;
63 alias VkImageViewCreateFlags                  = VkFlags;
64 alias VkShaderModuleCreateFlags               = VkFlags;
65 alias VkPipelineCacheCreateFlags              = VkFlags;
66 alias VkPipelineCreateFlags                   = VkFlags;
67 alias VkPipelineShaderStageCreateFlags        = VkFlags;
68 alias VkPipelineVertexInputStateCreateFlags   = VkFlags;
69 alias VkPipelineInputAssemblyStateCreateFlags = VkFlags;
70 alias VkPipelineTessellationStateCreateFlags  = VkFlags;
71 alias VkPipelineViewportStateCreateFlags      = VkFlags;
72 alias VkPipelineRasterizationStateCreateFlags = VkFlags;
73 alias VkCullModeFlags                         = VkFlags;
74 alias VkPipelineMultisampleStateCreateFlags   = VkFlags;
75 alias VkSampleMask                            = uint32_t;
76 alias VkPipelineDepthStencilStateCreateFlags  = VkFlags;
77 alias VkPipelineColorBlendStateCreateFlags    = VkFlags;
78 alias VkColorComponentFlags                   = VkFlags;
79 alias VkPipelineDynamicStateCreateFlags       = VkFlags;
80 alias VkPipelineLayoutCreateFlags             = VkFlags;
81 alias VkShaderStageFlags                      = VkFlags;
82 alias VkSamplerCreateFlags                    = VkFlags;
83 alias VkDescriptorSetLayoutCreateFlags        = VkFlags;
84 alias VkDescriptorPoolCreateFlags             = VkFlags;
85 alias VkDescriptorPoolResetFlags              = VkFlags;
86 alias VkFramebufferCreateFlags                = VkFlags;
87 alias VkRenderPassCreateFlags                 = VkFlags;
88 alias VkAttachmentDescriptionFlags            = VkFlags;
89 alias VkSubpassDescriptionFlags               = VkFlags;
90 alias VkAccessFlags                           = VkFlags;
91 alias VkDependencyFlags                       = VkFlags;
92 alias VkCommandPoolCreateFlags                = VkFlags;
93 alias VkCommandPoolResetFlags                 = VkFlags;
94 alias VkCommandBufferUsageFlags               = VkFlags;
95 alias VkQueryControlFlags                     = VkFlags;
96 alias VkCommandBufferResetFlags               = VkFlags;
97 alias VkStencilFaceFlags                      = VkFlags;
98 
99 // VK_VERSION_1_1
100 alias VkSubgroupFeatureFlags                = VkFlags;
101 alias VkPeerMemoryFeatureFlags              = VkFlags;
102 alias VkMemoryAllocateFlags                 = VkFlags;
103 alias VkCommandPoolTrimFlags                = VkFlags;
104 alias VkDescriptorUpdateTemplateCreateFlags = VkFlags;
105 alias VkExternalMemoryHandleTypeFlags       = VkFlags;
106 alias VkExternalMemoryFeatureFlags          = VkFlags;
107 alias VkExternalFenceHandleTypeFlags        = VkFlags;
108 alias VkExternalFenceFeatureFlags           = VkFlags;
109 alias VkFenceImportFlags                    = VkFlags;
110 alias VkSemaphoreImportFlags                = VkFlags;
111 alias VkExternalSemaphoreHandleTypeFlags    = VkFlags;
112 alias VkExternalSemaphoreFeatureFlags       = VkFlags;
113 
114 // VK_KHR_surface
115 alias VkSurfaceTransformFlagsKHR = VkFlags;
116 alias VkCompositeAlphaFlagsKHR   = VkFlags;
117 
118 // VK_KHR_swapchain
119 alias VkSwapchainCreateFlagsKHR        = VkFlags;
120 alias VkDeviceGroupPresentModeFlagsKHR = VkFlags;
121 
122 // VK_KHR_display
123 alias VkDisplayPlaneAlphaFlagsKHR    = VkFlags;
124 alias VkDisplayModeCreateFlagsKHR    = VkFlags;
125 alias VkDisplaySurfaceCreateFlagsKHR = VkFlags;
126 
127 // VK_KHR_xcb_surface
128 version(linux) {
129     version(VkXcb) {
130         alias VkXcbSurfaceCreateFlagsKHR = VkFlags;
131     }
132 }
133 
134 // VK_KHR_wayland_surface
135 version(linux) {
136     version(VkWayland) {
137         alias VkWaylandSurfaceCreateFlagsKHR = VkFlags;
138     }
139 }
140 
141 // VK_KHR_win32_surface
142 version(Windows) {
143     alias VkWin32SurfaceCreateFlagsKHR = VkFlags;
144 }
145 
146 // VK_EXT_debug_report
147 alias VkDebugReportFlagsEXT = VkFlags;
148 
149 // Handles
150 
151 // VK_VERSION_1_0
152 struct VkInstance_T;       alias VkInstance       = VkInstance_T*;
153 struct VkPhysicalDevice_T; alias VkPhysicalDevice = VkPhysicalDevice_T*;
154 struct VkDevice_T;         alias VkDevice         = VkDevice_T*;
155 struct VkQueue_T;          alias VkQueue          = VkQueue_T*;
156 struct VkCommandBuffer_T;  alias VkCommandBuffer  = VkCommandBuffer_T*;
157 
158 // Non-dispatchable handles
159 
160 version(X86_64) {
161     // VK_VERSION_1_0
162     struct VkSemaphore_T;           alias VkSemaphore           = VkSemaphore_T*;
163     struct VkFence_T;               alias VkFence               = VkFence_T*;
164     struct VkDeviceMemory_T;        alias VkDeviceMemory        = VkDeviceMemory_T*;
165     struct VkBuffer_T;              alias VkBuffer              = VkBuffer_T*;
166     struct VkImage_T;               alias VkImage               = VkImage_T*;
167     struct VkEvent_T;               alias VkEvent               = VkEvent_T*;
168     struct VkQueryPool_T;           alias VkQueryPool           = VkQueryPool_T*;
169     struct VkBufferView_T;          alias VkBufferView          = VkBufferView_T*;
170     struct VkImageView_T;           alias VkImageView           = VkImageView_T*;
171     struct VkShaderModule_T;        alias VkShaderModule        = VkShaderModule_T*;
172     struct VkPipelineCache_T;       alias VkPipelineCache       = VkPipelineCache_T*;
173     struct VkPipelineLayout_T;      alias VkPipelineLayout      = VkPipelineLayout_T*;
174     struct VkRenderPass_T;          alias VkRenderPass          = VkRenderPass_T*;
175     struct VkPipeline_T;            alias VkPipeline            = VkPipeline_T*;
176     struct VkDescriptorSetLayout_T; alias VkDescriptorSetLayout = VkDescriptorSetLayout_T*;
177     struct VkSampler_T;             alias VkSampler             = VkSampler_T*;
178     struct VkDescriptorPool_T;      alias VkDescriptorPool      = VkDescriptorPool_T*;
179     struct VkDescriptorSet_T;       alias VkDescriptorSet       = VkDescriptorSet_T*;
180     struct VkFramebuffer_T;         alias VkFramebuffer         = VkFramebuffer_T*;
181     struct VkCommandPool_T;         alias VkCommandPool         = VkCommandPool_T*;
182 
183     // VK_VERSION_1_1
184     struct VkSamplerYcbcrConversion_T;   alias VkSamplerYcbcrConversion   = VkSamplerYcbcrConversion_T*;
185     struct VkDescriptorUpdateTemplate_T; alias VkDescriptorUpdateTemplate = VkDescriptorUpdateTemplate_T*;
186 
187     // VK_KHR_surface
188     struct VkSurfaceKHR_T; alias VkSurfaceKHR = VkSurfaceKHR_T*;
189 
190     // VK_KHR_swapchain
191     struct VkSwapchainKHR_T; alias VkSwapchainKHR = VkSwapchainKHR_T*;
192 
193     // VK_KHR_display
194     struct VkDisplayKHR_T;     alias VkDisplayKHR     = VkDisplayKHR_T*;
195     struct VkDisplayModeKHR_T; alias VkDisplayModeKHR = VkDisplayModeKHR_T*;
196 
197     // VK_EXT_debug_report
198     struct VkDebugReportCallbackEXT_T; alias VkDebugReportCallbackEXT = VkDebugReportCallbackEXT_T*;
199 }
200 else {
201     // VK_VERSION_1_0
202     alias VkSemaphore           = ulong;
203     alias VkFence               = ulong;
204     alias VkDeviceMemory        = ulong;
205     alias VkBuffer              = ulong;
206     alias VkImage               = ulong;
207     alias VkEvent               = ulong;
208     alias VkQueryPool           = ulong;
209     alias VkBufferView          = ulong;
210     alias VkImageView           = ulong;
211     alias VkShaderModule        = ulong;
212     alias VkPipelineCache       = ulong;
213     alias VkPipelineLayout      = ulong;
214     alias VkRenderPass          = ulong;
215     alias VkPipeline            = ulong;
216     alias VkDescriptorSetLayout = ulong;
217     alias VkSampler             = ulong;
218     alias VkDescriptorPool      = ulong;
219     alias VkDescriptorSet       = ulong;
220     alias VkFramebuffer         = ulong;
221     alias VkCommandPool         = ulong;
222 
223     // VK_VERSION_1_1
224     alias VkSamplerYcbcrConversion   = ulong;
225     alias VkDescriptorUpdateTemplate = ulong;
226 
227     // VK_KHR_surface
228     alias VkSurfaceKHR = ulong;
229 
230     // VK_KHR_swapchain
231     alias VkSwapchainKHR = ulong;
232 
233     // VK_KHR_display
234     alias VkDisplayKHR     = ulong;
235     alias VkDisplayModeKHR = ulong;
236 
237     // VK_EXT_debug_report
238     alias VkDebugReportCallbackEXT = ulong;
239 }
240 
241 // Constants
242 
243 // VK_VERSION_1_0
244 enum VK_LOD_CLAMP_NONE                = 1000.0f;
245 enum VK_REMAINING_MIP_LEVELS          = ~0;
246 enum VK_REMAINING_ARRAY_LAYERS        = ~0;
247 enum VK_WHOLE_SIZE                    = ~0;
248 enum VK_ATTACHMENT_UNUSED             = ~0;
249 enum VK_TRUE                          = 1;
250 enum VK_FALSE                         = 0;
251 enum VK_QUEUE_FAMILY_IGNORED          = ~0;
252 enum VK_SUBPASS_EXTERNAL              = ~0;
253 enum VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256;
254 enum VK_UUID_SIZE                     = 16;
255 enum VK_MAX_MEMORY_TYPES              = 32;
256 enum VK_MAX_MEMORY_HEAPS              = 16;
257 enum VK_MAX_EXTENSION_NAME_SIZE       = 256;
258 enum VK_MAX_DESCRIPTION_SIZE          = 256;
259 
260 // VK_VERSION_1_1
261 enum VK_MAX_DEVICE_GROUP_SIZE = 32;
262 enum VK_LUID_SIZE             = 8;
263 enum VK_QUEUE_FAMILY_EXTERNAL = ~0-1;
264 
265 // VK_KHR_surface
266 enum VK_KHR_SURFACE_SPEC_VERSION   = 25;
267 enum VK_KHR_SURFACE_EXTENSION_NAME = "VK_KHR_surface";
268 
269 // VK_KHR_swapchain
270 enum VK_KHR_SWAPCHAIN_SPEC_VERSION   = 70;
271 enum VK_KHR_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_swapchain";
272 
273 // VK_KHR_display
274 enum VK_KHR_DISPLAY_SPEC_VERSION   = 21;
275 enum VK_KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display";
276 
277 // VK_KHR_xcb_surface
278 version(linux) {
279     version(VkXcb) {
280         enum VK_KHR_XCB_SURFACE_SPEC_VERSION   = 6;
281         enum VK_KHR_XCB_SURFACE_EXTENSION_NAME = "VK_KHR_xcb_surface";
282     }
283 }
284 
285 // VK_KHR_wayland_surface
286 version(linux) {
287     version(VkWayland) {
288         enum VK_KHR_WAYLAND_SURFACE_SPEC_VERSION   = 6;
289         enum VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME = "VK_KHR_wayland_surface";
290     }
291 }
292 
293 // VK_KHR_win32_surface
294 version(Windows) {
295     enum VK_KHR_WIN32_SURFACE_SPEC_VERSION   = 6;
296     enum VK_KHR_WIN32_SURFACE_EXTENSION_NAME = "VK_KHR_win32_surface";
297 }
298 
299 // VK_EXT_debug_report
300 enum VK_EXT_DEBUG_REPORT_SPEC_VERSION   = 9;
301 enum VK_EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report";
302 
303 // Function pointers
304 
305 extern(C) nothrow {
306     // VK_VERSION_1_0
307     alias PFN_vkAllocationFunction = void* function(
308         void*                   pUserData,
309         size_t                  size,
310         size_t                  alignment,
311         VkSystemAllocationScope allocationScope
312     );
313     alias PFN_vkReallocationFunction = void* function(
314         void*                   pUserData,
315         void*                   pOriginal,
316         size_t                  size,
317         size_t                  alignment,
318         VkSystemAllocationScope allocationScope
319     );
320     alias PFN_vkFreeFunction = void function(
321         void* pUserData,
322         void* pMemory
323     );
324     alias PFN_vkInternalAllocationNotification = void function(
325         void*                    pUserData,
326         size_t                   size,
327         VkInternalAllocationType allocationType,
328         VkSystemAllocationScope  allocationScope
329     );
330     alias PFN_vkInternalFreeNotification = void function(
331         void*                    pUserData,
332         size_t                   size,
333         VkInternalAllocationType allocationType,
334         VkSystemAllocationScope  allocationScope
335     );
336     alias PFN_vkVoidFunction = void function();
337 
338     // VK_EXT_debug_report
339     alias PFN_vkDebugReportCallbackEXT = VkBool32 function(
340         VkDebugReportFlagsEXT      flags,
341         VkDebugReportObjectTypeEXT objectType,
342         uint64_t                   object,
343         size_t                     location,
344         int32_t                    messageCode,
345         const(char)*               pLayerPrefix,
346         const(char)*               pMessage,
347         void*                      pUserData
348     );
349 }
350 
351 // Enumerations
352 
353 // VK_VERSION_1_0
354 enum VkPipelineCacheHeaderVersion {
355     VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
356 }
357 enum VK_PIPELINE_CACHE_HEADER_VERSION_ONE = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
358 
359 enum VkResult {
360     VK_SUCCESS                                            = 0,
361     VK_NOT_READY                                          = 1,
362     VK_TIMEOUT                                            = 2,
363     VK_EVENT_SET                                          = 3,
364     VK_EVENT_RESET                                        = 4,
365     VK_INCOMPLETE                                         = 5,
366     VK_ERROR_OUT_OF_HOST_MEMORY                           = -1,
367     VK_ERROR_OUT_OF_DEVICE_MEMORY                         = -2,
368     VK_ERROR_INITIALIZATION_FAILED                        = -3,
369     VK_ERROR_DEVICE_LOST                                  = -4,
370     VK_ERROR_MEMORY_MAP_FAILED                            = -5,
371     VK_ERROR_LAYER_NOT_PRESENT                            = -6,
372     VK_ERROR_EXTENSION_NOT_PRESENT                        = -7,
373     VK_ERROR_FEATURE_NOT_PRESENT                          = -8,
374     VK_ERROR_INCOMPATIBLE_DRIVER                          = -9,
375     VK_ERROR_TOO_MANY_OBJECTS                             = -10,
376     VK_ERROR_FORMAT_NOT_SUPPORTED                         = -11,
377     VK_ERROR_FRAGMENTED_POOL                              = -12,
378     VK_ERROR_OUT_OF_POOL_MEMORY                           = -1000069000,
379     VK_ERROR_INVALID_EXTERNAL_HANDLE                      = -1000072003,
380     VK_ERROR_SURFACE_LOST_KHR                             = -1000000000,
381     VK_ERROR_NATIVE_WINDOW_IN_USE_KHR                     = -1000000001,
382     VK_SUBOPTIMAL_KHR                                     = 1000001003,
383     VK_ERROR_OUT_OF_DATE_KHR                              = -1000001004,
384     VK_ERROR_INCOMPATIBLE_DISPLAY_KHR                     = -1000003001,
385     VK_ERROR_VALIDATION_FAILED_EXT                        = -1000011001,
386     VK_ERROR_INVALID_SHADER_NV                            = -1000012000,
387     VK_ERROR_OUT_OF_POOL_MEMORY_KHR                       = VK_ERROR_OUT_OF_POOL_MEMORY,
388     VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR                  = VK_ERROR_INVALID_EXTERNAL_HANDLE,
389     VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
390     VK_ERROR_FRAGMENTATION_EXT                            = -1000161000,
391     VK_ERROR_NOT_PERMITTED_EXT                            = -1000174001,
392 }
393 enum VK_SUCCESS                                            = VkResult.VK_SUCCESS;
394 enum VK_NOT_READY                                          = VkResult.VK_NOT_READY;
395 enum VK_TIMEOUT                                            = VkResult.VK_TIMEOUT;
396 enum VK_EVENT_SET                                          = VkResult.VK_EVENT_SET;
397 enum VK_EVENT_RESET                                        = VkResult.VK_EVENT_RESET;
398 enum VK_INCOMPLETE                                         = VkResult.VK_INCOMPLETE;
399 enum VK_ERROR_OUT_OF_HOST_MEMORY                           = VkResult.VK_ERROR_OUT_OF_HOST_MEMORY;
400 enum VK_ERROR_OUT_OF_DEVICE_MEMORY                         = VkResult.VK_ERROR_OUT_OF_DEVICE_MEMORY;
401 enum VK_ERROR_INITIALIZATION_FAILED                        = VkResult.VK_ERROR_INITIALIZATION_FAILED;
402 enum VK_ERROR_DEVICE_LOST                                  = VkResult.VK_ERROR_DEVICE_LOST;
403 enum VK_ERROR_MEMORY_MAP_FAILED                            = VkResult.VK_ERROR_MEMORY_MAP_FAILED;
404 enum VK_ERROR_LAYER_NOT_PRESENT                            = VkResult.VK_ERROR_LAYER_NOT_PRESENT;
405 enum VK_ERROR_EXTENSION_NOT_PRESENT                        = VkResult.VK_ERROR_EXTENSION_NOT_PRESENT;
406 enum VK_ERROR_FEATURE_NOT_PRESENT                          = VkResult.VK_ERROR_FEATURE_NOT_PRESENT;
407 enum VK_ERROR_INCOMPATIBLE_DRIVER                          = VkResult.VK_ERROR_INCOMPATIBLE_DRIVER;
408 enum VK_ERROR_TOO_MANY_OBJECTS                             = VkResult.VK_ERROR_TOO_MANY_OBJECTS;
409 enum VK_ERROR_FORMAT_NOT_SUPPORTED                         = VkResult.VK_ERROR_FORMAT_NOT_SUPPORTED;
410 enum VK_ERROR_FRAGMENTED_POOL                              = VkResult.VK_ERROR_FRAGMENTED_POOL;
411 enum VK_ERROR_OUT_OF_POOL_MEMORY                           = VkResult.VK_ERROR_OUT_OF_POOL_MEMORY;
412 enum VK_ERROR_INVALID_EXTERNAL_HANDLE                      = VkResult.VK_ERROR_INVALID_EXTERNAL_HANDLE;
413 enum VK_ERROR_SURFACE_LOST_KHR                             = VkResult.VK_ERROR_SURFACE_LOST_KHR;
414 enum VK_ERROR_NATIVE_WINDOW_IN_USE_KHR                     = VkResult.VK_ERROR_NATIVE_WINDOW_IN_USE_KHR;
415 enum VK_SUBOPTIMAL_KHR                                     = VkResult.VK_SUBOPTIMAL_KHR;
416 enum VK_ERROR_OUT_OF_DATE_KHR                              = VkResult.VK_ERROR_OUT_OF_DATE_KHR;
417 enum VK_ERROR_INCOMPATIBLE_DISPLAY_KHR                     = VkResult.VK_ERROR_INCOMPATIBLE_DISPLAY_KHR;
418 enum VK_ERROR_VALIDATION_FAILED_EXT                        = VkResult.VK_ERROR_VALIDATION_FAILED_EXT;
419 enum VK_ERROR_INVALID_SHADER_NV                            = VkResult.VK_ERROR_INVALID_SHADER_NV;
420 enum VK_ERROR_OUT_OF_POOL_MEMORY_KHR                       = VkResult.VK_ERROR_OUT_OF_POOL_MEMORY_KHR;
421 enum VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR                  = VkResult.VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR;
422 enum VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = VkResult.VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT;
423 enum VK_ERROR_FRAGMENTATION_EXT                            = VkResult.VK_ERROR_FRAGMENTATION_EXT;
424 enum VK_ERROR_NOT_PERMITTED_EXT                            = VkResult.VK_ERROR_NOT_PERMITTED_EXT;
425 
426 enum VkStructureType {
427     VK_STRUCTURE_TYPE_APPLICATION_INFO                                             = 0,
428     VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO                                         = 1,
429     VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO                                     = 2,
430     VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO                                           = 3,
431     VK_STRUCTURE_TYPE_SUBMIT_INFO                                                  = 4,
432     VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO                                         = 5,
433     VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE                                          = 6,
434     VK_STRUCTURE_TYPE_BIND_SPARSE_INFO                                             = 7,
435     VK_STRUCTURE_TYPE_FENCE_CREATE_INFO                                            = 8,
436     VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO                                        = 9,
437     VK_STRUCTURE_TYPE_EVENT_CREATE_INFO                                            = 10,
438     VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO                                       = 11,
439     VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO                                           = 12,
440     VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO                                      = 13,
441     VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO                                            = 14,
442     VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO                                       = 15,
443     VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO                                    = 16,
444     VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO                                   = 17,
445     VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO                            = 18,
446     VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO                      = 19,
447     VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO                    = 20,
448     VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO                      = 21,
449     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO                          = 22,
450     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO                     = 23,
451     VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO                       = 24,
452     VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO                     = 25,
453     VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO                       = 26,
454     VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO                           = 27,
455     VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO                                = 28,
456     VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO                                 = 29,
457     VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO                                  = 30,
458     VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO                                          = 31,
459     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO                            = 32,
460     VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO                                  = 33,
461     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO                                 = 34,
462     VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET                                         = 35,
463     VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET                                          = 36,
464     VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO                                      = 37,
465     VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO                                      = 38,
466     VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO                                     = 39,
467     VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO                                 = 40,
468     VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO                              = 41,
469     VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO                                    = 42,
470     VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO                                       = 43,
471     VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER                                        = 44,
472     VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER                                         = 45,
473     VK_STRUCTURE_TYPE_MEMORY_BARRIER                                               = 46,
474     VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO                                  = 47,
475     VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                                    = 48,
476     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES                          = 1000094000,
477     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO                                      = 1000157000,
478     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO                                       = 1000157001,
479     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES                       = 1000083000,
480     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS                                = 1000127000,
481     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO                               = 1000127001,
482     VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO                                   = 1000060000,
483     VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO                          = 1000060003,
484     VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO                       = 1000060004,
485     VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO                                     = 1000060005,
486     VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO                                = 1000060006,
487     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO                         = 1000060013,
488     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO                          = 1000060014,
489     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES                             = 1000070000,
490     VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO                              = 1000070001,
491     VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2                            = 1000146000,
492     VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2                             = 1000146001,
493     VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2                      = 1000146002,
494     VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2                                        = 1000146003,
495     VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2                           = 1000146004,
496     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2                                   = 1000059000,
497     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2                                 = 1000059001,
498     VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2                                          = 1000059002,
499     VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2                                    = 1000059003,
500     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2                          = 1000059004,
501     VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2                                    = 1000059005,
502     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2                          = 1000059006,
503     VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2                             = 1000059007,
504     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2                   = 1000059008,
505     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES                    = 1000117000,
506     VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO              = 1000117001,
507     VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO                                 = 1000117002,
508     VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO        = 1000117003,
509     VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO                            = 1000053000,
510     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES                           = 1000053001,
511     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES                         = 1000053002,
512     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES                    = 1000120000,
513     VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO                                        = 1000145000,
514     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES                    = 1000145001,
515     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES                  = 1000145002,
516     VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2                                          = 1000145003,
517     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO                         = 1000156000,
518     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO                                = 1000156001,
519     VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO                                 = 1000156002,
520     VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO                         = 1000156003,
521     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES            = 1000156004,
522     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES             = 1000156005,
523     VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO                       = 1000085000,
524     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO                   = 1000071000,
525     VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES                             = 1000071001,
526     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO                         = 1000071002,
527     VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES                                   = 1000071003,
528     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES                                = 1000071004,
529     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO                           = 1000072000,
530     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO                            = 1000072001,
531     VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO                                  = 1000072002,
532     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO                          = 1000112000,
533     VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES                                    = 1000112001,
534     VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO                                     = 1000113000,
535     VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO                                 = 1000077000,
536     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO                      = 1000076000,
537     VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES                                = 1000076001,
538     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES                     = 1000168000,
539     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT                                = 1000168001,
540     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES               = 1000063000,
541     VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR                                    = 1000001000,
542     VK_STRUCTURE_TYPE_PRESENT_INFO_KHR                                             = 1000001001,
543     VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR                        = 1000060007,
544     VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR                              = 1000060008,
545     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR                         = 1000060009,
546     VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR                                  = 1000060010,
547     VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR                                = 1000060011,
548     VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR                       = 1000060012,
549     VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR                                 = 1000002000,
550     VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR                              = 1000002001,
551     VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR                                     = 1000003000,
552     VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR                                 = 1000004000,
553     VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR                                  = 1000005000,
554     VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR                              = 1000006000,
555     VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR                              = 1000008000,
556     VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR                                = 1000009000,
557     VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID                                        = 1000010000,
558     VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT                        = 1000011000,
559     VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT                                 = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
560     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD         = 1000018000,
561     VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT                            = 1000022000,
562     VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT                             = 1000022001,
563     VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT                                 = 1000022002,
564     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                    = 1000026000,
565     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                   = 1000026001,
566     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                 = 1000026002,
567     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT              = 1000028000,
568     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT            = 1000028001,
569     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT          = 1000028002,
570     VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD                     = 1000041000,
571     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV             = 1000050000,
572     VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR                        = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
573     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR                       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
574     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
575     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV                         = 1000056000,
576     VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV                               = 1000056001,
577     VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV                           = 1000057000,
578     VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV                           = 1000057001,
579     VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV                    = 1000058000,
580     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR                               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
581     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR                             = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
582     VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR                                      = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
583     VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR                                = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
584     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
585     VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR                                = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
586     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
587     VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR                         = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
588     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
589     VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR                               = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
590     VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR                      = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
591     VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR                   = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
592     VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR                                 = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
593     VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR                            = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
594     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR                     = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
595     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR                      = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
596     VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT                                         = 1000061000,
597     VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN                                    = 1000062000,
598     VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT                              = 1000067000,
599     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT                     = 1000067001,
600     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR                         = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
601     VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR                          = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
602     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
603     VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR                         = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
604     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
605     VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR                               = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
606     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR                            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
607     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR                       = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
608     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR                        = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
609     VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR                              = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
610     VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR                          = 1000073000,
611     VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR                          = 1000073001,
612     VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR                           = 1000073002,
613     VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR                             = 1000073003,
614     VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR                                    = 1000074000,
615     VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR                                     = 1000074001,
616     VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR                                       = 1000074002,
617     VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR                   = 1000075000,
618     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR                  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
619     VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR                            = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
620     VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR                             = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
621     VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                       = 1000078000,
622     VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                       = 1000078001,
623     VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR                                  = 1000078002,
624     VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR                          = 1000078003,
625     VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR                                 = 1000079000,
626     VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR                                    = 1000079001,
627     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR               = 1000080000,
628     VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT    = 1000081000,
629     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT           = 1000081001,
630     VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT                         = 1000081002,
631     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR                    = 1000082000,
632     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR                   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
633     VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR                                          = 1000084000,
634     VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR                   = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
635     VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX                                 = 1000086000,
636     VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX                     = 1000086001,
637     VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX                                = 1000086002,
638     VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX                      = 1000086003,
639     VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX                         = 1000086004,
640     VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX                       = 1000086005,
641     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV             = 1000087000,
642     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT                                   = 1000090000,
643     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT                                    = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
644     VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT                                       = 1000091000,
645     VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT                                        = 1000091001,
646     VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT                                       = 1000091002,
647     VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT                            = 1000091003,
648     VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE                                    = 1000092000,
649     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
650     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV               = 1000098000,
651     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT             = 1000099000,
652     VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT             = 1000099001,
653     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT    = 1000101000,
654     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT    = 1000101001,
655     VK_STRUCTURE_TYPE_HDR_METADATA_EXT                                             = 1000105000,
656     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR                                 = 1000109000,
657     VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR                                   = 1000109001,
658     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR                                    = 1000109002,
659     VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR                                     = 1000109003,
660     VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR                                = 1000109004,
661     VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR                                       = 1000109005,
662     VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR                                         = 1000109006,
663     VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR                      = 1000111000,
664     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
665     VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR                                = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
666     VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR                                 = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
667     VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR                           = 1000114000,
668     VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR                           = 1000114001,
669     VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR                              = 1000114002,
670     VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR                                     = 1000115000,
671     VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR                                        = 1000115001,
672     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR                = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
673     VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR          = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
674     VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR                             = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
675     VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR    = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
676     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR                           = 1000119000,
677     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR                                   = 1000119001,
678     VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR                                         = 1000119002,
679     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR                = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
680     VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR                                     = 1000121000,
681     VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR                               = 1000121001,
682     VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR                                = 1000121002,
683     VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR                                     = 1000121003,
684     VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR                             = 1000121004,
685     VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK                                  = 1000122000,
686     VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK                                = 1000123000,
687     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR                            = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
688     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR                           = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
689     VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT                             = 1000128000,
690     VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT                              = 1000128001,
691     VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT                                        = 1000128002,
692     VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT                      = 1000128003,
693     VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT                        = 1000128004,
694     VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID                        = 1000129000,
695     VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID                   = 1000129001,
696     VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID            = 1000129002,
697     VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                  = 1000129003,
698     VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID              = 1000129004,
699     VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID                                      = 1000129005,
700     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT         = 1000130000,
701     VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT                       = 1000130001,
702     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT            = 1000138000,
703     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT          = 1000138001,
704     VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT                = 1000138002,
705     VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT         = 1000138003,
706     VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT                                    = 1000143000,
707     VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT                  = 1000143001,
708     VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT              = 1000143002,
709     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT              = 1000143003,
710     VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT                                   = 1000143004,
711     VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR                        = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
712     VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR                         = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
713     VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR                  = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
714     VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR                                    = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
715     VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR                       = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
716     VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR                            = 1000147000,
717     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT        = 1000148000,
718     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT      = 1000148001,
719     VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT          = 1000148002,
720     VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV              = 1000149000,
721     VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV            = 1000152000,
722     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR                     = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
723     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR                            = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
724     VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR                             = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
725     VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR                     = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
726     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
727     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR         = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
728     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR                                  = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
729     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR                                   = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
730     VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT                      = 1000158000,
731     VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                           = 1000158001,
732     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT           = 1000158002,
733     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT               = 1000158003,
734     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT           = 1000158004,
735     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                     = 1000158005,
736     VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT                             = 1000160000,
737     VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT               = 1000160001,
738     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT          = 1000161000,
739     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT             = 1000161001,
740     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT           = 1000161002,
741     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT   = 1000161003,
742     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT  = 1000161004,
743     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV    = 1000164000,
744     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV               = 1000164001,
745     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV             = 1000164002,
746     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV   = 1000164005,
747     VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV                          = 1000165000,
748     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV                        = 1000165001,
749     VK_STRUCTURE_TYPE_GEOMETRY_NV                                                  = 1000165003,
750     VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV                                        = 1000165004,
751     VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV                                             = 1000165005,
752     VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV                   = 1000165006,
753     VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV               = 1000165007,
754     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV           = 1000165008,
755     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV                    = 1000165009,
756     VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV                      = 1000165011,
757     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV                               = 1000165012,
758     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV     = 1000166000,
759     VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV   = 1000166001,
760     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR                 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
761     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR                            = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
762     VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT                 = 1000174000,
763     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR                    = 1000177000,
764     VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT                          = 1000178000,
765     VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT                           = 1000178001,
766     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT          = 1000178002,
767     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR             = 1000180000,
768     VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT                                = 1000184000,
769     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD                   = 1000185000,
770     VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD                 = 1000189000,
771     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT      = 1000190000,
772     VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT          = 1000190001,
773     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT        = 1000190002,
774     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR                        = 1000196000,
775     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR                = 1000197000,
776     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV       = 1000201000,
777     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV                      = 1000202000,
778     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV                    = 1000202001,
779     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV      = 1000203000,
780     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV           = 1000204000,
781     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV     = 1000205000,
782     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV                = 1000205002,
783     VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV                                           = 1000206000,
784     VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV                        = 1000206001,
785     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR             = 1000211000,
786     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT                  = 1000212000,
787     VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA                        = 1000214000,
788     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT            = 1000218000,
789     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT          = 1000218001,
790     VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT             = 1000218002,
791     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT             = 1000221000,
792     VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT                          = 1000246000,
793 }
794 enum VK_STRUCTURE_TYPE_APPLICATION_INFO                                             = VkStructureType.VK_STRUCTURE_TYPE_APPLICATION_INFO;
795 enum VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO                                         = VkStructureType.VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
796 enum VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO                                     = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
797 enum VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO                                           = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
798 enum VK_STRUCTURE_TYPE_SUBMIT_INFO                                                  = VkStructureType.VK_STRUCTURE_TYPE_SUBMIT_INFO;
799 enum VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO                                         = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
800 enum VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE                                          = VkStructureType.VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
801 enum VK_STRUCTURE_TYPE_BIND_SPARSE_INFO                                             = VkStructureType.VK_STRUCTURE_TYPE_BIND_SPARSE_INFO;
802 enum VK_STRUCTURE_TYPE_FENCE_CREATE_INFO                                            = VkStructureType.VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
803 enum VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO                                        = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
804 enum VK_STRUCTURE_TYPE_EVENT_CREATE_INFO                                            = VkStructureType.VK_STRUCTURE_TYPE_EVENT_CREATE_INFO;
805 enum VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO;
806 enum VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO                                           = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
807 enum VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
808 enum VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO                                            = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
809 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
810 enum VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO                                    = VkStructureType.VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
811 enum VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO                                   = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
812 enum VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
813 enum VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO                      = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
814 enum VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO                    = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
815 enum VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO                      = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO;
816 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO                          = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
817 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO                     = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
818 enum VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO                       = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
819 enum VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO                     = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
820 enum VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO                       = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
821 enum VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO                           = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
822 enum VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO                                = VkStructureType.VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
823 enum VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
824 enum VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO                                  = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
825 enum VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO                                          = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
826 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
827 enum VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO                                  = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
828 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
829 enum VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET                                         = VkStructureType.VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
830 enum VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET                                          = VkStructureType.VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET;
831 enum VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
832 enum VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
833 enum VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO                                     = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
834 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
835 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO                              = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
836 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO                                    = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
837 enum VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
838 enum VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER                                        = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
839 enum VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER                                         = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
840 enum VK_STRUCTURE_TYPE_MEMORY_BARRIER                                               = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_BARRIER;
841 enum VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO                                  = VkStructureType.VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO;
842 enum VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                                    = VkStructureType.VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO;
843 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
844 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO;
845 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO;
846 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
847 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS                                = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
848 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO                               = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
849 enum VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO                                   = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO;
850 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO                          = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO;
851 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO                       = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO;
852 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO                                     = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO;
853 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO                                = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO;
854 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO                         = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO;
855 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO                          = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO;
856 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES                             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
857 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO                              = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO;
858 enum VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2                            = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2;
859 enum VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2                             = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2;
860 enum VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2                      = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
861 enum VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2                                        = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
862 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2                           = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
863 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2                                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
864 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2                                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
865 enum VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2                                          = VkStructureType.VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2;
866 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2                                    = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
867 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
868 enum VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2                                    = VkStructureType.VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2;
869 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
870 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2                             = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2;
871 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
872 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES;
873 enum VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO              = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO;
874 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO;
875 enum VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO        = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;
876 enum VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
877 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES;
878 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES;
879 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES;
880 enum VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO                                        = VkStructureType.VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO;
881 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES;
882 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES;
883 enum VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2                                          = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2;
884 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO                         = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
885 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO                                = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO;
886 enum VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO;
887 enum VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO                         = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
888 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
889 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES             = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
890 enum VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO                       = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO;
891 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
892 enum VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES                             = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES;
893 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
894 enum VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES                                   = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES;
895 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES                                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES;
896 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO                           = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO;
897 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
898 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO                                  = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO;
899 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
900 enum VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES                                    = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES;
901 enum VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO                                     = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO;
902 enum VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO;
903 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
904 enum VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES                                = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES;
905 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES;
906 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT                                = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT;
907 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES;
908 enum VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
909 enum VK_STRUCTURE_TYPE_PRESENT_INFO_KHR                                             = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;
910 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR;
911 enum VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR;
912 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR;
913 enum VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR;
914 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR;
915 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR                       = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR;
916 enum VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR;
917 enum VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR;
918 enum VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR;
919 enum VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
920 enum VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
921 enum VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
922 enum VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
923 enum VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
924 enum VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID                                        = VkStructureType.VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID;
925 enum VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT                        = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
926 enum VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT                                 = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT;
927 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD         = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
928 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT                            = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT;
929 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT                             = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT;
930 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT                                 = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
931 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                    = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV;
932 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                   = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV;
933 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                 = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV;
934 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
935 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT;
936 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT          = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT;
937 enum VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD                     = VkStructureType.VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
938 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV;
939 enum VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR;
940 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR;
941 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR;
942 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV                         = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
943 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV                               = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV;
944 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV                           = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV;
945 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV                           = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV;
946 enum VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV                    = VkStructureType.VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV;
947 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR;
948 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR;
949 enum VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR;
950 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR;
951 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR;
952 enum VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR;
953 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR;
954 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR;
955 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR;
956 enum VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR;
957 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR                      = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR;
958 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR                   = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR;
959 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR;
960 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR;
961 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR;
962 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR                      = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR;
963 enum VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT                                         = VkStructureType.VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT;
964 enum VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN                                    = VkStructureType.VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN;
965 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT                              = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT;
966 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT;
967 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR;
968 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR;
969 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR;
970 enum VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR;
971 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR;
972 enum VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR;
973 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR;
974 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR                       = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR;
975 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR;
976 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR;
977 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
978 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
979 enum VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR;
980 enum VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR;
981 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR;
982 enum VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR;
983 enum VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR                                       = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR;
984 enum VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR                   = VkStructureType.VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR;
985 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR;
986 enum VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR;
987 enum VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR;
988 enum VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                       = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
989 enum VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                       = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
990 enum VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR;
991 enum VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR;
992 enum VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR;
993 enum VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR;
994 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR;
995 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT    = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT;
996 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
997 enum VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT                         = VkStructureType.VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT;
998 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR;
999 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR;
1000 enum VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR;
1001 enum VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR                   = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR;
1002 enum VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX                                 = VkStructureType.VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX;
1003 enum VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX                     = VkStructureType.VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX;
1004 enum VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX                                = VkStructureType.VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX;
1005 enum VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX                      = VkStructureType.VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX;
1006 enum VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX                         = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX;
1007 enum VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX                       = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX;
1008 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV             = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV;
1009 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT                                   = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
1010 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT                                    = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT;
1011 enum VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT                                       = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT;
1012 enum VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT                                        = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT;
1013 enum VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT                                       = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT;
1014 enum VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT                            = VkStructureType.VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT;
1015 enum VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE                                    = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE;
1016 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX;
1017 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV               = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV;
1018 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT;
1019 enum VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT             = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT;
1020 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT;
1021 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT    = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT;
1022 enum VK_STRUCTURE_TYPE_HDR_METADATA_EXT                                             = VkStructureType.VK_STRUCTURE_TYPE_HDR_METADATA_EXT;
1023 enum VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR;
1024 enum VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR;
1025 enum VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR;
1026 enum VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR;
1027 enum VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR;
1028 enum VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR                                       = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR;
1029 enum VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR;
1030 enum VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR                      = VkStructureType.VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR;
1031 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR;
1032 enum VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR;
1033 enum VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR;
1034 enum VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR;
1035 enum VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR;
1036 enum VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR;
1037 enum VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR;
1038 enum VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR                                        = VkStructureType.VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR;
1039 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR;
1040 enum VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR          = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR;
1041 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR;
1042 enum VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR    = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR;
1043 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
1044 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR;
1045 enum VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR;
1046 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR;
1047 enum VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR;
1048 enum VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR;
1049 enum VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR;
1050 enum VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR;
1051 enum VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR;
1052 enum VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK                                  = VkStructureType.VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK;
1053 enum VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK                                = VkStructureType.VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK;
1054 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR;
1055 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR;
1056 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT                             = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
1057 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT                              = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT;
1058 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT                                        = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
1059 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT                      = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
1060 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT                        = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
1061 enum VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID                        = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID;
1062 enum VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID                   = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID;
1063 enum VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID            = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID;
1064 enum VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                  = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
1065 enum VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID              = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
1066 enum VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID                                      = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID;
1067 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT;
1068 enum VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT                       = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT;
1069 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT;
1070 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT;
1071 enum VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT                = VkStructureType.VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT;
1072 enum VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT         = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT;
1073 enum VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT                                    = VkStructureType.VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT;
1074 enum VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT;
1075 enum VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT              = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT;
1076 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT;
1077 enum VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT                                   = VkStructureType.VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT;
1078 enum VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR;
1079 enum VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR;
1080 enum VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR                  = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR;
1081 enum VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR;
1082 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR                       = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR;
1083 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR;
1084 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT;
1085 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT;
1086 enum VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT          = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT;
1087 enum VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV              = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV;
1088 enum VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV            = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV;
1089 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR;
1090 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR;
1091 enum VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR;
1092 enum VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR;
1093 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR;
1094 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR         = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR;
1095 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR;
1096 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR;
1097 enum VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT                      = VkStructureType.VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT;
1098 enum VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                           = VkStructureType.VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT;
1099 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT;
1100 enum VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT               = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT;
1101 enum VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT           = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT;
1102 enum VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                     = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT;
1103 enum VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT                             = VkStructureType.VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT;
1104 enum VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT               = VkStructureType.VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT;
1105 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT          = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT;
1106 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT;
1107 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT;
1108 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT   = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT;
1109 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT  = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT;
1110 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV    = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV;
1111 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV;
1112 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV;
1113 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV   = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV;
1114 enum VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV                          = VkStructureType.VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV;
1115 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV                        = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV;
1116 enum VK_STRUCTURE_TYPE_GEOMETRY_NV                                                  = VkStructureType.VK_STRUCTURE_TYPE_GEOMETRY_NV;
1117 enum VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV                                        = VkStructureType.VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV;
1118 enum VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV                                             = VkStructureType.VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV;
1119 enum VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV                   = VkStructureType.VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV;
1120 enum VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV               = VkStructureType.VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV;
1121 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV           = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV;
1122 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV;
1123 enum VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV                      = VkStructureType.VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV;
1124 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV                               = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV;
1125 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV;
1126 enum VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV   = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV;
1127 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR;
1128 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR;
1129 enum VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT                 = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT;
1130 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR;
1131 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT                          = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT;
1132 enum VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT                           = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT;
1133 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT;
1134 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR;
1135 enum VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT                                = VkStructureType.VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT;
1136 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD;
1137 enum VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD                 = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD;
1138 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT;
1139 enum VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT          = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT;
1140 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT;
1141 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR;
1142 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR;
1143 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV;
1144 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV;
1145 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV;
1146 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV;
1147 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV;
1148 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV     = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV;
1149 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV;
1150 enum VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV                                           = VkStructureType.VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV;
1151 enum VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV                        = VkStructureType.VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV;
1152 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR;
1153 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT;
1154 enum VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA                        = VkStructureType.VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA;
1155 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
1156 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
1157 enum VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT             = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT;
1158 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT;
1159 enum VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT                          = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT;
1160 
1161 enum VkSystemAllocationScope {
1162     VK_SYSTEM_ALLOCATION_SCOPE_COMMAND  = 0,
1163     VK_SYSTEM_ALLOCATION_SCOPE_OBJECT   = 1,
1164     VK_SYSTEM_ALLOCATION_SCOPE_CACHE    = 2,
1165     VK_SYSTEM_ALLOCATION_SCOPE_DEVICE   = 3,
1166     VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1167 }
1168 enum VK_SYSTEM_ALLOCATION_SCOPE_COMMAND  = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_COMMAND;
1169 enum VK_SYSTEM_ALLOCATION_SCOPE_OBJECT   = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_OBJECT;
1170 enum VK_SYSTEM_ALLOCATION_SCOPE_CACHE    = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_CACHE;
1171 enum VK_SYSTEM_ALLOCATION_SCOPE_DEVICE   = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_DEVICE;
1172 enum VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE;
1173 
1174 enum VkInternalAllocationType {
1175     VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1176 }
1177 enum VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE;
1178 
1179 enum VkFormat {
1180     VK_FORMAT_UNDEFINED                                      = 0,
1181     VK_FORMAT_R4G4_UNORM_PACK8                               = 1,
1182     VK_FORMAT_R4G4B4A4_UNORM_PACK16                          = 2,
1183     VK_FORMAT_B4G4R4A4_UNORM_PACK16                          = 3,
1184     VK_FORMAT_R5G6B5_UNORM_PACK16                            = 4,
1185     VK_FORMAT_B5G6R5_UNORM_PACK16                            = 5,
1186     VK_FORMAT_R5G5B5A1_UNORM_PACK16                          = 6,
1187     VK_FORMAT_B5G5R5A1_UNORM_PACK16                          = 7,
1188     VK_FORMAT_A1R5G5B5_UNORM_PACK16                          = 8,
1189     VK_FORMAT_R8_UNORM                                       = 9,
1190     VK_FORMAT_R8_SNORM                                       = 10,
1191     VK_FORMAT_R8_USCALED                                     = 11,
1192     VK_FORMAT_R8_SSCALED                                     = 12,
1193     VK_FORMAT_R8_UINT                                        = 13,
1194     VK_FORMAT_R8_SINT                                        = 14,
1195     VK_FORMAT_R8_SRGB                                        = 15,
1196     VK_FORMAT_R8G8_UNORM                                     = 16,
1197     VK_FORMAT_R8G8_SNORM                                     = 17,
1198     VK_FORMAT_R8G8_USCALED                                   = 18,
1199     VK_FORMAT_R8G8_SSCALED                                   = 19,
1200     VK_FORMAT_R8G8_UINT                                      = 20,
1201     VK_FORMAT_R8G8_SINT                                      = 21,
1202     VK_FORMAT_R8G8_SRGB                                      = 22,
1203     VK_FORMAT_R8G8B8_UNORM                                   = 23,
1204     VK_FORMAT_R8G8B8_SNORM                                   = 24,
1205     VK_FORMAT_R8G8B8_USCALED                                 = 25,
1206     VK_FORMAT_R8G8B8_SSCALED                                 = 26,
1207     VK_FORMAT_R8G8B8_UINT                                    = 27,
1208     VK_FORMAT_R8G8B8_SINT                                    = 28,
1209     VK_FORMAT_R8G8B8_SRGB                                    = 29,
1210     VK_FORMAT_B8G8R8_UNORM                                   = 30,
1211     VK_FORMAT_B8G8R8_SNORM                                   = 31,
1212     VK_FORMAT_B8G8R8_USCALED                                 = 32,
1213     VK_FORMAT_B8G8R8_SSCALED                                 = 33,
1214     VK_FORMAT_B8G8R8_UINT                                    = 34,
1215     VK_FORMAT_B8G8R8_SINT                                    = 35,
1216     VK_FORMAT_B8G8R8_SRGB                                    = 36,
1217     VK_FORMAT_R8G8B8A8_UNORM                                 = 37,
1218     VK_FORMAT_R8G8B8A8_SNORM                                 = 38,
1219     VK_FORMAT_R8G8B8A8_USCALED                               = 39,
1220     VK_FORMAT_R8G8B8A8_SSCALED                               = 40,
1221     VK_FORMAT_R8G8B8A8_UINT                                  = 41,
1222     VK_FORMAT_R8G8B8A8_SINT                                  = 42,
1223     VK_FORMAT_R8G8B8A8_SRGB                                  = 43,
1224     VK_FORMAT_B8G8R8A8_UNORM                                 = 44,
1225     VK_FORMAT_B8G8R8A8_SNORM                                 = 45,
1226     VK_FORMAT_B8G8R8A8_USCALED                               = 46,
1227     VK_FORMAT_B8G8R8A8_SSCALED                               = 47,
1228     VK_FORMAT_B8G8R8A8_UINT                                  = 48,
1229     VK_FORMAT_B8G8R8A8_SINT                                  = 49,
1230     VK_FORMAT_B8G8R8A8_SRGB                                  = 50,
1231     VK_FORMAT_A8B8G8R8_UNORM_PACK32                          = 51,
1232     VK_FORMAT_A8B8G8R8_SNORM_PACK32                          = 52,
1233     VK_FORMAT_A8B8G8R8_USCALED_PACK32                        = 53,
1234     VK_FORMAT_A8B8G8R8_SSCALED_PACK32                        = 54,
1235     VK_FORMAT_A8B8G8R8_UINT_PACK32                           = 55,
1236     VK_FORMAT_A8B8G8R8_SINT_PACK32                           = 56,
1237     VK_FORMAT_A8B8G8R8_SRGB_PACK32                           = 57,
1238     VK_FORMAT_A2R10G10B10_UNORM_PACK32                       = 58,
1239     VK_FORMAT_A2R10G10B10_SNORM_PACK32                       = 59,
1240     VK_FORMAT_A2R10G10B10_USCALED_PACK32                     = 60,
1241     VK_FORMAT_A2R10G10B10_SSCALED_PACK32                     = 61,
1242     VK_FORMAT_A2R10G10B10_UINT_PACK32                        = 62,
1243     VK_FORMAT_A2R10G10B10_SINT_PACK32                        = 63,
1244     VK_FORMAT_A2B10G10R10_UNORM_PACK32                       = 64,
1245     VK_FORMAT_A2B10G10R10_SNORM_PACK32                       = 65,
1246     VK_FORMAT_A2B10G10R10_USCALED_PACK32                     = 66,
1247     VK_FORMAT_A2B10G10R10_SSCALED_PACK32                     = 67,
1248     VK_FORMAT_A2B10G10R10_UINT_PACK32                        = 68,
1249     VK_FORMAT_A2B10G10R10_SINT_PACK32                        = 69,
1250     VK_FORMAT_R16_UNORM                                      = 70,
1251     VK_FORMAT_R16_SNORM                                      = 71,
1252     VK_FORMAT_R16_USCALED                                    = 72,
1253     VK_FORMAT_R16_SSCALED                                    = 73,
1254     VK_FORMAT_R16_UINT                                       = 74,
1255     VK_FORMAT_R16_SINT                                       = 75,
1256     VK_FORMAT_R16_SFLOAT                                     = 76,
1257     VK_FORMAT_R16G16_UNORM                                   = 77,
1258     VK_FORMAT_R16G16_SNORM                                   = 78,
1259     VK_FORMAT_R16G16_USCALED                                 = 79,
1260     VK_FORMAT_R16G16_SSCALED                                 = 80,
1261     VK_FORMAT_R16G16_UINT                                    = 81,
1262     VK_FORMAT_R16G16_SINT                                    = 82,
1263     VK_FORMAT_R16G16_SFLOAT                                  = 83,
1264     VK_FORMAT_R16G16B16_UNORM                                = 84,
1265     VK_FORMAT_R16G16B16_SNORM                                = 85,
1266     VK_FORMAT_R16G16B16_USCALED                              = 86,
1267     VK_FORMAT_R16G16B16_SSCALED                              = 87,
1268     VK_FORMAT_R16G16B16_UINT                                 = 88,
1269     VK_FORMAT_R16G16B16_SINT                                 = 89,
1270     VK_FORMAT_R16G16B16_SFLOAT                               = 90,
1271     VK_FORMAT_R16G16B16A16_UNORM                             = 91,
1272     VK_FORMAT_R16G16B16A16_SNORM                             = 92,
1273     VK_FORMAT_R16G16B16A16_USCALED                           = 93,
1274     VK_FORMAT_R16G16B16A16_SSCALED                           = 94,
1275     VK_FORMAT_R16G16B16A16_UINT                              = 95,
1276     VK_FORMAT_R16G16B16A16_SINT                              = 96,
1277     VK_FORMAT_R16G16B16A16_SFLOAT                            = 97,
1278     VK_FORMAT_R32_UINT                                       = 98,
1279     VK_FORMAT_R32_SINT                                       = 99,
1280     VK_FORMAT_R32_SFLOAT                                     = 100,
1281     VK_FORMAT_R32G32_UINT                                    = 101,
1282     VK_FORMAT_R32G32_SINT                                    = 102,
1283     VK_FORMAT_R32G32_SFLOAT                                  = 103,
1284     VK_FORMAT_R32G32B32_UINT                                 = 104,
1285     VK_FORMAT_R32G32B32_SINT                                 = 105,
1286     VK_FORMAT_R32G32B32_SFLOAT                               = 106,
1287     VK_FORMAT_R32G32B32A32_UINT                              = 107,
1288     VK_FORMAT_R32G32B32A32_SINT                              = 108,
1289     VK_FORMAT_R32G32B32A32_SFLOAT                            = 109,
1290     VK_FORMAT_R64_UINT                                       = 110,
1291     VK_FORMAT_R64_SINT                                       = 111,
1292     VK_FORMAT_R64_SFLOAT                                     = 112,
1293     VK_FORMAT_R64G64_UINT                                    = 113,
1294     VK_FORMAT_R64G64_SINT                                    = 114,
1295     VK_FORMAT_R64G64_SFLOAT                                  = 115,
1296     VK_FORMAT_R64G64B64_UINT                                 = 116,
1297     VK_FORMAT_R64G64B64_SINT                                 = 117,
1298     VK_FORMAT_R64G64B64_SFLOAT                               = 118,
1299     VK_FORMAT_R64G64B64A64_UINT                              = 119,
1300     VK_FORMAT_R64G64B64A64_SINT                              = 120,
1301     VK_FORMAT_R64G64B64A64_SFLOAT                            = 121,
1302     VK_FORMAT_B10G11R11_UFLOAT_PACK32                        = 122,
1303     VK_FORMAT_E5B9G9R9_UFLOAT_PACK32                         = 123,
1304     VK_FORMAT_D16_UNORM                                      = 124,
1305     VK_FORMAT_X8_D24_UNORM_PACK32                            = 125,
1306     VK_FORMAT_D32_SFLOAT                                     = 126,
1307     VK_FORMAT_S8_UINT                                        = 127,
1308     VK_FORMAT_D16_UNORM_S8_UINT                              = 128,
1309     VK_FORMAT_D24_UNORM_S8_UINT                              = 129,
1310     VK_FORMAT_D32_SFLOAT_S8_UINT                             = 130,
1311     VK_FORMAT_BC1_RGB_UNORM_BLOCK                            = 131,
1312     VK_FORMAT_BC1_RGB_SRGB_BLOCK                             = 132,
1313     VK_FORMAT_BC1_RGBA_UNORM_BLOCK                           = 133,
1314     VK_FORMAT_BC1_RGBA_SRGB_BLOCK                            = 134,
1315     VK_FORMAT_BC2_UNORM_BLOCK                                = 135,
1316     VK_FORMAT_BC2_SRGB_BLOCK                                 = 136,
1317     VK_FORMAT_BC3_UNORM_BLOCK                                = 137,
1318     VK_FORMAT_BC3_SRGB_BLOCK                                 = 138,
1319     VK_FORMAT_BC4_UNORM_BLOCK                                = 139,
1320     VK_FORMAT_BC4_SNORM_BLOCK                                = 140,
1321     VK_FORMAT_BC5_UNORM_BLOCK                                = 141,
1322     VK_FORMAT_BC5_SNORM_BLOCK                                = 142,
1323     VK_FORMAT_BC6H_UFLOAT_BLOCK                              = 143,
1324     VK_FORMAT_BC6H_SFLOAT_BLOCK                              = 144,
1325     VK_FORMAT_BC7_UNORM_BLOCK                                = 145,
1326     VK_FORMAT_BC7_SRGB_BLOCK                                 = 146,
1327     VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK                        = 147,
1328     VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK                         = 148,
1329     VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK                      = 149,
1330     VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK                       = 150,
1331     VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK                      = 151,
1332     VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK                       = 152,
1333     VK_FORMAT_EAC_R11_UNORM_BLOCK                            = 153,
1334     VK_FORMAT_EAC_R11_SNORM_BLOCK                            = 154,
1335     VK_FORMAT_EAC_R11G11_UNORM_BLOCK                         = 155,
1336     VK_FORMAT_EAC_R11G11_SNORM_BLOCK                         = 156,
1337     VK_FORMAT_ASTC_4x4_UNORM_BLOCK                           = 157,
1338     VK_FORMAT_ASTC_4x4_SRGB_BLOCK                            = 158,
1339     VK_FORMAT_ASTC_5x4_UNORM_BLOCK                           = 159,
1340     VK_FORMAT_ASTC_5x4_SRGB_BLOCK                            = 160,
1341     VK_FORMAT_ASTC_5x5_UNORM_BLOCK                           = 161,
1342     VK_FORMAT_ASTC_5x5_SRGB_BLOCK                            = 162,
1343     VK_FORMAT_ASTC_6x5_UNORM_BLOCK                           = 163,
1344     VK_FORMAT_ASTC_6x5_SRGB_BLOCK                            = 164,
1345     VK_FORMAT_ASTC_6x6_UNORM_BLOCK                           = 165,
1346     VK_FORMAT_ASTC_6x6_SRGB_BLOCK                            = 166,
1347     VK_FORMAT_ASTC_8x5_UNORM_BLOCK                           = 167,
1348     VK_FORMAT_ASTC_8x5_SRGB_BLOCK                            = 168,
1349     VK_FORMAT_ASTC_8x6_UNORM_BLOCK                           = 169,
1350     VK_FORMAT_ASTC_8x6_SRGB_BLOCK                            = 170,
1351     VK_FORMAT_ASTC_8x8_UNORM_BLOCK                           = 171,
1352     VK_FORMAT_ASTC_8x8_SRGB_BLOCK                            = 172,
1353     VK_FORMAT_ASTC_10x5_UNORM_BLOCK                          = 173,
1354     VK_FORMAT_ASTC_10x5_SRGB_BLOCK                           = 174,
1355     VK_FORMAT_ASTC_10x6_UNORM_BLOCK                          = 175,
1356     VK_FORMAT_ASTC_10x6_SRGB_BLOCK                           = 176,
1357     VK_FORMAT_ASTC_10x8_UNORM_BLOCK                          = 177,
1358     VK_FORMAT_ASTC_10x8_SRGB_BLOCK                           = 178,
1359     VK_FORMAT_ASTC_10x10_UNORM_BLOCK                         = 179,
1360     VK_FORMAT_ASTC_10x10_SRGB_BLOCK                          = 180,
1361     VK_FORMAT_ASTC_12x10_UNORM_BLOCK                         = 181,
1362     VK_FORMAT_ASTC_12x10_SRGB_BLOCK                          = 182,
1363     VK_FORMAT_ASTC_12x12_UNORM_BLOCK                         = 183,
1364     VK_FORMAT_ASTC_12x12_SRGB_BLOCK                          = 184,
1365     VK_FORMAT_G8B8G8R8_422_UNORM                             = 1000156000,
1366     VK_FORMAT_B8G8R8G8_422_UNORM                             = 1000156001,
1367     VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM                      = 1000156002,
1368     VK_FORMAT_G8_B8R8_2PLANE_420_UNORM                       = 1000156003,
1369     VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM                      = 1000156004,
1370     VK_FORMAT_G8_B8R8_2PLANE_422_UNORM                       = 1000156005,
1371     VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM                      = 1000156006,
1372     VK_FORMAT_R10X6_UNORM_PACK16                             = 1000156007,
1373     VK_FORMAT_R10X6G10X6_UNORM_2PACK16                       = 1000156008,
1374     VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16             = 1000156009,
1375     VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16         = 1000156010,
1376     VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16         = 1000156011,
1377     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16     = 1000156012,
1378     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16      = 1000156013,
1379     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16     = 1000156014,
1380     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16      = 1000156015,
1381     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16     = 1000156016,
1382     VK_FORMAT_R12X4_UNORM_PACK16                             = 1000156017,
1383     VK_FORMAT_R12X4G12X4_UNORM_2PACK16                       = 1000156018,
1384     VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16             = 1000156019,
1385     VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16         = 1000156020,
1386     VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16         = 1000156021,
1387     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16     = 1000156022,
1388     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16      = 1000156023,
1389     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16     = 1000156024,
1390     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16      = 1000156025,
1391     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16     = 1000156026,
1392     VK_FORMAT_G16B16G16R16_422_UNORM                         = 1000156027,
1393     VK_FORMAT_B16G16R16G16_422_UNORM                         = 1000156028,
1394     VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM                   = 1000156029,
1395     VK_FORMAT_G16_B16R16_2PLANE_420_UNORM                    = 1000156030,
1396     VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM                   = 1000156031,
1397     VK_FORMAT_G16_B16R16_2PLANE_422_UNORM                    = 1000156032,
1398     VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM                   = 1000156033,
1399     VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG                    = 1000054000,
1400     VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG                    = 1000054001,
1401     VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG                    = 1000054002,
1402     VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG                    = 1000054003,
1403     VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG                     = 1000054004,
1404     VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG                     = 1000054005,
1405     VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG                     = 1000054006,
1406     VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG                     = 1000054007,
1407     VK_FORMAT_G8B8G8R8_422_UNORM_KHR                         = VK_FORMAT_G8B8G8R8_422_UNORM,
1408     VK_FORMAT_B8G8R8G8_422_UNORM_KHR                         = VK_FORMAT_B8G8R8G8_422_UNORM,
1409     VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR                  = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1410     VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR                   = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1411     VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR                  = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1412     VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR                   = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1413     VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR                  = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1414     VK_FORMAT_R10X6_UNORM_PACK16_KHR                         = VK_FORMAT_R10X6_UNORM_PACK16,
1415     VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR                   = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1416     VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR         = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1417     VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR     = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1418     VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR     = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1419     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1420     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR  = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1421     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1422     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR  = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1423     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1424     VK_FORMAT_R12X4_UNORM_PACK16_KHR                         = VK_FORMAT_R12X4_UNORM_PACK16,
1425     VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR                   = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1426     VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR         = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1427     VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR     = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1428     VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR     = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1429     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1430     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR  = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1431     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1432     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR  = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1433     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1434     VK_FORMAT_G16B16G16R16_422_UNORM_KHR                     = VK_FORMAT_G16B16G16R16_422_UNORM,
1435     VK_FORMAT_B16G16R16G16_422_UNORM_KHR                     = VK_FORMAT_B16G16R16G16_422_UNORM,
1436     VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR               = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1437     VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR                = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1438     VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR               = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1439     VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR                = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1440     VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR               = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1441 }
1442 enum VK_FORMAT_UNDEFINED                                      = VkFormat.VK_FORMAT_UNDEFINED;
1443 enum VK_FORMAT_R4G4_UNORM_PACK8                               = VkFormat.VK_FORMAT_R4G4_UNORM_PACK8;
1444 enum VK_FORMAT_R4G4B4A4_UNORM_PACK16                          = VkFormat.VK_FORMAT_R4G4B4A4_UNORM_PACK16;
1445 enum VK_FORMAT_B4G4R4A4_UNORM_PACK16                          = VkFormat.VK_FORMAT_B4G4R4A4_UNORM_PACK16;
1446 enum VK_FORMAT_R5G6B5_UNORM_PACK16                            = VkFormat.VK_FORMAT_R5G6B5_UNORM_PACK16;
1447 enum VK_FORMAT_B5G6R5_UNORM_PACK16                            = VkFormat.VK_FORMAT_B5G6R5_UNORM_PACK16;
1448 enum VK_FORMAT_R5G5B5A1_UNORM_PACK16                          = VkFormat.VK_FORMAT_R5G5B5A1_UNORM_PACK16;
1449 enum VK_FORMAT_B5G5R5A1_UNORM_PACK16                          = VkFormat.VK_FORMAT_B5G5R5A1_UNORM_PACK16;
1450 enum VK_FORMAT_A1R5G5B5_UNORM_PACK16                          = VkFormat.VK_FORMAT_A1R5G5B5_UNORM_PACK16;
1451 enum VK_FORMAT_R8_UNORM                                       = VkFormat.VK_FORMAT_R8_UNORM;
1452 enum VK_FORMAT_R8_SNORM                                       = VkFormat.VK_FORMAT_R8_SNORM;
1453 enum VK_FORMAT_R8_USCALED                                     = VkFormat.VK_FORMAT_R8_USCALED;
1454 enum VK_FORMAT_R8_SSCALED                                     = VkFormat.VK_FORMAT_R8_SSCALED;
1455 enum VK_FORMAT_R8_UINT                                        = VkFormat.VK_FORMAT_R8_UINT;
1456 enum VK_FORMAT_R8_SINT                                        = VkFormat.VK_FORMAT_R8_SINT;
1457 enum VK_FORMAT_R8_SRGB                                        = VkFormat.VK_FORMAT_R8_SRGB;
1458 enum VK_FORMAT_R8G8_UNORM                                     = VkFormat.VK_FORMAT_R8G8_UNORM;
1459 enum VK_FORMAT_R8G8_SNORM                                     = VkFormat.VK_FORMAT_R8G8_SNORM;
1460 enum VK_FORMAT_R8G8_USCALED                                   = VkFormat.VK_FORMAT_R8G8_USCALED;
1461 enum VK_FORMAT_R8G8_SSCALED                                   = VkFormat.VK_FORMAT_R8G8_SSCALED;
1462 enum VK_FORMAT_R8G8_UINT                                      = VkFormat.VK_FORMAT_R8G8_UINT;
1463 enum VK_FORMAT_R8G8_SINT                                      = VkFormat.VK_FORMAT_R8G8_SINT;
1464 enum VK_FORMAT_R8G8_SRGB                                      = VkFormat.VK_FORMAT_R8G8_SRGB;
1465 enum VK_FORMAT_R8G8B8_UNORM                                   = VkFormat.VK_FORMAT_R8G8B8_UNORM;
1466 enum VK_FORMAT_R8G8B8_SNORM                                   = VkFormat.VK_FORMAT_R8G8B8_SNORM;
1467 enum VK_FORMAT_R8G8B8_USCALED                                 = VkFormat.VK_FORMAT_R8G8B8_USCALED;
1468 enum VK_FORMAT_R8G8B8_SSCALED                                 = VkFormat.VK_FORMAT_R8G8B8_SSCALED;
1469 enum VK_FORMAT_R8G8B8_UINT                                    = VkFormat.VK_FORMAT_R8G8B8_UINT;
1470 enum VK_FORMAT_R8G8B8_SINT                                    = VkFormat.VK_FORMAT_R8G8B8_SINT;
1471 enum VK_FORMAT_R8G8B8_SRGB                                    = VkFormat.VK_FORMAT_R8G8B8_SRGB;
1472 enum VK_FORMAT_B8G8R8_UNORM                                   = VkFormat.VK_FORMAT_B8G8R8_UNORM;
1473 enum VK_FORMAT_B8G8R8_SNORM                                   = VkFormat.VK_FORMAT_B8G8R8_SNORM;
1474 enum VK_FORMAT_B8G8R8_USCALED                                 = VkFormat.VK_FORMAT_B8G8R8_USCALED;
1475 enum VK_FORMAT_B8G8R8_SSCALED                                 = VkFormat.VK_FORMAT_B8G8R8_SSCALED;
1476 enum VK_FORMAT_B8G8R8_UINT                                    = VkFormat.VK_FORMAT_B8G8R8_UINT;
1477 enum VK_FORMAT_B8G8R8_SINT                                    = VkFormat.VK_FORMAT_B8G8R8_SINT;
1478 enum VK_FORMAT_B8G8R8_SRGB                                    = VkFormat.VK_FORMAT_B8G8R8_SRGB;
1479 enum VK_FORMAT_R8G8B8A8_UNORM                                 = VkFormat.VK_FORMAT_R8G8B8A8_UNORM;
1480 enum VK_FORMAT_R8G8B8A8_SNORM                                 = VkFormat.VK_FORMAT_R8G8B8A8_SNORM;
1481 enum VK_FORMAT_R8G8B8A8_USCALED                               = VkFormat.VK_FORMAT_R8G8B8A8_USCALED;
1482 enum VK_FORMAT_R8G8B8A8_SSCALED                               = VkFormat.VK_FORMAT_R8G8B8A8_SSCALED;
1483 enum VK_FORMAT_R8G8B8A8_UINT                                  = VkFormat.VK_FORMAT_R8G8B8A8_UINT;
1484 enum VK_FORMAT_R8G8B8A8_SINT                                  = VkFormat.VK_FORMAT_R8G8B8A8_SINT;
1485 enum VK_FORMAT_R8G8B8A8_SRGB                                  = VkFormat.VK_FORMAT_R8G8B8A8_SRGB;
1486 enum VK_FORMAT_B8G8R8A8_UNORM                                 = VkFormat.VK_FORMAT_B8G8R8A8_UNORM;
1487 enum VK_FORMAT_B8G8R8A8_SNORM                                 = VkFormat.VK_FORMAT_B8G8R8A8_SNORM;
1488 enum VK_FORMAT_B8G8R8A8_USCALED                               = VkFormat.VK_FORMAT_B8G8R8A8_USCALED;
1489 enum VK_FORMAT_B8G8R8A8_SSCALED                               = VkFormat.VK_FORMAT_B8G8R8A8_SSCALED;
1490 enum VK_FORMAT_B8G8R8A8_UINT                                  = VkFormat.VK_FORMAT_B8G8R8A8_UINT;
1491 enum VK_FORMAT_B8G8R8A8_SINT                                  = VkFormat.VK_FORMAT_B8G8R8A8_SINT;
1492 enum VK_FORMAT_B8G8R8A8_SRGB                                  = VkFormat.VK_FORMAT_B8G8R8A8_SRGB;
1493 enum VK_FORMAT_A8B8G8R8_UNORM_PACK32                          = VkFormat.VK_FORMAT_A8B8G8R8_UNORM_PACK32;
1494 enum VK_FORMAT_A8B8G8R8_SNORM_PACK32                          = VkFormat.VK_FORMAT_A8B8G8R8_SNORM_PACK32;
1495 enum VK_FORMAT_A8B8G8R8_USCALED_PACK32                        = VkFormat.VK_FORMAT_A8B8G8R8_USCALED_PACK32;
1496 enum VK_FORMAT_A8B8G8R8_SSCALED_PACK32                        = VkFormat.VK_FORMAT_A8B8G8R8_SSCALED_PACK32;
1497 enum VK_FORMAT_A8B8G8R8_UINT_PACK32                           = VkFormat.VK_FORMAT_A8B8G8R8_UINT_PACK32;
1498 enum VK_FORMAT_A8B8G8R8_SINT_PACK32                           = VkFormat.VK_FORMAT_A8B8G8R8_SINT_PACK32;
1499 enum VK_FORMAT_A8B8G8R8_SRGB_PACK32                           = VkFormat.VK_FORMAT_A8B8G8R8_SRGB_PACK32;
1500 enum VK_FORMAT_A2R10G10B10_UNORM_PACK32                       = VkFormat.VK_FORMAT_A2R10G10B10_UNORM_PACK32;
1501 enum VK_FORMAT_A2R10G10B10_SNORM_PACK32                       = VkFormat.VK_FORMAT_A2R10G10B10_SNORM_PACK32;
1502 enum VK_FORMAT_A2R10G10B10_USCALED_PACK32                     = VkFormat.VK_FORMAT_A2R10G10B10_USCALED_PACK32;
1503 enum VK_FORMAT_A2R10G10B10_SSCALED_PACK32                     = VkFormat.VK_FORMAT_A2R10G10B10_SSCALED_PACK32;
1504 enum VK_FORMAT_A2R10G10B10_UINT_PACK32                        = VkFormat.VK_FORMAT_A2R10G10B10_UINT_PACK32;
1505 enum VK_FORMAT_A2R10G10B10_SINT_PACK32                        = VkFormat.VK_FORMAT_A2R10G10B10_SINT_PACK32;
1506 enum VK_FORMAT_A2B10G10R10_UNORM_PACK32                       = VkFormat.VK_FORMAT_A2B10G10R10_UNORM_PACK32;
1507 enum VK_FORMAT_A2B10G10R10_SNORM_PACK32                       = VkFormat.VK_FORMAT_A2B10G10R10_SNORM_PACK32;
1508 enum VK_FORMAT_A2B10G10R10_USCALED_PACK32                     = VkFormat.VK_FORMAT_A2B10G10R10_USCALED_PACK32;
1509 enum VK_FORMAT_A2B10G10R10_SSCALED_PACK32                     = VkFormat.VK_FORMAT_A2B10G10R10_SSCALED_PACK32;
1510 enum VK_FORMAT_A2B10G10R10_UINT_PACK32                        = VkFormat.VK_FORMAT_A2B10G10R10_UINT_PACK32;
1511 enum VK_FORMAT_A2B10G10R10_SINT_PACK32                        = VkFormat.VK_FORMAT_A2B10G10R10_SINT_PACK32;
1512 enum VK_FORMAT_R16_UNORM                                      = VkFormat.VK_FORMAT_R16_UNORM;
1513 enum VK_FORMAT_R16_SNORM                                      = VkFormat.VK_FORMAT_R16_SNORM;
1514 enum VK_FORMAT_R16_USCALED                                    = VkFormat.VK_FORMAT_R16_USCALED;
1515 enum VK_FORMAT_R16_SSCALED                                    = VkFormat.VK_FORMAT_R16_SSCALED;
1516 enum VK_FORMAT_R16_UINT                                       = VkFormat.VK_FORMAT_R16_UINT;
1517 enum VK_FORMAT_R16_SINT                                       = VkFormat.VK_FORMAT_R16_SINT;
1518 enum VK_FORMAT_R16_SFLOAT                                     = VkFormat.VK_FORMAT_R16_SFLOAT;
1519 enum VK_FORMAT_R16G16_UNORM                                   = VkFormat.VK_FORMAT_R16G16_UNORM;
1520 enum VK_FORMAT_R16G16_SNORM                                   = VkFormat.VK_FORMAT_R16G16_SNORM;
1521 enum VK_FORMAT_R16G16_USCALED                                 = VkFormat.VK_FORMAT_R16G16_USCALED;
1522 enum VK_FORMAT_R16G16_SSCALED                                 = VkFormat.VK_FORMAT_R16G16_SSCALED;
1523 enum VK_FORMAT_R16G16_UINT                                    = VkFormat.VK_FORMAT_R16G16_UINT;
1524 enum VK_FORMAT_R16G16_SINT                                    = VkFormat.VK_FORMAT_R16G16_SINT;
1525 enum VK_FORMAT_R16G16_SFLOAT                                  = VkFormat.VK_FORMAT_R16G16_SFLOAT;
1526 enum VK_FORMAT_R16G16B16_UNORM                                = VkFormat.VK_FORMAT_R16G16B16_UNORM;
1527 enum VK_FORMAT_R16G16B16_SNORM                                = VkFormat.VK_FORMAT_R16G16B16_SNORM;
1528 enum VK_FORMAT_R16G16B16_USCALED                              = VkFormat.VK_FORMAT_R16G16B16_USCALED;
1529 enum VK_FORMAT_R16G16B16_SSCALED                              = VkFormat.VK_FORMAT_R16G16B16_SSCALED;
1530 enum VK_FORMAT_R16G16B16_UINT                                 = VkFormat.VK_FORMAT_R16G16B16_UINT;
1531 enum VK_FORMAT_R16G16B16_SINT                                 = VkFormat.VK_FORMAT_R16G16B16_SINT;
1532 enum VK_FORMAT_R16G16B16_SFLOAT                               = VkFormat.VK_FORMAT_R16G16B16_SFLOAT;
1533 enum VK_FORMAT_R16G16B16A16_UNORM                             = VkFormat.VK_FORMAT_R16G16B16A16_UNORM;
1534 enum VK_FORMAT_R16G16B16A16_SNORM                             = VkFormat.VK_FORMAT_R16G16B16A16_SNORM;
1535 enum VK_FORMAT_R16G16B16A16_USCALED                           = VkFormat.VK_FORMAT_R16G16B16A16_USCALED;
1536 enum VK_FORMAT_R16G16B16A16_SSCALED                           = VkFormat.VK_FORMAT_R16G16B16A16_SSCALED;
1537 enum VK_FORMAT_R16G16B16A16_UINT                              = VkFormat.VK_FORMAT_R16G16B16A16_UINT;
1538 enum VK_FORMAT_R16G16B16A16_SINT                              = VkFormat.VK_FORMAT_R16G16B16A16_SINT;
1539 enum VK_FORMAT_R16G16B16A16_SFLOAT                            = VkFormat.VK_FORMAT_R16G16B16A16_SFLOAT;
1540 enum VK_FORMAT_R32_UINT                                       = VkFormat.VK_FORMAT_R32_UINT;
1541 enum VK_FORMAT_R32_SINT                                       = VkFormat.VK_FORMAT_R32_SINT;
1542 enum VK_FORMAT_R32_SFLOAT                                     = VkFormat.VK_FORMAT_R32_SFLOAT;
1543 enum VK_FORMAT_R32G32_UINT                                    = VkFormat.VK_FORMAT_R32G32_UINT;
1544 enum VK_FORMAT_R32G32_SINT                                    = VkFormat.VK_FORMAT_R32G32_SINT;
1545 enum VK_FORMAT_R32G32_SFLOAT                                  = VkFormat.VK_FORMAT_R32G32_SFLOAT;
1546 enum VK_FORMAT_R32G32B32_UINT                                 = VkFormat.VK_FORMAT_R32G32B32_UINT;
1547 enum VK_FORMAT_R32G32B32_SINT                                 = VkFormat.VK_FORMAT_R32G32B32_SINT;
1548 enum VK_FORMAT_R32G32B32_SFLOAT                               = VkFormat.VK_FORMAT_R32G32B32_SFLOAT;
1549 enum VK_FORMAT_R32G32B32A32_UINT                              = VkFormat.VK_FORMAT_R32G32B32A32_UINT;
1550 enum VK_FORMAT_R32G32B32A32_SINT                              = VkFormat.VK_FORMAT_R32G32B32A32_SINT;
1551 enum VK_FORMAT_R32G32B32A32_SFLOAT                            = VkFormat.VK_FORMAT_R32G32B32A32_SFLOAT;
1552 enum VK_FORMAT_R64_UINT                                       = VkFormat.VK_FORMAT_R64_UINT;
1553 enum VK_FORMAT_R64_SINT                                       = VkFormat.VK_FORMAT_R64_SINT;
1554 enum VK_FORMAT_R64_SFLOAT                                     = VkFormat.VK_FORMAT_R64_SFLOAT;
1555 enum VK_FORMAT_R64G64_UINT                                    = VkFormat.VK_FORMAT_R64G64_UINT;
1556 enum VK_FORMAT_R64G64_SINT                                    = VkFormat.VK_FORMAT_R64G64_SINT;
1557 enum VK_FORMAT_R64G64_SFLOAT                                  = VkFormat.VK_FORMAT_R64G64_SFLOAT;
1558 enum VK_FORMAT_R64G64B64_UINT                                 = VkFormat.VK_FORMAT_R64G64B64_UINT;
1559 enum VK_FORMAT_R64G64B64_SINT                                 = VkFormat.VK_FORMAT_R64G64B64_SINT;
1560 enum VK_FORMAT_R64G64B64_SFLOAT                               = VkFormat.VK_FORMAT_R64G64B64_SFLOAT;
1561 enum VK_FORMAT_R64G64B64A64_UINT                              = VkFormat.VK_FORMAT_R64G64B64A64_UINT;
1562 enum VK_FORMAT_R64G64B64A64_SINT                              = VkFormat.VK_FORMAT_R64G64B64A64_SINT;
1563 enum VK_FORMAT_R64G64B64A64_SFLOAT                            = VkFormat.VK_FORMAT_R64G64B64A64_SFLOAT;
1564 enum VK_FORMAT_B10G11R11_UFLOAT_PACK32                        = VkFormat.VK_FORMAT_B10G11R11_UFLOAT_PACK32;
1565 enum VK_FORMAT_E5B9G9R9_UFLOAT_PACK32                         = VkFormat.VK_FORMAT_E5B9G9R9_UFLOAT_PACK32;
1566 enum VK_FORMAT_D16_UNORM                                      = VkFormat.VK_FORMAT_D16_UNORM;
1567 enum VK_FORMAT_X8_D24_UNORM_PACK32                            = VkFormat.VK_FORMAT_X8_D24_UNORM_PACK32;
1568 enum VK_FORMAT_D32_SFLOAT                                     = VkFormat.VK_FORMAT_D32_SFLOAT;
1569 enum VK_FORMAT_S8_UINT                                        = VkFormat.VK_FORMAT_S8_UINT;
1570 enum VK_FORMAT_D16_UNORM_S8_UINT                              = VkFormat.VK_FORMAT_D16_UNORM_S8_UINT;
1571 enum VK_FORMAT_D24_UNORM_S8_UINT                              = VkFormat.VK_FORMAT_D24_UNORM_S8_UINT;
1572 enum VK_FORMAT_D32_SFLOAT_S8_UINT                             = VkFormat.VK_FORMAT_D32_SFLOAT_S8_UINT;
1573 enum VK_FORMAT_BC1_RGB_UNORM_BLOCK                            = VkFormat.VK_FORMAT_BC1_RGB_UNORM_BLOCK;
1574 enum VK_FORMAT_BC1_RGB_SRGB_BLOCK                             = VkFormat.VK_FORMAT_BC1_RGB_SRGB_BLOCK;
1575 enum VK_FORMAT_BC1_RGBA_UNORM_BLOCK                           = VkFormat.VK_FORMAT_BC1_RGBA_UNORM_BLOCK;
1576 enum VK_FORMAT_BC1_RGBA_SRGB_BLOCK                            = VkFormat.VK_FORMAT_BC1_RGBA_SRGB_BLOCK;
1577 enum VK_FORMAT_BC2_UNORM_BLOCK                                = VkFormat.VK_FORMAT_BC2_UNORM_BLOCK;
1578 enum VK_FORMAT_BC2_SRGB_BLOCK                                 = VkFormat.VK_FORMAT_BC2_SRGB_BLOCK;
1579 enum VK_FORMAT_BC3_UNORM_BLOCK                                = VkFormat.VK_FORMAT_BC3_UNORM_BLOCK;
1580 enum VK_FORMAT_BC3_SRGB_BLOCK                                 = VkFormat.VK_FORMAT_BC3_SRGB_BLOCK;
1581 enum VK_FORMAT_BC4_UNORM_BLOCK                                = VkFormat.VK_FORMAT_BC4_UNORM_BLOCK;
1582 enum VK_FORMAT_BC4_SNORM_BLOCK                                = VkFormat.VK_FORMAT_BC4_SNORM_BLOCK;
1583 enum VK_FORMAT_BC5_UNORM_BLOCK                                = VkFormat.VK_FORMAT_BC5_UNORM_BLOCK;
1584 enum VK_FORMAT_BC5_SNORM_BLOCK                                = VkFormat.VK_FORMAT_BC5_SNORM_BLOCK;
1585 enum VK_FORMAT_BC6H_UFLOAT_BLOCK                              = VkFormat.VK_FORMAT_BC6H_UFLOAT_BLOCK;
1586 enum VK_FORMAT_BC6H_SFLOAT_BLOCK                              = VkFormat.VK_FORMAT_BC6H_SFLOAT_BLOCK;
1587 enum VK_FORMAT_BC7_UNORM_BLOCK                                = VkFormat.VK_FORMAT_BC7_UNORM_BLOCK;
1588 enum VK_FORMAT_BC7_SRGB_BLOCK                                 = VkFormat.VK_FORMAT_BC7_SRGB_BLOCK;
1589 enum VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK                        = VkFormat.VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK;
1590 enum VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK                         = VkFormat.VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK;
1591 enum VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK                      = VkFormat.VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK;
1592 enum VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK                       = VkFormat.VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK;
1593 enum VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK                      = VkFormat.VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK;
1594 enum VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK                       = VkFormat.VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK;
1595 enum VK_FORMAT_EAC_R11_UNORM_BLOCK                            = VkFormat.VK_FORMAT_EAC_R11_UNORM_BLOCK;
1596 enum VK_FORMAT_EAC_R11_SNORM_BLOCK                            = VkFormat.VK_FORMAT_EAC_R11_SNORM_BLOCK;
1597 enum VK_FORMAT_EAC_R11G11_UNORM_BLOCK                         = VkFormat.VK_FORMAT_EAC_R11G11_UNORM_BLOCK;
1598 enum VK_FORMAT_EAC_R11G11_SNORM_BLOCK                         = VkFormat.VK_FORMAT_EAC_R11G11_SNORM_BLOCK;
1599 enum VK_FORMAT_ASTC_4x4_UNORM_BLOCK                           = VkFormat.VK_FORMAT_ASTC_4x4_UNORM_BLOCK;
1600 enum VK_FORMAT_ASTC_4x4_SRGB_BLOCK                            = VkFormat.VK_FORMAT_ASTC_4x4_SRGB_BLOCK;
1601 enum VK_FORMAT_ASTC_5x4_UNORM_BLOCK                           = VkFormat.VK_FORMAT_ASTC_5x4_UNORM_BLOCK;
1602 enum VK_FORMAT_ASTC_5x4_SRGB_BLOCK                            = VkFormat.VK_FORMAT_ASTC_5x4_SRGB_BLOCK;
1603 enum VK_FORMAT_ASTC_5x5_UNORM_BLOCK                           = VkFormat.VK_FORMAT_ASTC_5x5_UNORM_BLOCK;
1604 enum VK_FORMAT_ASTC_5x5_SRGB_BLOCK                            = VkFormat.VK_FORMAT_ASTC_5x5_SRGB_BLOCK;
1605 enum VK_FORMAT_ASTC_6x5_UNORM_BLOCK                           = VkFormat.VK_FORMAT_ASTC_6x5_UNORM_BLOCK;
1606 enum VK_FORMAT_ASTC_6x5_SRGB_BLOCK                            = VkFormat.VK_FORMAT_ASTC_6x5_SRGB_BLOCK;
1607 enum VK_FORMAT_ASTC_6x6_UNORM_BLOCK                           = VkFormat.VK_FORMAT_ASTC_6x6_UNORM_BLOCK;
1608 enum VK_FORMAT_ASTC_6x6_SRGB_BLOCK                            = VkFormat.VK_FORMAT_ASTC_6x6_SRGB_BLOCK;
1609 enum VK_FORMAT_ASTC_8x5_UNORM_BLOCK                           = VkFormat.VK_FORMAT_ASTC_8x5_UNORM_BLOCK;
1610 enum VK_FORMAT_ASTC_8x5_SRGB_BLOCK                            = VkFormat.VK_FORMAT_ASTC_8x5_SRGB_BLOCK;
1611 enum VK_FORMAT_ASTC_8x6_UNORM_BLOCK                           = VkFormat.VK_FORMAT_ASTC_8x6_UNORM_BLOCK;
1612 enum VK_FORMAT_ASTC_8x6_SRGB_BLOCK                            = VkFormat.VK_FORMAT_ASTC_8x6_SRGB_BLOCK;
1613 enum VK_FORMAT_ASTC_8x8_UNORM_BLOCK                           = VkFormat.VK_FORMAT_ASTC_8x8_UNORM_BLOCK;
1614 enum VK_FORMAT_ASTC_8x8_SRGB_BLOCK                            = VkFormat.VK_FORMAT_ASTC_8x8_SRGB_BLOCK;
1615 enum VK_FORMAT_ASTC_10x5_UNORM_BLOCK                          = VkFormat.VK_FORMAT_ASTC_10x5_UNORM_BLOCK;
1616 enum VK_FORMAT_ASTC_10x5_SRGB_BLOCK                           = VkFormat.VK_FORMAT_ASTC_10x5_SRGB_BLOCK;
1617 enum VK_FORMAT_ASTC_10x6_UNORM_BLOCK                          = VkFormat.VK_FORMAT_ASTC_10x6_UNORM_BLOCK;
1618 enum VK_FORMAT_ASTC_10x6_SRGB_BLOCK                           = VkFormat.VK_FORMAT_ASTC_10x6_SRGB_BLOCK;
1619 enum VK_FORMAT_ASTC_10x8_UNORM_BLOCK                          = VkFormat.VK_FORMAT_ASTC_10x8_UNORM_BLOCK;
1620 enum VK_FORMAT_ASTC_10x8_SRGB_BLOCK                           = VkFormat.VK_FORMAT_ASTC_10x8_SRGB_BLOCK;
1621 enum VK_FORMAT_ASTC_10x10_UNORM_BLOCK                         = VkFormat.VK_FORMAT_ASTC_10x10_UNORM_BLOCK;
1622 enum VK_FORMAT_ASTC_10x10_SRGB_BLOCK                          = VkFormat.VK_FORMAT_ASTC_10x10_SRGB_BLOCK;
1623 enum VK_FORMAT_ASTC_12x10_UNORM_BLOCK                         = VkFormat.VK_FORMAT_ASTC_12x10_UNORM_BLOCK;
1624 enum VK_FORMAT_ASTC_12x10_SRGB_BLOCK                          = VkFormat.VK_FORMAT_ASTC_12x10_SRGB_BLOCK;
1625 enum VK_FORMAT_ASTC_12x12_UNORM_BLOCK                         = VkFormat.VK_FORMAT_ASTC_12x12_UNORM_BLOCK;
1626 enum VK_FORMAT_ASTC_12x12_SRGB_BLOCK                          = VkFormat.VK_FORMAT_ASTC_12x12_SRGB_BLOCK;
1627 enum VK_FORMAT_G8B8G8R8_422_UNORM                             = VkFormat.VK_FORMAT_G8B8G8R8_422_UNORM;
1628 enum VK_FORMAT_B8G8R8G8_422_UNORM                             = VkFormat.VK_FORMAT_B8G8R8G8_422_UNORM;
1629 enum VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM                      = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM;
1630 enum VK_FORMAT_G8_B8R8_2PLANE_420_UNORM                       = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_420_UNORM;
1631 enum VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM                      = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM;
1632 enum VK_FORMAT_G8_B8R8_2PLANE_422_UNORM                       = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_422_UNORM;
1633 enum VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM                      = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM;
1634 enum VK_FORMAT_R10X6_UNORM_PACK16                             = VkFormat.VK_FORMAT_R10X6_UNORM_PACK16;
1635 enum VK_FORMAT_R10X6G10X6_UNORM_2PACK16                       = VkFormat.VK_FORMAT_R10X6G10X6_UNORM_2PACK16;
1636 enum VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16             = VkFormat.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16;
1637 enum VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16         = VkFormat.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16;
1638 enum VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16         = VkFormat.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16;
1639 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16     = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16;
1640 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16      = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16;
1641 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16     = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16;
1642 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16      = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16;
1643 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16     = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16;
1644 enum VK_FORMAT_R12X4_UNORM_PACK16                             = VkFormat.VK_FORMAT_R12X4_UNORM_PACK16;
1645 enum VK_FORMAT_R12X4G12X4_UNORM_2PACK16                       = VkFormat.VK_FORMAT_R12X4G12X4_UNORM_2PACK16;
1646 enum VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16             = VkFormat.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16;
1647 enum VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16         = VkFormat.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16;
1648 enum VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16         = VkFormat.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16;
1649 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16     = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16;
1650 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16      = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16;
1651 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16     = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16;
1652 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16      = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16;
1653 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16     = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16;
1654 enum VK_FORMAT_G16B16G16R16_422_UNORM                         = VkFormat.VK_FORMAT_G16B16G16R16_422_UNORM;
1655 enum VK_FORMAT_B16G16R16G16_422_UNORM                         = VkFormat.VK_FORMAT_B16G16R16G16_422_UNORM;
1656 enum VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM                   = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM;
1657 enum VK_FORMAT_G16_B16R16_2PLANE_420_UNORM                    = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_420_UNORM;
1658 enum VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM                   = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM;
1659 enum VK_FORMAT_G16_B16R16_2PLANE_422_UNORM                    = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_422_UNORM;
1660 enum VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM                   = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM;
1661 enum VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG                    = VkFormat.VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG;
1662 enum VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG                    = VkFormat.VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG;
1663 enum VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG                    = VkFormat.VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG;
1664 enum VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG                    = VkFormat.VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG;
1665 enum VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG                     = VkFormat.VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG;
1666 enum VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG                     = VkFormat.VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG;
1667 enum VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG                     = VkFormat.VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG;
1668 enum VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG                     = VkFormat.VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG;
1669 enum VK_FORMAT_G8B8G8R8_422_UNORM_KHR                         = VkFormat.VK_FORMAT_G8B8G8R8_422_UNORM_KHR;
1670 enum VK_FORMAT_B8G8R8G8_422_UNORM_KHR                         = VkFormat.VK_FORMAT_B8G8R8G8_422_UNORM_KHR;
1671 enum VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR                  = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR;
1672 enum VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR                   = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR;
1673 enum VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR                  = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR;
1674 enum VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR                   = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR;
1675 enum VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR                  = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR;
1676 enum VK_FORMAT_R10X6_UNORM_PACK16_KHR                         = VkFormat.VK_FORMAT_R10X6_UNORM_PACK16_KHR;
1677 enum VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR                   = VkFormat.VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR;
1678 enum VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR         = VkFormat.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR;
1679 enum VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR     = VkFormat.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR;
1680 enum VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR     = VkFormat.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR;
1681 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR;
1682 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR  = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR;
1683 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR;
1684 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR  = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR;
1685 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR;
1686 enum VK_FORMAT_R12X4_UNORM_PACK16_KHR                         = VkFormat.VK_FORMAT_R12X4_UNORM_PACK16_KHR;
1687 enum VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR                   = VkFormat.VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR;
1688 enum VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR         = VkFormat.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR;
1689 enum VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR     = VkFormat.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR;
1690 enum VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR     = VkFormat.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR;
1691 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR;
1692 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR  = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR;
1693 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR;
1694 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR  = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR;
1695 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR;
1696 enum VK_FORMAT_G16B16G16R16_422_UNORM_KHR                     = VkFormat.VK_FORMAT_G16B16G16R16_422_UNORM_KHR;
1697 enum VK_FORMAT_B16G16R16G16_422_UNORM_KHR                     = VkFormat.VK_FORMAT_B16G16R16G16_422_UNORM_KHR;
1698 enum VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR               = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR;
1699 enum VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR                = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR;
1700 enum VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR               = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR;
1701 enum VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR                = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR;
1702 enum VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR               = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR;
1703 
1704 enum VkFormatFeatureFlagBits : VkFlags {
1705     VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT                                                               = 0x00000001,
1706     VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT                                                               = 0x00000002,
1707     VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT                                                        = 0x00000004,
1708     VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT                                                        = 0x00000008,
1709     VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT                                                        = 0x00000010,
1710     VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT                                                 = 0x00000020,
1711     VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT                                                               = 0x00000040,
1712     VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT                                                            = 0x00000080,
1713     VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT                                                      = 0x00000100,
1714     VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT                                                    = 0x00000200,
1715     VK_FORMAT_FEATURE_BLIT_SRC_BIT                                                                    = 0x00000400,
1716     VK_FORMAT_FEATURE_BLIT_DST_BIT                                                                    = 0x00000800,
1717     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT                                                 = 0x00001000,
1718     VK_FORMAT_FEATURE_TRANSFER_SRC_BIT                                                                = 0x00004000,
1719     VK_FORMAT_FEATURE_TRANSFER_DST_BIT                                                                = 0x00008000,
1720     VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT                                                     = 0x00020000,
1721     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT                                = 0x00040000,
1722     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT               = 0x00080000,
1723     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT               = 0x00100000,
1724     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT     = 0x00200000,
1725     VK_FORMAT_FEATURE_DISJOINT_BIT                                                                    = 0x00400000,
1726     VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT                                                      = 0x00800000,
1727     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG                                              = 0x00002000,
1728     VK_FORMAT_FEATURE_RESERVED_27_BIT_KHR                                                             = 0x08000000,
1729     VK_FORMAT_FEATURE_RESERVED_28_BIT_KHR                                                             = 0x10000000,
1730     VK_FORMAT_FEATURE_RESERVED_25_BIT_KHR                                                             = 0x02000000,
1731     VK_FORMAT_FEATURE_RESERVED_26_BIT_KHR                                                             = 0x04000000,
1732     VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR                                                            = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1733     VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR                                                            = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1734     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT                                             = 0x00010000,
1735     VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR                                                 = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1736     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR                            = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1737     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR           = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1738     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR           = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1739     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
1740     VK_FORMAT_FEATURE_DISJOINT_BIT_KHR                                                                = VK_FORMAT_FEATURE_DISJOINT_BIT,
1741     VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR                                                  = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1742     VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT                                                    = 0x01000000,
1743 }
1744 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT                                                               = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT;
1745 enum VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT                                                               = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT;
1746 enum VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT                                                        = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT;
1747 enum VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT                                                        = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT;
1748 enum VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT                                                        = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT;
1749 enum VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT                                                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT;
1750 enum VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT                                                               = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT;
1751 enum VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT                                                            = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT;
1752 enum VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT;
1753 enum VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT                                                    = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT;
1754 enum VK_FORMAT_FEATURE_BLIT_SRC_BIT                                                                    = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_BLIT_SRC_BIT;
1755 enum VK_FORMAT_FEATURE_BLIT_DST_BIT                                                                    = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_BLIT_DST_BIT;
1756 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT                                                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT;
1757 enum VK_FORMAT_FEATURE_TRANSFER_SRC_BIT                                                                = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_SRC_BIT;
1758 enum VK_FORMAT_FEATURE_TRANSFER_DST_BIT                                                                = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_DST_BIT;
1759 enum VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT                                                     = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT;
1760 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT                                = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT;
1761 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT               = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT;
1762 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT               = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT;
1763 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT     = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT;
1764 enum VK_FORMAT_FEATURE_DISJOINT_BIT                                                                    = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_DISJOINT_BIT;
1765 enum VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT;
1766 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG                                              = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG;
1767 enum VK_FORMAT_FEATURE_RESERVED_27_BIT_KHR                                                             = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_RESERVED_27_BIT_KHR;
1768 enum VK_FORMAT_FEATURE_RESERVED_28_BIT_KHR                                                             = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_RESERVED_28_BIT_KHR;
1769 enum VK_FORMAT_FEATURE_RESERVED_25_BIT_KHR                                                             = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_RESERVED_25_BIT_KHR;
1770 enum VK_FORMAT_FEATURE_RESERVED_26_BIT_KHR                                                             = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_RESERVED_26_BIT_KHR;
1771 enum VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR                                                            = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR;
1772 enum VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR                                                            = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR;
1773 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT                                             = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT;
1774 enum VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR                                                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR;
1775 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR                            = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR;
1776 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR           = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR;
1777 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR           = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR;
1778 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR;
1779 enum VK_FORMAT_FEATURE_DISJOINT_BIT_KHR                                                                = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_DISJOINT_BIT_KHR;
1780 enum VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR                                                  = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR;
1781 enum VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT                                                    = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT;
1782 
1783 enum VkImageType {
1784     VK_IMAGE_TYPE_1D = 0,
1785     VK_IMAGE_TYPE_2D = 1,
1786     VK_IMAGE_TYPE_3D = 2,
1787 }
1788 enum VK_IMAGE_TYPE_1D = VkImageType.VK_IMAGE_TYPE_1D;
1789 enum VK_IMAGE_TYPE_2D = VkImageType.VK_IMAGE_TYPE_2D;
1790 enum VK_IMAGE_TYPE_3D = VkImageType.VK_IMAGE_TYPE_3D;
1791 
1792 enum VkImageTiling {
1793     VK_IMAGE_TILING_OPTIMAL                 = 0,
1794     VK_IMAGE_TILING_LINEAR                  = 1,
1795     VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1796 }
1797 enum VK_IMAGE_TILING_OPTIMAL                 = VkImageTiling.VK_IMAGE_TILING_OPTIMAL;
1798 enum VK_IMAGE_TILING_LINEAR                  = VkImageTiling.VK_IMAGE_TILING_LINEAR;
1799 enum VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = VkImageTiling.VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT;
1800 
1801 enum VkImageUsageFlagBits : VkFlags {
1802     VK_IMAGE_USAGE_TRANSFER_SRC_BIT             = 0x00000001,
1803     VK_IMAGE_USAGE_TRANSFER_DST_BIT             = 0x00000002,
1804     VK_IMAGE_USAGE_SAMPLED_BIT                  = 0x00000004,
1805     VK_IMAGE_USAGE_STORAGE_BIT                  = 0x00000008,
1806     VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT         = 0x00000010,
1807     VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1808     VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT     = 0x00000040,
1809     VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT         = 0x00000080,
1810     VK_IMAGE_USAGE_RESERVED_13_BIT_KHR          = 0x00002000,
1811     VK_IMAGE_USAGE_RESERVED_14_BIT_KHR          = 0x00004000,
1812     VK_IMAGE_USAGE_RESERVED_15_BIT_KHR          = 0x00008000,
1813     VK_IMAGE_USAGE_RESERVED_10_BIT_KHR          = 0x00000400,
1814     VK_IMAGE_USAGE_RESERVED_11_BIT_KHR          = 0x00000800,
1815     VK_IMAGE_USAGE_RESERVED_12_BIT_KHR          = 0x00001000,
1816     VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV    = 0x00000100,
1817     VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1818 }
1819 enum VK_IMAGE_USAGE_TRANSFER_SRC_BIT             = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSFER_SRC_BIT;
1820 enum VK_IMAGE_USAGE_TRANSFER_DST_BIT             = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSFER_DST_BIT;
1821 enum VK_IMAGE_USAGE_SAMPLED_BIT                  = VkImageUsageFlagBits.VK_IMAGE_USAGE_SAMPLED_BIT;
1822 enum VK_IMAGE_USAGE_STORAGE_BIT                  = VkImageUsageFlagBits.VK_IMAGE_USAGE_STORAGE_BIT;
1823 enum VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT         = VkImageUsageFlagBits.VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
1824 enum VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = VkImageUsageFlagBits.VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
1825 enum VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT     = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT;
1826 enum VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT         = VkImageUsageFlagBits.VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
1827 enum VK_IMAGE_USAGE_RESERVED_13_BIT_KHR          = VkImageUsageFlagBits.VK_IMAGE_USAGE_RESERVED_13_BIT_KHR;
1828 enum VK_IMAGE_USAGE_RESERVED_14_BIT_KHR          = VkImageUsageFlagBits.VK_IMAGE_USAGE_RESERVED_14_BIT_KHR;
1829 enum VK_IMAGE_USAGE_RESERVED_15_BIT_KHR          = VkImageUsageFlagBits.VK_IMAGE_USAGE_RESERVED_15_BIT_KHR;
1830 enum VK_IMAGE_USAGE_RESERVED_10_BIT_KHR          = VkImageUsageFlagBits.VK_IMAGE_USAGE_RESERVED_10_BIT_KHR;
1831 enum VK_IMAGE_USAGE_RESERVED_11_BIT_KHR          = VkImageUsageFlagBits.VK_IMAGE_USAGE_RESERVED_11_BIT_KHR;
1832 enum VK_IMAGE_USAGE_RESERVED_12_BIT_KHR          = VkImageUsageFlagBits.VK_IMAGE_USAGE_RESERVED_12_BIT_KHR;
1833 enum VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV    = VkImageUsageFlagBits.VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV;
1834 enum VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = VkImageUsageFlagBits.VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT;
1835 
1836 enum VkImageCreateFlagBits : VkFlags {
1837     VK_IMAGE_CREATE_SPARSE_BINDING_BIT                        = 0x00000001,
1838     VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT                      = 0x00000002,
1839     VK_IMAGE_CREATE_SPARSE_ALIASED_BIT                        = 0x00000004,
1840     VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT                        = 0x00000008,
1841     VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT                       = 0x00000010,
1842     VK_IMAGE_CREATE_ALIAS_BIT                                 = 0x00000400,
1843     VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT           = 0x00000040,
1844     VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT                   = 0x00000020,
1845     VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT           = 0x00000080,
1846     VK_IMAGE_CREATE_EXTENDED_USAGE_BIT                        = 0x00000100,
1847     VK_IMAGE_CREATE_PROTECTED_BIT                             = 0x00000800,
1848     VK_IMAGE_CREATE_DISJOINT_BIT                              = 0x00000200,
1849     VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV                     = 0x00002000,
1850     VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR       = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1851     VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR               = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1852     VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR       = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1853     VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR                    = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1854     VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1855     VK_IMAGE_CREATE_DISJOINT_BIT_KHR                          = VK_IMAGE_CREATE_DISJOINT_BIT,
1856     VK_IMAGE_CREATE_ALIAS_BIT_KHR                             = VK_IMAGE_CREATE_ALIAS_BIT,
1857     VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT                        = 0x00004000,
1858 }
1859 enum VK_IMAGE_CREATE_SPARSE_BINDING_BIT                        = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_BINDING_BIT;
1860 enum VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT                      = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT;
1861 enum VK_IMAGE_CREATE_SPARSE_ALIASED_BIT                        = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_ALIASED_BIT;
1862 enum VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT                        = VkImageCreateFlagBits.VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
1863 enum VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT                       = VkImageCreateFlagBits.VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
1864 enum VK_IMAGE_CREATE_ALIAS_BIT                                 = VkImageCreateFlagBits.VK_IMAGE_CREATE_ALIAS_BIT;
1865 enum VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT           = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT;
1866 enum VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT                   = VkImageCreateFlagBits.VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT;
1867 enum VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT           = VkImageCreateFlagBits.VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT;
1868 enum VK_IMAGE_CREATE_EXTENDED_USAGE_BIT                        = VkImageCreateFlagBits.VK_IMAGE_CREATE_EXTENDED_USAGE_BIT;
1869 enum VK_IMAGE_CREATE_PROTECTED_BIT                             = VkImageCreateFlagBits.VK_IMAGE_CREATE_PROTECTED_BIT;
1870 enum VK_IMAGE_CREATE_DISJOINT_BIT                              = VkImageCreateFlagBits.VK_IMAGE_CREATE_DISJOINT_BIT;
1871 enum VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV                     = VkImageCreateFlagBits.VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV;
1872 enum VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR       = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR;
1873 enum VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR               = VkImageCreateFlagBits.VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR;
1874 enum VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR       = VkImageCreateFlagBits.VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR;
1875 enum VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR                    = VkImageCreateFlagBits.VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR;
1876 enum VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = VkImageCreateFlagBits.VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT;
1877 enum VK_IMAGE_CREATE_DISJOINT_BIT_KHR                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_DISJOINT_BIT_KHR;
1878 enum VK_IMAGE_CREATE_ALIAS_BIT_KHR                             = VkImageCreateFlagBits.VK_IMAGE_CREATE_ALIAS_BIT_KHR;
1879 enum VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT                        = VkImageCreateFlagBits.VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT;
1880 
1881 enum VkSampleCountFlagBits : VkFlags {
1882     VK_SAMPLE_COUNT_1_BIT  = 0x00000001,
1883     VK_SAMPLE_COUNT_2_BIT  = 0x00000002,
1884     VK_SAMPLE_COUNT_4_BIT  = 0x00000004,
1885     VK_SAMPLE_COUNT_8_BIT  = 0x00000008,
1886     VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1887     VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1888     VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1889 }
1890 enum VK_SAMPLE_COUNT_1_BIT  = VkSampleCountFlagBits.VK_SAMPLE_COUNT_1_BIT;
1891 enum VK_SAMPLE_COUNT_2_BIT  = VkSampleCountFlagBits.VK_SAMPLE_COUNT_2_BIT;
1892 enum VK_SAMPLE_COUNT_4_BIT  = VkSampleCountFlagBits.VK_SAMPLE_COUNT_4_BIT;
1893 enum VK_SAMPLE_COUNT_8_BIT  = VkSampleCountFlagBits.VK_SAMPLE_COUNT_8_BIT;
1894 enum VK_SAMPLE_COUNT_16_BIT = VkSampleCountFlagBits.VK_SAMPLE_COUNT_16_BIT;
1895 enum VK_SAMPLE_COUNT_32_BIT = VkSampleCountFlagBits.VK_SAMPLE_COUNT_32_BIT;
1896 enum VK_SAMPLE_COUNT_64_BIT = VkSampleCountFlagBits.VK_SAMPLE_COUNT_64_BIT;
1897 
1898 enum VkPhysicalDeviceType {
1899     VK_PHYSICAL_DEVICE_TYPE_OTHER          = 0,
1900     VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1901     VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU   = 2,
1902     VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU    = 3,
1903     VK_PHYSICAL_DEVICE_TYPE_CPU            = 4,
1904 }
1905 enum VK_PHYSICAL_DEVICE_TYPE_OTHER          = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_OTHER;
1906 enum VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
1907 enum VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU   = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
1908 enum VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU    = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU;
1909 enum VK_PHYSICAL_DEVICE_TYPE_CPU            = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_CPU;
1910 
1911 enum VkQueueFlagBits : VkFlags {
1912     VK_QUEUE_GRAPHICS_BIT       = 0x00000001,
1913     VK_QUEUE_COMPUTE_BIT        = 0x00000002,
1914     VK_QUEUE_TRANSFER_BIT       = 0x00000004,
1915     VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1916     VK_QUEUE_PROTECTED_BIT      = 0x00000010,
1917     VK_QUEUE_RESERVED_6_BIT_KHR = 0x00000040,
1918     VK_QUEUE_RESERVED_5_BIT_KHR = 0x00000020,
1919 }
1920 enum VK_QUEUE_GRAPHICS_BIT       = VkQueueFlagBits.VK_QUEUE_GRAPHICS_BIT;
1921 enum VK_QUEUE_COMPUTE_BIT        = VkQueueFlagBits.VK_QUEUE_COMPUTE_BIT;
1922 enum VK_QUEUE_TRANSFER_BIT       = VkQueueFlagBits.VK_QUEUE_TRANSFER_BIT;
1923 enum VK_QUEUE_SPARSE_BINDING_BIT = VkQueueFlagBits.VK_QUEUE_SPARSE_BINDING_BIT;
1924 enum VK_QUEUE_PROTECTED_BIT      = VkQueueFlagBits.VK_QUEUE_PROTECTED_BIT;
1925 enum VK_QUEUE_RESERVED_6_BIT_KHR = VkQueueFlagBits.VK_QUEUE_RESERVED_6_BIT_KHR;
1926 enum VK_QUEUE_RESERVED_5_BIT_KHR = VkQueueFlagBits.VK_QUEUE_RESERVED_5_BIT_KHR;
1927 
1928 enum VkMemoryPropertyFlagBits : VkFlags {
1929     VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT     = 0x00000001,
1930     VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT     = 0x00000002,
1931     VK_MEMORY_PROPERTY_HOST_COHERENT_BIT    = 0x00000004,
1932     VK_MEMORY_PROPERTY_HOST_CACHED_BIT      = 0x00000008,
1933     VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1934     VK_MEMORY_PROPERTY_PROTECTED_BIT        = 0x00000020,
1935 }
1936 enum VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT     = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
1937 enum VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT     = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
1938 enum VK_MEMORY_PROPERTY_HOST_COHERENT_BIT    = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
1939 enum VK_MEMORY_PROPERTY_HOST_CACHED_BIT      = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_CACHED_BIT;
1940 enum VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT;
1941 enum VK_MEMORY_PROPERTY_PROTECTED_BIT        = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_PROTECTED_BIT;
1942 
1943 enum VkMemoryHeapFlagBits : VkFlags {
1944     VK_MEMORY_HEAP_DEVICE_LOCAL_BIT       = 0x00000001,
1945     VK_MEMORY_HEAP_MULTI_INSTANCE_BIT     = 0x00000002,
1946     VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1947 }
1948 enum VK_MEMORY_HEAP_DEVICE_LOCAL_BIT       = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_DEVICE_LOCAL_BIT;
1949 enum VK_MEMORY_HEAP_MULTI_INSTANCE_BIT     = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_MULTI_INSTANCE_BIT;
1950 enum VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR;
1951 
1952 enum VkDeviceQueueCreateFlagBits : VkFlags {
1953     VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1954 }
1955 enum VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = VkDeviceQueueCreateFlagBits.VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT;
1956 
1957 enum VkPipelineStageFlagBits : VkFlags {
1958     VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT                     = 0x00000001,
1959     VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT                   = 0x00000002,
1960     VK_PIPELINE_STAGE_VERTEX_INPUT_BIT                    = 0x00000004,
1961     VK_PIPELINE_STAGE_VERTEX_SHADER_BIT                   = 0x00000008,
1962     VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT     = 0x00000010,
1963     VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT  = 0x00000020,
1964     VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT                 = 0x00000040,
1965     VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT                 = 0x00000080,
1966     VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT            = 0x00000100,
1967     VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT             = 0x00000200,
1968     VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT         = 0x00000400,
1969     VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT                  = 0x00000800,
1970     VK_PIPELINE_STAGE_TRANSFER_BIT                        = 0x00001000,
1971     VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT                  = 0x00002000,
1972     VK_PIPELINE_STAGE_HOST_BIT                            = 0x00004000,
1973     VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT                    = 0x00008000,
1974     VK_PIPELINE_STAGE_ALL_COMMANDS_BIT                    = 0x00010000,
1975     VK_PIPELINE_STAGE_RESERVED_27_BIT_KHR                 = 0x08000000,
1976     VK_PIPELINE_STAGE_RESERVED_26_BIT_KHR                 = 0x04000000,
1977     VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT          = 0x01000000,
1978     VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT       = 0x00040000,
1979     VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX             = 0x00020000,
1980     VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV           = 0x00400000,
1981     VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV           = 0x00200000,
1982     VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000,
1983     VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV                  = 0x00080000,
1984     VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV                  = 0x00100000,
1985     VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT    = 0x00800000,
1986 }
1987 enum VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT                     = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
1988 enum VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT                   = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT;
1989 enum VK_PIPELINE_STAGE_VERTEX_INPUT_BIT                    = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_VERTEX_INPUT_BIT;
1990 enum VK_PIPELINE_STAGE_VERTEX_SHADER_BIT                   = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_VERTEX_SHADER_BIT;
1991 enum VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT     = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT;
1992 enum VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT  = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT;
1993 enum VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT                 = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT;
1994 enum VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT                 = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
1995 enum VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT            = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT;
1996 enum VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT             = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT;
1997 enum VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT         = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
1998 enum VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT                  = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
1999 enum VK_PIPELINE_STAGE_TRANSFER_BIT                        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TRANSFER_BIT;
2000 enum VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT                  = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
2001 enum VK_PIPELINE_STAGE_HOST_BIT                            = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_HOST_BIT;
2002 enum VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT                    = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT;
2003 enum VK_PIPELINE_STAGE_ALL_COMMANDS_BIT                    = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ALL_COMMANDS_BIT;
2004 enum VK_PIPELINE_STAGE_RESERVED_27_BIT_KHR                 = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_RESERVED_27_BIT_KHR;
2005 enum VK_PIPELINE_STAGE_RESERVED_26_BIT_KHR                 = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_RESERVED_26_BIT_KHR;
2006 enum VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT          = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT;
2007 enum VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT       = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT;
2008 enum VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX             = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX;
2009 enum VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV           = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV;
2010 enum VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV           = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV;
2011 enum VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV;
2012 enum VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV                  = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV;
2013 enum VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV                  = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV;
2014 enum VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT    = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT;
2015 
2016 enum VkImageAspectFlagBits : VkFlags {
2017     VK_IMAGE_ASPECT_COLOR_BIT              = 0x00000001,
2018     VK_IMAGE_ASPECT_DEPTH_BIT              = 0x00000002,
2019     VK_IMAGE_ASPECT_STENCIL_BIT            = 0x00000004,
2020     VK_IMAGE_ASPECT_METADATA_BIT           = 0x00000008,
2021     VK_IMAGE_ASPECT_PLANE_0_BIT            = 0x00000010,
2022     VK_IMAGE_ASPECT_PLANE_1_BIT            = 0x00000020,
2023     VK_IMAGE_ASPECT_PLANE_2_BIT            = 0x00000040,
2024     VK_IMAGE_ASPECT_PLANE_0_BIT_KHR        = VK_IMAGE_ASPECT_PLANE_0_BIT,
2025     VK_IMAGE_ASPECT_PLANE_1_BIT_KHR        = VK_IMAGE_ASPECT_PLANE_1_BIT,
2026     VK_IMAGE_ASPECT_PLANE_2_BIT_KHR        = VK_IMAGE_ASPECT_PLANE_2_BIT,
2027     VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2028     VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2029     VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2030     VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2031 }
2032 enum VK_IMAGE_ASPECT_COLOR_BIT              = VkImageAspectFlagBits.VK_IMAGE_ASPECT_COLOR_BIT;
2033 enum VK_IMAGE_ASPECT_DEPTH_BIT              = VkImageAspectFlagBits.VK_IMAGE_ASPECT_DEPTH_BIT;
2034 enum VK_IMAGE_ASPECT_STENCIL_BIT            = VkImageAspectFlagBits.VK_IMAGE_ASPECT_STENCIL_BIT;
2035 enum VK_IMAGE_ASPECT_METADATA_BIT           = VkImageAspectFlagBits.VK_IMAGE_ASPECT_METADATA_BIT;
2036 enum VK_IMAGE_ASPECT_PLANE_0_BIT            = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_0_BIT;
2037 enum VK_IMAGE_ASPECT_PLANE_1_BIT            = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_1_BIT;
2038 enum VK_IMAGE_ASPECT_PLANE_2_BIT            = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_2_BIT;
2039 enum VK_IMAGE_ASPECT_PLANE_0_BIT_KHR        = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_0_BIT_KHR;
2040 enum VK_IMAGE_ASPECT_PLANE_1_BIT_KHR        = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_1_BIT_KHR;
2041 enum VK_IMAGE_ASPECT_PLANE_2_BIT_KHR        = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_2_BIT_KHR;
2042 enum VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT;
2043 enum VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT;
2044 enum VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT;
2045 enum VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT;
2046 
2047 enum VkSparseImageFormatFlagBits : VkFlags {
2048     VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT         = 0x00000001,
2049     VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT       = 0x00000002,
2050     VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2051 }
2052 enum VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT         = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT;
2053 enum VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT       = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT;
2054 enum VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT;
2055 
2056 enum VkSparseMemoryBindFlagBits : VkFlags {
2057     VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2058 }
2059 enum VK_SPARSE_MEMORY_BIND_METADATA_BIT = VkSparseMemoryBindFlagBits.VK_SPARSE_MEMORY_BIND_METADATA_BIT;
2060 
2061 enum VkFenceCreateFlagBits : VkFlags {
2062     VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2063 }
2064 enum VK_FENCE_CREATE_SIGNALED_BIT = VkFenceCreateFlagBits.VK_FENCE_CREATE_SIGNALED_BIT;
2065 
2066 enum VkQueryType {
2067     VK_QUERY_TYPE_OCCLUSION                                = 0,
2068     VK_QUERY_TYPE_PIPELINE_STATISTICS                      = 1,
2069     VK_QUERY_TYPE_TIMESTAMP                                = 2,
2070     VK_QUERY_TYPE_RESERVED_8                               = 1000023008,
2071     VK_QUERY_TYPE_RESERVED_4                               = 1000024004,
2072     VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT            = 1000028004,
2073     VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2074 }
2075 enum VK_QUERY_TYPE_OCCLUSION                                = VkQueryType.VK_QUERY_TYPE_OCCLUSION;
2076 enum VK_QUERY_TYPE_PIPELINE_STATISTICS                      = VkQueryType.VK_QUERY_TYPE_PIPELINE_STATISTICS;
2077 enum VK_QUERY_TYPE_TIMESTAMP                                = VkQueryType.VK_QUERY_TYPE_TIMESTAMP;
2078 enum VK_QUERY_TYPE_RESERVED_8                               = VkQueryType.VK_QUERY_TYPE_RESERVED_8;
2079 enum VK_QUERY_TYPE_RESERVED_4                               = VkQueryType.VK_QUERY_TYPE_RESERVED_4;
2080 enum VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT            = VkQueryType.VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT;
2081 enum VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = VkQueryType.VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV;
2082 
2083 enum VkQueryPipelineStatisticFlagBits : VkFlags {
2084     VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT                    = 0x00000001,
2085     VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT                  = 0x00000002,
2086     VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT                  = 0x00000004,
2087     VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT                = 0x00000008,
2088     VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT                 = 0x00000010,
2089     VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT                       = 0x00000020,
2090     VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT                        = 0x00000040,
2091     VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT                = 0x00000080,
2092     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT        = 0x00000100,
2093     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2094     VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT                 = 0x00000400,
2095 }
2096 enum VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT                    = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT;
2097 enum VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT                  = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT;
2098 enum VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT                  = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT;
2099 enum VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT                = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT;
2100 enum VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT                 = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT;
2101 enum VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT                       = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT;
2102 enum VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT                        = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT;
2103 enum VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT                = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT;
2104 enum VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT        = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT;
2105 enum VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT;
2106 enum VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT                 = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT;
2107 
2108 enum VkQueryResultFlagBits : VkFlags {
2109     VK_QUERY_RESULT_64_BIT                = 0x00000001,
2110     VK_QUERY_RESULT_WAIT_BIT              = 0x00000002,
2111     VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2112     VK_QUERY_RESULT_PARTIAL_BIT           = 0x00000008,
2113 }
2114 enum VK_QUERY_RESULT_64_BIT                = VkQueryResultFlagBits.VK_QUERY_RESULT_64_BIT;
2115 enum VK_QUERY_RESULT_WAIT_BIT              = VkQueryResultFlagBits.VK_QUERY_RESULT_WAIT_BIT;
2116 enum VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = VkQueryResultFlagBits.VK_QUERY_RESULT_WITH_AVAILABILITY_BIT;
2117 enum VK_QUERY_RESULT_PARTIAL_BIT           = VkQueryResultFlagBits.VK_QUERY_RESULT_PARTIAL_BIT;
2118 
2119 enum VkBufferCreateFlagBits : VkFlags {
2120     VK_BUFFER_CREATE_SPARSE_BINDING_BIT   = 0x00000001,
2121     VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2122     VK_BUFFER_CREATE_SPARSE_ALIASED_BIT   = 0x00000004,
2123     VK_BUFFER_CREATE_PROTECTED_BIT        = 0x00000008,
2124 }
2125 enum VK_BUFFER_CREATE_SPARSE_BINDING_BIT   = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_BINDING_BIT;
2126 enum VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT;
2127 enum VK_BUFFER_CREATE_SPARSE_ALIASED_BIT   = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_ALIASED_BIT;
2128 enum VK_BUFFER_CREATE_PROTECTED_BIT        = VkBufferCreateFlagBits.VK_BUFFER_CREATE_PROTECTED_BIT;
2129 
2130 enum VkBufferUsageFlagBits : VkFlags {
2131     VK_BUFFER_USAGE_TRANSFER_SRC_BIT                          = 0x00000001,
2132     VK_BUFFER_USAGE_TRANSFER_DST_BIT                          = 0x00000002,
2133     VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT                  = 0x00000004,
2134     VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT                  = 0x00000008,
2135     VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT                        = 0x00000010,
2136     VK_BUFFER_USAGE_STORAGE_BUFFER_BIT                        = 0x00000020,
2137     VK_BUFFER_USAGE_INDEX_BUFFER_BIT                          = 0x00000040,
2138     VK_BUFFER_USAGE_VERTEX_BUFFER_BIT                         = 0x00000080,
2139     VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT                       = 0x00000100,
2140     VK_BUFFER_USAGE_RESERVED_14_BIT_KHR                       = 0x00004000,
2141     VK_BUFFER_USAGE_RESERVED_13_BIT_KHR                       = 0x00002000,
2142     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT         = 0x00000800,
2143     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2144     VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT             = 0x00000200,
2145     VK_BUFFER_USAGE_RAY_TRACING_BIT_NV                        = 0x00000400,
2146 }
2147 enum VK_BUFFER_USAGE_TRANSFER_SRC_BIT                          = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFER_SRC_BIT;
2148 enum VK_BUFFER_USAGE_TRANSFER_DST_BIT                          = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFER_DST_BIT;
2149 enum VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT                  = VkBufferUsageFlagBits.VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT;
2150 enum VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT                  = VkBufferUsageFlagBits.VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT;
2151 enum VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT                        = VkBufferUsageFlagBits.VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT;
2152 enum VK_BUFFER_USAGE_STORAGE_BUFFER_BIT                        = VkBufferUsageFlagBits.VK_BUFFER_USAGE_STORAGE_BUFFER_BIT;
2153 enum VK_BUFFER_USAGE_INDEX_BUFFER_BIT                          = VkBufferUsageFlagBits.VK_BUFFER_USAGE_INDEX_BUFFER_BIT;
2154 enum VK_BUFFER_USAGE_VERTEX_BUFFER_BIT                         = VkBufferUsageFlagBits.VK_BUFFER_USAGE_VERTEX_BUFFER_BIT;
2155 enum VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT                       = VkBufferUsageFlagBits.VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT;
2156 enum VK_BUFFER_USAGE_RESERVED_14_BIT_KHR                       = VkBufferUsageFlagBits.VK_BUFFER_USAGE_RESERVED_14_BIT_KHR;
2157 enum VK_BUFFER_USAGE_RESERVED_13_BIT_KHR                       = VkBufferUsageFlagBits.VK_BUFFER_USAGE_RESERVED_13_BIT_KHR;
2158 enum VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT         = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT;
2159 enum VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT;
2160 enum VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT             = VkBufferUsageFlagBits.VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT;
2161 enum VK_BUFFER_USAGE_RAY_TRACING_BIT_NV                        = VkBufferUsageFlagBits.VK_BUFFER_USAGE_RAY_TRACING_BIT_NV;
2162 
2163 enum VkSharingMode {
2164     VK_SHARING_MODE_EXCLUSIVE  = 0,
2165     VK_SHARING_MODE_CONCURRENT = 1,
2166 }
2167 enum VK_SHARING_MODE_EXCLUSIVE  = VkSharingMode.VK_SHARING_MODE_EXCLUSIVE;
2168 enum VK_SHARING_MODE_CONCURRENT = VkSharingMode.VK_SHARING_MODE_CONCURRENT;
2169 
2170 enum VkImageLayout {
2171     VK_IMAGE_LAYOUT_UNDEFINED                                      = 0,
2172     VK_IMAGE_LAYOUT_GENERAL                                        = 1,
2173     VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL                       = 2,
2174     VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL               = 3,
2175     VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL                = 4,
2176     VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                       = 5,
2177     VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL                           = 6,
2178     VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL                           = 7,
2179     VK_IMAGE_LAYOUT_PREINITIALIZED                                 = 8,
2180     VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL     = 1000117000,
2181     VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL     = 1000117001,
2182     VK_IMAGE_LAYOUT_PRESENT_SRC_KHR                                = 1000001002,
2183     VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR                             = 1000111000,
2184     VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
2185     VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
2186     VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV                        = 1000164003,
2187     VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT               = 1000218000,
2188 }
2189 enum VK_IMAGE_LAYOUT_UNDEFINED                                      = VkImageLayout.VK_IMAGE_LAYOUT_UNDEFINED;
2190 enum VK_IMAGE_LAYOUT_GENERAL                                        = VkImageLayout.VK_IMAGE_LAYOUT_GENERAL;
2191 enum VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL                       = VkImageLayout.VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
2192 enum VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL               = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
2193 enum VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL                = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL;
2194 enum VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                       = VkImageLayout.VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
2195 enum VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL                           = VkImageLayout.VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
2196 enum VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL                           = VkImageLayout.VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
2197 enum VK_IMAGE_LAYOUT_PREINITIALIZED                                 = VkImageLayout.VK_IMAGE_LAYOUT_PREINITIALIZED;
2198 enum VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL     = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL;
2199 enum VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL     = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL;
2200 enum VK_IMAGE_LAYOUT_PRESENT_SRC_KHR                                = VkImageLayout.VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
2201 enum VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR                             = VkImageLayout.VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR;
2202 enum VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR;
2203 enum VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR;
2204 enum VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV                        = VkImageLayout.VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV;
2205 enum VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT               = VkImageLayout.VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT;
2206 
2207 enum VkImageViewCreateFlagBits : VkFlags {
2208     VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2209 }
2210 enum VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = VkImageViewCreateFlagBits.VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT;
2211 
2212 enum VkImageViewType {
2213     VK_IMAGE_VIEW_TYPE_1D         = 0,
2214     VK_IMAGE_VIEW_TYPE_2D         = 1,
2215     VK_IMAGE_VIEW_TYPE_3D         = 2,
2216     VK_IMAGE_VIEW_TYPE_CUBE       = 3,
2217     VK_IMAGE_VIEW_TYPE_1D_ARRAY   = 4,
2218     VK_IMAGE_VIEW_TYPE_2D_ARRAY   = 5,
2219     VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2220 }
2221 enum VK_IMAGE_VIEW_TYPE_1D         = VkImageViewType.VK_IMAGE_VIEW_TYPE_1D;
2222 enum VK_IMAGE_VIEW_TYPE_2D         = VkImageViewType.VK_IMAGE_VIEW_TYPE_2D;
2223 enum VK_IMAGE_VIEW_TYPE_3D         = VkImageViewType.VK_IMAGE_VIEW_TYPE_3D;
2224 enum VK_IMAGE_VIEW_TYPE_CUBE       = VkImageViewType.VK_IMAGE_VIEW_TYPE_CUBE;
2225 enum VK_IMAGE_VIEW_TYPE_1D_ARRAY   = VkImageViewType.VK_IMAGE_VIEW_TYPE_1D_ARRAY;
2226 enum VK_IMAGE_VIEW_TYPE_2D_ARRAY   = VkImageViewType.VK_IMAGE_VIEW_TYPE_2D_ARRAY;
2227 enum VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = VkImageViewType.VK_IMAGE_VIEW_TYPE_CUBE_ARRAY;
2228 
2229 enum VkComponentSwizzle {
2230     VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2231     VK_COMPONENT_SWIZZLE_ZERO     = 1,
2232     VK_COMPONENT_SWIZZLE_ONE      = 2,
2233     VK_COMPONENT_SWIZZLE_R        = 3,
2234     VK_COMPONENT_SWIZZLE_G        = 4,
2235     VK_COMPONENT_SWIZZLE_B        = 5,
2236     VK_COMPONENT_SWIZZLE_A        = 6,
2237 }
2238 enum VK_COMPONENT_SWIZZLE_IDENTITY = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_IDENTITY;
2239 enum VK_COMPONENT_SWIZZLE_ZERO     = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_ZERO;
2240 enum VK_COMPONENT_SWIZZLE_ONE      = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_ONE;
2241 enum VK_COMPONENT_SWIZZLE_R        = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_R;
2242 enum VK_COMPONENT_SWIZZLE_G        = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_G;
2243 enum VK_COMPONENT_SWIZZLE_B        = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_B;
2244 enum VK_COMPONENT_SWIZZLE_A        = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_A;
2245 
2246 enum VkPipelineCreateFlagBits : VkFlags {
2247     VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT             = 0x00000001,
2248     VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                = 0x00000002,
2249     VK_PIPELINE_CREATE_DERIVATIVE_BIT                       = 0x00000004,
2250     VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT     = 0x00000008,
2251     VK_PIPELINE_CREATE_DISPATCH_BASE                        = 0x00000010,
2252     VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
2253     VK_PIPELINE_CREATE_DISPATCH_BASE_KHR                    = VK_PIPELINE_CREATE_DISPATCH_BASE,
2254     VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                 = 0x00000020,
2255 }
2256 enum VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT             = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT;
2257 enum VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT;
2258 enum VK_PIPELINE_CREATE_DERIVATIVE_BIT                       = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DERIVATIVE_BIT;
2259 enum VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT     = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT;
2260 enum VK_PIPELINE_CREATE_DISPATCH_BASE                        = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISPATCH_BASE;
2261 enum VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR;
2262 enum VK_PIPELINE_CREATE_DISPATCH_BASE_KHR                    = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISPATCH_BASE_KHR;
2263 enum VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                 = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV;
2264 
2265 enum VkShaderStageFlagBits : VkFlags {
2266     VK_SHADER_STAGE_VERTEX_BIT                  = 0x00000001,
2267     VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT    = 0x00000002,
2268     VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
2269     VK_SHADER_STAGE_GEOMETRY_BIT                = 0x00000008,
2270     VK_SHADER_STAGE_FRAGMENT_BIT                = 0x00000010,
2271     VK_SHADER_STAGE_COMPUTE_BIT                 = 0x00000020,
2272     VK_SHADER_STAGE_ALL_GRAPHICS                = 0x0000001F,
2273     VK_SHADER_STAGE_ALL                         = 0x7FFFFFFF,
2274     VK_SHADER_STAGE_RAYGEN_BIT_NV               = 0x00000100,
2275     VK_SHADER_STAGE_ANY_HIT_BIT_NV              = 0x00000200,
2276     VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV          = 0x00000400,
2277     VK_SHADER_STAGE_MISS_BIT_NV                 = 0x00000800,
2278     VK_SHADER_STAGE_INTERSECTION_BIT_NV         = 0x00001000,
2279     VK_SHADER_STAGE_CALLABLE_BIT_NV             = 0x00002000,
2280     VK_SHADER_STAGE_TASK_BIT_NV                 = 0x00000040,
2281     VK_SHADER_STAGE_MESH_BIT_NV                 = 0x00000080,
2282 }
2283 enum VK_SHADER_STAGE_VERTEX_BIT                  = VkShaderStageFlagBits.VK_SHADER_STAGE_VERTEX_BIT;
2284 enum VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT    = VkShaderStageFlagBits.VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;
2285 enum VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = VkShaderStageFlagBits.VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT;
2286 enum VK_SHADER_STAGE_GEOMETRY_BIT                = VkShaderStageFlagBits.VK_SHADER_STAGE_GEOMETRY_BIT;
2287 enum VK_SHADER_STAGE_FRAGMENT_BIT                = VkShaderStageFlagBits.VK_SHADER_STAGE_FRAGMENT_BIT;
2288 enum VK_SHADER_STAGE_COMPUTE_BIT                 = VkShaderStageFlagBits.VK_SHADER_STAGE_COMPUTE_BIT;
2289 enum VK_SHADER_STAGE_ALL_GRAPHICS                = VkShaderStageFlagBits.VK_SHADER_STAGE_ALL_GRAPHICS;
2290 enum VK_SHADER_STAGE_ALL                         = VkShaderStageFlagBits.VK_SHADER_STAGE_ALL;
2291 enum VK_SHADER_STAGE_RAYGEN_BIT_NV               = VkShaderStageFlagBits.VK_SHADER_STAGE_RAYGEN_BIT_NV;
2292 enum VK_SHADER_STAGE_ANY_HIT_BIT_NV              = VkShaderStageFlagBits.VK_SHADER_STAGE_ANY_HIT_BIT_NV;
2293 enum VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV          = VkShaderStageFlagBits.VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV;
2294 enum VK_SHADER_STAGE_MISS_BIT_NV                 = VkShaderStageFlagBits.VK_SHADER_STAGE_MISS_BIT_NV;
2295 enum VK_SHADER_STAGE_INTERSECTION_BIT_NV         = VkShaderStageFlagBits.VK_SHADER_STAGE_INTERSECTION_BIT_NV;
2296 enum VK_SHADER_STAGE_CALLABLE_BIT_NV             = VkShaderStageFlagBits.VK_SHADER_STAGE_CALLABLE_BIT_NV;
2297 enum VK_SHADER_STAGE_TASK_BIT_NV                 = VkShaderStageFlagBits.VK_SHADER_STAGE_TASK_BIT_NV;
2298 enum VK_SHADER_STAGE_MESH_BIT_NV                 = VkShaderStageFlagBits.VK_SHADER_STAGE_MESH_BIT_NV;
2299 
2300 enum VkVertexInputRate {
2301     VK_VERTEX_INPUT_RATE_VERTEX   = 0,
2302     VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2303 }
2304 enum VK_VERTEX_INPUT_RATE_VERTEX   = VkVertexInputRate.VK_VERTEX_INPUT_RATE_VERTEX;
2305 enum VK_VERTEX_INPUT_RATE_INSTANCE = VkVertexInputRate.VK_VERTEX_INPUT_RATE_INSTANCE;
2306 
2307 enum VkPrimitiveTopology {
2308     VK_PRIMITIVE_TOPOLOGY_POINT_LIST                    = 0,
2309     VK_PRIMITIVE_TOPOLOGY_LINE_LIST                     = 1,
2310     VK_PRIMITIVE_TOPOLOGY_LINE_STRIP                    = 2,
2311     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST                 = 3,
2312     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP                = 4,
2313     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN                  = 5,
2314     VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY      = 6,
2315     VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY     = 7,
2316     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY  = 8,
2317     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2318     VK_PRIMITIVE_TOPOLOGY_PATCH_LIST                    = 10,
2319 }
2320 enum VK_PRIMITIVE_TOPOLOGY_POINT_LIST                    = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
2321 enum VK_PRIMITIVE_TOPOLOGY_LINE_LIST                     = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_LIST;
2322 enum VK_PRIMITIVE_TOPOLOGY_LINE_STRIP                    = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_STRIP;
2323 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST                 = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
2324 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP                = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
2325 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN                  = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN;
2326 enum VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY      = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY;
2327 enum VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY     = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY;
2328 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY  = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY;
2329 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY;
2330 enum VK_PRIMITIVE_TOPOLOGY_PATCH_LIST                    = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_PATCH_LIST;
2331 
2332 enum VkPolygonMode {
2333     VK_POLYGON_MODE_FILL              = 0,
2334     VK_POLYGON_MODE_LINE              = 1,
2335     VK_POLYGON_MODE_POINT             = 2,
2336     VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2337 }
2338 enum VK_POLYGON_MODE_FILL              = VkPolygonMode.VK_POLYGON_MODE_FILL;
2339 enum VK_POLYGON_MODE_LINE              = VkPolygonMode.VK_POLYGON_MODE_LINE;
2340 enum VK_POLYGON_MODE_POINT             = VkPolygonMode.VK_POLYGON_MODE_POINT;
2341 enum VK_POLYGON_MODE_FILL_RECTANGLE_NV = VkPolygonMode.VK_POLYGON_MODE_FILL_RECTANGLE_NV;
2342 
2343 enum VkCullModeFlagBits : VkFlags {
2344     VK_CULL_MODE_NONE           = 0,
2345     VK_CULL_MODE_FRONT_BIT      = 0x00000001,
2346     VK_CULL_MODE_BACK_BIT       = 0x00000002,
2347     VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
2348 }
2349 enum VK_CULL_MODE_NONE           = VkCullModeFlagBits.VK_CULL_MODE_NONE;
2350 enum VK_CULL_MODE_FRONT_BIT      = VkCullModeFlagBits.VK_CULL_MODE_FRONT_BIT;
2351 enum VK_CULL_MODE_BACK_BIT       = VkCullModeFlagBits.VK_CULL_MODE_BACK_BIT;
2352 enum VK_CULL_MODE_FRONT_AND_BACK = VkCullModeFlagBits.VK_CULL_MODE_FRONT_AND_BACK;
2353 
2354 enum VkFrontFace {
2355     VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2356     VK_FRONT_FACE_CLOCKWISE         = 1,
2357 }
2358 enum VK_FRONT_FACE_COUNTER_CLOCKWISE = VkFrontFace.VK_FRONT_FACE_COUNTER_CLOCKWISE;
2359 enum VK_FRONT_FACE_CLOCKWISE         = VkFrontFace.VK_FRONT_FACE_CLOCKWISE;
2360 
2361 enum VkCompareOp {
2362     VK_COMPARE_OP_NEVER            = 0,
2363     VK_COMPARE_OP_LESS             = 1,
2364     VK_COMPARE_OP_EQUAL            = 2,
2365     VK_COMPARE_OP_LESS_OR_EQUAL    = 3,
2366     VK_COMPARE_OP_GREATER          = 4,
2367     VK_COMPARE_OP_NOT_EQUAL        = 5,
2368     VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2369     VK_COMPARE_OP_ALWAYS           = 7,
2370 }
2371 enum VK_COMPARE_OP_NEVER            = VkCompareOp.VK_COMPARE_OP_NEVER;
2372 enum VK_COMPARE_OP_LESS             = VkCompareOp.VK_COMPARE_OP_LESS;
2373 enum VK_COMPARE_OP_EQUAL            = VkCompareOp.VK_COMPARE_OP_EQUAL;
2374 enum VK_COMPARE_OP_LESS_OR_EQUAL    = VkCompareOp.VK_COMPARE_OP_LESS_OR_EQUAL;
2375 enum VK_COMPARE_OP_GREATER          = VkCompareOp.VK_COMPARE_OP_GREATER;
2376 enum VK_COMPARE_OP_NOT_EQUAL        = VkCompareOp.VK_COMPARE_OP_NOT_EQUAL;
2377 enum VK_COMPARE_OP_GREATER_OR_EQUAL = VkCompareOp.VK_COMPARE_OP_GREATER_OR_EQUAL;
2378 enum VK_COMPARE_OP_ALWAYS           = VkCompareOp.VK_COMPARE_OP_ALWAYS;
2379 
2380 enum VkStencilOp {
2381     VK_STENCIL_OP_KEEP                = 0,
2382     VK_STENCIL_OP_ZERO                = 1,
2383     VK_STENCIL_OP_REPLACE             = 2,
2384     VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2385     VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2386     VK_STENCIL_OP_INVERT              = 5,
2387     VK_STENCIL_OP_INCREMENT_AND_WRAP  = 6,
2388     VK_STENCIL_OP_DECREMENT_AND_WRAP  = 7,
2389 }
2390 enum VK_STENCIL_OP_KEEP                = VkStencilOp.VK_STENCIL_OP_KEEP;
2391 enum VK_STENCIL_OP_ZERO                = VkStencilOp.VK_STENCIL_OP_ZERO;
2392 enum VK_STENCIL_OP_REPLACE             = VkStencilOp.VK_STENCIL_OP_REPLACE;
2393 enum VK_STENCIL_OP_INCREMENT_AND_CLAMP = VkStencilOp.VK_STENCIL_OP_INCREMENT_AND_CLAMP;
2394 enum VK_STENCIL_OP_DECREMENT_AND_CLAMP = VkStencilOp.VK_STENCIL_OP_DECREMENT_AND_CLAMP;
2395 enum VK_STENCIL_OP_INVERT              = VkStencilOp.VK_STENCIL_OP_INVERT;
2396 enum VK_STENCIL_OP_INCREMENT_AND_WRAP  = VkStencilOp.VK_STENCIL_OP_INCREMENT_AND_WRAP;
2397 enum VK_STENCIL_OP_DECREMENT_AND_WRAP  = VkStencilOp.VK_STENCIL_OP_DECREMENT_AND_WRAP;
2398 
2399 enum VkLogicOp {
2400     VK_LOGIC_OP_CLEAR         = 0,
2401     VK_LOGIC_OP_AND           = 1,
2402     VK_LOGIC_OP_AND_REVERSE   = 2,
2403     VK_LOGIC_OP_COPY          = 3,
2404     VK_LOGIC_OP_AND_INVERTED  = 4,
2405     VK_LOGIC_OP_NO_OP         = 5,
2406     VK_LOGIC_OP_XOR           = 6,
2407     VK_LOGIC_OP_OR            = 7,
2408     VK_LOGIC_OP_NOR           = 8,
2409     VK_LOGIC_OP_EQUIVALENT    = 9,
2410     VK_LOGIC_OP_INVERT        = 10,
2411     VK_LOGIC_OP_OR_REVERSE    = 11,
2412     VK_LOGIC_OP_COPY_INVERTED = 12,
2413     VK_LOGIC_OP_OR_INVERTED   = 13,
2414     VK_LOGIC_OP_NAND          = 14,
2415     VK_LOGIC_OP_SET           = 15,
2416 }
2417 enum VK_LOGIC_OP_CLEAR         = VkLogicOp.VK_LOGIC_OP_CLEAR;
2418 enum VK_LOGIC_OP_AND           = VkLogicOp.VK_LOGIC_OP_AND;
2419 enum VK_LOGIC_OP_AND_REVERSE   = VkLogicOp.VK_LOGIC_OP_AND_REVERSE;
2420 enum VK_LOGIC_OP_COPY          = VkLogicOp.VK_LOGIC_OP_COPY;
2421 enum VK_LOGIC_OP_AND_INVERTED  = VkLogicOp.VK_LOGIC_OP_AND_INVERTED;
2422 enum VK_LOGIC_OP_NO_OP         = VkLogicOp.VK_LOGIC_OP_NO_OP;
2423 enum VK_LOGIC_OP_XOR           = VkLogicOp.VK_LOGIC_OP_XOR;
2424 enum VK_LOGIC_OP_OR            = VkLogicOp.VK_LOGIC_OP_OR;
2425 enum VK_LOGIC_OP_NOR           = VkLogicOp.VK_LOGIC_OP_NOR;
2426 enum VK_LOGIC_OP_EQUIVALENT    = VkLogicOp.VK_LOGIC_OP_EQUIVALENT;
2427 enum VK_LOGIC_OP_INVERT        = VkLogicOp.VK_LOGIC_OP_INVERT;
2428 enum VK_LOGIC_OP_OR_REVERSE    = VkLogicOp.VK_LOGIC_OP_OR_REVERSE;
2429 enum VK_LOGIC_OP_COPY_INVERTED = VkLogicOp.VK_LOGIC_OP_COPY_INVERTED;
2430 enum VK_LOGIC_OP_OR_INVERTED   = VkLogicOp.VK_LOGIC_OP_OR_INVERTED;
2431 enum VK_LOGIC_OP_NAND          = VkLogicOp.VK_LOGIC_OP_NAND;
2432 enum VK_LOGIC_OP_SET           = VkLogicOp.VK_LOGIC_OP_SET;
2433 
2434 enum VkBlendFactor {
2435     VK_BLEND_FACTOR_ZERO                     = 0,
2436     VK_BLEND_FACTOR_ONE                      = 1,
2437     VK_BLEND_FACTOR_SRC_COLOR                = 2,
2438     VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR      = 3,
2439     VK_BLEND_FACTOR_DST_COLOR                = 4,
2440     VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR      = 5,
2441     VK_BLEND_FACTOR_SRC_ALPHA                = 6,
2442     VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA      = 7,
2443     VK_BLEND_FACTOR_DST_ALPHA                = 8,
2444     VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA      = 9,
2445     VK_BLEND_FACTOR_CONSTANT_COLOR           = 10,
2446     VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2447     VK_BLEND_FACTOR_CONSTANT_ALPHA           = 12,
2448     VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2449     VK_BLEND_FACTOR_SRC_ALPHA_SATURATE       = 14,
2450     VK_BLEND_FACTOR_SRC1_COLOR               = 15,
2451     VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR     = 16,
2452     VK_BLEND_FACTOR_SRC1_ALPHA               = 17,
2453     VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA     = 18,
2454 }
2455 enum VK_BLEND_FACTOR_ZERO                     = VkBlendFactor.VK_BLEND_FACTOR_ZERO;
2456 enum VK_BLEND_FACTOR_ONE                      = VkBlendFactor.VK_BLEND_FACTOR_ONE;
2457 enum VK_BLEND_FACTOR_SRC_COLOR                = VkBlendFactor.VK_BLEND_FACTOR_SRC_COLOR;
2458 enum VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR      = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR;
2459 enum VK_BLEND_FACTOR_DST_COLOR                = VkBlendFactor.VK_BLEND_FACTOR_DST_COLOR;
2460 enum VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR      = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR;
2461 enum VK_BLEND_FACTOR_SRC_ALPHA                = VkBlendFactor.VK_BLEND_FACTOR_SRC_ALPHA;
2462 enum VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA      = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA;
2463 enum VK_BLEND_FACTOR_DST_ALPHA                = VkBlendFactor.VK_BLEND_FACTOR_DST_ALPHA;
2464 enum VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA      = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA;
2465 enum VK_BLEND_FACTOR_CONSTANT_COLOR           = VkBlendFactor.VK_BLEND_FACTOR_CONSTANT_COLOR;
2466 enum VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR;
2467 enum VK_BLEND_FACTOR_CONSTANT_ALPHA           = VkBlendFactor.VK_BLEND_FACTOR_CONSTANT_ALPHA;
2468 enum VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA;
2469 enum VK_BLEND_FACTOR_SRC_ALPHA_SATURATE       = VkBlendFactor.VK_BLEND_FACTOR_SRC_ALPHA_SATURATE;
2470 enum VK_BLEND_FACTOR_SRC1_COLOR               = VkBlendFactor.VK_BLEND_FACTOR_SRC1_COLOR;
2471 enum VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR     = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR;
2472 enum VK_BLEND_FACTOR_SRC1_ALPHA               = VkBlendFactor.VK_BLEND_FACTOR_SRC1_ALPHA;
2473 enum VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA     = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA;
2474 
2475 enum VkBlendOp {
2476     VK_BLEND_OP_ADD                    = 0,
2477     VK_BLEND_OP_SUBTRACT               = 1,
2478     VK_BLEND_OP_REVERSE_SUBTRACT       = 2,
2479     VK_BLEND_OP_MIN                    = 3,
2480     VK_BLEND_OP_MAX                    = 4,
2481     VK_BLEND_OP_ZERO_EXT               = 1000148000,
2482     VK_BLEND_OP_SRC_EXT                = 1000148001,
2483     VK_BLEND_OP_DST_EXT                = 1000148002,
2484     VK_BLEND_OP_SRC_OVER_EXT           = 1000148003,
2485     VK_BLEND_OP_DST_OVER_EXT           = 1000148004,
2486     VK_BLEND_OP_SRC_IN_EXT             = 1000148005,
2487     VK_BLEND_OP_DST_IN_EXT             = 1000148006,
2488     VK_BLEND_OP_SRC_OUT_EXT            = 1000148007,
2489     VK_BLEND_OP_DST_OUT_EXT            = 1000148008,
2490     VK_BLEND_OP_SRC_ATOP_EXT           = 1000148009,
2491     VK_BLEND_OP_DST_ATOP_EXT           = 1000148010,
2492     VK_BLEND_OP_XOR_EXT                = 1000148011,
2493     VK_BLEND_OP_MULTIPLY_EXT           = 1000148012,
2494     VK_BLEND_OP_SCREEN_EXT             = 1000148013,
2495     VK_BLEND_OP_OVERLAY_EXT            = 1000148014,
2496     VK_BLEND_OP_DARKEN_EXT             = 1000148015,
2497     VK_BLEND_OP_LIGHTEN_EXT            = 1000148016,
2498     VK_BLEND_OP_COLORDODGE_EXT         = 1000148017,
2499     VK_BLEND_OP_COLORBURN_EXT          = 1000148018,
2500     VK_BLEND_OP_HARDLIGHT_EXT          = 1000148019,
2501     VK_BLEND_OP_SOFTLIGHT_EXT          = 1000148020,
2502     VK_BLEND_OP_DIFFERENCE_EXT         = 1000148021,
2503     VK_BLEND_OP_EXCLUSION_EXT          = 1000148022,
2504     VK_BLEND_OP_INVERT_EXT             = 1000148023,
2505     VK_BLEND_OP_INVERT_RGB_EXT         = 1000148024,
2506     VK_BLEND_OP_LINEARDODGE_EXT        = 1000148025,
2507     VK_BLEND_OP_LINEARBURN_EXT         = 1000148026,
2508     VK_BLEND_OP_VIVIDLIGHT_EXT         = 1000148027,
2509     VK_BLEND_OP_LINEARLIGHT_EXT        = 1000148028,
2510     VK_BLEND_OP_PINLIGHT_EXT           = 1000148029,
2511     VK_BLEND_OP_HARDMIX_EXT            = 1000148030,
2512     VK_BLEND_OP_HSL_HUE_EXT            = 1000148031,
2513     VK_BLEND_OP_HSL_SATURATION_EXT     = 1000148032,
2514     VK_BLEND_OP_HSL_COLOR_EXT          = 1000148033,
2515     VK_BLEND_OP_HSL_LUMINOSITY_EXT     = 1000148034,
2516     VK_BLEND_OP_PLUS_EXT               = 1000148035,
2517     VK_BLEND_OP_PLUS_CLAMPED_EXT       = 1000148036,
2518     VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2519     VK_BLEND_OP_PLUS_DARKER_EXT        = 1000148038,
2520     VK_BLEND_OP_MINUS_EXT              = 1000148039,
2521     VK_BLEND_OP_MINUS_CLAMPED_EXT      = 1000148040,
2522     VK_BLEND_OP_CONTRAST_EXT           = 1000148041,
2523     VK_BLEND_OP_INVERT_OVG_EXT         = 1000148042,
2524     VK_BLEND_OP_RED_EXT                = 1000148043,
2525     VK_BLEND_OP_GREEN_EXT              = 1000148044,
2526     VK_BLEND_OP_BLUE_EXT               = 1000148045,
2527 }
2528 enum VK_BLEND_OP_ADD                    = VkBlendOp.VK_BLEND_OP_ADD;
2529 enum VK_BLEND_OP_SUBTRACT               = VkBlendOp.VK_BLEND_OP_SUBTRACT;
2530 enum VK_BLEND_OP_REVERSE_SUBTRACT       = VkBlendOp.VK_BLEND_OP_REVERSE_SUBTRACT;
2531 enum VK_BLEND_OP_MIN                    = VkBlendOp.VK_BLEND_OP_MIN;
2532 enum VK_BLEND_OP_MAX                    = VkBlendOp.VK_BLEND_OP_MAX;
2533 enum VK_BLEND_OP_ZERO_EXT               = VkBlendOp.VK_BLEND_OP_ZERO_EXT;
2534 enum VK_BLEND_OP_SRC_EXT                = VkBlendOp.VK_BLEND_OP_SRC_EXT;
2535 enum VK_BLEND_OP_DST_EXT                = VkBlendOp.VK_BLEND_OP_DST_EXT;
2536 enum VK_BLEND_OP_SRC_OVER_EXT           = VkBlendOp.VK_BLEND_OP_SRC_OVER_EXT;
2537 enum VK_BLEND_OP_DST_OVER_EXT           = VkBlendOp.VK_BLEND_OP_DST_OVER_EXT;
2538 enum VK_BLEND_OP_SRC_IN_EXT             = VkBlendOp.VK_BLEND_OP_SRC_IN_EXT;
2539 enum VK_BLEND_OP_DST_IN_EXT             = VkBlendOp.VK_BLEND_OP_DST_IN_EXT;
2540 enum VK_BLEND_OP_SRC_OUT_EXT            = VkBlendOp.VK_BLEND_OP_SRC_OUT_EXT;
2541 enum VK_BLEND_OP_DST_OUT_EXT            = VkBlendOp.VK_BLEND_OP_DST_OUT_EXT;
2542 enum VK_BLEND_OP_SRC_ATOP_EXT           = VkBlendOp.VK_BLEND_OP_SRC_ATOP_EXT;
2543 enum VK_BLEND_OP_DST_ATOP_EXT           = VkBlendOp.VK_BLEND_OP_DST_ATOP_EXT;
2544 enum VK_BLEND_OP_XOR_EXT                = VkBlendOp.VK_BLEND_OP_XOR_EXT;
2545 enum VK_BLEND_OP_MULTIPLY_EXT           = VkBlendOp.VK_BLEND_OP_MULTIPLY_EXT;
2546 enum VK_BLEND_OP_SCREEN_EXT             = VkBlendOp.VK_BLEND_OP_SCREEN_EXT;
2547 enum VK_BLEND_OP_OVERLAY_EXT            = VkBlendOp.VK_BLEND_OP_OVERLAY_EXT;
2548 enum VK_BLEND_OP_DARKEN_EXT             = VkBlendOp.VK_BLEND_OP_DARKEN_EXT;
2549 enum VK_BLEND_OP_LIGHTEN_EXT            = VkBlendOp.VK_BLEND_OP_LIGHTEN_EXT;
2550 enum VK_BLEND_OP_COLORDODGE_EXT         = VkBlendOp.VK_BLEND_OP_COLORDODGE_EXT;
2551 enum VK_BLEND_OP_COLORBURN_EXT          = VkBlendOp.VK_BLEND_OP_COLORBURN_EXT;
2552 enum VK_BLEND_OP_HARDLIGHT_EXT          = VkBlendOp.VK_BLEND_OP_HARDLIGHT_EXT;
2553 enum VK_BLEND_OP_SOFTLIGHT_EXT          = VkBlendOp.VK_BLEND_OP_SOFTLIGHT_EXT;
2554 enum VK_BLEND_OP_DIFFERENCE_EXT         = VkBlendOp.VK_BLEND_OP_DIFFERENCE_EXT;
2555 enum VK_BLEND_OP_EXCLUSION_EXT          = VkBlendOp.VK_BLEND_OP_EXCLUSION_EXT;
2556 enum VK_BLEND_OP_INVERT_EXT             = VkBlendOp.VK_BLEND_OP_INVERT_EXT;
2557 enum VK_BLEND_OP_INVERT_RGB_EXT         = VkBlendOp.VK_BLEND_OP_INVERT_RGB_EXT;
2558 enum VK_BLEND_OP_LINEARDODGE_EXT        = VkBlendOp.VK_BLEND_OP_LINEARDODGE_EXT;
2559 enum VK_BLEND_OP_LINEARBURN_EXT         = VkBlendOp.VK_BLEND_OP_LINEARBURN_EXT;
2560 enum VK_BLEND_OP_VIVIDLIGHT_EXT         = VkBlendOp.VK_BLEND_OP_VIVIDLIGHT_EXT;
2561 enum VK_BLEND_OP_LINEARLIGHT_EXT        = VkBlendOp.VK_BLEND_OP_LINEARLIGHT_EXT;
2562 enum VK_BLEND_OP_PINLIGHT_EXT           = VkBlendOp.VK_BLEND_OP_PINLIGHT_EXT;
2563 enum VK_BLEND_OP_HARDMIX_EXT            = VkBlendOp.VK_BLEND_OP_HARDMIX_EXT;
2564 enum VK_BLEND_OP_HSL_HUE_EXT            = VkBlendOp.VK_BLEND_OP_HSL_HUE_EXT;
2565 enum VK_BLEND_OP_HSL_SATURATION_EXT     = VkBlendOp.VK_BLEND_OP_HSL_SATURATION_EXT;
2566 enum VK_BLEND_OP_HSL_COLOR_EXT          = VkBlendOp.VK_BLEND_OP_HSL_COLOR_EXT;
2567 enum VK_BLEND_OP_HSL_LUMINOSITY_EXT     = VkBlendOp.VK_BLEND_OP_HSL_LUMINOSITY_EXT;
2568 enum VK_BLEND_OP_PLUS_EXT               = VkBlendOp.VK_BLEND_OP_PLUS_EXT;
2569 enum VK_BLEND_OP_PLUS_CLAMPED_EXT       = VkBlendOp.VK_BLEND_OP_PLUS_CLAMPED_EXT;
2570 enum VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = VkBlendOp.VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT;
2571 enum VK_BLEND_OP_PLUS_DARKER_EXT        = VkBlendOp.VK_BLEND_OP_PLUS_DARKER_EXT;
2572 enum VK_BLEND_OP_MINUS_EXT              = VkBlendOp.VK_BLEND_OP_MINUS_EXT;
2573 enum VK_BLEND_OP_MINUS_CLAMPED_EXT      = VkBlendOp.VK_BLEND_OP_MINUS_CLAMPED_EXT;
2574 enum VK_BLEND_OP_CONTRAST_EXT           = VkBlendOp.VK_BLEND_OP_CONTRAST_EXT;
2575 enum VK_BLEND_OP_INVERT_OVG_EXT         = VkBlendOp.VK_BLEND_OP_INVERT_OVG_EXT;
2576 enum VK_BLEND_OP_RED_EXT                = VkBlendOp.VK_BLEND_OP_RED_EXT;
2577 enum VK_BLEND_OP_GREEN_EXT              = VkBlendOp.VK_BLEND_OP_GREEN_EXT;
2578 enum VK_BLEND_OP_BLUE_EXT               = VkBlendOp.VK_BLEND_OP_BLUE_EXT;
2579 
2580 enum VkColorComponentFlagBits : VkFlags {
2581     VK_COLOR_COMPONENT_R_BIT = 0x00000001,
2582     VK_COLOR_COMPONENT_G_BIT = 0x00000002,
2583     VK_COLOR_COMPONENT_B_BIT = 0x00000004,
2584     VK_COLOR_COMPONENT_A_BIT = 0x00000008,
2585 }
2586 enum VK_COLOR_COMPONENT_R_BIT = VkColorComponentFlagBits.VK_COLOR_COMPONENT_R_BIT;
2587 enum VK_COLOR_COMPONENT_G_BIT = VkColorComponentFlagBits.VK_COLOR_COMPONENT_G_BIT;
2588 enum VK_COLOR_COMPONENT_B_BIT = VkColorComponentFlagBits.VK_COLOR_COMPONENT_B_BIT;
2589 enum VK_COLOR_COMPONENT_A_BIT = VkColorComponentFlagBits.VK_COLOR_COMPONENT_A_BIT;
2590 
2591 enum VkDynamicState {
2592     VK_DYNAMIC_STATE_VIEWPORT                         = 0,
2593     VK_DYNAMIC_STATE_SCISSOR                          = 1,
2594     VK_DYNAMIC_STATE_LINE_WIDTH                       = 2,
2595     VK_DYNAMIC_STATE_DEPTH_BIAS                       = 3,
2596     VK_DYNAMIC_STATE_BLEND_CONSTANTS                  = 4,
2597     VK_DYNAMIC_STATE_DEPTH_BOUNDS                     = 5,
2598     VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK             = 6,
2599     VK_DYNAMIC_STATE_STENCIL_WRITE_MASK               = 7,
2600     VK_DYNAMIC_STATE_STENCIL_REFERENCE                = 8,
2601     VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV            = 1000087000,
2602     VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT            = 1000099000,
2603     VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT             = 1000143000,
2604     VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2605     VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV  = 1000164006,
2606     VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV             = 1000205001,
2607 }
2608 enum VK_DYNAMIC_STATE_VIEWPORT                         = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT;
2609 enum VK_DYNAMIC_STATE_SCISSOR                          = VkDynamicState.VK_DYNAMIC_STATE_SCISSOR;
2610 enum VK_DYNAMIC_STATE_LINE_WIDTH                       = VkDynamicState.VK_DYNAMIC_STATE_LINE_WIDTH;
2611 enum VK_DYNAMIC_STATE_DEPTH_BIAS                       = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_BIAS;
2612 enum VK_DYNAMIC_STATE_BLEND_CONSTANTS                  = VkDynamicState.VK_DYNAMIC_STATE_BLEND_CONSTANTS;
2613 enum VK_DYNAMIC_STATE_DEPTH_BOUNDS                     = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_BOUNDS;
2614 enum VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK             = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK;
2615 enum VK_DYNAMIC_STATE_STENCIL_WRITE_MASK               = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_WRITE_MASK;
2616 enum VK_DYNAMIC_STATE_STENCIL_REFERENCE                = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_REFERENCE;
2617 enum VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV            = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV;
2618 enum VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT            = VkDynamicState.VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT;
2619 enum VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT             = VkDynamicState.VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT;
2620 enum VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV;
2621 enum VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV  = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV;
2622 enum VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV             = VkDynamicState.VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV;
2623 
2624 enum VkSamplerCreateFlagBits : VkFlags {
2625     VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT                       = 0x00000001,
2626     VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
2627 }
2628 enum VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT                       = VkSamplerCreateFlagBits.VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT;
2629 enum VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = VkSamplerCreateFlagBits.VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT;
2630 
2631 enum VkFilter {
2632     VK_FILTER_NEAREST   = 0,
2633     VK_FILTER_LINEAR    = 1,
2634     VK_FILTER_CUBIC_IMG = 1000015000,
2635 }
2636 enum VK_FILTER_NEAREST   = VkFilter.VK_FILTER_NEAREST;
2637 enum VK_FILTER_LINEAR    = VkFilter.VK_FILTER_LINEAR;
2638 enum VK_FILTER_CUBIC_IMG = VkFilter.VK_FILTER_CUBIC_IMG;
2639 
2640 enum VkSamplerMipmapMode {
2641     VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2642     VK_SAMPLER_MIPMAP_MODE_LINEAR  = 1,
2643 }
2644 enum VK_SAMPLER_MIPMAP_MODE_NEAREST = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_NEAREST;
2645 enum VK_SAMPLER_MIPMAP_MODE_LINEAR  = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_LINEAR;
2646 
2647 enum VkSamplerAddressMode {
2648     VK_SAMPLER_ADDRESS_MODE_REPEAT               = 0,
2649     VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT      = 1,
2650     VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE        = 2,
2651     VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER      = 3,
2652     VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2653 }
2654 enum VK_SAMPLER_ADDRESS_MODE_REPEAT               = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_REPEAT;
2655 enum VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT      = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT;
2656 enum VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE        = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
2657 enum VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER      = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER;
2658 enum VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
2659 
2660 enum VkBorderColor {
2661     VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2662     VK_BORDER_COLOR_INT_TRANSPARENT_BLACK   = 1,
2663     VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK      = 2,
2664     VK_BORDER_COLOR_INT_OPAQUE_BLACK        = 3,
2665     VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE      = 4,
2666     VK_BORDER_COLOR_INT_OPAQUE_WHITE        = 5,
2667 }
2668 enum VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = VkBorderColor.VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK;
2669 enum VK_BORDER_COLOR_INT_TRANSPARENT_BLACK   = VkBorderColor.VK_BORDER_COLOR_INT_TRANSPARENT_BLACK;
2670 enum VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK      = VkBorderColor.VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK;
2671 enum VK_BORDER_COLOR_INT_OPAQUE_BLACK        = VkBorderColor.VK_BORDER_COLOR_INT_OPAQUE_BLACK;
2672 enum VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE      = VkBorderColor.VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE;
2673 enum VK_BORDER_COLOR_INT_OPAQUE_WHITE        = VkBorderColor.VK_BORDER_COLOR_INT_OPAQUE_WHITE;
2674 
2675 enum VkDescriptorSetLayoutCreateFlagBits : VkFlags {
2676     VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR        = 0x00000001,
2677     VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = 0x00000002,
2678 }
2679 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR        = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR;
2680 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT;
2681 
2682 enum VkDescriptorType {
2683     VK_DESCRIPTOR_TYPE_SAMPLER                   = 0,
2684     VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER    = 1,
2685     VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE             = 2,
2686     VK_DESCRIPTOR_TYPE_STORAGE_IMAGE             = 3,
2687     VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER      = 4,
2688     VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER      = 5,
2689     VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER            = 6,
2690     VK_DESCRIPTOR_TYPE_STORAGE_BUFFER            = 7,
2691     VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC    = 8,
2692     VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC    = 9,
2693     VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT          = 10,
2694     VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT  = 1000138000,
2695     VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2696 }
2697 enum VK_DESCRIPTOR_TYPE_SAMPLER                   = VkDescriptorType.VK_DESCRIPTOR_TYPE_SAMPLER;
2698 enum VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER    = VkDescriptorType.VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
2699 enum VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE             = VkDescriptorType.VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
2700 enum VK_DESCRIPTOR_TYPE_STORAGE_IMAGE             = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_IMAGE;
2701 enum VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER      = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
2702 enum VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER      = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER;
2703 enum VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER            = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
2704 enum VK_DESCRIPTOR_TYPE_STORAGE_BUFFER            = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
2705 enum VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC    = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;
2706 enum VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC    = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
2707 enum VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT          = VkDescriptorType.VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
2708 enum VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT  = VkDescriptorType.VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
2709 enum VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = VkDescriptorType.VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV;
2710 
2711 enum VkDescriptorPoolCreateFlagBits : VkFlags {
2712     VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT   = 0x00000001,
2713     VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = 0x00000002,
2714 }
2715 enum VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT   = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT;
2716 enum VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT;
2717 
2718 enum VkAttachmentDescriptionFlagBits : VkFlags {
2719     VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
2720 }
2721 enum VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = VkAttachmentDescriptionFlagBits.VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT;
2722 
2723 enum VkAttachmentLoadOp {
2724     VK_ATTACHMENT_LOAD_OP_LOAD      = 0,
2725     VK_ATTACHMENT_LOAD_OP_CLEAR     = 1,
2726     VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2727 }
2728 enum VK_ATTACHMENT_LOAD_OP_LOAD      = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_LOAD;
2729 enum VK_ATTACHMENT_LOAD_OP_CLEAR     = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_CLEAR;
2730 enum VK_ATTACHMENT_LOAD_OP_DONT_CARE = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_DONT_CARE;
2731 
2732 enum VkAttachmentStoreOp {
2733     VK_ATTACHMENT_STORE_OP_STORE     = 0,
2734     VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2735 }
2736 enum VK_ATTACHMENT_STORE_OP_STORE     = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_STORE;
2737 enum VK_ATTACHMENT_STORE_OP_DONT_CARE = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_DONT_CARE;
2738 
2739 enum VkSubpassDescriptionFlagBits : VkFlags {
2740     VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX      = 0x00000001,
2741     VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
2742 }
2743 enum VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX      = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX;
2744 enum VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX;
2745 
2746 enum VkPipelineBindPoint {
2747     VK_PIPELINE_BIND_POINT_GRAPHICS       = 0,
2748     VK_PIPELINE_BIND_POINT_COMPUTE        = 1,
2749     VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = 1000165000,
2750 }
2751 enum VK_PIPELINE_BIND_POINT_GRAPHICS       = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_GRAPHICS;
2752 enum VK_PIPELINE_BIND_POINT_COMPUTE        = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_COMPUTE;
2753 enum VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_RAY_TRACING_NV;
2754 
2755 enum VkAccessFlagBits : VkFlags {
2756     VK_ACCESS_INDIRECT_COMMAND_READ_BIT                 = 0x00000001,
2757     VK_ACCESS_INDEX_READ_BIT                            = 0x00000002,
2758     VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT                 = 0x00000004,
2759     VK_ACCESS_UNIFORM_READ_BIT                          = 0x00000008,
2760     VK_ACCESS_INPUT_ATTACHMENT_READ_BIT                 = 0x00000010,
2761     VK_ACCESS_SHADER_READ_BIT                           = 0x00000020,
2762     VK_ACCESS_SHADER_WRITE_BIT                          = 0x00000040,
2763     VK_ACCESS_COLOR_ATTACHMENT_READ_BIT                 = 0x00000080,
2764     VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT                = 0x00000100,
2765     VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT         = 0x00000200,
2766     VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT        = 0x00000400,
2767     VK_ACCESS_TRANSFER_READ_BIT                         = 0x00000800,
2768     VK_ACCESS_TRANSFER_WRITE_BIT                        = 0x00001000,
2769     VK_ACCESS_HOST_READ_BIT                             = 0x00002000,
2770     VK_ACCESS_HOST_WRITE_BIT                            = 0x00004000,
2771     VK_ACCESS_MEMORY_READ_BIT                           = 0x00008000,
2772     VK_ACCESS_MEMORY_WRITE_BIT                          = 0x00010000,
2773     VK_ACCESS_RESERVED_30_BIT_KHR                       = 0x40000000,
2774     VK_ACCESS_RESERVED_31_BIT_KHR                       = 0x80000000,
2775     VK_ACCESS_RESERVED_28_BIT_KHR                       = 0x10000000,
2776     VK_ACCESS_RESERVED_29_BIT_KHR                       = 0x20000000,
2777     VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT          = 0x02000000,
2778     VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT   = 0x04000000,
2779     VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT  = 0x08000000,
2780     VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT        = 0x00100000,
2781     VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX              = 0x00020000,
2782     VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX             = 0x00040000,
2783     VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2784     VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV            = 0x00800000,
2785     VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV        = 0x00200000,
2786     VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV       = 0x00400000,
2787     VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT         = 0x01000000,
2788 }
2789 enum VK_ACCESS_INDIRECT_COMMAND_READ_BIT                 = VkAccessFlagBits.VK_ACCESS_INDIRECT_COMMAND_READ_BIT;
2790 enum VK_ACCESS_INDEX_READ_BIT                            = VkAccessFlagBits.VK_ACCESS_INDEX_READ_BIT;
2791 enum VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT                 = VkAccessFlagBits.VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT;
2792 enum VK_ACCESS_UNIFORM_READ_BIT                          = VkAccessFlagBits.VK_ACCESS_UNIFORM_READ_BIT;
2793 enum VK_ACCESS_INPUT_ATTACHMENT_READ_BIT                 = VkAccessFlagBits.VK_ACCESS_INPUT_ATTACHMENT_READ_BIT;
2794 enum VK_ACCESS_SHADER_READ_BIT                           = VkAccessFlagBits.VK_ACCESS_SHADER_READ_BIT;
2795 enum VK_ACCESS_SHADER_WRITE_BIT                          = VkAccessFlagBits.VK_ACCESS_SHADER_WRITE_BIT;
2796 enum VK_ACCESS_COLOR_ATTACHMENT_READ_BIT                 = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_READ_BIT;
2797 enum VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT                = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
2798 enum VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT         = VkAccessFlagBits.VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT;
2799 enum VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT        = VkAccessFlagBits.VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
2800 enum VK_ACCESS_TRANSFER_READ_BIT                         = VkAccessFlagBits.VK_ACCESS_TRANSFER_READ_BIT;
2801 enum VK_ACCESS_TRANSFER_WRITE_BIT                        = VkAccessFlagBits.VK_ACCESS_TRANSFER_WRITE_BIT;
2802 enum VK_ACCESS_HOST_READ_BIT                             = VkAccessFlagBits.VK_ACCESS_HOST_READ_BIT;
2803 enum VK_ACCESS_HOST_WRITE_BIT                            = VkAccessFlagBits.VK_ACCESS_HOST_WRITE_BIT;
2804 enum VK_ACCESS_MEMORY_READ_BIT                           = VkAccessFlagBits.VK_ACCESS_MEMORY_READ_BIT;
2805 enum VK_ACCESS_MEMORY_WRITE_BIT                          = VkAccessFlagBits.VK_ACCESS_MEMORY_WRITE_BIT;
2806 enum VK_ACCESS_RESERVED_30_BIT_KHR                       = VkAccessFlagBits.VK_ACCESS_RESERVED_30_BIT_KHR;
2807 enum VK_ACCESS_RESERVED_31_BIT_KHR                       = VkAccessFlagBits.VK_ACCESS_RESERVED_31_BIT_KHR;
2808 enum VK_ACCESS_RESERVED_28_BIT_KHR                       = VkAccessFlagBits.VK_ACCESS_RESERVED_28_BIT_KHR;
2809 enum VK_ACCESS_RESERVED_29_BIT_KHR                       = VkAccessFlagBits.VK_ACCESS_RESERVED_29_BIT_KHR;
2810 enum VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT          = VkAccessFlagBits.VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT;
2811 enum VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT   = VkAccessFlagBits.VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT;
2812 enum VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT  = VkAccessFlagBits.VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT;
2813 enum VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT        = VkAccessFlagBits.VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT;
2814 enum VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX              = VkAccessFlagBits.VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX;
2815 enum VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX             = VkAccessFlagBits.VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX;
2816 enum VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT;
2817 enum VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV            = VkAccessFlagBits.VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV;
2818 enum VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV        = VkAccessFlagBits.VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV;
2819 enum VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV       = VkAccessFlagBits.VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV;
2820 enum VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT         = VkAccessFlagBits.VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT;
2821 
2822 enum VkDependencyFlagBits : VkFlags {
2823     VK_DEPENDENCY_BY_REGION_BIT        = 0x00000001,
2824     VK_DEPENDENCY_DEVICE_GROUP_BIT     = 0x00000004,
2825     VK_DEPENDENCY_VIEW_LOCAL_BIT       = 0x00000002,
2826     VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR   = VK_DEPENDENCY_VIEW_LOCAL_BIT,
2827     VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
2828 }
2829 enum VK_DEPENDENCY_BY_REGION_BIT        = VkDependencyFlagBits.VK_DEPENDENCY_BY_REGION_BIT;
2830 enum VK_DEPENDENCY_DEVICE_GROUP_BIT     = VkDependencyFlagBits.VK_DEPENDENCY_DEVICE_GROUP_BIT;
2831 enum VK_DEPENDENCY_VIEW_LOCAL_BIT       = VkDependencyFlagBits.VK_DEPENDENCY_VIEW_LOCAL_BIT;
2832 enum VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR   = VkDependencyFlagBits.VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR;
2833 enum VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VkDependencyFlagBits.VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR;
2834 
2835 enum VkCommandPoolCreateFlagBits : VkFlags {
2836     VK_COMMAND_POOL_CREATE_TRANSIENT_BIT            = 0x00000001,
2837     VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
2838     VK_COMMAND_POOL_CREATE_PROTECTED_BIT            = 0x00000004,
2839 }
2840 enum VK_COMMAND_POOL_CREATE_TRANSIENT_BIT            = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_TRANSIENT_BIT;
2841 enum VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
2842 enum VK_COMMAND_POOL_CREATE_PROTECTED_BIT            = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_PROTECTED_BIT;
2843 
2844 enum VkCommandPoolResetFlagBits : VkFlags {
2845     VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2846 }
2847 enum VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = VkCommandPoolResetFlagBits.VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT;
2848 
2849 enum VkCommandBufferLevel {
2850     VK_COMMAND_BUFFER_LEVEL_PRIMARY   = 0,
2851     VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2852 }
2853 enum VK_COMMAND_BUFFER_LEVEL_PRIMARY   = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_PRIMARY;
2854 enum VK_COMMAND_BUFFER_LEVEL_SECONDARY = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_SECONDARY;
2855 
2856 enum VkCommandBufferUsageFlagBits : VkFlags {
2857     VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT      = 0x00000001,
2858     VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
2859     VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT     = 0x00000004,
2860 }
2861 enum VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT      = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
2862 enum VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT;
2863 enum VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT     = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
2864 
2865 enum VkQueryControlFlagBits : VkFlags {
2866     VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
2867 }
2868 enum VK_QUERY_CONTROL_PRECISE_BIT = VkQueryControlFlagBits.VK_QUERY_CONTROL_PRECISE_BIT;
2869 
2870 enum VkCommandBufferResetFlagBits : VkFlags {
2871     VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2872 }
2873 enum VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = VkCommandBufferResetFlagBits.VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT;
2874 
2875 enum VkStencilFaceFlagBits : VkFlags {
2876     VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
2877     VK_STENCIL_FACE_BACK_BIT  = 0x00000002,
2878     VK_STENCIL_FRONT_AND_BACK = 0x00000003,
2879 }
2880 enum VK_STENCIL_FACE_FRONT_BIT = VkStencilFaceFlagBits.VK_STENCIL_FACE_FRONT_BIT;
2881 enum VK_STENCIL_FACE_BACK_BIT  = VkStencilFaceFlagBits.VK_STENCIL_FACE_BACK_BIT;
2882 enum VK_STENCIL_FRONT_AND_BACK = VkStencilFaceFlagBits.VK_STENCIL_FRONT_AND_BACK;
2883 
2884 enum VkIndexType {
2885     VK_INDEX_TYPE_UINT16  = 0,
2886     VK_INDEX_TYPE_UINT32  = 1,
2887     VK_INDEX_TYPE_NONE_NV = 1000165000,
2888 }
2889 enum VK_INDEX_TYPE_UINT16  = VkIndexType.VK_INDEX_TYPE_UINT16;
2890 enum VK_INDEX_TYPE_UINT32  = VkIndexType.VK_INDEX_TYPE_UINT32;
2891 enum VK_INDEX_TYPE_NONE_NV = VkIndexType.VK_INDEX_TYPE_NONE_NV;
2892 
2893 enum VkSubpassContents {
2894     VK_SUBPASS_CONTENTS_INLINE                    = 0,
2895     VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2896 }
2897 enum VK_SUBPASS_CONTENTS_INLINE                    = VkSubpassContents.VK_SUBPASS_CONTENTS_INLINE;
2898 enum VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = VkSubpassContents.VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS;
2899 
2900 enum VkObjectType {
2901     VK_OBJECT_TYPE_UNKNOWN                        = 0,
2902     VK_OBJECT_TYPE_INSTANCE                       = 1,
2903     VK_OBJECT_TYPE_PHYSICAL_DEVICE                = 2,
2904     VK_OBJECT_TYPE_DEVICE                         = 3,
2905     VK_OBJECT_TYPE_QUEUE                          = 4,
2906     VK_OBJECT_TYPE_SEMAPHORE                      = 5,
2907     VK_OBJECT_TYPE_COMMAND_BUFFER                 = 6,
2908     VK_OBJECT_TYPE_FENCE                          = 7,
2909     VK_OBJECT_TYPE_DEVICE_MEMORY                  = 8,
2910     VK_OBJECT_TYPE_BUFFER                         = 9,
2911     VK_OBJECT_TYPE_IMAGE                          = 10,
2912     VK_OBJECT_TYPE_EVENT                          = 11,
2913     VK_OBJECT_TYPE_QUERY_POOL                     = 12,
2914     VK_OBJECT_TYPE_BUFFER_VIEW                    = 13,
2915     VK_OBJECT_TYPE_IMAGE_VIEW                     = 14,
2916     VK_OBJECT_TYPE_SHADER_MODULE                  = 15,
2917     VK_OBJECT_TYPE_PIPELINE_CACHE                 = 16,
2918     VK_OBJECT_TYPE_PIPELINE_LAYOUT                = 17,
2919     VK_OBJECT_TYPE_RENDER_PASS                    = 18,
2920     VK_OBJECT_TYPE_PIPELINE                       = 19,
2921     VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT          = 20,
2922     VK_OBJECT_TYPE_SAMPLER                        = 21,
2923     VK_OBJECT_TYPE_DESCRIPTOR_POOL                = 22,
2924     VK_OBJECT_TYPE_DESCRIPTOR_SET                 = 23,
2925     VK_OBJECT_TYPE_FRAMEBUFFER                    = 24,
2926     VK_OBJECT_TYPE_COMMAND_POOL                   = 25,
2927     VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION       = 1000156000,
2928     VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE     = 1000085000,
2929     VK_OBJECT_TYPE_SURFACE_KHR                    = 1000000000,
2930     VK_OBJECT_TYPE_SWAPCHAIN_KHR                  = 1000001000,
2931     VK_OBJECT_TYPE_DISPLAY_KHR                    = 1000002000,
2932     VK_OBJECT_TYPE_DISPLAY_MODE_KHR               = 1000002001,
2933     VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT      = 1000011000,
2934     VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
2935     VK_OBJECT_TYPE_OBJECT_TABLE_NVX               = 1000086000,
2936     VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX   = 1000086001,
2937     VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT      = 1000128000,
2938     VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR   = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
2939     VK_OBJECT_TYPE_VALIDATION_CACHE_EXT           = 1000160000,
2940     VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV      = 1000165000,
2941 }
2942 enum VK_OBJECT_TYPE_UNKNOWN                        = VkObjectType.VK_OBJECT_TYPE_UNKNOWN;
2943 enum VK_OBJECT_TYPE_INSTANCE                       = VkObjectType.VK_OBJECT_TYPE_INSTANCE;
2944 enum VK_OBJECT_TYPE_PHYSICAL_DEVICE                = VkObjectType.VK_OBJECT_TYPE_PHYSICAL_DEVICE;
2945 enum VK_OBJECT_TYPE_DEVICE                         = VkObjectType.VK_OBJECT_TYPE_DEVICE;
2946 enum VK_OBJECT_TYPE_QUEUE                          = VkObjectType.VK_OBJECT_TYPE_QUEUE;
2947 enum VK_OBJECT_TYPE_SEMAPHORE                      = VkObjectType.VK_OBJECT_TYPE_SEMAPHORE;
2948 enum VK_OBJECT_TYPE_COMMAND_BUFFER                 = VkObjectType.VK_OBJECT_TYPE_COMMAND_BUFFER;
2949 enum VK_OBJECT_TYPE_FENCE                          = VkObjectType.VK_OBJECT_TYPE_FENCE;
2950 enum VK_OBJECT_TYPE_DEVICE_MEMORY                  = VkObjectType.VK_OBJECT_TYPE_DEVICE_MEMORY;
2951 enum VK_OBJECT_TYPE_BUFFER                         = VkObjectType.VK_OBJECT_TYPE_BUFFER;
2952 enum VK_OBJECT_TYPE_IMAGE                          = VkObjectType.VK_OBJECT_TYPE_IMAGE;
2953 enum VK_OBJECT_TYPE_EVENT                          = VkObjectType.VK_OBJECT_TYPE_EVENT;
2954 enum VK_OBJECT_TYPE_QUERY_POOL                     = VkObjectType.VK_OBJECT_TYPE_QUERY_POOL;
2955 enum VK_OBJECT_TYPE_BUFFER_VIEW                    = VkObjectType.VK_OBJECT_TYPE_BUFFER_VIEW;
2956 enum VK_OBJECT_TYPE_IMAGE_VIEW                     = VkObjectType.VK_OBJECT_TYPE_IMAGE_VIEW;
2957 enum VK_OBJECT_TYPE_SHADER_MODULE                  = VkObjectType.VK_OBJECT_TYPE_SHADER_MODULE;
2958 enum VK_OBJECT_TYPE_PIPELINE_CACHE                 = VkObjectType.VK_OBJECT_TYPE_PIPELINE_CACHE;
2959 enum VK_OBJECT_TYPE_PIPELINE_LAYOUT                = VkObjectType.VK_OBJECT_TYPE_PIPELINE_LAYOUT;
2960 enum VK_OBJECT_TYPE_RENDER_PASS                    = VkObjectType.VK_OBJECT_TYPE_RENDER_PASS;
2961 enum VK_OBJECT_TYPE_PIPELINE                       = VkObjectType.VK_OBJECT_TYPE_PIPELINE;
2962 enum VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT          = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT;
2963 enum VK_OBJECT_TYPE_SAMPLER                        = VkObjectType.VK_OBJECT_TYPE_SAMPLER;
2964 enum VK_OBJECT_TYPE_DESCRIPTOR_POOL                = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_POOL;
2965 enum VK_OBJECT_TYPE_DESCRIPTOR_SET                 = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_SET;
2966 enum VK_OBJECT_TYPE_FRAMEBUFFER                    = VkObjectType.VK_OBJECT_TYPE_FRAMEBUFFER;
2967 enum VK_OBJECT_TYPE_COMMAND_POOL                   = VkObjectType.VK_OBJECT_TYPE_COMMAND_POOL;
2968 enum VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION       = VkObjectType.VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION;
2969 enum VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE     = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE;
2970 enum VK_OBJECT_TYPE_SURFACE_KHR                    = VkObjectType.VK_OBJECT_TYPE_SURFACE_KHR;
2971 enum VK_OBJECT_TYPE_SWAPCHAIN_KHR                  = VkObjectType.VK_OBJECT_TYPE_SWAPCHAIN_KHR;
2972 enum VK_OBJECT_TYPE_DISPLAY_KHR                    = VkObjectType.VK_OBJECT_TYPE_DISPLAY_KHR;
2973 enum VK_OBJECT_TYPE_DISPLAY_MODE_KHR               = VkObjectType.VK_OBJECT_TYPE_DISPLAY_MODE_KHR;
2974 enum VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT      = VkObjectType.VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT;
2975 enum VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR;
2976 enum VK_OBJECT_TYPE_OBJECT_TABLE_NVX               = VkObjectType.VK_OBJECT_TYPE_OBJECT_TABLE_NVX;
2977 enum VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX   = VkObjectType.VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX;
2978 enum VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT      = VkObjectType.VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT;
2979 enum VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR   = VkObjectType.VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR;
2980 enum VK_OBJECT_TYPE_VALIDATION_CACHE_EXT           = VkObjectType.VK_OBJECT_TYPE_VALIDATION_CACHE_EXT;
2981 enum VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV      = VkObjectType.VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV;
2982 
2983 enum VkVendorId {
2984     VK_VENDOR_ID_VIV   = 0x10001,
2985     VK_VENDOR_ID_VSI   = 0x10002,
2986     VK_VENDOR_ID_KAZAN = 0x10003,
2987 }
2988 enum VK_VENDOR_ID_VIV   = VkVendorId.VK_VENDOR_ID_VIV;
2989 enum VK_VENDOR_ID_VSI   = VkVendorId.VK_VENDOR_ID_VSI;
2990 enum VK_VENDOR_ID_KAZAN = VkVendorId.VK_VENDOR_ID_KAZAN;
2991 
2992 
2993 // VK_VERSION_1_1
2994 enum VkSubgroupFeatureFlagBits : VkFlags {
2995     VK_SUBGROUP_FEATURE_BASIC_BIT            = 0x00000001,
2996     VK_SUBGROUP_FEATURE_VOTE_BIT             = 0x00000002,
2997     VK_SUBGROUP_FEATURE_ARITHMETIC_BIT       = 0x00000004,
2998     VK_SUBGROUP_FEATURE_BALLOT_BIT           = 0x00000008,
2999     VK_SUBGROUP_FEATURE_SHUFFLE_BIT          = 0x00000010,
3000     VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
3001     VK_SUBGROUP_FEATURE_CLUSTERED_BIT        = 0x00000040,
3002     VK_SUBGROUP_FEATURE_QUAD_BIT             = 0x00000080,
3003     VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV   = 0x00000100,
3004 }
3005 enum VK_SUBGROUP_FEATURE_BASIC_BIT            = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_BASIC_BIT;
3006 enum VK_SUBGROUP_FEATURE_VOTE_BIT             = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_VOTE_BIT;
3007 enum VK_SUBGROUP_FEATURE_ARITHMETIC_BIT       = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_ARITHMETIC_BIT;
3008 enum VK_SUBGROUP_FEATURE_BALLOT_BIT           = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_BALLOT_BIT;
3009 enum VK_SUBGROUP_FEATURE_SHUFFLE_BIT          = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_SHUFFLE_BIT;
3010 enum VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT;
3011 enum VK_SUBGROUP_FEATURE_CLUSTERED_BIT        = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_CLUSTERED_BIT;
3012 enum VK_SUBGROUP_FEATURE_QUAD_BIT             = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_QUAD_BIT;
3013 enum VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV   = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV;
3014 
3015 enum VkPeerMemoryFeatureFlagBits : VkFlags {
3016     VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT        = 0x00000001,
3017     VK_PEER_MEMORY_FEATURE_COPY_DST_BIT        = 0x00000002,
3018     VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT     = 0x00000004,
3019     VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT     = 0x00000008,
3020     VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR    = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
3021     VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR    = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
3022     VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
3023     VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
3024 }
3025 enum VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT        = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT;
3026 enum VK_PEER_MEMORY_FEATURE_COPY_DST_BIT        = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_DST_BIT;
3027 enum VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT     = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT;
3028 enum VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT     = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT;
3029 enum VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR    = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR;
3030 enum VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR    = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR;
3031 enum VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR;
3032 enum VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR;
3033 
3034 enum VkMemoryAllocateFlagBits : VkFlags {
3035     VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT     = 0x00000001,
3036     VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
3037 }
3038 enum VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT     = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT;
3039 enum VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR;
3040 
3041 enum VkPointClippingBehavior {
3042     VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES           = 0,
3043     VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY     = 1,
3044     VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR       = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
3045     VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
3046 }
3047 enum VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES           = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES;
3048 enum VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY     = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY;
3049 enum VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR       = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR;
3050 enum VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR;
3051 
3052 enum VkTessellationDomainOrigin {
3053     VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT     = 0,
3054     VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT     = 1,
3055     VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
3056     VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
3057 }
3058 enum VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT     = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT;
3059 enum VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT     = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT;
3060 enum VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR;
3061 enum VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR;
3062 
3063 enum VkSamplerYcbcrModelConversion {
3064     VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY       = 0,
3065     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY     = 1,
3066     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709          = 2,
3067     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601          = 3,
3068     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020         = 4,
3069     VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR   = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
3070     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
3071     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR      = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
3072     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR      = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
3073     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR     = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
3074 }
3075 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY       = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY;
3076 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY     = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY;
3077 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709          = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709;
3078 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601          = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601;
3079 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020         = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020;
3080 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR   = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR;
3081 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR;
3082 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR      = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR;
3083 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR      = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR;
3084 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR     = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR;
3085 
3086 enum VkSamplerYcbcrRange {
3087     VK_SAMPLER_YCBCR_RANGE_ITU_FULL       = 0,
3088     VK_SAMPLER_YCBCR_RANGE_ITU_NARROW     = 1,
3089     VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR   = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
3090     VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
3091 }
3092 enum VK_SAMPLER_YCBCR_RANGE_ITU_FULL       = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_FULL;
3093 enum VK_SAMPLER_YCBCR_RANGE_ITU_NARROW     = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_NARROW;
3094 enum VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR   = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR;
3095 enum VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR;
3096 
3097 enum VkChromaLocation {
3098     VK_CHROMA_LOCATION_COSITED_EVEN     = 0,
3099     VK_CHROMA_LOCATION_MIDPOINT         = 1,
3100     VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
3101     VK_CHROMA_LOCATION_MIDPOINT_KHR     = VK_CHROMA_LOCATION_MIDPOINT,
3102 }
3103 enum VK_CHROMA_LOCATION_COSITED_EVEN     = VkChromaLocation.VK_CHROMA_LOCATION_COSITED_EVEN;
3104 enum VK_CHROMA_LOCATION_MIDPOINT         = VkChromaLocation.VK_CHROMA_LOCATION_MIDPOINT;
3105 enum VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VkChromaLocation.VK_CHROMA_LOCATION_COSITED_EVEN_KHR;
3106 enum VK_CHROMA_LOCATION_MIDPOINT_KHR     = VkChromaLocation.VK_CHROMA_LOCATION_MIDPOINT_KHR;
3107 
3108 enum VkDescriptorUpdateTemplateType {
3109     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET       = 0,
3110     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
3111     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR   = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
3112 }
3113 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET       = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET;
3114 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR;
3115 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR   = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR;
3116 
3117 enum VkExternalMemoryHandleTypeFlagBits : VkFlags {
3118     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT                       = 0x00000001,
3119     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT                    = 0x00000002,
3120     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT                = 0x00000004,
3121     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT                   = 0x00000008,
3122     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT               = 0x00000010,
3123     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT                      = 0x00000020,
3124     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT                  = 0x00000040,
3125     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR                   = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
3126     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR                = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
3127     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR            = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
3128     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR               = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
3129     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR           = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
3130     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR                  = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
3131     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR              = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
3132     VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT                     = 0x00000200,
3133     VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
3134     VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT             = 0x00000080,
3135     VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT  = 0x00000100,
3136 }
3137 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT                       = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT;
3138 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT                    = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT;
3139 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT                = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
3140 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT                   = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT;
3141 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT               = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT;
3142 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT                      = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT;
3143 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT                  = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT;
3144 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR                   = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
3145 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR                = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
3146 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR            = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
3147 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR               = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR;
3148 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR           = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR;
3149 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR                  = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR;
3150 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR              = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR;
3151 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT                     = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT;
3152 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID;
3153 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT             = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT;
3154 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT  = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT;
3155 
3156 enum VkExternalMemoryFeatureFlagBits : VkFlags {
3157     VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT     = 0x00000001,
3158     VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT         = 0x00000002,
3159     VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT         = 0x00000004,
3160     VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
3161     VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR     = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
3162     VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR     = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
3163 }
3164 enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT     = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT;
3165 enum VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT         = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT;
3166 enum VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT         = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT;
3167 enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR;
3168 enum VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR     = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR;
3169 enum VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR     = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR;
3170 
3171 enum VkExternalFenceHandleTypeFlagBits : VkFlags {
3172     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT            = 0x00000001,
3173     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT         = 0x00000002,
3174     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT     = 0x00000004,
3175     VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT              = 0x00000008,
3176     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR        = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
3177     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR     = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
3178     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
3179     VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR          = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
3180 }
3181 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT            = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT;
3182 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT         = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT;
3183 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT     = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
3184 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT              = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT;
3185 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR        = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
3186 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR     = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
3187 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
3188 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR          = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
3189 
3190 enum VkExternalFenceFeatureFlagBits : VkFlags {
3191     VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT     = 0x00000001,
3192     VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT     = 0x00000002,
3193     VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
3194     VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
3195 }
3196 enum VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT     = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT;
3197 enum VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT     = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT;
3198 enum VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR;
3199 enum VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR;
3200 
3201 enum VkFenceImportFlagBits : VkFlags {
3202     VK_FENCE_IMPORT_TEMPORARY_BIT     = 0x00000001,
3203     VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
3204 }
3205 enum VK_FENCE_IMPORT_TEMPORARY_BIT     = VkFenceImportFlagBits.VK_FENCE_IMPORT_TEMPORARY_BIT;
3206 enum VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VkFenceImportFlagBits.VK_FENCE_IMPORT_TEMPORARY_BIT_KHR;
3207 
3208 enum VkSemaphoreImportFlagBits : VkFlags {
3209     VK_SEMAPHORE_IMPORT_TEMPORARY_BIT     = 0x00000001,
3210     VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
3211 }
3212 enum VK_SEMAPHORE_IMPORT_TEMPORARY_BIT     = VkSemaphoreImportFlagBits.VK_SEMAPHORE_IMPORT_TEMPORARY_BIT;
3213 enum VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VkSemaphoreImportFlagBits.VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR;
3214 
3215 enum VkExternalSemaphoreHandleTypeFlagBits : VkFlags {
3216     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT            = 0x00000001,
3217     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT         = 0x00000002,
3218     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT     = 0x00000004,
3219     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT          = 0x00000008,
3220     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT              = 0x00000010,
3221     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR        = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
3222     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR     = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
3223     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
3224     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR      = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
3225     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR          = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
3226 }
3227 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT            = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT;
3228 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT         = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT;
3229 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT     = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
3230 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT          = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT;
3231 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT              = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
3232 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR        = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
3233 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR     = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
3234 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
3235 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR      = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR;
3236 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR          = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
3237 
3238 enum VkExternalSemaphoreFeatureFlagBits : VkFlags {
3239     VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT     = 0x00000001,
3240     VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT     = 0x00000002,
3241     VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
3242     VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
3243 }
3244 enum VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT     = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT;
3245 enum VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT     = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT;
3246 enum VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR;
3247 enum VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR;
3248 
3249 
3250 // VK_KHR_surface
3251 enum VkSurfaceTransformFlagBitsKHR {
3252     VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR                     = 0x00000001,
3253     VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR                    = 0x00000002,
3254     VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR                   = 0x00000004,
3255     VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR                   = 0x00000008,
3256     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR            = 0x00000010,
3257     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR  = 0x00000020,
3258     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
3259     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
3260     VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR                      = 0x00000100,
3261 }
3262 enum VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR                     = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
3263 enum VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR                    = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR;
3264 enum VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR                   = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR;
3265 enum VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR                   = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR;
3266 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR            = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR;
3267 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR  = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR;
3268 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR;
3269 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR;
3270 enum VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR                      = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR;
3271 
3272 enum VkCompositeAlphaFlagBitsKHR {
3273     VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR          = 0x00000001,
3274     VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR  = 0x00000002,
3275     VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
3276     VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR         = 0x00000008,
3277 }
3278 enum VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR          = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
3279 enum VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR  = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR;
3280 enum VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR;
3281 enum VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR         = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR;
3282 
3283 enum VkColorSpaceKHR {
3284     VK_COLOR_SPACE_SRGB_NONLINEAR_KHR          = 0,
3285     VK_COLORSPACE_SRGB_NONLINEAR_KHR           = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
3286     VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT    = 1000104001,
3287     VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT    = 1000104002,
3288     VK_COLOR_SPACE_DCI_P3_LINEAR_EXT           = 1000104003,
3289     VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT        = 1000104004,
3290     VK_COLOR_SPACE_BT709_LINEAR_EXT            = 1000104005,
3291     VK_COLOR_SPACE_BT709_NONLINEAR_EXT         = 1000104006,
3292     VK_COLOR_SPACE_BT2020_LINEAR_EXT           = 1000104007,
3293     VK_COLOR_SPACE_HDR10_ST2084_EXT            = 1000104008,
3294     VK_COLOR_SPACE_DOLBYVISION_EXT             = 1000104009,
3295     VK_COLOR_SPACE_HDR10_HLG_EXT               = 1000104010,
3296     VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT         = 1000104011,
3297     VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT      = 1000104012,
3298     VK_COLOR_SPACE_PASS_THROUGH_EXT            = 1000104013,
3299     VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
3300 }
3301 enum VK_COLOR_SPACE_SRGB_NONLINEAR_KHR          = VkColorSpaceKHR.VK_COLOR_SPACE_SRGB_NONLINEAR_KHR;
3302 enum VK_COLORSPACE_SRGB_NONLINEAR_KHR           = VkColorSpaceKHR.VK_COLORSPACE_SRGB_NONLINEAR_KHR;
3303 enum VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT    = VkColorSpaceKHR.VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT;
3304 enum VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT    = VkColorSpaceKHR.VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT;
3305 enum VK_COLOR_SPACE_DCI_P3_LINEAR_EXT           = VkColorSpaceKHR.VK_COLOR_SPACE_DCI_P3_LINEAR_EXT;
3306 enum VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT        = VkColorSpaceKHR.VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT;
3307 enum VK_COLOR_SPACE_BT709_LINEAR_EXT            = VkColorSpaceKHR.VK_COLOR_SPACE_BT709_LINEAR_EXT;
3308 enum VK_COLOR_SPACE_BT709_NONLINEAR_EXT         = VkColorSpaceKHR.VK_COLOR_SPACE_BT709_NONLINEAR_EXT;
3309 enum VK_COLOR_SPACE_BT2020_LINEAR_EXT           = VkColorSpaceKHR.VK_COLOR_SPACE_BT2020_LINEAR_EXT;
3310 enum VK_COLOR_SPACE_HDR10_ST2084_EXT            = VkColorSpaceKHR.VK_COLOR_SPACE_HDR10_ST2084_EXT;
3311 enum VK_COLOR_SPACE_DOLBYVISION_EXT             = VkColorSpaceKHR.VK_COLOR_SPACE_DOLBYVISION_EXT;
3312 enum VK_COLOR_SPACE_HDR10_HLG_EXT               = VkColorSpaceKHR.VK_COLOR_SPACE_HDR10_HLG_EXT;
3313 enum VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT         = VkColorSpaceKHR.VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT;
3314 enum VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT      = VkColorSpaceKHR.VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT;
3315 enum VK_COLOR_SPACE_PASS_THROUGH_EXT            = VkColorSpaceKHR.VK_COLOR_SPACE_PASS_THROUGH_EXT;
3316 enum VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT;
3317 
3318 enum VkPresentModeKHR {
3319     VK_PRESENT_MODE_IMMEDIATE_KHR                 = 0,
3320     VK_PRESENT_MODE_MAILBOX_KHR                   = 1,
3321     VK_PRESENT_MODE_FIFO_KHR                      = 2,
3322     VK_PRESENT_MODE_FIFO_RELAXED_KHR              = 3,
3323     VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR     = 1000111000,
3324     VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
3325 }
3326 enum VK_PRESENT_MODE_IMMEDIATE_KHR                 = VkPresentModeKHR.VK_PRESENT_MODE_IMMEDIATE_KHR;
3327 enum VK_PRESENT_MODE_MAILBOX_KHR                   = VkPresentModeKHR.VK_PRESENT_MODE_MAILBOX_KHR;
3328 enum VK_PRESENT_MODE_FIFO_KHR                      = VkPresentModeKHR.VK_PRESENT_MODE_FIFO_KHR;
3329 enum VK_PRESENT_MODE_FIFO_RELAXED_KHR              = VkPresentModeKHR.VK_PRESENT_MODE_FIFO_RELAXED_KHR;
3330 enum VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR     = VkPresentModeKHR.VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR;
3331 enum VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = VkPresentModeKHR.VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR;
3332 
3333 
3334 // VK_KHR_swapchain
3335 enum VkSwapchainCreateFlagBitsKHR {
3336     VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
3337     VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR                   = 0x00000002,
3338     VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR              = 0x00000004,
3339 }
3340 enum VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR;
3341 enum VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR                   = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR;
3342 enum VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR              = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR;
3343 
3344 enum VkDeviceGroupPresentModeFlagBitsKHR {
3345     VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR              = 0x00000001,
3346     VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR             = 0x00000002,
3347     VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR                = 0x00000004,
3348     VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
3349 }
3350 enum VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR              = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR;
3351 enum VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR             = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR;
3352 enum VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR                = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR;
3353 enum VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR;
3354 
3355 
3356 // VK_KHR_display
3357 enum VkDisplayPlaneAlphaFlagBitsKHR {
3358     VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR                  = 0x00000001,
3359     VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR                  = 0x00000002,
3360     VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR               = 0x00000004,
3361     VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
3362 }
3363 enum VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR                  = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR;
3364 enum VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR                  = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR;
3365 enum VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR               = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR;
3366 enum VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR;
3367 
3368 
3369 // VK_EXT_debug_report
3370 enum VkDebugReportObjectTypeEXT {
3371     VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT                        = 0,
3372     VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT                       = 1,
3373     VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT                = 2,
3374     VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT                         = 3,
3375     VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT                          = 4,
3376     VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT                      = 5,
3377     VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT                 = 6,
3378     VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT                          = 7,
3379     VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT                  = 8,
3380     VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT                         = 9,
3381     VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT                          = 10,
3382     VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT                          = 11,
3383     VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT                     = 12,
3384     VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT                    = 13,
3385     VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT                     = 14,
3386     VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT                  = 15,
3387     VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT                 = 16,
3388     VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT                = 17,
3389     VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT                    = 18,
3390     VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT                       = 19,
3391     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT          = 20,
3392     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT                        = 21,
3393     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT                = 22,
3394     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT                 = 23,
3395     VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT                    = 24,
3396     VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT                   = 25,
3397     VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT                    = 26,
3398     VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT                  = 27,
3399     VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT      = 28,
3400     VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT                   = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
3401     VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT                    = 29,
3402     VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT               = 30,
3403     VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT               = 31,
3404     VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT   = 32,
3405     VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT           = 33,
3406     VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT               = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
3407     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT       = 1000156000,
3408     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT     = 1000085000,
3409     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
3410     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT   = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
3411     VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT      = 1000165000,
3412 }
3413 enum VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT                        = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;
3414 enum VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT                       = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT;
3415 enum VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT                = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT;
3416 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT;
3417 enum VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT                          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT;
3418 enum VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT                      = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT;
3419 enum VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT                 = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT;
3420 enum VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT                          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT;
3421 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT                  = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT;
3422 enum VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT;
3423 enum VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT                          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT;
3424 enum VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT                          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT;
3425 enum VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT                     = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT;
3426 enum VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT                    = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT;
3427 enum VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT                     = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT;
3428 enum VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT                  = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT;
3429 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT                 = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT;
3430 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT                = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT;
3431 enum VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT                    = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT;
3432 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT                       = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT;
3433 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT;
3434 enum VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT                        = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT;
3435 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT                = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT;
3436 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT                 = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT;
3437 enum VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT                    = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT;
3438 enum VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT                   = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT;
3439 enum VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT                    = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT;
3440 enum VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT                  = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT;
3441 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT      = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT;
3442 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT                   = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT;
3443 enum VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT                    = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT;
3444 enum VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT;
3445 enum VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT;
3446 enum VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT   = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT;
3447 enum VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT           = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT;
3448 enum VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT;
3449 enum VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT       = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT;
3450 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT     = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT;
3451 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT;
3452 enum VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT   = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT;
3453 enum VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT      = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT;
3454 
3455 enum VkDebugReportFlagBitsEXT {
3456     VK_DEBUG_REPORT_INFORMATION_BIT_EXT         = 0x00000001,
3457     VK_DEBUG_REPORT_WARNING_BIT_EXT             = 0x00000002,
3458     VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
3459     VK_DEBUG_REPORT_ERROR_BIT_EXT               = 0x00000008,
3460     VK_DEBUG_REPORT_DEBUG_BIT_EXT               = 0x00000010,
3461 }
3462 enum VK_DEBUG_REPORT_INFORMATION_BIT_EXT         = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_INFORMATION_BIT_EXT;
3463 enum VK_DEBUG_REPORT_WARNING_BIT_EXT             = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_WARNING_BIT_EXT;
3464 enum VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT;
3465 enum VK_DEBUG_REPORT_ERROR_BIT_EXT               = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_ERROR_BIT_EXT;
3466 enum VK_DEBUG_REPORT_DEBUG_BIT_EXT               = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_DEBUG_BIT_EXT;
3467 
3468 
3469 // Structures
3470 
3471 // VK_VERSION_1_0
3472 struct VkApplicationInfo {
3473     VkStructureType sType;
3474     const(void)*    pNext;
3475     const(char)*    pApplicationName;
3476     uint32_t        applicationVersion;
3477     const(char)*    pEngineName;
3478     uint32_t        engineVersion;
3479     uint32_t        apiVersion;
3480 }
3481 struct VkInstanceCreateInfo {
3482     VkStructureType           sType;
3483     const(void)*              pNext;
3484     VkInstanceCreateFlags     flags;
3485     const(VkApplicationInfo)* pApplicationInfo;
3486     uint32_t                  enabledLayerCount;
3487     const(char*)*             ppEnabledLayerNames;
3488     uint32_t                  enabledExtensionCount;
3489     const(char*)*             ppEnabledExtensionNames;
3490 }
3491 struct VkAllocationCallbacks {
3492     void*                                pUserData;
3493     PFN_vkAllocationFunction             pfnAllocation;
3494     PFN_vkReallocationFunction           pfnReallocation;
3495     PFN_vkFreeFunction                   pfnFree;
3496     PFN_vkInternalAllocationNotification pfnInternalAllocation;
3497     PFN_vkInternalFreeNotification       pfnInternalFree;
3498 }
3499 struct VkPhysicalDeviceFeatures {
3500     VkBool32 robustBufferAccess;
3501     VkBool32 fullDrawIndexUint32;
3502     VkBool32 imageCubeArray;
3503     VkBool32 independentBlend;
3504     VkBool32 geometryShader;
3505     VkBool32 tessellationShader;
3506     VkBool32 sampleRateShading;
3507     VkBool32 dualSrcBlend;
3508     VkBool32 logicOp;
3509     VkBool32 multiDrawIndirect;
3510     VkBool32 drawIndirectFirstInstance;
3511     VkBool32 depthClamp;
3512     VkBool32 depthBiasClamp;
3513     VkBool32 fillModeNonSolid;
3514     VkBool32 depthBounds;
3515     VkBool32 wideLines;
3516     VkBool32 largePoints;
3517     VkBool32 alphaToOne;
3518     VkBool32 multiViewport;
3519     VkBool32 samplerAnisotropy;
3520     VkBool32 textureCompressionETC2;
3521     VkBool32 textureCompressionASTC_LDR;
3522     VkBool32 textureCompressionBC;
3523     VkBool32 occlusionQueryPrecise;
3524     VkBool32 pipelineStatisticsQuery;
3525     VkBool32 vertexPipelineStoresAndAtomics;
3526     VkBool32 fragmentStoresAndAtomics;
3527     VkBool32 shaderTessellationAndGeometryPointSize;
3528     VkBool32 shaderImageGatherExtended;
3529     VkBool32 shaderStorageImageExtendedFormats;
3530     VkBool32 shaderStorageImageMultisample;
3531     VkBool32 shaderStorageImageReadWithoutFormat;
3532     VkBool32 shaderStorageImageWriteWithoutFormat;
3533     VkBool32 shaderUniformBufferArrayDynamicIndexing;
3534     VkBool32 shaderSampledImageArrayDynamicIndexing;
3535     VkBool32 shaderStorageBufferArrayDynamicIndexing;
3536     VkBool32 shaderStorageImageArrayDynamicIndexing;
3537     VkBool32 shaderClipDistance;
3538     VkBool32 shaderCullDistance;
3539     VkBool32 shaderFloat64;
3540     VkBool32 shaderInt64;
3541     VkBool32 shaderInt16;
3542     VkBool32 shaderResourceResidency;
3543     VkBool32 shaderResourceMinLod;
3544     VkBool32 sparseBinding;
3545     VkBool32 sparseResidencyBuffer;
3546     VkBool32 sparseResidencyImage2D;
3547     VkBool32 sparseResidencyImage3D;
3548     VkBool32 sparseResidency2Samples;
3549     VkBool32 sparseResidency4Samples;
3550     VkBool32 sparseResidency8Samples;
3551     VkBool32 sparseResidency16Samples;
3552     VkBool32 sparseResidencyAliased;
3553     VkBool32 variableMultisampleRate;
3554     VkBool32 inheritedQueries;
3555 }
3556 struct VkFormatProperties {
3557     VkFormatFeatureFlags linearTilingFeatures;
3558     VkFormatFeatureFlags optimalTilingFeatures;
3559     VkFormatFeatureFlags bufferFeatures;
3560 }
3561 struct VkExtent3D {
3562     uint32_t width;
3563     uint32_t height;
3564     uint32_t depth;
3565 }
3566 struct VkImageFormatProperties {
3567     VkExtent3D         maxExtent;
3568     uint32_t           maxMipLevels;
3569     uint32_t           maxArrayLayers;
3570     VkSampleCountFlags sampleCounts;
3571     VkDeviceSize       maxResourceSize;
3572 }
3573 struct VkPhysicalDeviceLimits {
3574     uint32_t           maxImageDimension1D;
3575     uint32_t           maxImageDimension2D;
3576     uint32_t           maxImageDimension3D;
3577     uint32_t           maxImageDimensionCube;
3578     uint32_t           maxImageArrayLayers;
3579     uint32_t           maxTexelBufferElements;
3580     uint32_t           maxUniformBufferRange;
3581     uint32_t           maxStorageBufferRange;
3582     uint32_t           maxPushConstantsSize;
3583     uint32_t           maxMemoryAllocationCount;
3584     uint32_t           maxSamplerAllocationCount;
3585     VkDeviceSize       bufferImageGranularity;
3586     VkDeviceSize       sparseAddressSpaceSize;
3587     uint32_t           maxBoundDescriptorSets;
3588     uint32_t           maxPerStageDescriptorSamplers;
3589     uint32_t           maxPerStageDescriptorUniformBuffers;
3590     uint32_t           maxPerStageDescriptorStorageBuffers;
3591     uint32_t           maxPerStageDescriptorSampledImages;
3592     uint32_t           maxPerStageDescriptorStorageImages;
3593     uint32_t           maxPerStageDescriptorInputAttachments;
3594     uint32_t           maxPerStageResources;
3595     uint32_t           maxDescriptorSetSamplers;
3596     uint32_t           maxDescriptorSetUniformBuffers;
3597     uint32_t           maxDescriptorSetUniformBuffersDynamic;
3598     uint32_t           maxDescriptorSetStorageBuffers;
3599     uint32_t           maxDescriptorSetStorageBuffersDynamic;
3600     uint32_t           maxDescriptorSetSampledImages;
3601     uint32_t           maxDescriptorSetStorageImages;
3602     uint32_t           maxDescriptorSetInputAttachments;
3603     uint32_t           maxVertexInputAttributes;
3604     uint32_t           maxVertexInputBindings;
3605     uint32_t           maxVertexInputAttributeOffset;
3606     uint32_t           maxVertexInputBindingStride;
3607     uint32_t           maxVertexOutputComponents;
3608     uint32_t           maxTessellationGenerationLevel;
3609     uint32_t           maxTessellationPatchSize;
3610     uint32_t           maxTessellationControlPerVertexInputComponents;
3611     uint32_t           maxTessellationControlPerVertexOutputComponents;
3612     uint32_t           maxTessellationControlPerPatchOutputComponents;
3613     uint32_t           maxTessellationControlTotalOutputComponents;
3614     uint32_t           maxTessellationEvaluationInputComponents;
3615     uint32_t           maxTessellationEvaluationOutputComponents;
3616     uint32_t           maxGeometryShaderInvocations;
3617     uint32_t           maxGeometryInputComponents;
3618     uint32_t           maxGeometryOutputComponents;
3619     uint32_t           maxGeometryOutputVertices;
3620     uint32_t           maxGeometryTotalOutputComponents;
3621     uint32_t           maxFragmentInputComponents;
3622     uint32_t           maxFragmentOutputAttachments;
3623     uint32_t           maxFragmentDualSrcAttachments;
3624     uint32_t           maxFragmentCombinedOutputResources;
3625     uint32_t           maxComputeSharedMemorySize;
3626     uint32_t[3]        maxComputeWorkGroupCount;
3627     uint32_t           maxComputeWorkGroupInvocations;
3628     uint32_t[3]        maxComputeWorkGroupSize;
3629     uint32_t           subPixelPrecisionBits;
3630     uint32_t           subTexelPrecisionBits;
3631     uint32_t           mipmapPrecisionBits;
3632     uint32_t           maxDrawIndexedIndexValue;
3633     uint32_t           maxDrawIndirectCount;
3634     float              maxSamplerLodBias;
3635     float              maxSamplerAnisotropy;
3636     uint32_t           maxViewports;
3637     uint32_t[2]        maxViewportDimensions;
3638     float[2]           viewportBoundsRange;
3639     uint32_t           viewportSubPixelBits;
3640     size_t             minMemoryMapAlignment;
3641     VkDeviceSize       minTexelBufferOffsetAlignment;
3642     VkDeviceSize       minUniformBufferOffsetAlignment;
3643     VkDeviceSize       minStorageBufferOffsetAlignment;
3644     int32_t            minTexelOffset;
3645     uint32_t           maxTexelOffset;
3646     int32_t            minTexelGatherOffset;
3647     uint32_t           maxTexelGatherOffset;
3648     float              minInterpolationOffset;
3649     float              maxInterpolationOffset;
3650     uint32_t           subPixelInterpolationOffsetBits;
3651     uint32_t           maxFramebufferWidth;
3652     uint32_t           maxFramebufferHeight;
3653     uint32_t           maxFramebufferLayers;
3654     VkSampleCountFlags framebufferColorSampleCounts;
3655     VkSampleCountFlags framebufferDepthSampleCounts;
3656     VkSampleCountFlags framebufferStencilSampleCounts;
3657     VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3658     uint32_t           maxColorAttachments;
3659     VkSampleCountFlags sampledImageColorSampleCounts;
3660     VkSampleCountFlags sampledImageIntegerSampleCounts;
3661     VkSampleCountFlags sampledImageDepthSampleCounts;
3662     VkSampleCountFlags sampledImageStencilSampleCounts;
3663     VkSampleCountFlags storageImageSampleCounts;
3664     uint32_t           maxSampleMaskWords;
3665     VkBool32           timestampComputeAndGraphics;
3666     float              timestampPeriod;
3667     uint32_t           maxClipDistances;
3668     uint32_t           maxCullDistances;
3669     uint32_t           maxCombinedClipAndCullDistances;
3670     uint32_t           discreteQueuePriorities;
3671     float[2]           pointSizeRange;
3672     float[2]           lineWidthRange;
3673     float              pointSizeGranularity;
3674     float              lineWidthGranularity;
3675     VkBool32           strictLines;
3676     VkBool32           standardSampleLocations;
3677     VkDeviceSize       optimalBufferCopyOffsetAlignment;
3678     VkDeviceSize       optimalBufferCopyRowPitchAlignment;
3679     VkDeviceSize       nonCoherentAtomSize;
3680 }
3681 struct VkPhysicalDeviceSparseProperties {
3682     VkBool32 residencyStandard2DBlockShape;
3683     VkBool32 residencyStandard2DMultisampleBlockShape;
3684     VkBool32 residencyStandard3DBlockShape;
3685     VkBool32 residencyAlignedMipSize;
3686     VkBool32 residencyNonResidentStrict;
3687 }
3688 struct VkPhysicalDeviceProperties {
3689     uint32_t                               apiVersion;
3690     uint32_t                               driverVersion;
3691     uint32_t                               vendorID;
3692     uint32_t                               deviceID;
3693     VkPhysicalDeviceType                   deviceType;
3694     char[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE] deviceName;
3695     uint8_t[VK_UUID_SIZE]                  pipelineCacheUUID;
3696     VkPhysicalDeviceLimits                 limits;
3697     VkPhysicalDeviceSparseProperties       sparseProperties;
3698 }
3699 struct VkQueueFamilyProperties {
3700     VkQueueFlags queueFlags;
3701     uint32_t     queueCount;
3702     uint32_t     timestampValidBits;
3703     VkExtent3D   minImageTransferGranularity;
3704 }
3705 struct VkMemoryType {
3706     VkMemoryPropertyFlags propertyFlags;
3707     uint32_t              heapIndex;
3708 }
3709 struct VkMemoryHeap {
3710     VkDeviceSize      size;
3711     VkMemoryHeapFlags flags;
3712 }
3713 struct VkPhysicalDeviceMemoryProperties {
3714     uint32_t                          memoryTypeCount;
3715     VkMemoryType[VK_MAX_MEMORY_TYPES] memoryTypes;
3716     uint32_t                          memoryHeapCount;
3717     VkMemoryHeap[VK_MAX_MEMORY_HEAPS] memoryHeaps;
3718 }
3719 struct VkDeviceQueueCreateInfo {
3720     VkStructureType          sType;
3721     const(void)*             pNext;
3722     VkDeviceQueueCreateFlags flags;
3723     uint32_t                 queueFamilyIndex;
3724     uint32_t                 queueCount;
3725     const(float)*            pQueuePriorities;
3726 }
3727 struct VkDeviceCreateInfo {
3728     VkStructureType                  sType;
3729     const(void)*                     pNext;
3730     VkDeviceCreateFlags              flags;
3731     uint32_t                         queueCreateInfoCount;
3732     const(VkDeviceQueueCreateInfo)*  pQueueCreateInfos;
3733     uint32_t                         enabledLayerCount;
3734     const(char*)*                    ppEnabledLayerNames;
3735     uint32_t                         enabledExtensionCount;
3736     const(char*)*                    ppEnabledExtensionNames;
3737     const(VkPhysicalDeviceFeatures)* pEnabledFeatures;
3738 }
3739 struct VkExtensionProperties {
3740     char[VK_MAX_EXTENSION_NAME_SIZE] extensionName;
3741     uint32_t                         specVersion;
3742 }
3743 struct VkLayerProperties {
3744     char[VK_MAX_EXTENSION_NAME_SIZE] layerName;
3745     uint32_t                         specVersion;
3746     uint32_t                         implementationVersion;
3747     char[VK_MAX_DESCRIPTION_SIZE]    description;
3748 }
3749 struct VkSubmitInfo {
3750     VkStructureType              sType;
3751     const(void)*                 pNext;
3752     uint32_t                     waitSemaphoreCount;
3753     const(VkSemaphore)*          pWaitSemaphores;
3754     const(VkPipelineStageFlags)* pWaitDstStageMask;
3755     uint32_t                     commandBufferCount;
3756     const(VkCommandBuffer)*      pCommandBuffers;
3757     uint32_t                     signalSemaphoreCount;
3758     const(VkSemaphore)*          pSignalSemaphores;
3759 }
3760 struct VkMemoryAllocateInfo {
3761     VkStructureType sType;
3762     const(void)*    pNext;
3763     VkDeviceSize    allocationSize;
3764     uint32_t        memoryTypeIndex;
3765 }
3766 struct VkMappedMemoryRange {
3767     VkStructureType sType;
3768     const(void)*    pNext;
3769     VkDeviceMemory  memory;
3770     VkDeviceSize    offset;
3771     VkDeviceSize    size;
3772 }
3773 struct VkMemoryRequirements {
3774     VkDeviceSize size;
3775     VkDeviceSize alignment;
3776     uint32_t     memoryTypeBits;
3777 }
3778 struct VkSparseImageFormatProperties {
3779     VkImageAspectFlags       aspectMask;
3780     VkExtent3D               imageGranularity;
3781     VkSparseImageFormatFlags flags;
3782 }
3783 struct VkSparseImageMemoryRequirements {
3784     VkSparseImageFormatProperties formatProperties;
3785     uint32_t                      imageMipTailFirstLod;
3786     VkDeviceSize                  imageMipTailSize;
3787     VkDeviceSize                  imageMipTailOffset;
3788     VkDeviceSize                  imageMipTailStride;
3789 }
3790 struct VkSparseMemoryBind {
3791     VkDeviceSize            resourceOffset;
3792     VkDeviceSize            size;
3793     VkDeviceMemory          memory;
3794     VkDeviceSize            memoryOffset;
3795     VkSparseMemoryBindFlags flags;
3796 }
3797 struct VkSparseBufferMemoryBindInfo {
3798     VkBuffer                   buffer;
3799     uint32_t                   bindCount;
3800     const(VkSparseMemoryBind)* pBinds;
3801 }
3802 struct VkSparseImageOpaqueMemoryBindInfo {
3803     VkImage                    image;
3804     uint32_t                   bindCount;
3805     const(VkSparseMemoryBind)* pBinds;
3806 }
3807 struct VkImageSubresource {
3808     VkImageAspectFlags aspectMask;
3809     uint32_t           mipLevel;
3810     uint32_t           arrayLayer;
3811 }
3812 struct VkOffset3D {
3813     int32_t x;
3814     int32_t y;
3815     int32_t z;
3816 }
3817 struct VkSparseImageMemoryBind {
3818     VkImageSubresource      subresource;
3819     VkOffset3D              offset;
3820     VkExtent3D              extent;
3821     VkDeviceMemory          memory;
3822     VkDeviceSize            memoryOffset;
3823     VkSparseMemoryBindFlags flags;
3824 }
3825 struct VkSparseImageMemoryBindInfo {
3826     VkImage                         image;
3827     uint32_t                        bindCount;
3828     const(VkSparseImageMemoryBind)* pBinds;
3829 }
3830 struct VkBindSparseInfo {
3831     VkStructureType                           sType;
3832     const(void)*                              pNext;
3833     uint32_t                                  waitSemaphoreCount;
3834     const(VkSemaphore)*                       pWaitSemaphores;
3835     uint32_t                                  bufferBindCount;
3836     const(VkSparseBufferMemoryBindInfo)*      pBufferBinds;
3837     uint32_t                                  imageOpaqueBindCount;
3838     const(VkSparseImageOpaqueMemoryBindInfo)* pImageOpaqueBinds;
3839     uint32_t                                  imageBindCount;
3840     const(VkSparseImageMemoryBindInfo)*       pImageBinds;
3841     uint32_t                                  signalSemaphoreCount;
3842     const(VkSemaphore)*                       pSignalSemaphores;
3843 }
3844 struct VkFenceCreateInfo {
3845     VkStructureType    sType;
3846     const(void)*       pNext;
3847     VkFenceCreateFlags flags;
3848 }
3849 struct VkSemaphoreCreateInfo {
3850     VkStructureType        sType;
3851     const(void)*           pNext;
3852     VkSemaphoreCreateFlags flags;
3853 }
3854 struct VkEventCreateInfo {
3855     VkStructureType    sType;
3856     const(void)*       pNext;
3857     VkEventCreateFlags flags;
3858 }
3859 struct VkQueryPoolCreateInfo {
3860     VkStructureType               sType;
3861     const(void)*                  pNext;
3862     VkQueryPoolCreateFlags        flags;
3863     VkQueryType                   queryType;
3864     uint32_t                      queryCount;
3865     VkQueryPipelineStatisticFlags pipelineStatistics;
3866 }
3867 struct VkBufferCreateInfo {
3868     VkStructureType     sType;
3869     const(void)*        pNext;
3870     VkBufferCreateFlags flags;
3871     VkDeviceSize        size;
3872     VkBufferUsageFlags  usage;
3873     VkSharingMode       sharingMode;
3874     uint32_t            queueFamilyIndexCount;
3875     const(uint32_t)*    pQueueFamilyIndices;
3876 }
3877 struct VkBufferViewCreateInfo {
3878     VkStructureType         sType;
3879     const(void)*            pNext;
3880     VkBufferViewCreateFlags flags;
3881     VkBuffer                buffer;
3882     VkFormat                format;
3883     VkDeviceSize            offset;
3884     VkDeviceSize            range;
3885 }
3886 struct VkImageCreateInfo {
3887     VkStructureType       sType;
3888     const(void)*          pNext;
3889     VkImageCreateFlags    flags;
3890     VkImageType           imageType;
3891     VkFormat              format;
3892     VkExtent3D            extent;
3893     uint32_t              mipLevels;
3894     uint32_t              arrayLayers;
3895     VkSampleCountFlagBits samples;
3896     VkImageTiling         tiling;
3897     VkImageUsageFlags     usage;
3898     VkSharingMode         sharingMode;
3899     uint32_t              queueFamilyIndexCount;
3900     const(uint32_t)*      pQueueFamilyIndices;
3901     VkImageLayout         initialLayout;
3902 }
3903 struct VkSubresourceLayout {
3904     VkDeviceSize offset;
3905     VkDeviceSize size;
3906     VkDeviceSize rowPitch;
3907     VkDeviceSize arrayPitch;
3908     VkDeviceSize depthPitch;
3909 }
3910 struct VkComponentMapping {
3911     VkComponentSwizzle r;
3912     VkComponentSwizzle g;
3913     VkComponentSwizzle b;
3914     VkComponentSwizzle a;
3915 }
3916 struct VkImageSubresourceRange {
3917     VkImageAspectFlags aspectMask;
3918     uint32_t           baseMipLevel;
3919     uint32_t           levelCount;
3920     uint32_t           baseArrayLayer;
3921     uint32_t           layerCount;
3922 }
3923 struct VkImageViewCreateInfo {
3924     VkStructureType         sType;
3925     const(void)*            pNext;
3926     VkImageViewCreateFlags  flags;
3927     VkImage                 image;
3928     VkImageViewType         viewType;
3929     VkFormat                format;
3930     VkComponentMapping      components;
3931     VkImageSubresourceRange subresourceRange;
3932 }
3933 struct VkShaderModuleCreateInfo {
3934     VkStructureType           sType;
3935     const(void)*              pNext;
3936     VkShaderModuleCreateFlags flags;
3937     size_t                    codeSize;
3938     const(uint32_t)*          pCode;
3939 }
3940 struct VkPipelineCacheCreateInfo {
3941     VkStructureType            sType;
3942     const(void)*               pNext;
3943     VkPipelineCacheCreateFlags flags;
3944     size_t                     initialDataSize;
3945     const(void)*               pInitialData;
3946 }
3947 struct VkSpecializationMapEntry {
3948     uint32_t constantID;
3949     uint32_t offset;
3950     size_t   size;
3951 }
3952 struct VkSpecializationInfo {
3953     uint32_t                         mapEntryCount;
3954     const(VkSpecializationMapEntry)* pMapEntries;
3955     size_t                           dataSize;
3956     const(void)*                     pData;
3957 }
3958 struct VkPipelineShaderStageCreateInfo {
3959     VkStructureType                  sType;
3960     const(void)*                     pNext;
3961     VkPipelineShaderStageCreateFlags flags;
3962     VkShaderStageFlagBits            stage;
3963     VkShaderModule                   module_;
3964     const(char)*                     pName;
3965     const(VkSpecializationInfo)*     pSpecializationInfo;
3966 }
3967 struct VkVertexInputBindingDescription {
3968     uint32_t          binding;
3969     uint32_t          stride;
3970     VkVertexInputRate inputRate;
3971 }
3972 struct VkVertexInputAttributeDescription {
3973     uint32_t location;
3974     uint32_t binding;
3975     VkFormat format;
3976     uint32_t offset;
3977 }
3978 struct VkPipelineVertexInputStateCreateInfo {
3979     VkStructureType                           sType;
3980     const(void)*                              pNext;
3981     VkPipelineVertexInputStateCreateFlags     flags;
3982     uint32_t                                  vertexBindingDescriptionCount;
3983     const(VkVertexInputBindingDescription)*   pVertexBindingDescriptions;
3984     uint32_t                                  vertexAttributeDescriptionCount;
3985     const(VkVertexInputAttributeDescription)* pVertexAttributeDescriptions;
3986 }
3987 struct VkPipelineInputAssemblyStateCreateInfo {
3988     VkStructureType                         sType;
3989     const(void)*                            pNext;
3990     VkPipelineInputAssemblyStateCreateFlags flags;
3991     VkPrimitiveTopology                     topology;
3992     VkBool32                                primitiveRestartEnable;
3993 }
3994 struct VkPipelineTessellationStateCreateInfo {
3995     VkStructureType                        sType;
3996     const(void)*                           pNext;
3997     VkPipelineTessellationStateCreateFlags flags;
3998     uint32_t                               patchControlPoints;
3999 }
4000 struct VkViewport {
4001     float x;
4002     float y;
4003     float width;
4004     float height;
4005     float minDepth;
4006     float maxDepth;
4007 }
4008 struct VkOffset2D {
4009     int32_t x;
4010     int32_t y;
4011 }
4012 struct VkExtent2D {
4013     uint32_t width;
4014     uint32_t height;
4015 }
4016 struct VkRect2D {
4017     VkOffset2D offset;
4018     VkExtent2D extent;
4019 }
4020 struct VkPipelineViewportStateCreateInfo {
4021     VkStructureType                    sType;
4022     const(void)*                       pNext;
4023     VkPipelineViewportStateCreateFlags flags;
4024     uint32_t                           viewportCount;
4025     const(VkViewport)*                 pViewports;
4026     uint32_t                           scissorCount;
4027     const(VkRect2D)*                   pScissors;
4028 }
4029 struct VkPipelineRasterizationStateCreateInfo {
4030     VkStructureType                         sType;
4031     const(void)*                            pNext;
4032     VkPipelineRasterizationStateCreateFlags flags;
4033     VkBool32                                depthClampEnable;
4034     VkBool32                                rasterizerDiscardEnable;
4035     VkPolygonMode                           polygonMode;
4036     VkCullModeFlags                         cullMode;
4037     VkFrontFace                             frontFace;
4038     VkBool32                                depthBiasEnable;
4039     float                                   depthBiasConstantFactor;
4040     float                                   depthBiasClamp;
4041     float                                   depthBiasSlopeFactor;
4042     float                                   lineWidth;
4043 }
4044 struct VkPipelineMultisampleStateCreateInfo {
4045     VkStructureType                       sType;
4046     const(void)*                          pNext;
4047     VkPipelineMultisampleStateCreateFlags flags;
4048     VkSampleCountFlagBits                 rasterizationSamples;
4049     VkBool32                              sampleShadingEnable;
4050     float                                 minSampleShading;
4051     const(VkSampleMask)*                  pSampleMask;
4052     VkBool32                              alphaToCoverageEnable;
4053     VkBool32                              alphaToOneEnable;
4054 }
4055 struct VkStencilOpState {
4056     VkStencilOp failOp;
4057     VkStencilOp passOp;
4058     VkStencilOp depthFailOp;
4059     VkCompareOp compareOp;
4060     uint32_t    compareMask;
4061     uint32_t    writeMask;
4062     uint32_t    reference;
4063 }
4064 struct VkPipelineDepthStencilStateCreateInfo {
4065     VkStructureType                        sType;
4066     const(void)*                           pNext;
4067     VkPipelineDepthStencilStateCreateFlags flags;
4068     VkBool32                               depthTestEnable;
4069     VkBool32                               depthWriteEnable;
4070     VkCompareOp                            depthCompareOp;
4071     VkBool32                               depthBoundsTestEnable;
4072     VkBool32                               stencilTestEnable;
4073     VkStencilOpState                       front;
4074     VkStencilOpState                       back;
4075     float                                  minDepthBounds;
4076     float                                  maxDepthBounds;
4077 }
4078 struct VkPipelineColorBlendAttachmentState {
4079     VkBool32              blendEnable;
4080     VkBlendFactor         srcColorBlendFactor;
4081     VkBlendFactor         dstColorBlendFactor;
4082     VkBlendOp             colorBlendOp;
4083     VkBlendFactor         srcAlphaBlendFactor;
4084     VkBlendFactor         dstAlphaBlendFactor;
4085     VkBlendOp             alphaBlendOp;
4086     VkColorComponentFlags colorWriteMask;
4087 }
4088 struct VkPipelineColorBlendStateCreateInfo {
4089     VkStructureType                             sType;
4090     const(void)*                                pNext;
4091     VkPipelineColorBlendStateCreateFlags        flags;
4092     VkBool32                                    logicOpEnable;
4093     VkLogicOp                                   logicOp;
4094     uint32_t                                    attachmentCount;
4095     const(VkPipelineColorBlendAttachmentState)* pAttachments;
4096     float[4]                                    blendConstants;
4097 }
4098 struct VkPipelineDynamicStateCreateInfo {
4099     VkStructureType                   sType;
4100     const(void)*                      pNext;
4101     VkPipelineDynamicStateCreateFlags flags;
4102     uint32_t                          dynamicStateCount;
4103     const(VkDynamicState)*            pDynamicStates;
4104 }
4105 struct VkGraphicsPipelineCreateInfo {
4106     VkStructureType                                sType;
4107     const(void)*                                   pNext;
4108     VkPipelineCreateFlags                          flags;
4109     uint32_t                                       stageCount;
4110     const(VkPipelineShaderStageCreateInfo)*        pStages;
4111     const(VkPipelineVertexInputStateCreateInfo)*   pVertexInputState;
4112     const(VkPipelineInputAssemblyStateCreateInfo)* pInputAssemblyState;
4113     const(VkPipelineTessellationStateCreateInfo)*  pTessellationState;
4114     const(VkPipelineViewportStateCreateInfo)*      pViewportState;
4115     const(VkPipelineRasterizationStateCreateInfo)* pRasterizationState;
4116     const(VkPipelineMultisampleStateCreateInfo)*   pMultisampleState;
4117     const(VkPipelineDepthStencilStateCreateInfo)*  pDepthStencilState;
4118     const(VkPipelineColorBlendStateCreateInfo)*    pColorBlendState;
4119     const(VkPipelineDynamicStateCreateInfo)*       pDynamicState;
4120     VkPipelineLayout                               layout;
4121     VkRenderPass                                   renderPass;
4122     uint32_t                                       subpass;
4123     VkPipeline                                     basePipelineHandle;
4124     int32_t                                        basePipelineIndex;
4125 }
4126 struct VkComputePipelineCreateInfo {
4127     VkStructureType                 sType;
4128     const(void)*                    pNext;
4129     VkPipelineCreateFlags           flags;
4130     VkPipelineShaderStageCreateInfo stage;
4131     VkPipelineLayout                layout;
4132     VkPipeline                      basePipelineHandle;
4133     int32_t                         basePipelineIndex;
4134 }
4135 struct VkPushConstantRange {
4136     VkShaderStageFlags stageFlags;
4137     uint32_t           offset;
4138     uint32_t           size;
4139 }
4140 struct VkPipelineLayoutCreateInfo {
4141     VkStructureType               sType;
4142     const(void)*                  pNext;
4143     VkPipelineLayoutCreateFlags   flags;
4144     uint32_t                      setLayoutCount;
4145     const(VkDescriptorSetLayout)* pSetLayouts;
4146     uint32_t                      pushConstantRangeCount;
4147     const(VkPushConstantRange)*   pPushConstantRanges;
4148 }
4149 struct VkSamplerCreateInfo {
4150     VkStructureType      sType;
4151     const(void)*         pNext;
4152     VkSamplerCreateFlags flags;
4153     VkFilter             magFilter;
4154     VkFilter             minFilter;
4155     VkSamplerMipmapMode  mipmapMode;
4156     VkSamplerAddressMode addressModeU;
4157     VkSamplerAddressMode addressModeV;
4158     VkSamplerAddressMode addressModeW;
4159     float                mipLodBias;
4160     VkBool32             anisotropyEnable;
4161     float                maxAnisotropy;
4162     VkBool32             compareEnable;
4163     VkCompareOp          compareOp;
4164     float                minLod;
4165     float                maxLod;
4166     VkBorderColor        borderColor;
4167     VkBool32             unnormalizedCoordinates;
4168 }
4169 struct VkDescriptorSetLayoutBinding {
4170     uint32_t           binding;
4171     VkDescriptorType   descriptorType;
4172     uint32_t           descriptorCount;
4173     VkShaderStageFlags stageFlags;
4174     const(VkSampler)*  pImmutableSamplers;
4175 }
4176 struct VkDescriptorSetLayoutCreateInfo {
4177     VkStructureType                      sType;
4178     const(void)*                         pNext;
4179     VkDescriptorSetLayoutCreateFlags     flags;
4180     uint32_t                             bindingCount;
4181     const(VkDescriptorSetLayoutBinding)* pBindings;
4182 }
4183 struct VkDescriptorPoolSize {
4184     VkDescriptorType type;
4185     uint32_t         descriptorCount;
4186 }
4187 struct VkDescriptorPoolCreateInfo {
4188     VkStructureType              sType;
4189     const(void)*                 pNext;
4190     VkDescriptorPoolCreateFlags  flags;
4191     uint32_t                     maxSets;
4192     uint32_t                     poolSizeCount;
4193     const(VkDescriptorPoolSize)* pPoolSizes;
4194 }
4195 struct VkDescriptorSetAllocateInfo {
4196     VkStructureType               sType;
4197     const(void)*                  pNext;
4198     VkDescriptorPool              descriptorPool;
4199     uint32_t                      descriptorSetCount;
4200     const(VkDescriptorSetLayout)* pSetLayouts;
4201 }
4202 struct VkDescriptorImageInfo {
4203     VkSampler     sampler;
4204     VkImageView   imageView;
4205     VkImageLayout imageLayout;
4206 }
4207 struct VkDescriptorBufferInfo {
4208     VkBuffer     buffer;
4209     VkDeviceSize offset;
4210     VkDeviceSize range;
4211 }
4212 struct VkWriteDescriptorSet {
4213     VkStructureType                sType;
4214     const(void)*                   pNext;
4215     VkDescriptorSet                dstSet;
4216     uint32_t                       dstBinding;
4217     uint32_t                       dstArrayElement;
4218     uint32_t                       descriptorCount;
4219     VkDescriptorType               descriptorType;
4220     const(VkDescriptorImageInfo)*  pImageInfo;
4221     const(VkDescriptorBufferInfo)* pBufferInfo;
4222     const(VkBufferView)*           pTexelBufferView;
4223 }
4224 struct VkCopyDescriptorSet {
4225     VkStructureType sType;
4226     const(void)*    pNext;
4227     VkDescriptorSet srcSet;
4228     uint32_t        srcBinding;
4229     uint32_t        srcArrayElement;
4230     VkDescriptorSet dstSet;
4231     uint32_t        dstBinding;
4232     uint32_t        dstArrayElement;
4233     uint32_t        descriptorCount;
4234 }
4235 struct VkFramebufferCreateInfo {
4236     VkStructureType          sType;
4237     const(void)*             pNext;
4238     VkFramebufferCreateFlags flags;
4239     VkRenderPass             renderPass;
4240     uint32_t                 attachmentCount;
4241     const(VkImageView)*      pAttachments;
4242     uint32_t                 width;
4243     uint32_t                 height;
4244     uint32_t                 layers;
4245 }
4246 struct VkAttachmentDescription {
4247     VkAttachmentDescriptionFlags flags;
4248     VkFormat                     format;
4249     VkSampleCountFlagBits        samples;
4250     VkAttachmentLoadOp           loadOp;
4251     VkAttachmentStoreOp          storeOp;
4252     VkAttachmentLoadOp           stencilLoadOp;
4253     VkAttachmentStoreOp          stencilStoreOp;
4254     VkImageLayout                initialLayout;
4255     VkImageLayout                finalLayout;
4256 }
4257 struct VkAttachmentReference {
4258     uint32_t      attachment;
4259     VkImageLayout layout;
4260 }
4261 struct VkSubpassDescription {
4262     VkSubpassDescriptionFlags     flags;
4263     VkPipelineBindPoint           pipelineBindPoint;
4264     uint32_t                      inputAttachmentCount;
4265     const(VkAttachmentReference)* pInputAttachments;
4266     uint32_t                      colorAttachmentCount;
4267     const(VkAttachmentReference)* pColorAttachments;
4268     const(VkAttachmentReference)* pResolveAttachments;
4269     const(VkAttachmentReference)* pDepthStencilAttachment;
4270     uint32_t                      preserveAttachmentCount;
4271     const(uint32_t)*              pPreserveAttachments;
4272 }
4273 struct VkSubpassDependency {
4274     uint32_t             srcSubpass;
4275     uint32_t             dstSubpass;
4276     VkPipelineStageFlags srcStageMask;
4277     VkPipelineStageFlags dstStageMask;
4278     VkAccessFlags        srcAccessMask;
4279     VkAccessFlags        dstAccessMask;
4280     VkDependencyFlags    dependencyFlags;
4281 }
4282 struct VkRenderPassCreateInfo {
4283     VkStructureType                 sType;
4284     const(void)*                    pNext;
4285     VkRenderPassCreateFlags         flags;
4286     uint32_t                        attachmentCount;
4287     const(VkAttachmentDescription)* pAttachments;
4288     uint32_t                        subpassCount;
4289     const(VkSubpassDescription)*    pSubpasses;
4290     uint32_t                        dependencyCount;
4291     const(VkSubpassDependency)*     pDependencies;
4292 }
4293 struct VkCommandPoolCreateInfo {
4294     VkStructureType          sType;
4295     const(void)*             pNext;
4296     VkCommandPoolCreateFlags flags;
4297     uint32_t                 queueFamilyIndex;
4298 }
4299 struct VkCommandBufferAllocateInfo {
4300     VkStructureType      sType;
4301     const(void)*         pNext;
4302     VkCommandPool        commandPool;
4303     VkCommandBufferLevel level;
4304     uint32_t             commandBufferCount;
4305 }
4306 struct VkCommandBufferInheritanceInfo {
4307     VkStructureType               sType;
4308     const(void)*                  pNext;
4309     VkRenderPass                  renderPass;
4310     uint32_t                      subpass;
4311     VkFramebuffer                 framebuffer;
4312     VkBool32                      occlusionQueryEnable;
4313     VkQueryControlFlags           queryFlags;
4314     VkQueryPipelineStatisticFlags pipelineStatistics;
4315 }
4316 struct VkCommandBufferBeginInfo {
4317     VkStructureType                        sType;
4318     const(void)*                           pNext;
4319     VkCommandBufferUsageFlags              flags;
4320     const(VkCommandBufferInheritanceInfo)* pInheritanceInfo;
4321 }
4322 struct VkBufferCopy {
4323     VkDeviceSize srcOffset;
4324     VkDeviceSize dstOffset;
4325     VkDeviceSize size;
4326 }
4327 struct VkImageSubresourceLayers {
4328     VkImageAspectFlags aspectMask;
4329     uint32_t           mipLevel;
4330     uint32_t           baseArrayLayer;
4331     uint32_t           layerCount;
4332 }
4333 struct VkImageCopy {
4334     VkImageSubresourceLayers srcSubresource;
4335     VkOffset3D               srcOffset;
4336     VkImageSubresourceLayers dstSubresource;
4337     VkOffset3D               dstOffset;
4338     VkExtent3D               extent;
4339 }
4340 struct VkImageBlit {
4341     VkImageSubresourceLayers srcSubresource;
4342     VkOffset3D[2]            srcOffsets;
4343     VkImageSubresourceLayers dstSubresource;
4344     VkOffset3D[2]            dstOffsets;
4345 }
4346 struct VkBufferImageCopy {
4347     VkDeviceSize             bufferOffset;
4348     uint32_t                 bufferRowLength;
4349     uint32_t                 bufferImageHeight;
4350     VkImageSubresourceLayers imageSubresource;
4351     VkOffset3D               imageOffset;
4352     VkExtent3D               imageExtent;
4353 }
4354 union VkClearColorValue {
4355     float[4]    float32;
4356     int32_t[4]  int32;
4357     uint32_t[4] uint32;
4358 }
4359 struct VkClearDepthStencilValue {
4360     float    depth;
4361     uint32_t stencil;
4362 }
4363 union VkClearValue {
4364     VkClearColorValue        color;
4365     VkClearDepthStencilValue depthStencil;
4366 }
4367 struct VkClearAttachment {
4368     VkImageAspectFlags aspectMask;
4369     uint32_t           colorAttachment;
4370     VkClearValue       clearValue;
4371 }
4372 struct VkClearRect {
4373     VkRect2D rect;
4374     uint32_t baseArrayLayer;
4375     uint32_t layerCount;
4376 }
4377 struct VkImageResolve {
4378     VkImageSubresourceLayers srcSubresource;
4379     VkOffset3D               srcOffset;
4380     VkImageSubresourceLayers dstSubresource;
4381     VkOffset3D               dstOffset;
4382     VkExtent3D               extent;
4383 }
4384 struct VkMemoryBarrier {
4385     VkStructureType sType;
4386     const(void)*    pNext;
4387     VkAccessFlags   srcAccessMask;
4388     VkAccessFlags   dstAccessMask;
4389 }
4390 struct VkBufferMemoryBarrier {
4391     VkStructureType sType;
4392     const(void)*    pNext;
4393     VkAccessFlags   srcAccessMask;
4394     VkAccessFlags   dstAccessMask;
4395     uint32_t        srcQueueFamilyIndex;
4396     uint32_t        dstQueueFamilyIndex;
4397     VkBuffer        buffer;
4398     VkDeviceSize    offset;
4399     VkDeviceSize    size;
4400 }
4401 struct VkImageMemoryBarrier {
4402     VkStructureType         sType;
4403     const(void)*            pNext;
4404     VkAccessFlags           srcAccessMask;
4405     VkAccessFlags           dstAccessMask;
4406     VkImageLayout           oldLayout;
4407     VkImageLayout           newLayout;
4408     uint32_t                srcQueueFamilyIndex;
4409     uint32_t                dstQueueFamilyIndex;
4410     VkImage                 image;
4411     VkImageSubresourceRange subresourceRange;
4412 }
4413 struct VkRenderPassBeginInfo {
4414     VkStructureType      sType;
4415     const(void)*         pNext;
4416     VkRenderPass         renderPass;
4417     VkFramebuffer        framebuffer;
4418     VkRect2D             renderArea;
4419     uint32_t             clearValueCount;
4420     const(VkClearValue)* pClearValues;
4421 }
4422 struct VkDispatchIndirectCommand {
4423     uint32_t x;
4424     uint32_t y;
4425     uint32_t z;
4426 }
4427 struct VkDrawIndexedIndirectCommand {
4428     uint32_t indexCount;
4429     uint32_t instanceCount;
4430     uint32_t firstIndex;
4431     int32_t  vertexOffset;
4432     uint32_t firstInstance;
4433 }
4434 struct VkDrawIndirectCommand {
4435     uint32_t vertexCount;
4436     uint32_t instanceCount;
4437     uint32_t firstVertex;
4438     uint32_t firstInstance;
4439 }
4440 struct VkBaseOutStructure {
4441     VkStructureType     sType;
4442     VkBaseOutStructure* pNext;
4443 }
4444 struct VkBaseInStructure {
4445     VkStructureType           sType;
4446     const(VkBaseInStructure)* pNext;
4447 }
4448 
4449 // VK_VERSION_1_1
4450 struct VkPhysicalDeviceSubgroupProperties {
4451     VkStructureType        sType;
4452     void*                  pNext;
4453     uint32_t               subgroupSize;
4454     VkShaderStageFlags     supportedStages;
4455     VkSubgroupFeatureFlags supportedOperations;
4456     VkBool32               quadOperationsInAllStages;
4457 }
4458 struct VkBindBufferMemoryInfo {
4459     VkStructureType sType;
4460     const(void)*    pNext;
4461     VkBuffer        buffer;
4462     VkDeviceMemory  memory;
4463     VkDeviceSize    memoryOffset;
4464 }
4465 struct VkBindImageMemoryInfo {
4466     VkStructureType sType;
4467     const(void)*    pNext;
4468     VkImage         image;
4469     VkDeviceMemory  memory;
4470     VkDeviceSize    memoryOffset;
4471 }
4472 struct VkPhysicalDevice16BitStorageFeatures {
4473     VkStructureType sType;
4474     void*           pNext;
4475     VkBool32        storageBuffer16BitAccess;
4476     VkBool32        uniformAndStorageBuffer16BitAccess;
4477     VkBool32        storagePushConstant16;
4478     VkBool32        storageInputOutput16;
4479 }
4480 struct VkMemoryDedicatedRequirements {
4481     VkStructureType sType;
4482     void*           pNext;
4483     VkBool32        prefersDedicatedAllocation;
4484     VkBool32        requiresDedicatedAllocation;
4485 }
4486 struct VkMemoryDedicatedAllocateInfo {
4487     VkStructureType sType;
4488     const(void)*    pNext;
4489     VkImage         image;
4490     VkBuffer        buffer;
4491 }
4492 struct VkMemoryAllocateFlagsInfo {
4493     VkStructureType       sType;
4494     const(void)*          pNext;
4495     VkMemoryAllocateFlags flags;
4496     uint32_t              deviceMask;
4497 }
4498 struct VkDeviceGroupRenderPassBeginInfo {
4499     VkStructureType  sType;
4500     const(void)*     pNext;
4501     uint32_t         deviceMask;
4502     uint32_t         deviceRenderAreaCount;
4503     const(VkRect2D)* pDeviceRenderAreas;
4504 }
4505 struct VkDeviceGroupCommandBufferBeginInfo {
4506     VkStructureType sType;
4507     const(void)*    pNext;
4508     uint32_t        deviceMask;
4509 }
4510 struct VkDeviceGroupSubmitInfo {
4511     VkStructureType  sType;
4512     const(void)*     pNext;
4513     uint32_t         waitSemaphoreCount;
4514     const(uint32_t)* pWaitSemaphoreDeviceIndices;
4515     uint32_t         commandBufferCount;
4516     const(uint32_t)* pCommandBufferDeviceMasks;
4517     uint32_t         signalSemaphoreCount;
4518     const(uint32_t)* pSignalSemaphoreDeviceIndices;
4519 }
4520 struct VkDeviceGroupBindSparseInfo {
4521     VkStructureType sType;
4522     const(void)*    pNext;
4523     uint32_t        resourceDeviceIndex;
4524     uint32_t        memoryDeviceIndex;
4525 }
4526 struct VkBindBufferMemoryDeviceGroupInfo {
4527     VkStructureType  sType;
4528     const(void)*     pNext;
4529     uint32_t         deviceIndexCount;
4530     const(uint32_t)* pDeviceIndices;
4531 }
4532 struct VkBindImageMemoryDeviceGroupInfo {
4533     VkStructureType  sType;
4534     const(void)*     pNext;
4535     uint32_t         deviceIndexCount;
4536     const(uint32_t)* pDeviceIndices;
4537     uint32_t         splitInstanceBindRegionCount;
4538     const(VkRect2D)* pSplitInstanceBindRegions;
4539 }
4540 struct VkPhysicalDeviceGroupProperties {
4541     VkStructureType                            sType;
4542     void*                                      pNext;
4543     uint32_t                                   physicalDeviceCount;
4544     VkPhysicalDevice[VK_MAX_DEVICE_GROUP_SIZE] physicalDevices;
4545     VkBool32                                   subsetAllocation;
4546 }
4547 struct VkDeviceGroupDeviceCreateInfo {
4548     VkStructureType          sType;
4549     const(void)*             pNext;
4550     uint32_t                 physicalDeviceCount;
4551     const(VkPhysicalDevice)* pPhysicalDevices;
4552 }
4553 struct VkBufferMemoryRequirementsInfo2 {
4554     VkStructureType sType;
4555     const(void)*    pNext;
4556     VkBuffer        buffer;
4557 }
4558 struct VkImageMemoryRequirementsInfo2 {
4559     VkStructureType sType;
4560     const(void)*    pNext;
4561     VkImage         image;
4562 }
4563 struct VkImageSparseMemoryRequirementsInfo2 {
4564     VkStructureType sType;
4565     const(void)*    pNext;
4566     VkImage         image;
4567 }
4568 struct VkMemoryRequirements2 {
4569     VkStructureType      sType;
4570     void*                pNext;
4571     VkMemoryRequirements memoryRequirements;
4572 }
4573 struct VkSparseImageMemoryRequirements2 {
4574     VkStructureType                 sType;
4575     void*                           pNext;
4576     VkSparseImageMemoryRequirements memoryRequirements;
4577 }
4578 struct VkPhysicalDeviceFeatures2 {
4579     VkStructureType          sType;
4580     void*                    pNext;
4581     VkPhysicalDeviceFeatures features;
4582 }
4583 struct VkPhysicalDeviceProperties2 {
4584     VkStructureType            sType;
4585     void*                      pNext;
4586     VkPhysicalDeviceProperties properties;
4587 }
4588 struct VkFormatProperties2 {
4589     VkStructureType    sType;
4590     void*              pNext;
4591     VkFormatProperties formatProperties;
4592 }
4593 struct VkImageFormatProperties2 {
4594     VkStructureType         sType;
4595     void*                   pNext;
4596     VkImageFormatProperties imageFormatProperties;
4597 }
4598 struct VkPhysicalDeviceImageFormatInfo2 {
4599     VkStructureType    sType;
4600     const(void)*       pNext;
4601     VkFormat           format;
4602     VkImageType        type;
4603     VkImageTiling      tiling;
4604     VkImageUsageFlags  usage;
4605     VkImageCreateFlags flags;
4606 }
4607 struct VkQueueFamilyProperties2 {
4608     VkStructureType         sType;
4609     void*                   pNext;
4610     VkQueueFamilyProperties queueFamilyProperties;
4611 }
4612 struct VkPhysicalDeviceMemoryProperties2 {
4613     VkStructureType                  sType;
4614     void*                            pNext;
4615     VkPhysicalDeviceMemoryProperties memoryProperties;
4616 }
4617 struct VkSparseImageFormatProperties2 {
4618     VkStructureType               sType;
4619     void*                         pNext;
4620     VkSparseImageFormatProperties properties;
4621 }
4622 struct VkPhysicalDeviceSparseImageFormatInfo2 {
4623     VkStructureType       sType;
4624     const(void)*          pNext;
4625     VkFormat              format;
4626     VkImageType           type;
4627     VkSampleCountFlagBits samples;
4628     VkImageUsageFlags     usage;
4629     VkImageTiling         tiling;
4630 }
4631 struct VkPhysicalDevicePointClippingProperties {
4632     VkStructureType         sType;
4633     void*                   pNext;
4634     VkPointClippingBehavior pointClippingBehavior;
4635 }
4636 struct VkInputAttachmentAspectReference {
4637     uint32_t           subpass;
4638     uint32_t           inputAttachmentIndex;
4639     VkImageAspectFlags aspectMask;
4640 }
4641 struct VkRenderPassInputAttachmentAspectCreateInfo {
4642     VkStructureType                          sType;
4643     const(void)*                             pNext;
4644     uint32_t                                 aspectReferenceCount;
4645     const(VkInputAttachmentAspectReference)* pAspectReferences;
4646 }
4647 struct VkImageViewUsageCreateInfo {
4648     VkStructureType   sType;
4649     const(void)*      pNext;
4650     VkImageUsageFlags usage;
4651 }
4652 struct VkPipelineTessellationDomainOriginStateCreateInfo {
4653     VkStructureType            sType;
4654     const(void)*               pNext;
4655     VkTessellationDomainOrigin domainOrigin;
4656 }
4657 struct VkRenderPassMultiviewCreateInfo {
4658     VkStructureType  sType;
4659     const(void)*     pNext;
4660     uint32_t         subpassCount;
4661     const(uint32_t)* pViewMasks;
4662     uint32_t         dependencyCount;
4663     const(int32_t)*  pViewOffsets;
4664     uint32_t         correlationMaskCount;
4665     const(uint32_t)* pCorrelationMasks;
4666 }
4667 struct VkPhysicalDeviceMultiviewFeatures {
4668     VkStructureType sType;
4669     void*           pNext;
4670     VkBool32        multiview;
4671     VkBool32        multiviewGeometryShader;
4672     VkBool32        multiviewTessellationShader;
4673 }
4674 struct VkPhysicalDeviceMultiviewProperties {
4675     VkStructureType sType;
4676     void*           pNext;
4677     uint32_t        maxMultiviewViewCount;
4678     uint32_t        maxMultiviewInstanceIndex;
4679 }
4680 struct VkPhysicalDeviceVariablePointerFeatures {
4681     VkStructureType sType;
4682     void*           pNext;
4683     VkBool32        variablePointersStorageBuffer;
4684     VkBool32        variablePointers;
4685 }
4686 struct VkPhysicalDeviceProtectedMemoryFeatures {
4687     VkStructureType sType;
4688     void*           pNext;
4689     VkBool32        protectedMemory;
4690 }
4691 struct VkPhysicalDeviceProtectedMemoryProperties {
4692     VkStructureType sType;
4693     void*           pNext;
4694     VkBool32        protectedNoFault;
4695 }
4696 struct VkDeviceQueueInfo2 {
4697     VkStructureType          sType;
4698     const(void)*             pNext;
4699     VkDeviceQueueCreateFlags flags;
4700     uint32_t                 queueFamilyIndex;
4701     uint32_t                 queueIndex;
4702 }
4703 struct VkProtectedSubmitInfo {
4704     VkStructureType sType;
4705     const(void)*    pNext;
4706     VkBool32        protectedSubmit;
4707 }
4708 struct VkSamplerYcbcrConversionCreateInfo {
4709     VkStructureType               sType;
4710     const(void)*                  pNext;
4711     VkFormat                      format;
4712     VkSamplerYcbcrModelConversion ycbcrModel;
4713     VkSamplerYcbcrRange           ycbcrRange;
4714     VkComponentMapping            components;
4715     VkChromaLocation              xChromaOffset;
4716     VkChromaLocation              yChromaOffset;
4717     VkFilter                      chromaFilter;
4718     VkBool32                      forceExplicitReconstruction;
4719 }
4720 struct VkSamplerYcbcrConversionInfo {
4721     VkStructureType          sType;
4722     const(void)*             pNext;
4723     VkSamplerYcbcrConversion conversion;
4724 }
4725 struct VkBindImagePlaneMemoryInfo {
4726     VkStructureType       sType;
4727     const(void)*          pNext;
4728     VkImageAspectFlagBits planeAspect;
4729 }
4730 struct VkImagePlaneMemoryRequirementsInfo {
4731     VkStructureType       sType;
4732     const(void)*          pNext;
4733     VkImageAspectFlagBits planeAspect;
4734 }
4735 struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4736     VkStructureType sType;
4737     void*           pNext;
4738     VkBool32        samplerYcbcrConversion;
4739 }
4740 struct VkSamplerYcbcrConversionImageFormatProperties {
4741     VkStructureType sType;
4742     void*           pNext;
4743     uint32_t        combinedImageSamplerDescriptorCount;
4744 }
4745 struct VkDescriptorUpdateTemplateEntry {
4746     uint32_t         dstBinding;
4747     uint32_t         dstArrayElement;
4748     uint32_t         descriptorCount;
4749     VkDescriptorType descriptorType;
4750     size_t           offset;
4751     size_t           stride;
4752 }
4753 struct VkDescriptorUpdateTemplateCreateInfo {
4754     VkStructureType                         sType;
4755     const(void)*                            pNext;
4756     VkDescriptorUpdateTemplateCreateFlags   flags;
4757     uint32_t                                descriptorUpdateEntryCount;
4758     const(VkDescriptorUpdateTemplateEntry)* pDescriptorUpdateEntries;
4759     VkDescriptorUpdateTemplateType          templateType;
4760     VkDescriptorSetLayout                   descriptorSetLayout;
4761     VkPipelineBindPoint                     pipelineBindPoint;
4762     VkPipelineLayout                        pipelineLayout;
4763     uint32_t                                set;
4764 }
4765 struct VkExternalMemoryProperties {
4766     VkExternalMemoryFeatureFlags    externalMemoryFeatures;
4767     VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4768     VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4769 }
4770 struct VkPhysicalDeviceExternalImageFormatInfo {
4771     VkStructureType                    sType;
4772     const(void)*                       pNext;
4773     VkExternalMemoryHandleTypeFlagBits handleType;
4774 }
4775 struct VkExternalImageFormatProperties {
4776     VkStructureType            sType;
4777     void*                      pNext;
4778     VkExternalMemoryProperties externalMemoryProperties;
4779 }
4780 struct VkPhysicalDeviceExternalBufferInfo {
4781     VkStructureType                    sType;
4782     const(void)*                       pNext;
4783     VkBufferCreateFlags                flags;
4784     VkBufferUsageFlags                 usage;
4785     VkExternalMemoryHandleTypeFlagBits handleType;
4786 }
4787 struct VkExternalBufferProperties {
4788     VkStructureType            sType;
4789     void*                      pNext;
4790     VkExternalMemoryProperties externalMemoryProperties;
4791 }
4792 struct VkPhysicalDeviceIDProperties {
4793     VkStructureType       sType;
4794     void*                 pNext;
4795     uint8_t[VK_UUID_SIZE] deviceUUID;
4796     uint8_t[VK_UUID_SIZE] driverUUID;
4797     uint8_t[VK_LUID_SIZE] deviceLUID;
4798     uint32_t              deviceNodeMask;
4799     VkBool32              deviceLUIDValid;
4800 }
4801 struct VkExternalMemoryImageCreateInfo {
4802     VkStructureType                 sType;
4803     const(void)*                    pNext;
4804     VkExternalMemoryHandleTypeFlags handleTypes;
4805 }
4806 struct VkExternalMemoryBufferCreateInfo {
4807     VkStructureType                 sType;
4808     const(void)*                    pNext;
4809     VkExternalMemoryHandleTypeFlags handleTypes;
4810 }
4811 struct VkExportMemoryAllocateInfo {
4812     VkStructureType                 sType;
4813     const(void)*                    pNext;
4814     VkExternalMemoryHandleTypeFlags handleTypes;
4815 }
4816 struct VkPhysicalDeviceExternalFenceInfo {
4817     VkStructureType                   sType;
4818     const(void)*                      pNext;
4819     VkExternalFenceHandleTypeFlagBits handleType;
4820 }
4821 struct VkExternalFenceProperties {
4822     VkStructureType                sType;
4823     void*                          pNext;
4824     VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
4825     VkExternalFenceHandleTypeFlags compatibleHandleTypes;
4826     VkExternalFenceFeatureFlags    externalFenceFeatures;
4827 }
4828 struct VkExportFenceCreateInfo {
4829     VkStructureType                sType;
4830     const(void)*                   pNext;
4831     VkExternalFenceHandleTypeFlags handleTypes;
4832 }
4833 struct VkExportSemaphoreCreateInfo {
4834     VkStructureType                    sType;
4835     const(void)*                       pNext;
4836     VkExternalSemaphoreHandleTypeFlags handleTypes;
4837 }
4838 struct VkPhysicalDeviceExternalSemaphoreInfo {
4839     VkStructureType                       sType;
4840     const(void)*                          pNext;
4841     VkExternalSemaphoreHandleTypeFlagBits handleType;
4842 }
4843 struct VkExternalSemaphoreProperties {
4844     VkStructureType                    sType;
4845     void*                              pNext;
4846     VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
4847     VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
4848     VkExternalSemaphoreFeatureFlags    externalSemaphoreFeatures;
4849 }
4850 struct VkPhysicalDeviceMaintenance3Properties {
4851     VkStructureType sType;
4852     void*           pNext;
4853     uint32_t        maxPerSetDescriptors;
4854     VkDeviceSize    maxMemoryAllocationSize;
4855 }
4856 struct VkDescriptorSetLayoutSupport {
4857     VkStructureType sType;
4858     void*           pNext;
4859     VkBool32        supported;
4860 }
4861 struct VkPhysicalDeviceShaderDrawParameterFeatures {
4862     VkStructureType sType;
4863     void*           pNext;
4864     VkBool32        shaderDrawParameters;
4865 }
4866 
4867 // VK_KHR_surface
4868 struct VkSurfaceCapabilitiesKHR {
4869     uint32_t                      minImageCount;
4870     uint32_t                      maxImageCount;
4871     VkExtent2D                    currentExtent;
4872     VkExtent2D                    minImageExtent;
4873     VkExtent2D                    maxImageExtent;
4874     uint32_t                      maxImageArrayLayers;
4875     VkSurfaceTransformFlagsKHR    supportedTransforms;
4876     VkSurfaceTransformFlagBitsKHR currentTransform;
4877     VkCompositeAlphaFlagsKHR      supportedCompositeAlpha;
4878     VkImageUsageFlags             supportedUsageFlags;
4879 }
4880 struct VkSurfaceFormatKHR {
4881     VkFormat        format;
4882     VkColorSpaceKHR colorSpace;
4883 }
4884 
4885 // VK_KHR_swapchain
4886 struct VkSwapchainCreateInfoKHR {
4887     VkStructureType               sType;
4888     const(void)*                  pNext;
4889     VkSwapchainCreateFlagsKHR     flags;
4890     VkSurfaceKHR                  surface;
4891     uint32_t                      minImageCount;
4892     VkFormat                      imageFormat;
4893     VkColorSpaceKHR               imageColorSpace;
4894     VkExtent2D                    imageExtent;
4895     uint32_t                      imageArrayLayers;
4896     VkImageUsageFlags             imageUsage;
4897     VkSharingMode                 imageSharingMode;
4898     uint32_t                      queueFamilyIndexCount;
4899     const(uint32_t)*              pQueueFamilyIndices;
4900     VkSurfaceTransformFlagBitsKHR preTransform;
4901     VkCompositeAlphaFlagBitsKHR   compositeAlpha;
4902     VkPresentModeKHR              presentMode;
4903     VkBool32                      clipped;
4904     VkSwapchainKHR                oldSwapchain;
4905 }
4906 struct VkPresentInfoKHR {
4907     VkStructureType        sType;
4908     const(void)*           pNext;
4909     uint32_t               waitSemaphoreCount;
4910     const(VkSemaphore)*    pWaitSemaphores;
4911     uint32_t               swapchainCount;
4912     const(VkSwapchainKHR)* pSwapchains;
4913     const(uint32_t)*       pImageIndices;
4914     VkResult*              pResults;
4915 }
4916 struct VkImageSwapchainCreateInfoKHR {
4917     VkStructureType sType;
4918     const(void)*    pNext;
4919     VkSwapchainKHR  swapchain;
4920 }
4921 struct VkBindImageMemorySwapchainInfoKHR {
4922     VkStructureType sType;
4923     const(void)*    pNext;
4924     VkSwapchainKHR  swapchain;
4925     uint32_t        imageIndex;
4926 }
4927 struct VkAcquireNextImageInfoKHR {
4928     VkStructureType sType;
4929     const(void)*    pNext;
4930     VkSwapchainKHR  swapchain;
4931     uint64_t        timeout;
4932     VkSemaphore     semaphore;
4933     VkFence         fence;
4934     uint32_t        deviceMask;
4935 }
4936 struct VkDeviceGroupPresentCapabilitiesKHR {
4937     VkStructureType                    sType;
4938     const(void)*                       pNext;
4939     uint32_t[VK_MAX_DEVICE_GROUP_SIZE] presentMask;
4940     VkDeviceGroupPresentModeFlagsKHR   modes;
4941 }
4942 struct VkDeviceGroupPresentInfoKHR {
4943     VkStructureType                     sType;
4944     const(void)*                        pNext;
4945     uint32_t                            swapchainCount;
4946     const(uint32_t)*                    pDeviceMasks;
4947     VkDeviceGroupPresentModeFlagBitsKHR mode;
4948 }
4949 struct VkDeviceGroupSwapchainCreateInfoKHR {
4950     VkStructureType                  sType;
4951     const(void)*                     pNext;
4952     VkDeviceGroupPresentModeFlagsKHR modes;
4953 }
4954 
4955 // VK_KHR_display
4956 struct VkDisplayPropertiesKHR {
4957     VkDisplayKHR               display;
4958     const(char)*               displayName;
4959     VkExtent2D                 physicalDimensions;
4960     VkExtent2D                 physicalResolution;
4961     VkSurfaceTransformFlagsKHR supportedTransforms;
4962     VkBool32                   planeReorderPossible;
4963     VkBool32                   persistentContent;
4964 }
4965 struct VkDisplayModeParametersKHR {
4966     VkExtent2D visibleRegion;
4967     uint32_t   refreshRate;
4968 }
4969 struct VkDisplayModePropertiesKHR {
4970     VkDisplayModeKHR           displayMode;
4971     VkDisplayModeParametersKHR parameters;
4972 }
4973 struct VkDisplayModeCreateInfoKHR {
4974     VkStructureType             sType;
4975     const(void)*                pNext;
4976     VkDisplayModeCreateFlagsKHR flags;
4977     VkDisplayModeParametersKHR  parameters;
4978 }
4979 struct VkDisplayPlaneCapabilitiesKHR {
4980     VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
4981     VkOffset2D                  minSrcPosition;
4982     VkOffset2D                  maxSrcPosition;
4983     VkExtent2D                  minSrcExtent;
4984     VkExtent2D                  maxSrcExtent;
4985     VkOffset2D                  minDstPosition;
4986     VkOffset2D                  maxDstPosition;
4987     VkExtent2D                  minDstExtent;
4988     VkExtent2D                  maxDstExtent;
4989 }
4990 struct VkDisplayPlanePropertiesKHR {
4991     VkDisplayKHR currentDisplay;
4992     uint32_t     currentStackIndex;
4993 }
4994 struct VkDisplaySurfaceCreateInfoKHR {
4995     VkStructureType                sType;
4996     const(void)*                   pNext;
4997     VkDisplaySurfaceCreateFlagsKHR flags;
4998     VkDisplayModeKHR               displayMode;
4999     uint32_t                       planeIndex;
5000     uint32_t                       planeStackIndex;
5001     VkSurfaceTransformFlagBitsKHR  transform;
5002     float                          globalAlpha;
5003     VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
5004     VkExtent2D                     imageExtent;
5005 }
5006 
5007 // VK_KHR_xcb_surface
5008 version(linux) {
5009     version(VkXcb) {
5010         struct VkXcbSurfaceCreateInfoKHR {
5011             VkStructureType            sType;
5012             const(void)*               pNext;
5013             VkXcbSurfaceCreateFlagsKHR flags;
5014             xcb_connection_t*          connection;
5015             xcb_window_t               window;
5016         }
5017     }
5018 }
5019 
5020 // VK_KHR_wayland_surface
5021 version(linux) {
5022     version(VkWayland) {
5023         struct VkWaylandSurfaceCreateInfoKHR {
5024             VkStructureType                sType;
5025             const(void)*                   pNext;
5026             VkWaylandSurfaceCreateFlagsKHR flags;
5027             wl_display*                    display;
5028             wl_surface*                    surface;
5029         }
5030     }
5031 }
5032 
5033 // VK_KHR_win32_surface
5034 version(Windows) {
5035     struct VkWin32SurfaceCreateInfoKHR {
5036         VkStructureType              sType;
5037         const(void)*                 pNext;
5038         VkWin32SurfaceCreateFlagsKHR flags;
5039         HINSTANCE                    hinstance;
5040         HWND                         hwnd;
5041     }
5042 }
5043 
5044 // VK_EXT_debug_report
5045 struct VkDebugReportCallbackCreateInfoEXT {
5046     VkStructureType              sType;
5047     const(void)*                 pNext;
5048     VkDebugReportFlagsEXT        flags;
5049     PFN_vkDebugReportCallbackEXT pfnCallback;
5050     void*                        pUserData;
5051 }
5052 
5053 // Command pointer aliases
5054 
5055 extern(C) nothrow @nogc {
5056     // VK_VERSION_1_0
5057     alias PFN_vkCreateInstance = VkResult function (
5058         const(VkInstanceCreateInfo)*  pCreateInfo,
5059         const(VkAllocationCallbacks)* pAllocator,
5060         VkInstance*                   pInstance,
5061     );
5062     alias PFN_vkDestroyInstance = void function (
5063         VkInstance                    instance,
5064         const(VkAllocationCallbacks)* pAllocator,
5065     );
5066     alias PFN_vkEnumeratePhysicalDevices = VkResult function (
5067         VkInstance        instance,
5068         uint32_t*         pPhysicalDeviceCount,
5069         VkPhysicalDevice* pPhysicalDevices,
5070     );
5071     alias PFN_vkGetPhysicalDeviceFeatures = void function (
5072         VkPhysicalDevice          physicalDevice,
5073         VkPhysicalDeviceFeatures* pFeatures,
5074     );
5075     alias PFN_vkGetPhysicalDeviceFormatProperties = void function (
5076         VkPhysicalDevice    physicalDevice,
5077         VkFormat            format,
5078         VkFormatProperties* pFormatProperties,
5079     );
5080     alias PFN_vkGetPhysicalDeviceImageFormatProperties = VkResult function (
5081         VkPhysicalDevice         physicalDevice,
5082         VkFormat                 format,
5083         VkImageType              type,
5084         VkImageTiling            tiling,
5085         VkImageUsageFlags        usage,
5086         VkImageCreateFlags       flags,
5087         VkImageFormatProperties* pImageFormatProperties,
5088     );
5089     alias PFN_vkGetPhysicalDeviceProperties = void function (
5090         VkPhysicalDevice            physicalDevice,
5091         VkPhysicalDeviceProperties* pProperties,
5092     );
5093     alias PFN_vkGetPhysicalDeviceQueueFamilyProperties = void function (
5094         VkPhysicalDevice         physicalDevice,
5095         uint32_t*                pQueueFamilyPropertyCount,
5096         VkQueueFamilyProperties* pQueueFamilyProperties,
5097     );
5098     alias PFN_vkGetPhysicalDeviceMemoryProperties = void function (
5099         VkPhysicalDevice                  physicalDevice,
5100         VkPhysicalDeviceMemoryProperties* pMemoryProperties,
5101     );
5102     alias PFN_vkGetInstanceProcAddr = PFN_vkVoidFunction function (
5103         VkInstance   instance,
5104         const(char)* pName,
5105     );
5106     alias PFN_vkGetDeviceProcAddr = PFN_vkVoidFunction function (
5107         VkDevice     device,
5108         const(char)* pName,
5109     );
5110     alias PFN_vkCreateDevice = VkResult function (
5111         VkPhysicalDevice              physicalDevice,
5112         const(VkDeviceCreateInfo)*    pCreateInfo,
5113         const(VkAllocationCallbacks)* pAllocator,
5114         VkDevice*                     pDevice,
5115     );
5116     alias PFN_vkDestroyDevice = void function (
5117         VkDevice                      device,
5118         const(VkAllocationCallbacks)* pAllocator,
5119     );
5120     alias PFN_vkEnumerateInstanceExtensionProperties = VkResult function (
5121         const(char)*           pLayerName,
5122         uint32_t*              pPropertyCount,
5123         VkExtensionProperties* pProperties,
5124     );
5125     alias PFN_vkEnumerateDeviceExtensionProperties = VkResult function (
5126         VkPhysicalDevice       physicalDevice,
5127         const(char)*           pLayerName,
5128         uint32_t*              pPropertyCount,
5129         VkExtensionProperties* pProperties,
5130     );
5131     alias PFN_vkEnumerateInstanceLayerProperties = VkResult function (
5132         uint32_t*          pPropertyCount,
5133         VkLayerProperties* pProperties,
5134     );
5135     alias PFN_vkEnumerateDeviceLayerProperties = VkResult function (
5136         VkPhysicalDevice   physicalDevice,
5137         uint32_t*          pPropertyCount,
5138         VkLayerProperties* pProperties,
5139     );
5140     alias PFN_vkGetDeviceQueue = void function (
5141         VkDevice device,
5142         uint32_t queueFamilyIndex,
5143         uint32_t queueIndex,
5144         VkQueue* pQueue,
5145     );
5146     alias PFN_vkQueueSubmit = VkResult function (
5147         VkQueue              queue,
5148         uint32_t             submitCount,
5149         const(VkSubmitInfo)* pSubmits,
5150         VkFence              fence,
5151     );
5152     alias PFN_vkQueueWaitIdle = VkResult function (
5153         VkQueue queue,
5154     );
5155     alias PFN_vkDeviceWaitIdle = VkResult function (
5156         VkDevice device,
5157     );
5158     alias PFN_vkAllocateMemory = VkResult function (
5159         VkDevice                      device,
5160         const(VkMemoryAllocateInfo)*  pAllocateInfo,
5161         const(VkAllocationCallbacks)* pAllocator,
5162         VkDeviceMemory*               pMemory,
5163     );
5164     alias PFN_vkFreeMemory = void function (
5165         VkDevice                      device,
5166         VkDeviceMemory                memory,
5167         const(VkAllocationCallbacks)* pAllocator,
5168     );
5169     alias PFN_vkMapMemory = VkResult function (
5170         VkDevice         device,
5171         VkDeviceMemory   memory,
5172         VkDeviceSize     offset,
5173         VkDeviceSize     size,
5174         VkMemoryMapFlags flags,
5175         void**           ppData,
5176     );
5177     alias PFN_vkUnmapMemory = void function (
5178         VkDevice       device,
5179         VkDeviceMemory memory,
5180     );
5181     alias PFN_vkFlushMappedMemoryRanges = VkResult function (
5182         VkDevice                    device,
5183         uint32_t                    memoryRangeCount,
5184         const(VkMappedMemoryRange)* pMemoryRanges,
5185     );
5186     alias PFN_vkInvalidateMappedMemoryRanges = VkResult function (
5187         VkDevice                    device,
5188         uint32_t                    memoryRangeCount,
5189         const(VkMappedMemoryRange)* pMemoryRanges,
5190     );
5191     alias PFN_vkGetDeviceMemoryCommitment = void function (
5192         VkDevice       device,
5193         VkDeviceMemory memory,
5194         VkDeviceSize*  pCommittedMemoryInBytes,
5195     );
5196     alias PFN_vkBindBufferMemory = VkResult function (
5197         VkDevice       device,
5198         VkBuffer       buffer,
5199         VkDeviceMemory memory,
5200         VkDeviceSize   memoryOffset,
5201     );
5202     alias PFN_vkBindImageMemory = VkResult function (
5203         VkDevice       device,
5204         VkImage        image,
5205         VkDeviceMemory memory,
5206         VkDeviceSize   memoryOffset,
5207     );
5208     alias PFN_vkGetBufferMemoryRequirements = void function (
5209         VkDevice              device,
5210         VkBuffer              buffer,
5211         VkMemoryRequirements* pMemoryRequirements,
5212     );
5213     alias PFN_vkGetImageMemoryRequirements = void function (
5214         VkDevice              device,
5215         VkImage               image,
5216         VkMemoryRequirements* pMemoryRequirements,
5217     );
5218     alias PFN_vkGetImageSparseMemoryRequirements = void function (
5219         VkDevice                         device,
5220         VkImage                          image,
5221         uint32_t*                        pSparseMemoryRequirementCount,
5222         VkSparseImageMemoryRequirements* pSparseMemoryRequirements,
5223     );
5224     alias PFN_vkGetPhysicalDeviceSparseImageFormatProperties = void function (
5225         VkPhysicalDevice               physicalDevice,
5226         VkFormat                       format,
5227         VkImageType                    type,
5228         VkSampleCountFlagBits          samples,
5229         VkImageUsageFlags              usage,
5230         VkImageTiling                  tiling,
5231         uint32_t*                      pPropertyCount,
5232         VkSparseImageFormatProperties* pProperties,
5233     );
5234     alias PFN_vkQueueBindSparse = VkResult function (
5235         VkQueue                  queue,
5236         uint32_t                 bindInfoCount,
5237         const(VkBindSparseInfo)* pBindInfo,
5238         VkFence                  fence,
5239     );
5240     alias PFN_vkCreateFence = VkResult function (
5241         VkDevice                      device,
5242         const(VkFenceCreateInfo)*     pCreateInfo,
5243         const(VkAllocationCallbacks)* pAllocator,
5244         VkFence*                      pFence,
5245     );
5246     alias PFN_vkDestroyFence = void function (
5247         VkDevice                      device,
5248         VkFence                       fence,
5249         const(VkAllocationCallbacks)* pAllocator,
5250     );
5251     alias PFN_vkResetFences = VkResult function (
5252         VkDevice        device,
5253         uint32_t        fenceCount,
5254         const(VkFence)* pFences,
5255     );
5256     alias PFN_vkGetFenceStatus = VkResult function (
5257         VkDevice device,
5258         VkFence  fence,
5259     );
5260     alias PFN_vkWaitForFences = VkResult function (
5261         VkDevice        device,
5262         uint32_t        fenceCount,
5263         const(VkFence)* pFences,
5264         VkBool32        waitAll,
5265         uint64_t        timeout,
5266     );
5267     alias PFN_vkCreateSemaphore = VkResult function (
5268         VkDevice                      device,
5269         const(VkSemaphoreCreateInfo)* pCreateInfo,
5270         const(VkAllocationCallbacks)* pAllocator,
5271         VkSemaphore*                  pSemaphore,
5272     );
5273     alias PFN_vkDestroySemaphore = void function (
5274         VkDevice                      device,
5275         VkSemaphore                   semaphore,
5276         const(VkAllocationCallbacks)* pAllocator,
5277     );
5278     alias PFN_vkCreateEvent = VkResult function (
5279         VkDevice                      device,
5280         const(VkEventCreateInfo)*     pCreateInfo,
5281         const(VkAllocationCallbacks)* pAllocator,
5282         VkEvent*                      pEvent,
5283     );
5284     alias PFN_vkDestroyEvent = void function (
5285         VkDevice                      device,
5286         VkEvent                       event,
5287         const(VkAllocationCallbacks)* pAllocator,
5288     );
5289     alias PFN_vkGetEventStatus = VkResult function (
5290         VkDevice device,
5291         VkEvent  event,
5292     );
5293     alias PFN_vkSetEvent = VkResult function (
5294         VkDevice device,
5295         VkEvent  event,
5296     );
5297     alias PFN_vkResetEvent = VkResult function (
5298         VkDevice device,
5299         VkEvent  event,
5300     );
5301     alias PFN_vkCreateQueryPool = VkResult function (
5302         VkDevice                      device,
5303         const(VkQueryPoolCreateInfo)* pCreateInfo,
5304         const(VkAllocationCallbacks)* pAllocator,
5305         VkQueryPool*                  pQueryPool,
5306     );
5307     alias PFN_vkDestroyQueryPool = void function (
5308         VkDevice                      device,
5309         VkQueryPool                   queryPool,
5310         const(VkAllocationCallbacks)* pAllocator,
5311     );
5312     alias PFN_vkGetQueryPoolResults = VkResult function (
5313         VkDevice           device,
5314         VkQueryPool        queryPool,
5315         uint32_t           firstQuery,
5316         uint32_t           queryCount,
5317         size_t             dataSize,
5318         void*              pData,
5319         VkDeviceSize       stride,
5320         VkQueryResultFlags flags,
5321     );
5322     alias PFN_vkCreateBuffer = VkResult function (
5323         VkDevice                      device,
5324         const(VkBufferCreateInfo)*    pCreateInfo,
5325         const(VkAllocationCallbacks)* pAllocator,
5326         VkBuffer*                     pBuffer,
5327     );
5328     alias PFN_vkDestroyBuffer = void function (
5329         VkDevice                      device,
5330         VkBuffer                      buffer,
5331         const(VkAllocationCallbacks)* pAllocator,
5332     );
5333     alias PFN_vkCreateBufferView = VkResult function (
5334         VkDevice                       device,
5335         const(VkBufferViewCreateInfo)* pCreateInfo,
5336         const(VkAllocationCallbacks)*  pAllocator,
5337         VkBufferView*                  pView,
5338     );
5339     alias PFN_vkDestroyBufferView = void function (
5340         VkDevice                      device,
5341         VkBufferView                  bufferView,
5342         const(VkAllocationCallbacks)* pAllocator,
5343     );
5344     alias PFN_vkCreateImage = VkResult function (
5345         VkDevice                      device,
5346         const(VkImageCreateInfo)*     pCreateInfo,
5347         const(VkAllocationCallbacks)* pAllocator,
5348         VkImage*                      pImage,
5349     );
5350     alias PFN_vkDestroyImage = void function (
5351         VkDevice                      device,
5352         VkImage                       image,
5353         const(VkAllocationCallbacks)* pAllocator,
5354     );
5355     alias PFN_vkGetImageSubresourceLayout = void function (
5356         VkDevice                   device,
5357         VkImage                    image,
5358         const(VkImageSubresource)* pSubresource,
5359         VkSubresourceLayout*       pLayout,
5360     );
5361     alias PFN_vkCreateImageView = VkResult function (
5362         VkDevice                      device,
5363         const(VkImageViewCreateInfo)* pCreateInfo,
5364         const(VkAllocationCallbacks)* pAllocator,
5365         VkImageView*                  pView,
5366     );
5367     alias PFN_vkDestroyImageView = void function (
5368         VkDevice                      device,
5369         VkImageView                   imageView,
5370         const(VkAllocationCallbacks)* pAllocator,
5371     );
5372     alias PFN_vkCreateShaderModule = VkResult function (
5373         VkDevice                         device,
5374         const(VkShaderModuleCreateInfo)* pCreateInfo,
5375         const(VkAllocationCallbacks)*    pAllocator,
5376         VkShaderModule*                  pShaderModule,
5377     );
5378     alias PFN_vkDestroyShaderModule = void function (
5379         VkDevice                      device,
5380         VkShaderModule                shaderModule,
5381         const(VkAllocationCallbacks)* pAllocator,
5382     );
5383     alias PFN_vkCreatePipelineCache = VkResult function (
5384         VkDevice                          device,
5385         const(VkPipelineCacheCreateInfo)* pCreateInfo,
5386         const(VkAllocationCallbacks)*     pAllocator,
5387         VkPipelineCache*                  pPipelineCache,
5388     );
5389     alias PFN_vkDestroyPipelineCache = void function (
5390         VkDevice                      device,
5391         VkPipelineCache               pipelineCache,
5392         const(VkAllocationCallbacks)* pAllocator,
5393     );
5394     alias PFN_vkGetPipelineCacheData = VkResult function (
5395         VkDevice        device,
5396         VkPipelineCache pipelineCache,
5397         size_t*         pDataSize,
5398         void*           pData,
5399     );
5400     alias PFN_vkMergePipelineCaches = VkResult function (
5401         VkDevice                device,
5402         VkPipelineCache         dstCache,
5403         uint32_t                srcCacheCount,
5404         const(VkPipelineCache)* pSrcCaches,
5405     );
5406     alias PFN_vkCreateGraphicsPipelines = VkResult function (
5407         VkDevice                             device,
5408         VkPipelineCache                      pipelineCache,
5409         uint32_t                             createInfoCount,
5410         const(VkGraphicsPipelineCreateInfo)* pCreateInfos,
5411         const(VkAllocationCallbacks)*        pAllocator,
5412         VkPipeline*                          pPipelines,
5413     );
5414     alias PFN_vkCreateComputePipelines = VkResult function (
5415         VkDevice                            device,
5416         VkPipelineCache                     pipelineCache,
5417         uint32_t                            createInfoCount,
5418         const(VkComputePipelineCreateInfo)* pCreateInfos,
5419         const(VkAllocationCallbacks)*       pAllocator,
5420         VkPipeline*                         pPipelines,
5421     );
5422     alias PFN_vkDestroyPipeline = void function (
5423         VkDevice                      device,
5424         VkPipeline                    pipeline,
5425         const(VkAllocationCallbacks)* pAllocator,
5426     );
5427     alias PFN_vkCreatePipelineLayout = VkResult function (
5428         VkDevice                           device,
5429         const(VkPipelineLayoutCreateInfo)* pCreateInfo,
5430         const(VkAllocationCallbacks)*      pAllocator,
5431         VkPipelineLayout*                  pPipelineLayout,
5432     );
5433     alias PFN_vkDestroyPipelineLayout = void function (
5434         VkDevice                      device,
5435         VkPipelineLayout              pipelineLayout,
5436         const(VkAllocationCallbacks)* pAllocator,
5437     );
5438     alias PFN_vkCreateSampler = VkResult function (
5439         VkDevice                      device,
5440         const(VkSamplerCreateInfo)*   pCreateInfo,
5441         const(VkAllocationCallbacks)* pAllocator,
5442         VkSampler*                    pSampler,
5443     );
5444     alias PFN_vkDestroySampler = void function (
5445         VkDevice                      device,
5446         VkSampler                     sampler,
5447         const(VkAllocationCallbacks)* pAllocator,
5448     );
5449     alias PFN_vkCreateDescriptorSetLayout = VkResult function (
5450         VkDevice                                device,
5451         const(VkDescriptorSetLayoutCreateInfo)* pCreateInfo,
5452         const(VkAllocationCallbacks)*           pAllocator,
5453         VkDescriptorSetLayout*                  pSetLayout,
5454     );
5455     alias PFN_vkDestroyDescriptorSetLayout = void function (
5456         VkDevice                      device,
5457         VkDescriptorSetLayout         descriptorSetLayout,
5458         const(VkAllocationCallbacks)* pAllocator,
5459     );
5460     alias PFN_vkCreateDescriptorPool = VkResult function (
5461         VkDevice                           device,
5462         const(VkDescriptorPoolCreateInfo)* pCreateInfo,
5463         const(VkAllocationCallbacks)*      pAllocator,
5464         VkDescriptorPool*                  pDescriptorPool,
5465     );
5466     alias PFN_vkDestroyDescriptorPool = void function (
5467         VkDevice                      device,
5468         VkDescriptorPool              descriptorPool,
5469         const(VkAllocationCallbacks)* pAllocator,
5470     );
5471     alias PFN_vkResetDescriptorPool = VkResult function (
5472         VkDevice                   device,
5473         VkDescriptorPool           descriptorPool,
5474         VkDescriptorPoolResetFlags flags,
5475     );
5476     alias PFN_vkAllocateDescriptorSets = VkResult function (
5477         VkDevice                            device,
5478         const(VkDescriptorSetAllocateInfo)* pAllocateInfo,
5479         VkDescriptorSet*                    pDescriptorSets,
5480     );
5481     alias PFN_vkFreeDescriptorSets = VkResult function (
5482         VkDevice                device,
5483         VkDescriptorPool        descriptorPool,
5484         uint32_t                descriptorSetCount,
5485         const(VkDescriptorSet)* pDescriptorSets,
5486     );
5487     alias PFN_vkUpdateDescriptorSets = void function (
5488         VkDevice                     device,
5489         uint32_t                     descriptorWriteCount,
5490         const(VkWriteDescriptorSet)* pDescriptorWrites,
5491         uint32_t                     descriptorCopyCount,
5492         const(VkCopyDescriptorSet)*  pDescriptorCopies,
5493     );
5494     alias PFN_vkCreateFramebuffer = VkResult function (
5495         VkDevice                        device,
5496         const(VkFramebufferCreateInfo)* pCreateInfo,
5497         const(VkAllocationCallbacks)*   pAllocator,
5498         VkFramebuffer*                  pFramebuffer,
5499     );
5500     alias PFN_vkDestroyFramebuffer = void function (
5501         VkDevice                      device,
5502         VkFramebuffer                 framebuffer,
5503         const(VkAllocationCallbacks)* pAllocator,
5504     );
5505     alias PFN_vkCreateRenderPass = VkResult function (
5506         VkDevice                       device,
5507         const(VkRenderPassCreateInfo)* pCreateInfo,
5508         const(VkAllocationCallbacks)*  pAllocator,
5509         VkRenderPass*                  pRenderPass,
5510     );
5511     alias PFN_vkDestroyRenderPass = void function (
5512         VkDevice                      device,
5513         VkRenderPass                  renderPass,
5514         const(VkAllocationCallbacks)* pAllocator,
5515     );
5516     alias PFN_vkGetRenderAreaGranularity = void function (
5517         VkDevice     device,
5518         VkRenderPass renderPass,
5519         VkExtent2D*  pGranularity,
5520     );
5521     alias PFN_vkCreateCommandPool = VkResult function (
5522         VkDevice                        device,
5523         const(VkCommandPoolCreateInfo)* pCreateInfo,
5524         const(VkAllocationCallbacks)*   pAllocator,
5525         VkCommandPool*                  pCommandPool,
5526     );
5527     alias PFN_vkDestroyCommandPool = void function (
5528         VkDevice                      device,
5529         VkCommandPool                 commandPool,
5530         const(VkAllocationCallbacks)* pAllocator,
5531     );
5532     alias PFN_vkResetCommandPool = VkResult function (
5533         VkDevice                device,
5534         VkCommandPool           commandPool,
5535         VkCommandPoolResetFlags flags,
5536     );
5537     alias PFN_vkAllocateCommandBuffers = VkResult function (
5538         VkDevice                            device,
5539         const(VkCommandBufferAllocateInfo)* pAllocateInfo,
5540         VkCommandBuffer*                    pCommandBuffers,
5541     );
5542     alias PFN_vkFreeCommandBuffers = void function (
5543         VkDevice                device,
5544         VkCommandPool           commandPool,
5545         uint32_t                commandBufferCount,
5546         const(VkCommandBuffer)* pCommandBuffers,
5547     );
5548     alias PFN_vkBeginCommandBuffer = VkResult function (
5549         VkCommandBuffer                  commandBuffer,
5550         const(VkCommandBufferBeginInfo)* pBeginInfo,
5551     );
5552     alias PFN_vkEndCommandBuffer = VkResult function (
5553         VkCommandBuffer commandBuffer,
5554     );
5555     alias PFN_vkResetCommandBuffer = VkResult function (
5556         VkCommandBuffer           commandBuffer,
5557         VkCommandBufferResetFlags flags,
5558     );
5559     alias PFN_vkCmdBindPipeline = void function (
5560         VkCommandBuffer     commandBuffer,
5561         VkPipelineBindPoint pipelineBindPoint,
5562         VkPipeline          pipeline,
5563     );
5564     alias PFN_vkCmdSetViewport = void function (
5565         VkCommandBuffer    commandBuffer,
5566         uint32_t           firstViewport,
5567         uint32_t           viewportCount,
5568         const(VkViewport)* pViewports,
5569     );
5570     alias PFN_vkCmdSetScissor = void function (
5571         VkCommandBuffer  commandBuffer,
5572         uint32_t         firstScissor,
5573         uint32_t         scissorCount,
5574         const(VkRect2D)* pScissors,
5575     );
5576     alias PFN_vkCmdSetLineWidth = void function (
5577         VkCommandBuffer commandBuffer,
5578         float           lineWidth,
5579     );
5580     alias PFN_vkCmdSetDepthBias = void function (
5581         VkCommandBuffer commandBuffer,
5582         float           depthBiasConstantFactor,
5583         float           depthBiasClamp,
5584         float           depthBiasSlopeFactor,
5585     );
5586     alias PFN_vkCmdSetBlendConstants = void function (
5587         VkCommandBuffer commandBuffer,
5588         const float[4]  blendConstants,
5589     );
5590     alias PFN_vkCmdSetDepthBounds = void function (
5591         VkCommandBuffer commandBuffer,
5592         float           minDepthBounds,
5593         float           maxDepthBounds,
5594     );
5595     alias PFN_vkCmdSetStencilCompareMask = void function (
5596         VkCommandBuffer    commandBuffer,
5597         VkStencilFaceFlags faceMask,
5598         uint32_t           compareMask,
5599     );
5600     alias PFN_vkCmdSetStencilWriteMask = void function (
5601         VkCommandBuffer    commandBuffer,
5602         VkStencilFaceFlags faceMask,
5603         uint32_t           writeMask,
5604     );
5605     alias PFN_vkCmdSetStencilReference = void function (
5606         VkCommandBuffer    commandBuffer,
5607         VkStencilFaceFlags faceMask,
5608         uint32_t           reference,
5609     );
5610     alias PFN_vkCmdBindDescriptorSets = void function (
5611         VkCommandBuffer         commandBuffer,
5612         VkPipelineBindPoint     pipelineBindPoint,
5613         VkPipelineLayout        layout,
5614         uint32_t                firstSet,
5615         uint32_t                descriptorSetCount,
5616         const(VkDescriptorSet)* pDescriptorSets,
5617         uint32_t                dynamicOffsetCount,
5618         const(uint32_t)*        pDynamicOffsets,
5619     );
5620     alias PFN_vkCmdBindIndexBuffer = void function (
5621         VkCommandBuffer commandBuffer,
5622         VkBuffer        buffer,
5623         VkDeviceSize    offset,
5624         VkIndexType     indexType,
5625     );
5626     alias PFN_vkCmdBindVertexBuffers = void function (
5627         VkCommandBuffer      commandBuffer,
5628         uint32_t             firstBinding,
5629         uint32_t             bindingCount,
5630         const(VkBuffer)*     pBuffers,
5631         const(VkDeviceSize)* pOffsets,
5632     );
5633     alias PFN_vkCmdDraw = void function (
5634         VkCommandBuffer commandBuffer,
5635         uint32_t        vertexCount,
5636         uint32_t        instanceCount,
5637         uint32_t        firstVertex,
5638         uint32_t        firstInstance,
5639     );
5640     alias PFN_vkCmdDrawIndexed = void function (
5641         VkCommandBuffer commandBuffer,
5642         uint32_t        indexCount,
5643         uint32_t        instanceCount,
5644         uint32_t        firstIndex,
5645         int32_t         vertexOffset,
5646         uint32_t        firstInstance,
5647     );
5648     alias PFN_vkCmdDrawIndirect = void function (
5649         VkCommandBuffer commandBuffer,
5650         VkBuffer        buffer,
5651         VkDeviceSize    offset,
5652         uint32_t        drawCount,
5653         uint32_t        stride,
5654     );
5655     alias PFN_vkCmdDrawIndexedIndirect = void function (
5656         VkCommandBuffer commandBuffer,
5657         VkBuffer        buffer,
5658         VkDeviceSize    offset,
5659         uint32_t        drawCount,
5660         uint32_t        stride,
5661     );
5662     alias PFN_vkCmdDispatch = void function (
5663         VkCommandBuffer commandBuffer,
5664         uint32_t        groupCountX,
5665         uint32_t        groupCountY,
5666         uint32_t        groupCountZ,
5667     );
5668     alias PFN_vkCmdDispatchIndirect = void function (
5669         VkCommandBuffer commandBuffer,
5670         VkBuffer        buffer,
5671         VkDeviceSize    offset,
5672     );
5673     alias PFN_vkCmdCopyBuffer = void function (
5674         VkCommandBuffer      commandBuffer,
5675         VkBuffer             srcBuffer,
5676         VkBuffer             dstBuffer,
5677         uint32_t             regionCount,
5678         const(VkBufferCopy)* pRegions,
5679     );
5680     alias PFN_vkCmdCopyImage = void function (
5681         VkCommandBuffer     commandBuffer,
5682         VkImage             srcImage,
5683         VkImageLayout       srcImageLayout,
5684         VkImage             dstImage,
5685         VkImageLayout       dstImageLayout,
5686         uint32_t            regionCount,
5687         const(VkImageCopy)* pRegions,
5688     );
5689     alias PFN_vkCmdBlitImage = void function (
5690         VkCommandBuffer     commandBuffer,
5691         VkImage             srcImage,
5692         VkImageLayout       srcImageLayout,
5693         VkImage             dstImage,
5694         VkImageLayout       dstImageLayout,
5695         uint32_t            regionCount,
5696         const(VkImageBlit)* pRegions,
5697         VkFilter            filter,
5698     );
5699     alias PFN_vkCmdCopyBufferToImage = void function (
5700         VkCommandBuffer           commandBuffer,
5701         VkBuffer                  srcBuffer,
5702         VkImage                   dstImage,
5703         VkImageLayout             dstImageLayout,
5704         uint32_t                  regionCount,
5705         const(VkBufferImageCopy)* pRegions,
5706     );
5707     alias PFN_vkCmdCopyImageToBuffer = void function (
5708         VkCommandBuffer           commandBuffer,
5709         VkImage                   srcImage,
5710         VkImageLayout             srcImageLayout,
5711         VkBuffer                  dstBuffer,
5712         uint32_t                  regionCount,
5713         const(VkBufferImageCopy)* pRegions,
5714     );
5715     alias PFN_vkCmdUpdateBuffer = void function (
5716         VkCommandBuffer commandBuffer,
5717         VkBuffer        dstBuffer,
5718         VkDeviceSize    dstOffset,
5719         VkDeviceSize    dataSize,
5720         const(void)*    pData,
5721     );
5722     alias PFN_vkCmdFillBuffer = void function (
5723         VkCommandBuffer commandBuffer,
5724         VkBuffer        dstBuffer,
5725         VkDeviceSize    dstOffset,
5726         VkDeviceSize    size,
5727         uint32_t        data,
5728     );
5729     alias PFN_vkCmdClearColorImage = void function (
5730         VkCommandBuffer                 commandBuffer,
5731         VkImage                         image,
5732         VkImageLayout                   imageLayout,
5733         const(VkClearColorValue)*       pColor,
5734         uint32_t                        rangeCount,
5735         const(VkImageSubresourceRange)* pRanges,
5736     );
5737     alias PFN_vkCmdClearDepthStencilImage = void function (
5738         VkCommandBuffer                  commandBuffer,
5739         VkImage                          image,
5740         VkImageLayout                    imageLayout,
5741         const(VkClearDepthStencilValue)* pDepthStencil,
5742         uint32_t                         rangeCount,
5743         const(VkImageSubresourceRange)*  pRanges,
5744     );
5745     alias PFN_vkCmdClearAttachments = void function (
5746         VkCommandBuffer           commandBuffer,
5747         uint32_t                  attachmentCount,
5748         const(VkClearAttachment)* pAttachments,
5749         uint32_t                  rectCount,
5750         const(VkClearRect)*       pRects,
5751     );
5752     alias PFN_vkCmdResolveImage = void function (
5753         VkCommandBuffer        commandBuffer,
5754         VkImage                srcImage,
5755         VkImageLayout          srcImageLayout,
5756         VkImage                dstImage,
5757         VkImageLayout          dstImageLayout,
5758         uint32_t               regionCount,
5759         const(VkImageResolve)* pRegions,
5760     );
5761     alias PFN_vkCmdSetEvent = void function (
5762         VkCommandBuffer      commandBuffer,
5763         VkEvent              event,
5764         VkPipelineStageFlags stageMask,
5765     );
5766     alias PFN_vkCmdResetEvent = void function (
5767         VkCommandBuffer      commandBuffer,
5768         VkEvent              event,
5769         VkPipelineStageFlags stageMask,
5770     );
5771     alias PFN_vkCmdWaitEvents = void function (
5772         VkCommandBuffer               commandBuffer,
5773         uint32_t                      eventCount,
5774         const(VkEvent)*               pEvents,
5775         VkPipelineStageFlags          srcStageMask,
5776         VkPipelineStageFlags          dstStageMask,
5777         uint32_t                      memoryBarrierCount,
5778         const(VkMemoryBarrier)*       pMemoryBarriers,
5779         uint32_t                      bufferMemoryBarrierCount,
5780         const(VkBufferMemoryBarrier)* pBufferMemoryBarriers,
5781         uint32_t                      imageMemoryBarrierCount,
5782         const(VkImageMemoryBarrier)*  pImageMemoryBarriers,
5783     );
5784     alias PFN_vkCmdPipelineBarrier = void function (
5785         VkCommandBuffer               commandBuffer,
5786         VkPipelineStageFlags          srcStageMask,
5787         VkPipelineStageFlags          dstStageMask,
5788         VkDependencyFlags             dependencyFlags,
5789         uint32_t                      memoryBarrierCount,
5790         const(VkMemoryBarrier)*       pMemoryBarriers,
5791         uint32_t                      bufferMemoryBarrierCount,
5792         const(VkBufferMemoryBarrier)* pBufferMemoryBarriers,
5793         uint32_t                      imageMemoryBarrierCount,
5794         const(VkImageMemoryBarrier)*  pImageMemoryBarriers,
5795     );
5796     alias PFN_vkCmdBeginQuery = void function (
5797         VkCommandBuffer     commandBuffer,
5798         VkQueryPool         queryPool,
5799         uint32_t            query,
5800         VkQueryControlFlags flags,
5801     );
5802     alias PFN_vkCmdEndQuery = void function (
5803         VkCommandBuffer commandBuffer,
5804         VkQueryPool     queryPool,
5805         uint32_t        query,
5806     );
5807     alias PFN_vkCmdResetQueryPool = void function (
5808         VkCommandBuffer commandBuffer,
5809         VkQueryPool     queryPool,
5810         uint32_t        firstQuery,
5811         uint32_t        queryCount,
5812     );
5813     alias PFN_vkCmdWriteTimestamp = void function (
5814         VkCommandBuffer         commandBuffer,
5815         VkPipelineStageFlagBits pipelineStage,
5816         VkQueryPool             queryPool,
5817         uint32_t                query,
5818     );
5819     alias PFN_vkCmdCopyQueryPoolResults = void function (
5820         VkCommandBuffer    commandBuffer,
5821         VkQueryPool        queryPool,
5822         uint32_t           firstQuery,
5823         uint32_t           queryCount,
5824         VkBuffer           dstBuffer,
5825         VkDeviceSize       dstOffset,
5826         VkDeviceSize       stride,
5827         VkQueryResultFlags flags,
5828     );
5829     alias PFN_vkCmdPushConstants = void function (
5830         VkCommandBuffer    commandBuffer,
5831         VkPipelineLayout   layout,
5832         VkShaderStageFlags stageFlags,
5833         uint32_t           offset,
5834         uint32_t           size,
5835         const(void)*       pValues,
5836     );
5837     alias PFN_vkCmdBeginRenderPass = void function (
5838         VkCommandBuffer               commandBuffer,
5839         const(VkRenderPassBeginInfo)* pRenderPassBegin,
5840         VkSubpassContents             contents,
5841     );
5842     alias PFN_vkCmdNextSubpass = void function (
5843         VkCommandBuffer   commandBuffer,
5844         VkSubpassContents contents,
5845     );
5846     alias PFN_vkCmdEndRenderPass = void function (
5847         VkCommandBuffer commandBuffer,
5848     );
5849     alias PFN_vkCmdExecuteCommands = void function (
5850         VkCommandBuffer         commandBuffer,
5851         uint32_t                commandBufferCount,
5852         const(VkCommandBuffer)* pCommandBuffers,
5853     );
5854 
5855     // VK_VERSION_1_1
5856     alias PFN_vkEnumerateInstanceVersion = VkResult function (
5857         uint32_t* pApiVersion,
5858     );
5859     alias PFN_vkBindBufferMemory2 = VkResult function (
5860         VkDevice                       device,
5861         uint32_t                       bindInfoCount,
5862         const(VkBindBufferMemoryInfo)* pBindInfos,
5863     );
5864     alias PFN_vkBindImageMemory2 = VkResult function (
5865         VkDevice                      device,
5866         uint32_t                      bindInfoCount,
5867         const(VkBindImageMemoryInfo)* pBindInfos,
5868     );
5869     alias PFN_vkGetDeviceGroupPeerMemoryFeatures = void function (
5870         VkDevice                  device,
5871         uint32_t                  heapIndex,
5872         uint32_t                  localDeviceIndex,
5873         uint32_t                  remoteDeviceIndex,
5874         VkPeerMemoryFeatureFlags* pPeerMemoryFeatures,
5875     );
5876     alias PFN_vkCmdSetDeviceMask = void function (
5877         VkCommandBuffer commandBuffer,
5878         uint32_t        deviceMask,
5879     );
5880     alias PFN_vkCmdDispatchBase = void function (
5881         VkCommandBuffer commandBuffer,
5882         uint32_t        baseGroupX,
5883         uint32_t        baseGroupY,
5884         uint32_t        baseGroupZ,
5885         uint32_t        groupCountX,
5886         uint32_t        groupCountY,
5887         uint32_t        groupCountZ,
5888     );
5889     alias PFN_vkEnumeratePhysicalDeviceGroups = VkResult function (
5890         VkInstance                       instance,
5891         uint32_t*                        pPhysicalDeviceGroupCount,
5892         VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties,
5893     );
5894     alias PFN_vkGetImageMemoryRequirements2 = void function (
5895         VkDevice                               device,
5896         const(VkImageMemoryRequirementsInfo2)* pInfo,
5897         VkMemoryRequirements2*                 pMemoryRequirements,
5898     );
5899     alias PFN_vkGetBufferMemoryRequirements2 = void function (
5900         VkDevice                                device,
5901         const(VkBufferMemoryRequirementsInfo2)* pInfo,
5902         VkMemoryRequirements2*                  pMemoryRequirements,
5903     );
5904     alias PFN_vkGetImageSparseMemoryRequirements2 = void function (
5905         VkDevice                                     device,
5906         const(VkImageSparseMemoryRequirementsInfo2)* pInfo,
5907         uint32_t*                                    pSparseMemoryRequirementCount,
5908         VkSparseImageMemoryRequirements2*            pSparseMemoryRequirements,
5909     );
5910     alias PFN_vkGetPhysicalDeviceFeatures2 = void function (
5911         VkPhysicalDevice           physicalDevice,
5912         VkPhysicalDeviceFeatures2* pFeatures,
5913     );
5914     alias PFN_vkGetPhysicalDeviceProperties2 = void function (
5915         VkPhysicalDevice             physicalDevice,
5916         VkPhysicalDeviceProperties2* pProperties,
5917     );
5918     alias PFN_vkGetPhysicalDeviceFormatProperties2 = void function (
5919         VkPhysicalDevice     physicalDevice,
5920         VkFormat             format,
5921         VkFormatProperties2* pFormatProperties,
5922     );
5923     alias PFN_vkGetPhysicalDeviceImageFormatProperties2 = VkResult function (
5924         VkPhysicalDevice                         physicalDevice,
5925         const(VkPhysicalDeviceImageFormatInfo2)* pImageFormatInfo,
5926         VkImageFormatProperties2*                pImageFormatProperties,
5927     );
5928     alias PFN_vkGetPhysicalDeviceQueueFamilyProperties2 = void function (
5929         VkPhysicalDevice          physicalDevice,
5930         uint32_t*                 pQueueFamilyPropertyCount,
5931         VkQueueFamilyProperties2* pQueueFamilyProperties,
5932     );
5933     alias PFN_vkGetPhysicalDeviceMemoryProperties2 = void function (
5934         VkPhysicalDevice                   physicalDevice,
5935         VkPhysicalDeviceMemoryProperties2* pMemoryProperties,
5936     );
5937     alias PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 = void function (
5938         VkPhysicalDevice                               physicalDevice,
5939         const(VkPhysicalDeviceSparseImageFormatInfo2)* pFormatInfo,
5940         uint32_t*                                      pPropertyCount,
5941         VkSparseImageFormatProperties2*                pProperties,
5942     );
5943     alias PFN_vkTrimCommandPool = void function (
5944         VkDevice               device,
5945         VkCommandPool          commandPool,
5946         VkCommandPoolTrimFlags flags,
5947     );
5948     alias PFN_vkGetDeviceQueue2 = void function (
5949         VkDevice                   device,
5950         const(VkDeviceQueueInfo2)* pQueueInfo,
5951         VkQueue*                   pQueue,
5952     );
5953     alias PFN_vkCreateSamplerYcbcrConversion = VkResult function (
5954         VkDevice                                   device,
5955         const(VkSamplerYcbcrConversionCreateInfo)* pCreateInfo,
5956         const(VkAllocationCallbacks)*              pAllocator,
5957         VkSamplerYcbcrConversion*                  pYcbcrConversion,
5958     );
5959     alias PFN_vkDestroySamplerYcbcrConversion = void function (
5960         VkDevice                      device,
5961         VkSamplerYcbcrConversion      ycbcrConversion,
5962         const(VkAllocationCallbacks)* pAllocator,
5963     );
5964     alias PFN_vkCreateDescriptorUpdateTemplate = VkResult function (
5965         VkDevice                                     device,
5966         const(VkDescriptorUpdateTemplateCreateInfo)* pCreateInfo,
5967         const(VkAllocationCallbacks)*                pAllocator,
5968         VkDescriptorUpdateTemplate*                  pDescriptorUpdateTemplate,
5969     );
5970     alias PFN_vkDestroyDescriptorUpdateTemplate = void function (
5971         VkDevice                      device,
5972         VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
5973         const(VkAllocationCallbacks)* pAllocator,
5974     );
5975     alias PFN_vkUpdateDescriptorSetWithTemplate = void function (
5976         VkDevice                   device,
5977         VkDescriptorSet            descriptorSet,
5978         VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5979         const(void)*               pData,
5980     );
5981     alias PFN_vkGetPhysicalDeviceExternalBufferProperties = void function (
5982         VkPhysicalDevice                           physicalDevice,
5983         const(VkPhysicalDeviceExternalBufferInfo)* pExternalBufferInfo,
5984         VkExternalBufferProperties*                pExternalBufferProperties,
5985     );
5986     alias PFN_vkGetPhysicalDeviceExternalFenceProperties = void function (
5987         VkPhysicalDevice                          physicalDevice,
5988         const(VkPhysicalDeviceExternalFenceInfo)* pExternalFenceInfo,
5989         VkExternalFenceProperties*                pExternalFenceProperties,
5990     );
5991     alias PFN_vkGetPhysicalDeviceExternalSemaphoreProperties = void function (
5992         VkPhysicalDevice                              physicalDevice,
5993         const(VkPhysicalDeviceExternalSemaphoreInfo)* pExternalSemaphoreInfo,
5994         VkExternalSemaphoreProperties*                pExternalSemaphoreProperties,
5995     );
5996     alias PFN_vkGetDescriptorSetLayoutSupport = void function (
5997         VkDevice                                device,
5998         const(VkDescriptorSetLayoutCreateInfo)* pCreateInfo,
5999         VkDescriptorSetLayoutSupport*           pSupport,
6000     );
6001 
6002     // VK_KHR_surface
6003     alias PFN_vkDestroySurfaceKHR = void function (
6004         VkInstance                    instance,
6005         VkSurfaceKHR                  surface,
6006         const(VkAllocationCallbacks)* pAllocator,
6007     );
6008     alias PFN_vkGetPhysicalDeviceSurfaceSupportKHR = VkResult function (
6009         VkPhysicalDevice physicalDevice,
6010         uint32_t         queueFamilyIndex,
6011         VkSurfaceKHR     surface,
6012         VkBool32*        pSupported,
6013     );
6014     alias PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = VkResult function (
6015         VkPhysicalDevice          physicalDevice,
6016         VkSurfaceKHR              surface,
6017         VkSurfaceCapabilitiesKHR* pSurfaceCapabilities,
6018     );
6019     alias PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = VkResult function (
6020         VkPhysicalDevice    physicalDevice,
6021         VkSurfaceKHR        surface,
6022         uint32_t*           pSurfaceFormatCount,
6023         VkSurfaceFormatKHR* pSurfaceFormats,
6024     );
6025     alias PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = VkResult function (
6026         VkPhysicalDevice  physicalDevice,
6027         VkSurfaceKHR      surface,
6028         uint32_t*         pPresentModeCount,
6029         VkPresentModeKHR* pPresentModes,
6030     );
6031 
6032     // VK_KHR_swapchain
6033     alias PFN_vkCreateSwapchainKHR = VkResult function (
6034         VkDevice                         device,
6035         const(VkSwapchainCreateInfoKHR)* pCreateInfo,
6036         const(VkAllocationCallbacks)*    pAllocator,
6037         VkSwapchainKHR*                  pSwapchain,
6038     );
6039     alias PFN_vkDestroySwapchainKHR = void function (
6040         VkDevice                      device,
6041         VkSwapchainKHR                swapchain,
6042         const(VkAllocationCallbacks)* pAllocator,
6043     );
6044     alias PFN_vkGetSwapchainImagesKHR = VkResult function (
6045         VkDevice       device,
6046         VkSwapchainKHR swapchain,
6047         uint32_t*      pSwapchainImageCount,
6048         VkImage*       pSwapchainImages,
6049     );
6050     alias PFN_vkAcquireNextImageKHR = VkResult function (
6051         VkDevice       device,
6052         VkSwapchainKHR swapchain,
6053         uint64_t       timeout,
6054         VkSemaphore    semaphore,
6055         VkFence        fence,
6056         uint32_t*      pImageIndex,
6057     );
6058     alias PFN_vkQueuePresentKHR = VkResult function (
6059         VkQueue                  queue,
6060         const(VkPresentInfoKHR)* pPresentInfo,
6061     );
6062     alias PFN_vkGetDeviceGroupPresentCapabilitiesKHR = VkResult function (
6063         VkDevice                             device,
6064         VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities,
6065     );
6066     alias PFN_vkGetDeviceGroupSurfacePresentModesKHR = VkResult function (
6067         VkDevice                          device,
6068         VkSurfaceKHR                      surface,
6069         VkDeviceGroupPresentModeFlagsKHR* pModes,
6070     );
6071     alias PFN_vkGetPhysicalDevicePresentRectanglesKHR = VkResult function (
6072         VkPhysicalDevice physicalDevice,
6073         VkSurfaceKHR     surface,
6074         uint32_t*        pRectCount,
6075         VkRect2D*        pRects,
6076     );
6077     alias PFN_vkAcquireNextImage2KHR = VkResult function (
6078         VkDevice                          device,
6079         const(VkAcquireNextImageInfoKHR)* pAcquireInfo,
6080         uint32_t*                         pImageIndex,
6081     );
6082 
6083     // VK_KHR_display
6084     alias PFN_vkGetPhysicalDeviceDisplayPropertiesKHR = VkResult function (
6085         VkPhysicalDevice        physicalDevice,
6086         uint32_t*               pPropertyCount,
6087         VkDisplayPropertiesKHR* pProperties,
6088     );
6089     alias PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = VkResult function (
6090         VkPhysicalDevice             physicalDevice,
6091         uint32_t*                    pPropertyCount,
6092         VkDisplayPlanePropertiesKHR* pProperties,
6093     );
6094     alias PFN_vkGetDisplayPlaneSupportedDisplaysKHR = VkResult function (
6095         VkPhysicalDevice physicalDevice,
6096         uint32_t         planeIndex,
6097         uint32_t*        pDisplayCount,
6098         VkDisplayKHR*    pDisplays,
6099     );
6100     alias PFN_vkGetDisplayModePropertiesKHR = VkResult function (
6101         VkPhysicalDevice            physicalDevice,
6102         VkDisplayKHR                display,
6103         uint32_t*                   pPropertyCount,
6104         VkDisplayModePropertiesKHR* pProperties,
6105     );
6106     alias PFN_vkCreateDisplayModeKHR = VkResult function (
6107         VkPhysicalDevice                   physicalDevice,
6108         VkDisplayKHR                       display,
6109         const(VkDisplayModeCreateInfoKHR)* pCreateInfo,
6110         const(VkAllocationCallbacks)*      pAllocator,
6111         VkDisplayModeKHR*                  pMode,
6112     );
6113     alias PFN_vkGetDisplayPlaneCapabilitiesKHR = VkResult function (
6114         VkPhysicalDevice               physicalDevice,
6115         VkDisplayModeKHR               mode,
6116         uint32_t                       planeIndex,
6117         VkDisplayPlaneCapabilitiesKHR* pCapabilities,
6118     );
6119     alias PFN_vkCreateDisplayPlaneSurfaceKHR = VkResult function (
6120         VkInstance                            instance,
6121         const(VkDisplaySurfaceCreateInfoKHR)* pCreateInfo,
6122         const(VkAllocationCallbacks)*         pAllocator,
6123         VkSurfaceKHR*                         pSurface,
6124     );
6125 
6126     // VK_KHR_xcb_surface
6127     version(linux) {
6128         version(VkXcb) {
6129             alias PFN_vkCreateXcbSurfaceKHR = VkResult function (
6130                 VkInstance                        instance,
6131                 const(VkXcbSurfaceCreateInfoKHR)* pCreateInfo,
6132                 const(VkAllocationCallbacks)*     pAllocator,
6133                 VkSurfaceKHR*                     pSurface,
6134             );
6135             alias PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR = VkBool32 function (
6136                 VkPhysicalDevice  physicalDevice,
6137                 uint32_t          queueFamilyIndex,
6138                 xcb_connection_t* connection,
6139                 xcb_visualid_t    visual_id,
6140             );
6141         }
6142     }
6143 
6144     // VK_KHR_wayland_surface
6145     version(linux) {
6146         version(VkWayland) {
6147             alias PFN_vkCreateWaylandSurfaceKHR = VkResult function (
6148                 VkInstance                            instance,
6149                 const(VkWaylandSurfaceCreateInfoKHR)* pCreateInfo,
6150                 const(VkAllocationCallbacks)*         pAllocator,
6151                 VkSurfaceKHR*                         pSurface,
6152             );
6153             alias PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR = VkBool32 function (
6154                 VkPhysicalDevice physicalDevice,
6155                 uint32_t         queueFamilyIndex,
6156                 wl_display*      display,
6157             );
6158         }
6159     }
6160 
6161     // VK_KHR_win32_surface
6162     version(Windows) {
6163         alias PFN_vkCreateWin32SurfaceKHR = VkResult function (
6164             VkInstance                          instance,
6165             const(VkWin32SurfaceCreateInfoKHR)* pCreateInfo,
6166             const(VkAllocationCallbacks)*       pAllocator,
6167             VkSurfaceKHR*                       pSurface,
6168         );
6169         alias PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR = VkBool32 function (
6170             VkPhysicalDevice physicalDevice,
6171             uint32_t         queueFamilyIndex,
6172         );
6173     }
6174 
6175     // VK_EXT_debug_report
6176     alias PFN_vkCreateDebugReportCallbackEXT = VkResult function (
6177         VkInstance                                 instance,
6178         const(VkDebugReportCallbackCreateInfoEXT)* pCreateInfo,
6179         const(VkAllocationCallbacks)*              pAllocator,
6180         VkDebugReportCallbackEXT*                  pCallback,
6181     );
6182     alias PFN_vkDestroyDebugReportCallbackEXT = void function (
6183         VkInstance                    instance,
6184         VkDebugReportCallbackEXT      callback,
6185         const(VkAllocationCallbacks)* pAllocator,
6186     );
6187     alias PFN_vkDebugReportMessageEXT = void function (
6188         VkInstance                 instance,
6189         VkDebugReportFlagsEXT      flags,
6190         VkDebugReportObjectTypeEXT objectType,
6191         uint64_t                   object,
6192         size_t                     location,
6193         int32_t                    messageCode,
6194         const(char)*               pLayerPrefix,
6195         const(char)*               pMessage,
6196     );
6197 }
6198 
6199 
6200 // Global commands
6201 
6202 final class VkGlobalCmds {
6203 
6204     this (PFN_vkGetInstanceProcAddr loader) {
6205         _GetInstanceProcAddr = loader;
6206         _CreateInstance                       = cast(PFN_vkCreateInstance)                      loader(null, "vkCreateInstance");
6207         _EnumerateInstanceExtensionProperties = cast(PFN_vkEnumerateInstanceExtensionProperties)loader(null, "vkEnumerateInstanceExtensionProperties");
6208         _EnumerateInstanceLayerProperties     = cast(PFN_vkEnumerateInstanceLayerProperties)    loader(null, "vkEnumerateInstanceLayerProperties");
6209     }
6210 
6211     VkResult CreateInstance (const(VkInstanceCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkInstance* pInstance) {
6212         assert(_CreateInstance !is null, "vkCreateInstance was not loaded.");
6213         return _CreateInstance(pCreateInfo, pAllocator, pInstance);
6214     }
6215 
6216     PFN_vkVoidFunction GetInstanceProcAddr (VkInstance instance, const(char)* pName) {
6217         assert(_GetInstanceProcAddr !is null, "vkGetInstanceProcAddr was not loaded.");
6218         return _GetInstanceProcAddr(instance, pName);
6219     }
6220 
6221     VkResult EnumerateInstanceExtensionProperties (const(char)* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) {
6222         assert(_EnumerateInstanceExtensionProperties !is null, "vkEnumerateInstanceExtensionProperties was not loaded.");
6223         return _EnumerateInstanceExtensionProperties(pLayerName, pPropertyCount, pProperties);
6224     }
6225 
6226     VkResult EnumerateInstanceLayerProperties (uint32_t* pPropertyCount, VkLayerProperties* pProperties) {
6227         assert(_EnumerateInstanceLayerProperties !is null, "vkEnumerateInstanceLayerProperties was not loaded.");
6228         return _EnumerateInstanceLayerProperties(pPropertyCount, pProperties);
6229     }
6230 
6231     private PFN_vkCreateInstance                       _CreateInstance;
6232     private PFN_vkGetInstanceProcAddr                  _GetInstanceProcAddr;
6233     private PFN_vkEnumerateInstanceExtensionProperties _EnumerateInstanceExtensionProperties;
6234     private PFN_vkEnumerateInstanceLayerProperties     _EnumerateInstanceLayerProperties;
6235 }
6236 
6237 // Instance commands
6238 
6239 final class VkInstanceCmds {
6240 
6241     this (VkInstance instance, VkGlobalCmds globalCmds) {
6242         auto loader = globalCmds._GetInstanceProcAddr;
6243         // VK_VERSION_1_0
6244         _DestroyInstance                                = cast(PFN_vkDestroyInstance)                               loader(instance, "vkDestroyInstance");
6245         _EnumeratePhysicalDevices                       = cast(PFN_vkEnumeratePhysicalDevices)                      loader(instance, "vkEnumeratePhysicalDevices");
6246         _GetPhysicalDeviceFeatures                      = cast(PFN_vkGetPhysicalDeviceFeatures)                     loader(instance, "vkGetPhysicalDeviceFeatures");
6247         _GetPhysicalDeviceFormatProperties              = cast(PFN_vkGetPhysicalDeviceFormatProperties)             loader(instance, "vkGetPhysicalDeviceFormatProperties");
6248         _GetPhysicalDeviceImageFormatProperties         = cast(PFN_vkGetPhysicalDeviceImageFormatProperties)        loader(instance, "vkGetPhysicalDeviceImageFormatProperties");
6249         _GetPhysicalDeviceProperties                    = cast(PFN_vkGetPhysicalDeviceProperties)                   loader(instance, "vkGetPhysicalDeviceProperties");
6250         _GetPhysicalDeviceQueueFamilyProperties         = cast(PFN_vkGetPhysicalDeviceQueueFamilyProperties)        loader(instance, "vkGetPhysicalDeviceQueueFamilyProperties");
6251         _GetPhysicalDeviceMemoryProperties              = cast(PFN_vkGetPhysicalDeviceMemoryProperties)             loader(instance, "vkGetPhysicalDeviceMemoryProperties");
6252         _GetDeviceProcAddr                              = cast(PFN_vkGetDeviceProcAddr)                             loader(instance, "vkGetDeviceProcAddr");
6253         _CreateDevice                                   = cast(PFN_vkCreateDevice)                                  loader(instance, "vkCreateDevice");
6254         _EnumerateDeviceExtensionProperties             = cast(PFN_vkEnumerateDeviceExtensionProperties)            loader(instance, "vkEnumerateDeviceExtensionProperties");
6255         _EnumerateDeviceLayerProperties                 = cast(PFN_vkEnumerateDeviceLayerProperties)                loader(instance, "vkEnumerateDeviceLayerProperties");
6256         _GetPhysicalDeviceSparseImageFormatProperties   = cast(PFN_vkGetPhysicalDeviceSparseImageFormatProperties)  loader(instance, "vkGetPhysicalDeviceSparseImageFormatProperties");
6257 
6258         // VK_VERSION_1_1
6259         _EnumerateInstanceVersion                       = cast(PFN_vkEnumerateInstanceVersion)                      loader(instance, "vkEnumerateInstanceVersion");
6260         _EnumeratePhysicalDeviceGroups                  = cast(PFN_vkEnumeratePhysicalDeviceGroups)                 loader(instance, "vkEnumeratePhysicalDeviceGroups");
6261         _GetPhysicalDeviceFeatures2                     = cast(PFN_vkGetPhysicalDeviceFeatures2)                    loader(instance, "vkGetPhysicalDeviceFeatures2");
6262         _GetPhysicalDeviceProperties2                   = cast(PFN_vkGetPhysicalDeviceProperties2)                  loader(instance, "vkGetPhysicalDeviceProperties2");
6263         _GetPhysicalDeviceFormatProperties2             = cast(PFN_vkGetPhysicalDeviceFormatProperties2)            loader(instance, "vkGetPhysicalDeviceFormatProperties2");
6264         _GetPhysicalDeviceImageFormatProperties2        = cast(PFN_vkGetPhysicalDeviceImageFormatProperties2)       loader(instance, "vkGetPhysicalDeviceImageFormatProperties2");
6265         _GetPhysicalDeviceQueueFamilyProperties2        = cast(PFN_vkGetPhysicalDeviceQueueFamilyProperties2)       loader(instance, "vkGetPhysicalDeviceQueueFamilyProperties2");
6266         _GetPhysicalDeviceMemoryProperties2             = cast(PFN_vkGetPhysicalDeviceMemoryProperties2)            loader(instance, "vkGetPhysicalDeviceMemoryProperties2");
6267         _GetPhysicalDeviceSparseImageFormatProperties2  = cast(PFN_vkGetPhysicalDeviceSparseImageFormatProperties2) loader(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2");
6268         _GetPhysicalDeviceExternalBufferProperties      = cast(PFN_vkGetPhysicalDeviceExternalBufferProperties)     loader(instance, "vkGetPhysicalDeviceExternalBufferProperties");
6269         _GetPhysicalDeviceExternalFenceProperties       = cast(PFN_vkGetPhysicalDeviceExternalFenceProperties)      loader(instance, "vkGetPhysicalDeviceExternalFenceProperties");
6270         _GetPhysicalDeviceExternalSemaphoreProperties   = cast(PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)  loader(instance, "vkGetPhysicalDeviceExternalSemaphoreProperties");
6271 
6272         // VK_KHR_surface
6273         _DestroySurfaceKHR                              = cast(PFN_vkDestroySurfaceKHR)                             loader(instance, "vkDestroySurfaceKHR");
6274         _GetPhysicalDeviceSurfaceSupportKHR             = cast(PFN_vkGetPhysicalDeviceSurfaceSupportKHR)            loader(instance, "vkGetPhysicalDeviceSurfaceSupportKHR");
6275         _GetPhysicalDeviceSurfaceCapabilitiesKHR        = cast(PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)       loader(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
6276         _GetPhysicalDeviceSurfaceFormatsKHR             = cast(PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)            loader(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR");
6277         _GetPhysicalDeviceSurfacePresentModesKHR        = cast(PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)       loader(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR");
6278 
6279         // VK_KHR_swapchain
6280         _GetPhysicalDevicePresentRectanglesKHR          = cast(PFN_vkGetPhysicalDevicePresentRectanglesKHR)         loader(instance, "vkGetPhysicalDevicePresentRectanglesKHR");
6281 
6282         // VK_KHR_display
6283         _GetPhysicalDeviceDisplayPropertiesKHR          = cast(PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)         loader(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR");
6284         _GetPhysicalDeviceDisplayPlanePropertiesKHR     = cast(PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)    loader(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
6285         _GetDisplayPlaneSupportedDisplaysKHR            = cast(PFN_vkGetDisplayPlaneSupportedDisplaysKHR)           loader(instance, "vkGetDisplayPlaneSupportedDisplaysKHR");
6286         _GetDisplayModePropertiesKHR                    = cast(PFN_vkGetDisplayModePropertiesKHR)                   loader(instance, "vkGetDisplayModePropertiesKHR");
6287         _CreateDisplayModeKHR                           = cast(PFN_vkCreateDisplayModeKHR)                          loader(instance, "vkCreateDisplayModeKHR");
6288         _GetDisplayPlaneCapabilitiesKHR                 = cast(PFN_vkGetDisplayPlaneCapabilitiesKHR)                loader(instance, "vkGetDisplayPlaneCapabilitiesKHR");
6289         _CreateDisplayPlaneSurfaceKHR                   = cast(PFN_vkCreateDisplayPlaneSurfaceKHR)                  loader(instance, "vkCreateDisplayPlaneSurfaceKHR");
6290 
6291         // VK_KHR_xcb_surface
6292         version(linux) {
6293             version(VkXcb) {
6294                 _CreateXcbSurfaceKHR                            = cast(PFN_vkCreateXcbSurfaceKHR)                           loader(instance, "vkCreateXcbSurfaceKHR");
6295                 _GetPhysicalDeviceXcbPresentationSupportKHR     = cast(PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)    loader(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
6296             }
6297         }
6298 
6299         // VK_KHR_wayland_surface
6300         version(linux) {
6301             version(VkWayland) {
6302                 _CreateWaylandSurfaceKHR                        = cast(PFN_vkCreateWaylandSurfaceKHR)                       loader(instance, "vkCreateWaylandSurfaceKHR");
6303                 _GetPhysicalDeviceWaylandPresentationSupportKHR = cast(PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)loader(instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR");
6304             }
6305         }
6306 
6307         // VK_KHR_win32_surface
6308         version(Windows) {
6309             _CreateWin32SurfaceKHR                          = cast(PFN_vkCreateWin32SurfaceKHR)                         loader(instance, "vkCreateWin32SurfaceKHR");
6310             _GetPhysicalDeviceWin32PresentationSupportKHR   = cast(PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)  loader(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
6311         }
6312 
6313         // VK_EXT_debug_report
6314         _CreateDebugReportCallbackEXT                   = cast(PFN_vkCreateDebugReportCallbackEXT)                  loader(instance, "vkCreateDebugReportCallbackEXT");
6315         _DestroyDebugReportCallbackEXT                  = cast(PFN_vkDestroyDebugReportCallbackEXT)                 loader(instance, "vkDestroyDebugReportCallbackEXT");
6316         _DebugReportMessageEXT                          = cast(PFN_vkDebugReportMessageEXT)                         loader(instance, "vkDebugReportMessageEXT");
6317     }
6318 
6319     /// Commands for VK_VERSION_1_0
6320     void DestroyInstance (VkInstance instance, const(VkAllocationCallbacks)* pAllocator) {
6321         assert(_DestroyInstance !is null, "vkDestroyInstance was not loaded. Required by VK_VERSION_1_0");
6322         return _DestroyInstance(instance, pAllocator);
6323     }
6324     /// ditto
6325     VkResult EnumeratePhysicalDevices (VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) {
6326         assert(_EnumeratePhysicalDevices !is null, "vkEnumeratePhysicalDevices was not loaded. Required by VK_VERSION_1_0");
6327         return _EnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices);
6328     }
6329     /// ditto
6330     void GetPhysicalDeviceFeatures (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) {
6331         assert(_GetPhysicalDeviceFeatures !is null, "vkGetPhysicalDeviceFeatures was not loaded. Required by VK_VERSION_1_0");
6332         return _GetPhysicalDeviceFeatures(physicalDevice, pFeatures);
6333     }
6334     /// ditto
6335     void GetPhysicalDeviceFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) {
6336         assert(_GetPhysicalDeviceFormatProperties !is null, "vkGetPhysicalDeviceFormatProperties was not loaded. Required by VK_VERSION_1_0");
6337         return _GetPhysicalDeviceFormatProperties(physicalDevice, format, pFormatProperties);
6338     }
6339     /// ditto
6340     VkResult GetPhysicalDeviceImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) {
6341         assert(_GetPhysicalDeviceImageFormatProperties !is null, "vkGetPhysicalDeviceImageFormatProperties was not loaded. Required by VK_VERSION_1_0");
6342         return _GetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
6343     }
6344     /// ditto
6345     void GetPhysicalDeviceProperties (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) {
6346         assert(_GetPhysicalDeviceProperties !is null, "vkGetPhysicalDeviceProperties was not loaded. Required by VK_VERSION_1_0");
6347         return _GetPhysicalDeviceProperties(physicalDevice, pProperties);
6348     }
6349     /// ditto
6350     void GetPhysicalDeviceQueueFamilyProperties (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) {
6351         assert(_GetPhysicalDeviceQueueFamilyProperties !is null, "vkGetPhysicalDeviceQueueFamilyProperties was not loaded. Required by VK_VERSION_1_0");
6352         return _GetPhysicalDeviceQueueFamilyProperties(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
6353     }
6354     /// ditto
6355     void GetPhysicalDeviceMemoryProperties (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) {
6356         assert(_GetPhysicalDeviceMemoryProperties !is null, "vkGetPhysicalDeviceMemoryProperties was not loaded. Required by VK_VERSION_1_0");
6357         return _GetPhysicalDeviceMemoryProperties(physicalDevice, pMemoryProperties);
6358     }
6359     /// ditto
6360     PFN_vkVoidFunction GetDeviceProcAddr (VkDevice device, const(char)* pName) {
6361         assert(_GetDeviceProcAddr !is null, "vkGetDeviceProcAddr was not loaded. Required by VK_VERSION_1_0");
6362         return _GetDeviceProcAddr(device, pName);
6363     }
6364     /// ditto
6365     VkResult CreateDevice (VkPhysicalDevice physicalDevice, const(VkDeviceCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkDevice* pDevice) {
6366         assert(_CreateDevice !is null, "vkCreateDevice was not loaded. Required by VK_VERSION_1_0");
6367         return _CreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice);
6368     }
6369     /// ditto
6370     VkResult EnumerateDeviceExtensionProperties (VkPhysicalDevice physicalDevice, const(char)* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) {
6371         assert(_EnumerateDeviceExtensionProperties !is null, "vkEnumerateDeviceExtensionProperties was not loaded. Required by VK_VERSION_1_0");
6372         return _EnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pPropertyCount, pProperties);
6373     }
6374     /// ditto
6375     VkResult EnumerateDeviceLayerProperties (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) {
6376         assert(_EnumerateDeviceLayerProperties !is null, "vkEnumerateDeviceLayerProperties was not loaded. Required by VK_VERSION_1_0");
6377         return _EnumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties);
6378     }
6379     /// ditto
6380     void GetPhysicalDeviceSparseImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) {
6381         assert(_GetPhysicalDeviceSparseImageFormatProperties !is null, "vkGetPhysicalDeviceSparseImageFormatProperties was not loaded. Required by VK_VERSION_1_0");
6382         return _GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
6383     }
6384 
6385     /// Commands for VK_VERSION_1_1
6386     VkResult EnumerateInstanceVersion (uint32_t* pApiVersion) {
6387         assert(_EnumerateInstanceVersion !is null, "vkEnumerateInstanceVersion was not loaded. Required by VK_VERSION_1_1");
6388         return _EnumerateInstanceVersion(pApiVersion);
6389     }
6390     /// ditto
6391     VkResult EnumeratePhysicalDeviceGroups (VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties) {
6392         assert(_EnumeratePhysicalDeviceGroups !is null, "vkEnumeratePhysicalDeviceGroups was not loaded. Required by VK_VERSION_1_1");
6393         return _EnumeratePhysicalDeviceGroups(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
6394     }
6395     /// ditto
6396     void GetPhysicalDeviceFeatures2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures) {
6397         assert(_GetPhysicalDeviceFeatures2 !is null, "vkGetPhysicalDeviceFeatures2 was not loaded. Required by VK_VERSION_1_1");
6398         return _GetPhysicalDeviceFeatures2(physicalDevice, pFeatures);
6399     }
6400     /// ditto
6401     void GetPhysicalDeviceProperties2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties) {
6402         assert(_GetPhysicalDeviceProperties2 !is null, "vkGetPhysicalDeviceProperties2 was not loaded. Required by VK_VERSION_1_1");
6403         return _GetPhysicalDeviceProperties2(physicalDevice, pProperties);
6404     }
6405     /// ditto
6406     void GetPhysicalDeviceFormatProperties2 (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties) {
6407         assert(_GetPhysicalDeviceFormatProperties2 !is null, "vkGetPhysicalDeviceFormatProperties2 was not loaded. Required by VK_VERSION_1_1");
6408         return _GetPhysicalDeviceFormatProperties2(physicalDevice, format, pFormatProperties);
6409     }
6410     /// ditto
6411     VkResult GetPhysicalDeviceImageFormatProperties2 (VkPhysicalDevice physicalDevice, const(VkPhysicalDeviceImageFormatInfo2)* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties) {
6412         assert(_GetPhysicalDeviceImageFormatProperties2 !is null, "vkGetPhysicalDeviceImageFormatProperties2 was not loaded. Required by VK_VERSION_1_1");
6413         return _GetPhysicalDeviceImageFormatProperties2(physicalDevice, pImageFormatInfo, pImageFormatProperties);
6414     }
6415     /// ditto
6416     void GetPhysicalDeviceQueueFamilyProperties2 (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties) {
6417         assert(_GetPhysicalDeviceQueueFamilyProperties2 !is null, "vkGetPhysicalDeviceQueueFamilyProperties2 was not loaded. Required by VK_VERSION_1_1");
6418         return _GetPhysicalDeviceQueueFamilyProperties2(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
6419     }
6420     /// ditto
6421     void GetPhysicalDeviceMemoryProperties2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties) {
6422         assert(_GetPhysicalDeviceMemoryProperties2 !is null, "vkGetPhysicalDeviceMemoryProperties2 was not loaded. Required by VK_VERSION_1_1");
6423         return _GetPhysicalDeviceMemoryProperties2(physicalDevice, pMemoryProperties);
6424     }
6425     /// ditto
6426     void GetPhysicalDeviceSparseImageFormatProperties2 (VkPhysicalDevice physicalDevice, const(VkPhysicalDeviceSparseImageFormatInfo2)* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties) {
6427         assert(_GetPhysicalDeviceSparseImageFormatProperties2 !is null, "vkGetPhysicalDeviceSparseImageFormatProperties2 was not loaded. Required by VK_VERSION_1_1");
6428         return _GetPhysicalDeviceSparseImageFormatProperties2(physicalDevice, pFormatInfo, pPropertyCount, pProperties);
6429     }
6430     /// ditto
6431     void GetPhysicalDeviceExternalBufferProperties (VkPhysicalDevice physicalDevice, const(VkPhysicalDeviceExternalBufferInfo)* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties) {
6432         assert(_GetPhysicalDeviceExternalBufferProperties !is null, "vkGetPhysicalDeviceExternalBufferProperties was not loaded. Required by VK_VERSION_1_1");
6433         return _GetPhysicalDeviceExternalBufferProperties(physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
6434     }
6435     /// ditto
6436     void GetPhysicalDeviceExternalFenceProperties (VkPhysicalDevice physicalDevice, const(VkPhysicalDeviceExternalFenceInfo)* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties) {
6437         assert(_GetPhysicalDeviceExternalFenceProperties !is null, "vkGetPhysicalDeviceExternalFenceProperties was not loaded. Required by VK_VERSION_1_1");
6438         return _GetPhysicalDeviceExternalFenceProperties(physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
6439     }
6440     /// ditto
6441     void GetPhysicalDeviceExternalSemaphoreProperties (VkPhysicalDevice physicalDevice, const(VkPhysicalDeviceExternalSemaphoreInfo)* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties) {
6442         assert(_GetPhysicalDeviceExternalSemaphoreProperties !is null, "vkGetPhysicalDeviceExternalSemaphoreProperties was not loaded. Required by VK_VERSION_1_1");
6443         return _GetPhysicalDeviceExternalSemaphoreProperties(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
6444     }
6445 
6446     /// Commands for VK_KHR_surface
6447     void DestroySurfaceKHR (VkInstance instance, VkSurfaceKHR surface, const(VkAllocationCallbacks)* pAllocator) {
6448         assert(_DestroySurfaceKHR !is null, "vkDestroySurfaceKHR was not loaded. Required by VK_KHR_surface");
6449         return _DestroySurfaceKHR(instance, surface, pAllocator);
6450     }
6451     /// ditto
6452     VkResult GetPhysicalDeviceSurfaceSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) {
6453         assert(_GetPhysicalDeviceSurfaceSupportKHR !is null, "vkGetPhysicalDeviceSurfaceSupportKHR was not loaded. Required by VK_KHR_surface");
6454         return _GetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported);
6455     }
6456     /// ditto
6457     VkResult GetPhysicalDeviceSurfaceCapabilitiesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) {
6458         assert(_GetPhysicalDeviceSurfaceCapabilitiesKHR !is null, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR was not loaded. Required by VK_KHR_surface");
6459         return _GetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities);
6460     }
6461     /// ditto
6462     VkResult GetPhysicalDeviceSurfaceFormatsKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) {
6463         assert(_GetPhysicalDeviceSurfaceFormatsKHR !is null, "vkGetPhysicalDeviceSurfaceFormatsKHR was not loaded. Required by VK_KHR_surface");
6464         return _GetPhysicalDeviceSurfaceFormatsKHR(physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats);
6465     }
6466     /// ditto
6467     VkResult GetPhysicalDeviceSurfacePresentModesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) {
6468         assert(_GetPhysicalDeviceSurfacePresentModesKHR !is null, "vkGetPhysicalDeviceSurfacePresentModesKHR was not loaded. Required by VK_KHR_surface");
6469         return _GetPhysicalDeviceSurfacePresentModesKHR(physicalDevice, surface, pPresentModeCount, pPresentModes);
6470     }
6471 
6472     /// Commands for VK_KHR_swapchain
6473     VkResult GetPhysicalDevicePresentRectanglesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects) {
6474         assert(_GetPhysicalDevicePresentRectanglesKHR !is null, "vkGetPhysicalDevicePresentRectanglesKHR was not loaded. Required by VK_KHR_swapchain");
6475         return _GetPhysicalDevicePresentRectanglesKHR(physicalDevice, surface, pRectCount, pRects);
6476     }
6477 
6478     /// Commands for VK_KHR_display
6479     VkResult GetPhysicalDeviceDisplayPropertiesKHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties) {
6480         assert(_GetPhysicalDeviceDisplayPropertiesKHR !is null, "vkGetPhysicalDeviceDisplayPropertiesKHR was not loaded. Required by VK_KHR_display");
6481         return _GetPhysicalDeviceDisplayPropertiesKHR(physicalDevice, pPropertyCount, pProperties);
6482     }
6483     /// ditto
6484     VkResult GetPhysicalDeviceDisplayPlanePropertiesKHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties) {
6485         assert(_GetPhysicalDeviceDisplayPlanePropertiesKHR !is null, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR was not loaded. Required by VK_KHR_display");
6486         return _GetPhysicalDeviceDisplayPlanePropertiesKHR(physicalDevice, pPropertyCount, pProperties);
6487     }
6488     /// ditto
6489     VkResult GetDisplayPlaneSupportedDisplaysKHR (VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays) {
6490         assert(_GetDisplayPlaneSupportedDisplaysKHR !is null, "vkGetDisplayPlaneSupportedDisplaysKHR was not loaded. Required by VK_KHR_display");
6491         return _GetDisplayPlaneSupportedDisplaysKHR(physicalDevice, planeIndex, pDisplayCount, pDisplays);
6492     }
6493     /// ditto
6494     VkResult GetDisplayModePropertiesKHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties) {
6495         assert(_GetDisplayModePropertiesKHR !is null, "vkGetDisplayModePropertiesKHR was not loaded. Required by VK_KHR_display");
6496         return _GetDisplayModePropertiesKHR(physicalDevice, display, pPropertyCount, pProperties);
6497     }
6498     /// ditto
6499     VkResult CreateDisplayModeKHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, const(VkDisplayModeCreateInfoKHR)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkDisplayModeKHR* pMode) {
6500         assert(_CreateDisplayModeKHR !is null, "vkCreateDisplayModeKHR was not loaded. Required by VK_KHR_display");
6501         return _CreateDisplayModeKHR(physicalDevice, display, pCreateInfo, pAllocator, pMode);
6502     }
6503     /// ditto
6504     VkResult GetDisplayPlaneCapabilitiesKHR (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities) {
6505         assert(_GetDisplayPlaneCapabilitiesKHR !is null, "vkGetDisplayPlaneCapabilitiesKHR was not loaded. Required by VK_KHR_display");
6506         return _GetDisplayPlaneCapabilitiesKHR(physicalDevice, mode, planeIndex, pCapabilities);
6507     }
6508     /// ditto
6509     VkResult CreateDisplayPlaneSurfaceKHR (VkInstance instance, const(VkDisplaySurfaceCreateInfoKHR)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkSurfaceKHR* pSurface) {
6510         assert(_CreateDisplayPlaneSurfaceKHR !is null, "vkCreateDisplayPlaneSurfaceKHR was not loaded. Required by VK_KHR_display");
6511         return _CreateDisplayPlaneSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
6512     }
6513 
6514     version(linux) {
6515         version(VkXcb) {
6516             /// Commands for VK_KHR_xcb_surface
6517             VkResult CreateXcbSurfaceKHR (VkInstance instance, const(VkXcbSurfaceCreateInfoKHR)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkSurfaceKHR* pSurface) {
6518                 assert(_CreateXcbSurfaceKHR !is null, "vkCreateXcbSurfaceKHR was not loaded. Required by VK_KHR_xcb_surface");
6519                 return _CreateXcbSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
6520             }
6521             /// ditto
6522             VkBool32 GetPhysicalDeviceXcbPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id) {
6523                 assert(_GetPhysicalDeviceXcbPresentationSupportKHR !is null, "vkGetPhysicalDeviceXcbPresentationSupportKHR was not loaded. Required by VK_KHR_xcb_surface");
6524                 return _GetPhysicalDeviceXcbPresentationSupportKHR(physicalDevice, queueFamilyIndex, connection, visual_id);
6525             }
6526         }
6527     }
6528 
6529     version(linux) {
6530         version(VkWayland) {
6531             /// Commands for VK_KHR_wayland_surface
6532             VkResult CreateWaylandSurfaceKHR (VkInstance instance, const(VkWaylandSurfaceCreateInfoKHR)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkSurfaceKHR* pSurface) {
6533                 assert(_CreateWaylandSurfaceKHR !is null, "vkCreateWaylandSurfaceKHR was not loaded. Required by VK_KHR_wayland_surface");
6534                 return _CreateWaylandSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
6535             }
6536             /// ditto
6537             VkBool32 GetPhysicalDeviceWaylandPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, wl_display* display) {
6538                 assert(_GetPhysicalDeviceWaylandPresentationSupportKHR !is null, "vkGetPhysicalDeviceWaylandPresentationSupportKHR was not loaded. Required by VK_KHR_wayland_surface");
6539                 return _GetPhysicalDeviceWaylandPresentationSupportKHR(physicalDevice, queueFamilyIndex, display);
6540             }
6541         }
6542     }
6543 
6544     version(Windows) {
6545         /// Commands for VK_KHR_win32_surface
6546         VkResult CreateWin32SurfaceKHR (VkInstance instance, const(VkWin32SurfaceCreateInfoKHR)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkSurfaceKHR* pSurface) {
6547             assert(_CreateWin32SurfaceKHR !is null, "vkCreateWin32SurfaceKHR was not loaded. Required by VK_KHR_win32_surface");
6548             return _CreateWin32SurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
6549         }
6550         /// ditto
6551         VkBool32 GetPhysicalDeviceWin32PresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex) {
6552             assert(_GetPhysicalDeviceWin32PresentationSupportKHR !is null, "vkGetPhysicalDeviceWin32PresentationSupportKHR was not loaded. Required by VK_KHR_win32_surface");
6553             return _GetPhysicalDeviceWin32PresentationSupportKHR(physicalDevice, queueFamilyIndex);
6554         }
6555     }
6556 
6557     /// Commands for VK_EXT_debug_report
6558     VkResult CreateDebugReportCallbackEXT (VkInstance instance, const(VkDebugReportCallbackCreateInfoEXT)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkDebugReportCallbackEXT* pCallback) {
6559         assert(_CreateDebugReportCallbackEXT !is null, "vkCreateDebugReportCallbackEXT was not loaded. Required by VK_EXT_debug_report");
6560         return _CreateDebugReportCallbackEXT(instance, pCreateInfo, pAllocator, pCallback);
6561     }
6562     /// ditto
6563     void DestroyDebugReportCallbackEXT (VkInstance instance, VkDebugReportCallbackEXT callback, const(VkAllocationCallbacks)* pAllocator) {
6564         assert(_DestroyDebugReportCallbackEXT !is null, "vkDestroyDebugReportCallbackEXT was not loaded. Required by VK_EXT_debug_report");
6565         return _DestroyDebugReportCallbackEXT(instance, callback, pAllocator);
6566     }
6567     /// ditto
6568     void DebugReportMessageEXT (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const(char)* pLayerPrefix, const(char)* pMessage) {
6569         assert(_DebugReportMessageEXT !is null, "vkDebugReportMessageEXT was not loaded. Required by VK_EXT_debug_report");
6570         return _DebugReportMessageEXT(instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage);
6571     }
6572 
6573     // fields for VK_VERSION_1_0
6574     private PFN_vkDestroyInstance                                _DestroyInstance;
6575     private PFN_vkEnumeratePhysicalDevices                       _EnumeratePhysicalDevices;
6576     private PFN_vkGetPhysicalDeviceFeatures                      _GetPhysicalDeviceFeatures;
6577     private PFN_vkGetPhysicalDeviceFormatProperties              _GetPhysicalDeviceFormatProperties;
6578     private PFN_vkGetPhysicalDeviceImageFormatProperties         _GetPhysicalDeviceImageFormatProperties;
6579     private PFN_vkGetPhysicalDeviceProperties                    _GetPhysicalDeviceProperties;
6580     private PFN_vkGetPhysicalDeviceQueueFamilyProperties         _GetPhysicalDeviceQueueFamilyProperties;
6581     private PFN_vkGetPhysicalDeviceMemoryProperties              _GetPhysicalDeviceMemoryProperties;
6582     private PFN_vkGetDeviceProcAddr                              _GetDeviceProcAddr;
6583     private PFN_vkCreateDevice                                   _CreateDevice;
6584     private PFN_vkEnumerateDeviceExtensionProperties             _EnumerateDeviceExtensionProperties;
6585     private PFN_vkEnumerateDeviceLayerProperties                 _EnumerateDeviceLayerProperties;
6586     private PFN_vkGetPhysicalDeviceSparseImageFormatProperties   _GetPhysicalDeviceSparseImageFormatProperties;
6587 
6588     // fields for VK_VERSION_1_1
6589     private PFN_vkEnumerateInstanceVersion                       _EnumerateInstanceVersion;
6590     private PFN_vkEnumeratePhysicalDeviceGroups                  _EnumeratePhysicalDeviceGroups;
6591     private PFN_vkGetPhysicalDeviceFeatures2                     _GetPhysicalDeviceFeatures2;
6592     private PFN_vkGetPhysicalDeviceProperties2                   _GetPhysicalDeviceProperties2;
6593     private PFN_vkGetPhysicalDeviceFormatProperties2             _GetPhysicalDeviceFormatProperties2;
6594     private PFN_vkGetPhysicalDeviceImageFormatProperties2        _GetPhysicalDeviceImageFormatProperties2;
6595     private PFN_vkGetPhysicalDeviceQueueFamilyProperties2        _GetPhysicalDeviceQueueFamilyProperties2;
6596     private PFN_vkGetPhysicalDeviceMemoryProperties2             _GetPhysicalDeviceMemoryProperties2;
6597     private PFN_vkGetPhysicalDeviceSparseImageFormatProperties2  _GetPhysicalDeviceSparseImageFormatProperties2;
6598     private PFN_vkGetPhysicalDeviceExternalBufferProperties      _GetPhysicalDeviceExternalBufferProperties;
6599     private PFN_vkGetPhysicalDeviceExternalFenceProperties       _GetPhysicalDeviceExternalFenceProperties;
6600     private PFN_vkGetPhysicalDeviceExternalSemaphoreProperties   _GetPhysicalDeviceExternalSemaphoreProperties;
6601 
6602     // fields for VK_KHR_surface
6603     private PFN_vkDestroySurfaceKHR                              _DestroySurfaceKHR;
6604     private PFN_vkGetPhysicalDeviceSurfaceSupportKHR             _GetPhysicalDeviceSurfaceSupportKHR;
6605     private PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR        _GetPhysicalDeviceSurfaceCapabilitiesKHR;
6606     private PFN_vkGetPhysicalDeviceSurfaceFormatsKHR             _GetPhysicalDeviceSurfaceFormatsKHR;
6607     private PFN_vkGetPhysicalDeviceSurfacePresentModesKHR        _GetPhysicalDeviceSurfacePresentModesKHR;
6608 
6609     // fields for VK_KHR_swapchain
6610     private PFN_vkGetPhysicalDevicePresentRectanglesKHR          _GetPhysicalDevicePresentRectanglesKHR;
6611 
6612     // fields for VK_KHR_display
6613     private PFN_vkGetPhysicalDeviceDisplayPropertiesKHR          _GetPhysicalDeviceDisplayPropertiesKHR;
6614     private PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR     _GetPhysicalDeviceDisplayPlanePropertiesKHR;
6615     private PFN_vkGetDisplayPlaneSupportedDisplaysKHR            _GetDisplayPlaneSupportedDisplaysKHR;
6616     private PFN_vkGetDisplayModePropertiesKHR                    _GetDisplayModePropertiesKHR;
6617     private PFN_vkCreateDisplayModeKHR                           _CreateDisplayModeKHR;
6618     private PFN_vkGetDisplayPlaneCapabilitiesKHR                 _GetDisplayPlaneCapabilitiesKHR;
6619     private PFN_vkCreateDisplayPlaneSurfaceKHR                   _CreateDisplayPlaneSurfaceKHR;
6620 
6621     // fields for VK_KHR_xcb_surface
6622     version(linux) {
6623         version(VkXcb) {
6624             private PFN_vkCreateXcbSurfaceKHR                            _CreateXcbSurfaceKHR;
6625             private PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR     _GetPhysicalDeviceXcbPresentationSupportKHR;
6626         }
6627     }
6628 
6629     // fields for VK_KHR_wayland_surface
6630     version(linux) {
6631         version(VkWayland) {
6632             private PFN_vkCreateWaylandSurfaceKHR                        _CreateWaylandSurfaceKHR;
6633             private PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR _GetPhysicalDeviceWaylandPresentationSupportKHR;
6634         }
6635     }
6636 
6637     // fields for VK_KHR_win32_surface
6638     version(Windows) {
6639         private PFN_vkCreateWin32SurfaceKHR                          _CreateWin32SurfaceKHR;
6640         private PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR   _GetPhysicalDeviceWin32PresentationSupportKHR;
6641     }
6642 
6643     // fields for VK_EXT_debug_report
6644     private PFN_vkCreateDebugReportCallbackEXT                   _CreateDebugReportCallbackEXT;
6645     private PFN_vkDestroyDebugReportCallbackEXT                  _DestroyDebugReportCallbackEXT;
6646     private PFN_vkDebugReportMessageEXT                          _DebugReportMessageEXT;
6647 }
6648 
6649 // Device commands
6650 
6651 final class VkDeviceCmds {
6652 
6653     this (VkDevice device, VkInstanceCmds instanceCmds) {
6654         auto loader = instanceCmds._GetDeviceProcAddr;
6655         // VK_VERSION_1_0
6656         _DestroyDevice                        = cast(PFN_vkDestroyDevice)                       loader(device, "vkDestroyDevice");
6657         _GetDeviceQueue                       = cast(PFN_vkGetDeviceQueue)                      loader(device, "vkGetDeviceQueue");
6658         _QueueSubmit                          = cast(PFN_vkQueueSubmit)                         loader(device, "vkQueueSubmit");
6659         _QueueWaitIdle                        = cast(PFN_vkQueueWaitIdle)                       loader(device, "vkQueueWaitIdle");
6660         _DeviceWaitIdle                       = cast(PFN_vkDeviceWaitIdle)                      loader(device, "vkDeviceWaitIdle");
6661         _AllocateMemory                       = cast(PFN_vkAllocateMemory)                      loader(device, "vkAllocateMemory");
6662         _FreeMemory                           = cast(PFN_vkFreeMemory)                          loader(device, "vkFreeMemory");
6663         _MapMemory                            = cast(PFN_vkMapMemory)                           loader(device, "vkMapMemory");
6664         _UnmapMemory                          = cast(PFN_vkUnmapMemory)                         loader(device, "vkUnmapMemory");
6665         _FlushMappedMemoryRanges              = cast(PFN_vkFlushMappedMemoryRanges)             loader(device, "vkFlushMappedMemoryRanges");
6666         _InvalidateMappedMemoryRanges         = cast(PFN_vkInvalidateMappedMemoryRanges)        loader(device, "vkInvalidateMappedMemoryRanges");
6667         _GetDeviceMemoryCommitment            = cast(PFN_vkGetDeviceMemoryCommitment)           loader(device, "vkGetDeviceMemoryCommitment");
6668         _BindBufferMemory                     = cast(PFN_vkBindBufferMemory)                    loader(device, "vkBindBufferMemory");
6669         _BindImageMemory                      = cast(PFN_vkBindImageMemory)                     loader(device, "vkBindImageMemory");
6670         _GetBufferMemoryRequirements          = cast(PFN_vkGetBufferMemoryRequirements)         loader(device, "vkGetBufferMemoryRequirements");
6671         _GetImageMemoryRequirements           = cast(PFN_vkGetImageMemoryRequirements)          loader(device, "vkGetImageMemoryRequirements");
6672         _GetImageSparseMemoryRequirements     = cast(PFN_vkGetImageSparseMemoryRequirements)    loader(device, "vkGetImageSparseMemoryRequirements");
6673         _QueueBindSparse                      = cast(PFN_vkQueueBindSparse)                     loader(device, "vkQueueBindSparse");
6674         _CreateFence                          = cast(PFN_vkCreateFence)                         loader(device, "vkCreateFence");
6675         _DestroyFence                         = cast(PFN_vkDestroyFence)                        loader(device, "vkDestroyFence");
6676         _ResetFences                          = cast(PFN_vkResetFences)                         loader(device, "vkResetFences");
6677         _GetFenceStatus                       = cast(PFN_vkGetFenceStatus)                      loader(device, "vkGetFenceStatus");
6678         _WaitForFences                        = cast(PFN_vkWaitForFences)                       loader(device, "vkWaitForFences");
6679         _CreateSemaphore                      = cast(PFN_vkCreateSemaphore)                     loader(device, "vkCreateSemaphore");
6680         _DestroySemaphore                     = cast(PFN_vkDestroySemaphore)                    loader(device, "vkDestroySemaphore");
6681         _CreateEvent                          = cast(PFN_vkCreateEvent)                         loader(device, "vkCreateEvent");
6682         _DestroyEvent                         = cast(PFN_vkDestroyEvent)                        loader(device, "vkDestroyEvent");
6683         _GetEventStatus                       = cast(PFN_vkGetEventStatus)                      loader(device, "vkGetEventStatus");
6684         _SetEvent                             = cast(PFN_vkSetEvent)                            loader(device, "vkSetEvent");
6685         _ResetEvent                           = cast(PFN_vkResetEvent)                          loader(device, "vkResetEvent");
6686         _CreateQueryPool                      = cast(PFN_vkCreateQueryPool)                     loader(device, "vkCreateQueryPool");
6687         _DestroyQueryPool                     = cast(PFN_vkDestroyQueryPool)                    loader(device, "vkDestroyQueryPool");
6688         _GetQueryPoolResults                  = cast(PFN_vkGetQueryPoolResults)                 loader(device, "vkGetQueryPoolResults");
6689         _CreateBuffer                         = cast(PFN_vkCreateBuffer)                        loader(device, "vkCreateBuffer");
6690         _DestroyBuffer                        = cast(PFN_vkDestroyBuffer)                       loader(device, "vkDestroyBuffer");
6691         _CreateBufferView                     = cast(PFN_vkCreateBufferView)                    loader(device, "vkCreateBufferView");
6692         _DestroyBufferView                    = cast(PFN_vkDestroyBufferView)                   loader(device, "vkDestroyBufferView");
6693         _CreateImage                          = cast(PFN_vkCreateImage)                         loader(device, "vkCreateImage");
6694         _DestroyImage                         = cast(PFN_vkDestroyImage)                        loader(device, "vkDestroyImage");
6695         _GetImageSubresourceLayout            = cast(PFN_vkGetImageSubresourceLayout)           loader(device, "vkGetImageSubresourceLayout");
6696         _CreateImageView                      = cast(PFN_vkCreateImageView)                     loader(device, "vkCreateImageView");
6697         _DestroyImageView                     = cast(PFN_vkDestroyImageView)                    loader(device, "vkDestroyImageView");
6698         _CreateShaderModule                   = cast(PFN_vkCreateShaderModule)                  loader(device, "vkCreateShaderModule");
6699         _DestroyShaderModule                  = cast(PFN_vkDestroyShaderModule)                 loader(device, "vkDestroyShaderModule");
6700         _CreatePipelineCache                  = cast(PFN_vkCreatePipelineCache)                 loader(device, "vkCreatePipelineCache");
6701         _DestroyPipelineCache                 = cast(PFN_vkDestroyPipelineCache)                loader(device, "vkDestroyPipelineCache");
6702         _GetPipelineCacheData                 = cast(PFN_vkGetPipelineCacheData)                loader(device, "vkGetPipelineCacheData");
6703         _MergePipelineCaches                  = cast(PFN_vkMergePipelineCaches)                 loader(device, "vkMergePipelineCaches");
6704         _CreateGraphicsPipelines              = cast(PFN_vkCreateGraphicsPipelines)             loader(device, "vkCreateGraphicsPipelines");
6705         _CreateComputePipelines               = cast(PFN_vkCreateComputePipelines)              loader(device, "vkCreateComputePipelines");
6706         _DestroyPipeline                      = cast(PFN_vkDestroyPipeline)                     loader(device, "vkDestroyPipeline");
6707         _CreatePipelineLayout                 = cast(PFN_vkCreatePipelineLayout)                loader(device, "vkCreatePipelineLayout");
6708         _DestroyPipelineLayout                = cast(PFN_vkDestroyPipelineLayout)               loader(device, "vkDestroyPipelineLayout");
6709         _CreateSampler                        = cast(PFN_vkCreateSampler)                       loader(device, "vkCreateSampler");
6710         _DestroySampler                       = cast(PFN_vkDestroySampler)                      loader(device, "vkDestroySampler");
6711         _CreateDescriptorSetLayout            = cast(PFN_vkCreateDescriptorSetLayout)           loader(device, "vkCreateDescriptorSetLayout");
6712         _DestroyDescriptorSetLayout           = cast(PFN_vkDestroyDescriptorSetLayout)          loader(device, "vkDestroyDescriptorSetLayout");
6713         _CreateDescriptorPool                 = cast(PFN_vkCreateDescriptorPool)                loader(device, "vkCreateDescriptorPool");
6714         _DestroyDescriptorPool                = cast(PFN_vkDestroyDescriptorPool)               loader(device, "vkDestroyDescriptorPool");
6715         _ResetDescriptorPool                  = cast(PFN_vkResetDescriptorPool)                 loader(device, "vkResetDescriptorPool");
6716         _AllocateDescriptorSets               = cast(PFN_vkAllocateDescriptorSets)              loader(device, "vkAllocateDescriptorSets");
6717         _FreeDescriptorSets                   = cast(PFN_vkFreeDescriptorSets)                  loader(device, "vkFreeDescriptorSets");
6718         _UpdateDescriptorSets                 = cast(PFN_vkUpdateDescriptorSets)                loader(device, "vkUpdateDescriptorSets");
6719         _CreateFramebuffer                    = cast(PFN_vkCreateFramebuffer)                   loader(device, "vkCreateFramebuffer");
6720         _DestroyFramebuffer                   = cast(PFN_vkDestroyFramebuffer)                  loader(device, "vkDestroyFramebuffer");
6721         _CreateRenderPass                     = cast(PFN_vkCreateRenderPass)                    loader(device, "vkCreateRenderPass");
6722         _DestroyRenderPass                    = cast(PFN_vkDestroyRenderPass)                   loader(device, "vkDestroyRenderPass");
6723         _GetRenderAreaGranularity             = cast(PFN_vkGetRenderAreaGranularity)            loader(device, "vkGetRenderAreaGranularity");
6724         _CreateCommandPool                    = cast(PFN_vkCreateCommandPool)                   loader(device, "vkCreateCommandPool");
6725         _DestroyCommandPool                   = cast(PFN_vkDestroyCommandPool)                  loader(device, "vkDestroyCommandPool");
6726         _ResetCommandPool                     = cast(PFN_vkResetCommandPool)                    loader(device, "vkResetCommandPool");
6727         _AllocateCommandBuffers               = cast(PFN_vkAllocateCommandBuffers)              loader(device, "vkAllocateCommandBuffers");
6728         _FreeCommandBuffers                   = cast(PFN_vkFreeCommandBuffers)                  loader(device, "vkFreeCommandBuffers");
6729         _BeginCommandBuffer                   = cast(PFN_vkBeginCommandBuffer)                  loader(device, "vkBeginCommandBuffer");
6730         _EndCommandBuffer                     = cast(PFN_vkEndCommandBuffer)                    loader(device, "vkEndCommandBuffer");
6731         _ResetCommandBuffer                   = cast(PFN_vkResetCommandBuffer)                  loader(device, "vkResetCommandBuffer");
6732         _CmdBindPipeline                      = cast(PFN_vkCmdBindPipeline)                     loader(device, "vkCmdBindPipeline");
6733         _CmdSetViewport                       = cast(PFN_vkCmdSetViewport)                      loader(device, "vkCmdSetViewport");
6734         _CmdSetScissor                        = cast(PFN_vkCmdSetScissor)                       loader(device, "vkCmdSetScissor");
6735         _CmdSetLineWidth                      = cast(PFN_vkCmdSetLineWidth)                     loader(device, "vkCmdSetLineWidth");
6736         _CmdSetDepthBias                      = cast(PFN_vkCmdSetDepthBias)                     loader(device, "vkCmdSetDepthBias");
6737         _CmdSetBlendConstants                 = cast(PFN_vkCmdSetBlendConstants)                loader(device, "vkCmdSetBlendConstants");
6738         _CmdSetDepthBounds                    = cast(PFN_vkCmdSetDepthBounds)                   loader(device, "vkCmdSetDepthBounds");
6739         _CmdSetStencilCompareMask             = cast(PFN_vkCmdSetStencilCompareMask)            loader(device, "vkCmdSetStencilCompareMask");
6740         _CmdSetStencilWriteMask               = cast(PFN_vkCmdSetStencilWriteMask)              loader(device, "vkCmdSetStencilWriteMask");
6741         _CmdSetStencilReference               = cast(PFN_vkCmdSetStencilReference)              loader(device, "vkCmdSetStencilReference");
6742         _CmdBindDescriptorSets                = cast(PFN_vkCmdBindDescriptorSets)               loader(device, "vkCmdBindDescriptorSets");
6743         _CmdBindIndexBuffer                   = cast(PFN_vkCmdBindIndexBuffer)                  loader(device, "vkCmdBindIndexBuffer");
6744         _CmdBindVertexBuffers                 = cast(PFN_vkCmdBindVertexBuffers)                loader(device, "vkCmdBindVertexBuffers");
6745         _CmdDraw                              = cast(PFN_vkCmdDraw)                             loader(device, "vkCmdDraw");
6746         _CmdDrawIndexed                       = cast(PFN_vkCmdDrawIndexed)                      loader(device, "vkCmdDrawIndexed");
6747         _CmdDrawIndirect                      = cast(PFN_vkCmdDrawIndirect)                     loader(device, "vkCmdDrawIndirect");
6748         _CmdDrawIndexedIndirect               = cast(PFN_vkCmdDrawIndexedIndirect)              loader(device, "vkCmdDrawIndexedIndirect");
6749         _CmdDispatch                          = cast(PFN_vkCmdDispatch)                         loader(device, "vkCmdDispatch");
6750         _CmdDispatchIndirect                  = cast(PFN_vkCmdDispatchIndirect)                 loader(device, "vkCmdDispatchIndirect");
6751         _CmdCopyBuffer                        = cast(PFN_vkCmdCopyBuffer)                       loader(device, "vkCmdCopyBuffer");
6752         _CmdCopyImage                         = cast(PFN_vkCmdCopyImage)                        loader(device, "vkCmdCopyImage");
6753         _CmdBlitImage                         = cast(PFN_vkCmdBlitImage)                        loader(device, "vkCmdBlitImage");
6754         _CmdCopyBufferToImage                 = cast(PFN_vkCmdCopyBufferToImage)                loader(device, "vkCmdCopyBufferToImage");
6755         _CmdCopyImageToBuffer                 = cast(PFN_vkCmdCopyImageToBuffer)                loader(device, "vkCmdCopyImageToBuffer");
6756         _CmdUpdateBuffer                      = cast(PFN_vkCmdUpdateBuffer)                     loader(device, "vkCmdUpdateBuffer");
6757         _CmdFillBuffer                        = cast(PFN_vkCmdFillBuffer)                       loader(device, "vkCmdFillBuffer");
6758         _CmdClearColorImage                   = cast(PFN_vkCmdClearColorImage)                  loader(device, "vkCmdClearColorImage");
6759         _CmdClearDepthStencilImage            = cast(PFN_vkCmdClearDepthStencilImage)           loader(device, "vkCmdClearDepthStencilImage");
6760         _CmdClearAttachments                  = cast(PFN_vkCmdClearAttachments)                 loader(device, "vkCmdClearAttachments");
6761         _CmdResolveImage                      = cast(PFN_vkCmdResolveImage)                     loader(device, "vkCmdResolveImage");
6762         _CmdSetEvent                          = cast(PFN_vkCmdSetEvent)                         loader(device, "vkCmdSetEvent");
6763         _CmdResetEvent                        = cast(PFN_vkCmdResetEvent)                       loader(device, "vkCmdResetEvent");
6764         _CmdWaitEvents                        = cast(PFN_vkCmdWaitEvents)                       loader(device, "vkCmdWaitEvents");
6765         _CmdPipelineBarrier                   = cast(PFN_vkCmdPipelineBarrier)                  loader(device, "vkCmdPipelineBarrier");
6766         _CmdBeginQuery                        = cast(PFN_vkCmdBeginQuery)                       loader(device, "vkCmdBeginQuery");
6767         _CmdEndQuery                          = cast(PFN_vkCmdEndQuery)                         loader(device, "vkCmdEndQuery");
6768         _CmdResetQueryPool                    = cast(PFN_vkCmdResetQueryPool)                   loader(device, "vkCmdResetQueryPool");
6769         _CmdWriteTimestamp                    = cast(PFN_vkCmdWriteTimestamp)                   loader(device, "vkCmdWriteTimestamp");
6770         _CmdCopyQueryPoolResults              = cast(PFN_vkCmdCopyQueryPoolResults)             loader(device, "vkCmdCopyQueryPoolResults");
6771         _CmdPushConstants                     = cast(PFN_vkCmdPushConstants)                    loader(device, "vkCmdPushConstants");
6772         _CmdBeginRenderPass                   = cast(PFN_vkCmdBeginRenderPass)                  loader(device, "vkCmdBeginRenderPass");
6773         _CmdNextSubpass                       = cast(PFN_vkCmdNextSubpass)                      loader(device, "vkCmdNextSubpass");
6774         _CmdEndRenderPass                     = cast(PFN_vkCmdEndRenderPass)                    loader(device, "vkCmdEndRenderPass");
6775         _CmdExecuteCommands                   = cast(PFN_vkCmdExecuteCommands)                  loader(device, "vkCmdExecuteCommands");
6776 
6777         // VK_VERSION_1_1
6778         _BindBufferMemory2                    = cast(PFN_vkBindBufferMemory2)                   loader(device, "vkBindBufferMemory2");
6779         _BindImageMemory2                     = cast(PFN_vkBindImageMemory2)                    loader(device, "vkBindImageMemory2");
6780         _GetDeviceGroupPeerMemoryFeatures     = cast(PFN_vkGetDeviceGroupPeerMemoryFeatures)    loader(device, "vkGetDeviceGroupPeerMemoryFeatures");
6781         _CmdSetDeviceMask                     = cast(PFN_vkCmdSetDeviceMask)                    loader(device, "vkCmdSetDeviceMask");
6782         _CmdDispatchBase                      = cast(PFN_vkCmdDispatchBase)                     loader(device, "vkCmdDispatchBase");
6783         _GetImageMemoryRequirements2          = cast(PFN_vkGetImageMemoryRequirements2)         loader(device, "vkGetImageMemoryRequirements2");
6784         _GetBufferMemoryRequirements2         = cast(PFN_vkGetBufferMemoryRequirements2)        loader(device, "vkGetBufferMemoryRequirements2");
6785         _GetImageSparseMemoryRequirements2    = cast(PFN_vkGetImageSparseMemoryRequirements2)   loader(device, "vkGetImageSparseMemoryRequirements2");
6786         _TrimCommandPool                      = cast(PFN_vkTrimCommandPool)                     loader(device, "vkTrimCommandPool");
6787         _GetDeviceQueue2                      = cast(PFN_vkGetDeviceQueue2)                     loader(device, "vkGetDeviceQueue2");
6788         _CreateSamplerYcbcrConversion         = cast(PFN_vkCreateSamplerYcbcrConversion)        loader(device, "vkCreateSamplerYcbcrConversion");
6789         _DestroySamplerYcbcrConversion        = cast(PFN_vkDestroySamplerYcbcrConversion)       loader(device, "vkDestroySamplerYcbcrConversion");
6790         _CreateDescriptorUpdateTemplate       = cast(PFN_vkCreateDescriptorUpdateTemplate)      loader(device, "vkCreateDescriptorUpdateTemplate");
6791         _DestroyDescriptorUpdateTemplate      = cast(PFN_vkDestroyDescriptorUpdateTemplate)     loader(device, "vkDestroyDescriptorUpdateTemplate");
6792         _UpdateDescriptorSetWithTemplate      = cast(PFN_vkUpdateDescriptorSetWithTemplate)     loader(device, "vkUpdateDescriptorSetWithTemplate");
6793         _GetDescriptorSetLayoutSupport        = cast(PFN_vkGetDescriptorSetLayoutSupport)       loader(device, "vkGetDescriptorSetLayoutSupport");
6794 
6795         // VK_KHR_swapchain
6796         _CreateSwapchainKHR                   = cast(PFN_vkCreateSwapchainKHR)                  loader(device, "vkCreateSwapchainKHR");
6797         _DestroySwapchainKHR                  = cast(PFN_vkDestroySwapchainKHR)                 loader(device, "vkDestroySwapchainKHR");
6798         _GetSwapchainImagesKHR                = cast(PFN_vkGetSwapchainImagesKHR)               loader(device, "vkGetSwapchainImagesKHR");
6799         _AcquireNextImageKHR                  = cast(PFN_vkAcquireNextImageKHR)                 loader(device, "vkAcquireNextImageKHR");
6800         _QueuePresentKHR                      = cast(PFN_vkQueuePresentKHR)                     loader(device, "vkQueuePresentKHR");
6801         _GetDeviceGroupPresentCapabilitiesKHR = cast(PFN_vkGetDeviceGroupPresentCapabilitiesKHR)loader(device, "vkGetDeviceGroupPresentCapabilitiesKHR");
6802         _GetDeviceGroupSurfacePresentModesKHR = cast(PFN_vkGetDeviceGroupSurfacePresentModesKHR)loader(device, "vkGetDeviceGroupSurfacePresentModesKHR");
6803         _AcquireNextImage2KHR                 = cast(PFN_vkAcquireNextImage2KHR)                loader(device, "vkAcquireNextImage2KHR");
6804     }
6805 
6806     /// Commands for VK_VERSION_1_0
6807     void DestroyDevice (VkDevice device, const(VkAllocationCallbacks)* pAllocator) {
6808         assert(_DestroyDevice !is null, "vkDestroyDevice was not loaded. Requested by VK_VERSION_1_0");
6809         return _DestroyDevice(device, pAllocator);
6810     }
6811     /// ditto
6812     void GetDeviceQueue (VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) {
6813         assert(_GetDeviceQueue !is null, "vkGetDeviceQueue was not loaded. Requested by VK_VERSION_1_0");
6814         return _GetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);
6815     }
6816     /// ditto
6817     VkResult QueueSubmit (VkQueue queue, uint32_t submitCount, const(VkSubmitInfo)* pSubmits, VkFence fence) {
6818         assert(_QueueSubmit !is null, "vkQueueSubmit was not loaded. Requested by VK_VERSION_1_0");
6819         return _QueueSubmit(queue, submitCount, pSubmits, fence);
6820     }
6821     /// ditto
6822     VkResult QueueWaitIdle (VkQueue queue) {
6823         assert(_QueueWaitIdle !is null, "vkQueueWaitIdle was not loaded. Requested by VK_VERSION_1_0");
6824         return _QueueWaitIdle(queue);
6825     }
6826     /// ditto
6827     VkResult DeviceWaitIdle (VkDevice device) {
6828         assert(_DeviceWaitIdle !is null, "vkDeviceWaitIdle was not loaded. Requested by VK_VERSION_1_0");
6829         return _DeviceWaitIdle(device);
6830     }
6831     /// ditto
6832     VkResult AllocateMemory (VkDevice device, const(VkMemoryAllocateInfo)* pAllocateInfo, const(VkAllocationCallbacks)* pAllocator, VkDeviceMemory* pMemory) {
6833         assert(_AllocateMemory !is null, "vkAllocateMemory was not loaded. Requested by VK_VERSION_1_0");
6834         return _AllocateMemory(device, pAllocateInfo, pAllocator, pMemory);
6835     }
6836     /// ditto
6837     void FreeMemory (VkDevice device, VkDeviceMemory memory, const(VkAllocationCallbacks)* pAllocator) {
6838         assert(_FreeMemory !is null, "vkFreeMemory was not loaded. Requested by VK_VERSION_1_0");
6839         return _FreeMemory(device, memory, pAllocator);
6840     }
6841     /// ditto
6842     VkResult MapMemory (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) {
6843         assert(_MapMemory !is null, "vkMapMemory was not loaded. Requested by VK_VERSION_1_0");
6844         return _MapMemory(device, memory, offset, size, flags, ppData);
6845     }
6846     /// ditto
6847     void UnmapMemory (VkDevice device, VkDeviceMemory memory) {
6848         assert(_UnmapMemory !is null, "vkUnmapMemory was not loaded. Requested by VK_VERSION_1_0");
6849         return _UnmapMemory(device, memory);
6850     }
6851     /// ditto
6852     VkResult FlushMappedMemoryRanges (VkDevice device, uint32_t memoryRangeCount, const(VkMappedMemoryRange)* pMemoryRanges) {
6853         assert(_FlushMappedMemoryRanges !is null, "vkFlushMappedMemoryRanges was not loaded. Requested by VK_VERSION_1_0");
6854         return _FlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
6855     }
6856     /// ditto
6857     VkResult InvalidateMappedMemoryRanges (VkDevice device, uint32_t memoryRangeCount, const(VkMappedMemoryRange)* pMemoryRanges) {
6858         assert(_InvalidateMappedMemoryRanges !is null, "vkInvalidateMappedMemoryRanges was not loaded. Requested by VK_VERSION_1_0");
6859         return _InvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
6860     }
6861     /// ditto
6862     void GetDeviceMemoryCommitment (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) {
6863         assert(_GetDeviceMemoryCommitment !is null, "vkGetDeviceMemoryCommitment was not loaded. Requested by VK_VERSION_1_0");
6864         return _GetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
6865     }
6866     /// ditto
6867     VkResult BindBufferMemory (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) {
6868         assert(_BindBufferMemory !is null, "vkBindBufferMemory was not loaded. Requested by VK_VERSION_1_0");
6869         return _BindBufferMemory(device, buffer, memory, memoryOffset);
6870     }
6871     /// ditto
6872     VkResult BindImageMemory (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) {
6873         assert(_BindImageMemory !is null, "vkBindImageMemory was not loaded. Requested by VK_VERSION_1_0");
6874         return _BindImageMemory(device, image, memory, memoryOffset);
6875     }
6876     /// ditto
6877     void GetBufferMemoryRequirements (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) {
6878         assert(_GetBufferMemoryRequirements !is null, "vkGetBufferMemoryRequirements was not loaded. Requested by VK_VERSION_1_0");
6879         return _GetBufferMemoryRequirements(device, buffer, pMemoryRequirements);
6880     }
6881     /// ditto
6882     void GetImageMemoryRequirements (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) {
6883         assert(_GetImageMemoryRequirements !is null, "vkGetImageMemoryRequirements was not loaded. Requested by VK_VERSION_1_0");
6884         return _GetImageMemoryRequirements(device, image, pMemoryRequirements);
6885     }
6886     /// ditto
6887     void GetImageSparseMemoryRequirements (VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) {
6888         assert(_GetImageSparseMemoryRequirements !is null, "vkGetImageSparseMemoryRequirements was not loaded. Requested by VK_VERSION_1_0");
6889         return _GetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
6890     }
6891     /// ditto
6892     VkResult QueueBindSparse (VkQueue queue, uint32_t bindInfoCount, const(VkBindSparseInfo)* pBindInfo, VkFence fence) {
6893         assert(_QueueBindSparse !is null, "vkQueueBindSparse was not loaded. Requested by VK_VERSION_1_0");
6894         return _QueueBindSparse(queue, bindInfoCount, pBindInfo, fence);
6895     }
6896     /// ditto
6897     VkResult CreateFence (VkDevice device, const(VkFenceCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkFence* pFence) {
6898         assert(_CreateFence !is null, "vkCreateFence was not loaded. Requested by VK_VERSION_1_0");
6899         return _CreateFence(device, pCreateInfo, pAllocator, pFence);
6900     }
6901     /// ditto
6902     void DestroyFence (VkDevice device, VkFence fence, const(VkAllocationCallbacks)* pAllocator) {
6903         assert(_DestroyFence !is null, "vkDestroyFence was not loaded. Requested by VK_VERSION_1_0");
6904         return _DestroyFence(device, fence, pAllocator);
6905     }
6906     /// ditto
6907     VkResult ResetFences (VkDevice device, uint32_t fenceCount, const(VkFence)* pFences) {
6908         assert(_ResetFences !is null, "vkResetFences was not loaded. Requested by VK_VERSION_1_0");
6909         return _ResetFences(device, fenceCount, pFences);
6910     }
6911     /// ditto
6912     VkResult GetFenceStatus (VkDevice device, VkFence fence) {
6913         assert(_GetFenceStatus !is null, "vkGetFenceStatus was not loaded. Requested by VK_VERSION_1_0");
6914         return _GetFenceStatus(device, fence);
6915     }
6916     /// ditto
6917     VkResult WaitForFences (VkDevice device, uint32_t fenceCount, const(VkFence)* pFences, VkBool32 waitAll, uint64_t timeout) {
6918         assert(_WaitForFences !is null, "vkWaitForFences was not loaded. Requested by VK_VERSION_1_0");
6919         return _WaitForFences(device, fenceCount, pFences, waitAll, timeout);
6920     }
6921     /// ditto
6922     VkResult CreateSemaphore (VkDevice device, const(VkSemaphoreCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkSemaphore* pSemaphore) {
6923         assert(_CreateSemaphore !is null, "vkCreateSemaphore was not loaded. Requested by VK_VERSION_1_0");
6924         return _CreateSemaphore(device, pCreateInfo, pAllocator, pSemaphore);
6925     }
6926     /// ditto
6927     void DestroySemaphore (VkDevice device, VkSemaphore semaphore, const(VkAllocationCallbacks)* pAllocator) {
6928         assert(_DestroySemaphore !is null, "vkDestroySemaphore was not loaded. Requested by VK_VERSION_1_0");
6929         return _DestroySemaphore(device, semaphore, pAllocator);
6930     }
6931     /// ditto
6932     VkResult CreateEvent (VkDevice device, const(VkEventCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkEvent* pEvent) {
6933         assert(_CreateEvent !is null, "vkCreateEvent was not loaded. Requested by VK_VERSION_1_0");
6934         return _CreateEvent(device, pCreateInfo, pAllocator, pEvent);
6935     }
6936     /// ditto
6937     void DestroyEvent (VkDevice device, VkEvent event, const(VkAllocationCallbacks)* pAllocator) {
6938         assert(_DestroyEvent !is null, "vkDestroyEvent was not loaded. Requested by VK_VERSION_1_0");
6939         return _DestroyEvent(device, event, pAllocator);
6940     }
6941     /// ditto
6942     VkResult GetEventStatus (VkDevice device, VkEvent event) {
6943         assert(_GetEventStatus !is null, "vkGetEventStatus was not loaded. Requested by VK_VERSION_1_0");
6944         return _GetEventStatus(device, event);
6945     }
6946     /// ditto
6947     VkResult SetEvent (VkDevice device, VkEvent event) {
6948         assert(_SetEvent !is null, "vkSetEvent was not loaded. Requested by VK_VERSION_1_0");
6949         return _SetEvent(device, event);
6950     }
6951     /// ditto
6952     VkResult ResetEvent (VkDevice device, VkEvent event) {
6953         assert(_ResetEvent !is null, "vkResetEvent was not loaded. Requested by VK_VERSION_1_0");
6954         return _ResetEvent(device, event);
6955     }
6956     /// ditto
6957     VkResult CreateQueryPool (VkDevice device, const(VkQueryPoolCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkQueryPool* pQueryPool) {
6958         assert(_CreateQueryPool !is null, "vkCreateQueryPool was not loaded. Requested by VK_VERSION_1_0");
6959         return _CreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool);
6960     }
6961     /// ditto
6962     void DestroyQueryPool (VkDevice device, VkQueryPool queryPool, const(VkAllocationCallbacks)* pAllocator) {
6963         assert(_DestroyQueryPool !is null, "vkDestroyQueryPool was not loaded. Requested by VK_VERSION_1_0");
6964         return _DestroyQueryPool(device, queryPool, pAllocator);
6965     }
6966     /// ditto
6967     VkResult GetQueryPoolResults (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) {
6968         assert(_GetQueryPoolResults !is null, "vkGetQueryPoolResults was not loaded. Requested by VK_VERSION_1_0");
6969         return _GetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
6970     }
6971     /// ditto
6972     VkResult CreateBuffer (VkDevice device, const(VkBufferCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkBuffer* pBuffer) {
6973         assert(_CreateBuffer !is null, "vkCreateBuffer was not loaded. Requested by VK_VERSION_1_0");
6974         return _CreateBuffer(device, pCreateInfo, pAllocator, pBuffer);
6975     }
6976     /// ditto
6977     void DestroyBuffer (VkDevice device, VkBuffer buffer, const(VkAllocationCallbacks)* pAllocator) {
6978         assert(_DestroyBuffer !is null, "vkDestroyBuffer was not loaded. Requested by VK_VERSION_1_0");
6979         return _DestroyBuffer(device, buffer, pAllocator);
6980     }
6981     /// ditto
6982     VkResult CreateBufferView (VkDevice device, const(VkBufferViewCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkBufferView* pView) {
6983         assert(_CreateBufferView !is null, "vkCreateBufferView was not loaded. Requested by VK_VERSION_1_0");
6984         return _CreateBufferView(device, pCreateInfo, pAllocator, pView);
6985     }
6986     /// ditto
6987     void DestroyBufferView (VkDevice device, VkBufferView bufferView, const(VkAllocationCallbacks)* pAllocator) {
6988         assert(_DestroyBufferView !is null, "vkDestroyBufferView was not loaded. Requested by VK_VERSION_1_0");
6989         return _DestroyBufferView(device, bufferView, pAllocator);
6990     }
6991     /// ditto
6992     VkResult CreateImage (VkDevice device, const(VkImageCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkImage* pImage) {
6993         assert(_CreateImage !is null, "vkCreateImage was not loaded. Requested by VK_VERSION_1_0");
6994         return _CreateImage(device, pCreateInfo, pAllocator, pImage);
6995     }
6996     /// ditto
6997     void DestroyImage (VkDevice device, VkImage image, const(VkAllocationCallbacks)* pAllocator) {
6998         assert(_DestroyImage !is null, "vkDestroyImage was not loaded. Requested by VK_VERSION_1_0");
6999         return _DestroyImage(device, image, pAllocator);
7000     }
7001     /// ditto
7002     void GetImageSubresourceLayout (VkDevice device, VkImage image, const(VkImageSubresource)* pSubresource, VkSubresourceLayout* pLayout) {
7003         assert(_GetImageSubresourceLayout !is null, "vkGetImageSubresourceLayout was not loaded. Requested by VK_VERSION_1_0");
7004         return _GetImageSubresourceLayout(device, image, pSubresource, pLayout);
7005     }
7006     /// ditto
7007     VkResult CreateImageView (VkDevice device, const(VkImageViewCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkImageView* pView) {
7008         assert(_CreateImageView !is null, "vkCreateImageView was not loaded. Requested by VK_VERSION_1_0");
7009         return _CreateImageView(device, pCreateInfo, pAllocator, pView);
7010     }
7011     /// ditto
7012     void DestroyImageView (VkDevice device, VkImageView imageView, const(VkAllocationCallbacks)* pAllocator) {
7013         assert(_DestroyImageView !is null, "vkDestroyImageView was not loaded. Requested by VK_VERSION_1_0");
7014         return _DestroyImageView(device, imageView, pAllocator);
7015     }
7016     /// ditto
7017     VkResult CreateShaderModule (VkDevice device, const(VkShaderModuleCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkShaderModule* pShaderModule) {
7018         assert(_CreateShaderModule !is null, "vkCreateShaderModule was not loaded. Requested by VK_VERSION_1_0");
7019         return _CreateShaderModule(device, pCreateInfo, pAllocator, pShaderModule);
7020     }
7021     /// ditto
7022     void DestroyShaderModule (VkDevice device, VkShaderModule shaderModule, const(VkAllocationCallbacks)* pAllocator) {
7023         assert(_DestroyShaderModule !is null, "vkDestroyShaderModule was not loaded. Requested by VK_VERSION_1_0");
7024         return _DestroyShaderModule(device, shaderModule, pAllocator);
7025     }
7026     /// ditto
7027     VkResult CreatePipelineCache (VkDevice device, const(VkPipelineCacheCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkPipelineCache* pPipelineCache) {
7028         assert(_CreatePipelineCache !is null, "vkCreatePipelineCache was not loaded. Requested by VK_VERSION_1_0");
7029         return _CreatePipelineCache(device, pCreateInfo, pAllocator, pPipelineCache);
7030     }
7031     /// ditto
7032     void DestroyPipelineCache (VkDevice device, VkPipelineCache pipelineCache, const(VkAllocationCallbacks)* pAllocator) {
7033         assert(_DestroyPipelineCache !is null, "vkDestroyPipelineCache was not loaded. Requested by VK_VERSION_1_0");
7034         return _DestroyPipelineCache(device, pipelineCache, pAllocator);
7035     }
7036     /// ditto
7037     VkResult GetPipelineCacheData (VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) {
7038         assert(_GetPipelineCacheData !is null, "vkGetPipelineCacheData was not loaded. Requested by VK_VERSION_1_0");
7039         return _GetPipelineCacheData(device, pipelineCache, pDataSize, pData);
7040     }
7041     /// ditto
7042     VkResult MergePipelineCaches (VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const(VkPipelineCache)* pSrcCaches) {
7043         assert(_MergePipelineCaches !is null, "vkMergePipelineCaches was not loaded. Requested by VK_VERSION_1_0");
7044         return _MergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches);
7045     }
7046     /// ditto
7047     VkResult CreateGraphicsPipelines (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const(VkGraphicsPipelineCreateInfo)* pCreateInfos, const(VkAllocationCallbacks)* pAllocator, VkPipeline* pPipelines) {
7048         assert(_CreateGraphicsPipelines !is null, "vkCreateGraphicsPipelines was not loaded. Requested by VK_VERSION_1_0");
7049         return _CreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
7050     }
7051     /// ditto
7052     VkResult CreateComputePipelines (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const(VkComputePipelineCreateInfo)* pCreateInfos, const(VkAllocationCallbacks)* pAllocator, VkPipeline* pPipelines) {
7053         assert(_CreateComputePipelines !is null, "vkCreateComputePipelines was not loaded. Requested by VK_VERSION_1_0");
7054         return _CreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
7055     }
7056     /// ditto
7057     void DestroyPipeline (VkDevice device, VkPipeline pipeline, const(VkAllocationCallbacks)* pAllocator) {
7058         assert(_DestroyPipeline !is null, "vkDestroyPipeline was not loaded. Requested by VK_VERSION_1_0");
7059         return _DestroyPipeline(device, pipeline, pAllocator);
7060     }
7061     /// ditto
7062     VkResult CreatePipelineLayout (VkDevice device, const(VkPipelineLayoutCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkPipelineLayout* pPipelineLayout) {
7063         assert(_CreatePipelineLayout !is null, "vkCreatePipelineLayout was not loaded. Requested by VK_VERSION_1_0");
7064         return _CreatePipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout);
7065     }
7066     /// ditto
7067     void DestroyPipelineLayout (VkDevice device, VkPipelineLayout pipelineLayout, const(VkAllocationCallbacks)* pAllocator) {
7068         assert(_DestroyPipelineLayout !is null, "vkDestroyPipelineLayout was not loaded. Requested by VK_VERSION_1_0");
7069         return _DestroyPipelineLayout(device, pipelineLayout, pAllocator);
7070     }
7071     /// ditto
7072     VkResult CreateSampler (VkDevice device, const(VkSamplerCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkSampler* pSampler) {
7073         assert(_CreateSampler !is null, "vkCreateSampler was not loaded. Requested by VK_VERSION_1_0");
7074         return _CreateSampler(device, pCreateInfo, pAllocator, pSampler);
7075     }
7076     /// ditto
7077     void DestroySampler (VkDevice device, VkSampler sampler, const(VkAllocationCallbacks)* pAllocator) {
7078         assert(_DestroySampler !is null, "vkDestroySampler was not loaded. Requested by VK_VERSION_1_0");
7079         return _DestroySampler(device, sampler, pAllocator);
7080     }
7081     /// ditto
7082     VkResult CreateDescriptorSetLayout (VkDevice device, const(VkDescriptorSetLayoutCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkDescriptorSetLayout* pSetLayout) {
7083         assert(_CreateDescriptorSetLayout !is null, "vkCreateDescriptorSetLayout was not loaded. Requested by VK_VERSION_1_0");
7084         return _CreateDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout);
7085     }
7086     /// ditto
7087     void DestroyDescriptorSetLayout (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const(VkAllocationCallbacks)* pAllocator) {
7088         assert(_DestroyDescriptorSetLayout !is null, "vkDestroyDescriptorSetLayout was not loaded. Requested by VK_VERSION_1_0");
7089         return _DestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator);
7090     }
7091     /// ditto
7092     VkResult CreateDescriptorPool (VkDevice device, const(VkDescriptorPoolCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkDescriptorPool* pDescriptorPool) {
7093         assert(_CreateDescriptorPool !is null, "vkCreateDescriptorPool was not loaded. Requested by VK_VERSION_1_0");
7094         return _CreateDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool);
7095     }
7096     /// ditto
7097     void DestroyDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, const(VkAllocationCallbacks)* pAllocator) {
7098         assert(_DestroyDescriptorPool !is null, "vkDestroyDescriptorPool was not loaded. Requested by VK_VERSION_1_0");
7099         return _DestroyDescriptorPool(device, descriptorPool, pAllocator);
7100     }
7101     /// ditto
7102     VkResult ResetDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) {
7103         assert(_ResetDescriptorPool !is null, "vkResetDescriptorPool was not loaded. Requested by VK_VERSION_1_0");
7104         return _ResetDescriptorPool(device, descriptorPool, flags);
7105     }
7106     /// ditto
7107     VkResult AllocateDescriptorSets (VkDevice device, const(VkDescriptorSetAllocateInfo)* pAllocateInfo, VkDescriptorSet* pDescriptorSets) {
7108         assert(_AllocateDescriptorSets !is null, "vkAllocateDescriptorSets was not loaded. Requested by VK_VERSION_1_0");
7109         return _AllocateDescriptorSets(device, pAllocateInfo, pDescriptorSets);
7110     }
7111     /// ditto
7112     VkResult FreeDescriptorSets (VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const(VkDescriptorSet)* pDescriptorSets) {
7113         assert(_FreeDescriptorSets !is null, "vkFreeDescriptorSets was not loaded. Requested by VK_VERSION_1_0");
7114         return _FreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets);
7115     }
7116     /// ditto
7117     void UpdateDescriptorSets (VkDevice device, uint32_t descriptorWriteCount, const(VkWriteDescriptorSet)* pDescriptorWrites, uint32_t descriptorCopyCount, const(VkCopyDescriptorSet)* pDescriptorCopies) {
7118         assert(_UpdateDescriptorSets !is null, "vkUpdateDescriptorSets was not loaded. Requested by VK_VERSION_1_0");
7119         return _UpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
7120     }
7121     /// ditto
7122     VkResult CreateFramebuffer (VkDevice device, const(VkFramebufferCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkFramebuffer* pFramebuffer) {
7123         assert(_CreateFramebuffer !is null, "vkCreateFramebuffer was not loaded. Requested by VK_VERSION_1_0");
7124         return _CreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer);
7125     }
7126     /// ditto
7127     void DestroyFramebuffer (VkDevice device, VkFramebuffer framebuffer, const(VkAllocationCallbacks)* pAllocator) {
7128         assert(_DestroyFramebuffer !is null, "vkDestroyFramebuffer was not loaded. Requested by VK_VERSION_1_0");
7129         return _DestroyFramebuffer(device, framebuffer, pAllocator);
7130     }
7131     /// ditto
7132     VkResult CreateRenderPass (VkDevice device, const(VkRenderPassCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkRenderPass* pRenderPass) {
7133         assert(_CreateRenderPass !is null, "vkCreateRenderPass was not loaded. Requested by VK_VERSION_1_0");
7134         return _CreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass);
7135     }
7136     /// ditto
7137     void DestroyRenderPass (VkDevice device, VkRenderPass renderPass, const(VkAllocationCallbacks)* pAllocator) {
7138         assert(_DestroyRenderPass !is null, "vkDestroyRenderPass was not loaded. Requested by VK_VERSION_1_0");
7139         return _DestroyRenderPass(device, renderPass, pAllocator);
7140     }
7141     /// ditto
7142     void GetRenderAreaGranularity (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) {
7143         assert(_GetRenderAreaGranularity !is null, "vkGetRenderAreaGranularity was not loaded. Requested by VK_VERSION_1_0");
7144         return _GetRenderAreaGranularity(device, renderPass, pGranularity);
7145     }
7146     /// ditto
7147     VkResult CreateCommandPool (VkDevice device, const(VkCommandPoolCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkCommandPool* pCommandPool) {
7148         assert(_CreateCommandPool !is null, "vkCreateCommandPool was not loaded. Requested by VK_VERSION_1_0");
7149         return _CreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool);
7150     }
7151     /// ditto
7152     void DestroyCommandPool (VkDevice device, VkCommandPool commandPool, const(VkAllocationCallbacks)* pAllocator) {
7153         assert(_DestroyCommandPool !is null, "vkDestroyCommandPool was not loaded. Requested by VK_VERSION_1_0");
7154         return _DestroyCommandPool(device, commandPool, pAllocator);
7155     }
7156     /// ditto
7157     VkResult ResetCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) {
7158         assert(_ResetCommandPool !is null, "vkResetCommandPool was not loaded. Requested by VK_VERSION_1_0");
7159         return _ResetCommandPool(device, commandPool, flags);
7160     }
7161     /// ditto
7162     VkResult AllocateCommandBuffers (VkDevice device, const(VkCommandBufferAllocateInfo)* pAllocateInfo, VkCommandBuffer* pCommandBuffers) {
7163         assert(_AllocateCommandBuffers !is null, "vkAllocateCommandBuffers was not loaded. Requested by VK_VERSION_1_0");
7164         return _AllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);
7165     }
7166     /// ditto
7167     void FreeCommandBuffers (VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const(VkCommandBuffer)* pCommandBuffers) {
7168         assert(_FreeCommandBuffers !is null, "vkFreeCommandBuffers was not loaded. Requested by VK_VERSION_1_0");
7169         return _FreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers);
7170     }
7171     /// ditto
7172     VkResult BeginCommandBuffer (VkCommandBuffer commandBuffer, const(VkCommandBufferBeginInfo)* pBeginInfo) {
7173         assert(_BeginCommandBuffer !is null, "vkBeginCommandBuffer was not loaded. Requested by VK_VERSION_1_0");
7174         return _BeginCommandBuffer(commandBuffer, pBeginInfo);
7175     }
7176     /// ditto
7177     VkResult EndCommandBuffer (VkCommandBuffer commandBuffer) {
7178         assert(_EndCommandBuffer !is null, "vkEndCommandBuffer was not loaded. Requested by VK_VERSION_1_0");
7179         return _EndCommandBuffer(commandBuffer);
7180     }
7181     /// ditto
7182     VkResult ResetCommandBuffer (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) {
7183         assert(_ResetCommandBuffer !is null, "vkResetCommandBuffer was not loaded. Requested by VK_VERSION_1_0");
7184         return _ResetCommandBuffer(commandBuffer, flags);
7185     }
7186     /// ditto
7187     void CmdBindPipeline (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) {
7188         assert(_CmdBindPipeline !is null, "vkCmdBindPipeline was not loaded. Requested by VK_VERSION_1_0");
7189         return _CmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
7190     }
7191     /// ditto
7192     void CmdSetViewport (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const(VkViewport)* pViewports) {
7193         assert(_CmdSetViewport !is null, "vkCmdSetViewport was not loaded. Requested by VK_VERSION_1_0");
7194         return _CmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);
7195     }
7196     /// ditto
7197     void CmdSetScissor (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const(VkRect2D)* pScissors) {
7198         assert(_CmdSetScissor !is null, "vkCmdSetScissor was not loaded. Requested by VK_VERSION_1_0");
7199         return _CmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);
7200     }
7201     /// ditto
7202     void CmdSetLineWidth (VkCommandBuffer commandBuffer, float lineWidth) {
7203         assert(_CmdSetLineWidth !is null, "vkCmdSetLineWidth was not loaded. Requested by VK_VERSION_1_0");
7204         return _CmdSetLineWidth(commandBuffer, lineWidth);
7205     }
7206     /// ditto
7207     void CmdSetDepthBias (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) {
7208         assert(_CmdSetDepthBias !is null, "vkCmdSetDepthBias was not loaded. Requested by VK_VERSION_1_0");
7209         return _CmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
7210     }
7211     /// ditto
7212     void CmdSetBlendConstants (VkCommandBuffer commandBuffer, const float[4] blendConstants) {
7213         assert(_CmdSetBlendConstants !is null, "vkCmdSetBlendConstants was not loaded. Requested by VK_VERSION_1_0");
7214         return _CmdSetBlendConstants(commandBuffer, blendConstants);
7215     }
7216     /// ditto
7217     void CmdSetDepthBounds (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) {
7218         assert(_CmdSetDepthBounds !is null, "vkCmdSetDepthBounds was not loaded. Requested by VK_VERSION_1_0");
7219         return _CmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);
7220     }
7221     /// ditto
7222     void CmdSetStencilCompareMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) {
7223         assert(_CmdSetStencilCompareMask !is null, "vkCmdSetStencilCompareMask was not loaded. Requested by VK_VERSION_1_0");
7224         return _CmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);
7225     }
7226     /// ditto
7227     void CmdSetStencilWriteMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) {
7228         assert(_CmdSetStencilWriteMask !is null, "vkCmdSetStencilWriteMask was not loaded. Requested by VK_VERSION_1_0");
7229         return _CmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);
7230     }
7231     /// ditto
7232     void CmdSetStencilReference (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) {
7233         assert(_CmdSetStencilReference !is null, "vkCmdSetStencilReference was not loaded. Requested by VK_VERSION_1_0");
7234         return _CmdSetStencilReference(commandBuffer, faceMask, reference);
7235     }
7236     /// ditto
7237     void CmdBindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const(VkDescriptorSet)* pDescriptorSets, uint32_t dynamicOffsetCount, const(uint32_t)* pDynamicOffsets) {
7238         assert(_CmdBindDescriptorSets !is null, "vkCmdBindDescriptorSets was not loaded. Requested by VK_VERSION_1_0");
7239         return _CmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
7240     }
7241     /// ditto
7242     void CmdBindIndexBuffer (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) {
7243         assert(_CmdBindIndexBuffer !is null, "vkCmdBindIndexBuffer was not loaded. Requested by VK_VERSION_1_0");
7244         return _CmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
7245     }
7246     /// ditto
7247     void CmdBindVertexBuffers (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const(VkBuffer)* pBuffers, const(VkDeviceSize)* pOffsets) {
7248         assert(_CmdBindVertexBuffers !is null, "vkCmdBindVertexBuffers was not loaded. Requested by VK_VERSION_1_0");
7249         return _CmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
7250     }
7251     /// ditto
7252     void CmdDraw (VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) {
7253         assert(_CmdDraw !is null, "vkCmdDraw was not loaded. Requested by VK_VERSION_1_0");
7254         return _CmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
7255     }
7256     /// ditto
7257     void CmdDrawIndexed (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) {
7258         assert(_CmdDrawIndexed !is null, "vkCmdDrawIndexed was not loaded. Requested by VK_VERSION_1_0");
7259         return _CmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
7260     }
7261     /// ditto
7262     void CmdDrawIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) {
7263         assert(_CmdDrawIndirect !is null, "vkCmdDrawIndirect was not loaded. Requested by VK_VERSION_1_0");
7264         return _CmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride);
7265     }
7266     /// ditto
7267     void CmdDrawIndexedIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) {
7268         assert(_CmdDrawIndexedIndirect !is null, "vkCmdDrawIndexedIndirect was not loaded. Requested by VK_VERSION_1_0");
7269         return _CmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride);
7270     }
7271     /// ditto
7272     void CmdDispatch (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) {
7273         assert(_CmdDispatch !is null, "vkCmdDispatch was not loaded. Requested by VK_VERSION_1_0");
7274         return _CmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ);
7275     }
7276     /// ditto
7277     void CmdDispatchIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) {
7278         assert(_CmdDispatchIndirect !is null, "vkCmdDispatchIndirect was not loaded. Requested by VK_VERSION_1_0");
7279         return _CmdDispatchIndirect(commandBuffer, buffer, offset);
7280     }
7281     /// ditto
7282     void CmdCopyBuffer (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const(VkBufferCopy)* pRegions) {
7283         assert(_CmdCopyBuffer !is null, "vkCmdCopyBuffer was not loaded. Requested by VK_VERSION_1_0");
7284         return _CmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
7285     }
7286     /// ditto
7287     void CmdCopyImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const(VkImageCopy)* pRegions) {
7288         assert(_CmdCopyImage !is null, "vkCmdCopyImage was not loaded. Requested by VK_VERSION_1_0");
7289         return _CmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
7290     }
7291     /// ditto
7292     void CmdBlitImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const(VkImageBlit)* pRegions, VkFilter filter) {
7293         assert(_CmdBlitImage !is null, "vkCmdBlitImage was not loaded. Requested by VK_VERSION_1_0");
7294         return _CmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
7295     }
7296     /// ditto
7297     void CmdCopyBufferToImage (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const(VkBufferImageCopy)* pRegions) {
7298         assert(_CmdCopyBufferToImage !is null, "vkCmdCopyBufferToImage was not loaded. Requested by VK_VERSION_1_0");
7299         return _CmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
7300     }
7301     /// ditto
7302     void CmdCopyImageToBuffer (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const(VkBufferImageCopy)* pRegions) {
7303         assert(_CmdCopyImageToBuffer !is null, "vkCmdCopyImageToBuffer was not loaded. Requested by VK_VERSION_1_0");
7304         return _CmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
7305     }
7306     /// ditto
7307     void CmdUpdateBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const(void)* pData) {
7308         assert(_CmdUpdateBuffer !is null, "vkCmdUpdateBuffer was not loaded. Requested by VK_VERSION_1_0");
7309         return _CmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData);
7310     }
7311     /// ditto
7312     void CmdFillBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) {
7313         assert(_CmdFillBuffer !is null, "vkCmdFillBuffer was not loaded. Requested by VK_VERSION_1_0");
7314         return _CmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);
7315     }
7316     /// ditto
7317     void CmdClearColorImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const(VkClearColorValue)* pColor, uint32_t rangeCount, const(VkImageSubresourceRange)* pRanges) {
7318         assert(_CmdClearColorImage !is null, "vkCmdClearColorImage was not loaded. Requested by VK_VERSION_1_0");
7319         return _CmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
7320     }
7321     /// ditto
7322     void CmdClearDepthStencilImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const(VkClearDepthStencilValue)* pDepthStencil, uint32_t rangeCount, const(VkImageSubresourceRange)* pRanges) {
7323         assert(_CmdClearDepthStencilImage !is null, "vkCmdClearDepthStencilImage was not loaded. Requested by VK_VERSION_1_0");
7324         return _CmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
7325     }
7326     /// ditto
7327     void CmdClearAttachments (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const(VkClearAttachment)* pAttachments, uint32_t rectCount, const(VkClearRect)* pRects) {
7328         assert(_CmdClearAttachments !is null, "vkCmdClearAttachments was not loaded. Requested by VK_VERSION_1_0");
7329         return _CmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
7330     }
7331     /// ditto
7332     void CmdResolveImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const(VkImageResolve)* pRegions) {
7333         assert(_CmdResolveImage !is null, "vkCmdResolveImage was not loaded. Requested by VK_VERSION_1_0");
7334         return _CmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
7335     }
7336     /// ditto
7337     void CmdSetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) {
7338         assert(_CmdSetEvent !is null, "vkCmdSetEvent was not loaded. Requested by VK_VERSION_1_0");
7339         return _CmdSetEvent(commandBuffer, event, stageMask);
7340     }
7341     /// ditto
7342     void CmdResetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) {
7343         assert(_CmdResetEvent !is null, "vkCmdResetEvent was not loaded. Requested by VK_VERSION_1_0");
7344         return _CmdResetEvent(commandBuffer, event, stageMask);
7345     }
7346     /// ditto
7347     void CmdWaitEvents (VkCommandBuffer commandBuffer, uint32_t eventCount, const(VkEvent)* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const(VkMemoryBarrier)* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const(VkBufferMemoryBarrier)* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const(VkImageMemoryBarrier)* pImageMemoryBarriers) {
7348         assert(_CmdWaitEvents !is null, "vkCmdWaitEvents was not loaded. Requested by VK_VERSION_1_0");
7349         return _CmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
7350     }
7351     /// ditto
7352     void CmdPipelineBarrier (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const(VkMemoryBarrier)* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const(VkBufferMemoryBarrier)* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const(VkImageMemoryBarrier)* pImageMemoryBarriers) {
7353         assert(_CmdPipelineBarrier !is null, "vkCmdPipelineBarrier was not loaded. Requested by VK_VERSION_1_0");
7354         return _CmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
7355     }
7356     /// ditto
7357     void CmdBeginQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) {
7358         assert(_CmdBeginQuery !is null, "vkCmdBeginQuery was not loaded. Requested by VK_VERSION_1_0");
7359         return _CmdBeginQuery(commandBuffer, queryPool, query, flags);
7360     }
7361     /// ditto
7362     void CmdEndQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) {
7363         assert(_CmdEndQuery !is null, "vkCmdEndQuery was not loaded. Requested by VK_VERSION_1_0");
7364         return _CmdEndQuery(commandBuffer, queryPool, query);
7365     }
7366     /// ditto
7367     void CmdResetQueryPool (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) {
7368         assert(_CmdResetQueryPool !is null, "vkCmdResetQueryPool was not loaded. Requested by VK_VERSION_1_0");
7369         return _CmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);
7370     }
7371     /// ditto
7372     void CmdWriteTimestamp (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) {
7373         assert(_CmdWriteTimestamp !is null, "vkCmdWriteTimestamp was not loaded. Requested by VK_VERSION_1_0");
7374         return _CmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query);
7375     }
7376     /// ditto
7377     void CmdCopyQueryPoolResults (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) {
7378         assert(_CmdCopyQueryPoolResults !is null, "vkCmdCopyQueryPoolResults was not loaded. Requested by VK_VERSION_1_0");
7379         return _CmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
7380     }
7381     /// ditto
7382     void CmdPushConstants (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const(void)* pValues) {
7383         assert(_CmdPushConstants !is null, "vkCmdPushConstants was not loaded. Requested by VK_VERSION_1_0");
7384         return _CmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues);
7385     }
7386     /// ditto
7387     void CmdBeginRenderPass (VkCommandBuffer commandBuffer, const(VkRenderPassBeginInfo)* pRenderPassBegin, VkSubpassContents contents) {
7388         assert(_CmdBeginRenderPass !is null, "vkCmdBeginRenderPass was not loaded. Requested by VK_VERSION_1_0");
7389         return _CmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);
7390     }
7391     /// ditto
7392     void CmdNextSubpass (VkCommandBuffer commandBuffer, VkSubpassContents contents) {
7393         assert(_CmdNextSubpass !is null, "vkCmdNextSubpass was not loaded. Requested by VK_VERSION_1_0");
7394         return _CmdNextSubpass(commandBuffer, contents);
7395     }
7396     /// ditto
7397     void CmdEndRenderPass (VkCommandBuffer commandBuffer) {
7398         assert(_CmdEndRenderPass !is null, "vkCmdEndRenderPass was not loaded. Requested by VK_VERSION_1_0");
7399         return _CmdEndRenderPass(commandBuffer);
7400     }
7401     /// ditto
7402     void CmdExecuteCommands (VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const(VkCommandBuffer)* pCommandBuffers) {
7403         assert(_CmdExecuteCommands !is null, "vkCmdExecuteCommands was not loaded. Requested by VK_VERSION_1_0");
7404         return _CmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers);
7405     }
7406 
7407     /// Commands for VK_VERSION_1_1
7408     VkResult BindBufferMemory2 (VkDevice device, uint32_t bindInfoCount, const(VkBindBufferMemoryInfo)* pBindInfos) {
7409         assert(_BindBufferMemory2 !is null, "vkBindBufferMemory2 was not loaded. Requested by VK_VERSION_1_1");
7410         return _BindBufferMemory2(device, bindInfoCount, pBindInfos);
7411     }
7412     /// ditto
7413     VkResult BindImageMemory2 (VkDevice device, uint32_t bindInfoCount, const(VkBindImageMemoryInfo)* pBindInfos) {
7414         assert(_BindImageMemory2 !is null, "vkBindImageMemory2 was not loaded. Requested by VK_VERSION_1_1");
7415         return _BindImageMemory2(device, bindInfoCount, pBindInfos);
7416     }
7417     /// ditto
7418     void GetDeviceGroupPeerMemoryFeatures (VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) {
7419         assert(_GetDeviceGroupPeerMemoryFeatures !is null, "vkGetDeviceGroupPeerMemoryFeatures was not loaded. Requested by VK_VERSION_1_1");
7420         return _GetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
7421     }
7422     /// ditto
7423     void CmdSetDeviceMask (VkCommandBuffer commandBuffer, uint32_t deviceMask) {
7424         assert(_CmdSetDeviceMask !is null, "vkCmdSetDeviceMask was not loaded. Requested by VK_VERSION_1_1");
7425         return _CmdSetDeviceMask(commandBuffer, deviceMask);
7426     }
7427     /// ditto
7428     void CmdDispatchBase (VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) {
7429         assert(_CmdDispatchBase !is null, "vkCmdDispatchBase was not loaded. Requested by VK_VERSION_1_1");
7430         return _CmdDispatchBase(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
7431     }
7432     /// ditto
7433     void GetImageMemoryRequirements2 (VkDevice device, const(VkImageMemoryRequirementsInfo2)* pInfo, VkMemoryRequirements2* pMemoryRequirements) {
7434         assert(_GetImageMemoryRequirements2 !is null, "vkGetImageMemoryRequirements2 was not loaded. Requested by VK_VERSION_1_1");
7435         return _GetImageMemoryRequirements2(device, pInfo, pMemoryRequirements);
7436     }
7437     /// ditto
7438     void GetBufferMemoryRequirements2 (VkDevice device, const(VkBufferMemoryRequirementsInfo2)* pInfo, VkMemoryRequirements2* pMemoryRequirements) {
7439         assert(_GetBufferMemoryRequirements2 !is null, "vkGetBufferMemoryRequirements2 was not loaded. Requested by VK_VERSION_1_1");
7440         return _GetBufferMemoryRequirements2(device, pInfo, pMemoryRequirements);
7441     }
7442     /// ditto
7443     void GetImageSparseMemoryRequirements2 (VkDevice device, const(VkImageSparseMemoryRequirementsInfo2)* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) {
7444         assert(_GetImageSparseMemoryRequirements2 !is null, "vkGetImageSparseMemoryRequirements2 was not loaded. Requested by VK_VERSION_1_1");
7445         return _GetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
7446     }
7447     /// ditto
7448     void TrimCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) {
7449         assert(_TrimCommandPool !is null, "vkTrimCommandPool was not loaded. Requested by VK_VERSION_1_1");
7450         return _TrimCommandPool(device, commandPool, flags);
7451     }
7452     /// ditto
7453     void GetDeviceQueue2 (VkDevice device, const(VkDeviceQueueInfo2)* pQueueInfo, VkQueue* pQueue) {
7454         assert(_GetDeviceQueue2 !is null, "vkGetDeviceQueue2 was not loaded. Requested by VK_VERSION_1_1");
7455         return _GetDeviceQueue2(device, pQueueInfo, pQueue);
7456     }
7457     /// ditto
7458     VkResult CreateSamplerYcbcrConversion (VkDevice device, const(VkSamplerYcbcrConversionCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) {
7459         assert(_CreateSamplerYcbcrConversion !is null, "vkCreateSamplerYcbcrConversion was not loaded. Requested by VK_VERSION_1_1");
7460         return _CreateSamplerYcbcrConversion(device, pCreateInfo, pAllocator, pYcbcrConversion);
7461     }
7462     /// ditto
7463     void DestroySamplerYcbcrConversion (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const(VkAllocationCallbacks)* pAllocator) {
7464         assert(_DestroySamplerYcbcrConversion !is null, "vkDestroySamplerYcbcrConversion was not loaded. Requested by VK_VERSION_1_1");
7465         return _DestroySamplerYcbcrConversion(device, ycbcrConversion, pAllocator);
7466     }
7467     /// ditto
7468     VkResult CreateDescriptorUpdateTemplate (VkDevice device, const(VkDescriptorUpdateTemplateCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) {
7469         assert(_CreateDescriptorUpdateTemplate !is null, "vkCreateDescriptorUpdateTemplate was not loaded. Requested by VK_VERSION_1_1");
7470         return _CreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
7471     }
7472     /// ditto
7473     void DestroyDescriptorUpdateTemplate (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const(VkAllocationCallbacks)* pAllocator) {
7474         assert(_DestroyDescriptorUpdateTemplate !is null, "vkDestroyDescriptorUpdateTemplate was not loaded. Requested by VK_VERSION_1_1");
7475         return _DestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator);
7476     }
7477     /// ditto
7478     void UpdateDescriptorSetWithTemplate (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const(void)* pData) {
7479         assert(_UpdateDescriptorSetWithTemplate !is null, "vkUpdateDescriptorSetWithTemplate was not loaded. Requested by VK_VERSION_1_1");
7480         return _UpdateDescriptorSetWithTemplate(device, descriptorSet, descriptorUpdateTemplate, pData);
7481     }
7482     /// ditto
7483     void GetDescriptorSetLayoutSupport (VkDevice device, const(VkDescriptorSetLayoutCreateInfo)* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) {
7484         assert(_GetDescriptorSetLayoutSupport !is null, "vkGetDescriptorSetLayoutSupport was not loaded. Requested by VK_VERSION_1_1");
7485         return _GetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
7486     }
7487 
7488     /// Commands for VK_KHR_swapchain
7489     VkResult CreateSwapchainKHR (VkDevice device, const(VkSwapchainCreateInfoKHR)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkSwapchainKHR* pSwapchain) {
7490         assert(_CreateSwapchainKHR !is null, "vkCreateSwapchainKHR was not loaded. Requested by VK_KHR_swapchain");
7491         return _CreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain);
7492     }
7493     /// ditto
7494     void DestroySwapchainKHR (VkDevice device, VkSwapchainKHR swapchain, const(VkAllocationCallbacks)* pAllocator) {
7495         assert(_DestroySwapchainKHR !is null, "vkDestroySwapchainKHR was not loaded. Requested by VK_KHR_swapchain");
7496         return _DestroySwapchainKHR(device, swapchain, pAllocator);
7497     }
7498     /// ditto
7499     VkResult GetSwapchainImagesKHR (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) {
7500         assert(_GetSwapchainImagesKHR !is null, "vkGetSwapchainImagesKHR was not loaded. Requested by VK_KHR_swapchain");
7501         return _GetSwapchainImagesKHR(device, swapchain, pSwapchainImageCount, pSwapchainImages);
7502     }
7503     /// ditto
7504     VkResult AcquireNextImageKHR (VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) {
7505         assert(_AcquireNextImageKHR !is null, "vkAcquireNextImageKHR was not loaded. Requested by VK_KHR_swapchain");
7506         return _AcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, pImageIndex);
7507     }
7508     /// ditto
7509     VkResult QueuePresentKHR (VkQueue queue, const(VkPresentInfoKHR)* pPresentInfo) {
7510         assert(_QueuePresentKHR !is null, "vkQueuePresentKHR was not loaded. Requested by VK_KHR_swapchain");
7511         return _QueuePresentKHR(queue, pPresentInfo);
7512     }
7513     /// ditto
7514     VkResult GetDeviceGroupPresentCapabilitiesKHR (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) {
7515         assert(_GetDeviceGroupPresentCapabilitiesKHR !is null, "vkGetDeviceGroupPresentCapabilitiesKHR was not loaded. Requested by VK_KHR_swapchain");
7516         return _GetDeviceGroupPresentCapabilitiesKHR(device, pDeviceGroupPresentCapabilities);
7517     }
7518     /// ditto
7519     VkResult GetDeviceGroupSurfacePresentModesKHR (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) {
7520         assert(_GetDeviceGroupSurfacePresentModesKHR !is null, "vkGetDeviceGroupSurfacePresentModesKHR was not loaded. Requested by VK_KHR_swapchain");
7521         return _GetDeviceGroupSurfacePresentModesKHR(device, surface, pModes);
7522     }
7523     /// ditto
7524     VkResult AcquireNextImage2KHR (VkDevice device, const(VkAcquireNextImageInfoKHR)* pAcquireInfo, uint32_t* pImageIndex) {
7525         assert(_AcquireNextImage2KHR !is null, "vkAcquireNextImage2KHR was not loaded. Requested by VK_KHR_swapchain");
7526         return _AcquireNextImage2KHR(device, pAcquireInfo, pImageIndex);
7527     }
7528 
7529     // fields for VK_VERSION_1_0
7530     private PFN_vkDestroyDevice                        _DestroyDevice;
7531     private PFN_vkGetDeviceQueue                       _GetDeviceQueue;
7532     private PFN_vkQueueSubmit                          _QueueSubmit;
7533     private PFN_vkQueueWaitIdle                        _QueueWaitIdle;
7534     private PFN_vkDeviceWaitIdle                       _DeviceWaitIdle;
7535     private PFN_vkAllocateMemory                       _AllocateMemory;
7536     private PFN_vkFreeMemory                           _FreeMemory;
7537     private PFN_vkMapMemory                            _MapMemory;
7538     private PFN_vkUnmapMemory                          _UnmapMemory;
7539     private PFN_vkFlushMappedMemoryRanges              _FlushMappedMemoryRanges;
7540     private PFN_vkInvalidateMappedMemoryRanges         _InvalidateMappedMemoryRanges;
7541     private PFN_vkGetDeviceMemoryCommitment            _GetDeviceMemoryCommitment;
7542     private PFN_vkBindBufferMemory                     _BindBufferMemory;
7543     private PFN_vkBindImageMemory                      _BindImageMemory;
7544     private PFN_vkGetBufferMemoryRequirements          _GetBufferMemoryRequirements;
7545     private PFN_vkGetImageMemoryRequirements           _GetImageMemoryRequirements;
7546     private PFN_vkGetImageSparseMemoryRequirements     _GetImageSparseMemoryRequirements;
7547     private PFN_vkQueueBindSparse                      _QueueBindSparse;
7548     private PFN_vkCreateFence                          _CreateFence;
7549     private PFN_vkDestroyFence                         _DestroyFence;
7550     private PFN_vkResetFences                          _ResetFences;
7551     private PFN_vkGetFenceStatus                       _GetFenceStatus;
7552     private PFN_vkWaitForFences                        _WaitForFences;
7553     private PFN_vkCreateSemaphore                      _CreateSemaphore;
7554     private PFN_vkDestroySemaphore                     _DestroySemaphore;
7555     private PFN_vkCreateEvent                          _CreateEvent;
7556     private PFN_vkDestroyEvent                         _DestroyEvent;
7557     private PFN_vkGetEventStatus                       _GetEventStatus;
7558     private PFN_vkSetEvent                             _SetEvent;
7559     private PFN_vkResetEvent                           _ResetEvent;
7560     private PFN_vkCreateQueryPool                      _CreateQueryPool;
7561     private PFN_vkDestroyQueryPool                     _DestroyQueryPool;
7562     private PFN_vkGetQueryPoolResults                  _GetQueryPoolResults;
7563     private PFN_vkCreateBuffer                         _CreateBuffer;
7564     private PFN_vkDestroyBuffer                        _DestroyBuffer;
7565     private PFN_vkCreateBufferView                     _CreateBufferView;
7566     private PFN_vkDestroyBufferView                    _DestroyBufferView;
7567     private PFN_vkCreateImage                          _CreateImage;
7568     private PFN_vkDestroyImage                         _DestroyImage;
7569     private PFN_vkGetImageSubresourceLayout            _GetImageSubresourceLayout;
7570     private PFN_vkCreateImageView                      _CreateImageView;
7571     private PFN_vkDestroyImageView                     _DestroyImageView;
7572     private PFN_vkCreateShaderModule                   _CreateShaderModule;
7573     private PFN_vkDestroyShaderModule                  _DestroyShaderModule;
7574     private PFN_vkCreatePipelineCache                  _CreatePipelineCache;
7575     private PFN_vkDestroyPipelineCache                 _DestroyPipelineCache;
7576     private PFN_vkGetPipelineCacheData                 _GetPipelineCacheData;
7577     private PFN_vkMergePipelineCaches                  _MergePipelineCaches;
7578     private PFN_vkCreateGraphicsPipelines              _CreateGraphicsPipelines;
7579     private PFN_vkCreateComputePipelines               _CreateComputePipelines;
7580     private PFN_vkDestroyPipeline                      _DestroyPipeline;
7581     private PFN_vkCreatePipelineLayout                 _CreatePipelineLayout;
7582     private PFN_vkDestroyPipelineLayout                _DestroyPipelineLayout;
7583     private PFN_vkCreateSampler                        _CreateSampler;
7584     private PFN_vkDestroySampler                       _DestroySampler;
7585     private PFN_vkCreateDescriptorSetLayout            _CreateDescriptorSetLayout;
7586     private PFN_vkDestroyDescriptorSetLayout           _DestroyDescriptorSetLayout;
7587     private PFN_vkCreateDescriptorPool                 _CreateDescriptorPool;
7588     private PFN_vkDestroyDescriptorPool                _DestroyDescriptorPool;
7589     private PFN_vkResetDescriptorPool                  _ResetDescriptorPool;
7590     private PFN_vkAllocateDescriptorSets               _AllocateDescriptorSets;
7591     private PFN_vkFreeDescriptorSets                   _FreeDescriptorSets;
7592     private PFN_vkUpdateDescriptorSets                 _UpdateDescriptorSets;
7593     private PFN_vkCreateFramebuffer                    _CreateFramebuffer;
7594     private PFN_vkDestroyFramebuffer                   _DestroyFramebuffer;
7595     private PFN_vkCreateRenderPass                     _CreateRenderPass;
7596     private PFN_vkDestroyRenderPass                    _DestroyRenderPass;
7597     private PFN_vkGetRenderAreaGranularity             _GetRenderAreaGranularity;
7598     private PFN_vkCreateCommandPool                    _CreateCommandPool;
7599     private PFN_vkDestroyCommandPool                   _DestroyCommandPool;
7600     private PFN_vkResetCommandPool                     _ResetCommandPool;
7601     private PFN_vkAllocateCommandBuffers               _AllocateCommandBuffers;
7602     private PFN_vkFreeCommandBuffers                   _FreeCommandBuffers;
7603     private PFN_vkBeginCommandBuffer                   _BeginCommandBuffer;
7604     private PFN_vkEndCommandBuffer                     _EndCommandBuffer;
7605     private PFN_vkResetCommandBuffer                   _ResetCommandBuffer;
7606     private PFN_vkCmdBindPipeline                      _CmdBindPipeline;
7607     private PFN_vkCmdSetViewport                       _CmdSetViewport;
7608     private PFN_vkCmdSetScissor                        _CmdSetScissor;
7609     private PFN_vkCmdSetLineWidth                      _CmdSetLineWidth;
7610     private PFN_vkCmdSetDepthBias                      _CmdSetDepthBias;
7611     private PFN_vkCmdSetBlendConstants                 _CmdSetBlendConstants;
7612     private PFN_vkCmdSetDepthBounds                    _CmdSetDepthBounds;
7613     private PFN_vkCmdSetStencilCompareMask             _CmdSetStencilCompareMask;
7614     private PFN_vkCmdSetStencilWriteMask               _CmdSetStencilWriteMask;
7615     private PFN_vkCmdSetStencilReference               _CmdSetStencilReference;
7616     private PFN_vkCmdBindDescriptorSets                _CmdBindDescriptorSets;
7617     private PFN_vkCmdBindIndexBuffer                   _CmdBindIndexBuffer;
7618     private PFN_vkCmdBindVertexBuffers                 _CmdBindVertexBuffers;
7619     private PFN_vkCmdDraw                              _CmdDraw;
7620     private PFN_vkCmdDrawIndexed                       _CmdDrawIndexed;
7621     private PFN_vkCmdDrawIndirect                      _CmdDrawIndirect;
7622     private PFN_vkCmdDrawIndexedIndirect               _CmdDrawIndexedIndirect;
7623     private PFN_vkCmdDispatch                          _CmdDispatch;
7624     private PFN_vkCmdDispatchIndirect                  _CmdDispatchIndirect;
7625     private PFN_vkCmdCopyBuffer                        _CmdCopyBuffer;
7626     private PFN_vkCmdCopyImage                         _CmdCopyImage;
7627     private PFN_vkCmdBlitImage                         _CmdBlitImage;
7628     private PFN_vkCmdCopyBufferToImage                 _CmdCopyBufferToImage;
7629     private PFN_vkCmdCopyImageToBuffer                 _CmdCopyImageToBuffer;
7630     private PFN_vkCmdUpdateBuffer                      _CmdUpdateBuffer;
7631     private PFN_vkCmdFillBuffer                        _CmdFillBuffer;
7632     private PFN_vkCmdClearColorImage                   _CmdClearColorImage;
7633     private PFN_vkCmdClearDepthStencilImage            _CmdClearDepthStencilImage;
7634     private PFN_vkCmdClearAttachments                  _CmdClearAttachments;
7635     private PFN_vkCmdResolveImage                      _CmdResolveImage;
7636     private PFN_vkCmdSetEvent                          _CmdSetEvent;
7637     private PFN_vkCmdResetEvent                        _CmdResetEvent;
7638     private PFN_vkCmdWaitEvents                        _CmdWaitEvents;
7639     private PFN_vkCmdPipelineBarrier                   _CmdPipelineBarrier;
7640     private PFN_vkCmdBeginQuery                        _CmdBeginQuery;
7641     private PFN_vkCmdEndQuery                          _CmdEndQuery;
7642     private PFN_vkCmdResetQueryPool                    _CmdResetQueryPool;
7643     private PFN_vkCmdWriteTimestamp                    _CmdWriteTimestamp;
7644     private PFN_vkCmdCopyQueryPoolResults              _CmdCopyQueryPoolResults;
7645     private PFN_vkCmdPushConstants                     _CmdPushConstants;
7646     private PFN_vkCmdBeginRenderPass                   _CmdBeginRenderPass;
7647     private PFN_vkCmdNextSubpass                       _CmdNextSubpass;
7648     private PFN_vkCmdEndRenderPass                     _CmdEndRenderPass;
7649     private PFN_vkCmdExecuteCommands                   _CmdExecuteCommands;
7650 
7651     // fields for VK_VERSION_1_1
7652     private PFN_vkBindBufferMemory2                    _BindBufferMemory2;
7653     private PFN_vkBindImageMemory2                     _BindImageMemory2;
7654     private PFN_vkGetDeviceGroupPeerMemoryFeatures     _GetDeviceGroupPeerMemoryFeatures;
7655     private PFN_vkCmdSetDeviceMask                     _CmdSetDeviceMask;
7656     private PFN_vkCmdDispatchBase                      _CmdDispatchBase;
7657     private PFN_vkGetImageMemoryRequirements2          _GetImageMemoryRequirements2;
7658     private PFN_vkGetBufferMemoryRequirements2         _GetBufferMemoryRequirements2;
7659     private PFN_vkGetImageSparseMemoryRequirements2    _GetImageSparseMemoryRequirements2;
7660     private PFN_vkTrimCommandPool                      _TrimCommandPool;
7661     private PFN_vkGetDeviceQueue2                      _GetDeviceQueue2;
7662     private PFN_vkCreateSamplerYcbcrConversion         _CreateSamplerYcbcrConversion;
7663     private PFN_vkDestroySamplerYcbcrConversion        _DestroySamplerYcbcrConversion;
7664     private PFN_vkCreateDescriptorUpdateTemplate       _CreateDescriptorUpdateTemplate;
7665     private PFN_vkDestroyDescriptorUpdateTemplate      _DestroyDescriptorUpdateTemplate;
7666     private PFN_vkUpdateDescriptorSetWithTemplate      _UpdateDescriptorSetWithTemplate;
7667     private PFN_vkGetDescriptorSetLayoutSupport        _GetDescriptorSetLayoutSupport;
7668 
7669     // fields for VK_KHR_swapchain
7670     private PFN_vkCreateSwapchainKHR                   _CreateSwapchainKHR;
7671     private PFN_vkDestroySwapchainKHR                  _DestroySwapchainKHR;
7672     private PFN_vkGetSwapchainImagesKHR                _GetSwapchainImagesKHR;
7673     private PFN_vkAcquireNextImageKHR                  _AcquireNextImageKHR;
7674     private PFN_vkQueuePresentKHR                      _QueuePresentKHR;
7675     private PFN_vkGetDeviceGroupPresentCapabilitiesKHR _GetDeviceGroupPresentCapabilitiesKHR;
7676     private PFN_vkGetDeviceGroupSurfacePresentModesKHR _GetDeviceGroupSurfacePresentModesKHR;
7677     private PFN_vkAcquireNextImage2KHR                 _AcquireNextImage2KHR;
7678 }