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