1 /**
2  * Dlang vulkan type definitions
3  *
4  * Copyright: Copyright 2015-2016 The Khronos Group Inc.; Copyright 2016 Alex Parrill, Peter Particle.
5  * License:   $(https://opensource.org/licenses/MIT, MIT License).
6  * Authors: Copyright 2016 Alex Parrill, Peter Particle
7  */
8 module erupted.types;
9 
10 import std.bitmanip : bitfields;
11 
12 nothrow @nogc:
13 
14 
15 // defined in vk_platform.h
16 alias uint8_t   = ubyte;
17 alias uint16_t  = ushort;
18 alias uint32_t  = uint;
19 alias uint64_t  = ulong;
20 alias int8_t    = byte;
21 alias int16_t   = short;
22 alias int32_t   = int;
23 alias int64_t   = long;
24 
25 
26 // version functions / macros
27 pure {
28     uint VK_MAKE_VERSION( uint major, uint minor, uint patch ) { return ( major << 22 ) | ( minor << 12 ) | ( patch ); }
29     uint VK_VERSION_MAJOR( uint ver ) { return ver >> 22; }
30     uint VK_VERSION_MINOR( uint ver ) { return ( ver >> 12 ) & 0x3ff; }
31     uint VK_VERSION_PATCH( uint ver ) { return ver & 0xfff; }
32 }
33 
34 // Linkage of debug and allocation callbacks
35 extern( System ):
36 
37 // Version of corresponding c header file
38 enum VK_HEADER_VERSION = 168;
39 
40 enum VK_NULL_HANDLE = null;
41 
42 enum VK_DEFINE_HANDLE( string name ) = "struct " ~ name ~ "_handle; alias " ~ name ~ " = " ~ name ~ "_handle*;";
43 
44 version( X86_64 ) {
45     alias VK_DEFINE_NON_DISPATCHABLE_HANDLE( string name ) = VK_DEFINE_HANDLE!name;
46     enum VK_NULL_ND_HANDLE = null;
47 } else {
48     enum VK_DEFINE_NON_DISPATCHABLE_HANDLE( string name ) = "alias " ~ name ~ " = ulong;";
49     enum VK_NULL_ND_HANDLE = 0uL;
50 }
51 
52 // - VK_VERSION_1_0 -
53 enum VK_VERSION_1_0 = 1;
54 
55 // Vulkan 1.0 version number
56 enum VK_API_VERSION_1_0 = VK_MAKE_VERSION( 1, 0, 0 );  // Patch version should always be set to 0
57 
58 alias VkBool32 = uint32_t;
59 alias VkDeviceAddress = uint64_t;
60 alias VkDeviceSize = uint64_t;
61 alias VkFlags = uint32_t;
62 alias VkSampleMask = uint32_t;
63 
64 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkBuffer} );
65 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkImage} );
66 mixin( VK_DEFINE_HANDLE!q{VkInstance} );
67 mixin( VK_DEFINE_HANDLE!q{VkPhysicalDevice} );
68 mixin( VK_DEFINE_HANDLE!q{VkDevice} );
69 mixin( VK_DEFINE_HANDLE!q{VkQueue} );
70 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSemaphore} );
71 mixin( VK_DEFINE_HANDLE!q{VkCommandBuffer} );
72 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkFence} );
73 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDeviceMemory} );
74 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkEvent} );
75 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkQueryPool} );
76 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkBufferView} );
77 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkImageView} );
78 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkShaderModule} );
79 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkPipelineCache} );
80 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkPipelineLayout} );
81 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkPipeline} );
82 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkRenderPass} );
83 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorSetLayout} );
84 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSampler} );
85 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorSet} );
86 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorPool} );
87 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkFramebuffer} );
88 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkCommandPool} );
89 
90 enum VK_ATTACHMENT_UNUSED = (~0U);
91 enum VK_FALSE = 0;
92 enum VK_LOD_CLAMP_NONE = 1000.0f;
93 enum VK_QUEUE_FAMILY_IGNORED = (~0U);
94 enum VK_REMAINING_ARRAY_LAYERS = (~0U);
95 enum VK_REMAINING_MIP_LEVELS = (~0U);
96 enum VK_SUBPASS_EXTERNAL = (~0U);
97 enum VK_TRUE = 1;
98 enum VK_WHOLE_SIZE = (~0UL);
99 enum VK_MAX_MEMORY_TYPES = 32;
100 enum VK_MAX_MEMORY_HEAPS = 16;
101 enum VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256;
102 enum VK_UUID_SIZE = 16;
103 enum VK_MAX_EXTENSION_NAME_SIZE = 256;
104 enum VK_MAX_DESCRIPTION_SIZE = 256;
105 
106 enum VkResult {
107     VK_SUCCESS                                                   = 0,
108     VK_NOT_READY                                                 = 1,
109     VK_TIMEOUT                                                   = 2,
110     VK_EVENT_SET                                                 = 3,
111     VK_EVENT_RESET                                               = 4,
112     VK_INCOMPLETE                                                = 5,
113     VK_ERROR_OUT_OF_HOST_MEMORY                                  = -1,
114     VK_ERROR_OUT_OF_DEVICE_MEMORY                                = -2,
115     VK_ERROR_INITIALIZATION_FAILED                               = -3,
116     VK_ERROR_DEVICE_LOST                                         = -4,
117     VK_ERROR_MEMORY_MAP_FAILED                                   = -5,
118     VK_ERROR_LAYER_NOT_PRESENT                                   = -6,
119     VK_ERROR_EXTENSION_NOT_PRESENT                               = -7,
120     VK_ERROR_FEATURE_NOT_PRESENT                                 = -8,
121     VK_ERROR_INCOMPATIBLE_DRIVER                                 = -9,
122     VK_ERROR_TOO_MANY_OBJECTS                                    = -10,
123     VK_ERROR_FORMAT_NOT_SUPPORTED                                = -11,
124     VK_ERROR_FRAGMENTED_POOL                                     = -12,
125     VK_ERROR_UNKNOWN                                             = -13,
126     VK_ERROR_OUT_OF_POOL_MEMORY                                  = -1000069000,
127     VK_ERROR_INVALID_EXTERNAL_HANDLE                             = -1000072003,
128     VK_ERROR_FRAGMENTATION                                       = -1000161000,
129     VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS                      = -1000257000,
130     VK_ERROR_SURFACE_LOST_KHR                                    = -1000000000,
131     VK_ERROR_NATIVE_WINDOW_IN_USE_KHR                            = -1000000001,
132     VK_SUBOPTIMAL_KHR                                            = 1000001003,
133     VK_ERROR_OUT_OF_DATE_KHR                                     = -1000001004,
134     VK_ERROR_INCOMPATIBLE_DISPLAY_KHR                            = -1000003001,
135     VK_ERROR_VALIDATION_FAILED_EXT                               = -1000011001,
136     VK_ERROR_INVALID_SHADER_NV                                   = -1000012000,
137     VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT        = -1000158000,
138     VK_ERROR_NOT_PERMITTED_EXT                                   = -1000174001,
139     VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT                 = -1000255000,
140     VK_THREAD_IDLE_KHR                                           = 1000268000,
141     VK_THREAD_DONE_KHR                                           = 1000268001,
142     VK_OPERATION_DEFERRED_KHR                                    = 1000268002,
143     VK_OPERATION_NOT_DEFERRED_KHR                                = 1000268003,
144     VK_PIPELINE_COMPILE_REQUIRED_EXT                             = 1000297000,
145     VK_ERROR_OUT_OF_POOL_MEMORY_KHR                              = VK_ERROR_OUT_OF_POOL_MEMORY,
146     VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR                         = VK_ERROR_INVALID_EXTERNAL_HANDLE,
147     VK_ERROR_FRAGMENTATION_EXT                                   = VK_ERROR_FRAGMENTATION,
148     VK_ERROR_INVALID_DEVICE_ADDRESS_EXT                          = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
149     VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR                  = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
150     VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT                       = VK_PIPELINE_COMPILE_REQUIRED_EXT,
151     VK_RESULT_BEGIN_RANGE                                        = VK_ERROR_UNKNOWN,
152     VK_RESULT_END_RANGE                                          = VK_INCOMPLETE,
153     VK_RESULT_RANGE_SIZE                                         = VK_INCOMPLETE - VK_ERROR_UNKNOWN + 1,
154     VK_RESULT_MAX_ENUM                                           = 0x7FFFFFFF
155 }
156 
157 enum VK_SUCCESS                                                  = VkResult.VK_SUCCESS;
158 enum VK_NOT_READY                                                = VkResult.VK_NOT_READY;
159 enum VK_TIMEOUT                                                  = VkResult.VK_TIMEOUT;
160 enum VK_EVENT_SET                                                = VkResult.VK_EVENT_SET;
161 enum VK_EVENT_RESET                                              = VkResult.VK_EVENT_RESET;
162 enum VK_INCOMPLETE                                               = VkResult.VK_INCOMPLETE;
163 enum VK_ERROR_OUT_OF_HOST_MEMORY                                 = VkResult.VK_ERROR_OUT_OF_HOST_MEMORY;
164 enum VK_ERROR_OUT_OF_DEVICE_MEMORY                               = VkResult.VK_ERROR_OUT_OF_DEVICE_MEMORY;
165 enum VK_ERROR_INITIALIZATION_FAILED                              = VkResult.VK_ERROR_INITIALIZATION_FAILED;
166 enum VK_ERROR_DEVICE_LOST                                        = VkResult.VK_ERROR_DEVICE_LOST;
167 enum VK_ERROR_MEMORY_MAP_FAILED                                  = VkResult.VK_ERROR_MEMORY_MAP_FAILED;
168 enum VK_ERROR_LAYER_NOT_PRESENT                                  = VkResult.VK_ERROR_LAYER_NOT_PRESENT;
169 enum VK_ERROR_EXTENSION_NOT_PRESENT                              = VkResult.VK_ERROR_EXTENSION_NOT_PRESENT;
170 enum VK_ERROR_FEATURE_NOT_PRESENT                                = VkResult.VK_ERROR_FEATURE_NOT_PRESENT;
171 enum VK_ERROR_INCOMPATIBLE_DRIVER                                = VkResult.VK_ERROR_INCOMPATIBLE_DRIVER;
172 enum VK_ERROR_TOO_MANY_OBJECTS                                   = VkResult.VK_ERROR_TOO_MANY_OBJECTS;
173 enum VK_ERROR_FORMAT_NOT_SUPPORTED                               = VkResult.VK_ERROR_FORMAT_NOT_SUPPORTED;
174 enum VK_ERROR_FRAGMENTED_POOL                                    = VkResult.VK_ERROR_FRAGMENTED_POOL;
175 enum VK_ERROR_UNKNOWN                                            = VkResult.VK_ERROR_UNKNOWN;
176 enum VK_ERROR_OUT_OF_POOL_MEMORY                                 = VkResult.VK_ERROR_OUT_OF_POOL_MEMORY;
177 enum VK_ERROR_INVALID_EXTERNAL_HANDLE                            = VkResult.VK_ERROR_INVALID_EXTERNAL_HANDLE;
178 enum VK_ERROR_FRAGMENTATION                                      = VkResult.VK_ERROR_FRAGMENTATION;
179 enum VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS                     = VkResult.VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS;
180 enum VK_ERROR_SURFACE_LOST_KHR                                   = VkResult.VK_ERROR_SURFACE_LOST_KHR;
181 enum VK_ERROR_NATIVE_WINDOW_IN_USE_KHR                           = VkResult.VK_ERROR_NATIVE_WINDOW_IN_USE_KHR;
182 enum VK_SUBOPTIMAL_KHR                                           = VkResult.VK_SUBOPTIMAL_KHR;
183 enum VK_ERROR_OUT_OF_DATE_KHR                                    = VkResult.VK_ERROR_OUT_OF_DATE_KHR;
184 enum VK_ERROR_INCOMPATIBLE_DISPLAY_KHR                           = VkResult.VK_ERROR_INCOMPATIBLE_DISPLAY_KHR;
185 enum VK_ERROR_VALIDATION_FAILED_EXT                              = VkResult.VK_ERROR_VALIDATION_FAILED_EXT;
186 enum VK_ERROR_INVALID_SHADER_NV                                  = VkResult.VK_ERROR_INVALID_SHADER_NV;
187 enum VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT       = VkResult.VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT;
188 enum VK_ERROR_NOT_PERMITTED_EXT                                  = VkResult.VK_ERROR_NOT_PERMITTED_EXT;
189 enum VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT                = VkResult.VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT;
190 enum VK_THREAD_IDLE_KHR                                          = VkResult.VK_THREAD_IDLE_KHR;
191 enum VK_THREAD_DONE_KHR                                          = VkResult.VK_THREAD_DONE_KHR;
192 enum VK_OPERATION_DEFERRED_KHR                                   = VkResult.VK_OPERATION_DEFERRED_KHR;
193 enum VK_OPERATION_NOT_DEFERRED_KHR                               = VkResult.VK_OPERATION_NOT_DEFERRED_KHR;
194 enum VK_PIPELINE_COMPILE_REQUIRED_EXT                            = VkResult.VK_PIPELINE_COMPILE_REQUIRED_EXT;
195 enum VK_ERROR_OUT_OF_POOL_MEMORY_KHR                             = VkResult.VK_ERROR_OUT_OF_POOL_MEMORY_KHR;
196 enum VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR                        = VkResult.VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR;
197 enum VK_ERROR_FRAGMENTATION_EXT                                  = VkResult.VK_ERROR_FRAGMENTATION_EXT;
198 enum VK_ERROR_INVALID_DEVICE_ADDRESS_EXT                         = VkResult.VK_ERROR_INVALID_DEVICE_ADDRESS_EXT;
199 enum VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR                 = VkResult.VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR;
200 enum VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT                      = VkResult.VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT;
201 enum VK_RESULT_BEGIN_RANGE                                       = VkResult.VK_RESULT_BEGIN_RANGE;
202 enum VK_RESULT_END_RANGE                                         = VkResult.VK_RESULT_END_RANGE;
203 enum VK_RESULT_RANGE_SIZE                                        = VkResult.VK_RESULT_RANGE_SIZE;
204 enum VK_RESULT_MAX_ENUM                                          = VkResult.VK_RESULT_MAX_ENUM;
205 
206 enum VkStructureType {
207     VK_STRUCTURE_TYPE_APPLICATION_INFO                                                   = 0,
208     VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO                                               = 1,
209     VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO                                           = 2,
210     VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO                                                 = 3,
211     VK_STRUCTURE_TYPE_SUBMIT_INFO                                                        = 4,
212     VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO                                               = 5,
213     VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE                                                = 6,
214     VK_STRUCTURE_TYPE_BIND_SPARSE_INFO                                                   = 7,
215     VK_STRUCTURE_TYPE_FENCE_CREATE_INFO                                                  = 8,
216     VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO                                              = 9,
217     VK_STRUCTURE_TYPE_EVENT_CREATE_INFO                                                  = 10,
218     VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO                                             = 11,
219     VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO                                                 = 12,
220     VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO                                            = 13,
221     VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO                                                  = 14,
222     VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO                                             = 15,
223     VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO                                          = 16,
224     VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO                                         = 17,
225     VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO                                  = 18,
226     VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO                            = 19,
227     VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO                          = 20,
228     VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO                            = 21,
229     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO                                = 22,
230     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO                           = 23,
231     VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO                             = 24,
232     VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO                           = 25,
233     VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO                             = 26,
234     VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO                                 = 27,
235     VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO                                      = 28,
236     VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO                                       = 29,
237     VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO                                        = 30,
238     VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO                                                = 31,
239     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO                                  = 32,
240     VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO                                        = 33,
241     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO                                       = 34,
242     VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET                                               = 35,
243     VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET                                                = 36,
244     VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO                                            = 37,
245     VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO                                            = 38,
246     VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO                                           = 39,
247     VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO                                       = 40,
248     VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO                                    = 41,
249     VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO                                          = 42,
250     VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO                                             = 43,
251     VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER                                              = 44,
252     VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER                                               = 45,
253     VK_STRUCTURE_TYPE_MEMORY_BARRIER                                                     = 46,
254     VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO                                        = 47,
255     VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                                          = 48,
256     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES                                = 1000094000,
257     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO                                            = 1000157000,
258     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO                                             = 1000157001,
259     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES                             = 1000083000,
260     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS                                      = 1000127000,
261     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO                                     = 1000127001,
262     VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO                                         = 1000060000,
263     VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO                                = 1000060003,
264     VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO                             = 1000060004,
265     VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO                                           = 1000060005,
266     VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO                                      = 1000060006,
267     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO                               = 1000060013,
268     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO                                = 1000060014,
269     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES                                   = 1000070000,
270     VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO                                    = 1000070001,
271     VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2                                  = 1000146000,
272     VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2                                   = 1000146001,
273     VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2                            = 1000146002,
274     VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2                                              = 1000146003,
275     VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2                                 = 1000146004,
276     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2                                         = 1000059000,
277     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2                                       = 1000059001,
278     VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2                                                = 1000059002,
279     VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2                                          = 1000059003,
280     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2                                = 1000059004,
281     VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2                                          = 1000059005,
282     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2                                = 1000059006,
283     VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2                                   = 1000059007,
284     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2                         = 1000059008,
285     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES                          = 1000117000,
286     VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO                    = 1000117001,
287     VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO                                       = 1000117002,
288     VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO              = 1000117003,
289     VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO                                  = 1000053000,
290     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES                                 = 1000053001,
291     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES                               = 1000053002,
292     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES                         = 1000120000,
293     VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO                                              = 1000145000,
294     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES                          = 1000145001,
295     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES                        = 1000145002,
296     VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2                                                = 1000145003,
297     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO                               = 1000156000,
298     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO                                      = 1000156001,
299     VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO                                       = 1000156002,
300     VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO                               = 1000156003,
301     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES                  = 1000156004,
302     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES                   = 1000156005,
303     VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO                             = 1000085000,
304     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO                         = 1000071000,
305     VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES                                   = 1000071001,
306     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO                               = 1000071002,
307     VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES                                         = 1000071003,
308     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES                                      = 1000071004,
309     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO                                 = 1000072000,
310     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO                                  = 1000072001,
311     VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO                                        = 1000072002,
312     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO                                = 1000112000,
313     VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES                                          = 1000112001,
314     VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO                                           = 1000113000,
315     VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO                                       = 1000077000,
316     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO                            = 1000076000,
317     VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES                                      = 1000076001,
318     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES                           = 1000168000,
319     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT                                      = 1000168001,
320     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES                    = 1000063000,
321     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES                                = 49,
322     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES                              = 50,
323     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES                                = 51,
324     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES                              = 52,
325     VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO                                      = 1000147000,
326     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2                                           = 1000109000,
327     VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2                                             = 1000109001,
328     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2                                              = 1000109002,
329     VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2                                               = 1000109003,
330     VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2                                          = 1000109004,
331     VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO                                                 = 1000109005,
332     VK_STRUCTURE_TYPE_SUBPASS_END_INFO                                                   = 1000109006,
333     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES                              = 1000177000,
334     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES                                  = 1000196000,
335     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES                       = 1000180000,
336     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES                       = 1000082000,
337     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES                          = 1000197000,
338     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO                    = 1000161000,
339     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES                       = 1000161001,
340     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES                     = 1000161002,
341     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO             = 1000161003,
342     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT            = 1000161004,
343     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES                   = 1000199000,
344     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE                          = 1000199001,
345     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES                       = 1000221000,
346     VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO                                    = 1000246000,
347     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES                   = 1000130000,
348     VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO                                 = 1000130001,
349     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES                       = 1000211000,
350     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES                     = 1000108000,
351     VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO                                = 1000108001,
352     VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO                                  = 1000108002,
353     VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO                                  = 1000108003,
354     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES            = 1000253000,
355     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES            = 1000175000,
356     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES            = 1000241000,
357     VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT                                = 1000241001,
358     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT                              = 1000241002,
359     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES                          = 1000261000,
360     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES                        = 1000207000,
361     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES                      = 1000207001,
362     VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO                                         = 1000207002,
363     VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO                                     = 1000207003,
364     VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO                                                = 1000207004,
365     VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO                                              = 1000207005,
366     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES                     = 1000257000,
367     VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO                                         = 1000244001,
368     VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO                          = 1000257002,
369     VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO                        = 1000257003,
370     VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO                          = 1000257004,
371     VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR                                          = 1000001000,
372     VK_STRUCTURE_TYPE_PRESENT_INFO_KHR                                                   = 1000001001,
373     VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR                              = 1000060007,
374     VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR                                    = 1000060008,
375     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR                               = 1000060009,
376     VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR                                        = 1000060010,
377     VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR                                      = 1000060011,
378     VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR                             = 1000060012,
379     VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR                                       = 1000002000,
380     VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR                                    = 1000002001,
381     VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR                                           = 1000003000,
382     VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR                                       = 1000004000,
383     VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR                                        = 1000005000,
384     VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR                                    = 1000006000,
385     VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR                                    = 1000008000,
386     VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR                                      = 1000009000,
387     VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT                              = 1000011000,
388     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD               = 1000018000,
389     VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT                                  = 1000022000,
390     VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT                                   = 1000022001,
391     VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT                                       = 1000022002,
392     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                          = 1000026000,
393     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                         = 1000026001,
394     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                       = 1000026002,
395     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT                    = 1000028000,
396     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT                  = 1000028001,
397     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT                = 1000028002,
398     VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX                                         = 1000030000,
399     VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX                                  = 1000030001,
400     VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD                           = 1000041000,
401     VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP                          = 1000049000,
402     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV                   = 1000050000,
403     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV                               = 1000056000,
404     VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV                                     = 1000056001,
405     VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV                                 = 1000057000,
406     VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV                                 = 1000057001,
407     VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV                          = 1000058000,
408     VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT                                               = 1000061000,
409     VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN                                          = 1000062000,
410     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT          = 1000066000,
411     VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT                                    = 1000067000,
412     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT                           = 1000067001,
413     VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                = 1000073000,
414     VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                = 1000073001,
415     VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR                                 = 1000073002,
416     VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR                                   = 1000073003,
417     VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR                                          = 1000074000,
418     VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR                                           = 1000074001,
419     VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR                                             = 1000074002,
420     VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR                         = 1000075000,
421     VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                             = 1000078000,
422     VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                             = 1000078001,
423     VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR                                        = 1000078002,
424     VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR                                = 1000078003,
425     VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR                                       = 1000079000,
426     VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR                                          = 1000079001,
427     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR                     = 1000080000,
428     VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT          = 1000081000,
429     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT                 = 1000081001,
430     VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT                               = 1000081002,
431     VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR                                                = 1000084000,
432     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV                   = 1000087000,
433     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT                                         = 1000090000,
434     VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT                                             = 1000091000,
435     VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT                                              = 1000091001,
436     VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT                                             = 1000091002,
437     VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT                                  = 1000091003,
438     VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE                                          = 1000092000,
439     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX       = 1000097000,
440     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV                     = 1000098000,
441     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT                   = 1000099000,
442     VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT                   = 1000099001,
443     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT          = 1000101000,
444     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT          = 1000101001,
445     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT                     = 1000102000,
446     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT            = 1000102001,
447     VK_STRUCTURE_TYPE_HDR_METADATA_EXT                                                   = 1000105000,
448     VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR                            = 1000111000,
449     VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR                                 = 1000114000,
450     VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR                                 = 1000114001,
451     VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR                                    = 1000114002,
452     VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR                                           = 1000115000,
453     VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR                                              = 1000115001,
454     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR                     = 1000116000,
455     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR                   = 1000116001,
456     VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR                             = 1000116002,
457     VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR                                  = 1000116003,
458     VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR                                    = 1000116004,
459     VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR                                            = 1000116005,
460     VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR                                = 1000116006,
461     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR                                 = 1000119000,
462     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR                                         = 1000119001,
463     VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR                                               = 1000119002,
464     VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR                                           = 1000121000,
465     VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR                                     = 1000121001,
466     VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR                                      = 1000121002,
467     VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR                                           = 1000121003,
468     VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR                                   = 1000121004,
469     VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK                                        = 1000122000,
470     VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK                                      = 1000123000,
471     VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT                                   = 1000128000,
472     VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT                                    = 1000128001,
473     VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT                                              = 1000128002,
474     VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT                            = 1000128003,
475     VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT                              = 1000128004,
476     VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID                              = 1000129000,
477     VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID                         = 1000129001,
478     VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID                  = 1000129002,
479     VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                        = 1000129003,
480     VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                    = 1000129004,
481     VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID                                            = 1000129005,
482     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT                  = 1000138000,
483     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT                = 1000138001,
484     VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT                      = 1000138002,
485     VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT               = 1000138003,
486     VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT                                          = 1000143000,
487     VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT                        = 1000143001,
488     VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT                    = 1000143002,
489     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT                    = 1000143003,
490     VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT                                         = 1000143004,
491     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT              = 1000148000,
492     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT            = 1000148001,
493     VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT                = 1000148002,
494     VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV                    = 1000149000,
495     VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR                    = 1000150007,
496     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR                     = 1000150000,
497     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR                     = 1000150002,
498     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR                     = 1000150003,
499     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR                 = 1000150004,
500     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR                 = 1000150005,
501     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR                                = 1000150006,
502     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR                            = 1000150009,
503     VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR                               = 1000150010,
504     VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR                     = 1000150011,
505     VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR                     = 1000150012,
506     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR                = 1000150013,
507     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR              = 1000150014,
508     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR                             = 1000150017,
509     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR                        = 1000150020,
510     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR                  = 1000347000,
511     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR                = 1000347001,
512     VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR                               = 1000150015,
513     VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR                           = 1000150016,
514     VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR                     = 1000150018,
515     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR                             = 1000348013,
516     VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV                  = 1000152000,
517     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV                     = 1000154000,
518     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV                   = 1000154001,
519     VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT                            = 1000158000,
520     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT                 = 1000158002,
521     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT                     = 1000158003,
522     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT                 = 1000158004,
523     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                           = 1000158005,
524     VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT                                   = 1000160000,
525     VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT                     = 1000160001,
526     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR                    = 1000163000,
527     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR                  = 1000163001,
528     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV          = 1000164000,
529     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV                     = 1000164001,
530     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV                   = 1000164002,
531     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV         = 1000164005,
532     VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV                                = 1000165000,
533     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV                              = 1000165001,
534     VK_STRUCTURE_TYPE_GEOMETRY_NV                                                        = 1000165003,
535     VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV                                              = 1000165004,
536     VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV                                                   = 1000165005,
537     VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV                         = 1000165006,
538     VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV                     = 1000165007,
539     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV                 = 1000165008,
540     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV                          = 1000165009,
541     VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV                            = 1000165011,
542     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV                                     = 1000165012,
543     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV           = 1000166000,
544     VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV         = 1000166001,
545     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT                   = 1000170000,
546     VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT                = 1000170001,
547     VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT                       = 1000174000,
548     VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT                                = 1000178000,
549     VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT                                 = 1000178001,
550     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT                = 1000178002,
551     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR                          = 1000181000,
552     VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD                          = 1000183000,
553     VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT                                      = 1000184000,
554     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD                         = 1000185000,
555     VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD                       = 1000189000,
556     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT            = 1000190000,
557     VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT                = 1000190001,
558     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT              = 1000190002,
559     VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP                                            = 1000191000,
560     VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT                         = 1000192000,
561     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV             = 1000201000,
562     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV                            = 1000202000,
563     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV                          = 1000202001,
564     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV            = 1000203000,
565     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV                 = 1000204000,
566     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV           = 1000205000,
567     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV                      = 1000205002,
568     VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV                                                 = 1000206000,
569     VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV                              = 1000206001,
570     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL          = 1000209000,
571     VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL                     = 1000210000,
572     VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL                              = 1000210001,
573     VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL                                      = 1000210002,
574     VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL                               = 1000210003,
575     VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL                                    = 1000210004,
576     VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL                       = 1000210005,
577     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT                        = 1000212000,
578     VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD                        = 1000213000,
579     VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD                       = 1000213001,
580     VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA                              = 1000214000,
581     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR           = 1000215000,
582     VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT                                      = 1000217000,
583     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT                  = 1000218000,
584     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT                = 1000218001,
585     VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT                   = 1000218002,
586     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT               = 1000225000,
587     VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT       = 1000225001,
588     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT                 = 1000225002,
589     VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR                          = 1000226000,
590     VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR               = 1000226001,
591     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR               = 1000226002,
592     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR                 = 1000226003,
593     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR                          = 1000226004,
594     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD                       = 1000227000,
595     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD                       = 1000229000,
596     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT             = 1000234000,
597     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT                       = 1000237000,
598     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT                       = 1000238000,
599     VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT                                  = 1000238001,
600     VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR                                 = 1000239000,
601     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV    = 1000240000,
602     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT                 = 1000244000,
603     VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT                              = 1000244002,
604     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT                                = 1000245000,
605     VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT                                            = 1000247000,
606     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV                     = 1000249000,
607     VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV                                   = 1000249001,
608     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV                   = 1000249002,
609     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV                = 1000250000,
610     VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV                   = 1000250001,
611     VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV                           = 1000250002,
612     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT             = 1000251000,
613     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT                    = 1000252000,
614     VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT                             = 1000255000,
615     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT                     = 1000255002,
616     VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT                       = 1000255001,
617     VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT                                   = 1000256000,
618     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT                    = 1000259000,
619     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT                  = 1000259001,
620     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT                  = 1000259002,
621     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT                   = 1000260000,
622     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT                      = 1000265000,
623     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT                = 1000267000,
624     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR        = 1000269000,
625     VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR                                                  = 1000269001,
626     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR                                 = 1000269002,
627     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR                                       = 1000269003,
628     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR                                  = 1000269004,
629     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR                    = 1000269005,
630     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT    = 1000276000,
631     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV            = 1000277000,
632     VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV                               = 1000277001,
633     VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV                     = 1000277002,
634     VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV                                  = 1000277003,
635     VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV                            = 1000277004,
636     VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV                                         = 1000277005,
637     VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV                     = 1000277006,
638     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV              = 1000277007,
639     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT                = 1000281000,
640     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT              = 1000281001,
641     VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM         = 1000282000,
642     VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM                              = 1000282001,
643     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT                  = 1000284000,
644     VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT                        = 1000284001,
645     VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT                             = 1000284002,
646     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT                          = 1000286000,
647     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT                        = 1000286001,
648     VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT                        = 1000287000,
649     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT                 = 1000287001,
650     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT                   = 1000287002,
651     VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR                                   = 1000290000,
652     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT                          = 1000295000,
653     VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT                                = 1000295001,
654     VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT                                  = 1000295002,
655     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT       = 1000297000,
656     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV                     = 1000300000,
657     VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV                           = 1000300001,
658     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR      = 1000325000,
659     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV          = 1000326000,
660     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV            = 1000326001,
661     VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV           = 1000326002,
662     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT                = 1000332000,
663     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT              = 1000332001,
664     VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM                                   = 1000333000,
665     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT                      = 1000335000,
666     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR      = 1000336000,
667     VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR                                             = 1000337000,
668     VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR                                              = 1000337001,
669     VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR                                    = 1000337002,
670     VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR                                    = 1000337003,
671     VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR                                              = 1000337004,
672     VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR                                           = 1000337005,
673     VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR                                                  = 1000337006,
674     VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR                                                   = 1000337007,
675     VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR                                                   = 1000337008,
676     VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR                                            = 1000337009,
677     VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR                                                = 1000337010,
678     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT                          = 1000340000,
679     VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT                                   = 1000346000,
680     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE             = 1000351000,
681     VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE                          = 1000351002,
682     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES                          = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
683     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
684     VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT                                       = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
685     VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR                              = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
686     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR                             = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
687     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR                           = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
688     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR                                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
689     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR                                   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
690     VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR                                            = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
691     VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR                                      = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
692     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR                            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
693     VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR                                      = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
694     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR                            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
695     VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR                               = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
696     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
697     VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR                                     = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
698     VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR                            = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
699     VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR                         = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
700     VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR                                       = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
701     VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR                                  = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
702     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR                           = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
703     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR                            = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
704     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR                               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
705     VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR                                = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
706     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
707     VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR                               = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
708     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR                           = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
709     VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR                                     = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
710     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR                                  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
711     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR                             = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
712     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR                              = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
713     VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR                                    = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
714     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR                        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
715     VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR                                  = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
716     VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR                                   = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
717     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR                   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
718     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR                          = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
719     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR                         = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
720     VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR                         = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
721     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT                                          = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
722     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR                 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
723     VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR                            = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
724     VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR                              = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
725     VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR                              = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
726     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR                                       = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
727     VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR                                         = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
728     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR                                          = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
729     VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR                                           = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
730     VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR                                      = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
731     VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR                                             = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
732     VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR                                               = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
733     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR                            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
734     VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR                                      = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
735     VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR                                       = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
736     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
737     VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR                = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
738     VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR                                   = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
739     VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR          = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
740     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
741     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
742     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR                                  = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
743     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR                                 = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
744     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
745     VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT                             = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
746     VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR                              = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
747     VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR                               = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
748     VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR                        = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
749     VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR                                          = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
750     VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR                             = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
751     VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR                                  = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
752     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR                           = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
753     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR                                  = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
754     VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR                                   = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
755     VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR                           = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
756     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR              = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
757     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR               = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
758     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR                                        = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
759     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR                                         = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
760     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT                = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
761     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT                   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
762     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT                 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
763     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT         = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
764     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT        = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
765     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR                       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
766     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR                                  = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
767     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
768     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR                          = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
769     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR                   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
770     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR                              = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
771     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
772     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
773     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR                      = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
774     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR                    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
775     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR                  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
776     VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR                                     = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
777     VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR                                 = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
778     VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR                                            = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
779     VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR                                          = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
780     VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL                                       = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
781     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR                   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
782     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT                   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
783     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
784     VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR                            = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
785     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR                          = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
786     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT                        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
787     VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT                                     = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
788     VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT                                = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
789     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
790     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR                 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
791     VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR                                     = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
792     VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR                      = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
793     VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR                    = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
794     VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR                      = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
795     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
796     VK_STRUCTURE_TYPE_BEGIN_RANGE                                                        = VK_STRUCTURE_TYPE_APPLICATION_INFO,
797     VK_STRUCTURE_TYPE_END_RANGE                                                          = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
798     VK_STRUCTURE_TYPE_RANGE_SIZE                                                         = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1,
799     VK_STRUCTURE_TYPE_MAX_ENUM                                                           = 0x7FFFFFFF
800 }
801 
802 enum VK_STRUCTURE_TYPE_APPLICATION_INFO                                                  = VkStructureType.VK_STRUCTURE_TYPE_APPLICATION_INFO;
803 enum VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO                                              = VkStructureType.VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
804 enum VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO                                          = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
805 enum VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO                                                = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
806 enum VK_STRUCTURE_TYPE_SUBMIT_INFO                                                       = VkStructureType.VK_STRUCTURE_TYPE_SUBMIT_INFO;
807 enum VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO                                              = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
808 enum VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE                                               = VkStructureType.VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
809 enum VK_STRUCTURE_TYPE_BIND_SPARSE_INFO                                                  = VkStructureType.VK_STRUCTURE_TYPE_BIND_SPARSE_INFO;
810 enum VK_STRUCTURE_TYPE_FENCE_CREATE_INFO                                                 = VkStructureType.VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
811 enum VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO                                             = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
812 enum VK_STRUCTURE_TYPE_EVENT_CREATE_INFO                                                 = VkStructureType.VK_STRUCTURE_TYPE_EVENT_CREATE_INFO;
813 enum VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO                                            = VkStructureType.VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO;
814 enum VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO                                                = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
815 enum VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO                                           = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
816 enum VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO                                                 = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
817 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO                                            = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
818 enum VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO                                         = VkStructureType.VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
819 enum VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO                                        = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
820 enum VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
821 enum VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO                           = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
822 enum VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO                         = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
823 enum VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO                           = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO;
824 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO                               = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
825 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO                          = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
826 enum VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
827 enum VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO                          = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
828 enum VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
829 enum VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO                                = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
830 enum VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO                                     = VkStructureType.VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
831 enum VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
832 enum VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
833 enum VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO                                               = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
834 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
835 enum VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
836 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
837 enum VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET                                              = VkStructureType.VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
838 enum VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET                                               = VkStructureType.VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET;
839 enum VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO                                           = VkStructureType.VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
840 enum VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO                                           = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
841 enum VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO                                          = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
842 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
843 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO                                   = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
844 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO                                         = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
845 enum VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO                                            = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
846 enum VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER                                             = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
847 enum VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER                                              = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
848 enum VK_STRUCTURE_TYPE_MEMORY_BARRIER                                                    = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_BARRIER;
849 enum VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO;
850 enum VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                                         = VkStructureType.VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO;
851 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
852 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO                                           = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO;
853 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO                                            = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO;
854 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES                            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
855 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS                                     = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
856 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO                                    = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
857 enum VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO                                        = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO;
858 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO                               = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO;
859 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO;
860 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO                                          = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO;
861 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO                                     = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO;
862 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO                              = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO;
863 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO                               = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO;
864 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES                                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
865 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO                                   = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO;
866 enum VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2                                 = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2;
867 enum VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2                                  = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2;
868 enum VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2                           = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
869 enum VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2                                             = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
870 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2                                = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
871 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2                                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
872 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2                                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
873 enum VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2                                               = VkStructureType.VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2;
874 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2                                         = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
875 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
876 enum VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2                                         = VkStructureType.VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2;
877 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
878 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2                                  = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2;
879 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
880 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES;
881 enum VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO                   = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO;
882 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO;
883 enum VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO             = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;
884 enum VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
885 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES                                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES;
886 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES                              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES;
887 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
888 enum VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO                                             = VkStructureType.VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO;
889 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES;
890 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES;
891 enum VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2                                               = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2;
892 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO                              = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
893 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO                                     = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO;
894 enum VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO;
895 enum VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO                              = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
896 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
897 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES                  = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
898 enum VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO;
899 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
900 enum VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES                                  = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES;
901 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO                              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
902 enum VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES                                        = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES;
903 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES                                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES;
904 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO                                = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO;
905 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
906 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO;
907 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
908 enum VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES                                         = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES;
909 enum VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO                                          = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO;
910 enum VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO;
911 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
912 enum VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES                                     = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES;
913 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES;
914 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT                                     = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT;
915 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
916 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES;
917 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES                             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES;
918 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES;
919 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES                             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES;
920 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO                                     = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO;
921 enum VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2                                          = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2;
922 enum VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2                                            = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2;
923 enum VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2                                             = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2;
924 enum VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2                                              = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2;
925 enum VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2                                         = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2;
926 enum VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO                                                = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO;
927 enum VK_STRUCTURE_TYPE_SUBPASS_END_INFO                                                  = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_END_INFO;
928 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES                             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES;
929 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES                                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES;
930 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES;
931 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES;
932 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES;
933 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO                   = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO;
934 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES;
935 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES;
936 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO            = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO;
937 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT           = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT;
938 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES;
939 enum VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE                         = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE;
940 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES;
941 enum VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO                                   = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO;
942 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES;
943 enum VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO                                = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO;
944 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES;
945 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES;
946 enum VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO                               = VkStructureType.VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO;
947 enum VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO;
948 enum VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO;
949 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES;
950 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES;
951 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES;
952 enum VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT                               = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT;
953 enum VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT                             = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT;
954 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES;
955 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES;
956 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES;
957 enum VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO                                        = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO;
958 enum VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO                                    = VkStructureType.VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO;
959 enum VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO                                               = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO;
960 enum VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO                                             = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO;
961 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES;
962 enum VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO                                        = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO;
963 enum VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO                         = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO;
964 enum VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO                       = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO;
965 enum VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO                         = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO;
966 enum VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
967 enum VK_STRUCTURE_TYPE_PRESENT_INFO_KHR                                                  = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;
968 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR;
969 enum VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR;
970 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR;
971 enum VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR                                       = VkStructureType.VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR;
972 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR;
973 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR;
974 enum VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR;
975 enum VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR;
976 enum VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR;
977 enum VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
978 enum VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR                                       = VkStructureType.VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
979 enum VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
980 enum VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
981 enum VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
982 enum VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT                             = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
983 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD              = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
984 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT                                 = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT;
985 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT                                  = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT;
986 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT                                      = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
987 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                         = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV;
988 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                        = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV;
989 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                      = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV;
990 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
991 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT;
992 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT;
993 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX                                        = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX;
994 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX                                 = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX;
995 enum VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD                          = VkStructureType.VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
996 enum VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP                         = VkStructureType.VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP;
997 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV;
998 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV                              = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
999 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV                                    = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV;
1000 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV                                = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV;
1001 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV                                = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV;
1002 enum VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV                         = VkStructureType.VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV;
1003 enum VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT                                              = VkStructureType.VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT;
1004 enum VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN                                         = VkStructureType.VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN;
1005 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT;
1006 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT                                   = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT;
1007 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT;
1008 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
1009 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
1010 enum VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR;
1011 enum VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR;
1012 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR;
1013 enum VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR;
1014 enum VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR                                            = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR;
1015 enum VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR;
1016 enum VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
1017 enum VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
1018 enum VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR                                       = VkStructureType.VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR;
1019 enum VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR;
1020 enum VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR;
1021 enum VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR;
1022 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR;
1023 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT         = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT;
1024 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
1025 enum VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT                              = VkStructureType.VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT;
1026 enum VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR                                               = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR;
1027 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV                  = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV;
1028 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT                                        = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
1029 enum VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT                                            = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT;
1030 enum VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT                                             = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT;
1031 enum VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT                                            = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT;
1032 enum VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT                                 = VkStructureType.VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT;
1033 enum VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE                                         = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE;
1034 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX;
1035 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV                    = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV;
1036 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT;
1037 enum VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT;
1038 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT;
1039 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT         = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT;
1040 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT;
1041 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT           = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT;
1042 enum VK_STRUCTURE_TYPE_HDR_METADATA_EXT                                                  = VkStructureType.VK_STRUCTURE_TYPE_HDR_METADATA_EXT;
1043 enum VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR;
1044 enum VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR;
1045 enum VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR;
1046 enum VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR;
1047 enum VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR;
1048 enum VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR                                             = VkStructureType.VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR;
1049 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR;
1050 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR;
1051 enum VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR;
1052 enum VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR;
1053 enum VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR;
1054 enum VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR                                           = VkStructureType.VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR;
1055 enum VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR;
1056 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
1057 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR                                        = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR;
1058 enum VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR                                              = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR;
1059 enum VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR;
1060 enum VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR;
1061 enum VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR;
1062 enum VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR;
1063 enum VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR;
1064 enum VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK                                       = VkStructureType.VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK;
1065 enum VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK                                     = VkStructureType.VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK;
1066 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT                                  = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
1067 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT                                   = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT;
1068 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT                                             = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
1069 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT                           = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
1070 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT                             = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
1071 enum VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID                             = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID;
1072 enum VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID                        = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID;
1073 enum VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID                 = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID;
1074 enum VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                       = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
1075 enum VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                   = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
1076 enum VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID                                           = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID;
1077 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT;
1078 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT;
1079 enum VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT                     = VkStructureType.VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT;
1080 enum VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT              = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT;
1081 enum VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT                                         = VkStructureType.VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT;
1082 enum VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT                       = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT;
1083 enum VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT                   = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT;
1084 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT;
1085 enum VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT                                        = VkStructureType.VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT;
1086 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT;
1087 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT;
1088 enum VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT;
1089 enum VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV                   = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV;
1090 enum VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR                   = VkStructureType.VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR;
1091 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR;
1092 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR;
1093 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR;
1094 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR                = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR;
1095 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR                = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR;
1096 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR;
1097 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR;
1098 enum VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR;
1099 enum VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR;
1100 enum VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR;
1101 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR;
1102 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR;
1103 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR;
1104 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR                       = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR;
1105 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR;
1106 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR;
1107 enum VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR;
1108 enum VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR;
1109 enum VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR;
1110 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR;
1111 enum VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV                 = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV;
1112 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV;
1113 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV;
1114 enum VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT                           = VkStructureType.VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT;
1115 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT;
1116 enum VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT                    = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT;
1117 enum VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT                = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT;
1118 enum VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                          = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT;
1119 enum VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT                                  = VkStructureType.VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT;
1120 enum VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT                    = VkStructureType.VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT;
1121 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR;
1122 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR;
1123 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;
1124 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV;
1125 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV;
1126 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;
1127 enum VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV                               = VkStructureType.VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV;
1128 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV                             = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV;
1129 enum VK_STRUCTURE_TYPE_GEOMETRY_NV                                                       = VkStructureType.VK_STRUCTURE_TYPE_GEOMETRY_NV;
1130 enum VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV                                             = VkStructureType.VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV;
1131 enum VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV                                                  = VkStructureType.VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV;
1132 enum VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV                        = VkStructureType.VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV;
1133 enum VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV                    = VkStructureType.VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV;
1134 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV                = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV;
1135 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV;
1136 enum VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV                           = VkStructureType.VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV;
1137 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV                                    = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV;
1138 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV;
1139 enum VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV        = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV;
1140 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT;
1141 enum VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT               = VkStructureType.VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT;
1142 enum VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT                      = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT;
1143 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT                               = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT;
1144 enum VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT                                = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT;
1145 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT;
1146 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR;
1147 enum VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD                         = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD;
1148 enum VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT                                     = VkStructureType.VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT;
1149 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD;
1150 enum VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD                      = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD;
1151 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT;
1152 enum VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT;
1153 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT;
1154 enum VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP                                           = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP;
1155 enum VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT                        = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT;
1156 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV;
1157 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV;
1158 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV;
1159 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV;
1160 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV;
1161 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV          = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV;
1162 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV;
1163 enum VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV                                                = VkStructureType.VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV;
1164 enum VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV                             = VkStructureType.VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV;
1165 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL;
1166 enum VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL                    = VkStructureType.VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL;
1167 enum VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL                             = VkStructureType.VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL;
1168 enum VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL                                     = VkStructureType.VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL;
1169 enum VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL                              = VkStructureType.VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL;
1170 enum VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL                                   = VkStructureType.VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL;
1171 enum VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL                      = VkStructureType.VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL;
1172 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT;
1173 enum VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD                       = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD;
1174 enum VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD                      = VkStructureType.VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD;
1175 enum VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA                             = VkStructureType.VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA;
1176 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR;
1177 enum VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT                                     = VkStructureType.VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT;
1178 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
1179 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
1180 enum VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT;
1181 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT;
1182 enum VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT      = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT;
1183 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT;
1184 enum VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR;
1185 enum VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR              = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR;
1186 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR;
1187 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR;
1188 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR;
1189 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD;
1190 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD;
1191 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT;
1192 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT;
1193 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT;
1194 enum VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT                                 = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT;
1195 enum VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR;
1196 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV;
1197 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT;
1198 enum VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT                             = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT;
1199 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT;
1200 enum VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT                                           = VkStructureType.VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT;
1201 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV;
1202 enum VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV                                  = VkStructureType.VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV;
1203 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV;
1204 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV;
1205 enum VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV                  = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV;
1206 enum VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV                          = VkStructureType.VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV;
1207 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT;
1208 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT;
1209 enum VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT                            = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT;
1210 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT                    = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT;
1211 enum VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT                      = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT;
1212 enum VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT                                  = VkStructureType.VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT;
1213 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT;
1214 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT                 = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT;
1215 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT;
1216 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT;
1217 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT;
1218 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT;
1219 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR;
1220 enum VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR                                                 = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR;
1221 enum VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR;
1222 enum VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR;
1223 enum VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR;
1224 enum VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR                   = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR;
1225 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT;
1226 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV;
1227 enum VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV                              = VkStructureType.VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV;
1228 enum VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV                    = VkStructureType.VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV;
1229 enum VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV                                 = VkStructureType.VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV;
1230 enum VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV                           = VkStructureType.VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV;
1231 enum VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV                                        = VkStructureType.VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV;
1232 enum VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV                    = VkStructureType.VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV;
1233 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV;
1234 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT;
1235 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT;
1236 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM        = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM;
1237 enum VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM                             = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM;
1238 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT;
1239 enum VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT                       = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT;
1240 enum VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT                            = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT;
1241 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT;
1242 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT;
1243 enum VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT                       = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT;
1244 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT;
1245 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT;
1246 enum VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR;
1247 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT;
1248 enum VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT                               = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT;
1249 enum VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT                                 = VkStructureType.VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT;
1250 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT;
1251 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV;
1252 enum VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV                          = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV;
1253 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR;
1254 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV;
1255 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV;
1256 enum VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV          = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV;
1257 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT;
1258 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT;
1259 enum VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM                                  = VkStructureType.VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM;
1260 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT;
1261 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR;
1262 enum VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR                                            = VkStructureType.VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR;
1263 enum VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR                                             = VkStructureType.VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR;
1264 enum VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR;
1265 enum VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR;
1266 enum VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR                                             = VkStructureType.VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR;
1267 enum VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR;
1268 enum VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR                                                 = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR;
1269 enum VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR                                                  = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR;
1270 enum VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR                                                  = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR;
1271 enum VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR                                           = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR;
1272 enum VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR                                               = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR;
1273 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT;
1274 enum VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT                                  = VkStructureType.VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT;
1275 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE;
1276 enum VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE                         = VkStructureType.VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE;
1277 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES;
1278 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES;
1279 enum VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT                                      = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT;
1280 enum VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR;
1281 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR;
1282 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR;
1283 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR;
1284 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR;
1285 enum VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR                                           = VkStructureType.VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR;
1286 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR;
1287 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR;
1288 enum VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR;
1289 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR;
1290 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR;
1291 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR;
1292 enum VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR;
1293 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR;
1294 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR;
1295 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR;
1296 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR;
1297 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR;
1298 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR;
1299 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR;
1300 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR;
1301 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR;
1302 enum VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR;
1303 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR;
1304 enum VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR;
1305 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR;
1306 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR;
1307 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR;
1308 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR;
1309 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR;
1310 enum VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR;
1311 enum VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR;
1312 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR;
1313 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR;
1314 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR;
1315 enum VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR;
1316 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT                                         = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT;
1317 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR;
1318 enum VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR;
1319 enum VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR;
1320 enum VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR;
1321 enum VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR;
1322 enum VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR                                        = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR;
1323 enum VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR;
1324 enum VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR;
1325 enum VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR;
1326 enum VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR                                            = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR;
1327 enum VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR                                              = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR;
1328 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR;
1329 enum VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR;
1330 enum VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR;
1331 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR;
1332 enum VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR               = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR;
1333 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR;
1334 enum VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR         = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR;
1335 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR;
1336 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR;
1337 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR;
1338 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR;
1339 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT;
1340 enum VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT                            = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT;
1341 enum VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR;
1342 enum VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR;
1343 enum VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR                       = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR;
1344 enum VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR;
1345 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR;
1346 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR;
1347 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR;
1348 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR;
1349 enum VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR;
1350 enum VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR;
1351 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR;
1352 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR              = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR;
1353 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR                                       = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR;
1354 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR                                        = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR;
1355 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT               = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT;
1356 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT;
1357 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT;
1358 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT        = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT;
1359 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT       = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT;
1360 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR;
1361 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR;
1362 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR;
1363 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR;
1364 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR;
1365 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR;
1366 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR;
1367 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR;
1368 enum VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR;
1369 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR;
1370 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR;
1371 enum VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR;
1372 enum VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR;
1373 enum VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR                                           = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR;
1374 enum VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR;
1375 enum VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL                                      = VkStructureType.VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL;
1376 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR;
1377 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT;
1378 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR;
1379 enum VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR;
1380 enum VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR;
1381 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT;
1382 enum VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT                                    = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT;
1383 enum VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT                               = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT;
1384 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR;
1385 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR;
1386 enum VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR;
1387 enum VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR;
1388 enum VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR                   = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR;
1389 enum VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR;
1390 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT;
1391 enum VK_STRUCTURE_TYPE_BEGIN_RANGE                                                       = VkStructureType.VK_STRUCTURE_TYPE_BEGIN_RANGE;
1392 enum VK_STRUCTURE_TYPE_END_RANGE                                                         = VkStructureType.VK_STRUCTURE_TYPE_END_RANGE;
1393 enum VK_STRUCTURE_TYPE_RANGE_SIZE                                                        = VkStructureType.VK_STRUCTURE_TYPE_RANGE_SIZE;
1394 enum VK_STRUCTURE_TYPE_MAX_ENUM                                                          = VkStructureType.VK_STRUCTURE_TYPE_MAX_ENUM;
1395 
1396 enum VkImageLayout {
1397     VK_IMAGE_LAYOUT_UNDEFINED                                            = 0,
1398     VK_IMAGE_LAYOUT_GENERAL                                              = 1,
1399     VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL                             = 2,
1400     VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL                     = 3,
1401     VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL                      = 4,
1402     VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                             = 5,
1403     VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL                                 = 6,
1404     VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL                                 = 7,
1405     VK_IMAGE_LAYOUT_PREINITIALIZED                                       = 8,
1406     VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL           = 1000117000,
1407     VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL           = 1000117001,
1408     VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL                             = 1000241000,
1409     VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL                              = 1000241001,
1410     VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL                           = 1000241002,
1411     VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL                            = 1000241003,
1412     VK_IMAGE_LAYOUT_PRESENT_SRC_KHR                                      = 1000001002,
1413     VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR                                   = 1000111000,
1414     VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV                              = 1000164003,
1415     VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT                     = 1000218000,
1416     VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR       = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1417     VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR       = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1418     VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR         = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
1419     VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR                         = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1420     VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR                          = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1421     VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR                       = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1422     VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR                        = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1423     VK_IMAGE_LAYOUT_BEGIN_RANGE                                          = VK_IMAGE_LAYOUT_UNDEFINED,
1424     VK_IMAGE_LAYOUT_END_RANGE                                            = VK_IMAGE_LAYOUT_PREINITIALIZED,
1425     VK_IMAGE_LAYOUT_RANGE_SIZE                                           = VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1,
1426     VK_IMAGE_LAYOUT_MAX_ENUM                                             = 0x7FFFFFFF
1427 }
1428 
1429 enum VK_IMAGE_LAYOUT_UNDEFINED                                           = VkImageLayout.VK_IMAGE_LAYOUT_UNDEFINED;
1430 enum VK_IMAGE_LAYOUT_GENERAL                                             = VkImageLayout.VK_IMAGE_LAYOUT_GENERAL;
1431 enum VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL                            = VkImageLayout.VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
1432 enum VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL                    = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
1433 enum VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL                     = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL;
1434 enum VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                            = VkImageLayout.VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
1435 enum VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL                                = VkImageLayout.VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
1436 enum VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL                                = VkImageLayout.VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
1437 enum VK_IMAGE_LAYOUT_PREINITIALIZED                                      = VkImageLayout.VK_IMAGE_LAYOUT_PREINITIALIZED;
1438 enum VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL          = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL;
1439 enum VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL          = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL;
1440 enum VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL                            = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL;
1441 enum VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL                             = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL;
1442 enum VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL                          = VkImageLayout.VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL;
1443 enum VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL                           = VkImageLayout.VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL;
1444 enum VK_IMAGE_LAYOUT_PRESENT_SRC_KHR                                     = VkImageLayout.VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
1445 enum VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR                                  = VkImageLayout.VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR;
1446 enum VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV                             = VkImageLayout.VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV;
1447 enum VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT                    = VkImageLayout.VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT;
1448 enum VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR      = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR;
1449 enum VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR      = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR;
1450 enum VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR        = VkImageLayout.VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR;
1451 enum VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR                        = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR;
1452 enum VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR                         = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR;
1453 enum VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR                      = VkImageLayout.VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR;
1454 enum VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR                       = VkImageLayout.VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR;
1455 enum VK_IMAGE_LAYOUT_BEGIN_RANGE                                         = VkImageLayout.VK_IMAGE_LAYOUT_BEGIN_RANGE;
1456 enum VK_IMAGE_LAYOUT_END_RANGE                                           = VkImageLayout.VK_IMAGE_LAYOUT_END_RANGE;
1457 enum VK_IMAGE_LAYOUT_RANGE_SIZE                                          = VkImageLayout.VK_IMAGE_LAYOUT_RANGE_SIZE;
1458 enum VK_IMAGE_LAYOUT_MAX_ENUM                                            = VkImageLayout.VK_IMAGE_LAYOUT_MAX_ENUM;
1459 
1460 enum VkObjectType {
1461     VK_OBJECT_TYPE_UNKNOWN                               = 0,
1462     VK_OBJECT_TYPE_INSTANCE                              = 1,
1463     VK_OBJECT_TYPE_PHYSICAL_DEVICE                       = 2,
1464     VK_OBJECT_TYPE_DEVICE                                = 3,
1465     VK_OBJECT_TYPE_QUEUE                                 = 4,
1466     VK_OBJECT_TYPE_SEMAPHORE                             = 5,
1467     VK_OBJECT_TYPE_COMMAND_BUFFER                        = 6,
1468     VK_OBJECT_TYPE_FENCE                                 = 7,
1469     VK_OBJECT_TYPE_DEVICE_MEMORY                         = 8,
1470     VK_OBJECT_TYPE_BUFFER                                = 9,
1471     VK_OBJECT_TYPE_IMAGE                                 = 10,
1472     VK_OBJECT_TYPE_EVENT                                 = 11,
1473     VK_OBJECT_TYPE_QUERY_POOL                            = 12,
1474     VK_OBJECT_TYPE_BUFFER_VIEW                           = 13,
1475     VK_OBJECT_TYPE_IMAGE_VIEW                            = 14,
1476     VK_OBJECT_TYPE_SHADER_MODULE                         = 15,
1477     VK_OBJECT_TYPE_PIPELINE_CACHE                        = 16,
1478     VK_OBJECT_TYPE_PIPELINE_LAYOUT                       = 17,
1479     VK_OBJECT_TYPE_RENDER_PASS                           = 18,
1480     VK_OBJECT_TYPE_PIPELINE                              = 19,
1481     VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT                 = 20,
1482     VK_OBJECT_TYPE_SAMPLER                               = 21,
1483     VK_OBJECT_TYPE_DESCRIPTOR_POOL                       = 22,
1484     VK_OBJECT_TYPE_DESCRIPTOR_SET                        = 23,
1485     VK_OBJECT_TYPE_FRAMEBUFFER                           = 24,
1486     VK_OBJECT_TYPE_COMMAND_POOL                          = 25,
1487     VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION              = 1000156000,
1488     VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE            = 1000085000,
1489     VK_OBJECT_TYPE_SURFACE_KHR                           = 1000000000,
1490     VK_OBJECT_TYPE_SWAPCHAIN_KHR                         = 1000001000,
1491     VK_OBJECT_TYPE_DISPLAY_KHR                           = 1000002000,
1492     VK_OBJECT_TYPE_DISPLAY_MODE_KHR                      = 1000002001,
1493     VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT             = 1000011000,
1494     VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT             = 1000128000,
1495     VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR            = 1000150000,
1496     VK_OBJECT_TYPE_VALIDATION_CACHE_EXT                  = 1000160000,
1497     VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV             = 1000165000,
1498     VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL       = 1000210000,
1499     VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR                = 1000268000,
1500     VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV           = 1000277000,
1501     VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT                 = 1000295000,
1502     VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR        = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1503     VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR          = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1504     VK_OBJECT_TYPE_BEGIN_RANGE                           = VK_OBJECT_TYPE_UNKNOWN,
1505     VK_OBJECT_TYPE_END_RANGE                             = VK_OBJECT_TYPE_COMMAND_POOL,
1506     VK_OBJECT_TYPE_RANGE_SIZE                            = VK_OBJECT_TYPE_COMMAND_POOL - VK_OBJECT_TYPE_UNKNOWN + 1,
1507     VK_OBJECT_TYPE_MAX_ENUM                              = 0x7FFFFFFF
1508 }
1509 
1510 enum VK_OBJECT_TYPE_UNKNOWN                              = VkObjectType.VK_OBJECT_TYPE_UNKNOWN;
1511 enum VK_OBJECT_TYPE_INSTANCE                             = VkObjectType.VK_OBJECT_TYPE_INSTANCE;
1512 enum VK_OBJECT_TYPE_PHYSICAL_DEVICE                      = VkObjectType.VK_OBJECT_TYPE_PHYSICAL_DEVICE;
1513 enum VK_OBJECT_TYPE_DEVICE                               = VkObjectType.VK_OBJECT_TYPE_DEVICE;
1514 enum VK_OBJECT_TYPE_QUEUE                                = VkObjectType.VK_OBJECT_TYPE_QUEUE;
1515 enum VK_OBJECT_TYPE_SEMAPHORE                            = VkObjectType.VK_OBJECT_TYPE_SEMAPHORE;
1516 enum VK_OBJECT_TYPE_COMMAND_BUFFER                       = VkObjectType.VK_OBJECT_TYPE_COMMAND_BUFFER;
1517 enum VK_OBJECT_TYPE_FENCE                                = VkObjectType.VK_OBJECT_TYPE_FENCE;
1518 enum VK_OBJECT_TYPE_DEVICE_MEMORY                        = VkObjectType.VK_OBJECT_TYPE_DEVICE_MEMORY;
1519 enum VK_OBJECT_TYPE_BUFFER                               = VkObjectType.VK_OBJECT_TYPE_BUFFER;
1520 enum VK_OBJECT_TYPE_IMAGE                                = VkObjectType.VK_OBJECT_TYPE_IMAGE;
1521 enum VK_OBJECT_TYPE_EVENT                                = VkObjectType.VK_OBJECT_TYPE_EVENT;
1522 enum VK_OBJECT_TYPE_QUERY_POOL                           = VkObjectType.VK_OBJECT_TYPE_QUERY_POOL;
1523 enum VK_OBJECT_TYPE_BUFFER_VIEW                          = VkObjectType.VK_OBJECT_TYPE_BUFFER_VIEW;
1524 enum VK_OBJECT_TYPE_IMAGE_VIEW                           = VkObjectType.VK_OBJECT_TYPE_IMAGE_VIEW;
1525 enum VK_OBJECT_TYPE_SHADER_MODULE                        = VkObjectType.VK_OBJECT_TYPE_SHADER_MODULE;
1526 enum VK_OBJECT_TYPE_PIPELINE_CACHE                       = VkObjectType.VK_OBJECT_TYPE_PIPELINE_CACHE;
1527 enum VK_OBJECT_TYPE_PIPELINE_LAYOUT                      = VkObjectType.VK_OBJECT_TYPE_PIPELINE_LAYOUT;
1528 enum VK_OBJECT_TYPE_RENDER_PASS                          = VkObjectType.VK_OBJECT_TYPE_RENDER_PASS;
1529 enum VK_OBJECT_TYPE_PIPELINE                             = VkObjectType.VK_OBJECT_TYPE_PIPELINE;
1530 enum VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT                = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT;
1531 enum VK_OBJECT_TYPE_SAMPLER                              = VkObjectType.VK_OBJECT_TYPE_SAMPLER;
1532 enum VK_OBJECT_TYPE_DESCRIPTOR_POOL                      = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_POOL;
1533 enum VK_OBJECT_TYPE_DESCRIPTOR_SET                       = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_SET;
1534 enum VK_OBJECT_TYPE_FRAMEBUFFER                          = VkObjectType.VK_OBJECT_TYPE_FRAMEBUFFER;
1535 enum VK_OBJECT_TYPE_COMMAND_POOL                         = VkObjectType.VK_OBJECT_TYPE_COMMAND_POOL;
1536 enum VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION             = VkObjectType.VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION;
1537 enum VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE           = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE;
1538 enum VK_OBJECT_TYPE_SURFACE_KHR                          = VkObjectType.VK_OBJECT_TYPE_SURFACE_KHR;
1539 enum VK_OBJECT_TYPE_SWAPCHAIN_KHR                        = VkObjectType.VK_OBJECT_TYPE_SWAPCHAIN_KHR;
1540 enum VK_OBJECT_TYPE_DISPLAY_KHR                          = VkObjectType.VK_OBJECT_TYPE_DISPLAY_KHR;
1541 enum VK_OBJECT_TYPE_DISPLAY_MODE_KHR                     = VkObjectType.VK_OBJECT_TYPE_DISPLAY_MODE_KHR;
1542 enum VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT            = VkObjectType.VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT;
1543 enum VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT            = VkObjectType.VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT;
1544 enum VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR           = VkObjectType.VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR;
1545 enum VK_OBJECT_TYPE_VALIDATION_CACHE_EXT                 = VkObjectType.VK_OBJECT_TYPE_VALIDATION_CACHE_EXT;
1546 enum VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV            = VkObjectType.VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV;
1547 enum VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL      = VkObjectType.VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL;
1548 enum VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR               = VkObjectType.VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR;
1549 enum VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV          = VkObjectType.VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV;
1550 enum VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT                = VkObjectType.VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT;
1551 enum VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR       = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR;
1552 enum VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR         = VkObjectType.VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR;
1553 enum VK_OBJECT_TYPE_BEGIN_RANGE                          = VkObjectType.VK_OBJECT_TYPE_BEGIN_RANGE;
1554 enum VK_OBJECT_TYPE_END_RANGE                            = VkObjectType.VK_OBJECT_TYPE_END_RANGE;
1555 enum VK_OBJECT_TYPE_RANGE_SIZE                           = VkObjectType.VK_OBJECT_TYPE_RANGE_SIZE;
1556 enum VK_OBJECT_TYPE_MAX_ENUM                             = VkObjectType.VK_OBJECT_TYPE_MAX_ENUM;
1557 
1558 enum VkVendorId {
1559     VK_VENDOR_ID_VIV             = 0x10001,
1560     VK_VENDOR_ID_VSI             = 0x10002,
1561     VK_VENDOR_ID_KAZAN           = 0x10003,
1562     VK_VENDOR_ID_CODEPLAY        = 0x10004,
1563     VK_VENDOR_ID_MESA            = 0x10005,
1564     VK_VENDOR_ID_POCL            = 0x10006,
1565     VK_VENDOR_ID_BEGIN_RANGE     = VK_VENDOR_ID_VIV,
1566     VK_VENDOR_ID_END_RANGE       = VK_VENDOR_ID_POCL,
1567     VK_VENDOR_ID_RANGE_SIZE      = VK_VENDOR_ID_POCL - VK_VENDOR_ID_VIV + 1,
1568     VK_VENDOR_ID_MAX_ENUM        = 0x7FFFFFFF
1569 }
1570 
1571 enum VK_VENDOR_ID_VIV            = VkVendorId.VK_VENDOR_ID_VIV;
1572 enum VK_VENDOR_ID_VSI            = VkVendorId.VK_VENDOR_ID_VSI;
1573 enum VK_VENDOR_ID_KAZAN          = VkVendorId.VK_VENDOR_ID_KAZAN;
1574 enum VK_VENDOR_ID_CODEPLAY       = VkVendorId.VK_VENDOR_ID_CODEPLAY;
1575 enum VK_VENDOR_ID_MESA           = VkVendorId.VK_VENDOR_ID_MESA;
1576 enum VK_VENDOR_ID_POCL           = VkVendorId.VK_VENDOR_ID_POCL;
1577 enum VK_VENDOR_ID_BEGIN_RANGE    = VkVendorId.VK_VENDOR_ID_BEGIN_RANGE;
1578 enum VK_VENDOR_ID_END_RANGE      = VkVendorId.VK_VENDOR_ID_END_RANGE;
1579 enum VK_VENDOR_ID_RANGE_SIZE     = VkVendorId.VK_VENDOR_ID_RANGE_SIZE;
1580 enum VK_VENDOR_ID_MAX_ENUM       = VkVendorId.VK_VENDOR_ID_MAX_ENUM;
1581 
1582 enum VkPipelineCacheHeaderVersion {
1583     VK_PIPELINE_CACHE_HEADER_VERSION_ONE                 = 1,
1584     VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE         = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
1585     VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE           = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
1586     VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE          = VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1,
1587     VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM            = 0x7FFFFFFF
1588 }
1589 
1590 enum VK_PIPELINE_CACHE_HEADER_VERSION_ONE                = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
1591 enum VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE        = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE;
1592 enum VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE          = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE;
1593 enum VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE         = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE;
1594 enum VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM           = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM;
1595 
1596 enum VkSystemAllocationScope {
1597     VK_SYSTEM_ALLOCATION_SCOPE_COMMAND           = 0,
1598     VK_SYSTEM_ALLOCATION_SCOPE_OBJECT            = 1,
1599     VK_SYSTEM_ALLOCATION_SCOPE_CACHE             = 2,
1600     VK_SYSTEM_ALLOCATION_SCOPE_DEVICE            = 3,
1601     VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE          = 4,
1602     VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE       = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
1603     VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE         = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE,
1604     VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE        = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1,
1605     VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM          = 0x7FFFFFFF
1606 }
1607 
1608 enum VK_SYSTEM_ALLOCATION_SCOPE_COMMAND          = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_COMMAND;
1609 enum VK_SYSTEM_ALLOCATION_SCOPE_OBJECT           = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_OBJECT;
1610 enum VK_SYSTEM_ALLOCATION_SCOPE_CACHE            = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_CACHE;
1611 enum VK_SYSTEM_ALLOCATION_SCOPE_DEVICE           = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_DEVICE;
1612 enum VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE         = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE;
1613 enum VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE      = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE;
1614 enum VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE        = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE;
1615 enum VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE       = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE;
1616 enum VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM         = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM;
1617 
1618 enum VkInternalAllocationType {
1619     VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE       = 0,
1620     VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE      = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
1621     VK_INTERNAL_ALLOCATION_TYPE_END_RANGE        = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
1622     VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE       = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1,
1623     VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM         = 0x7FFFFFFF
1624 }
1625 
1626 enum VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE      = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE;
1627 enum VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE     = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE;
1628 enum VK_INTERNAL_ALLOCATION_TYPE_END_RANGE       = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_END_RANGE;
1629 enum VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE      = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE;
1630 enum VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM        = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM;
1631 
1632 enum VkFormat {
1633     VK_FORMAT_UNDEFINED                                          = 0,
1634     VK_FORMAT_R4G4_UNORM_PACK8                                   = 1,
1635     VK_FORMAT_R4G4B4A4_UNORM_PACK16                              = 2,
1636     VK_FORMAT_B4G4R4A4_UNORM_PACK16                              = 3,
1637     VK_FORMAT_R5G6B5_UNORM_PACK16                                = 4,
1638     VK_FORMAT_B5G6R5_UNORM_PACK16                                = 5,
1639     VK_FORMAT_R5G5B5A1_UNORM_PACK16                              = 6,
1640     VK_FORMAT_B5G5R5A1_UNORM_PACK16                              = 7,
1641     VK_FORMAT_A1R5G5B5_UNORM_PACK16                              = 8,
1642     VK_FORMAT_R8_UNORM                                           = 9,
1643     VK_FORMAT_R8_SNORM                                           = 10,
1644     VK_FORMAT_R8_USCALED                                         = 11,
1645     VK_FORMAT_R8_SSCALED                                         = 12,
1646     VK_FORMAT_R8_UINT                                            = 13,
1647     VK_FORMAT_R8_SINT                                            = 14,
1648     VK_FORMAT_R8_SRGB                                            = 15,
1649     VK_FORMAT_R8G8_UNORM                                         = 16,
1650     VK_FORMAT_R8G8_SNORM                                         = 17,
1651     VK_FORMAT_R8G8_USCALED                                       = 18,
1652     VK_FORMAT_R8G8_SSCALED                                       = 19,
1653     VK_FORMAT_R8G8_UINT                                          = 20,
1654     VK_FORMAT_R8G8_SINT                                          = 21,
1655     VK_FORMAT_R8G8_SRGB                                          = 22,
1656     VK_FORMAT_R8G8B8_UNORM                                       = 23,
1657     VK_FORMAT_R8G8B8_SNORM                                       = 24,
1658     VK_FORMAT_R8G8B8_USCALED                                     = 25,
1659     VK_FORMAT_R8G8B8_SSCALED                                     = 26,
1660     VK_FORMAT_R8G8B8_UINT                                        = 27,
1661     VK_FORMAT_R8G8B8_SINT                                        = 28,
1662     VK_FORMAT_R8G8B8_SRGB                                        = 29,
1663     VK_FORMAT_B8G8R8_UNORM                                       = 30,
1664     VK_FORMAT_B8G8R8_SNORM                                       = 31,
1665     VK_FORMAT_B8G8R8_USCALED                                     = 32,
1666     VK_FORMAT_B8G8R8_SSCALED                                     = 33,
1667     VK_FORMAT_B8G8R8_UINT                                        = 34,
1668     VK_FORMAT_B8G8R8_SINT                                        = 35,
1669     VK_FORMAT_B8G8R8_SRGB                                        = 36,
1670     VK_FORMAT_R8G8B8A8_UNORM                                     = 37,
1671     VK_FORMAT_R8G8B8A8_SNORM                                     = 38,
1672     VK_FORMAT_R8G8B8A8_USCALED                                   = 39,
1673     VK_FORMAT_R8G8B8A8_SSCALED                                   = 40,
1674     VK_FORMAT_R8G8B8A8_UINT                                      = 41,
1675     VK_FORMAT_R8G8B8A8_SINT                                      = 42,
1676     VK_FORMAT_R8G8B8A8_SRGB                                      = 43,
1677     VK_FORMAT_B8G8R8A8_UNORM                                     = 44,
1678     VK_FORMAT_B8G8R8A8_SNORM                                     = 45,
1679     VK_FORMAT_B8G8R8A8_USCALED                                   = 46,
1680     VK_FORMAT_B8G8R8A8_SSCALED                                   = 47,
1681     VK_FORMAT_B8G8R8A8_UINT                                      = 48,
1682     VK_FORMAT_B8G8R8A8_SINT                                      = 49,
1683     VK_FORMAT_B8G8R8A8_SRGB                                      = 50,
1684     VK_FORMAT_A8B8G8R8_UNORM_PACK32                              = 51,
1685     VK_FORMAT_A8B8G8R8_SNORM_PACK32                              = 52,
1686     VK_FORMAT_A8B8G8R8_USCALED_PACK32                            = 53,
1687     VK_FORMAT_A8B8G8R8_SSCALED_PACK32                            = 54,
1688     VK_FORMAT_A8B8G8R8_UINT_PACK32                               = 55,
1689     VK_FORMAT_A8B8G8R8_SINT_PACK32                               = 56,
1690     VK_FORMAT_A8B8G8R8_SRGB_PACK32                               = 57,
1691     VK_FORMAT_A2R10G10B10_UNORM_PACK32                           = 58,
1692     VK_FORMAT_A2R10G10B10_SNORM_PACK32                           = 59,
1693     VK_FORMAT_A2R10G10B10_USCALED_PACK32                         = 60,
1694     VK_FORMAT_A2R10G10B10_SSCALED_PACK32                         = 61,
1695     VK_FORMAT_A2R10G10B10_UINT_PACK32                            = 62,
1696     VK_FORMAT_A2R10G10B10_SINT_PACK32                            = 63,
1697     VK_FORMAT_A2B10G10R10_UNORM_PACK32                           = 64,
1698     VK_FORMAT_A2B10G10R10_SNORM_PACK32                           = 65,
1699     VK_FORMAT_A2B10G10R10_USCALED_PACK32                         = 66,
1700     VK_FORMAT_A2B10G10R10_SSCALED_PACK32                         = 67,
1701     VK_FORMAT_A2B10G10R10_UINT_PACK32                            = 68,
1702     VK_FORMAT_A2B10G10R10_SINT_PACK32                            = 69,
1703     VK_FORMAT_R16_UNORM                                          = 70,
1704     VK_FORMAT_R16_SNORM                                          = 71,
1705     VK_FORMAT_R16_USCALED                                        = 72,
1706     VK_FORMAT_R16_SSCALED                                        = 73,
1707     VK_FORMAT_R16_UINT                                           = 74,
1708     VK_FORMAT_R16_SINT                                           = 75,
1709     VK_FORMAT_R16_SFLOAT                                         = 76,
1710     VK_FORMAT_R16G16_UNORM                                       = 77,
1711     VK_FORMAT_R16G16_SNORM                                       = 78,
1712     VK_FORMAT_R16G16_USCALED                                     = 79,
1713     VK_FORMAT_R16G16_SSCALED                                     = 80,
1714     VK_FORMAT_R16G16_UINT                                        = 81,
1715     VK_FORMAT_R16G16_SINT                                        = 82,
1716     VK_FORMAT_R16G16_SFLOAT                                      = 83,
1717     VK_FORMAT_R16G16B16_UNORM                                    = 84,
1718     VK_FORMAT_R16G16B16_SNORM                                    = 85,
1719     VK_FORMAT_R16G16B16_USCALED                                  = 86,
1720     VK_FORMAT_R16G16B16_SSCALED                                  = 87,
1721     VK_FORMAT_R16G16B16_UINT                                     = 88,
1722     VK_FORMAT_R16G16B16_SINT                                     = 89,
1723     VK_FORMAT_R16G16B16_SFLOAT                                   = 90,
1724     VK_FORMAT_R16G16B16A16_UNORM                                 = 91,
1725     VK_FORMAT_R16G16B16A16_SNORM                                 = 92,
1726     VK_FORMAT_R16G16B16A16_USCALED                               = 93,
1727     VK_FORMAT_R16G16B16A16_SSCALED                               = 94,
1728     VK_FORMAT_R16G16B16A16_UINT                                  = 95,
1729     VK_FORMAT_R16G16B16A16_SINT                                  = 96,
1730     VK_FORMAT_R16G16B16A16_SFLOAT                                = 97,
1731     VK_FORMAT_R32_UINT                                           = 98,
1732     VK_FORMAT_R32_SINT                                           = 99,
1733     VK_FORMAT_R32_SFLOAT                                         = 100,
1734     VK_FORMAT_R32G32_UINT                                        = 101,
1735     VK_FORMAT_R32G32_SINT                                        = 102,
1736     VK_FORMAT_R32G32_SFLOAT                                      = 103,
1737     VK_FORMAT_R32G32B32_UINT                                     = 104,
1738     VK_FORMAT_R32G32B32_SINT                                     = 105,
1739     VK_FORMAT_R32G32B32_SFLOAT                                   = 106,
1740     VK_FORMAT_R32G32B32A32_UINT                                  = 107,
1741     VK_FORMAT_R32G32B32A32_SINT                                  = 108,
1742     VK_FORMAT_R32G32B32A32_SFLOAT                                = 109,
1743     VK_FORMAT_R64_UINT                                           = 110,
1744     VK_FORMAT_R64_SINT                                           = 111,
1745     VK_FORMAT_R64_SFLOAT                                         = 112,
1746     VK_FORMAT_R64G64_UINT                                        = 113,
1747     VK_FORMAT_R64G64_SINT                                        = 114,
1748     VK_FORMAT_R64G64_SFLOAT                                      = 115,
1749     VK_FORMAT_R64G64B64_UINT                                     = 116,
1750     VK_FORMAT_R64G64B64_SINT                                     = 117,
1751     VK_FORMAT_R64G64B64_SFLOAT                                   = 118,
1752     VK_FORMAT_R64G64B64A64_UINT                                  = 119,
1753     VK_FORMAT_R64G64B64A64_SINT                                  = 120,
1754     VK_FORMAT_R64G64B64A64_SFLOAT                                = 121,
1755     VK_FORMAT_B10G11R11_UFLOAT_PACK32                            = 122,
1756     VK_FORMAT_E5B9G9R9_UFLOAT_PACK32                             = 123,
1757     VK_FORMAT_D16_UNORM                                          = 124,
1758     VK_FORMAT_X8_D24_UNORM_PACK32                                = 125,
1759     VK_FORMAT_D32_SFLOAT                                         = 126,
1760     VK_FORMAT_S8_UINT                                            = 127,
1761     VK_FORMAT_D16_UNORM_S8_UINT                                  = 128,
1762     VK_FORMAT_D24_UNORM_S8_UINT                                  = 129,
1763     VK_FORMAT_D32_SFLOAT_S8_UINT                                 = 130,
1764     VK_FORMAT_BC1_RGB_UNORM_BLOCK                                = 131,
1765     VK_FORMAT_BC1_RGB_SRGB_BLOCK                                 = 132,
1766     VK_FORMAT_BC1_RGBA_UNORM_BLOCK                               = 133,
1767     VK_FORMAT_BC1_RGBA_SRGB_BLOCK                                = 134,
1768     VK_FORMAT_BC2_UNORM_BLOCK                                    = 135,
1769     VK_FORMAT_BC2_SRGB_BLOCK                                     = 136,
1770     VK_FORMAT_BC3_UNORM_BLOCK                                    = 137,
1771     VK_FORMAT_BC3_SRGB_BLOCK                                     = 138,
1772     VK_FORMAT_BC4_UNORM_BLOCK                                    = 139,
1773     VK_FORMAT_BC4_SNORM_BLOCK                                    = 140,
1774     VK_FORMAT_BC5_UNORM_BLOCK                                    = 141,
1775     VK_FORMAT_BC5_SNORM_BLOCK                                    = 142,
1776     VK_FORMAT_BC6H_UFLOAT_BLOCK                                  = 143,
1777     VK_FORMAT_BC6H_SFLOAT_BLOCK                                  = 144,
1778     VK_FORMAT_BC7_UNORM_BLOCK                                    = 145,
1779     VK_FORMAT_BC7_SRGB_BLOCK                                     = 146,
1780     VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK                            = 147,
1781     VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK                             = 148,
1782     VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK                          = 149,
1783     VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK                           = 150,
1784     VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK                          = 151,
1785     VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK                           = 152,
1786     VK_FORMAT_EAC_R11_UNORM_BLOCK                                = 153,
1787     VK_FORMAT_EAC_R11_SNORM_BLOCK                                = 154,
1788     VK_FORMAT_EAC_R11G11_UNORM_BLOCK                             = 155,
1789     VK_FORMAT_EAC_R11G11_SNORM_BLOCK                             = 156,
1790     VK_FORMAT_ASTC_4x4_UNORM_BLOCK                               = 157,
1791     VK_FORMAT_ASTC_4x4_SRGB_BLOCK                                = 158,
1792     VK_FORMAT_ASTC_5x4_UNORM_BLOCK                               = 159,
1793     VK_FORMAT_ASTC_5x4_SRGB_BLOCK                                = 160,
1794     VK_FORMAT_ASTC_5x5_UNORM_BLOCK                               = 161,
1795     VK_FORMAT_ASTC_5x5_SRGB_BLOCK                                = 162,
1796     VK_FORMAT_ASTC_6x5_UNORM_BLOCK                               = 163,
1797     VK_FORMAT_ASTC_6x5_SRGB_BLOCK                                = 164,
1798     VK_FORMAT_ASTC_6x6_UNORM_BLOCK                               = 165,
1799     VK_FORMAT_ASTC_6x6_SRGB_BLOCK                                = 166,
1800     VK_FORMAT_ASTC_8x5_UNORM_BLOCK                               = 167,
1801     VK_FORMAT_ASTC_8x5_SRGB_BLOCK                                = 168,
1802     VK_FORMAT_ASTC_8x6_UNORM_BLOCK                               = 169,
1803     VK_FORMAT_ASTC_8x6_SRGB_BLOCK                                = 170,
1804     VK_FORMAT_ASTC_8x8_UNORM_BLOCK                               = 171,
1805     VK_FORMAT_ASTC_8x8_SRGB_BLOCK                                = 172,
1806     VK_FORMAT_ASTC_10x5_UNORM_BLOCK                              = 173,
1807     VK_FORMAT_ASTC_10x5_SRGB_BLOCK                               = 174,
1808     VK_FORMAT_ASTC_10x6_UNORM_BLOCK                              = 175,
1809     VK_FORMAT_ASTC_10x6_SRGB_BLOCK                               = 176,
1810     VK_FORMAT_ASTC_10x8_UNORM_BLOCK                              = 177,
1811     VK_FORMAT_ASTC_10x8_SRGB_BLOCK                               = 178,
1812     VK_FORMAT_ASTC_10x10_UNORM_BLOCK                             = 179,
1813     VK_FORMAT_ASTC_10x10_SRGB_BLOCK                              = 180,
1814     VK_FORMAT_ASTC_12x10_UNORM_BLOCK                             = 181,
1815     VK_FORMAT_ASTC_12x10_SRGB_BLOCK                              = 182,
1816     VK_FORMAT_ASTC_12x12_UNORM_BLOCK                             = 183,
1817     VK_FORMAT_ASTC_12x12_SRGB_BLOCK                              = 184,
1818     VK_FORMAT_G8B8G8R8_422_UNORM                                 = 1000156000,
1819     VK_FORMAT_B8G8R8G8_422_UNORM                                 = 1000156001,
1820     VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM                          = 1000156002,
1821     VK_FORMAT_G8_B8R8_2PLANE_420_UNORM                           = 1000156003,
1822     VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM                          = 1000156004,
1823     VK_FORMAT_G8_B8R8_2PLANE_422_UNORM                           = 1000156005,
1824     VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM                          = 1000156006,
1825     VK_FORMAT_R10X6_UNORM_PACK16                                 = 1000156007,
1826     VK_FORMAT_R10X6G10X6_UNORM_2PACK16                           = 1000156008,
1827     VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16                 = 1000156009,
1828     VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16             = 1000156010,
1829     VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16             = 1000156011,
1830     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16         = 1000156012,
1831     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16          = 1000156013,
1832     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16         = 1000156014,
1833     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16          = 1000156015,
1834     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16         = 1000156016,
1835     VK_FORMAT_R12X4_UNORM_PACK16                                 = 1000156017,
1836     VK_FORMAT_R12X4G12X4_UNORM_2PACK16                           = 1000156018,
1837     VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16                 = 1000156019,
1838     VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16             = 1000156020,
1839     VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16             = 1000156021,
1840     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16         = 1000156022,
1841     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16          = 1000156023,
1842     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16         = 1000156024,
1843     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16          = 1000156025,
1844     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16         = 1000156026,
1845     VK_FORMAT_G16B16G16R16_422_UNORM                             = 1000156027,
1846     VK_FORMAT_B16G16R16G16_422_UNORM                             = 1000156028,
1847     VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM                       = 1000156029,
1848     VK_FORMAT_G16_B16R16_2PLANE_420_UNORM                        = 1000156030,
1849     VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM                       = 1000156031,
1850     VK_FORMAT_G16_B16R16_2PLANE_422_UNORM                        = 1000156032,
1851     VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM                       = 1000156033,
1852     VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG                        = 1000054000,
1853     VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG                        = 1000054001,
1854     VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG                        = 1000054002,
1855     VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG                        = 1000054003,
1856     VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG                         = 1000054004,
1857     VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG                         = 1000054005,
1858     VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG                         = 1000054006,
1859     VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG                         = 1000054007,
1860     VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT                          = 1000066000,
1861     VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT                          = 1000066001,
1862     VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT                          = 1000066002,
1863     VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT                          = 1000066003,
1864     VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT                          = 1000066004,
1865     VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT                          = 1000066005,
1866     VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT                          = 1000066006,
1867     VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT                          = 1000066007,
1868     VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT                         = 1000066008,
1869     VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT                         = 1000066009,
1870     VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT                         = 1000066010,
1871     VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT                        = 1000066011,
1872     VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT                        = 1000066012,
1873     VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT                        = 1000066013,
1874     VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT                          = 1000340000,
1875     VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT                          = 1000340001,
1876     VK_FORMAT_G8B8G8R8_422_UNORM_KHR                             = VK_FORMAT_G8B8G8R8_422_UNORM,
1877     VK_FORMAT_B8G8R8G8_422_UNORM_KHR                             = VK_FORMAT_B8G8R8G8_422_UNORM,
1878     VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR                      = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1879     VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR                       = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1880     VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR                      = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1881     VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR                       = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1882     VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR                      = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1883     VK_FORMAT_R10X6_UNORM_PACK16_KHR                             = VK_FORMAT_R10X6_UNORM_PACK16,
1884     VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR                       = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1885     VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR             = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1886     VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR         = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1887     VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR         = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1888     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR     = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1889     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR      = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1890     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR     = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1891     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR      = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1892     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR     = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1893     VK_FORMAT_R12X4_UNORM_PACK16_KHR                             = VK_FORMAT_R12X4_UNORM_PACK16,
1894     VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR                       = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1895     VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR             = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1896     VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR         = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1897     VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR         = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1898     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR     = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1899     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR      = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1900     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR     = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1901     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR      = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1902     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR     = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1903     VK_FORMAT_G16B16G16R16_422_UNORM_KHR                         = VK_FORMAT_G16B16G16R16_422_UNORM,
1904     VK_FORMAT_B16G16R16G16_422_UNORM_KHR                         = VK_FORMAT_B16G16R16G16_422_UNORM,
1905     VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR                   = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1906     VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR                    = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1907     VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR                   = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1908     VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR                    = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1909     VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR                   = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1910     VK_FORMAT_BEGIN_RANGE                                        = VK_FORMAT_UNDEFINED,
1911     VK_FORMAT_END_RANGE                                          = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
1912     VK_FORMAT_RANGE_SIZE                                         = VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1,
1913     VK_FORMAT_MAX_ENUM                                           = 0x7FFFFFFF
1914 }
1915 
1916 enum VK_FORMAT_UNDEFINED                                         = VkFormat.VK_FORMAT_UNDEFINED;
1917 enum VK_FORMAT_R4G4_UNORM_PACK8                                  = VkFormat.VK_FORMAT_R4G4_UNORM_PACK8;
1918 enum VK_FORMAT_R4G4B4A4_UNORM_PACK16                             = VkFormat.VK_FORMAT_R4G4B4A4_UNORM_PACK16;
1919 enum VK_FORMAT_B4G4R4A4_UNORM_PACK16                             = VkFormat.VK_FORMAT_B4G4R4A4_UNORM_PACK16;
1920 enum VK_FORMAT_R5G6B5_UNORM_PACK16                               = VkFormat.VK_FORMAT_R5G6B5_UNORM_PACK16;
1921 enum VK_FORMAT_B5G6R5_UNORM_PACK16                               = VkFormat.VK_FORMAT_B5G6R5_UNORM_PACK16;
1922 enum VK_FORMAT_R5G5B5A1_UNORM_PACK16                             = VkFormat.VK_FORMAT_R5G5B5A1_UNORM_PACK16;
1923 enum VK_FORMAT_B5G5R5A1_UNORM_PACK16                             = VkFormat.VK_FORMAT_B5G5R5A1_UNORM_PACK16;
1924 enum VK_FORMAT_A1R5G5B5_UNORM_PACK16                             = VkFormat.VK_FORMAT_A1R5G5B5_UNORM_PACK16;
1925 enum VK_FORMAT_R8_UNORM                                          = VkFormat.VK_FORMAT_R8_UNORM;
1926 enum VK_FORMAT_R8_SNORM                                          = VkFormat.VK_FORMAT_R8_SNORM;
1927 enum VK_FORMAT_R8_USCALED                                        = VkFormat.VK_FORMAT_R8_USCALED;
1928 enum VK_FORMAT_R8_SSCALED                                        = VkFormat.VK_FORMAT_R8_SSCALED;
1929 enum VK_FORMAT_R8_UINT                                           = VkFormat.VK_FORMAT_R8_UINT;
1930 enum VK_FORMAT_R8_SINT                                           = VkFormat.VK_FORMAT_R8_SINT;
1931 enum VK_FORMAT_R8_SRGB                                           = VkFormat.VK_FORMAT_R8_SRGB;
1932 enum VK_FORMAT_R8G8_UNORM                                        = VkFormat.VK_FORMAT_R8G8_UNORM;
1933 enum VK_FORMAT_R8G8_SNORM                                        = VkFormat.VK_FORMAT_R8G8_SNORM;
1934 enum VK_FORMAT_R8G8_USCALED                                      = VkFormat.VK_FORMAT_R8G8_USCALED;
1935 enum VK_FORMAT_R8G8_SSCALED                                      = VkFormat.VK_FORMAT_R8G8_SSCALED;
1936 enum VK_FORMAT_R8G8_UINT                                         = VkFormat.VK_FORMAT_R8G8_UINT;
1937 enum VK_FORMAT_R8G8_SINT                                         = VkFormat.VK_FORMAT_R8G8_SINT;
1938 enum VK_FORMAT_R8G8_SRGB                                         = VkFormat.VK_FORMAT_R8G8_SRGB;
1939 enum VK_FORMAT_R8G8B8_UNORM                                      = VkFormat.VK_FORMAT_R8G8B8_UNORM;
1940 enum VK_FORMAT_R8G8B8_SNORM                                      = VkFormat.VK_FORMAT_R8G8B8_SNORM;
1941 enum VK_FORMAT_R8G8B8_USCALED                                    = VkFormat.VK_FORMAT_R8G8B8_USCALED;
1942 enum VK_FORMAT_R8G8B8_SSCALED                                    = VkFormat.VK_FORMAT_R8G8B8_SSCALED;
1943 enum VK_FORMAT_R8G8B8_UINT                                       = VkFormat.VK_FORMAT_R8G8B8_UINT;
1944 enum VK_FORMAT_R8G8B8_SINT                                       = VkFormat.VK_FORMAT_R8G8B8_SINT;
1945 enum VK_FORMAT_R8G8B8_SRGB                                       = VkFormat.VK_FORMAT_R8G8B8_SRGB;
1946 enum VK_FORMAT_B8G8R8_UNORM                                      = VkFormat.VK_FORMAT_B8G8R8_UNORM;
1947 enum VK_FORMAT_B8G8R8_SNORM                                      = VkFormat.VK_FORMAT_B8G8R8_SNORM;
1948 enum VK_FORMAT_B8G8R8_USCALED                                    = VkFormat.VK_FORMAT_B8G8R8_USCALED;
1949 enum VK_FORMAT_B8G8R8_SSCALED                                    = VkFormat.VK_FORMAT_B8G8R8_SSCALED;
1950 enum VK_FORMAT_B8G8R8_UINT                                       = VkFormat.VK_FORMAT_B8G8R8_UINT;
1951 enum VK_FORMAT_B8G8R8_SINT                                       = VkFormat.VK_FORMAT_B8G8R8_SINT;
1952 enum VK_FORMAT_B8G8R8_SRGB                                       = VkFormat.VK_FORMAT_B8G8R8_SRGB;
1953 enum VK_FORMAT_R8G8B8A8_UNORM                                    = VkFormat.VK_FORMAT_R8G8B8A8_UNORM;
1954 enum VK_FORMAT_R8G8B8A8_SNORM                                    = VkFormat.VK_FORMAT_R8G8B8A8_SNORM;
1955 enum VK_FORMAT_R8G8B8A8_USCALED                                  = VkFormat.VK_FORMAT_R8G8B8A8_USCALED;
1956 enum VK_FORMAT_R8G8B8A8_SSCALED                                  = VkFormat.VK_FORMAT_R8G8B8A8_SSCALED;
1957 enum VK_FORMAT_R8G8B8A8_UINT                                     = VkFormat.VK_FORMAT_R8G8B8A8_UINT;
1958 enum VK_FORMAT_R8G8B8A8_SINT                                     = VkFormat.VK_FORMAT_R8G8B8A8_SINT;
1959 enum VK_FORMAT_R8G8B8A8_SRGB                                     = VkFormat.VK_FORMAT_R8G8B8A8_SRGB;
1960 enum VK_FORMAT_B8G8R8A8_UNORM                                    = VkFormat.VK_FORMAT_B8G8R8A8_UNORM;
1961 enum VK_FORMAT_B8G8R8A8_SNORM                                    = VkFormat.VK_FORMAT_B8G8R8A8_SNORM;
1962 enum VK_FORMAT_B8G8R8A8_USCALED                                  = VkFormat.VK_FORMAT_B8G8R8A8_USCALED;
1963 enum VK_FORMAT_B8G8R8A8_SSCALED                                  = VkFormat.VK_FORMAT_B8G8R8A8_SSCALED;
1964 enum VK_FORMAT_B8G8R8A8_UINT                                     = VkFormat.VK_FORMAT_B8G8R8A8_UINT;
1965 enum VK_FORMAT_B8G8R8A8_SINT                                     = VkFormat.VK_FORMAT_B8G8R8A8_SINT;
1966 enum VK_FORMAT_B8G8R8A8_SRGB                                     = VkFormat.VK_FORMAT_B8G8R8A8_SRGB;
1967 enum VK_FORMAT_A8B8G8R8_UNORM_PACK32                             = VkFormat.VK_FORMAT_A8B8G8R8_UNORM_PACK32;
1968 enum VK_FORMAT_A8B8G8R8_SNORM_PACK32                             = VkFormat.VK_FORMAT_A8B8G8R8_SNORM_PACK32;
1969 enum VK_FORMAT_A8B8G8R8_USCALED_PACK32                           = VkFormat.VK_FORMAT_A8B8G8R8_USCALED_PACK32;
1970 enum VK_FORMAT_A8B8G8R8_SSCALED_PACK32                           = VkFormat.VK_FORMAT_A8B8G8R8_SSCALED_PACK32;
1971 enum VK_FORMAT_A8B8G8R8_UINT_PACK32                              = VkFormat.VK_FORMAT_A8B8G8R8_UINT_PACK32;
1972 enum VK_FORMAT_A8B8G8R8_SINT_PACK32                              = VkFormat.VK_FORMAT_A8B8G8R8_SINT_PACK32;
1973 enum VK_FORMAT_A8B8G8R8_SRGB_PACK32                              = VkFormat.VK_FORMAT_A8B8G8R8_SRGB_PACK32;
1974 enum VK_FORMAT_A2R10G10B10_UNORM_PACK32                          = VkFormat.VK_FORMAT_A2R10G10B10_UNORM_PACK32;
1975 enum VK_FORMAT_A2R10G10B10_SNORM_PACK32                          = VkFormat.VK_FORMAT_A2R10G10B10_SNORM_PACK32;
1976 enum VK_FORMAT_A2R10G10B10_USCALED_PACK32                        = VkFormat.VK_FORMAT_A2R10G10B10_USCALED_PACK32;
1977 enum VK_FORMAT_A2R10G10B10_SSCALED_PACK32                        = VkFormat.VK_FORMAT_A2R10G10B10_SSCALED_PACK32;
1978 enum VK_FORMAT_A2R10G10B10_UINT_PACK32                           = VkFormat.VK_FORMAT_A2R10G10B10_UINT_PACK32;
1979 enum VK_FORMAT_A2R10G10B10_SINT_PACK32                           = VkFormat.VK_FORMAT_A2R10G10B10_SINT_PACK32;
1980 enum VK_FORMAT_A2B10G10R10_UNORM_PACK32                          = VkFormat.VK_FORMAT_A2B10G10R10_UNORM_PACK32;
1981 enum VK_FORMAT_A2B10G10R10_SNORM_PACK32                          = VkFormat.VK_FORMAT_A2B10G10R10_SNORM_PACK32;
1982 enum VK_FORMAT_A2B10G10R10_USCALED_PACK32                        = VkFormat.VK_FORMAT_A2B10G10R10_USCALED_PACK32;
1983 enum VK_FORMAT_A2B10G10R10_SSCALED_PACK32                        = VkFormat.VK_FORMAT_A2B10G10R10_SSCALED_PACK32;
1984 enum VK_FORMAT_A2B10G10R10_UINT_PACK32                           = VkFormat.VK_FORMAT_A2B10G10R10_UINT_PACK32;
1985 enum VK_FORMAT_A2B10G10R10_SINT_PACK32                           = VkFormat.VK_FORMAT_A2B10G10R10_SINT_PACK32;
1986 enum VK_FORMAT_R16_UNORM                                         = VkFormat.VK_FORMAT_R16_UNORM;
1987 enum VK_FORMAT_R16_SNORM                                         = VkFormat.VK_FORMAT_R16_SNORM;
1988 enum VK_FORMAT_R16_USCALED                                       = VkFormat.VK_FORMAT_R16_USCALED;
1989 enum VK_FORMAT_R16_SSCALED                                       = VkFormat.VK_FORMAT_R16_SSCALED;
1990 enum VK_FORMAT_R16_UINT                                          = VkFormat.VK_FORMAT_R16_UINT;
1991 enum VK_FORMAT_R16_SINT                                          = VkFormat.VK_FORMAT_R16_SINT;
1992 enum VK_FORMAT_R16_SFLOAT                                        = VkFormat.VK_FORMAT_R16_SFLOAT;
1993 enum VK_FORMAT_R16G16_UNORM                                      = VkFormat.VK_FORMAT_R16G16_UNORM;
1994 enum VK_FORMAT_R16G16_SNORM                                      = VkFormat.VK_FORMAT_R16G16_SNORM;
1995 enum VK_FORMAT_R16G16_USCALED                                    = VkFormat.VK_FORMAT_R16G16_USCALED;
1996 enum VK_FORMAT_R16G16_SSCALED                                    = VkFormat.VK_FORMAT_R16G16_SSCALED;
1997 enum VK_FORMAT_R16G16_UINT                                       = VkFormat.VK_FORMAT_R16G16_UINT;
1998 enum VK_FORMAT_R16G16_SINT                                       = VkFormat.VK_FORMAT_R16G16_SINT;
1999 enum VK_FORMAT_R16G16_SFLOAT                                     = VkFormat.VK_FORMAT_R16G16_SFLOAT;
2000 enum VK_FORMAT_R16G16B16_UNORM                                   = VkFormat.VK_FORMAT_R16G16B16_UNORM;
2001 enum VK_FORMAT_R16G16B16_SNORM                                   = VkFormat.VK_FORMAT_R16G16B16_SNORM;
2002 enum VK_FORMAT_R16G16B16_USCALED                                 = VkFormat.VK_FORMAT_R16G16B16_USCALED;
2003 enum VK_FORMAT_R16G16B16_SSCALED                                 = VkFormat.VK_FORMAT_R16G16B16_SSCALED;
2004 enum VK_FORMAT_R16G16B16_UINT                                    = VkFormat.VK_FORMAT_R16G16B16_UINT;
2005 enum VK_FORMAT_R16G16B16_SINT                                    = VkFormat.VK_FORMAT_R16G16B16_SINT;
2006 enum VK_FORMAT_R16G16B16_SFLOAT                                  = VkFormat.VK_FORMAT_R16G16B16_SFLOAT;
2007 enum VK_FORMAT_R16G16B16A16_UNORM                                = VkFormat.VK_FORMAT_R16G16B16A16_UNORM;
2008 enum VK_FORMAT_R16G16B16A16_SNORM                                = VkFormat.VK_FORMAT_R16G16B16A16_SNORM;
2009 enum VK_FORMAT_R16G16B16A16_USCALED                              = VkFormat.VK_FORMAT_R16G16B16A16_USCALED;
2010 enum VK_FORMAT_R16G16B16A16_SSCALED                              = VkFormat.VK_FORMAT_R16G16B16A16_SSCALED;
2011 enum VK_FORMAT_R16G16B16A16_UINT                                 = VkFormat.VK_FORMAT_R16G16B16A16_UINT;
2012 enum VK_FORMAT_R16G16B16A16_SINT                                 = VkFormat.VK_FORMAT_R16G16B16A16_SINT;
2013 enum VK_FORMAT_R16G16B16A16_SFLOAT                               = VkFormat.VK_FORMAT_R16G16B16A16_SFLOAT;
2014 enum VK_FORMAT_R32_UINT                                          = VkFormat.VK_FORMAT_R32_UINT;
2015 enum VK_FORMAT_R32_SINT                                          = VkFormat.VK_FORMAT_R32_SINT;
2016 enum VK_FORMAT_R32_SFLOAT                                        = VkFormat.VK_FORMAT_R32_SFLOAT;
2017 enum VK_FORMAT_R32G32_UINT                                       = VkFormat.VK_FORMAT_R32G32_UINT;
2018 enum VK_FORMAT_R32G32_SINT                                       = VkFormat.VK_FORMAT_R32G32_SINT;
2019 enum VK_FORMAT_R32G32_SFLOAT                                     = VkFormat.VK_FORMAT_R32G32_SFLOAT;
2020 enum VK_FORMAT_R32G32B32_UINT                                    = VkFormat.VK_FORMAT_R32G32B32_UINT;
2021 enum VK_FORMAT_R32G32B32_SINT                                    = VkFormat.VK_FORMAT_R32G32B32_SINT;
2022 enum VK_FORMAT_R32G32B32_SFLOAT                                  = VkFormat.VK_FORMAT_R32G32B32_SFLOAT;
2023 enum VK_FORMAT_R32G32B32A32_UINT                                 = VkFormat.VK_FORMAT_R32G32B32A32_UINT;
2024 enum VK_FORMAT_R32G32B32A32_SINT                                 = VkFormat.VK_FORMAT_R32G32B32A32_SINT;
2025 enum VK_FORMAT_R32G32B32A32_SFLOAT                               = VkFormat.VK_FORMAT_R32G32B32A32_SFLOAT;
2026 enum VK_FORMAT_R64_UINT                                          = VkFormat.VK_FORMAT_R64_UINT;
2027 enum VK_FORMAT_R64_SINT                                          = VkFormat.VK_FORMAT_R64_SINT;
2028 enum VK_FORMAT_R64_SFLOAT                                        = VkFormat.VK_FORMAT_R64_SFLOAT;
2029 enum VK_FORMAT_R64G64_UINT                                       = VkFormat.VK_FORMAT_R64G64_UINT;
2030 enum VK_FORMAT_R64G64_SINT                                       = VkFormat.VK_FORMAT_R64G64_SINT;
2031 enum VK_FORMAT_R64G64_SFLOAT                                     = VkFormat.VK_FORMAT_R64G64_SFLOAT;
2032 enum VK_FORMAT_R64G64B64_UINT                                    = VkFormat.VK_FORMAT_R64G64B64_UINT;
2033 enum VK_FORMAT_R64G64B64_SINT                                    = VkFormat.VK_FORMAT_R64G64B64_SINT;
2034 enum VK_FORMAT_R64G64B64_SFLOAT                                  = VkFormat.VK_FORMAT_R64G64B64_SFLOAT;
2035 enum VK_FORMAT_R64G64B64A64_UINT                                 = VkFormat.VK_FORMAT_R64G64B64A64_UINT;
2036 enum VK_FORMAT_R64G64B64A64_SINT                                 = VkFormat.VK_FORMAT_R64G64B64A64_SINT;
2037 enum VK_FORMAT_R64G64B64A64_SFLOAT                               = VkFormat.VK_FORMAT_R64G64B64A64_SFLOAT;
2038 enum VK_FORMAT_B10G11R11_UFLOAT_PACK32                           = VkFormat.VK_FORMAT_B10G11R11_UFLOAT_PACK32;
2039 enum VK_FORMAT_E5B9G9R9_UFLOAT_PACK32                            = VkFormat.VK_FORMAT_E5B9G9R9_UFLOAT_PACK32;
2040 enum VK_FORMAT_D16_UNORM                                         = VkFormat.VK_FORMAT_D16_UNORM;
2041 enum VK_FORMAT_X8_D24_UNORM_PACK32                               = VkFormat.VK_FORMAT_X8_D24_UNORM_PACK32;
2042 enum VK_FORMAT_D32_SFLOAT                                        = VkFormat.VK_FORMAT_D32_SFLOAT;
2043 enum VK_FORMAT_S8_UINT                                           = VkFormat.VK_FORMAT_S8_UINT;
2044 enum VK_FORMAT_D16_UNORM_S8_UINT                                 = VkFormat.VK_FORMAT_D16_UNORM_S8_UINT;
2045 enum VK_FORMAT_D24_UNORM_S8_UINT                                 = VkFormat.VK_FORMAT_D24_UNORM_S8_UINT;
2046 enum VK_FORMAT_D32_SFLOAT_S8_UINT                                = VkFormat.VK_FORMAT_D32_SFLOAT_S8_UINT;
2047 enum VK_FORMAT_BC1_RGB_UNORM_BLOCK                               = VkFormat.VK_FORMAT_BC1_RGB_UNORM_BLOCK;
2048 enum VK_FORMAT_BC1_RGB_SRGB_BLOCK                                = VkFormat.VK_FORMAT_BC1_RGB_SRGB_BLOCK;
2049 enum VK_FORMAT_BC1_RGBA_UNORM_BLOCK                              = VkFormat.VK_FORMAT_BC1_RGBA_UNORM_BLOCK;
2050 enum VK_FORMAT_BC1_RGBA_SRGB_BLOCK                               = VkFormat.VK_FORMAT_BC1_RGBA_SRGB_BLOCK;
2051 enum VK_FORMAT_BC2_UNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC2_UNORM_BLOCK;
2052 enum VK_FORMAT_BC2_SRGB_BLOCK                                    = VkFormat.VK_FORMAT_BC2_SRGB_BLOCK;
2053 enum VK_FORMAT_BC3_UNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC3_UNORM_BLOCK;
2054 enum VK_FORMAT_BC3_SRGB_BLOCK                                    = VkFormat.VK_FORMAT_BC3_SRGB_BLOCK;
2055 enum VK_FORMAT_BC4_UNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC4_UNORM_BLOCK;
2056 enum VK_FORMAT_BC4_SNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC4_SNORM_BLOCK;
2057 enum VK_FORMAT_BC5_UNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC5_UNORM_BLOCK;
2058 enum VK_FORMAT_BC5_SNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC5_SNORM_BLOCK;
2059 enum VK_FORMAT_BC6H_UFLOAT_BLOCK                                 = VkFormat.VK_FORMAT_BC6H_UFLOAT_BLOCK;
2060 enum VK_FORMAT_BC6H_SFLOAT_BLOCK                                 = VkFormat.VK_FORMAT_BC6H_SFLOAT_BLOCK;
2061 enum VK_FORMAT_BC7_UNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC7_UNORM_BLOCK;
2062 enum VK_FORMAT_BC7_SRGB_BLOCK                                    = VkFormat.VK_FORMAT_BC7_SRGB_BLOCK;
2063 enum VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK                           = VkFormat.VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK;
2064 enum VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK                            = VkFormat.VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK;
2065 enum VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK                         = VkFormat.VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK;
2066 enum VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK                          = VkFormat.VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK;
2067 enum VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK                         = VkFormat.VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK;
2068 enum VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK                          = VkFormat.VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK;
2069 enum VK_FORMAT_EAC_R11_UNORM_BLOCK                               = VkFormat.VK_FORMAT_EAC_R11_UNORM_BLOCK;
2070 enum VK_FORMAT_EAC_R11_SNORM_BLOCK                               = VkFormat.VK_FORMAT_EAC_R11_SNORM_BLOCK;
2071 enum VK_FORMAT_EAC_R11G11_UNORM_BLOCK                            = VkFormat.VK_FORMAT_EAC_R11G11_UNORM_BLOCK;
2072 enum VK_FORMAT_EAC_R11G11_SNORM_BLOCK                            = VkFormat.VK_FORMAT_EAC_R11G11_SNORM_BLOCK;
2073 enum VK_FORMAT_ASTC_4x4_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_4x4_UNORM_BLOCK;
2074 enum VK_FORMAT_ASTC_4x4_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_4x4_SRGB_BLOCK;
2075 enum VK_FORMAT_ASTC_5x4_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_5x4_UNORM_BLOCK;
2076 enum VK_FORMAT_ASTC_5x4_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_5x4_SRGB_BLOCK;
2077 enum VK_FORMAT_ASTC_5x5_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_5x5_UNORM_BLOCK;
2078 enum VK_FORMAT_ASTC_5x5_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_5x5_SRGB_BLOCK;
2079 enum VK_FORMAT_ASTC_6x5_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_6x5_UNORM_BLOCK;
2080 enum VK_FORMAT_ASTC_6x5_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_6x5_SRGB_BLOCK;
2081 enum VK_FORMAT_ASTC_6x6_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_6x6_UNORM_BLOCK;
2082 enum VK_FORMAT_ASTC_6x6_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_6x6_SRGB_BLOCK;
2083 enum VK_FORMAT_ASTC_8x5_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_8x5_UNORM_BLOCK;
2084 enum VK_FORMAT_ASTC_8x5_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_8x5_SRGB_BLOCK;
2085 enum VK_FORMAT_ASTC_8x6_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_8x6_UNORM_BLOCK;
2086 enum VK_FORMAT_ASTC_8x6_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_8x6_SRGB_BLOCK;
2087 enum VK_FORMAT_ASTC_8x8_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_8x8_UNORM_BLOCK;
2088 enum VK_FORMAT_ASTC_8x8_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_8x8_SRGB_BLOCK;
2089 enum VK_FORMAT_ASTC_10x5_UNORM_BLOCK                             = VkFormat.VK_FORMAT_ASTC_10x5_UNORM_BLOCK;
2090 enum VK_FORMAT_ASTC_10x5_SRGB_BLOCK                              = VkFormat.VK_FORMAT_ASTC_10x5_SRGB_BLOCK;
2091 enum VK_FORMAT_ASTC_10x6_UNORM_BLOCK                             = VkFormat.VK_FORMAT_ASTC_10x6_UNORM_BLOCK;
2092 enum VK_FORMAT_ASTC_10x6_SRGB_BLOCK                              = VkFormat.VK_FORMAT_ASTC_10x6_SRGB_BLOCK;
2093 enum VK_FORMAT_ASTC_10x8_UNORM_BLOCK                             = VkFormat.VK_FORMAT_ASTC_10x8_UNORM_BLOCK;
2094 enum VK_FORMAT_ASTC_10x8_SRGB_BLOCK                              = VkFormat.VK_FORMAT_ASTC_10x8_SRGB_BLOCK;
2095 enum VK_FORMAT_ASTC_10x10_UNORM_BLOCK                            = VkFormat.VK_FORMAT_ASTC_10x10_UNORM_BLOCK;
2096 enum VK_FORMAT_ASTC_10x10_SRGB_BLOCK                             = VkFormat.VK_FORMAT_ASTC_10x10_SRGB_BLOCK;
2097 enum VK_FORMAT_ASTC_12x10_UNORM_BLOCK                            = VkFormat.VK_FORMAT_ASTC_12x10_UNORM_BLOCK;
2098 enum VK_FORMAT_ASTC_12x10_SRGB_BLOCK                             = VkFormat.VK_FORMAT_ASTC_12x10_SRGB_BLOCK;
2099 enum VK_FORMAT_ASTC_12x12_UNORM_BLOCK                            = VkFormat.VK_FORMAT_ASTC_12x12_UNORM_BLOCK;
2100 enum VK_FORMAT_ASTC_12x12_SRGB_BLOCK                             = VkFormat.VK_FORMAT_ASTC_12x12_SRGB_BLOCK;
2101 enum VK_FORMAT_G8B8G8R8_422_UNORM                                = VkFormat.VK_FORMAT_G8B8G8R8_422_UNORM;
2102 enum VK_FORMAT_B8G8R8G8_422_UNORM                                = VkFormat.VK_FORMAT_B8G8R8G8_422_UNORM;
2103 enum VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM                         = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM;
2104 enum VK_FORMAT_G8_B8R8_2PLANE_420_UNORM                          = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_420_UNORM;
2105 enum VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM                         = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM;
2106 enum VK_FORMAT_G8_B8R8_2PLANE_422_UNORM                          = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_422_UNORM;
2107 enum VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM                         = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM;
2108 enum VK_FORMAT_R10X6_UNORM_PACK16                                = VkFormat.VK_FORMAT_R10X6_UNORM_PACK16;
2109 enum VK_FORMAT_R10X6G10X6_UNORM_2PACK16                          = VkFormat.VK_FORMAT_R10X6G10X6_UNORM_2PACK16;
2110 enum VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16                = VkFormat.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16;
2111 enum VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16            = VkFormat.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16;
2112 enum VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16            = VkFormat.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16;
2113 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16        = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16;
2114 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16         = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16;
2115 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16        = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16;
2116 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16         = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16;
2117 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16        = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16;
2118 enum VK_FORMAT_R12X4_UNORM_PACK16                                = VkFormat.VK_FORMAT_R12X4_UNORM_PACK16;
2119 enum VK_FORMAT_R12X4G12X4_UNORM_2PACK16                          = VkFormat.VK_FORMAT_R12X4G12X4_UNORM_2PACK16;
2120 enum VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16                = VkFormat.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16;
2121 enum VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16            = VkFormat.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16;
2122 enum VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16            = VkFormat.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16;
2123 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16        = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16;
2124 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16         = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16;
2125 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16        = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16;
2126 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16         = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16;
2127 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16        = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16;
2128 enum VK_FORMAT_G16B16G16R16_422_UNORM                            = VkFormat.VK_FORMAT_G16B16G16R16_422_UNORM;
2129 enum VK_FORMAT_B16G16R16G16_422_UNORM                            = VkFormat.VK_FORMAT_B16G16R16G16_422_UNORM;
2130 enum VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM                      = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM;
2131 enum VK_FORMAT_G16_B16R16_2PLANE_420_UNORM                       = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_420_UNORM;
2132 enum VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM                      = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM;
2133 enum VK_FORMAT_G16_B16R16_2PLANE_422_UNORM                       = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_422_UNORM;
2134 enum VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM                      = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM;
2135 enum VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG                       = VkFormat.VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG;
2136 enum VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG                       = VkFormat.VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG;
2137 enum VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG                       = VkFormat.VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG;
2138 enum VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG                       = VkFormat.VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG;
2139 enum VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG                        = VkFormat.VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG;
2140 enum VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG                        = VkFormat.VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG;
2141 enum VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG                        = VkFormat.VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG;
2142 enum VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG                        = VkFormat.VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG;
2143 enum VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT                         = VkFormat.VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT;
2144 enum VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT                         = VkFormat.VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT;
2145 enum VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT                         = VkFormat.VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT;
2146 enum VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT                         = VkFormat.VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT;
2147 enum VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT                         = VkFormat.VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT;
2148 enum VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT                         = VkFormat.VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT;
2149 enum VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT                         = VkFormat.VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT;
2150 enum VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT                         = VkFormat.VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT;
2151 enum VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT                        = VkFormat.VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT;
2152 enum VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT                        = VkFormat.VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT;
2153 enum VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT                        = VkFormat.VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT;
2154 enum VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT                       = VkFormat.VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT;
2155 enum VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT                       = VkFormat.VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT;
2156 enum VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT                       = VkFormat.VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT;
2157 enum VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT                         = VkFormat.VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT;
2158 enum VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT                         = VkFormat.VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT;
2159 enum VK_FORMAT_G8B8G8R8_422_UNORM_KHR                            = VkFormat.VK_FORMAT_G8B8G8R8_422_UNORM_KHR;
2160 enum VK_FORMAT_B8G8R8G8_422_UNORM_KHR                            = VkFormat.VK_FORMAT_B8G8R8G8_422_UNORM_KHR;
2161 enum VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR                     = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR;
2162 enum VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR                      = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR;
2163 enum VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR                     = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR;
2164 enum VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR                      = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR;
2165 enum VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR                     = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR;
2166 enum VK_FORMAT_R10X6_UNORM_PACK16_KHR                            = VkFormat.VK_FORMAT_R10X6_UNORM_PACK16_KHR;
2167 enum VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR                      = VkFormat.VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR;
2168 enum VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR            = VkFormat.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR;
2169 enum VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR        = VkFormat.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR;
2170 enum VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR        = VkFormat.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR;
2171 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR;
2172 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR     = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR;
2173 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR;
2174 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR     = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR;
2175 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR;
2176 enum VK_FORMAT_R12X4_UNORM_PACK16_KHR                            = VkFormat.VK_FORMAT_R12X4_UNORM_PACK16_KHR;
2177 enum VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR                      = VkFormat.VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR;
2178 enum VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR            = VkFormat.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR;
2179 enum VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR        = VkFormat.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR;
2180 enum VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR        = VkFormat.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR;
2181 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR;
2182 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR     = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR;
2183 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR;
2184 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR     = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR;
2185 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR;
2186 enum VK_FORMAT_G16B16G16R16_422_UNORM_KHR                        = VkFormat.VK_FORMAT_G16B16G16R16_422_UNORM_KHR;
2187 enum VK_FORMAT_B16G16R16G16_422_UNORM_KHR                        = VkFormat.VK_FORMAT_B16G16R16G16_422_UNORM_KHR;
2188 enum VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR                  = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR;
2189 enum VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR                   = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR;
2190 enum VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR                  = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR;
2191 enum VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR                   = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR;
2192 enum VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR                  = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR;
2193 enum VK_FORMAT_BEGIN_RANGE                                       = VkFormat.VK_FORMAT_BEGIN_RANGE;
2194 enum VK_FORMAT_END_RANGE                                         = VkFormat.VK_FORMAT_END_RANGE;
2195 enum VK_FORMAT_RANGE_SIZE                                        = VkFormat.VK_FORMAT_RANGE_SIZE;
2196 enum VK_FORMAT_MAX_ENUM                                          = VkFormat.VK_FORMAT_MAX_ENUM;
2197 
2198 enum VkImageTiling {
2199     VK_IMAGE_TILING_OPTIMAL                      = 0,
2200     VK_IMAGE_TILING_LINEAR                       = 1,
2201     VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT      = 1000158000,
2202     VK_IMAGE_TILING_BEGIN_RANGE                  = VK_IMAGE_TILING_OPTIMAL,
2203     VK_IMAGE_TILING_END_RANGE                    = VK_IMAGE_TILING_LINEAR,
2204     VK_IMAGE_TILING_RANGE_SIZE                   = VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1,
2205     VK_IMAGE_TILING_MAX_ENUM                     = 0x7FFFFFFF
2206 }
2207 
2208 enum VK_IMAGE_TILING_OPTIMAL                     = VkImageTiling.VK_IMAGE_TILING_OPTIMAL;
2209 enum VK_IMAGE_TILING_LINEAR                      = VkImageTiling.VK_IMAGE_TILING_LINEAR;
2210 enum VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT     = VkImageTiling.VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT;
2211 enum VK_IMAGE_TILING_BEGIN_RANGE                 = VkImageTiling.VK_IMAGE_TILING_BEGIN_RANGE;
2212 enum VK_IMAGE_TILING_END_RANGE                   = VkImageTiling.VK_IMAGE_TILING_END_RANGE;
2213 enum VK_IMAGE_TILING_RANGE_SIZE                  = VkImageTiling.VK_IMAGE_TILING_RANGE_SIZE;
2214 enum VK_IMAGE_TILING_MAX_ENUM                    = VkImageTiling.VK_IMAGE_TILING_MAX_ENUM;
2215 
2216 enum VkImageType {
2217     VK_IMAGE_TYPE_1D             = 0,
2218     VK_IMAGE_TYPE_2D             = 1,
2219     VK_IMAGE_TYPE_3D             = 2,
2220     VK_IMAGE_TYPE_BEGIN_RANGE    = VK_IMAGE_TYPE_1D,
2221     VK_IMAGE_TYPE_END_RANGE      = VK_IMAGE_TYPE_3D,
2222     VK_IMAGE_TYPE_RANGE_SIZE     = VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1,
2223     VK_IMAGE_TYPE_MAX_ENUM       = 0x7FFFFFFF
2224 }
2225 
2226 enum VK_IMAGE_TYPE_1D            = VkImageType.VK_IMAGE_TYPE_1D;
2227 enum VK_IMAGE_TYPE_2D            = VkImageType.VK_IMAGE_TYPE_2D;
2228 enum VK_IMAGE_TYPE_3D            = VkImageType.VK_IMAGE_TYPE_3D;
2229 enum VK_IMAGE_TYPE_BEGIN_RANGE   = VkImageType.VK_IMAGE_TYPE_BEGIN_RANGE;
2230 enum VK_IMAGE_TYPE_END_RANGE     = VkImageType.VK_IMAGE_TYPE_END_RANGE;
2231 enum VK_IMAGE_TYPE_RANGE_SIZE    = VkImageType.VK_IMAGE_TYPE_RANGE_SIZE;
2232 enum VK_IMAGE_TYPE_MAX_ENUM      = VkImageType.VK_IMAGE_TYPE_MAX_ENUM;
2233 
2234 enum VkPhysicalDeviceType {
2235     VK_PHYSICAL_DEVICE_TYPE_OTHER                = 0,
2236     VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU       = 1,
2237     VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU         = 2,
2238     VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU          = 3,
2239     VK_PHYSICAL_DEVICE_TYPE_CPU                  = 4,
2240     VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE          = VK_PHYSICAL_DEVICE_TYPE_OTHER,
2241     VK_PHYSICAL_DEVICE_TYPE_END_RANGE            = VK_PHYSICAL_DEVICE_TYPE_CPU,
2242     VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE           = VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1,
2243     VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM             = 0x7FFFFFFF
2244 }
2245 
2246 enum VK_PHYSICAL_DEVICE_TYPE_OTHER               = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_OTHER;
2247 enum VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU      = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
2248 enum VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU        = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
2249 enum VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU         = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU;
2250 enum VK_PHYSICAL_DEVICE_TYPE_CPU                 = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_CPU;
2251 enum VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE         = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE;
2252 enum VK_PHYSICAL_DEVICE_TYPE_END_RANGE           = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_END_RANGE;
2253 enum VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE          = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE;
2254 enum VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM            = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM;
2255 
2256 enum VkQueryType {
2257     VK_QUERY_TYPE_OCCLUSION                                      = 0,
2258     VK_QUERY_TYPE_PIPELINE_STATISTICS                            = 1,
2259     VK_QUERY_TYPE_TIMESTAMP                                      = 2,
2260     VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT                  = 1000028004,
2261     VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR                          = 1000116000,
2262     VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR      = 1000150000,
2263     VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR  = 1000150001,
2264     VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV       = 1000165000,
2265     VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL                        = 1000210000,
2266     VK_QUERY_TYPE_BEGIN_RANGE                                    = VK_QUERY_TYPE_OCCLUSION,
2267     VK_QUERY_TYPE_END_RANGE                                      = VK_QUERY_TYPE_TIMESTAMP,
2268     VK_QUERY_TYPE_RANGE_SIZE                                     = VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1,
2269     VK_QUERY_TYPE_MAX_ENUM                                       = 0x7FFFFFFF
2270 }
2271 
2272 enum VK_QUERY_TYPE_OCCLUSION                                     = VkQueryType.VK_QUERY_TYPE_OCCLUSION;
2273 enum VK_QUERY_TYPE_PIPELINE_STATISTICS                           = VkQueryType.VK_QUERY_TYPE_PIPELINE_STATISTICS;
2274 enum VK_QUERY_TYPE_TIMESTAMP                                     = VkQueryType.VK_QUERY_TYPE_TIMESTAMP;
2275 enum VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT                 = VkQueryType.VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT;
2276 enum VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR                         = VkQueryType.VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR;
2277 enum VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR     = VkQueryType.VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR;
2278 enum VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = VkQueryType.VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR;
2279 enum VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV      = VkQueryType.VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV;
2280 enum VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL                       = VkQueryType.VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL;
2281 enum VK_QUERY_TYPE_BEGIN_RANGE                                   = VkQueryType.VK_QUERY_TYPE_BEGIN_RANGE;
2282 enum VK_QUERY_TYPE_END_RANGE                                     = VkQueryType.VK_QUERY_TYPE_END_RANGE;
2283 enum VK_QUERY_TYPE_RANGE_SIZE                                    = VkQueryType.VK_QUERY_TYPE_RANGE_SIZE;
2284 enum VK_QUERY_TYPE_MAX_ENUM                                      = VkQueryType.VK_QUERY_TYPE_MAX_ENUM;
2285 
2286 enum VkSharingMode {
2287     VK_SHARING_MODE_EXCLUSIVE    = 0,
2288     VK_SHARING_MODE_CONCURRENT   = 1,
2289     VK_SHARING_MODE_BEGIN_RANGE  = VK_SHARING_MODE_EXCLUSIVE,
2290     VK_SHARING_MODE_END_RANGE    = VK_SHARING_MODE_CONCURRENT,
2291     VK_SHARING_MODE_RANGE_SIZE   = VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1,
2292     VK_SHARING_MODE_MAX_ENUM     = 0x7FFFFFFF
2293 }
2294 
2295 enum VK_SHARING_MODE_EXCLUSIVE   = VkSharingMode.VK_SHARING_MODE_EXCLUSIVE;
2296 enum VK_SHARING_MODE_CONCURRENT  = VkSharingMode.VK_SHARING_MODE_CONCURRENT;
2297 enum VK_SHARING_MODE_BEGIN_RANGE = VkSharingMode.VK_SHARING_MODE_BEGIN_RANGE;
2298 enum VK_SHARING_MODE_END_RANGE   = VkSharingMode.VK_SHARING_MODE_END_RANGE;
2299 enum VK_SHARING_MODE_RANGE_SIZE  = VkSharingMode.VK_SHARING_MODE_RANGE_SIZE;
2300 enum VK_SHARING_MODE_MAX_ENUM    = VkSharingMode.VK_SHARING_MODE_MAX_ENUM;
2301 
2302 enum VkComponentSwizzle {
2303     VK_COMPONENT_SWIZZLE_IDENTITY        = 0,
2304     VK_COMPONENT_SWIZZLE_ZERO            = 1,
2305     VK_COMPONENT_SWIZZLE_ONE             = 2,
2306     VK_COMPONENT_SWIZZLE_R               = 3,
2307     VK_COMPONENT_SWIZZLE_G               = 4,
2308     VK_COMPONENT_SWIZZLE_B               = 5,
2309     VK_COMPONENT_SWIZZLE_A               = 6,
2310     VK_COMPONENT_SWIZZLE_BEGIN_RANGE     = VK_COMPONENT_SWIZZLE_IDENTITY,
2311     VK_COMPONENT_SWIZZLE_END_RANGE       = VK_COMPONENT_SWIZZLE_A,
2312     VK_COMPONENT_SWIZZLE_RANGE_SIZE      = VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1,
2313     VK_COMPONENT_SWIZZLE_MAX_ENUM        = 0x7FFFFFFF
2314 }
2315 
2316 enum VK_COMPONENT_SWIZZLE_IDENTITY       = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_IDENTITY;
2317 enum VK_COMPONENT_SWIZZLE_ZERO           = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_ZERO;
2318 enum VK_COMPONENT_SWIZZLE_ONE            = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_ONE;
2319 enum VK_COMPONENT_SWIZZLE_R              = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_R;
2320 enum VK_COMPONENT_SWIZZLE_G              = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_G;
2321 enum VK_COMPONENT_SWIZZLE_B              = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_B;
2322 enum VK_COMPONENT_SWIZZLE_A              = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_A;
2323 enum VK_COMPONENT_SWIZZLE_BEGIN_RANGE    = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_BEGIN_RANGE;
2324 enum VK_COMPONENT_SWIZZLE_END_RANGE      = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_END_RANGE;
2325 enum VK_COMPONENT_SWIZZLE_RANGE_SIZE     = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_RANGE_SIZE;
2326 enum VK_COMPONENT_SWIZZLE_MAX_ENUM       = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_MAX_ENUM;
2327 
2328 enum VkImageViewType {
2329     VK_IMAGE_VIEW_TYPE_1D                = 0,
2330     VK_IMAGE_VIEW_TYPE_2D                = 1,
2331     VK_IMAGE_VIEW_TYPE_3D                = 2,
2332     VK_IMAGE_VIEW_TYPE_CUBE              = 3,
2333     VK_IMAGE_VIEW_TYPE_1D_ARRAY          = 4,
2334     VK_IMAGE_VIEW_TYPE_2D_ARRAY          = 5,
2335     VK_IMAGE_VIEW_TYPE_CUBE_ARRAY        = 6,
2336     VK_IMAGE_VIEW_TYPE_BEGIN_RANGE       = VK_IMAGE_VIEW_TYPE_1D,
2337     VK_IMAGE_VIEW_TYPE_END_RANGE         = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY,
2338     VK_IMAGE_VIEW_TYPE_RANGE_SIZE        = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1,
2339     VK_IMAGE_VIEW_TYPE_MAX_ENUM          = 0x7FFFFFFF
2340 }
2341 
2342 enum VK_IMAGE_VIEW_TYPE_1D               = VkImageViewType.VK_IMAGE_VIEW_TYPE_1D;
2343 enum VK_IMAGE_VIEW_TYPE_2D               = VkImageViewType.VK_IMAGE_VIEW_TYPE_2D;
2344 enum VK_IMAGE_VIEW_TYPE_3D               = VkImageViewType.VK_IMAGE_VIEW_TYPE_3D;
2345 enum VK_IMAGE_VIEW_TYPE_CUBE             = VkImageViewType.VK_IMAGE_VIEW_TYPE_CUBE;
2346 enum VK_IMAGE_VIEW_TYPE_1D_ARRAY         = VkImageViewType.VK_IMAGE_VIEW_TYPE_1D_ARRAY;
2347 enum VK_IMAGE_VIEW_TYPE_2D_ARRAY         = VkImageViewType.VK_IMAGE_VIEW_TYPE_2D_ARRAY;
2348 enum VK_IMAGE_VIEW_TYPE_CUBE_ARRAY       = VkImageViewType.VK_IMAGE_VIEW_TYPE_CUBE_ARRAY;
2349 enum VK_IMAGE_VIEW_TYPE_BEGIN_RANGE      = VkImageViewType.VK_IMAGE_VIEW_TYPE_BEGIN_RANGE;
2350 enum VK_IMAGE_VIEW_TYPE_END_RANGE        = VkImageViewType.VK_IMAGE_VIEW_TYPE_END_RANGE;
2351 enum VK_IMAGE_VIEW_TYPE_RANGE_SIZE       = VkImageViewType.VK_IMAGE_VIEW_TYPE_RANGE_SIZE;
2352 enum VK_IMAGE_VIEW_TYPE_MAX_ENUM         = VkImageViewType.VK_IMAGE_VIEW_TYPE_MAX_ENUM;
2353 
2354 enum VkBlendFactor {
2355     VK_BLEND_FACTOR_ZERO                         = 0,
2356     VK_BLEND_FACTOR_ONE                          = 1,
2357     VK_BLEND_FACTOR_SRC_COLOR                    = 2,
2358     VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR          = 3,
2359     VK_BLEND_FACTOR_DST_COLOR                    = 4,
2360     VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR          = 5,
2361     VK_BLEND_FACTOR_SRC_ALPHA                    = 6,
2362     VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA          = 7,
2363     VK_BLEND_FACTOR_DST_ALPHA                    = 8,
2364     VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA          = 9,
2365     VK_BLEND_FACTOR_CONSTANT_COLOR               = 10,
2366     VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR     = 11,
2367     VK_BLEND_FACTOR_CONSTANT_ALPHA               = 12,
2368     VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA     = 13,
2369     VK_BLEND_FACTOR_SRC_ALPHA_SATURATE           = 14,
2370     VK_BLEND_FACTOR_SRC1_COLOR                   = 15,
2371     VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR         = 16,
2372     VK_BLEND_FACTOR_SRC1_ALPHA                   = 17,
2373     VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA         = 18,
2374     VK_BLEND_FACTOR_BEGIN_RANGE                  = VK_BLEND_FACTOR_ZERO,
2375     VK_BLEND_FACTOR_END_RANGE                    = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,
2376     VK_BLEND_FACTOR_RANGE_SIZE                   = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1,
2377     VK_BLEND_FACTOR_MAX_ENUM                     = 0x7FFFFFFF
2378 }
2379 
2380 enum VK_BLEND_FACTOR_ZERO                        = VkBlendFactor.VK_BLEND_FACTOR_ZERO;
2381 enum VK_BLEND_FACTOR_ONE                         = VkBlendFactor.VK_BLEND_FACTOR_ONE;
2382 enum VK_BLEND_FACTOR_SRC_COLOR                   = VkBlendFactor.VK_BLEND_FACTOR_SRC_COLOR;
2383 enum VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR         = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR;
2384 enum VK_BLEND_FACTOR_DST_COLOR                   = VkBlendFactor.VK_BLEND_FACTOR_DST_COLOR;
2385 enum VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR         = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR;
2386 enum VK_BLEND_FACTOR_SRC_ALPHA                   = VkBlendFactor.VK_BLEND_FACTOR_SRC_ALPHA;
2387 enum VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA         = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA;
2388 enum VK_BLEND_FACTOR_DST_ALPHA                   = VkBlendFactor.VK_BLEND_FACTOR_DST_ALPHA;
2389 enum VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA         = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA;
2390 enum VK_BLEND_FACTOR_CONSTANT_COLOR              = VkBlendFactor.VK_BLEND_FACTOR_CONSTANT_COLOR;
2391 enum VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR    = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR;
2392 enum VK_BLEND_FACTOR_CONSTANT_ALPHA              = VkBlendFactor.VK_BLEND_FACTOR_CONSTANT_ALPHA;
2393 enum VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA    = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA;
2394 enum VK_BLEND_FACTOR_SRC_ALPHA_SATURATE          = VkBlendFactor.VK_BLEND_FACTOR_SRC_ALPHA_SATURATE;
2395 enum VK_BLEND_FACTOR_SRC1_COLOR                  = VkBlendFactor.VK_BLEND_FACTOR_SRC1_COLOR;
2396 enum VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR        = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR;
2397 enum VK_BLEND_FACTOR_SRC1_ALPHA                  = VkBlendFactor.VK_BLEND_FACTOR_SRC1_ALPHA;
2398 enum VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA        = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA;
2399 enum VK_BLEND_FACTOR_BEGIN_RANGE                 = VkBlendFactor.VK_BLEND_FACTOR_BEGIN_RANGE;
2400 enum VK_BLEND_FACTOR_END_RANGE                   = VkBlendFactor.VK_BLEND_FACTOR_END_RANGE;
2401 enum VK_BLEND_FACTOR_RANGE_SIZE                  = VkBlendFactor.VK_BLEND_FACTOR_RANGE_SIZE;
2402 enum VK_BLEND_FACTOR_MAX_ENUM                    = VkBlendFactor.VK_BLEND_FACTOR_MAX_ENUM;
2403 
2404 enum VkBlendOp {
2405     VK_BLEND_OP_ADD                      = 0,
2406     VK_BLEND_OP_SUBTRACT                 = 1,
2407     VK_BLEND_OP_REVERSE_SUBTRACT         = 2,
2408     VK_BLEND_OP_MIN                      = 3,
2409     VK_BLEND_OP_MAX                      = 4,
2410     VK_BLEND_OP_ZERO_EXT                 = 1000148000,
2411     VK_BLEND_OP_SRC_EXT                  = 1000148001,
2412     VK_BLEND_OP_DST_EXT                  = 1000148002,
2413     VK_BLEND_OP_SRC_OVER_EXT             = 1000148003,
2414     VK_BLEND_OP_DST_OVER_EXT             = 1000148004,
2415     VK_BLEND_OP_SRC_IN_EXT               = 1000148005,
2416     VK_BLEND_OP_DST_IN_EXT               = 1000148006,
2417     VK_BLEND_OP_SRC_OUT_EXT              = 1000148007,
2418     VK_BLEND_OP_DST_OUT_EXT              = 1000148008,
2419     VK_BLEND_OP_SRC_ATOP_EXT             = 1000148009,
2420     VK_BLEND_OP_DST_ATOP_EXT             = 1000148010,
2421     VK_BLEND_OP_XOR_EXT                  = 1000148011,
2422     VK_BLEND_OP_MULTIPLY_EXT             = 1000148012,
2423     VK_BLEND_OP_SCREEN_EXT               = 1000148013,
2424     VK_BLEND_OP_OVERLAY_EXT              = 1000148014,
2425     VK_BLEND_OP_DARKEN_EXT               = 1000148015,
2426     VK_BLEND_OP_LIGHTEN_EXT              = 1000148016,
2427     VK_BLEND_OP_COLORDODGE_EXT           = 1000148017,
2428     VK_BLEND_OP_COLORBURN_EXT            = 1000148018,
2429     VK_BLEND_OP_HARDLIGHT_EXT            = 1000148019,
2430     VK_BLEND_OP_SOFTLIGHT_EXT            = 1000148020,
2431     VK_BLEND_OP_DIFFERENCE_EXT           = 1000148021,
2432     VK_BLEND_OP_EXCLUSION_EXT            = 1000148022,
2433     VK_BLEND_OP_INVERT_EXT               = 1000148023,
2434     VK_BLEND_OP_INVERT_RGB_EXT           = 1000148024,
2435     VK_BLEND_OP_LINEARDODGE_EXT          = 1000148025,
2436     VK_BLEND_OP_LINEARBURN_EXT           = 1000148026,
2437     VK_BLEND_OP_VIVIDLIGHT_EXT           = 1000148027,
2438     VK_BLEND_OP_LINEARLIGHT_EXT          = 1000148028,
2439     VK_BLEND_OP_PINLIGHT_EXT             = 1000148029,
2440     VK_BLEND_OP_HARDMIX_EXT              = 1000148030,
2441     VK_BLEND_OP_HSL_HUE_EXT              = 1000148031,
2442     VK_BLEND_OP_HSL_SATURATION_EXT       = 1000148032,
2443     VK_BLEND_OP_HSL_COLOR_EXT            = 1000148033,
2444     VK_BLEND_OP_HSL_LUMINOSITY_EXT       = 1000148034,
2445     VK_BLEND_OP_PLUS_EXT                 = 1000148035,
2446     VK_BLEND_OP_PLUS_CLAMPED_EXT         = 1000148036,
2447     VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT   = 1000148037,
2448     VK_BLEND_OP_PLUS_DARKER_EXT          = 1000148038,
2449     VK_BLEND_OP_MINUS_EXT                = 1000148039,
2450     VK_BLEND_OP_MINUS_CLAMPED_EXT        = 1000148040,
2451     VK_BLEND_OP_CONTRAST_EXT             = 1000148041,
2452     VK_BLEND_OP_INVERT_OVG_EXT           = 1000148042,
2453     VK_BLEND_OP_RED_EXT                  = 1000148043,
2454     VK_BLEND_OP_GREEN_EXT                = 1000148044,
2455     VK_BLEND_OP_BLUE_EXT                 = 1000148045,
2456     VK_BLEND_OP_BEGIN_RANGE              = VK_BLEND_OP_ADD,
2457     VK_BLEND_OP_END_RANGE                = VK_BLEND_OP_MAX,
2458     VK_BLEND_OP_RANGE_SIZE               = VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1,
2459     VK_BLEND_OP_MAX_ENUM                 = 0x7FFFFFFF
2460 }
2461 
2462 enum VK_BLEND_OP_ADD                     = VkBlendOp.VK_BLEND_OP_ADD;
2463 enum VK_BLEND_OP_SUBTRACT                = VkBlendOp.VK_BLEND_OP_SUBTRACT;
2464 enum VK_BLEND_OP_REVERSE_SUBTRACT        = VkBlendOp.VK_BLEND_OP_REVERSE_SUBTRACT;
2465 enum VK_BLEND_OP_MIN                     = VkBlendOp.VK_BLEND_OP_MIN;
2466 enum VK_BLEND_OP_MAX                     = VkBlendOp.VK_BLEND_OP_MAX;
2467 enum VK_BLEND_OP_ZERO_EXT                = VkBlendOp.VK_BLEND_OP_ZERO_EXT;
2468 enum VK_BLEND_OP_SRC_EXT                 = VkBlendOp.VK_BLEND_OP_SRC_EXT;
2469 enum VK_BLEND_OP_DST_EXT                 = VkBlendOp.VK_BLEND_OP_DST_EXT;
2470 enum VK_BLEND_OP_SRC_OVER_EXT            = VkBlendOp.VK_BLEND_OP_SRC_OVER_EXT;
2471 enum VK_BLEND_OP_DST_OVER_EXT            = VkBlendOp.VK_BLEND_OP_DST_OVER_EXT;
2472 enum VK_BLEND_OP_SRC_IN_EXT              = VkBlendOp.VK_BLEND_OP_SRC_IN_EXT;
2473 enum VK_BLEND_OP_DST_IN_EXT              = VkBlendOp.VK_BLEND_OP_DST_IN_EXT;
2474 enum VK_BLEND_OP_SRC_OUT_EXT             = VkBlendOp.VK_BLEND_OP_SRC_OUT_EXT;
2475 enum VK_BLEND_OP_DST_OUT_EXT             = VkBlendOp.VK_BLEND_OP_DST_OUT_EXT;
2476 enum VK_BLEND_OP_SRC_ATOP_EXT            = VkBlendOp.VK_BLEND_OP_SRC_ATOP_EXT;
2477 enum VK_BLEND_OP_DST_ATOP_EXT            = VkBlendOp.VK_BLEND_OP_DST_ATOP_EXT;
2478 enum VK_BLEND_OP_XOR_EXT                 = VkBlendOp.VK_BLEND_OP_XOR_EXT;
2479 enum VK_BLEND_OP_MULTIPLY_EXT            = VkBlendOp.VK_BLEND_OP_MULTIPLY_EXT;
2480 enum VK_BLEND_OP_SCREEN_EXT              = VkBlendOp.VK_BLEND_OP_SCREEN_EXT;
2481 enum VK_BLEND_OP_OVERLAY_EXT             = VkBlendOp.VK_BLEND_OP_OVERLAY_EXT;
2482 enum VK_BLEND_OP_DARKEN_EXT              = VkBlendOp.VK_BLEND_OP_DARKEN_EXT;
2483 enum VK_BLEND_OP_LIGHTEN_EXT             = VkBlendOp.VK_BLEND_OP_LIGHTEN_EXT;
2484 enum VK_BLEND_OP_COLORDODGE_EXT          = VkBlendOp.VK_BLEND_OP_COLORDODGE_EXT;
2485 enum VK_BLEND_OP_COLORBURN_EXT           = VkBlendOp.VK_BLEND_OP_COLORBURN_EXT;
2486 enum VK_BLEND_OP_HARDLIGHT_EXT           = VkBlendOp.VK_BLEND_OP_HARDLIGHT_EXT;
2487 enum VK_BLEND_OP_SOFTLIGHT_EXT           = VkBlendOp.VK_BLEND_OP_SOFTLIGHT_EXT;
2488 enum VK_BLEND_OP_DIFFERENCE_EXT          = VkBlendOp.VK_BLEND_OP_DIFFERENCE_EXT;
2489 enum VK_BLEND_OP_EXCLUSION_EXT           = VkBlendOp.VK_BLEND_OP_EXCLUSION_EXT;
2490 enum VK_BLEND_OP_INVERT_EXT              = VkBlendOp.VK_BLEND_OP_INVERT_EXT;
2491 enum VK_BLEND_OP_INVERT_RGB_EXT          = VkBlendOp.VK_BLEND_OP_INVERT_RGB_EXT;
2492 enum VK_BLEND_OP_LINEARDODGE_EXT         = VkBlendOp.VK_BLEND_OP_LINEARDODGE_EXT;
2493 enum VK_BLEND_OP_LINEARBURN_EXT          = VkBlendOp.VK_BLEND_OP_LINEARBURN_EXT;
2494 enum VK_BLEND_OP_VIVIDLIGHT_EXT          = VkBlendOp.VK_BLEND_OP_VIVIDLIGHT_EXT;
2495 enum VK_BLEND_OP_LINEARLIGHT_EXT         = VkBlendOp.VK_BLEND_OP_LINEARLIGHT_EXT;
2496 enum VK_BLEND_OP_PINLIGHT_EXT            = VkBlendOp.VK_BLEND_OP_PINLIGHT_EXT;
2497 enum VK_BLEND_OP_HARDMIX_EXT             = VkBlendOp.VK_BLEND_OP_HARDMIX_EXT;
2498 enum VK_BLEND_OP_HSL_HUE_EXT             = VkBlendOp.VK_BLEND_OP_HSL_HUE_EXT;
2499 enum VK_BLEND_OP_HSL_SATURATION_EXT      = VkBlendOp.VK_BLEND_OP_HSL_SATURATION_EXT;
2500 enum VK_BLEND_OP_HSL_COLOR_EXT           = VkBlendOp.VK_BLEND_OP_HSL_COLOR_EXT;
2501 enum VK_BLEND_OP_HSL_LUMINOSITY_EXT      = VkBlendOp.VK_BLEND_OP_HSL_LUMINOSITY_EXT;
2502 enum VK_BLEND_OP_PLUS_EXT                = VkBlendOp.VK_BLEND_OP_PLUS_EXT;
2503 enum VK_BLEND_OP_PLUS_CLAMPED_EXT        = VkBlendOp.VK_BLEND_OP_PLUS_CLAMPED_EXT;
2504 enum VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT  = VkBlendOp.VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT;
2505 enum VK_BLEND_OP_PLUS_DARKER_EXT         = VkBlendOp.VK_BLEND_OP_PLUS_DARKER_EXT;
2506 enum VK_BLEND_OP_MINUS_EXT               = VkBlendOp.VK_BLEND_OP_MINUS_EXT;
2507 enum VK_BLEND_OP_MINUS_CLAMPED_EXT       = VkBlendOp.VK_BLEND_OP_MINUS_CLAMPED_EXT;
2508 enum VK_BLEND_OP_CONTRAST_EXT            = VkBlendOp.VK_BLEND_OP_CONTRAST_EXT;
2509 enum VK_BLEND_OP_INVERT_OVG_EXT          = VkBlendOp.VK_BLEND_OP_INVERT_OVG_EXT;
2510 enum VK_BLEND_OP_RED_EXT                 = VkBlendOp.VK_BLEND_OP_RED_EXT;
2511 enum VK_BLEND_OP_GREEN_EXT               = VkBlendOp.VK_BLEND_OP_GREEN_EXT;
2512 enum VK_BLEND_OP_BLUE_EXT                = VkBlendOp.VK_BLEND_OP_BLUE_EXT;
2513 enum VK_BLEND_OP_BEGIN_RANGE             = VkBlendOp.VK_BLEND_OP_BEGIN_RANGE;
2514 enum VK_BLEND_OP_END_RANGE               = VkBlendOp.VK_BLEND_OP_END_RANGE;
2515 enum VK_BLEND_OP_RANGE_SIZE              = VkBlendOp.VK_BLEND_OP_RANGE_SIZE;
2516 enum VK_BLEND_OP_MAX_ENUM                = VkBlendOp.VK_BLEND_OP_MAX_ENUM;
2517 
2518 enum VkCompareOp {
2519     VK_COMPARE_OP_NEVER                  = 0,
2520     VK_COMPARE_OP_LESS                   = 1,
2521     VK_COMPARE_OP_EQUAL                  = 2,
2522     VK_COMPARE_OP_LESS_OR_EQUAL          = 3,
2523     VK_COMPARE_OP_GREATER                = 4,
2524     VK_COMPARE_OP_NOT_EQUAL              = 5,
2525     VK_COMPARE_OP_GREATER_OR_EQUAL       = 6,
2526     VK_COMPARE_OP_ALWAYS                 = 7,
2527     VK_COMPARE_OP_BEGIN_RANGE            = VK_COMPARE_OP_NEVER,
2528     VK_COMPARE_OP_END_RANGE              = VK_COMPARE_OP_ALWAYS,
2529     VK_COMPARE_OP_RANGE_SIZE             = VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1,
2530     VK_COMPARE_OP_MAX_ENUM               = 0x7FFFFFFF
2531 }
2532 
2533 enum VK_COMPARE_OP_NEVER                 = VkCompareOp.VK_COMPARE_OP_NEVER;
2534 enum VK_COMPARE_OP_LESS                  = VkCompareOp.VK_COMPARE_OP_LESS;
2535 enum VK_COMPARE_OP_EQUAL                 = VkCompareOp.VK_COMPARE_OP_EQUAL;
2536 enum VK_COMPARE_OP_LESS_OR_EQUAL         = VkCompareOp.VK_COMPARE_OP_LESS_OR_EQUAL;
2537 enum VK_COMPARE_OP_GREATER               = VkCompareOp.VK_COMPARE_OP_GREATER;
2538 enum VK_COMPARE_OP_NOT_EQUAL             = VkCompareOp.VK_COMPARE_OP_NOT_EQUAL;
2539 enum VK_COMPARE_OP_GREATER_OR_EQUAL      = VkCompareOp.VK_COMPARE_OP_GREATER_OR_EQUAL;
2540 enum VK_COMPARE_OP_ALWAYS                = VkCompareOp.VK_COMPARE_OP_ALWAYS;
2541 enum VK_COMPARE_OP_BEGIN_RANGE           = VkCompareOp.VK_COMPARE_OP_BEGIN_RANGE;
2542 enum VK_COMPARE_OP_END_RANGE             = VkCompareOp.VK_COMPARE_OP_END_RANGE;
2543 enum VK_COMPARE_OP_RANGE_SIZE            = VkCompareOp.VK_COMPARE_OP_RANGE_SIZE;
2544 enum VK_COMPARE_OP_MAX_ENUM              = VkCompareOp.VK_COMPARE_OP_MAX_ENUM;
2545 
2546 enum VkDynamicState {
2547     VK_DYNAMIC_STATE_VIEWPORT                                    = 0,
2548     VK_DYNAMIC_STATE_SCISSOR                                     = 1,
2549     VK_DYNAMIC_STATE_LINE_WIDTH                                  = 2,
2550     VK_DYNAMIC_STATE_DEPTH_BIAS                                  = 3,
2551     VK_DYNAMIC_STATE_BLEND_CONSTANTS                             = 4,
2552     VK_DYNAMIC_STATE_DEPTH_BOUNDS                                = 5,
2553     VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK                        = 6,
2554     VK_DYNAMIC_STATE_STENCIL_WRITE_MASK                          = 7,
2555     VK_DYNAMIC_STATE_STENCIL_REFERENCE                           = 8,
2556     VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV                       = 1000087000,
2557     VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT                       = 1000099000,
2558     VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT                        = 1000143000,
2559     VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR         = 1000347000,
2560     VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV            = 1000164004,
2561     VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV             = 1000164006,
2562     VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV                        = 1000205001,
2563     VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR                   = 1000226000,
2564     VK_DYNAMIC_STATE_LINE_STIPPLE_EXT                            = 1000259000,
2565     VK_DYNAMIC_STATE_CULL_MODE_EXT                               = 1000267000,
2566     VK_DYNAMIC_STATE_FRONT_FACE_EXT                              = 1000267001,
2567     VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT                      = 1000267002,
2568     VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT                     = 1000267003,
2569     VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT                      = 1000267004,
2570     VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT             = 1000267005,
2571     VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT                       = 1000267006,
2572     VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT                      = 1000267007,
2573     VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT                        = 1000267008,
2574     VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT                = 1000267009,
2575     VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT                     = 1000267010,
2576     VK_DYNAMIC_STATE_STENCIL_OP_EXT                              = 1000267011,
2577     VK_DYNAMIC_STATE_BEGIN_RANGE                                 = VK_DYNAMIC_STATE_VIEWPORT,
2578     VK_DYNAMIC_STATE_END_RANGE                                   = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
2579     VK_DYNAMIC_STATE_RANGE_SIZE                                  = VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1,
2580     VK_DYNAMIC_STATE_MAX_ENUM                                    = 0x7FFFFFFF
2581 }
2582 
2583 enum VK_DYNAMIC_STATE_VIEWPORT                                   = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT;
2584 enum VK_DYNAMIC_STATE_SCISSOR                                    = VkDynamicState.VK_DYNAMIC_STATE_SCISSOR;
2585 enum VK_DYNAMIC_STATE_LINE_WIDTH                                 = VkDynamicState.VK_DYNAMIC_STATE_LINE_WIDTH;
2586 enum VK_DYNAMIC_STATE_DEPTH_BIAS                                 = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_BIAS;
2587 enum VK_DYNAMIC_STATE_BLEND_CONSTANTS                            = VkDynamicState.VK_DYNAMIC_STATE_BLEND_CONSTANTS;
2588 enum VK_DYNAMIC_STATE_DEPTH_BOUNDS                               = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_BOUNDS;
2589 enum VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK                       = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK;
2590 enum VK_DYNAMIC_STATE_STENCIL_WRITE_MASK                         = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_WRITE_MASK;
2591 enum VK_DYNAMIC_STATE_STENCIL_REFERENCE                          = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_REFERENCE;
2592 enum VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV                      = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV;
2593 enum VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT                      = VkDynamicState.VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT;
2594 enum VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT                       = VkDynamicState.VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT;
2595 enum VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR        = VkDynamicState.VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR;
2596 enum VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV           = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV;
2597 enum VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV            = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV;
2598 enum VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV                       = VkDynamicState.VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV;
2599 enum VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR                  = VkDynamicState.VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR;
2600 enum VK_DYNAMIC_STATE_LINE_STIPPLE_EXT                           = VkDynamicState.VK_DYNAMIC_STATE_LINE_STIPPLE_EXT;
2601 enum VK_DYNAMIC_STATE_CULL_MODE_EXT                              = VkDynamicState.VK_DYNAMIC_STATE_CULL_MODE_EXT;
2602 enum VK_DYNAMIC_STATE_FRONT_FACE_EXT                             = VkDynamicState.VK_DYNAMIC_STATE_FRONT_FACE_EXT;
2603 enum VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT                     = VkDynamicState.VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT;
2604 enum VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT                    = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT;
2605 enum VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT                     = VkDynamicState.VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT;
2606 enum VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT            = VkDynamicState.VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT;
2607 enum VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT                      = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT;
2608 enum VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT                     = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT;
2609 enum VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT                       = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT;
2610 enum VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT               = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT;
2611 enum VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT                    = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT;
2612 enum VK_DYNAMIC_STATE_STENCIL_OP_EXT                             = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_OP_EXT;
2613 enum VK_DYNAMIC_STATE_BEGIN_RANGE                                = VkDynamicState.VK_DYNAMIC_STATE_BEGIN_RANGE;
2614 enum VK_DYNAMIC_STATE_END_RANGE                                  = VkDynamicState.VK_DYNAMIC_STATE_END_RANGE;
2615 enum VK_DYNAMIC_STATE_RANGE_SIZE                                 = VkDynamicState.VK_DYNAMIC_STATE_RANGE_SIZE;
2616 enum VK_DYNAMIC_STATE_MAX_ENUM                                   = VkDynamicState.VK_DYNAMIC_STATE_MAX_ENUM;
2617 
2618 enum VkFrontFace {
2619     VK_FRONT_FACE_COUNTER_CLOCKWISE      = 0,
2620     VK_FRONT_FACE_CLOCKWISE              = 1,
2621     VK_FRONT_FACE_BEGIN_RANGE            = VK_FRONT_FACE_COUNTER_CLOCKWISE,
2622     VK_FRONT_FACE_END_RANGE              = VK_FRONT_FACE_CLOCKWISE,
2623     VK_FRONT_FACE_RANGE_SIZE             = VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1,
2624     VK_FRONT_FACE_MAX_ENUM               = 0x7FFFFFFF
2625 }
2626 
2627 enum VK_FRONT_FACE_COUNTER_CLOCKWISE     = VkFrontFace.VK_FRONT_FACE_COUNTER_CLOCKWISE;
2628 enum VK_FRONT_FACE_CLOCKWISE             = VkFrontFace.VK_FRONT_FACE_CLOCKWISE;
2629 enum VK_FRONT_FACE_BEGIN_RANGE           = VkFrontFace.VK_FRONT_FACE_BEGIN_RANGE;
2630 enum VK_FRONT_FACE_END_RANGE             = VkFrontFace.VK_FRONT_FACE_END_RANGE;
2631 enum VK_FRONT_FACE_RANGE_SIZE            = VkFrontFace.VK_FRONT_FACE_RANGE_SIZE;
2632 enum VK_FRONT_FACE_MAX_ENUM              = VkFrontFace.VK_FRONT_FACE_MAX_ENUM;
2633 
2634 enum VkVertexInputRate {
2635     VK_VERTEX_INPUT_RATE_VERTEX          = 0,
2636     VK_VERTEX_INPUT_RATE_INSTANCE        = 1,
2637     VK_VERTEX_INPUT_RATE_BEGIN_RANGE     = VK_VERTEX_INPUT_RATE_VERTEX,
2638     VK_VERTEX_INPUT_RATE_END_RANGE       = VK_VERTEX_INPUT_RATE_INSTANCE,
2639     VK_VERTEX_INPUT_RATE_RANGE_SIZE      = VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1,
2640     VK_VERTEX_INPUT_RATE_MAX_ENUM        = 0x7FFFFFFF
2641 }
2642 
2643 enum VK_VERTEX_INPUT_RATE_VERTEX         = VkVertexInputRate.VK_VERTEX_INPUT_RATE_VERTEX;
2644 enum VK_VERTEX_INPUT_RATE_INSTANCE       = VkVertexInputRate.VK_VERTEX_INPUT_RATE_INSTANCE;
2645 enum VK_VERTEX_INPUT_RATE_BEGIN_RANGE    = VkVertexInputRate.VK_VERTEX_INPUT_RATE_BEGIN_RANGE;
2646 enum VK_VERTEX_INPUT_RATE_END_RANGE      = VkVertexInputRate.VK_VERTEX_INPUT_RATE_END_RANGE;
2647 enum VK_VERTEX_INPUT_RATE_RANGE_SIZE     = VkVertexInputRate.VK_VERTEX_INPUT_RATE_RANGE_SIZE;
2648 enum VK_VERTEX_INPUT_RATE_MAX_ENUM       = VkVertexInputRate.VK_VERTEX_INPUT_RATE_MAX_ENUM;
2649 
2650 enum VkPrimitiveTopology {
2651     VK_PRIMITIVE_TOPOLOGY_POINT_LIST                     = 0,
2652     VK_PRIMITIVE_TOPOLOGY_LINE_LIST                      = 1,
2653     VK_PRIMITIVE_TOPOLOGY_LINE_STRIP                     = 2,
2654     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST                  = 3,
2655     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP                 = 4,
2656     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN                   = 5,
2657     VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY       = 6,
2658     VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY      = 7,
2659     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY   = 8,
2660     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY  = 9,
2661     VK_PRIMITIVE_TOPOLOGY_PATCH_LIST                     = 10,
2662     VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE                    = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
2663     VK_PRIMITIVE_TOPOLOGY_END_RANGE                      = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,
2664     VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE                     = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1,
2665     VK_PRIMITIVE_TOPOLOGY_MAX_ENUM                       = 0x7FFFFFFF
2666 }
2667 
2668 enum VK_PRIMITIVE_TOPOLOGY_POINT_LIST                    = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
2669 enum VK_PRIMITIVE_TOPOLOGY_LINE_LIST                     = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_LIST;
2670 enum VK_PRIMITIVE_TOPOLOGY_LINE_STRIP                    = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_STRIP;
2671 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST                 = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
2672 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP                = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
2673 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN                  = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN;
2674 enum VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY      = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY;
2675 enum VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY     = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY;
2676 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY  = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY;
2677 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY;
2678 enum VK_PRIMITIVE_TOPOLOGY_PATCH_LIST                    = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_PATCH_LIST;
2679 enum VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE                   = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE;
2680 enum VK_PRIMITIVE_TOPOLOGY_END_RANGE                     = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_END_RANGE;
2681 enum VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE                    = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE;
2682 enum VK_PRIMITIVE_TOPOLOGY_MAX_ENUM                      = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_MAX_ENUM;
2683 
2684 enum VkPolygonMode {
2685     VK_POLYGON_MODE_FILL                 = 0,
2686     VK_POLYGON_MODE_LINE                 = 1,
2687     VK_POLYGON_MODE_POINT                = 2,
2688     VK_POLYGON_MODE_FILL_RECTANGLE_NV    = 1000153000,
2689     VK_POLYGON_MODE_BEGIN_RANGE          = VK_POLYGON_MODE_FILL,
2690     VK_POLYGON_MODE_END_RANGE            = VK_POLYGON_MODE_POINT,
2691     VK_POLYGON_MODE_RANGE_SIZE           = VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1,
2692     VK_POLYGON_MODE_MAX_ENUM             = 0x7FFFFFFF
2693 }
2694 
2695 enum VK_POLYGON_MODE_FILL                = VkPolygonMode.VK_POLYGON_MODE_FILL;
2696 enum VK_POLYGON_MODE_LINE                = VkPolygonMode.VK_POLYGON_MODE_LINE;
2697 enum VK_POLYGON_MODE_POINT               = VkPolygonMode.VK_POLYGON_MODE_POINT;
2698 enum VK_POLYGON_MODE_FILL_RECTANGLE_NV   = VkPolygonMode.VK_POLYGON_MODE_FILL_RECTANGLE_NV;
2699 enum VK_POLYGON_MODE_BEGIN_RANGE         = VkPolygonMode.VK_POLYGON_MODE_BEGIN_RANGE;
2700 enum VK_POLYGON_MODE_END_RANGE           = VkPolygonMode.VK_POLYGON_MODE_END_RANGE;
2701 enum VK_POLYGON_MODE_RANGE_SIZE          = VkPolygonMode.VK_POLYGON_MODE_RANGE_SIZE;
2702 enum VK_POLYGON_MODE_MAX_ENUM            = VkPolygonMode.VK_POLYGON_MODE_MAX_ENUM;
2703 
2704 enum VkStencilOp {
2705     VK_STENCIL_OP_KEEP                   = 0,
2706     VK_STENCIL_OP_ZERO                   = 1,
2707     VK_STENCIL_OP_REPLACE                = 2,
2708     VK_STENCIL_OP_INCREMENT_AND_CLAMP    = 3,
2709     VK_STENCIL_OP_DECREMENT_AND_CLAMP    = 4,
2710     VK_STENCIL_OP_INVERT                 = 5,
2711     VK_STENCIL_OP_INCREMENT_AND_WRAP     = 6,
2712     VK_STENCIL_OP_DECREMENT_AND_WRAP     = 7,
2713     VK_STENCIL_OP_BEGIN_RANGE            = VK_STENCIL_OP_KEEP,
2714     VK_STENCIL_OP_END_RANGE              = VK_STENCIL_OP_DECREMENT_AND_WRAP,
2715     VK_STENCIL_OP_RANGE_SIZE             = VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1,
2716     VK_STENCIL_OP_MAX_ENUM               = 0x7FFFFFFF
2717 }
2718 
2719 enum VK_STENCIL_OP_KEEP                  = VkStencilOp.VK_STENCIL_OP_KEEP;
2720 enum VK_STENCIL_OP_ZERO                  = VkStencilOp.VK_STENCIL_OP_ZERO;
2721 enum VK_STENCIL_OP_REPLACE               = VkStencilOp.VK_STENCIL_OP_REPLACE;
2722 enum VK_STENCIL_OP_INCREMENT_AND_CLAMP   = VkStencilOp.VK_STENCIL_OP_INCREMENT_AND_CLAMP;
2723 enum VK_STENCIL_OP_DECREMENT_AND_CLAMP   = VkStencilOp.VK_STENCIL_OP_DECREMENT_AND_CLAMP;
2724 enum VK_STENCIL_OP_INVERT                = VkStencilOp.VK_STENCIL_OP_INVERT;
2725 enum VK_STENCIL_OP_INCREMENT_AND_WRAP    = VkStencilOp.VK_STENCIL_OP_INCREMENT_AND_WRAP;
2726 enum VK_STENCIL_OP_DECREMENT_AND_WRAP    = VkStencilOp.VK_STENCIL_OP_DECREMENT_AND_WRAP;
2727 enum VK_STENCIL_OP_BEGIN_RANGE           = VkStencilOp.VK_STENCIL_OP_BEGIN_RANGE;
2728 enum VK_STENCIL_OP_END_RANGE             = VkStencilOp.VK_STENCIL_OP_END_RANGE;
2729 enum VK_STENCIL_OP_RANGE_SIZE            = VkStencilOp.VK_STENCIL_OP_RANGE_SIZE;
2730 enum VK_STENCIL_OP_MAX_ENUM              = VkStencilOp.VK_STENCIL_OP_MAX_ENUM;
2731 
2732 enum VkLogicOp {
2733     VK_LOGIC_OP_CLEAR            = 0,
2734     VK_LOGIC_OP_AND              = 1,
2735     VK_LOGIC_OP_AND_REVERSE      = 2,
2736     VK_LOGIC_OP_COPY             = 3,
2737     VK_LOGIC_OP_AND_INVERTED     = 4,
2738     VK_LOGIC_OP_NO_OP            = 5,
2739     VK_LOGIC_OP_XOR              = 6,
2740     VK_LOGIC_OP_OR               = 7,
2741     VK_LOGIC_OP_NOR              = 8,
2742     VK_LOGIC_OP_EQUIVALENT       = 9,
2743     VK_LOGIC_OP_INVERT           = 10,
2744     VK_LOGIC_OP_OR_REVERSE       = 11,
2745     VK_LOGIC_OP_COPY_INVERTED    = 12,
2746     VK_LOGIC_OP_OR_INVERTED      = 13,
2747     VK_LOGIC_OP_NAND             = 14,
2748     VK_LOGIC_OP_SET              = 15,
2749     VK_LOGIC_OP_BEGIN_RANGE      = VK_LOGIC_OP_CLEAR,
2750     VK_LOGIC_OP_END_RANGE        = VK_LOGIC_OP_SET,
2751     VK_LOGIC_OP_RANGE_SIZE       = VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1,
2752     VK_LOGIC_OP_MAX_ENUM         = 0x7FFFFFFF
2753 }
2754 
2755 enum VK_LOGIC_OP_CLEAR           = VkLogicOp.VK_LOGIC_OP_CLEAR;
2756 enum VK_LOGIC_OP_AND             = VkLogicOp.VK_LOGIC_OP_AND;
2757 enum VK_LOGIC_OP_AND_REVERSE     = VkLogicOp.VK_LOGIC_OP_AND_REVERSE;
2758 enum VK_LOGIC_OP_COPY            = VkLogicOp.VK_LOGIC_OP_COPY;
2759 enum VK_LOGIC_OP_AND_INVERTED    = VkLogicOp.VK_LOGIC_OP_AND_INVERTED;
2760 enum VK_LOGIC_OP_NO_OP           = VkLogicOp.VK_LOGIC_OP_NO_OP;
2761 enum VK_LOGIC_OP_XOR             = VkLogicOp.VK_LOGIC_OP_XOR;
2762 enum VK_LOGIC_OP_OR              = VkLogicOp.VK_LOGIC_OP_OR;
2763 enum VK_LOGIC_OP_NOR             = VkLogicOp.VK_LOGIC_OP_NOR;
2764 enum VK_LOGIC_OP_EQUIVALENT      = VkLogicOp.VK_LOGIC_OP_EQUIVALENT;
2765 enum VK_LOGIC_OP_INVERT          = VkLogicOp.VK_LOGIC_OP_INVERT;
2766 enum VK_LOGIC_OP_OR_REVERSE      = VkLogicOp.VK_LOGIC_OP_OR_REVERSE;
2767 enum VK_LOGIC_OP_COPY_INVERTED   = VkLogicOp.VK_LOGIC_OP_COPY_INVERTED;
2768 enum VK_LOGIC_OP_OR_INVERTED     = VkLogicOp.VK_LOGIC_OP_OR_INVERTED;
2769 enum VK_LOGIC_OP_NAND            = VkLogicOp.VK_LOGIC_OP_NAND;
2770 enum VK_LOGIC_OP_SET             = VkLogicOp.VK_LOGIC_OP_SET;
2771 enum VK_LOGIC_OP_BEGIN_RANGE     = VkLogicOp.VK_LOGIC_OP_BEGIN_RANGE;
2772 enum VK_LOGIC_OP_END_RANGE       = VkLogicOp.VK_LOGIC_OP_END_RANGE;
2773 enum VK_LOGIC_OP_RANGE_SIZE      = VkLogicOp.VK_LOGIC_OP_RANGE_SIZE;
2774 enum VK_LOGIC_OP_MAX_ENUM        = VkLogicOp.VK_LOGIC_OP_MAX_ENUM;
2775 
2776 enum VkBorderColor {
2777     VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK      = 0,
2778     VK_BORDER_COLOR_INT_TRANSPARENT_BLACK        = 1,
2779     VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK           = 2,
2780     VK_BORDER_COLOR_INT_OPAQUE_BLACK             = 3,
2781     VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE           = 4,
2782     VK_BORDER_COLOR_INT_OPAQUE_WHITE             = 5,
2783     VK_BORDER_COLOR_FLOAT_CUSTOM_EXT             = 1000287003,
2784     VK_BORDER_COLOR_INT_CUSTOM_EXT               = 1000287004,
2785     VK_BORDER_COLOR_BEGIN_RANGE                  = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
2786     VK_BORDER_COLOR_END_RANGE                    = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
2787     VK_BORDER_COLOR_RANGE_SIZE                   = VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1,
2788     VK_BORDER_COLOR_MAX_ENUM                     = 0x7FFFFFFF
2789 }
2790 
2791 enum VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK     = VkBorderColor.VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK;
2792 enum VK_BORDER_COLOR_INT_TRANSPARENT_BLACK       = VkBorderColor.VK_BORDER_COLOR_INT_TRANSPARENT_BLACK;
2793 enum VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK          = VkBorderColor.VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK;
2794 enum VK_BORDER_COLOR_INT_OPAQUE_BLACK            = VkBorderColor.VK_BORDER_COLOR_INT_OPAQUE_BLACK;
2795 enum VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE          = VkBorderColor.VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE;
2796 enum VK_BORDER_COLOR_INT_OPAQUE_WHITE            = VkBorderColor.VK_BORDER_COLOR_INT_OPAQUE_WHITE;
2797 enum VK_BORDER_COLOR_FLOAT_CUSTOM_EXT            = VkBorderColor.VK_BORDER_COLOR_FLOAT_CUSTOM_EXT;
2798 enum VK_BORDER_COLOR_INT_CUSTOM_EXT              = VkBorderColor.VK_BORDER_COLOR_INT_CUSTOM_EXT;
2799 enum VK_BORDER_COLOR_BEGIN_RANGE                 = VkBorderColor.VK_BORDER_COLOR_BEGIN_RANGE;
2800 enum VK_BORDER_COLOR_END_RANGE                   = VkBorderColor.VK_BORDER_COLOR_END_RANGE;
2801 enum VK_BORDER_COLOR_RANGE_SIZE                  = VkBorderColor.VK_BORDER_COLOR_RANGE_SIZE;
2802 enum VK_BORDER_COLOR_MAX_ENUM                    = VkBorderColor.VK_BORDER_COLOR_MAX_ENUM;
2803 
2804 enum VkFilter {
2805     VK_FILTER_NEAREST            = 0,
2806     VK_FILTER_LINEAR             = 1,
2807     VK_FILTER_CUBIC_IMG          = 1000015000,
2808     VK_FILTER_CUBIC_EXT          = VK_FILTER_CUBIC_IMG,
2809     VK_FILTER_BEGIN_RANGE        = VK_FILTER_NEAREST,
2810     VK_FILTER_END_RANGE          = VK_FILTER_LINEAR,
2811     VK_FILTER_RANGE_SIZE         = VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1,
2812     VK_FILTER_MAX_ENUM           = 0x7FFFFFFF
2813 }
2814 
2815 enum VK_FILTER_NEAREST           = VkFilter.VK_FILTER_NEAREST;
2816 enum VK_FILTER_LINEAR            = VkFilter.VK_FILTER_LINEAR;
2817 enum VK_FILTER_CUBIC_IMG         = VkFilter.VK_FILTER_CUBIC_IMG;
2818 enum VK_FILTER_CUBIC_EXT         = VkFilter.VK_FILTER_CUBIC_EXT;
2819 enum VK_FILTER_BEGIN_RANGE       = VkFilter.VK_FILTER_BEGIN_RANGE;
2820 enum VK_FILTER_END_RANGE         = VkFilter.VK_FILTER_END_RANGE;
2821 enum VK_FILTER_RANGE_SIZE        = VkFilter.VK_FILTER_RANGE_SIZE;
2822 enum VK_FILTER_MAX_ENUM          = VkFilter.VK_FILTER_MAX_ENUM;
2823 
2824 enum VkSamplerAddressMode {
2825     VK_SAMPLER_ADDRESS_MODE_REPEAT                       = 0,
2826     VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT              = 1,
2827     VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE                = 2,
2828     VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER              = 3,
2829     VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE         = 4,
2830     VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR     = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2831     VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE                  = VK_SAMPLER_ADDRESS_MODE_REPEAT,
2832     VK_SAMPLER_ADDRESS_MODE_END_RANGE                    = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
2833     VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE                   = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1,
2834     VK_SAMPLER_ADDRESS_MODE_MAX_ENUM                     = 0x7FFFFFFF
2835 }
2836 
2837 enum VK_SAMPLER_ADDRESS_MODE_REPEAT                      = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_REPEAT;
2838 enum VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT             = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT;
2839 enum VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE               = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
2840 enum VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER             = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER;
2841 enum VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE        = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
2842 enum VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR    = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR;
2843 enum VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE                 = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE;
2844 enum VK_SAMPLER_ADDRESS_MODE_END_RANGE                   = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_END_RANGE;
2845 enum VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE                  = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE;
2846 enum VK_SAMPLER_ADDRESS_MODE_MAX_ENUM                    = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MAX_ENUM;
2847 
2848 enum VkSamplerMipmapMode {
2849     VK_SAMPLER_MIPMAP_MODE_NEAREST       = 0,
2850     VK_SAMPLER_MIPMAP_MODE_LINEAR        = 1,
2851     VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE   = VK_SAMPLER_MIPMAP_MODE_NEAREST,
2852     VK_SAMPLER_MIPMAP_MODE_END_RANGE     = VK_SAMPLER_MIPMAP_MODE_LINEAR,
2853     VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE    = VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1,
2854     VK_SAMPLER_MIPMAP_MODE_MAX_ENUM      = 0x7FFFFFFF
2855 }
2856 
2857 enum VK_SAMPLER_MIPMAP_MODE_NEAREST      = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_NEAREST;
2858 enum VK_SAMPLER_MIPMAP_MODE_LINEAR       = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_LINEAR;
2859 enum VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE  = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE;
2860 enum VK_SAMPLER_MIPMAP_MODE_END_RANGE    = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_END_RANGE;
2861 enum VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE   = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE;
2862 enum VK_SAMPLER_MIPMAP_MODE_MAX_ENUM     = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_MAX_ENUM;
2863 
2864 enum VkDescriptorType {
2865     VK_DESCRIPTOR_TYPE_SAMPLER                           = 0,
2866     VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER            = 1,
2867     VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE                     = 2,
2868     VK_DESCRIPTOR_TYPE_STORAGE_IMAGE                     = 3,
2869     VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER              = 4,
2870     VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER              = 5,
2871     VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER                    = 6,
2872     VK_DESCRIPTOR_TYPE_STORAGE_BUFFER                    = 7,
2873     VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC            = 8,
2874     VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC            = 9,
2875     VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT                  = 10,
2876     VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT          = 1000138000,
2877     VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR        = 1000150000,
2878     VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV         = 1000165000,
2879     VK_DESCRIPTOR_TYPE_MUTABLE_VALVE                     = 1000351000,
2880     VK_DESCRIPTOR_TYPE_BEGIN_RANGE                       = VK_DESCRIPTOR_TYPE_SAMPLER,
2881     VK_DESCRIPTOR_TYPE_END_RANGE                         = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
2882     VK_DESCRIPTOR_TYPE_RANGE_SIZE                        = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1,
2883     VK_DESCRIPTOR_TYPE_MAX_ENUM                          = 0x7FFFFFFF
2884 }
2885 
2886 enum VK_DESCRIPTOR_TYPE_SAMPLER                          = VkDescriptorType.VK_DESCRIPTOR_TYPE_SAMPLER;
2887 enum VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER           = VkDescriptorType.VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
2888 enum VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE                    = VkDescriptorType.VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
2889 enum VK_DESCRIPTOR_TYPE_STORAGE_IMAGE                    = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_IMAGE;
2890 enum VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER             = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
2891 enum VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER             = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER;
2892 enum VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER                   = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
2893 enum VK_DESCRIPTOR_TYPE_STORAGE_BUFFER                   = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
2894 enum VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC           = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;
2895 enum VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC           = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
2896 enum VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT                 = VkDescriptorType.VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
2897 enum VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT         = VkDescriptorType.VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
2898 enum VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR       = VkDescriptorType.VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR;
2899 enum VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV        = VkDescriptorType.VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV;
2900 enum VK_DESCRIPTOR_TYPE_MUTABLE_VALVE                    = VkDescriptorType.VK_DESCRIPTOR_TYPE_MUTABLE_VALVE;
2901 enum VK_DESCRIPTOR_TYPE_BEGIN_RANGE                      = VkDescriptorType.VK_DESCRIPTOR_TYPE_BEGIN_RANGE;
2902 enum VK_DESCRIPTOR_TYPE_END_RANGE                        = VkDescriptorType.VK_DESCRIPTOR_TYPE_END_RANGE;
2903 enum VK_DESCRIPTOR_TYPE_RANGE_SIZE                       = VkDescriptorType.VK_DESCRIPTOR_TYPE_RANGE_SIZE;
2904 enum VK_DESCRIPTOR_TYPE_MAX_ENUM                         = VkDescriptorType.VK_DESCRIPTOR_TYPE_MAX_ENUM;
2905 
2906 enum VkAttachmentLoadOp {
2907     VK_ATTACHMENT_LOAD_OP_LOAD           = 0,
2908     VK_ATTACHMENT_LOAD_OP_CLEAR          = 1,
2909     VK_ATTACHMENT_LOAD_OP_DONT_CARE      = 2,
2910     VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE    = VK_ATTACHMENT_LOAD_OP_LOAD,
2911     VK_ATTACHMENT_LOAD_OP_END_RANGE      = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
2912     VK_ATTACHMENT_LOAD_OP_RANGE_SIZE     = VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1,
2913     VK_ATTACHMENT_LOAD_OP_MAX_ENUM       = 0x7FFFFFFF
2914 }
2915 
2916 enum VK_ATTACHMENT_LOAD_OP_LOAD          = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_LOAD;
2917 enum VK_ATTACHMENT_LOAD_OP_CLEAR         = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_CLEAR;
2918 enum VK_ATTACHMENT_LOAD_OP_DONT_CARE     = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_DONT_CARE;
2919 enum VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE   = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE;
2920 enum VK_ATTACHMENT_LOAD_OP_END_RANGE     = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_END_RANGE;
2921 enum VK_ATTACHMENT_LOAD_OP_RANGE_SIZE    = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_RANGE_SIZE;
2922 enum VK_ATTACHMENT_LOAD_OP_MAX_ENUM      = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_MAX_ENUM;
2923 
2924 enum VkAttachmentStoreOp {
2925     VK_ATTACHMENT_STORE_OP_STORE         = 0,
2926     VK_ATTACHMENT_STORE_OP_DONT_CARE     = 1,
2927     VK_ATTACHMENT_STORE_OP_NONE_QCOM     = 1000301000,
2928     VK_ATTACHMENT_STORE_OP_BEGIN_RANGE   = VK_ATTACHMENT_STORE_OP_STORE,
2929     VK_ATTACHMENT_STORE_OP_END_RANGE     = VK_ATTACHMENT_STORE_OP_DONT_CARE,
2930     VK_ATTACHMENT_STORE_OP_RANGE_SIZE    = VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1,
2931     VK_ATTACHMENT_STORE_OP_MAX_ENUM      = 0x7FFFFFFF
2932 }
2933 
2934 enum VK_ATTACHMENT_STORE_OP_STORE        = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_STORE;
2935 enum VK_ATTACHMENT_STORE_OP_DONT_CARE    = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_DONT_CARE;
2936 enum VK_ATTACHMENT_STORE_OP_NONE_QCOM    = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_NONE_QCOM;
2937 enum VK_ATTACHMENT_STORE_OP_BEGIN_RANGE  = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_BEGIN_RANGE;
2938 enum VK_ATTACHMENT_STORE_OP_END_RANGE    = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_END_RANGE;
2939 enum VK_ATTACHMENT_STORE_OP_RANGE_SIZE   = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_RANGE_SIZE;
2940 enum VK_ATTACHMENT_STORE_OP_MAX_ENUM     = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_MAX_ENUM;
2941 
2942 enum VkPipelineBindPoint {
2943     VK_PIPELINE_BIND_POINT_GRAPHICS              = 0,
2944     VK_PIPELINE_BIND_POINT_COMPUTE               = 1,
2945     VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR       = 1000165000,
2946     VK_PIPELINE_BIND_POINT_RAY_TRACING_NV        = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2947     VK_PIPELINE_BIND_POINT_BEGIN_RANGE           = VK_PIPELINE_BIND_POINT_GRAPHICS,
2948     VK_PIPELINE_BIND_POINT_END_RANGE             = VK_PIPELINE_BIND_POINT_COMPUTE,
2949     VK_PIPELINE_BIND_POINT_RANGE_SIZE            = VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1,
2950     VK_PIPELINE_BIND_POINT_MAX_ENUM              = 0x7FFFFFFF
2951 }
2952 
2953 enum VK_PIPELINE_BIND_POINT_GRAPHICS             = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_GRAPHICS;
2954 enum VK_PIPELINE_BIND_POINT_COMPUTE              = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_COMPUTE;
2955 enum VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR      = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR;
2956 enum VK_PIPELINE_BIND_POINT_RAY_TRACING_NV       = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_RAY_TRACING_NV;
2957 enum VK_PIPELINE_BIND_POINT_BEGIN_RANGE          = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_BEGIN_RANGE;
2958 enum VK_PIPELINE_BIND_POINT_END_RANGE            = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_END_RANGE;
2959 enum VK_PIPELINE_BIND_POINT_RANGE_SIZE           = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_RANGE_SIZE;
2960 enum VK_PIPELINE_BIND_POINT_MAX_ENUM             = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_MAX_ENUM;
2961 
2962 enum VkCommandBufferLevel {
2963     VK_COMMAND_BUFFER_LEVEL_PRIMARY      = 0,
2964     VK_COMMAND_BUFFER_LEVEL_SECONDARY    = 1,
2965     VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE  = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
2966     VK_COMMAND_BUFFER_LEVEL_END_RANGE    = VK_COMMAND_BUFFER_LEVEL_SECONDARY,
2967     VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE   = VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1,
2968     VK_COMMAND_BUFFER_LEVEL_MAX_ENUM     = 0x7FFFFFFF
2969 }
2970 
2971 enum VK_COMMAND_BUFFER_LEVEL_PRIMARY     = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_PRIMARY;
2972 enum VK_COMMAND_BUFFER_LEVEL_SECONDARY   = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_SECONDARY;
2973 enum VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE;
2974 enum VK_COMMAND_BUFFER_LEVEL_END_RANGE   = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_END_RANGE;
2975 enum VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE  = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE;
2976 enum VK_COMMAND_BUFFER_LEVEL_MAX_ENUM    = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_MAX_ENUM;
2977 
2978 enum VkIndexType {
2979     VK_INDEX_TYPE_UINT16         = 0,
2980     VK_INDEX_TYPE_UINT32         = 1,
2981     VK_INDEX_TYPE_NONE_KHR       = 1000165000,
2982     VK_INDEX_TYPE_UINT8_EXT      = 1000265000,
2983     VK_INDEX_TYPE_NONE_NV        = VK_INDEX_TYPE_NONE_KHR,
2984     VK_INDEX_TYPE_BEGIN_RANGE    = VK_INDEX_TYPE_UINT16,
2985     VK_INDEX_TYPE_END_RANGE      = VK_INDEX_TYPE_UINT32,
2986     VK_INDEX_TYPE_RANGE_SIZE     = VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1,
2987     VK_INDEX_TYPE_MAX_ENUM       = 0x7FFFFFFF
2988 }
2989 
2990 enum VK_INDEX_TYPE_UINT16        = VkIndexType.VK_INDEX_TYPE_UINT16;
2991 enum VK_INDEX_TYPE_UINT32        = VkIndexType.VK_INDEX_TYPE_UINT32;
2992 enum VK_INDEX_TYPE_NONE_KHR      = VkIndexType.VK_INDEX_TYPE_NONE_KHR;
2993 enum VK_INDEX_TYPE_UINT8_EXT     = VkIndexType.VK_INDEX_TYPE_UINT8_EXT;
2994 enum VK_INDEX_TYPE_NONE_NV       = VkIndexType.VK_INDEX_TYPE_NONE_NV;
2995 enum VK_INDEX_TYPE_BEGIN_RANGE   = VkIndexType.VK_INDEX_TYPE_BEGIN_RANGE;
2996 enum VK_INDEX_TYPE_END_RANGE     = VkIndexType.VK_INDEX_TYPE_END_RANGE;
2997 enum VK_INDEX_TYPE_RANGE_SIZE    = VkIndexType.VK_INDEX_TYPE_RANGE_SIZE;
2998 enum VK_INDEX_TYPE_MAX_ENUM      = VkIndexType.VK_INDEX_TYPE_MAX_ENUM;
2999 
3000 enum VkSubpassContents {
3001     VK_SUBPASS_CONTENTS_INLINE                           = 0,
3002     VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS        = 1,
3003     VK_SUBPASS_CONTENTS_BEGIN_RANGE                      = VK_SUBPASS_CONTENTS_INLINE,
3004     VK_SUBPASS_CONTENTS_END_RANGE                        = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,
3005     VK_SUBPASS_CONTENTS_RANGE_SIZE                       = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1,
3006     VK_SUBPASS_CONTENTS_MAX_ENUM                         = 0x7FFFFFFF
3007 }
3008 
3009 enum VK_SUBPASS_CONTENTS_INLINE                          = VkSubpassContents.VK_SUBPASS_CONTENTS_INLINE;
3010 enum VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS       = VkSubpassContents.VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS;
3011 enum VK_SUBPASS_CONTENTS_BEGIN_RANGE                     = VkSubpassContents.VK_SUBPASS_CONTENTS_BEGIN_RANGE;
3012 enum VK_SUBPASS_CONTENTS_END_RANGE                       = VkSubpassContents.VK_SUBPASS_CONTENTS_END_RANGE;
3013 enum VK_SUBPASS_CONTENTS_RANGE_SIZE                      = VkSubpassContents.VK_SUBPASS_CONTENTS_RANGE_SIZE;
3014 enum VK_SUBPASS_CONTENTS_MAX_ENUM                        = VkSubpassContents.VK_SUBPASS_CONTENTS_MAX_ENUM;
3015 
3016 enum VkAccessFlagBits {
3017     VK_ACCESS_INDIRECT_COMMAND_READ_BIT                          = 0x00000001,
3018     VK_ACCESS_INDEX_READ_BIT                                     = 0x00000002,
3019     VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT                          = 0x00000004,
3020     VK_ACCESS_UNIFORM_READ_BIT                                   = 0x00000008,
3021     VK_ACCESS_INPUT_ATTACHMENT_READ_BIT                          = 0x00000010,
3022     VK_ACCESS_SHADER_READ_BIT                                    = 0x00000020,
3023     VK_ACCESS_SHADER_WRITE_BIT                                   = 0x00000040,
3024     VK_ACCESS_COLOR_ATTACHMENT_READ_BIT                          = 0x00000080,
3025     VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT                         = 0x00000100,
3026     VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT                  = 0x00000200,
3027     VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT                 = 0x00000400,
3028     VK_ACCESS_TRANSFER_READ_BIT                                  = 0x00000800,
3029     VK_ACCESS_TRANSFER_WRITE_BIT                                 = 0x00001000,
3030     VK_ACCESS_HOST_READ_BIT                                      = 0x00002000,
3031     VK_ACCESS_HOST_WRITE_BIT                                     = 0x00004000,
3032     VK_ACCESS_MEMORY_READ_BIT                                    = 0x00008000,
3033     VK_ACCESS_MEMORY_WRITE_BIT                                   = 0x00010000,
3034     VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT                   = 0x02000000,
3035     VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT            = 0x04000000,
3036     VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT           = 0x08000000,
3037     VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT                 = 0x00100000,
3038     VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT          = 0x00080000,
3039     VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR                = 0x00200000,
3040     VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR               = 0x00400000,
3041     VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV                     = 0x00800000,
3042     VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT                  = 0x01000000,
3043     VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV                     = 0x00020000,
3044     VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV                    = 0x00040000,
3045     VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV                 = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
3046     VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV                = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
3047     VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR      = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
3048     VK_ACCESS_FLAG_BITS_MAX_ENUM                                 = 0x7FFFFFFF
3049 }
3050 
3051 enum VK_ACCESS_INDIRECT_COMMAND_READ_BIT                         = VkAccessFlagBits.VK_ACCESS_INDIRECT_COMMAND_READ_BIT;
3052 enum VK_ACCESS_INDEX_READ_BIT                                    = VkAccessFlagBits.VK_ACCESS_INDEX_READ_BIT;
3053 enum VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT                         = VkAccessFlagBits.VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT;
3054 enum VK_ACCESS_UNIFORM_READ_BIT                                  = VkAccessFlagBits.VK_ACCESS_UNIFORM_READ_BIT;
3055 enum VK_ACCESS_INPUT_ATTACHMENT_READ_BIT                         = VkAccessFlagBits.VK_ACCESS_INPUT_ATTACHMENT_READ_BIT;
3056 enum VK_ACCESS_SHADER_READ_BIT                                   = VkAccessFlagBits.VK_ACCESS_SHADER_READ_BIT;
3057 enum VK_ACCESS_SHADER_WRITE_BIT                                  = VkAccessFlagBits.VK_ACCESS_SHADER_WRITE_BIT;
3058 enum VK_ACCESS_COLOR_ATTACHMENT_READ_BIT                         = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_READ_BIT;
3059 enum VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT                        = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
3060 enum VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT                 = VkAccessFlagBits.VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT;
3061 enum VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT                = VkAccessFlagBits.VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
3062 enum VK_ACCESS_TRANSFER_READ_BIT                                 = VkAccessFlagBits.VK_ACCESS_TRANSFER_READ_BIT;
3063 enum VK_ACCESS_TRANSFER_WRITE_BIT                                = VkAccessFlagBits.VK_ACCESS_TRANSFER_WRITE_BIT;
3064 enum VK_ACCESS_HOST_READ_BIT                                     = VkAccessFlagBits.VK_ACCESS_HOST_READ_BIT;
3065 enum VK_ACCESS_HOST_WRITE_BIT                                    = VkAccessFlagBits.VK_ACCESS_HOST_WRITE_BIT;
3066 enum VK_ACCESS_MEMORY_READ_BIT                                   = VkAccessFlagBits.VK_ACCESS_MEMORY_READ_BIT;
3067 enum VK_ACCESS_MEMORY_WRITE_BIT                                  = VkAccessFlagBits.VK_ACCESS_MEMORY_WRITE_BIT;
3068 enum VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT                  = VkAccessFlagBits.VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT;
3069 enum VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT           = VkAccessFlagBits.VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT;
3070 enum VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT          = VkAccessFlagBits.VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT;
3071 enum VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT                = VkAccessFlagBits.VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT;
3072 enum VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT         = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT;
3073 enum VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR               = VkAccessFlagBits.VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR;
3074 enum VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR              = VkAccessFlagBits.VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR;
3075 enum VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV                    = VkAccessFlagBits.VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV;
3076 enum VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT                 = VkAccessFlagBits.VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT;
3077 enum VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV                    = VkAccessFlagBits.VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV;
3078 enum VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV                   = VkAccessFlagBits.VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV;
3079 enum VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV                = VkAccessFlagBits.VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV;
3080 enum VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV               = VkAccessFlagBits.VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV;
3081 enum VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR     = VkAccessFlagBits.VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR;
3082 enum VK_ACCESS_FLAG_BITS_MAX_ENUM                                = VkAccessFlagBits.VK_ACCESS_FLAG_BITS_MAX_ENUM;
3083 alias VkAccessFlags = VkFlags;
3084 
3085 enum VkImageAspectFlagBits {
3086     VK_IMAGE_ASPECT_COLOR_BIT                    = 0x00000001,
3087     VK_IMAGE_ASPECT_DEPTH_BIT                    = 0x00000002,
3088     VK_IMAGE_ASPECT_STENCIL_BIT                  = 0x00000004,
3089     VK_IMAGE_ASPECT_METADATA_BIT                 = 0x00000008,
3090     VK_IMAGE_ASPECT_PLANE_0_BIT                  = 0x00000010,
3091     VK_IMAGE_ASPECT_PLANE_1_BIT                  = 0x00000020,
3092     VK_IMAGE_ASPECT_PLANE_2_BIT                  = 0x00000040,
3093     VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT       = 0x00000080,
3094     VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT       = 0x00000100,
3095     VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT       = 0x00000200,
3096     VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT       = 0x00000400,
3097     VK_IMAGE_ASPECT_PLANE_0_BIT_KHR              = VK_IMAGE_ASPECT_PLANE_0_BIT,
3098     VK_IMAGE_ASPECT_PLANE_1_BIT_KHR              = VK_IMAGE_ASPECT_PLANE_1_BIT,
3099     VK_IMAGE_ASPECT_PLANE_2_BIT_KHR              = VK_IMAGE_ASPECT_PLANE_2_BIT,
3100     VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3101 }
3102 
3103 enum VK_IMAGE_ASPECT_COLOR_BIT                   = VkImageAspectFlagBits.VK_IMAGE_ASPECT_COLOR_BIT;
3104 enum VK_IMAGE_ASPECT_DEPTH_BIT                   = VkImageAspectFlagBits.VK_IMAGE_ASPECT_DEPTH_BIT;
3105 enum VK_IMAGE_ASPECT_STENCIL_BIT                 = VkImageAspectFlagBits.VK_IMAGE_ASPECT_STENCIL_BIT;
3106 enum VK_IMAGE_ASPECT_METADATA_BIT                = VkImageAspectFlagBits.VK_IMAGE_ASPECT_METADATA_BIT;
3107 enum VK_IMAGE_ASPECT_PLANE_0_BIT                 = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_0_BIT;
3108 enum VK_IMAGE_ASPECT_PLANE_1_BIT                 = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_1_BIT;
3109 enum VK_IMAGE_ASPECT_PLANE_2_BIT                 = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_2_BIT;
3110 enum VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT      = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT;
3111 enum VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT      = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT;
3112 enum VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT      = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT;
3113 enum VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT      = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT;
3114 enum VK_IMAGE_ASPECT_PLANE_0_BIT_KHR             = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_0_BIT_KHR;
3115 enum VK_IMAGE_ASPECT_PLANE_1_BIT_KHR             = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_1_BIT_KHR;
3116 enum VK_IMAGE_ASPECT_PLANE_2_BIT_KHR             = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_2_BIT_KHR;
3117 enum VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM          = VkImageAspectFlagBits.VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM;
3118 alias VkImageAspectFlags = VkFlags;
3119 
3120 enum VkFormatFeatureFlagBits {
3121     VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT                                                                  = 0x00000001,
3122     VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT                                                                  = 0x00000002,
3123     VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT                                                           = 0x00000004,
3124     VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT                                                           = 0x00000008,
3125     VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT                                                           = 0x00000010,
3126     VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT                                                    = 0x00000020,
3127     VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT                                                                  = 0x00000040,
3128     VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT                                                               = 0x00000080,
3129     VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT                                                         = 0x00000100,
3130     VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT                                                       = 0x00000200,
3131     VK_FORMAT_FEATURE_BLIT_SRC_BIT                                                                       = 0x00000400,
3132     VK_FORMAT_FEATURE_BLIT_DST_BIT                                                                       = 0x00000800,
3133     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT                                                    = 0x00001000,
3134     VK_FORMAT_FEATURE_TRANSFER_SRC_BIT                                                                   = 0x00004000,
3135     VK_FORMAT_FEATURE_TRANSFER_DST_BIT                                                                   = 0x00008000,
3136     VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT                                                        = 0x00020000,
3137     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT                                   = 0x00040000,
3138     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT                  = 0x00080000,
3139     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT                  = 0x00100000,
3140     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT        = 0x00200000,
3141     VK_FORMAT_FEATURE_DISJOINT_BIT                                                                       = 0x00400000,
3142     VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT                                                         = 0x00800000,
3143     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT                                                    = 0x00010000,
3144     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG                                                 = 0x00002000,
3145     VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR                                       = 0x20000000,
3146     VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT                                                       = 0x01000000,
3147     VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR                                           = 0x40000000,
3148     VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR                                                               = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
3149     VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR                                                               = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
3150     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT                                                = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
3151     VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR                                                    = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
3152     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR                               = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
3153     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR              = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
3154     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR              = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
3155     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,
3156     VK_FORMAT_FEATURE_DISJOINT_BIT_KHR                                                                   = VK_FORMAT_FEATURE_DISJOINT_BIT,
3157     VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR                                                     = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
3158     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT                                                 = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
3159     VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM                                                                 = 0x7FFFFFFF
3160 }
3161 
3162 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT                                                                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT;
3163 enum VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT                                                                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT;
3164 enum VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT                                                          = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT;
3165 enum VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT                                                          = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT;
3166 enum VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT                                                          = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT;
3167 enum VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT                                                   = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT;
3168 enum VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT                                                                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT;
3169 enum VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT                                                              = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT;
3170 enum VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT                                                        = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT;
3171 enum VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT;
3172 enum VK_FORMAT_FEATURE_BLIT_SRC_BIT                                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_BLIT_SRC_BIT;
3173 enum VK_FORMAT_FEATURE_BLIT_DST_BIT                                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_BLIT_DST_BIT;
3174 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT                                                   = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT;
3175 enum VK_FORMAT_FEATURE_TRANSFER_SRC_BIT                                                                  = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_SRC_BIT;
3176 enum VK_FORMAT_FEATURE_TRANSFER_DST_BIT                                                                  = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_DST_BIT;
3177 enum VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT                                                       = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT;
3178 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT                                  = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT;
3179 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT;
3180 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT;
3181 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;
3182 enum VK_FORMAT_FEATURE_DISJOINT_BIT                                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_DISJOINT_BIT;
3183 enum VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT                                                        = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT;
3184 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT                                                   = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT;
3185 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG                                                = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG;
3186 enum VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR;
3187 enum VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT;
3188 enum VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR                                          = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR;
3189 enum VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR                                                              = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR;
3190 enum VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR                                                              = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR;
3191 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT                                               = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT;
3192 enum VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR                                                   = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR;
3193 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR                              = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR;
3194 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;
3195 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;
3196 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;
3197 enum VK_FORMAT_FEATURE_DISJOINT_BIT_KHR                                                                  = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_DISJOINT_BIT_KHR;
3198 enum VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR                                                    = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR;
3199 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT                                                = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT;
3200 enum VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM                                                                = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM;
3201 alias VkFormatFeatureFlags = VkFlags;
3202 
3203 enum VkImageCreateFlagBits {
3204     VK_IMAGE_CREATE_SPARSE_BINDING_BIT                           = 0x00000001,
3205     VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT                         = 0x00000002,
3206     VK_IMAGE_CREATE_SPARSE_ALIASED_BIT                           = 0x00000004,
3207     VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT                           = 0x00000008,
3208     VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT                          = 0x00000010,
3209     VK_IMAGE_CREATE_ALIAS_BIT                                    = 0x00000400,
3210     VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT              = 0x00000040,
3211     VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT                      = 0x00000020,
3212     VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT              = 0x00000080,
3213     VK_IMAGE_CREATE_EXTENDED_USAGE_BIT                           = 0x00000100,
3214     VK_IMAGE_CREATE_PROTECTED_BIT                                = 0x00000800,
3215     VK_IMAGE_CREATE_DISJOINT_BIT                                 = 0x00000200,
3216     VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV                        = 0x00002000,
3217     VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT    = 0x00001000,
3218     VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT                           = 0x00004000,
3219     VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR          = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
3220     VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR                  = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
3221     VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR          = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
3222     VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR                       = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
3223     VK_IMAGE_CREATE_DISJOINT_BIT_KHR                             = VK_IMAGE_CREATE_DISJOINT_BIT,
3224     VK_IMAGE_CREATE_ALIAS_BIT_KHR                                = VK_IMAGE_CREATE_ALIAS_BIT,
3225     VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM                           = 0x7FFFFFFF
3226 }
3227 
3228 enum VK_IMAGE_CREATE_SPARSE_BINDING_BIT                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_BINDING_BIT;
3229 enum VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT                        = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT;
3230 enum VK_IMAGE_CREATE_SPARSE_ALIASED_BIT                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_ALIASED_BIT;
3231 enum VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
3232 enum VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT                         = VkImageCreateFlagBits.VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
3233 enum VK_IMAGE_CREATE_ALIAS_BIT                                   = VkImageCreateFlagBits.VK_IMAGE_CREATE_ALIAS_BIT;
3234 enum VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT             = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT;
3235 enum VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT                     = VkImageCreateFlagBits.VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT;
3236 enum VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT             = VkImageCreateFlagBits.VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT;
3237 enum VK_IMAGE_CREATE_EXTENDED_USAGE_BIT                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_EXTENDED_USAGE_BIT;
3238 enum VK_IMAGE_CREATE_PROTECTED_BIT                               = VkImageCreateFlagBits.VK_IMAGE_CREATE_PROTECTED_BIT;
3239 enum VK_IMAGE_CREATE_DISJOINT_BIT                                = VkImageCreateFlagBits.VK_IMAGE_CREATE_DISJOINT_BIT;
3240 enum VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV                       = VkImageCreateFlagBits.VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV;
3241 enum VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT   = VkImageCreateFlagBits.VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT;
3242 enum VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT;
3243 enum VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR         = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR;
3244 enum VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR                 = VkImageCreateFlagBits.VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR;
3245 enum VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR         = VkImageCreateFlagBits.VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR;
3246 enum VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR                      = VkImageCreateFlagBits.VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR;
3247 enum VK_IMAGE_CREATE_DISJOINT_BIT_KHR                            = VkImageCreateFlagBits.VK_IMAGE_CREATE_DISJOINT_BIT_KHR;
3248 enum VK_IMAGE_CREATE_ALIAS_BIT_KHR                               = VkImageCreateFlagBits.VK_IMAGE_CREATE_ALIAS_BIT_KHR;
3249 enum VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM;
3250 alias VkImageCreateFlags = VkFlags;
3251 
3252 enum VkSampleCountFlagBits {
3253     VK_SAMPLE_COUNT_1_BIT                        = 0x00000001,
3254     VK_SAMPLE_COUNT_2_BIT                        = 0x00000002,
3255     VK_SAMPLE_COUNT_4_BIT                        = 0x00000004,
3256     VK_SAMPLE_COUNT_8_BIT                        = 0x00000008,
3257     VK_SAMPLE_COUNT_16_BIT                       = 0x00000010,
3258     VK_SAMPLE_COUNT_32_BIT                       = 0x00000020,
3259     VK_SAMPLE_COUNT_64_BIT                       = 0x00000040,
3260     VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3261 }
3262 
3263 enum VK_SAMPLE_COUNT_1_BIT                       = VkSampleCountFlagBits.VK_SAMPLE_COUNT_1_BIT;
3264 enum VK_SAMPLE_COUNT_2_BIT                       = VkSampleCountFlagBits.VK_SAMPLE_COUNT_2_BIT;
3265 enum VK_SAMPLE_COUNT_4_BIT                       = VkSampleCountFlagBits.VK_SAMPLE_COUNT_4_BIT;
3266 enum VK_SAMPLE_COUNT_8_BIT                       = VkSampleCountFlagBits.VK_SAMPLE_COUNT_8_BIT;
3267 enum VK_SAMPLE_COUNT_16_BIT                      = VkSampleCountFlagBits.VK_SAMPLE_COUNT_16_BIT;
3268 enum VK_SAMPLE_COUNT_32_BIT                      = VkSampleCountFlagBits.VK_SAMPLE_COUNT_32_BIT;
3269 enum VK_SAMPLE_COUNT_64_BIT                      = VkSampleCountFlagBits.VK_SAMPLE_COUNT_64_BIT;
3270 enum VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM          = VkSampleCountFlagBits.VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM;
3271 alias VkSampleCountFlags = VkFlags;
3272 
3273 enum VkImageUsageFlagBits {
3274     VK_IMAGE_USAGE_TRANSFER_SRC_BIT                              = 0x00000001,
3275     VK_IMAGE_USAGE_TRANSFER_DST_BIT                              = 0x00000002,
3276     VK_IMAGE_USAGE_SAMPLED_BIT                                   = 0x00000004,
3277     VK_IMAGE_USAGE_STORAGE_BIT                                   = 0x00000008,
3278     VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT                          = 0x00000010,
3279     VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT                  = 0x00000020,
3280     VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT                      = 0x00000040,
3281     VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT                          = 0x00000080,
3282     VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV                     = 0x00000100,
3283     VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT                  = 0x00000200,
3284     VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR      = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
3285     VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM                            = 0x7FFFFFFF
3286 }
3287 
3288 enum VK_IMAGE_USAGE_TRANSFER_SRC_BIT                             = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSFER_SRC_BIT;
3289 enum VK_IMAGE_USAGE_TRANSFER_DST_BIT                             = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSFER_DST_BIT;
3290 enum VK_IMAGE_USAGE_SAMPLED_BIT                                  = VkImageUsageFlagBits.VK_IMAGE_USAGE_SAMPLED_BIT;
3291 enum VK_IMAGE_USAGE_STORAGE_BIT                                  = VkImageUsageFlagBits.VK_IMAGE_USAGE_STORAGE_BIT;
3292 enum VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT                         = VkImageUsageFlagBits.VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
3293 enum VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT                 = VkImageUsageFlagBits.VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
3294 enum VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT                     = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT;
3295 enum VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT                         = VkImageUsageFlagBits.VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
3296 enum VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV                    = VkImageUsageFlagBits.VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV;
3297 enum VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT                 = VkImageUsageFlagBits.VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT;
3298 enum VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR     = VkImageUsageFlagBits.VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR;
3299 enum VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM                           = VkImageUsageFlagBits.VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM;
3300 alias VkImageUsageFlags = VkFlags;
3301 alias VkInstanceCreateFlags = VkFlags;
3302 
3303 enum VkMemoryHeapFlagBits {
3304     VK_MEMORY_HEAP_DEVICE_LOCAL_BIT              = 0x00000001,
3305     VK_MEMORY_HEAP_MULTI_INSTANCE_BIT            = 0x00000002,
3306     VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR        = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
3307     VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
3308 }
3309 
3310 enum VK_MEMORY_HEAP_DEVICE_LOCAL_BIT             = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_DEVICE_LOCAL_BIT;
3311 enum VK_MEMORY_HEAP_MULTI_INSTANCE_BIT           = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_MULTI_INSTANCE_BIT;
3312 enum VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR       = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR;
3313 enum VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM           = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM;
3314 alias VkMemoryHeapFlags = VkFlags;
3315 
3316 enum VkMemoryPropertyFlagBits {
3317     VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT          = 0x00000001,
3318     VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT          = 0x00000002,
3319     VK_MEMORY_PROPERTY_HOST_COHERENT_BIT         = 0x00000004,
3320     VK_MEMORY_PROPERTY_HOST_CACHED_BIT           = 0x00000008,
3321     VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT      = 0x00000010,
3322     VK_MEMORY_PROPERTY_PROTECTED_BIT             = 0x00000020,
3323     VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD   = 0x00000040,
3324     VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD   = 0x00000080,
3325     VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM        = 0x7FFFFFFF
3326 }
3327 
3328 enum VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT         = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
3329 enum VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT         = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
3330 enum VK_MEMORY_PROPERTY_HOST_COHERENT_BIT        = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
3331 enum VK_MEMORY_PROPERTY_HOST_CACHED_BIT          = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_CACHED_BIT;
3332 enum VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT     = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT;
3333 enum VK_MEMORY_PROPERTY_PROTECTED_BIT            = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_PROTECTED_BIT;
3334 enum VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD  = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD;
3335 enum VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD  = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD;
3336 enum VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM       = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM;
3337 alias VkMemoryPropertyFlags = VkFlags;
3338 
3339 enum VkQueueFlagBits {
3340     VK_QUEUE_GRAPHICS_BIT                = 0x00000001,
3341     VK_QUEUE_COMPUTE_BIT                 = 0x00000002,
3342     VK_QUEUE_TRANSFER_BIT                = 0x00000004,
3343     VK_QUEUE_SPARSE_BINDING_BIT          = 0x00000008,
3344     VK_QUEUE_PROTECTED_BIT               = 0x00000010,
3345     VK_QUEUE_FLAG_BITS_MAX_ENUM          = 0x7FFFFFFF
3346 }
3347 
3348 enum VK_QUEUE_GRAPHICS_BIT               = VkQueueFlagBits.VK_QUEUE_GRAPHICS_BIT;
3349 enum VK_QUEUE_COMPUTE_BIT                = VkQueueFlagBits.VK_QUEUE_COMPUTE_BIT;
3350 enum VK_QUEUE_TRANSFER_BIT               = VkQueueFlagBits.VK_QUEUE_TRANSFER_BIT;
3351 enum VK_QUEUE_SPARSE_BINDING_BIT         = VkQueueFlagBits.VK_QUEUE_SPARSE_BINDING_BIT;
3352 enum VK_QUEUE_PROTECTED_BIT              = VkQueueFlagBits.VK_QUEUE_PROTECTED_BIT;
3353 enum VK_QUEUE_FLAG_BITS_MAX_ENUM         = VkQueueFlagBits.VK_QUEUE_FLAG_BITS_MAX_ENUM;
3354 alias VkQueueFlags = VkFlags;
3355 alias VkDeviceCreateFlags = VkFlags;
3356 
3357 enum VkDeviceQueueCreateFlagBits {
3358     VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT                 = 0x00000001,
3359     VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
3360 }
3361 
3362 enum VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT                = VkDeviceQueueCreateFlagBits.VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT;
3363 enum VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM           = VkDeviceQueueCreateFlagBits.VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM;
3364 alias VkDeviceQueueCreateFlags = VkFlags;
3365 
3366 enum VkPipelineStageFlagBits {
3367     VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT                            = 0x00000001,
3368     VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT                          = 0x00000002,
3369     VK_PIPELINE_STAGE_VERTEX_INPUT_BIT                           = 0x00000004,
3370     VK_PIPELINE_STAGE_VERTEX_SHADER_BIT                          = 0x00000008,
3371     VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT            = 0x00000010,
3372     VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT         = 0x00000020,
3373     VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT                        = 0x00000040,
3374     VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT                        = 0x00000080,
3375     VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT                   = 0x00000100,
3376     VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT                    = 0x00000200,
3377     VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT                = 0x00000400,
3378     VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT                         = 0x00000800,
3379     VK_PIPELINE_STAGE_TRANSFER_BIT                               = 0x00001000,
3380     VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT                         = 0x00002000,
3381     VK_PIPELINE_STAGE_HOST_BIT                                   = 0x00004000,
3382     VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT                           = 0x00008000,
3383     VK_PIPELINE_STAGE_ALL_COMMANDS_BIT                           = 0x00010000,
3384     VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT                 = 0x01000000,
3385     VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT              = 0x00040000,
3386     VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR       = 0x02000000,
3387     VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR                 = 0x00200000,
3388     VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV                  = 0x00400000,
3389     VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV                         = 0x00080000,
3390     VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV                         = 0x00100000,
3391     VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT           = 0x00800000,
3392     VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV                  = 0x00020000,
3393     VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV                  = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
3394     VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV        = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
3395     VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR   = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
3396     VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM                         = 0x7FFFFFFF
3397 }
3398 
3399 enum VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT                           = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
3400 enum VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT                         = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT;
3401 enum VK_PIPELINE_STAGE_VERTEX_INPUT_BIT                          = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_VERTEX_INPUT_BIT;
3402 enum VK_PIPELINE_STAGE_VERTEX_SHADER_BIT                         = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_VERTEX_SHADER_BIT;
3403 enum VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT           = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT;
3404 enum VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT;
3405 enum VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT                       = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT;
3406 enum VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT                       = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
3407 enum VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT                  = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT;
3408 enum VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT                   = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT;
3409 enum VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT               = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
3410 enum VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT                        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
3411 enum VK_PIPELINE_STAGE_TRANSFER_BIT                              = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TRANSFER_BIT;
3412 enum VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT                        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
3413 enum VK_PIPELINE_STAGE_HOST_BIT                                  = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_HOST_BIT;
3414 enum VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT                          = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT;
3415 enum VK_PIPELINE_STAGE_ALL_COMMANDS_BIT                          = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ALL_COMMANDS_BIT;
3416 enum VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT                = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT;
3417 enum VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT             = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT;
3418 enum VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR      = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR;
3419 enum VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR                = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR;
3420 enum VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV                 = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV;
3421 enum VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV                        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV;
3422 enum VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV                        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV;
3423 enum VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT          = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT;
3424 enum VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV                 = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV;
3425 enum VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV                 = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV;
3426 enum VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV       = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV;
3427 enum VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR  = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR;
3428 enum VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM                        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM;
3429 alias VkPipelineStageFlags = VkFlags;
3430 alias VkMemoryMapFlags = VkFlags;
3431 
3432 enum VkSparseMemoryBindFlagBits {
3433     VK_SPARSE_MEMORY_BIND_METADATA_BIT           = 0x00000001,
3434     VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
3435 }
3436 
3437 enum VK_SPARSE_MEMORY_BIND_METADATA_BIT          = VkSparseMemoryBindFlagBits.VK_SPARSE_MEMORY_BIND_METADATA_BIT;
3438 enum VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM    = VkSparseMemoryBindFlagBits.VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM;
3439 alias VkSparseMemoryBindFlags = VkFlags;
3440 
3441 enum VkSparseImageFormatFlagBits {
3442     VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT            = 0x00000001,
3443     VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT          = 0x00000002,
3444     VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT    = 0x00000004,
3445     VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
3446 }
3447 
3448 enum VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT           = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT;
3449 enum VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT         = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT;
3450 enum VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT   = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT;
3451 enum VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM           = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM;
3452 alias VkSparseImageFormatFlags = VkFlags;
3453 
3454 enum VkFenceCreateFlagBits {
3455     VK_FENCE_CREATE_SIGNALED_BIT                 = 0x00000001,
3456     VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3457 }
3458 
3459 enum VK_FENCE_CREATE_SIGNALED_BIT                = VkFenceCreateFlagBits.VK_FENCE_CREATE_SIGNALED_BIT;
3460 enum VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM          = VkFenceCreateFlagBits.VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM;
3461 alias VkFenceCreateFlags = VkFlags;
3462 alias VkSemaphoreCreateFlags = VkFlags;
3463 alias VkEventCreateFlags = VkFlags;
3464 
3465 enum VkQueryPipelineStatisticFlagBits {
3466     VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT                      = 0x00000001,
3467     VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT                    = 0x00000002,
3468     VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT                    = 0x00000004,
3469     VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT                  = 0x00000008,
3470     VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT                   = 0x00000010,
3471     VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT                         = 0x00000020,
3472     VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT                          = 0x00000040,
3473     VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT                  = 0x00000080,
3474     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT          = 0x00000100,
3475     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT   = 0x00000200,
3476     VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT                   = 0x00000400,
3477     VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM                               = 0x7FFFFFFF
3478 }
3479 
3480 enum VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT                     = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT;
3481 enum VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT                   = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT;
3482 enum VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT                   = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT;
3483 enum VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT                 = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT;
3484 enum VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT                  = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT;
3485 enum VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT                        = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT;
3486 enum VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT                         = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT;
3487 enum VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT                 = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT;
3488 enum VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT         = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT;
3489 enum VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT  = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT;
3490 enum VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT                  = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT;
3491 enum VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM                              = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM;
3492 alias VkQueryPipelineStatisticFlags = VkFlags;
3493 alias VkQueryPoolCreateFlags = VkFlags;
3494 
3495 enum VkQueryResultFlagBits {
3496     VK_QUERY_RESULT_64_BIT                       = 0x00000001,
3497     VK_QUERY_RESULT_WAIT_BIT                     = 0x00000002,
3498     VK_QUERY_RESULT_WITH_AVAILABILITY_BIT        = 0x00000004,
3499     VK_QUERY_RESULT_PARTIAL_BIT                  = 0x00000008,
3500     VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3501 }
3502 
3503 enum VK_QUERY_RESULT_64_BIT                      = VkQueryResultFlagBits.VK_QUERY_RESULT_64_BIT;
3504 enum VK_QUERY_RESULT_WAIT_BIT                    = VkQueryResultFlagBits.VK_QUERY_RESULT_WAIT_BIT;
3505 enum VK_QUERY_RESULT_WITH_AVAILABILITY_BIT       = VkQueryResultFlagBits.VK_QUERY_RESULT_WITH_AVAILABILITY_BIT;
3506 enum VK_QUERY_RESULT_PARTIAL_BIT                 = VkQueryResultFlagBits.VK_QUERY_RESULT_PARTIAL_BIT;
3507 enum VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM          = VkQueryResultFlagBits.VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM;
3508 alias VkQueryResultFlags = VkFlags;
3509 
3510 enum VkBufferCreateFlagBits {
3511     VK_BUFFER_CREATE_SPARSE_BINDING_BIT                          = 0x00000001,
3512     VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT                        = 0x00000002,
3513     VK_BUFFER_CREATE_SPARSE_ALIASED_BIT                          = 0x00000004,
3514     VK_BUFFER_CREATE_PROTECTED_BIT                               = 0x00000008,
3515     VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT           = 0x00000010,
3516     VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT       = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
3517     VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR       = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
3518     VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM                          = 0x7FFFFFFF
3519 }
3520 
3521 enum VK_BUFFER_CREATE_SPARSE_BINDING_BIT                         = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_BINDING_BIT;
3522 enum VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT                       = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT;
3523 enum VK_BUFFER_CREATE_SPARSE_ALIASED_BIT                         = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_ALIASED_BIT;
3524 enum VK_BUFFER_CREATE_PROTECTED_BIT                              = VkBufferCreateFlagBits.VK_BUFFER_CREATE_PROTECTED_BIT;
3525 enum VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT          = VkBufferCreateFlagBits.VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT;
3526 enum VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT      = VkBufferCreateFlagBits.VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT;
3527 enum VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR      = VkBufferCreateFlagBits.VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR;
3528 enum VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM                         = VkBufferCreateFlagBits.VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM;
3529 alias VkBufferCreateFlags = VkFlags;
3530 
3531 enum VkBufferUsageFlagBits {
3532     VK_BUFFER_USAGE_TRANSFER_SRC_BIT                                             = 0x00000001,
3533     VK_BUFFER_USAGE_TRANSFER_DST_BIT                                             = 0x00000002,
3534     VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT                                     = 0x00000004,
3535     VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT                                     = 0x00000008,
3536     VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT                                           = 0x00000010,
3537     VK_BUFFER_USAGE_STORAGE_BUFFER_BIT                                           = 0x00000020,
3538     VK_BUFFER_USAGE_INDEX_BUFFER_BIT                                             = 0x00000040,
3539     VK_BUFFER_USAGE_VERTEX_BUFFER_BIT                                            = 0x00000080,
3540     VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT                                          = 0x00000100,
3541     VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT                                    = 0x00020000,
3542     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT                            = 0x00000800,
3543     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT                    = 0x00001000,
3544     VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT                                = 0x00000200,
3545     VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR         = 0x00080000,
3546     VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR                       = 0x00100000,
3547     VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR                                 = 0x00000400,
3548     VK_BUFFER_USAGE_RAY_TRACING_BIT_NV                                           = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
3549     VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT                                = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3550     VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR                                = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3551     VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM                                           = 0x7FFFFFFF
3552 }
3553 
3554 enum VK_BUFFER_USAGE_TRANSFER_SRC_BIT                                            = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFER_SRC_BIT;
3555 enum VK_BUFFER_USAGE_TRANSFER_DST_BIT                                            = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFER_DST_BIT;
3556 enum VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT                                    = VkBufferUsageFlagBits.VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT;
3557 enum VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT                                    = VkBufferUsageFlagBits.VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT;
3558 enum VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT                                          = VkBufferUsageFlagBits.VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT;
3559 enum VK_BUFFER_USAGE_STORAGE_BUFFER_BIT                                          = VkBufferUsageFlagBits.VK_BUFFER_USAGE_STORAGE_BUFFER_BIT;
3560 enum VK_BUFFER_USAGE_INDEX_BUFFER_BIT                                            = VkBufferUsageFlagBits.VK_BUFFER_USAGE_INDEX_BUFFER_BIT;
3561 enum VK_BUFFER_USAGE_VERTEX_BUFFER_BIT                                           = VkBufferUsageFlagBits.VK_BUFFER_USAGE_VERTEX_BUFFER_BIT;
3562 enum VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT                                         = VkBufferUsageFlagBits.VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT;
3563 enum VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT                                   = VkBufferUsageFlagBits.VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT;
3564 enum VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT                           = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT;
3565 enum VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT                   = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT;
3566 enum VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT                               = VkBufferUsageFlagBits.VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT;
3567 enum VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR        = VkBufferUsageFlagBits.VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR;
3568 enum VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR                      = VkBufferUsageFlagBits.VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR;
3569 enum VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR                                = VkBufferUsageFlagBits.VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR;
3570 enum VK_BUFFER_USAGE_RAY_TRACING_BIT_NV                                          = VkBufferUsageFlagBits.VK_BUFFER_USAGE_RAY_TRACING_BIT_NV;
3571 enum VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT                               = VkBufferUsageFlagBits.VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT;
3572 enum VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR                               = VkBufferUsageFlagBits.VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR;
3573 enum VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM                                          = VkBufferUsageFlagBits.VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM;
3574 alias VkBufferUsageFlags = VkFlags;
3575 alias VkBufferViewCreateFlags = VkFlags;
3576 
3577 enum VkImageViewCreateFlagBits {
3578     VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT    = 0x00000001,
3579     VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT   = 0x00000002,
3580     VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM                      = 0x7FFFFFFF
3581 }
3582 
3583 enum VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT   = VkImageViewCreateFlagBits.VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT;
3584 enum VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT  = VkImageViewCreateFlagBits.VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT;
3585 enum VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM                     = VkImageViewCreateFlagBits.VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM;
3586 alias VkImageViewCreateFlags = VkFlags;
3587 
3588 enum VkShaderModuleCreateFlagBits {
3589     VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3590 }
3591 
3592 enum VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM          = VkShaderModuleCreateFlagBits.VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM;
3593 alias VkShaderModuleCreateFlags = VkFlags;
3594 
3595 enum VkPipelineCacheCreateFlagBits {
3596     VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT     = 0x00000001,
3597     VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM                  = 0x7FFFFFFF
3598 }
3599 
3600 enum VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT    = VkPipelineCacheCreateFlagBits.VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT;
3601 enum VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM                 = VkPipelineCacheCreateFlagBits.VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM;
3602 alias VkPipelineCacheCreateFlags = VkFlags;
3603 
3604 enum VkColorComponentFlagBits {
3605     VK_COLOR_COMPONENT_R_BIT                     = 0x00000001,
3606     VK_COLOR_COMPONENT_G_BIT                     = 0x00000002,
3607     VK_COLOR_COMPONENT_B_BIT                     = 0x00000004,
3608     VK_COLOR_COMPONENT_A_BIT                     = 0x00000008,
3609     VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM        = 0x7FFFFFFF
3610 }
3611 
3612 enum VK_COLOR_COMPONENT_R_BIT                    = VkColorComponentFlagBits.VK_COLOR_COMPONENT_R_BIT;
3613 enum VK_COLOR_COMPONENT_G_BIT                    = VkColorComponentFlagBits.VK_COLOR_COMPONENT_G_BIT;
3614 enum VK_COLOR_COMPONENT_B_BIT                    = VkColorComponentFlagBits.VK_COLOR_COMPONENT_B_BIT;
3615 enum VK_COLOR_COMPONENT_A_BIT                    = VkColorComponentFlagBits.VK_COLOR_COMPONENT_A_BIT;
3616 enum VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM       = VkColorComponentFlagBits.VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM;
3617 alias VkColorComponentFlags = VkFlags;
3618 
3619 enum VkPipelineCreateFlagBits {
3620     VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT                                  = 0x00000001,
3621     VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                                     = 0x00000002,
3622     VK_PIPELINE_CREATE_DERIVATIVE_BIT                                            = 0x00000004,
3623     VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT                          = 0x00000008,
3624     VK_PIPELINE_CREATE_DISPATCH_BASE_BIT                                         = 0x00000010,
3625     VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR               = 0x00004000,
3626     VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR           = 0x00008000,
3627     VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR                  = 0x00010000,
3628     VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR          = 0x00020000,
3629     VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR                        = 0x00001000,
3630     VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR                            = 0x00002000,
3631     VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR    = 0x00080000,
3632     VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                                      = 0x00000020,
3633     VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR                                = 0x00000040,
3634     VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR                  = 0x00000080,
3635     VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV                                  = 0x00040000,
3636     VK_PIPELINE_CREATE_LIBRARY_BIT_KHR                                           = 0x00000800,
3637     VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT                 = 0x00000100,
3638     VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT                           = 0x00000200,
3639     VK_PIPELINE_CREATE_DISPATCH_BASE                                             = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3640     VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR                      = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3641     VK_PIPELINE_CREATE_DISPATCH_BASE_KHR                                         = VK_PIPELINE_CREATE_DISPATCH_BASE,
3642     VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM                                        = 0x7FFFFFFF
3643 }
3644 
3645 enum VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT                                 = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT;
3646 enum VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                                    = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT;
3647 enum VK_PIPELINE_CREATE_DERIVATIVE_BIT                                           = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DERIVATIVE_BIT;
3648 enum VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT                         = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT;
3649 enum VK_PIPELINE_CREATE_DISPATCH_BASE_BIT                                        = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISPATCH_BASE_BIT;
3650 enum VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR              = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR;
3651 enum VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR          = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR;
3652 enum VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR                 = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR;
3653 enum VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR         = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR;
3654 enum VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR                       = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR;
3655 enum VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR                           = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR;
3656 enum VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR   = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR;
3657 enum VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                                     = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV;
3658 enum VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR                               = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR;
3659 enum VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR                 = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR;
3660 enum VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV                                 = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV;
3661 enum VK_PIPELINE_CREATE_LIBRARY_BIT_KHR                                          = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_LIBRARY_BIT_KHR;
3662 enum VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT                = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT;
3663 enum VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT                          = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT;
3664 enum VK_PIPELINE_CREATE_DISPATCH_BASE                                            = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISPATCH_BASE;
3665 enum VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR                     = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR;
3666 enum VK_PIPELINE_CREATE_DISPATCH_BASE_KHR                                        = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISPATCH_BASE_KHR;
3667 enum VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM                                       = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM;
3668 alias VkPipelineCreateFlags = VkFlags;
3669 
3670 enum VkPipelineShaderStageCreateFlagBits {
3671     VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT  = 0x00000001,
3672     VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT       = 0x00000002,
3673     VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM                   = 0x7FFFFFFF
3674 }
3675 
3676 enum VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VkPipelineShaderStageCreateFlagBits.VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT;
3677 enum VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT      = VkPipelineShaderStageCreateFlagBits.VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT;
3678 enum VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM                  = VkPipelineShaderStageCreateFlagBits.VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM;
3679 alias VkPipelineShaderStageCreateFlags = VkFlags;
3680 
3681 enum VkShaderStageFlagBits {
3682     VK_SHADER_STAGE_VERTEX_BIT                   = 0x00000001,
3683     VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT     = 0x00000002,
3684     VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT  = 0x00000004,
3685     VK_SHADER_STAGE_GEOMETRY_BIT                 = 0x00000008,
3686     VK_SHADER_STAGE_FRAGMENT_BIT                 = 0x00000010,
3687     VK_SHADER_STAGE_COMPUTE_BIT                  = 0x00000020,
3688     VK_SHADER_STAGE_ALL_GRAPHICS                 = 0x0000001F,
3689     VK_SHADER_STAGE_ALL                          = 0x7FFFFFFF,
3690     VK_SHADER_STAGE_RAYGEN_BIT_KHR               = 0x00000100,
3691     VK_SHADER_STAGE_ANY_HIT_BIT_KHR              = 0x00000200,
3692     VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR          = 0x00000400,
3693     VK_SHADER_STAGE_MISS_BIT_KHR                 = 0x00000800,
3694     VK_SHADER_STAGE_INTERSECTION_BIT_KHR         = 0x00001000,
3695     VK_SHADER_STAGE_CALLABLE_BIT_KHR             = 0x00002000,
3696     VK_SHADER_STAGE_TASK_BIT_NV                  = 0x00000040,
3697     VK_SHADER_STAGE_MESH_BIT_NV                  = 0x00000080,
3698     VK_SHADER_STAGE_RAYGEN_BIT_NV                = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3699     VK_SHADER_STAGE_ANY_HIT_BIT_NV               = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3700     VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV           = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3701     VK_SHADER_STAGE_MISS_BIT_NV                  = VK_SHADER_STAGE_MISS_BIT_KHR,
3702     VK_SHADER_STAGE_INTERSECTION_BIT_NV          = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3703     VK_SHADER_STAGE_CALLABLE_BIT_NV              = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3704     VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3705 }
3706 
3707 enum VK_SHADER_STAGE_VERTEX_BIT                  = VkShaderStageFlagBits.VK_SHADER_STAGE_VERTEX_BIT;
3708 enum VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT    = VkShaderStageFlagBits.VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;
3709 enum VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = VkShaderStageFlagBits.VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT;
3710 enum VK_SHADER_STAGE_GEOMETRY_BIT                = VkShaderStageFlagBits.VK_SHADER_STAGE_GEOMETRY_BIT;
3711 enum VK_SHADER_STAGE_FRAGMENT_BIT                = VkShaderStageFlagBits.VK_SHADER_STAGE_FRAGMENT_BIT;
3712 enum VK_SHADER_STAGE_COMPUTE_BIT                 = VkShaderStageFlagBits.VK_SHADER_STAGE_COMPUTE_BIT;
3713 enum VK_SHADER_STAGE_ALL_GRAPHICS                = VkShaderStageFlagBits.VK_SHADER_STAGE_ALL_GRAPHICS;
3714 enum VK_SHADER_STAGE_ALL                         = VkShaderStageFlagBits.VK_SHADER_STAGE_ALL;
3715 enum VK_SHADER_STAGE_RAYGEN_BIT_KHR              = VkShaderStageFlagBits.VK_SHADER_STAGE_RAYGEN_BIT_KHR;
3716 enum VK_SHADER_STAGE_ANY_HIT_BIT_KHR             = VkShaderStageFlagBits.VK_SHADER_STAGE_ANY_HIT_BIT_KHR;
3717 enum VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR         = VkShaderStageFlagBits.VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR;
3718 enum VK_SHADER_STAGE_MISS_BIT_KHR                = VkShaderStageFlagBits.VK_SHADER_STAGE_MISS_BIT_KHR;
3719 enum VK_SHADER_STAGE_INTERSECTION_BIT_KHR        = VkShaderStageFlagBits.VK_SHADER_STAGE_INTERSECTION_BIT_KHR;
3720 enum VK_SHADER_STAGE_CALLABLE_BIT_KHR            = VkShaderStageFlagBits.VK_SHADER_STAGE_CALLABLE_BIT_KHR;
3721 enum VK_SHADER_STAGE_TASK_BIT_NV                 = VkShaderStageFlagBits.VK_SHADER_STAGE_TASK_BIT_NV;
3722 enum VK_SHADER_STAGE_MESH_BIT_NV                 = VkShaderStageFlagBits.VK_SHADER_STAGE_MESH_BIT_NV;
3723 enum VK_SHADER_STAGE_RAYGEN_BIT_NV               = VkShaderStageFlagBits.VK_SHADER_STAGE_RAYGEN_BIT_NV;
3724 enum VK_SHADER_STAGE_ANY_HIT_BIT_NV              = VkShaderStageFlagBits.VK_SHADER_STAGE_ANY_HIT_BIT_NV;
3725 enum VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV          = VkShaderStageFlagBits.VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV;
3726 enum VK_SHADER_STAGE_MISS_BIT_NV                 = VkShaderStageFlagBits.VK_SHADER_STAGE_MISS_BIT_NV;
3727 enum VK_SHADER_STAGE_INTERSECTION_BIT_NV         = VkShaderStageFlagBits.VK_SHADER_STAGE_INTERSECTION_BIT_NV;
3728 enum VK_SHADER_STAGE_CALLABLE_BIT_NV             = VkShaderStageFlagBits.VK_SHADER_STAGE_CALLABLE_BIT_NV;
3729 enum VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM          = VkShaderStageFlagBits.VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM;
3730 
3731 enum VkCullModeFlagBits {
3732     VK_CULL_MODE_NONE                    = 0,
3733     VK_CULL_MODE_FRONT_BIT               = 0x00000001,
3734     VK_CULL_MODE_BACK_BIT                = 0x00000002,
3735     VK_CULL_MODE_FRONT_AND_BACK          = 0x00000003,
3736     VK_CULL_MODE_FLAG_BITS_MAX_ENUM      = 0x7FFFFFFF
3737 }
3738 
3739 enum VK_CULL_MODE_NONE                   = VkCullModeFlagBits.VK_CULL_MODE_NONE;
3740 enum VK_CULL_MODE_FRONT_BIT              = VkCullModeFlagBits.VK_CULL_MODE_FRONT_BIT;
3741 enum VK_CULL_MODE_BACK_BIT               = VkCullModeFlagBits.VK_CULL_MODE_BACK_BIT;
3742 enum VK_CULL_MODE_FRONT_AND_BACK         = VkCullModeFlagBits.VK_CULL_MODE_FRONT_AND_BACK;
3743 enum VK_CULL_MODE_FLAG_BITS_MAX_ENUM     = VkCullModeFlagBits.VK_CULL_MODE_FLAG_BITS_MAX_ENUM;
3744 alias VkCullModeFlags = VkFlags;
3745 alias VkPipelineVertexInputStateCreateFlags = VkFlags;
3746 alias VkPipelineInputAssemblyStateCreateFlags = VkFlags;
3747 alias VkPipelineTessellationStateCreateFlags = VkFlags;
3748 alias VkPipelineViewportStateCreateFlags = VkFlags;
3749 alias VkPipelineRasterizationStateCreateFlags = VkFlags;
3750 alias VkPipelineMultisampleStateCreateFlags = VkFlags;
3751 alias VkPipelineDepthStencilStateCreateFlags = VkFlags;
3752 alias VkPipelineColorBlendStateCreateFlags = VkFlags;
3753 alias VkPipelineDynamicStateCreateFlags = VkFlags;
3754 alias VkPipelineLayoutCreateFlags = VkFlags;
3755 alias VkShaderStageFlags = VkFlags;
3756 
3757 enum VkSamplerCreateFlagBits {
3758     VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT                         = 0x00000001,
3759     VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT   = 0x00000002,
3760     VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM                         = 0x7FFFFFFF
3761 }
3762 
3763 enum VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT                        = VkSamplerCreateFlagBits.VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT;
3764 enum VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT  = VkSamplerCreateFlagBits.VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT;
3765 enum VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM                        = VkSamplerCreateFlagBits.VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM;
3766 alias VkSamplerCreateFlags = VkFlags;
3767 
3768 enum VkDescriptorPoolCreateFlagBits {
3769     VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT    = 0x00000001,
3770     VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT      = 0x00000002,
3771     VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE        = 0x00000004,
3772     VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT  = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3773     VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM         = 0x7FFFFFFF
3774 }
3775 
3776 enum VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT   = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT;
3777 enum VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT     = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT;
3778 enum VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE       = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE;
3779 enum VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT;
3780 enum VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM        = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM;
3781 alias VkDescriptorPoolCreateFlags = VkFlags;
3782 alias VkDescriptorPoolResetFlags = VkFlags;
3783 
3784 enum VkDescriptorSetLayoutCreateFlagBits {
3785     VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT           = 0x00000002,
3786     VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR              = 0x00000001,
3787     VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE             = 0x00000004,
3788     VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT       = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3789     VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM                   = 0x7FFFFFFF
3790 }
3791 
3792 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT          = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT;
3793 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR             = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR;
3794 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE            = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE;
3795 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT      = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT;
3796 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM                  = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM;
3797 alias VkDescriptorSetLayoutCreateFlags = VkFlags;
3798 
3799 enum VkAttachmentDescriptionFlagBits {
3800     VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT              = 0x00000001,
3801     VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM         = 0x7FFFFFFF
3802 }
3803 
3804 enum VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT             = VkAttachmentDescriptionFlagBits.VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT;
3805 enum VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM        = VkAttachmentDescriptionFlagBits.VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM;
3806 alias VkAttachmentDescriptionFlags = VkFlags;
3807 
3808 enum VkDependencyFlagBits {
3809     VK_DEPENDENCY_BY_REGION_BIT          = 0x00000001,
3810     VK_DEPENDENCY_DEVICE_GROUP_BIT       = 0x00000004,
3811     VK_DEPENDENCY_VIEW_LOCAL_BIT         = 0x00000002,
3812     VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR     = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3813     VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR   = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3814     VK_DEPENDENCY_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
3815 }
3816 
3817 enum VK_DEPENDENCY_BY_REGION_BIT         = VkDependencyFlagBits.VK_DEPENDENCY_BY_REGION_BIT;
3818 enum VK_DEPENDENCY_DEVICE_GROUP_BIT      = VkDependencyFlagBits.VK_DEPENDENCY_DEVICE_GROUP_BIT;
3819 enum VK_DEPENDENCY_VIEW_LOCAL_BIT        = VkDependencyFlagBits.VK_DEPENDENCY_VIEW_LOCAL_BIT;
3820 enum VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR    = VkDependencyFlagBits.VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR;
3821 enum VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR  = VkDependencyFlagBits.VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR;
3822 enum VK_DEPENDENCY_FLAG_BITS_MAX_ENUM    = VkDependencyFlagBits.VK_DEPENDENCY_FLAG_BITS_MAX_ENUM;
3823 alias VkDependencyFlags = VkFlags;
3824 
3825 enum VkFramebufferCreateFlagBits {
3826     VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT          = 0x00000001,
3827     VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR      = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3828     VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
3829 }
3830 
3831 enum VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT         = VkFramebufferCreateFlagBits.VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT;
3832 enum VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR     = VkFramebufferCreateFlagBits.VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR;
3833 enum VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM    = VkFramebufferCreateFlagBits.VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM;
3834 alias VkFramebufferCreateFlags = VkFlags;
3835 
3836 enum VkRenderPassCreateFlagBits {
3837     VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM     = 0x00000002,
3838     VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
3839 }
3840 
3841 enum VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM    = VkRenderPassCreateFlagBits.VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM;
3842 enum VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM    = VkRenderPassCreateFlagBits.VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM;
3843 alias VkRenderPassCreateFlags = VkFlags;
3844 
3845 enum VkSubpassDescriptionFlagBits {
3846     VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX           = 0x00000001,
3847     VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX      = 0x00000002,
3848     VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM              = 0x00000004,
3849     VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM               = 0x00000008,
3850     VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM                    = 0x7FFFFFFF
3851 }
3852 
3853 enum VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX          = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX;
3854 enum VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX     = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX;
3855 enum VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM             = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM;
3856 enum VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM              = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM;
3857 enum VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM                   = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM;
3858 alias VkSubpassDescriptionFlags = VkFlags;
3859 
3860 enum VkCommandPoolCreateFlagBits {
3861     VK_COMMAND_POOL_CREATE_TRANSIENT_BIT                 = 0x00000001,
3862     VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT      = 0x00000002,
3863     VK_COMMAND_POOL_CREATE_PROTECTED_BIT                 = 0x00000004,
3864     VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
3865 }
3866 
3867 enum VK_COMMAND_POOL_CREATE_TRANSIENT_BIT                = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_TRANSIENT_BIT;
3868 enum VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT     = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
3869 enum VK_COMMAND_POOL_CREATE_PROTECTED_BIT                = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_PROTECTED_BIT;
3870 enum VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM           = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM;
3871 alias VkCommandPoolCreateFlags = VkFlags;
3872 
3873 enum VkCommandPoolResetFlagBits {
3874     VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT  = 0x00000001,
3875     VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
3876 }
3877 
3878 enum VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = VkCommandPoolResetFlagBits.VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT;
3879 enum VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM    = VkCommandPoolResetFlagBits.VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM;
3880 alias VkCommandPoolResetFlags = VkFlags;
3881 
3882 enum VkCommandBufferUsageFlagBits {
3883     VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT          = 0x00000001,
3884     VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT     = 0x00000002,
3885     VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT         = 0x00000004,
3886     VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3887 }
3888 
3889 enum VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT         = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
3890 enum VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT    = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT;
3891 enum VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT        = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
3892 enum VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM          = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM;
3893 alias VkCommandBufferUsageFlags = VkFlags;
3894 
3895 enum VkQueryControlFlagBits {
3896     VK_QUERY_CONTROL_PRECISE_BIT                 = 0x00000001,
3897     VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM          = 0x7FFFFFFF
3898 }
3899 
3900 enum VK_QUERY_CONTROL_PRECISE_BIT                = VkQueryControlFlagBits.VK_QUERY_CONTROL_PRECISE_BIT;
3901 enum VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM         = VkQueryControlFlagBits.VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM;
3902 alias VkQueryControlFlags = VkFlags;
3903 
3904 enum VkCommandBufferResetFlagBits {
3905     VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT        = 0x00000001,
3906     VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3907 }
3908 
3909 enum VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT       = VkCommandBufferResetFlagBits.VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT;
3910 enum VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM          = VkCommandBufferResetFlagBits.VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM;
3911 alias VkCommandBufferResetFlags = VkFlags;
3912 
3913 enum VkStencilFaceFlagBits {
3914     VK_STENCIL_FACE_FRONT_BIT                    = 0x00000001,
3915     VK_STENCIL_FACE_BACK_BIT                     = 0x00000002,
3916     VK_STENCIL_FACE_FRONT_AND_BACK               = 0x00000003,
3917     VK_STENCIL_FRONT_AND_BACK                    = VK_STENCIL_FACE_FRONT_AND_BACK,
3918     VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3919 }
3920 
3921 enum VK_STENCIL_FACE_FRONT_BIT                   = VkStencilFaceFlagBits.VK_STENCIL_FACE_FRONT_BIT;
3922 enum VK_STENCIL_FACE_BACK_BIT                    = VkStencilFaceFlagBits.VK_STENCIL_FACE_BACK_BIT;
3923 enum VK_STENCIL_FACE_FRONT_AND_BACK              = VkStencilFaceFlagBits.VK_STENCIL_FACE_FRONT_AND_BACK;
3924 enum VK_STENCIL_FRONT_AND_BACK                   = VkStencilFaceFlagBits.VK_STENCIL_FRONT_AND_BACK;
3925 enum VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM          = VkStencilFaceFlagBits.VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM;
3926 alias VkStencilFaceFlags = VkFlags;
3927 
3928 alias PFN_vkAllocationFunction = void* function(
3929     void*                       pUserData,
3930     size_t                      size,
3931     size_t                      alignment,
3932     VkSystemAllocationScope     allocationScope
3933 );
3934 
3935 alias PFN_vkFreeFunction = void function(
3936     void*                       pUserData,
3937     void*                       pMemory
3938 );
3939 
3940 alias PFN_vkInternalAllocationNotification = void function(
3941     void*                       pUserData,
3942     size_t                      size,
3943     VkInternalAllocationType    allocationType,
3944     VkSystemAllocationScope     allocationScope
3945 );
3946 
3947 alias PFN_vkInternalFreeNotification = void function(
3948     void*                       pUserData,
3949     size_t                      size,
3950     VkInternalAllocationType    allocationType,
3951     VkSystemAllocationScope     allocationScope
3952 );
3953 
3954 alias PFN_vkReallocationFunction = void* function(
3955     void*                       pUserData,
3956     void*                       pOriginal,
3957     size_t                      size,
3958     size_t                      alignment,
3959     VkSystemAllocationScope     allocationScope
3960 );
3961 
3962 alias PFN_vkVoidFunction = void function();
3963 
3964 struct VkExtent2D {
3965     uint32_t  width;
3966     uint32_t  height;
3967 }
3968 
3969 struct VkExtent3D {
3970     uint32_t  width;
3971     uint32_t  height;
3972     uint32_t  depth;
3973 }
3974 
3975 struct VkOffset2D {
3976     int32_t  x;
3977     int32_t  y;
3978 }
3979 
3980 struct VkOffset3D {
3981     int32_t  x;
3982     int32_t  y;
3983     int32_t  z;
3984 }
3985 
3986 struct VkRect2D {
3987     VkOffset2D  offset;
3988     VkExtent2D  extent;
3989 }
3990 
3991 struct VkBaseInStructure {
3992     VkStructureType              sType;
3993     const( VkBaseInStructure )*  pNext;
3994 }
3995 
3996 struct VkBaseOutStructure {
3997     VkStructureType               sType;
3998     const( VkBaseOutStructure )*  pNext;
3999 }
4000 
4001 struct VkBufferMemoryBarrier {
4002     VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
4003     const( void )*   pNext;
4004     VkAccessFlags    srcAccessMask;
4005     VkAccessFlags    dstAccessMask;
4006     uint32_t         srcQueueFamilyIndex;
4007     uint32_t         dstQueueFamilyIndex;
4008     VkBuffer         buffer;
4009     VkDeviceSize     offset;
4010     VkDeviceSize     size;
4011 }
4012 
4013 struct VkDispatchIndirectCommand {
4014     uint32_t  x;
4015     uint32_t  y;
4016     uint32_t  z;
4017 }
4018 
4019 struct VkDrawIndexedIndirectCommand {
4020     uint32_t  indexCount;
4021     uint32_t  instanceCount;
4022     uint32_t  firstIndex;
4023     int32_t   vertexOffset;
4024     uint32_t  firstInstance;
4025 }
4026 
4027 struct VkDrawIndirectCommand {
4028     uint32_t  vertexCount;
4029     uint32_t  instanceCount;
4030     uint32_t  firstVertex;
4031     uint32_t  firstInstance;
4032 }
4033 
4034 struct VkImageSubresourceRange {
4035     VkImageAspectFlags  aspectMask;
4036     uint32_t            baseMipLevel;
4037     uint32_t            levelCount;
4038     uint32_t            baseArrayLayer;
4039     uint32_t            layerCount;
4040 }
4041 
4042 struct VkImageMemoryBarrier {
4043     VkStructureType          sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
4044     const( void )*           pNext;
4045     VkAccessFlags            srcAccessMask;
4046     VkAccessFlags            dstAccessMask;
4047     VkImageLayout            oldLayout;
4048     VkImageLayout            newLayout;
4049     uint32_t                 srcQueueFamilyIndex;
4050     uint32_t                 dstQueueFamilyIndex;
4051     VkImage                  image;
4052     VkImageSubresourceRange  subresourceRange;
4053 }
4054 
4055 struct VkMemoryBarrier {
4056     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER;
4057     const( void )*   pNext;
4058     VkAccessFlags    srcAccessMask;
4059     VkAccessFlags    dstAccessMask;
4060 }
4061 
4062 struct VkAllocationCallbacks {
4063     void*                                 pUserData;
4064     PFN_vkAllocationFunction              pfnAllocation;
4065     PFN_vkReallocationFunction            pfnReallocation;
4066     PFN_vkFreeFunction                    pfnFree;
4067     PFN_vkInternalAllocationNotification  pfnInternalAllocation;
4068     PFN_vkInternalFreeNotification        pfnInternalFree;
4069 }
4070 
4071 struct VkApplicationInfo {
4072     VkStructureType  sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
4073     const( void )*   pNext;
4074     const( char )*   pApplicationName;
4075     uint32_t         applicationVersion;
4076     const( char )*   pEngineName;
4077     uint32_t         engineVersion;
4078     uint32_t         apiVersion;
4079 }
4080 
4081 struct VkFormatProperties {
4082     VkFormatFeatureFlags  linearTilingFeatures;
4083     VkFormatFeatureFlags  optimalTilingFeatures;
4084     VkFormatFeatureFlags  bufferFeatures;
4085 }
4086 
4087 struct VkImageFormatProperties {
4088     VkExtent3D          maxExtent;
4089     uint32_t            maxMipLevels;
4090     uint32_t            maxArrayLayers;
4091     VkSampleCountFlags  sampleCounts;
4092     VkDeviceSize        maxResourceSize;
4093 }
4094 
4095 struct VkInstanceCreateInfo {
4096     VkStructureType              sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
4097     const( void )*               pNext;
4098     VkInstanceCreateFlags        flags;
4099     const( VkApplicationInfo )*  pApplicationInfo;
4100     uint32_t                     enabledLayerCount;
4101     const( char* )*              ppEnabledLayerNames;
4102     uint32_t                     enabledExtensionCount;
4103     const( char* )*              ppEnabledExtensionNames;
4104 }
4105 
4106 struct VkMemoryHeap {
4107     VkDeviceSize       size;
4108     VkMemoryHeapFlags  flags;
4109 }
4110 
4111 struct VkMemoryType {
4112     VkMemoryPropertyFlags  propertyFlags;
4113     uint32_t               heapIndex;
4114 }
4115 
4116 struct VkPhysicalDeviceFeatures {
4117     VkBool32  robustBufferAccess;
4118     VkBool32  fullDrawIndexUint32;
4119     VkBool32  imageCubeArray;
4120     VkBool32  independentBlend;
4121     VkBool32  geometryShader;
4122     VkBool32  tessellationShader;
4123     VkBool32  sampleRateShading;
4124     VkBool32  dualSrcBlend;
4125     VkBool32  logicOp;
4126     VkBool32  multiDrawIndirect;
4127     VkBool32  drawIndirectFirstInstance;
4128     VkBool32  depthClamp;
4129     VkBool32  depthBiasClamp;
4130     VkBool32  fillModeNonSolid;
4131     VkBool32  depthBounds;
4132     VkBool32  wideLines;
4133     VkBool32  largePoints;
4134     VkBool32  alphaToOne;
4135     VkBool32  multiViewport;
4136     VkBool32  samplerAnisotropy;
4137     VkBool32  textureCompressionETC2;
4138     VkBool32  textureCompressionASTC_LDR;
4139     VkBool32  textureCompressionBC;
4140     VkBool32  occlusionQueryPrecise;
4141     VkBool32  pipelineStatisticsQuery;
4142     VkBool32  vertexPipelineStoresAndAtomics;
4143     VkBool32  fragmentStoresAndAtomics;
4144     VkBool32  shaderTessellationAndGeometryPointSize;
4145     VkBool32  shaderImageGatherExtended;
4146     VkBool32  shaderStorageImageExtendedFormats;
4147     VkBool32  shaderStorageImageMultisample;
4148     VkBool32  shaderStorageImageReadWithoutFormat;
4149     VkBool32  shaderStorageImageWriteWithoutFormat;
4150     VkBool32  shaderUniformBufferArrayDynamicIndexing;
4151     VkBool32  shaderSampledImageArrayDynamicIndexing;
4152     VkBool32  shaderStorageBufferArrayDynamicIndexing;
4153     VkBool32  shaderStorageImageArrayDynamicIndexing;
4154     VkBool32  shaderClipDistance;
4155     VkBool32  shaderCullDistance;
4156     VkBool32  shaderFloat64;
4157     VkBool32  shaderInt64;
4158     VkBool32  shaderInt16;
4159     VkBool32  shaderResourceResidency;
4160     VkBool32  shaderResourceMinLod;
4161     VkBool32  sparseBinding;
4162     VkBool32  sparseResidencyBuffer;
4163     VkBool32  sparseResidencyImage2D;
4164     VkBool32  sparseResidencyImage3D;
4165     VkBool32  sparseResidency2Samples;
4166     VkBool32  sparseResidency4Samples;
4167     VkBool32  sparseResidency8Samples;
4168     VkBool32  sparseResidency16Samples;
4169     VkBool32  sparseResidencyAliased;
4170     VkBool32  variableMultisampleRate;
4171     VkBool32  inheritedQueries;
4172 }
4173 
4174 struct VkPhysicalDeviceLimits {
4175     uint32_t            maxImageDimension1D;
4176     uint32_t            maxImageDimension2D;
4177     uint32_t            maxImageDimension3D;
4178     uint32_t            maxImageDimensionCube;
4179     uint32_t            maxImageArrayLayers;
4180     uint32_t            maxTexelBufferElements;
4181     uint32_t            maxUniformBufferRange;
4182     uint32_t            maxStorageBufferRange;
4183     uint32_t            maxPushConstantsSize;
4184     uint32_t            maxMemoryAllocationCount;
4185     uint32_t            maxSamplerAllocationCount;
4186     VkDeviceSize        bufferImageGranularity;
4187     VkDeviceSize        sparseAddressSpaceSize;
4188     uint32_t            maxBoundDescriptorSets;
4189     uint32_t            maxPerStageDescriptorSamplers;
4190     uint32_t            maxPerStageDescriptorUniformBuffers;
4191     uint32_t            maxPerStageDescriptorStorageBuffers;
4192     uint32_t            maxPerStageDescriptorSampledImages;
4193     uint32_t            maxPerStageDescriptorStorageImages;
4194     uint32_t            maxPerStageDescriptorInputAttachments;
4195     uint32_t            maxPerStageResources;
4196     uint32_t            maxDescriptorSetSamplers;
4197     uint32_t            maxDescriptorSetUniformBuffers;
4198     uint32_t            maxDescriptorSetUniformBuffersDynamic;
4199     uint32_t            maxDescriptorSetStorageBuffers;
4200     uint32_t            maxDescriptorSetStorageBuffersDynamic;
4201     uint32_t            maxDescriptorSetSampledImages;
4202     uint32_t            maxDescriptorSetStorageImages;
4203     uint32_t            maxDescriptorSetInputAttachments;
4204     uint32_t            maxVertexInputAttributes;
4205     uint32_t            maxVertexInputBindings;
4206     uint32_t            maxVertexInputAttributeOffset;
4207     uint32_t            maxVertexInputBindingStride;
4208     uint32_t            maxVertexOutputComponents;
4209     uint32_t            maxTessellationGenerationLevel;
4210     uint32_t            maxTessellationPatchSize;
4211     uint32_t            maxTessellationControlPerVertexInputComponents;
4212     uint32_t            maxTessellationControlPerVertexOutputComponents;
4213     uint32_t            maxTessellationControlPerPatchOutputComponents;
4214     uint32_t            maxTessellationControlTotalOutputComponents;
4215     uint32_t            maxTessellationEvaluationInputComponents;
4216     uint32_t            maxTessellationEvaluationOutputComponents;
4217     uint32_t            maxGeometryShaderInvocations;
4218     uint32_t            maxGeometryInputComponents;
4219     uint32_t            maxGeometryOutputComponents;
4220     uint32_t            maxGeometryOutputVertices;
4221     uint32_t            maxGeometryTotalOutputComponents;
4222     uint32_t            maxFragmentInputComponents;
4223     uint32_t            maxFragmentOutputAttachments;
4224     uint32_t            maxFragmentDualSrcAttachments;
4225     uint32_t            maxFragmentCombinedOutputResources;
4226     uint32_t            maxComputeSharedMemorySize;
4227     uint32_t[3]         maxComputeWorkGroupCount;
4228     uint32_t            maxComputeWorkGroupInvocations;
4229     uint32_t[3]         maxComputeWorkGroupSize;
4230     uint32_t            subPixelPrecisionBits;
4231     uint32_t            subTexelPrecisionBits;
4232     uint32_t            mipmapPrecisionBits;
4233     uint32_t            maxDrawIndexedIndexValue;
4234     uint32_t            maxDrawIndirectCount;
4235     float               maxSamplerLodBias;
4236     float               maxSamplerAnisotropy;
4237     uint32_t            maxViewports;
4238     uint32_t[2]         maxViewportDimensions;
4239     float[2]            viewportBoundsRange;
4240     uint32_t            viewportSubPixelBits;
4241     size_t              minMemoryMapAlignment;
4242     VkDeviceSize        minTexelBufferOffsetAlignment;
4243     VkDeviceSize        minUniformBufferOffsetAlignment;
4244     VkDeviceSize        minStorageBufferOffsetAlignment;
4245     int32_t             minTexelOffset;
4246     uint32_t            maxTexelOffset;
4247     int32_t             minTexelGatherOffset;
4248     uint32_t            maxTexelGatherOffset;
4249     float               minInterpolationOffset;
4250     float               maxInterpolationOffset;
4251     uint32_t            subPixelInterpolationOffsetBits;
4252     uint32_t            maxFramebufferWidth;
4253     uint32_t            maxFramebufferHeight;
4254     uint32_t            maxFramebufferLayers;
4255     VkSampleCountFlags  framebufferColorSampleCounts;
4256     VkSampleCountFlags  framebufferDepthSampleCounts;
4257     VkSampleCountFlags  framebufferStencilSampleCounts;
4258     VkSampleCountFlags  framebufferNoAttachmentsSampleCounts;
4259     uint32_t            maxColorAttachments;
4260     VkSampleCountFlags  sampledImageColorSampleCounts;
4261     VkSampleCountFlags  sampledImageIntegerSampleCounts;
4262     VkSampleCountFlags  sampledImageDepthSampleCounts;
4263     VkSampleCountFlags  sampledImageStencilSampleCounts;
4264     VkSampleCountFlags  storageImageSampleCounts;
4265     uint32_t            maxSampleMaskWords;
4266     VkBool32            timestampComputeAndGraphics;
4267     float               timestampPeriod;
4268     uint32_t            maxClipDistances;
4269     uint32_t            maxCullDistances;
4270     uint32_t            maxCombinedClipAndCullDistances;
4271     uint32_t            discreteQueuePriorities;
4272     float[2]            pointSizeRange;
4273     float[2]            lineWidthRange;
4274     float               pointSizeGranularity;
4275     float               lineWidthGranularity;
4276     VkBool32            strictLines;
4277     VkBool32            standardSampleLocations;
4278     VkDeviceSize        optimalBufferCopyOffsetAlignment;
4279     VkDeviceSize        optimalBufferCopyRowPitchAlignment;
4280     VkDeviceSize        nonCoherentAtomSize;
4281 }
4282 
4283 struct VkPhysicalDeviceMemoryProperties {
4284     uint32_t                             memoryTypeCount;
4285     VkMemoryType[ VK_MAX_MEMORY_TYPES ]  memoryTypes;
4286     uint32_t                             memoryHeapCount;
4287     VkMemoryHeap[ VK_MAX_MEMORY_HEAPS ]  memoryHeaps;
4288 }
4289 
4290 struct VkPhysicalDeviceSparseProperties {
4291     VkBool32  residencyStandard2DBlockShape;
4292     VkBool32  residencyStandard2DMultisampleBlockShape;
4293     VkBool32  residencyStandard3DBlockShape;
4294     VkBool32  residencyAlignedMipSize;
4295     VkBool32  residencyNonResidentStrict;
4296 }
4297 
4298 struct VkPhysicalDeviceProperties {
4299     uint32_t                                  apiVersion;
4300     uint32_t                                  driverVersion;
4301     uint32_t                                  vendorID;
4302     uint32_t                                  deviceID;
4303     VkPhysicalDeviceType                      deviceType;
4304     char[ VK_MAX_PHYSICAL_DEVICE_NAME_SIZE ]  deviceName;
4305     uint8_t[ VK_UUID_SIZE ]                   pipelineCacheUUID;
4306     VkPhysicalDeviceLimits                    limits;
4307     VkPhysicalDeviceSparseProperties          sparseProperties;
4308 }
4309 
4310 struct VkQueueFamilyProperties {
4311     VkQueueFlags  queueFlags;
4312     uint32_t      queueCount;
4313     uint32_t      timestampValidBits;
4314     VkExtent3D    minImageTransferGranularity;
4315 }
4316 
4317 struct VkDeviceQueueCreateInfo {
4318     VkStructureType           sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
4319     const( void )*            pNext;
4320     VkDeviceQueueCreateFlags  flags;
4321     uint32_t                  queueFamilyIndex;
4322     uint32_t                  queueCount;
4323     const( float )*           pQueuePriorities;
4324 }
4325 
4326 struct VkDeviceCreateInfo {
4327     VkStructureType                     sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
4328     const( void )*                      pNext;
4329     VkDeviceCreateFlags                 flags;
4330     uint32_t                            queueCreateInfoCount;
4331     const( VkDeviceQueueCreateInfo )*   pQueueCreateInfos;
4332     uint32_t                            enabledLayerCount;
4333     const( char* )*                     ppEnabledLayerNames;
4334     uint32_t                            enabledExtensionCount;
4335     const( char* )*                     ppEnabledExtensionNames;
4336     const( VkPhysicalDeviceFeatures )*  pEnabledFeatures;
4337 }
4338 
4339 struct VkExtensionProperties {
4340     char[ VK_MAX_EXTENSION_NAME_SIZE ]  extensionName;
4341     uint32_t                            specVersion;
4342 }
4343 
4344 struct VkLayerProperties {
4345     char[ VK_MAX_EXTENSION_NAME_SIZE ]  layerName;
4346     uint32_t                            specVersion;
4347     uint32_t                            implementationVersion;
4348     char[ VK_MAX_DESCRIPTION_SIZE ]     description;
4349 }
4350 
4351 struct VkSubmitInfo {
4352     VkStructureType                 sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
4353     const( void )*                  pNext;
4354     uint32_t                        waitSemaphoreCount;
4355     const( VkSemaphore )*           pWaitSemaphores;
4356     const( VkPipelineStageFlags )*  pWaitDstStageMask;
4357     uint32_t                        commandBufferCount;
4358     const( VkCommandBuffer )*       pCommandBuffers;
4359     uint32_t                        signalSemaphoreCount;
4360     const( VkSemaphore )*           pSignalSemaphores;
4361 }
4362 
4363 struct VkMappedMemoryRange {
4364     VkStructureType  sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
4365     const( void )*   pNext;
4366     VkDeviceMemory   memory;
4367     VkDeviceSize     offset;
4368     VkDeviceSize     size;
4369 }
4370 
4371 struct VkMemoryAllocateInfo {
4372     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
4373     const( void )*   pNext;
4374     VkDeviceSize     allocationSize;
4375     uint32_t         memoryTypeIndex;
4376 }
4377 
4378 struct VkMemoryRequirements {
4379     VkDeviceSize  size;
4380     VkDeviceSize  alignment;
4381     uint32_t      memoryTypeBits;
4382 }
4383 
4384 struct VkSparseMemoryBind {
4385     VkDeviceSize             resourceOffset;
4386     VkDeviceSize             size;
4387     VkDeviceMemory           memory;
4388     VkDeviceSize             memoryOffset;
4389     VkSparseMemoryBindFlags  flags;
4390 }
4391 
4392 struct VkSparseBufferMemoryBindInfo {
4393     VkBuffer                      buffer;
4394     uint32_t                      bindCount;
4395     const( VkSparseMemoryBind )*  pBinds;
4396 }
4397 
4398 struct VkSparseImageOpaqueMemoryBindInfo {
4399     VkImage                       image;
4400     uint32_t                      bindCount;
4401     const( VkSparseMemoryBind )*  pBinds;
4402 }
4403 
4404 struct VkImageSubresource {
4405     VkImageAspectFlags  aspectMask;
4406     uint32_t            mipLevel;
4407     uint32_t            arrayLayer;
4408 }
4409 
4410 struct VkSparseImageMemoryBind {
4411     VkImageSubresource       subresource;
4412     VkOffset3D               offset;
4413     VkExtent3D               extent;
4414     VkDeviceMemory           memory;
4415     VkDeviceSize             memoryOffset;
4416     VkSparseMemoryBindFlags  flags;
4417 }
4418 
4419 struct VkSparseImageMemoryBindInfo {
4420     VkImage                            image;
4421     uint32_t                           bindCount;
4422     const( VkSparseImageMemoryBind )*  pBinds;
4423 }
4424 
4425 struct VkBindSparseInfo {
4426     VkStructureType                              sType = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO;
4427     const( void )*                               pNext;
4428     uint32_t                                     waitSemaphoreCount;
4429     const( VkSemaphore )*                        pWaitSemaphores;
4430     uint32_t                                     bufferBindCount;
4431     const( VkSparseBufferMemoryBindInfo )*       pBufferBinds;
4432     uint32_t                                     imageOpaqueBindCount;
4433     const( VkSparseImageOpaqueMemoryBindInfo )*  pImageOpaqueBinds;
4434     uint32_t                                     imageBindCount;
4435     const( VkSparseImageMemoryBindInfo )*        pImageBinds;
4436     uint32_t                                     signalSemaphoreCount;
4437     const( VkSemaphore )*                        pSignalSemaphores;
4438 }
4439 
4440 struct VkSparseImageFormatProperties {
4441     VkImageAspectFlags        aspectMask;
4442     VkExtent3D                imageGranularity;
4443     VkSparseImageFormatFlags  flags;
4444 }
4445 
4446 struct VkSparseImageMemoryRequirements {
4447     VkSparseImageFormatProperties  formatProperties;
4448     uint32_t                       imageMipTailFirstLod;
4449     VkDeviceSize                   imageMipTailSize;
4450     VkDeviceSize                   imageMipTailOffset;
4451     VkDeviceSize                   imageMipTailStride;
4452 }
4453 
4454 struct VkFenceCreateInfo {
4455     VkStructureType     sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
4456     const( void )*      pNext;
4457     VkFenceCreateFlags  flags;
4458 }
4459 
4460 struct VkSemaphoreCreateInfo {
4461     VkStructureType         sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
4462     const( void )*          pNext;
4463     VkSemaphoreCreateFlags  flags;
4464 }
4465 
4466 struct VkEventCreateInfo {
4467     VkStructureType     sType = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO;
4468     const( void )*      pNext;
4469     VkEventCreateFlags  flags;
4470 }
4471 
4472 struct VkQueryPoolCreateInfo {
4473     VkStructureType                sType = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO;
4474     const( void )*                 pNext;
4475     VkQueryPoolCreateFlags         flags;
4476     VkQueryType                    queryType;
4477     uint32_t                       queryCount;
4478     VkQueryPipelineStatisticFlags  pipelineStatistics;
4479 }
4480 
4481 struct VkBufferCreateInfo {
4482     VkStructureType      sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
4483     const( void )*       pNext;
4484     VkBufferCreateFlags  flags;
4485     VkDeviceSize         size;
4486     VkBufferUsageFlags   usage;
4487     VkSharingMode        sharingMode;
4488     uint32_t             queueFamilyIndexCount;
4489     const( uint32_t )*   pQueueFamilyIndices;
4490 }
4491 
4492 struct VkBufferViewCreateInfo {
4493     VkStructureType          sType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
4494     const( void )*           pNext;
4495     VkBufferViewCreateFlags  flags;
4496     VkBuffer                 buffer;
4497     VkFormat                 format;
4498     VkDeviceSize             offset;
4499     VkDeviceSize             range;
4500 }
4501 
4502 struct VkImageCreateInfo {
4503     VkStructureType        sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
4504     const( void )*         pNext;
4505     VkImageCreateFlags     flags;
4506     VkImageType            imageType;
4507     VkFormat               format;
4508     VkExtent3D             extent;
4509     uint32_t               mipLevels;
4510     uint32_t               arrayLayers;
4511     VkSampleCountFlagBits  samples;
4512     VkImageTiling          tiling;
4513     VkImageUsageFlags      usage;
4514     VkSharingMode          sharingMode;
4515     uint32_t               queueFamilyIndexCount;
4516     const( uint32_t )*     pQueueFamilyIndices;
4517     VkImageLayout          initialLayout;
4518 }
4519 
4520 struct VkSubresourceLayout {
4521     VkDeviceSize  offset;
4522     VkDeviceSize  size;
4523     VkDeviceSize  rowPitch;
4524     VkDeviceSize  arrayPitch;
4525     VkDeviceSize  depthPitch;
4526 }
4527 
4528 struct VkComponentMapping {
4529     VkComponentSwizzle  r;
4530     VkComponentSwizzle  g;
4531     VkComponentSwizzle  b;
4532     VkComponentSwizzle  a;
4533 }
4534 
4535 struct VkImageViewCreateInfo {
4536     VkStructureType          sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
4537     const( void )*           pNext;
4538     VkImageViewCreateFlags   flags;
4539     VkImage                  image;
4540     VkImageViewType          viewType;
4541     VkFormat                 format;
4542     VkComponentMapping       components;
4543     VkImageSubresourceRange  subresourceRange;
4544 }
4545 
4546 struct VkShaderModuleCreateInfo {
4547     VkStructureType            sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
4548     const( void )*             pNext;
4549     VkShaderModuleCreateFlags  flags;
4550     size_t                     codeSize;
4551     const( uint32_t )*         pCode;
4552 }
4553 
4554 struct VkPipelineCacheCreateInfo {
4555     VkStructureType             sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
4556     const( void )*              pNext;
4557     VkPipelineCacheCreateFlags  flags;
4558     size_t                      initialDataSize;
4559     const( void )*              pInitialData;
4560 }
4561 
4562 struct VkSpecializationMapEntry {
4563     uint32_t  constantID;
4564     uint32_t  offset;
4565     size_t    size;
4566 }
4567 
4568 struct VkSpecializationInfo {
4569     uint32_t                            mapEntryCount;
4570     const( VkSpecializationMapEntry )*  pMapEntries;
4571     size_t                              dataSize;
4572     const( void )*                      pData;
4573 }
4574 
4575 struct VkPipelineShaderStageCreateInfo {
4576     VkStructureType                   sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
4577     const( void )*                    pNext;
4578     VkPipelineShaderStageCreateFlags  flags;
4579     VkShaderStageFlagBits             stage;
4580     VkShaderModule                    Module;
4581     const( char )*                    pName;
4582     const( VkSpecializationInfo )*    pSpecializationInfo;
4583     alias                             module_ = Module;
4584     alias                             _module = Module;
4585 }
4586 
4587 struct VkComputePipelineCreateInfo {
4588     VkStructureType                  sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
4589     const( void )*                   pNext;
4590     VkPipelineCreateFlags            flags;
4591     VkPipelineShaderStageCreateInfo  stage;
4592     VkPipelineLayout                 layout;
4593     VkPipeline                       basePipelineHandle;
4594     int32_t                          basePipelineIndex;
4595 }
4596 
4597 struct VkVertexInputBindingDescription {
4598     uint32_t           binding;
4599     uint32_t           stride;
4600     VkVertexInputRate  inputRate;
4601 }
4602 
4603 struct VkVertexInputAttributeDescription {
4604     uint32_t  location;
4605     uint32_t  binding;
4606     VkFormat  format;
4607     uint32_t  offset;
4608 }
4609 
4610 struct VkPipelineVertexInputStateCreateInfo {
4611     VkStructureType                              sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
4612     const( void )*                               pNext;
4613     VkPipelineVertexInputStateCreateFlags        flags;
4614     uint32_t                                     vertexBindingDescriptionCount;
4615     const( VkVertexInputBindingDescription )*    pVertexBindingDescriptions;
4616     uint32_t                                     vertexAttributeDescriptionCount;
4617     const( VkVertexInputAttributeDescription )*  pVertexAttributeDescriptions;
4618 }
4619 
4620 struct VkPipelineInputAssemblyStateCreateInfo {
4621     VkStructureType                          sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
4622     const( void )*                           pNext;
4623     VkPipelineInputAssemblyStateCreateFlags  flags;
4624     VkPrimitiveTopology                      topology;
4625     VkBool32                                 primitiveRestartEnable;
4626 }
4627 
4628 struct VkPipelineTessellationStateCreateInfo {
4629     VkStructureType                         sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO;
4630     const( void )*                          pNext;
4631     VkPipelineTessellationStateCreateFlags  flags;
4632     uint32_t                                patchControlPoints;
4633 }
4634 
4635 struct VkViewport {
4636     float  x;
4637     float  y;
4638     float  width;
4639     float  height;
4640     float  minDepth;
4641     float  maxDepth;
4642 }
4643 
4644 struct VkPipelineViewportStateCreateInfo {
4645     VkStructureType                     sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
4646     const( void )*                      pNext;
4647     VkPipelineViewportStateCreateFlags  flags;
4648     uint32_t                            viewportCount;
4649     const( VkViewport )*                pViewports;
4650     uint32_t                            scissorCount;
4651     const( VkRect2D )*                  pScissors;
4652 }
4653 
4654 struct VkPipelineRasterizationStateCreateInfo {
4655     VkStructureType                          sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
4656     const( void )*                           pNext;
4657     VkPipelineRasterizationStateCreateFlags  flags;
4658     VkBool32                                 depthClampEnable;
4659     VkBool32                                 rasterizerDiscardEnable;
4660     VkPolygonMode                            polygonMode;
4661     VkCullModeFlags                          cullMode;
4662     VkFrontFace                              frontFace;
4663     VkBool32                                 depthBiasEnable;
4664     float                                    depthBiasConstantFactor;
4665     float                                    depthBiasClamp;
4666     float                                    depthBiasSlopeFactor;
4667     float                                    lineWidth;
4668 }
4669 
4670 struct VkPipelineMultisampleStateCreateInfo {
4671     VkStructureType                        sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
4672     const( void )*                         pNext;
4673     VkPipelineMultisampleStateCreateFlags  flags;
4674     VkSampleCountFlagBits                  rasterizationSamples;
4675     VkBool32                               sampleShadingEnable;
4676     float                                  minSampleShading;
4677     const( VkSampleMask )*                 pSampleMask;
4678     VkBool32                               alphaToCoverageEnable;
4679     VkBool32                               alphaToOneEnable;
4680 }
4681 
4682 struct VkStencilOpState {
4683     VkStencilOp  failOp;
4684     VkStencilOp  passOp;
4685     VkStencilOp  depthFailOp;
4686     VkCompareOp  compareOp;
4687     uint32_t     compareMask;
4688     uint32_t     writeMask;
4689     uint32_t     reference;
4690 }
4691 
4692 struct VkPipelineDepthStencilStateCreateInfo {
4693     VkStructureType                         sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
4694     const( void )*                          pNext;
4695     VkPipelineDepthStencilStateCreateFlags  flags;
4696     VkBool32                                depthTestEnable;
4697     VkBool32                                depthWriteEnable;
4698     VkCompareOp                             depthCompareOp;
4699     VkBool32                                depthBoundsTestEnable;
4700     VkBool32                                stencilTestEnable;
4701     VkStencilOpState                        front;
4702     VkStencilOpState                        back;
4703     float                                   minDepthBounds;
4704     float                                   maxDepthBounds;
4705 }
4706 
4707 struct VkPipelineColorBlendAttachmentState {
4708     VkBool32               blendEnable;
4709     VkBlendFactor          srcColorBlendFactor;
4710     VkBlendFactor          dstColorBlendFactor;
4711     VkBlendOp              colorBlendOp;
4712     VkBlendFactor          srcAlphaBlendFactor;
4713     VkBlendFactor          dstAlphaBlendFactor;
4714     VkBlendOp              alphaBlendOp;
4715     VkColorComponentFlags  colorWriteMask;
4716 }
4717 
4718 struct VkPipelineColorBlendStateCreateInfo {
4719     VkStructureType                                sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
4720     const( void )*                                 pNext;
4721     VkPipelineColorBlendStateCreateFlags           flags;
4722     VkBool32                                       logicOpEnable;
4723     VkLogicOp                                      logicOp;
4724     uint32_t                                       attachmentCount;
4725     const( VkPipelineColorBlendAttachmentState )*  pAttachments;
4726     float[4]                                       blendConstants;
4727 }
4728 
4729 struct VkPipelineDynamicStateCreateInfo {
4730     VkStructureType                    sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
4731     const( void )*                     pNext;
4732     VkPipelineDynamicStateCreateFlags  flags;
4733     uint32_t                           dynamicStateCount;
4734     const( VkDynamicState )*           pDynamicStates;
4735 }
4736 
4737 struct VkGraphicsPipelineCreateInfo {
4738     VkStructureType                                   sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
4739     const( void )*                                    pNext;
4740     VkPipelineCreateFlags                             flags;
4741     uint32_t                                          stageCount;
4742     const( VkPipelineShaderStageCreateInfo )*         pStages;
4743     const( VkPipelineVertexInputStateCreateInfo )*    pVertexInputState;
4744     const( VkPipelineInputAssemblyStateCreateInfo )*  pInputAssemblyState;
4745     const( VkPipelineTessellationStateCreateInfo )*   pTessellationState;
4746     const( VkPipelineViewportStateCreateInfo )*       pViewportState;
4747     const( VkPipelineRasterizationStateCreateInfo )*  pRasterizationState;
4748     const( VkPipelineMultisampleStateCreateInfo )*    pMultisampleState;
4749     const( VkPipelineDepthStencilStateCreateInfo )*   pDepthStencilState;
4750     const( VkPipelineColorBlendStateCreateInfo )*     pColorBlendState;
4751     const( VkPipelineDynamicStateCreateInfo )*        pDynamicState;
4752     VkPipelineLayout                                  layout;
4753     VkRenderPass                                      renderPass;
4754     uint32_t                                          subpass;
4755     VkPipeline                                        basePipelineHandle;
4756     int32_t                                           basePipelineIndex;
4757 }
4758 
4759 struct VkPushConstantRange {
4760     VkShaderStageFlags  stageFlags;
4761     uint32_t            offset;
4762     uint32_t            size;
4763 }
4764 
4765 struct VkPipelineLayoutCreateInfo {
4766     VkStructureType                  sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
4767     const( void )*                   pNext;
4768     VkPipelineLayoutCreateFlags      flags;
4769     uint32_t                         setLayoutCount;
4770     const( VkDescriptorSetLayout )*  pSetLayouts;
4771     uint32_t                         pushConstantRangeCount;
4772     const( VkPushConstantRange )*    pPushConstantRanges;
4773 }
4774 
4775 struct VkSamplerCreateInfo {
4776     VkStructureType       sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
4777     const( void )*        pNext;
4778     VkSamplerCreateFlags  flags;
4779     VkFilter              magFilter;
4780     VkFilter              minFilter;
4781     VkSamplerMipmapMode   mipmapMode;
4782     VkSamplerAddressMode  addressModeU;
4783     VkSamplerAddressMode  addressModeV;
4784     VkSamplerAddressMode  addressModeW;
4785     float                 mipLodBias;
4786     VkBool32              anisotropyEnable;
4787     float                 maxAnisotropy;
4788     VkBool32              compareEnable;
4789     VkCompareOp           compareOp;
4790     float                 minLod;
4791     float                 maxLod;
4792     VkBorderColor         borderColor;
4793     VkBool32              unnormalizedCoordinates;
4794 }
4795 
4796 struct VkCopyDescriptorSet {
4797     VkStructureType  sType = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET;
4798     const( void )*   pNext;
4799     VkDescriptorSet  srcSet;
4800     uint32_t         srcBinding;
4801     uint32_t         srcArrayElement;
4802     VkDescriptorSet  dstSet;
4803     uint32_t         dstBinding;
4804     uint32_t         dstArrayElement;
4805     uint32_t         descriptorCount;
4806 }
4807 
4808 struct VkDescriptorBufferInfo {
4809     VkBuffer      buffer;
4810     VkDeviceSize  offset;
4811     VkDeviceSize  range;
4812 }
4813 
4814 struct VkDescriptorImageInfo {
4815     VkSampler      sampler;
4816     VkImageView    imageView;
4817     VkImageLayout  imageLayout;
4818 }
4819 
4820 struct VkDescriptorPoolSize {
4821     VkDescriptorType  type;
4822     uint32_t          descriptorCount;
4823 }
4824 
4825 struct VkDescriptorPoolCreateInfo {
4826     VkStructureType                 sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
4827     const( void )*                  pNext;
4828     VkDescriptorPoolCreateFlags     flags;
4829     uint32_t                        maxSets;
4830     uint32_t                        poolSizeCount;
4831     const( VkDescriptorPoolSize )*  pPoolSizes;
4832 }
4833 
4834 struct VkDescriptorSetAllocateInfo {
4835     VkStructureType                  sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
4836     const( void )*                   pNext;
4837     VkDescriptorPool                 descriptorPool;
4838     uint32_t                         descriptorSetCount;
4839     const( VkDescriptorSetLayout )*  pSetLayouts;
4840 }
4841 
4842 struct VkDescriptorSetLayoutBinding {
4843     uint32_t             binding;
4844     VkDescriptorType     descriptorType;
4845     uint32_t             descriptorCount;
4846     VkShaderStageFlags   stageFlags;
4847     const( VkSampler )*  pImmutableSamplers;
4848 }
4849 
4850 struct VkDescriptorSetLayoutCreateInfo {
4851     VkStructureType                         sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
4852     const( void )*                          pNext;
4853     VkDescriptorSetLayoutCreateFlags        flags;
4854     uint32_t                                bindingCount;
4855     const( VkDescriptorSetLayoutBinding )*  pBindings;
4856 }
4857 
4858 struct VkWriteDescriptorSet {
4859     VkStructureType                   sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
4860     const( void )*                    pNext;
4861     VkDescriptorSet                   dstSet;
4862     uint32_t                          dstBinding;
4863     uint32_t                          dstArrayElement;
4864     uint32_t                          descriptorCount;
4865     VkDescriptorType                  descriptorType;
4866     const( VkDescriptorImageInfo )*   pImageInfo;
4867     const( VkDescriptorBufferInfo )*  pBufferInfo;
4868     const( VkBufferView )*            pTexelBufferView;
4869 }
4870 
4871 struct VkAttachmentDescription {
4872     VkAttachmentDescriptionFlags  flags;
4873     VkFormat                      format;
4874     VkSampleCountFlagBits         samples;
4875     VkAttachmentLoadOp            loadOp;
4876     VkAttachmentStoreOp           storeOp;
4877     VkAttachmentLoadOp            stencilLoadOp;
4878     VkAttachmentStoreOp           stencilStoreOp;
4879     VkImageLayout                 initialLayout;
4880     VkImageLayout                 finalLayout;
4881 }
4882 
4883 struct VkAttachmentReference {
4884     uint32_t       attachment;
4885     VkImageLayout  layout;
4886 }
4887 
4888 struct VkFramebufferCreateInfo {
4889     VkStructureType           sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
4890     const( void )*            pNext;
4891     VkFramebufferCreateFlags  flags;
4892     VkRenderPass              renderPass;
4893     uint32_t                  attachmentCount;
4894     const( VkImageView )*     pAttachments;
4895     uint32_t                  width;
4896     uint32_t                  height;
4897     uint32_t                  layers;
4898 }
4899 
4900 struct VkSubpassDescription {
4901     VkSubpassDescriptionFlags        flags;
4902     VkPipelineBindPoint              pipelineBindPoint;
4903     uint32_t                         inputAttachmentCount;
4904     const( VkAttachmentReference )*  pInputAttachments;
4905     uint32_t                         colorAttachmentCount;
4906     const( VkAttachmentReference )*  pColorAttachments;
4907     const( VkAttachmentReference )*  pResolveAttachments;
4908     const( VkAttachmentReference )*  pDepthStencilAttachment;
4909     uint32_t                         preserveAttachmentCount;
4910     const( uint32_t )*               pPreserveAttachments;
4911 }
4912 
4913 struct VkSubpassDependency {
4914     uint32_t              srcSubpass;
4915     uint32_t              dstSubpass;
4916     VkPipelineStageFlags  srcStageMask;
4917     VkPipelineStageFlags  dstStageMask;
4918     VkAccessFlags         srcAccessMask;
4919     VkAccessFlags         dstAccessMask;
4920     VkDependencyFlags     dependencyFlags;
4921 }
4922 
4923 struct VkRenderPassCreateInfo {
4924     VkStructureType                    sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
4925     const( void )*                     pNext;
4926     VkRenderPassCreateFlags            flags;
4927     uint32_t                           attachmentCount;
4928     const( VkAttachmentDescription )*  pAttachments;
4929     uint32_t                           subpassCount;
4930     const( VkSubpassDescription )*     pSubpasses;
4931     uint32_t                           dependencyCount;
4932     const( VkSubpassDependency )*      pDependencies;
4933 }
4934 
4935 struct VkCommandPoolCreateInfo {
4936     VkStructureType           sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
4937     const( void )*            pNext;
4938     VkCommandPoolCreateFlags  flags;
4939     uint32_t                  queueFamilyIndex;
4940 }
4941 
4942 struct VkCommandBufferAllocateInfo {
4943     VkStructureType       sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
4944     const( void )*        pNext;
4945     VkCommandPool         commandPool;
4946     VkCommandBufferLevel  level;
4947     uint32_t              commandBufferCount;
4948 }
4949 
4950 struct VkCommandBufferInheritanceInfo {
4951     VkStructureType                sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
4952     const( void )*                 pNext;
4953     VkRenderPass                   renderPass;
4954     uint32_t                       subpass;
4955     VkFramebuffer                  framebuffer;
4956     VkBool32                       occlusionQueryEnable;
4957     VkQueryControlFlags            queryFlags;
4958     VkQueryPipelineStatisticFlags  pipelineStatistics;
4959 }
4960 
4961 struct VkCommandBufferBeginInfo {
4962     VkStructureType                           sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
4963     const( void )*                            pNext;
4964     VkCommandBufferUsageFlags                 flags;
4965     const( VkCommandBufferInheritanceInfo )*  pInheritanceInfo;
4966 }
4967 
4968 struct VkBufferCopy {
4969     VkDeviceSize  srcOffset;
4970     VkDeviceSize  dstOffset;
4971     VkDeviceSize  size;
4972 }
4973 
4974 struct VkImageSubresourceLayers {
4975     VkImageAspectFlags  aspectMask;
4976     uint32_t            mipLevel;
4977     uint32_t            baseArrayLayer;
4978     uint32_t            layerCount;
4979 }
4980 
4981 struct VkBufferImageCopy {
4982     VkDeviceSize              bufferOffset;
4983     uint32_t                  bufferRowLength;
4984     uint32_t                  bufferImageHeight;
4985     VkImageSubresourceLayers  imageSubresource;
4986     VkOffset3D                imageOffset;
4987     VkExtent3D                imageExtent;
4988 }
4989 
4990 union VkClearColorValue {
4991     float[4]     float32;
4992     int32_t[4]   int32;
4993     uint32_t[4]  uint32;
4994 }
4995 
4996 struct VkClearDepthStencilValue {
4997     float     depth;
4998     uint32_t  stencil;
4999 }
5000 
5001 union VkClearValue {
5002     VkClearColorValue         color;
5003     VkClearDepthStencilValue  depthStencil;
5004 }
5005 
5006 struct VkClearAttachment {
5007     VkImageAspectFlags  aspectMask;
5008     uint32_t            colorAttachment;
5009     VkClearValue        clearValue;
5010 }
5011 
5012 struct VkClearRect {
5013     VkRect2D  rect;
5014     uint32_t  baseArrayLayer;
5015     uint32_t  layerCount;
5016 }
5017 
5018 struct VkImageBlit {
5019     VkImageSubresourceLayers  srcSubresource;
5020     VkOffset3D[2]             srcOffsets;
5021     VkImageSubresourceLayers  dstSubresource;
5022     VkOffset3D[2]             dstOffsets;
5023 }
5024 
5025 struct VkImageCopy {
5026     VkImageSubresourceLayers  srcSubresource;
5027     VkOffset3D                srcOffset;
5028     VkImageSubresourceLayers  dstSubresource;
5029     VkOffset3D                dstOffset;
5030     VkExtent3D                extent;
5031 }
5032 
5033 struct VkImageResolve {
5034     VkImageSubresourceLayers  srcSubresource;
5035     VkOffset3D                srcOffset;
5036     VkImageSubresourceLayers  dstSubresource;
5037     VkOffset3D                dstOffset;
5038     VkExtent3D                extent;
5039 }
5040 
5041 struct VkRenderPassBeginInfo {
5042     VkStructureType         sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
5043     const( void )*          pNext;
5044     VkRenderPass            renderPass;
5045     VkFramebuffer           framebuffer;
5046     VkRect2D                renderArea;
5047     uint32_t                clearValueCount;
5048     const( VkClearValue )*  pClearValues;
5049 }
5050 
5051 
5052 // - VK_VERSION_1_1 -
5053 enum VK_VERSION_1_1 = 1;
5054 
5055 // Vulkan 1.1 version number
5056 enum VK_API_VERSION_1_1 = VK_MAKE_VERSION( 1, 1, 0 );  // Patch version should always be set to 0
5057 
5058 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSamplerYcbcrConversion} );
5059 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorUpdateTemplate} );
5060 
5061 enum VK_MAX_DEVICE_GROUP_SIZE = 32;
5062 enum VK_LUID_SIZE = 8;
5063 enum VK_QUEUE_FAMILY_EXTERNAL = (~0U-1);
5064 
5065 enum VkPointClippingBehavior {
5066     VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES                   = 0,
5067     VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY             = 1,
5068     VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR               = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5069     VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR         = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5070     VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE                       = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5071     VK_POINT_CLIPPING_BEHAVIOR_END_RANGE                         = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5072     VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE                        = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY - VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES + 1,
5073     VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM                          = 0x7FFFFFFF
5074 }
5075 
5076 enum VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES                  = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES;
5077 enum VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY            = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY;
5078 enum VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR              = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR;
5079 enum VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR        = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR;
5080 enum VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE                      = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE;
5081 enum VK_POINT_CLIPPING_BEHAVIOR_END_RANGE                        = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_END_RANGE;
5082 enum VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE                       = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE;
5083 enum VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM                         = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM;
5084 
5085 enum VkTessellationDomainOrigin {
5086     VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT             = 0,
5087     VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT             = 1,
5088     VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR         = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5089     VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR         = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5090     VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE            = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5091     VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE              = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5092     VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE             = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT - VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT + 1,
5093     VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM               = 0x7FFFFFFF
5094 }
5095 
5096 enum VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT            = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT;
5097 enum VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT            = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT;
5098 enum VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR        = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR;
5099 enum VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR        = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR;
5100 enum VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE           = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE;
5101 enum VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE             = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE;
5102 enum VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE            = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE;
5103 enum VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM              = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM;
5104 
5105 enum VkSamplerYcbcrModelConversion {
5106     VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY               = 0,
5107     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY             = 1,
5108     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709                  = 2,
5109     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601                  = 3,
5110     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020                 = 4,
5111     VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR           = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5112     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR         = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5113     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR              = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5114     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR              = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5115     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR             = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5116     VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE                = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5117     VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE                  = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5118     VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE                 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 - VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY + 1,
5119     VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM                   = 0x7FFFFFFF
5120 }
5121 
5122 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY              = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY;
5123 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY            = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY;
5124 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709                 = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709;
5125 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601                 = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601;
5126 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020                = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020;
5127 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR          = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR;
5128 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR        = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR;
5129 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR             = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR;
5130 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR             = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR;
5131 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR            = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR;
5132 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE               = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE;
5133 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE                 = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE;
5134 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE                = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE;
5135 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM                  = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM;
5136 
5137 enum VkSamplerYcbcrRange {
5138     VK_SAMPLER_YCBCR_RANGE_ITU_FULL              = 0,
5139     VK_SAMPLER_YCBCR_RANGE_ITU_NARROW            = 1,
5140     VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR          = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5141     VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR        = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5142     VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE           = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5143     VK_SAMPLER_YCBCR_RANGE_END_RANGE             = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5144     VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE            = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW - VK_SAMPLER_YCBCR_RANGE_ITU_FULL + 1,
5145     VK_SAMPLER_YCBCR_RANGE_MAX_ENUM              = 0x7FFFFFFF
5146 }
5147 
5148 enum VK_SAMPLER_YCBCR_RANGE_ITU_FULL             = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_FULL;
5149 enum VK_SAMPLER_YCBCR_RANGE_ITU_NARROW           = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_NARROW;
5150 enum VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR         = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR;
5151 enum VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR       = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR;
5152 enum VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE          = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE;
5153 enum VK_SAMPLER_YCBCR_RANGE_END_RANGE            = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_END_RANGE;
5154 enum VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE           = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE;
5155 enum VK_SAMPLER_YCBCR_RANGE_MAX_ENUM             = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_MAX_ENUM;
5156 
5157 enum VkChromaLocation {
5158     VK_CHROMA_LOCATION_COSITED_EVEN      = 0,
5159     VK_CHROMA_LOCATION_MIDPOINT          = 1,
5160     VK_CHROMA_LOCATION_COSITED_EVEN_KHR  = VK_CHROMA_LOCATION_COSITED_EVEN,
5161     VK_CHROMA_LOCATION_MIDPOINT_KHR      = VK_CHROMA_LOCATION_MIDPOINT,
5162     VK_CHROMA_LOCATION_BEGIN_RANGE       = VK_CHROMA_LOCATION_COSITED_EVEN,
5163     VK_CHROMA_LOCATION_END_RANGE         = VK_CHROMA_LOCATION_MIDPOINT,
5164     VK_CHROMA_LOCATION_RANGE_SIZE        = VK_CHROMA_LOCATION_MIDPOINT - VK_CHROMA_LOCATION_COSITED_EVEN + 1,
5165     VK_CHROMA_LOCATION_MAX_ENUM          = 0x7FFFFFFF
5166 }
5167 
5168 enum VK_CHROMA_LOCATION_COSITED_EVEN     = VkChromaLocation.VK_CHROMA_LOCATION_COSITED_EVEN;
5169 enum VK_CHROMA_LOCATION_MIDPOINT         = VkChromaLocation.VK_CHROMA_LOCATION_MIDPOINT;
5170 enum VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VkChromaLocation.VK_CHROMA_LOCATION_COSITED_EVEN_KHR;
5171 enum VK_CHROMA_LOCATION_MIDPOINT_KHR     = VkChromaLocation.VK_CHROMA_LOCATION_MIDPOINT_KHR;
5172 enum VK_CHROMA_LOCATION_BEGIN_RANGE      = VkChromaLocation.VK_CHROMA_LOCATION_BEGIN_RANGE;
5173 enum VK_CHROMA_LOCATION_END_RANGE        = VkChromaLocation.VK_CHROMA_LOCATION_END_RANGE;
5174 enum VK_CHROMA_LOCATION_RANGE_SIZE       = VkChromaLocation.VK_CHROMA_LOCATION_RANGE_SIZE;
5175 enum VK_CHROMA_LOCATION_MAX_ENUM         = VkChromaLocation.VK_CHROMA_LOCATION_MAX_ENUM;
5176 
5177 enum VkDescriptorUpdateTemplateType {
5178     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET            = 0,
5179     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR      = 1,
5180     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR        = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5181     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE               = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5182     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE                 = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5183     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE                = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET + 1,
5184     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM                  = 0x7FFFFFFF
5185 }
5186 
5187 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET           = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET;
5188 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR     = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR;
5189 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR       = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR;
5190 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE              = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE;
5191 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE                = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE;
5192 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE               = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE;
5193 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM                 = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM;
5194 
5195 enum VkSubgroupFeatureFlagBits {
5196     VK_SUBGROUP_FEATURE_BASIC_BIT                = 0x00000001,
5197     VK_SUBGROUP_FEATURE_VOTE_BIT                 = 0x00000002,
5198     VK_SUBGROUP_FEATURE_ARITHMETIC_BIT           = 0x00000004,
5199     VK_SUBGROUP_FEATURE_BALLOT_BIT               = 0x00000008,
5200     VK_SUBGROUP_FEATURE_SHUFFLE_BIT              = 0x00000010,
5201     VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT     = 0x00000020,
5202     VK_SUBGROUP_FEATURE_CLUSTERED_BIT            = 0x00000040,
5203     VK_SUBGROUP_FEATURE_QUAD_BIT                 = 0x00000080,
5204     VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV       = 0x00000100,
5205     VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM       = 0x7FFFFFFF
5206 }
5207 
5208 enum VK_SUBGROUP_FEATURE_BASIC_BIT               = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_BASIC_BIT;
5209 enum VK_SUBGROUP_FEATURE_VOTE_BIT                = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_VOTE_BIT;
5210 enum VK_SUBGROUP_FEATURE_ARITHMETIC_BIT          = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_ARITHMETIC_BIT;
5211 enum VK_SUBGROUP_FEATURE_BALLOT_BIT              = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_BALLOT_BIT;
5212 enum VK_SUBGROUP_FEATURE_SHUFFLE_BIT             = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_SHUFFLE_BIT;
5213 enum VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT    = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT;
5214 enum VK_SUBGROUP_FEATURE_CLUSTERED_BIT           = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_CLUSTERED_BIT;
5215 enum VK_SUBGROUP_FEATURE_QUAD_BIT                = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_QUAD_BIT;
5216 enum VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV      = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV;
5217 enum VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM      = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM;
5218 alias VkSubgroupFeatureFlags = VkFlags;
5219 
5220 enum VkPeerMemoryFeatureFlagBits {
5221     VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT                  = 0x00000001,
5222     VK_PEER_MEMORY_FEATURE_COPY_DST_BIT                  = 0x00000002,
5223     VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT               = 0x00000004,
5224     VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT               = 0x00000008,
5225     VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR              = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5226     VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR              = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5227     VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR           = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5228     VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR           = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5229     VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
5230 }
5231 
5232 enum VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT                 = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT;
5233 enum VK_PEER_MEMORY_FEATURE_COPY_DST_BIT                 = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_DST_BIT;
5234 enum VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT              = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT;
5235 enum VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT              = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT;
5236 enum VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR             = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR;
5237 enum VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR             = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR;
5238 enum VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR          = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR;
5239 enum VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR          = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR;
5240 enum VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM           = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM;
5241 alias VkPeerMemoryFeatureFlags = VkFlags;
5242 
5243 enum VkMemoryAllocateFlagBits {
5244     VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT                           = 0x00000001,
5245     VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT                        = 0x00000002,
5246     VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT         = 0x00000004,
5247     VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR                       = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5248     VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR                    = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5249     VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR     = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5250     VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM                        = 0x7FFFFFFF
5251 }
5252 
5253 enum VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT                          = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT;
5254 enum VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT                       = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT;
5255 enum VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT        = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT;
5256 enum VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR                      = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR;
5257 enum VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR                   = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR;
5258 enum VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR    = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR;
5259 enum VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM                       = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM;
5260 alias VkMemoryAllocateFlags = VkFlags;
5261 alias VkCommandPoolTrimFlags = VkFlags;
5262 alias VkDescriptorUpdateTemplateCreateFlags = VkFlags;
5263 
5264 enum VkExternalMemoryHandleTypeFlagBits {
5265     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT                         = 0x00000001,
5266     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT                      = 0x00000002,
5267     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT                  = 0x00000004,
5268     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT                     = 0x00000008,
5269     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT                 = 0x00000010,
5270     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT                        = 0x00000020,
5271     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT                    = 0x00000040,
5272     VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT                       = 0x00000200,
5273     VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID   = 0x00000400,
5274     VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT               = 0x00000080,
5275     VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT    = 0x00000100,
5276     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR                     = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5277     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR                  = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5278     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR              = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5279     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR                 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5280     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR             = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5281     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR                    = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5282     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR                = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5283     VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM                    = 0x7FFFFFFF
5284 }
5285 
5286 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT                        = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT;
5287 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT                     = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT;
5288 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT                 = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
5289 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT                    = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT;
5290 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT                = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT;
5291 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT                       = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT;
5292 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT                   = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT;
5293 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT                      = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT;
5294 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID  = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID;
5295 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT              = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT;
5296 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT   = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT;
5297 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR                    = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
5298 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR                 = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
5299 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR             = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
5300 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR                = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR;
5301 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR            = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR;
5302 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR                   = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR;
5303 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR               = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR;
5304 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM                   = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM;
5305 alias VkExternalMemoryHandleTypeFlags = VkFlags;
5306 
5307 enum VkExternalMemoryFeatureFlagBits {
5308     VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT        = 0x00000001,
5309     VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT            = 0x00000002,
5310     VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT            = 0x00000004,
5311     VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR    = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5312     VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR        = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5313     VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR        = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5314     VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM        = 0x7FFFFFFF
5315 }
5316 
5317 enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT       = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT;
5318 enum VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT           = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT;
5319 enum VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT           = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT;
5320 enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR   = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR;
5321 enum VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR       = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR;
5322 enum VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR       = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR;
5323 enum VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM       = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM;
5324 alias VkExternalMemoryFeatureFlags = VkFlags;
5325 
5326 enum VkExternalFenceHandleTypeFlagBits {
5327     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT                  = 0x00000001,
5328     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT               = 0x00000002,
5329     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT           = 0x00000004,
5330     VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT                    = 0x00000008,
5331     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR              = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5332     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR           = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5333     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR       = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5334     VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR                = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5335     VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM             = 0x7FFFFFFF
5336 }
5337 
5338 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT                 = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT;
5339 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT              = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT;
5340 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT          = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
5341 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT                   = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT;
5342 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR             = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
5343 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR          = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
5344 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR      = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
5345 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR               = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
5346 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM            = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM;
5347 alias VkExternalFenceHandleTypeFlags = VkFlags;
5348 
5349 enum VkExternalFenceFeatureFlagBits {
5350     VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT             = 0x00000001,
5351     VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT             = 0x00000002,
5352     VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR         = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5353     VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR         = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5354     VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM         = 0x7FFFFFFF
5355 }
5356 
5357 enum VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT            = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT;
5358 enum VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT            = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT;
5359 enum VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR        = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR;
5360 enum VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR        = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR;
5361 enum VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM        = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM;
5362 alias VkExternalFenceFeatureFlags = VkFlags;
5363 
5364 enum VkFenceImportFlagBits {
5365     VK_FENCE_IMPORT_TEMPORARY_BIT                = 0x00000001,
5366     VK_FENCE_IMPORT_TEMPORARY_BIT_KHR            = VK_FENCE_IMPORT_TEMPORARY_BIT,
5367     VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
5368 }
5369 
5370 enum VK_FENCE_IMPORT_TEMPORARY_BIT               = VkFenceImportFlagBits.VK_FENCE_IMPORT_TEMPORARY_BIT;
5371 enum VK_FENCE_IMPORT_TEMPORARY_BIT_KHR           = VkFenceImportFlagBits.VK_FENCE_IMPORT_TEMPORARY_BIT_KHR;
5372 enum VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM          = VkFenceImportFlagBits.VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM;
5373 alias VkFenceImportFlags = VkFlags;
5374 
5375 enum VkSemaphoreImportFlagBits {
5376     VK_SEMAPHORE_IMPORT_TEMPORARY_BIT            = 0x00000001,
5377     VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR        = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5378     VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM       = 0x7FFFFFFF
5379 }
5380 
5381 enum VK_SEMAPHORE_IMPORT_TEMPORARY_BIT           = VkSemaphoreImportFlagBits.VK_SEMAPHORE_IMPORT_TEMPORARY_BIT;
5382 enum VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR       = VkSemaphoreImportFlagBits.VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR;
5383 enum VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM      = VkSemaphoreImportFlagBits.VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM;
5384 alias VkSemaphoreImportFlags = VkFlags;
5385 
5386 enum VkExternalSemaphoreHandleTypeFlagBits {
5387     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT              = 0x00000001,
5388     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT           = 0x00000002,
5389     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT       = 0x00000004,
5390     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT            = 0x00000008,
5391     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT                = 0x00000010,
5392     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT            = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5393     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR          = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5394     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR       = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5395     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR   = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5396     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR        = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5397     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR            = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5398     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM         = 0x7FFFFFFF
5399 }
5400 
5401 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT             = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT;
5402 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT          = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT;
5403 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT      = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
5404 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT           = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT;
5405 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT               = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
5406 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT           = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT;
5407 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR         = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
5408 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR      = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
5409 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR  = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
5410 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR       = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR;
5411 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR           = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
5412 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM        = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM;
5413 alias VkExternalSemaphoreHandleTypeFlags = VkFlags;
5414 
5415 enum VkExternalSemaphoreFeatureFlagBits {
5416     VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT         = 0x00000001,
5417     VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT         = 0x00000002,
5418     VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR     = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5419     VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR     = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5420     VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
5421 }
5422 
5423 enum VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT        = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT;
5424 enum VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT        = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT;
5425 enum VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR    = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR;
5426 enum VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR    = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR;
5427 enum VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM    = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM;
5428 alias VkExternalSemaphoreFeatureFlags = VkFlags;
5429 
5430 struct VkPhysicalDeviceSubgroupProperties {
5431     VkStructureType         sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
5432     void*                   pNext;
5433     uint32_t                subgroupSize;
5434     VkShaderStageFlags      supportedStages;
5435     VkSubgroupFeatureFlags  supportedOperations;
5436     VkBool32                quadOperationsInAllStages;
5437 }
5438 
5439 struct VkBindBufferMemoryInfo {
5440     VkStructureType  sType = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO;
5441     const( void )*   pNext;
5442     VkBuffer         buffer;
5443     VkDeviceMemory   memory;
5444     VkDeviceSize     memoryOffset;
5445 }
5446 
5447 struct VkBindImageMemoryInfo {
5448     VkStructureType  sType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO;
5449     const( void )*   pNext;
5450     VkImage          image;
5451     VkDeviceMemory   memory;
5452     VkDeviceSize     memoryOffset;
5453 }
5454 
5455 struct VkPhysicalDevice16BitStorageFeatures {
5456     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
5457     void*            pNext;
5458     VkBool32         storageBuffer16BitAccess;
5459     VkBool32         uniformAndStorageBuffer16BitAccess;
5460     VkBool32         storagePushConstant16;
5461     VkBool32         storageInputOutput16;
5462 }
5463 
5464 struct VkMemoryDedicatedRequirements {
5465     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
5466     void*            pNext;
5467     VkBool32         prefersDedicatedAllocation;
5468     VkBool32         requiresDedicatedAllocation;
5469 }
5470 
5471 struct VkMemoryDedicatedAllocateInfo {
5472     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
5473     const( void )*   pNext;
5474     VkImage          image;
5475     VkBuffer         buffer;
5476 }
5477 
5478 struct VkMemoryAllocateFlagsInfo {
5479     VkStructureType        sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO;
5480     const( void )*         pNext;
5481     VkMemoryAllocateFlags  flags;
5482     uint32_t               deviceMask;
5483 }
5484 
5485 struct VkDeviceGroupRenderPassBeginInfo {
5486     VkStructureType     sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO;
5487     const( void )*      pNext;
5488     uint32_t            deviceMask;
5489     uint32_t            deviceRenderAreaCount;
5490     const( VkRect2D )*  pDeviceRenderAreas;
5491 }
5492 
5493 struct VkDeviceGroupCommandBufferBeginInfo {
5494     VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO;
5495     const( void )*   pNext;
5496     uint32_t         deviceMask;
5497 }
5498 
5499 struct VkDeviceGroupSubmitInfo {
5500     VkStructureType     sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO;
5501     const( void )*      pNext;
5502     uint32_t            waitSemaphoreCount;
5503     const( uint32_t )*  pWaitSemaphoreDeviceIndices;
5504     uint32_t            commandBufferCount;
5505     const( uint32_t )*  pCommandBufferDeviceMasks;
5506     uint32_t            signalSemaphoreCount;
5507     const( uint32_t )*  pSignalSemaphoreDeviceIndices;
5508 }
5509 
5510 struct VkDeviceGroupBindSparseInfo {
5511     VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO;
5512     const( void )*   pNext;
5513     uint32_t         resourceDeviceIndex;
5514     uint32_t         memoryDeviceIndex;
5515 }
5516 
5517 struct VkBindBufferMemoryDeviceGroupInfo {
5518     VkStructureType     sType = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO;
5519     const( void )*      pNext;
5520     uint32_t            deviceIndexCount;
5521     const( uint32_t )*  pDeviceIndices;
5522 }
5523 
5524 struct VkBindImageMemoryDeviceGroupInfo {
5525     VkStructureType     sType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO;
5526     const( void )*      pNext;
5527     uint32_t            deviceIndexCount;
5528     const( uint32_t )*  pDeviceIndices;
5529     uint32_t            splitInstanceBindRegionCount;
5530     const( VkRect2D )*  pSplitInstanceBindRegions;
5531 }
5532 
5533 struct VkPhysicalDeviceGroupProperties {
5534     VkStructureType                               sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
5535     void*                                         pNext;
5536     uint32_t                                      physicalDeviceCount;
5537     VkPhysicalDevice[ VK_MAX_DEVICE_GROUP_SIZE ]  physicalDevices;
5538     VkBool32                                      subsetAllocation;
5539 }
5540 
5541 struct VkDeviceGroupDeviceCreateInfo {
5542     VkStructureType             sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO;
5543     const( void )*              pNext;
5544     uint32_t                    physicalDeviceCount;
5545     const( VkPhysicalDevice )*  pPhysicalDevices;
5546 }
5547 
5548 struct VkBufferMemoryRequirementsInfo2 {
5549     VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2;
5550     const( void )*   pNext;
5551     VkBuffer         buffer;
5552 }
5553 
5554 struct VkImageMemoryRequirementsInfo2 {
5555     VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2;
5556     const( void )*   pNext;
5557     VkImage          image;
5558 }
5559 
5560 struct VkImageSparseMemoryRequirementsInfo2 {
5561     VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
5562     const( void )*   pNext;
5563     VkImage          image;
5564 }
5565 
5566 struct VkMemoryRequirements2 {
5567     VkStructureType       sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
5568     void*                 pNext;
5569     VkMemoryRequirements  memoryRequirements;
5570 }
5571 
5572 struct VkSparseImageMemoryRequirements2 {
5573     VkStructureType                  sType = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
5574     void*                            pNext;
5575     VkSparseImageMemoryRequirements  memoryRequirements;
5576 }
5577 
5578 struct VkPhysicalDeviceFeatures2 {
5579     VkStructureType           sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
5580     void*                     pNext;
5581     VkPhysicalDeviceFeatures  features;
5582 }
5583 
5584 struct VkPhysicalDeviceProperties2 {
5585     VkStructureType             sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
5586     void*                       pNext;
5587     VkPhysicalDeviceProperties  properties;
5588 }
5589 
5590 struct VkFormatProperties2 {
5591     VkStructureType     sType = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2;
5592     void*               pNext;
5593     VkFormatProperties  formatProperties;
5594 }
5595 
5596 struct VkImageFormatProperties2 {
5597     VkStructureType          sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
5598     void*                    pNext;
5599     VkImageFormatProperties  imageFormatProperties;
5600 }
5601 
5602 struct VkPhysicalDeviceImageFormatInfo2 {
5603     VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
5604     const( void )*      pNext;
5605     VkFormat            format;
5606     VkImageType         type;
5607     VkImageTiling       tiling;
5608     VkImageUsageFlags   usage;
5609     VkImageCreateFlags  flags;
5610 }
5611 
5612 struct VkQueueFamilyProperties2 {
5613     VkStructureType          sType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2;
5614     void*                    pNext;
5615     VkQueueFamilyProperties  queueFamilyProperties;
5616 }
5617 
5618 struct VkPhysicalDeviceMemoryProperties2 {
5619     VkStructureType                   sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
5620     void*                             pNext;
5621     VkPhysicalDeviceMemoryProperties  memoryProperties;
5622 }
5623 
5624 struct VkSparseImageFormatProperties2 {
5625     VkStructureType                sType = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2;
5626     void*                          pNext;
5627     VkSparseImageFormatProperties  properties;
5628 }
5629 
5630 struct VkPhysicalDeviceSparseImageFormatInfo2 {
5631     VkStructureType        sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
5632     const( void )*         pNext;
5633     VkFormat               format;
5634     VkImageType            type;
5635     VkSampleCountFlagBits  samples;
5636     VkImageUsageFlags      usage;
5637     VkImageTiling          tiling;
5638 }
5639 
5640 struct VkPhysicalDevicePointClippingProperties {
5641     VkStructureType          sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES;
5642     void*                    pNext;
5643     VkPointClippingBehavior  pointClippingBehavior;
5644 }
5645 
5646 struct VkInputAttachmentAspectReference {
5647     uint32_t            subpass;
5648     uint32_t            inputAttachmentIndex;
5649     VkImageAspectFlags  aspectMask;
5650 }
5651 
5652 struct VkRenderPassInputAttachmentAspectCreateInfo {
5653     VkStructureType                             sType = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO;
5654     const( void )*                              pNext;
5655     uint32_t                                    aspectReferenceCount;
5656     const( VkInputAttachmentAspectReference )*  pAspectReferences;
5657 }
5658 
5659 struct VkImageViewUsageCreateInfo {
5660     VkStructureType    sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO;
5661     const( void )*     pNext;
5662     VkImageUsageFlags  usage;
5663 }
5664 
5665 struct VkPipelineTessellationDomainOriginStateCreateInfo {
5666     VkStructureType             sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;
5667     const( void )*              pNext;
5668     VkTessellationDomainOrigin  domainOrigin;
5669 }
5670 
5671 struct VkRenderPassMultiviewCreateInfo {
5672     VkStructureType     sType = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
5673     const( void )*      pNext;
5674     uint32_t            subpassCount;
5675     const( uint32_t )*  pViewMasks;
5676     uint32_t            dependencyCount;
5677     const( int32_t )*   pViewOffsets;
5678     uint32_t            correlationMaskCount;
5679     const( uint32_t )*  pCorrelationMasks;
5680 }
5681 
5682 struct VkPhysicalDeviceMultiviewFeatures {
5683     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES;
5684     void*            pNext;
5685     VkBool32         multiview;
5686     VkBool32         multiviewGeometryShader;
5687     VkBool32         multiviewTessellationShader;
5688 }
5689 
5690 struct VkPhysicalDeviceMultiviewProperties {
5691     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES;
5692     void*            pNext;
5693     uint32_t         maxMultiviewViewCount;
5694     uint32_t         maxMultiviewInstanceIndex;
5695 }
5696 
5697 struct VkPhysicalDeviceVariablePointersFeatures {
5698     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
5699     void*            pNext;
5700     VkBool32         variablePointersStorageBuffer;
5701     VkBool32         variablePointers;
5702 }
5703 alias VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures;
5704 
5705 struct VkPhysicalDeviceProtectedMemoryFeatures {
5706     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES;
5707     void*            pNext;
5708     VkBool32         protectedMemory;
5709 }
5710 
5711 struct VkPhysicalDeviceProtectedMemoryProperties {
5712     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES;
5713     void*            pNext;
5714     VkBool32         protectedNoFault;
5715 }
5716 
5717 struct VkDeviceQueueInfo2 {
5718     VkStructureType           sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2;
5719     const( void )*            pNext;
5720     VkDeviceQueueCreateFlags  flags;
5721     uint32_t                  queueFamilyIndex;
5722     uint32_t                  queueIndex;
5723 }
5724 
5725 struct VkProtectedSubmitInfo {
5726     VkStructureType  sType = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO;
5727     const( void )*   pNext;
5728     VkBool32         protectedSubmit;
5729 }
5730 
5731 struct VkSamplerYcbcrConversionCreateInfo {
5732     VkStructureType                sType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
5733     const( void )*                 pNext;
5734     VkFormat                       format;
5735     VkSamplerYcbcrModelConversion  ycbcrModel;
5736     VkSamplerYcbcrRange            ycbcrRange;
5737     VkComponentMapping             components;
5738     VkChromaLocation               xChromaOffset;
5739     VkChromaLocation               yChromaOffset;
5740     VkFilter                       chromaFilter;
5741     VkBool32                       forceExplicitReconstruction;
5742 }
5743 
5744 struct VkSamplerYcbcrConversionInfo {
5745     VkStructureType           sType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO;
5746     const( void )*            pNext;
5747     VkSamplerYcbcrConversion  conversion;
5748 }
5749 
5750 struct VkBindImagePlaneMemoryInfo {
5751     VkStructureType        sType = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO;
5752     const( void )*         pNext;
5753     VkImageAspectFlagBits  planeAspect;
5754 }
5755 
5756 struct VkImagePlaneMemoryRequirementsInfo {
5757     VkStructureType        sType = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
5758     const( void )*         pNext;
5759     VkImageAspectFlagBits  planeAspect;
5760 }
5761 
5762 struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5763     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
5764     void*            pNext;
5765     VkBool32         samplerYcbcrConversion;
5766 }
5767 
5768 struct VkSamplerYcbcrConversionImageFormatProperties {
5769     VkStructureType  sType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
5770     void*            pNext;
5771     uint32_t         combinedImageSamplerDescriptorCount;
5772 }
5773 
5774 struct VkDescriptorUpdateTemplateEntry {
5775     uint32_t          dstBinding;
5776     uint32_t          dstArrayElement;
5777     uint32_t          descriptorCount;
5778     VkDescriptorType  descriptorType;
5779     size_t            offset;
5780     size_t            stride;
5781 }
5782 
5783 struct VkDescriptorUpdateTemplateCreateInfo {
5784     VkStructureType                            sType = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO;
5785     const( void )*                             pNext;
5786     VkDescriptorUpdateTemplateCreateFlags      flags;
5787     uint32_t                                   descriptorUpdateEntryCount;
5788     const( VkDescriptorUpdateTemplateEntry )*  pDescriptorUpdateEntries;
5789     VkDescriptorUpdateTemplateType             templateType;
5790     VkDescriptorSetLayout                      descriptorSetLayout;
5791     VkPipelineBindPoint                        pipelineBindPoint;
5792     VkPipelineLayout                           pipelineLayout;
5793     uint32_t                                   set;
5794 }
5795 
5796 struct VkExternalMemoryProperties {
5797     VkExternalMemoryFeatureFlags     externalMemoryFeatures;
5798     VkExternalMemoryHandleTypeFlags  exportFromImportedHandleTypes;
5799     VkExternalMemoryHandleTypeFlags  compatibleHandleTypes;
5800 }
5801 
5802 struct VkPhysicalDeviceExternalImageFormatInfo {
5803     VkStructureType                     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
5804     const( void )*                      pNext;
5805     VkExternalMemoryHandleTypeFlagBits  handleType;
5806 }
5807 
5808 struct VkExternalImageFormatProperties {
5809     VkStructureType             sType = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES;
5810     void*                       pNext;
5811     VkExternalMemoryProperties  externalMemoryProperties;
5812 }
5813 
5814 struct VkPhysicalDeviceExternalBufferInfo {
5815     VkStructureType                     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
5816     const( void )*                      pNext;
5817     VkBufferCreateFlags                 flags;
5818     VkBufferUsageFlags                  usage;
5819     VkExternalMemoryHandleTypeFlagBits  handleType;
5820 }
5821 
5822 struct VkExternalBufferProperties {
5823     VkStructureType             sType = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES;
5824     void*                       pNext;
5825     VkExternalMemoryProperties  externalMemoryProperties;
5826 }
5827 
5828 struct VkPhysicalDeviceIDProperties {
5829     VkStructureType          sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES;
5830     void*                    pNext;
5831     uint8_t[ VK_UUID_SIZE ]  deviceUUID;
5832     uint8_t[ VK_UUID_SIZE ]  driverUUID;
5833     uint8_t[ VK_LUID_SIZE ]  deviceLUID;
5834     uint32_t                 deviceNodeMask;
5835     VkBool32                 deviceLUIDValid;
5836 }
5837 
5838 struct VkExternalMemoryImageCreateInfo {
5839     VkStructureType                  sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
5840     const( void )*                   pNext;
5841     VkExternalMemoryHandleTypeFlags  handleTypes;
5842 }
5843 
5844 struct VkExternalMemoryBufferCreateInfo {
5845     VkStructureType                  sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO;
5846     const( void )*                   pNext;
5847     VkExternalMemoryHandleTypeFlags  handleTypes;
5848 }
5849 
5850 struct VkExportMemoryAllocateInfo {
5851     VkStructureType                  sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO;
5852     const( void )*                   pNext;
5853     VkExternalMemoryHandleTypeFlags  handleTypes;
5854 }
5855 
5856 struct VkPhysicalDeviceExternalFenceInfo {
5857     VkStructureType                    sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
5858     const( void )*                     pNext;
5859     VkExternalFenceHandleTypeFlagBits  handleType;
5860 }
5861 
5862 struct VkExternalFenceProperties {
5863     VkStructureType                 sType = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES;
5864     void*                           pNext;
5865     VkExternalFenceHandleTypeFlags  exportFromImportedHandleTypes;
5866     VkExternalFenceHandleTypeFlags  compatibleHandleTypes;
5867     VkExternalFenceFeatureFlags     externalFenceFeatures;
5868 }
5869 
5870 struct VkExportFenceCreateInfo {
5871     VkStructureType                 sType = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO;
5872     const( void )*                  pNext;
5873     VkExternalFenceHandleTypeFlags  handleTypes;
5874 }
5875 
5876 struct VkExportSemaphoreCreateInfo {
5877     VkStructureType                     sType = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO;
5878     const( void )*                      pNext;
5879     VkExternalSemaphoreHandleTypeFlags  handleTypes;
5880 }
5881 
5882 struct VkPhysicalDeviceExternalSemaphoreInfo {
5883     VkStructureType                        sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
5884     const( void )*                         pNext;
5885     VkExternalSemaphoreHandleTypeFlagBits  handleType;
5886 }
5887 
5888 struct VkExternalSemaphoreProperties {
5889     VkStructureType                     sType = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES;
5890     void*                               pNext;
5891     VkExternalSemaphoreHandleTypeFlags  exportFromImportedHandleTypes;
5892     VkExternalSemaphoreHandleTypeFlags  compatibleHandleTypes;
5893     VkExternalSemaphoreFeatureFlags     externalSemaphoreFeatures;
5894 }
5895 
5896 struct VkPhysicalDeviceMaintenance3Properties {
5897     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES;
5898     void*            pNext;
5899     uint32_t         maxPerSetDescriptors;
5900     VkDeviceSize     maxMemoryAllocationSize;
5901 }
5902 
5903 struct VkDescriptorSetLayoutSupport {
5904     VkStructureType  sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT;
5905     void*            pNext;
5906     VkBool32         supported;
5907 }
5908 
5909 struct VkPhysicalDeviceShaderDrawParametersFeatures {
5910     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
5911     void*            pNext;
5912     VkBool32         shaderDrawParameters;
5913 }
5914 alias VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures;
5915 
5916 
5917 // - VK_VERSION_1_2 -
5918 enum VK_VERSION_1_2 = 1;
5919 
5920 // Vulkan 1.2 version number
5921 enum VK_API_VERSION_1_2 = VK_MAKE_VERSION( 1, 2, 0 );  // Patch version should always be set to 0
5922 
5923 enum VK_MAX_DRIVER_NAME_SIZE = 256;
5924 enum VK_MAX_DRIVER_INFO_SIZE = 256;
5925 
5926 enum VkDriverId {
5927     VK_DRIVER_ID_AMD_PROPRIETARY                 = 1,
5928     VK_DRIVER_ID_AMD_OPEN_SOURCE                 = 2,
5929     VK_DRIVER_ID_MESA_RADV                       = 3,
5930     VK_DRIVER_ID_NVIDIA_PROPRIETARY              = 4,
5931     VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS       = 5,
5932     VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA          = 6,
5933     VK_DRIVER_ID_IMAGINATION_PROPRIETARY         = 7,
5934     VK_DRIVER_ID_QUALCOMM_PROPRIETARY            = 8,
5935     VK_DRIVER_ID_ARM_PROPRIETARY                 = 9,
5936     VK_DRIVER_ID_GOOGLE_SWIFTSHADER              = 10,
5937     VK_DRIVER_ID_GGP_PROPRIETARY                 = 11,
5938     VK_DRIVER_ID_BROADCOM_PROPRIETARY            = 12,
5939     VK_DRIVER_ID_MESA_LLVMPIPE                   = 13,
5940     VK_DRIVER_ID_MOLTENVK                        = 14,
5941     VK_DRIVER_ID_AMD_PROPRIETARY_KHR             = VK_DRIVER_ID_AMD_PROPRIETARY,
5942     VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR             = VK_DRIVER_ID_AMD_OPEN_SOURCE,
5943     VK_DRIVER_ID_MESA_RADV_KHR                   = VK_DRIVER_ID_MESA_RADV,
5944     VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR          = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
5945     VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR   = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
5946     VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR      = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
5947     VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR     = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
5948     VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR        = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
5949     VK_DRIVER_ID_ARM_PROPRIETARY_KHR             = VK_DRIVER_ID_ARM_PROPRIETARY,
5950     VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR          = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
5951     VK_DRIVER_ID_GGP_PROPRIETARY_KHR             = VK_DRIVER_ID_GGP_PROPRIETARY,
5952     VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR        = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
5953     VK_DRIVER_ID_BEGIN_RANGE                     = VK_DRIVER_ID_AMD_PROPRIETARY,
5954     VK_DRIVER_ID_END_RANGE                       = VK_DRIVER_ID_MOLTENVK,
5955     VK_DRIVER_ID_RANGE_SIZE                      = VK_DRIVER_ID_MOLTENVK - VK_DRIVER_ID_AMD_PROPRIETARY + 1,
5956     VK_DRIVER_ID_MAX_ENUM                        = 0x7FFFFFFF
5957 }
5958 
5959 enum VK_DRIVER_ID_AMD_PROPRIETARY                = VkDriverId.VK_DRIVER_ID_AMD_PROPRIETARY;
5960 enum VK_DRIVER_ID_AMD_OPEN_SOURCE                = VkDriverId.VK_DRIVER_ID_AMD_OPEN_SOURCE;
5961 enum VK_DRIVER_ID_MESA_RADV                      = VkDriverId.VK_DRIVER_ID_MESA_RADV;
5962 enum VK_DRIVER_ID_NVIDIA_PROPRIETARY             = VkDriverId.VK_DRIVER_ID_NVIDIA_PROPRIETARY;
5963 enum VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS      = VkDriverId.VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS;
5964 enum VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA         = VkDriverId.VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA;
5965 enum VK_DRIVER_ID_IMAGINATION_PROPRIETARY        = VkDriverId.VK_DRIVER_ID_IMAGINATION_PROPRIETARY;
5966 enum VK_DRIVER_ID_QUALCOMM_PROPRIETARY           = VkDriverId.VK_DRIVER_ID_QUALCOMM_PROPRIETARY;
5967 enum VK_DRIVER_ID_ARM_PROPRIETARY                = VkDriverId.VK_DRIVER_ID_ARM_PROPRIETARY;
5968 enum VK_DRIVER_ID_GOOGLE_SWIFTSHADER             = VkDriverId.VK_DRIVER_ID_GOOGLE_SWIFTSHADER;
5969 enum VK_DRIVER_ID_GGP_PROPRIETARY                = VkDriverId.VK_DRIVER_ID_GGP_PROPRIETARY;
5970 enum VK_DRIVER_ID_BROADCOM_PROPRIETARY           = VkDriverId.VK_DRIVER_ID_BROADCOM_PROPRIETARY;
5971 enum VK_DRIVER_ID_MESA_LLVMPIPE                  = VkDriverId.VK_DRIVER_ID_MESA_LLVMPIPE;
5972 enum VK_DRIVER_ID_MOLTENVK                       = VkDriverId.VK_DRIVER_ID_MOLTENVK;
5973 enum VK_DRIVER_ID_AMD_PROPRIETARY_KHR            = VkDriverId.VK_DRIVER_ID_AMD_PROPRIETARY_KHR;
5974 enum VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR            = VkDriverId.VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR;
5975 enum VK_DRIVER_ID_MESA_RADV_KHR                  = VkDriverId.VK_DRIVER_ID_MESA_RADV_KHR;
5976 enum VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR         = VkDriverId.VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR;
5977 enum VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR  = VkDriverId.VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR;
5978 enum VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR     = VkDriverId.VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR;
5979 enum VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR    = VkDriverId.VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR;
5980 enum VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR       = VkDriverId.VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR;
5981 enum VK_DRIVER_ID_ARM_PROPRIETARY_KHR            = VkDriverId.VK_DRIVER_ID_ARM_PROPRIETARY_KHR;
5982 enum VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR         = VkDriverId.VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR;
5983 enum VK_DRIVER_ID_GGP_PROPRIETARY_KHR            = VkDriverId.VK_DRIVER_ID_GGP_PROPRIETARY_KHR;
5984 enum VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR       = VkDriverId.VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR;
5985 enum VK_DRIVER_ID_BEGIN_RANGE                    = VkDriverId.VK_DRIVER_ID_BEGIN_RANGE;
5986 enum VK_DRIVER_ID_END_RANGE                      = VkDriverId.VK_DRIVER_ID_END_RANGE;
5987 enum VK_DRIVER_ID_RANGE_SIZE                     = VkDriverId.VK_DRIVER_ID_RANGE_SIZE;
5988 enum VK_DRIVER_ID_MAX_ENUM                       = VkDriverId.VK_DRIVER_ID_MAX_ENUM;
5989 
5990 enum VkShaderFloatControlsIndependence {
5991     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY            = 0,
5992     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL                    = 1,
5993     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE                   = 2,
5994     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR        = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
5995     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR                = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
5996     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR               = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
5997     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_BEGIN_RANGE            = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
5998     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_END_RANGE              = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
5999     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_RANGE_SIZE             = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE - VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY + 1,
6000     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM               = 0x7FFFFFFF
6001 }
6002 
6003 enum VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY           = VkShaderFloatControlsIndependence.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY;
6004 enum VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL                   = VkShaderFloatControlsIndependence.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL;
6005 enum VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE                  = VkShaderFloatControlsIndependence.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE;
6006 enum VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR       = VkShaderFloatControlsIndependence.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR;
6007 enum VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR               = VkShaderFloatControlsIndependence.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR;
6008 enum VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR              = VkShaderFloatControlsIndependence.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR;
6009 enum VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_BEGIN_RANGE           = VkShaderFloatControlsIndependence.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_BEGIN_RANGE;
6010 enum VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_END_RANGE             = VkShaderFloatControlsIndependence.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_END_RANGE;
6011 enum VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_RANGE_SIZE            = VkShaderFloatControlsIndependence.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_RANGE_SIZE;
6012 enum VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM              = VkShaderFloatControlsIndependence.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM;
6013 
6014 enum VkSamplerReductionMode {
6015     VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE           = 0,
6016     VK_SAMPLER_REDUCTION_MODE_MIN                        = 1,
6017     VK_SAMPLER_REDUCTION_MODE_MAX                        = 2,
6018     VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT       = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6019     VK_SAMPLER_REDUCTION_MODE_MIN_EXT                    = VK_SAMPLER_REDUCTION_MODE_MIN,
6020     VK_SAMPLER_REDUCTION_MODE_MAX_EXT                    = VK_SAMPLER_REDUCTION_MODE_MAX,
6021     VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE                = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6022     VK_SAMPLER_REDUCTION_MODE_END_RANGE                  = VK_SAMPLER_REDUCTION_MODE_MAX,
6023     VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE                 = VK_SAMPLER_REDUCTION_MODE_MAX - VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE + 1,
6024     VK_SAMPLER_REDUCTION_MODE_MAX_ENUM                   = 0x7FFFFFFF
6025 }
6026 
6027 enum VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE          = VkSamplerReductionMode.VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE;
6028 enum VK_SAMPLER_REDUCTION_MODE_MIN                       = VkSamplerReductionMode.VK_SAMPLER_REDUCTION_MODE_MIN;
6029 enum VK_SAMPLER_REDUCTION_MODE_MAX                       = VkSamplerReductionMode.VK_SAMPLER_REDUCTION_MODE_MAX;
6030 enum VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT      = VkSamplerReductionMode.VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT;
6031 enum VK_SAMPLER_REDUCTION_MODE_MIN_EXT                   = VkSamplerReductionMode.VK_SAMPLER_REDUCTION_MODE_MIN_EXT;
6032 enum VK_SAMPLER_REDUCTION_MODE_MAX_EXT                   = VkSamplerReductionMode.VK_SAMPLER_REDUCTION_MODE_MAX_EXT;
6033 enum VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE               = VkSamplerReductionMode.VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE;
6034 enum VK_SAMPLER_REDUCTION_MODE_END_RANGE                 = VkSamplerReductionMode.VK_SAMPLER_REDUCTION_MODE_END_RANGE;
6035 enum VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE                = VkSamplerReductionMode.VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE;
6036 enum VK_SAMPLER_REDUCTION_MODE_MAX_ENUM                  = VkSamplerReductionMode.VK_SAMPLER_REDUCTION_MODE_MAX_ENUM;
6037 
6038 enum VkSemaphoreType {
6039     VK_SEMAPHORE_TYPE_BINARY             = 0,
6040     VK_SEMAPHORE_TYPE_TIMELINE           = 1,
6041     VK_SEMAPHORE_TYPE_BINARY_KHR         = VK_SEMAPHORE_TYPE_BINARY,
6042     VK_SEMAPHORE_TYPE_TIMELINE_KHR       = VK_SEMAPHORE_TYPE_TIMELINE,
6043     VK_SEMAPHORE_TYPE_BEGIN_RANGE        = VK_SEMAPHORE_TYPE_BINARY,
6044     VK_SEMAPHORE_TYPE_END_RANGE          = VK_SEMAPHORE_TYPE_TIMELINE,
6045     VK_SEMAPHORE_TYPE_RANGE_SIZE         = VK_SEMAPHORE_TYPE_TIMELINE - VK_SEMAPHORE_TYPE_BINARY + 1,
6046     VK_SEMAPHORE_TYPE_MAX_ENUM           = 0x7FFFFFFF
6047 }
6048 
6049 enum VK_SEMAPHORE_TYPE_BINARY            = VkSemaphoreType.VK_SEMAPHORE_TYPE_BINARY;
6050 enum VK_SEMAPHORE_TYPE_TIMELINE          = VkSemaphoreType.VK_SEMAPHORE_TYPE_TIMELINE;
6051 enum VK_SEMAPHORE_TYPE_BINARY_KHR        = VkSemaphoreType.VK_SEMAPHORE_TYPE_BINARY_KHR;
6052 enum VK_SEMAPHORE_TYPE_TIMELINE_KHR      = VkSemaphoreType.VK_SEMAPHORE_TYPE_TIMELINE_KHR;
6053 enum VK_SEMAPHORE_TYPE_BEGIN_RANGE       = VkSemaphoreType.VK_SEMAPHORE_TYPE_BEGIN_RANGE;
6054 enum VK_SEMAPHORE_TYPE_END_RANGE         = VkSemaphoreType.VK_SEMAPHORE_TYPE_END_RANGE;
6055 enum VK_SEMAPHORE_TYPE_RANGE_SIZE        = VkSemaphoreType.VK_SEMAPHORE_TYPE_RANGE_SIZE;
6056 enum VK_SEMAPHORE_TYPE_MAX_ENUM          = VkSemaphoreType.VK_SEMAPHORE_TYPE_MAX_ENUM;
6057 
6058 enum VkResolveModeFlagBits {
6059     VK_RESOLVE_MODE_NONE                         = 0,
6060     VK_RESOLVE_MODE_SAMPLE_ZERO_BIT              = 0x00000001,
6061     VK_RESOLVE_MODE_AVERAGE_BIT                  = 0x00000002,
6062     VK_RESOLVE_MODE_MIN_BIT                      = 0x00000004,
6063     VK_RESOLVE_MODE_MAX_BIT                      = 0x00000008,
6064     VK_RESOLVE_MODE_NONE_KHR                     = VK_RESOLVE_MODE_NONE,
6065     VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR          = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6066     VK_RESOLVE_MODE_AVERAGE_BIT_KHR              = VK_RESOLVE_MODE_AVERAGE_BIT,
6067     VK_RESOLVE_MODE_MIN_BIT_KHR                  = VK_RESOLVE_MODE_MIN_BIT,
6068     VK_RESOLVE_MODE_MAX_BIT_KHR                  = VK_RESOLVE_MODE_MAX_BIT,
6069     VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
6070 }
6071 
6072 enum VK_RESOLVE_MODE_NONE                        = VkResolveModeFlagBits.VK_RESOLVE_MODE_NONE;
6073 enum VK_RESOLVE_MODE_SAMPLE_ZERO_BIT             = VkResolveModeFlagBits.VK_RESOLVE_MODE_SAMPLE_ZERO_BIT;
6074 enum VK_RESOLVE_MODE_AVERAGE_BIT                 = VkResolveModeFlagBits.VK_RESOLVE_MODE_AVERAGE_BIT;
6075 enum VK_RESOLVE_MODE_MIN_BIT                     = VkResolveModeFlagBits.VK_RESOLVE_MODE_MIN_BIT;
6076 enum VK_RESOLVE_MODE_MAX_BIT                     = VkResolveModeFlagBits.VK_RESOLVE_MODE_MAX_BIT;
6077 enum VK_RESOLVE_MODE_NONE_KHR                    = VkResolveModeFlagBits.VK_RESOLVE_MODE_NONE_KHR;
6078 enum VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR         = VkResolveModeFlagBits.VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR;
6079 enum VK_RESOLVE_MODE_AVERAGE_BIT_KHR             = VkResolveModeFlagBits.VK_RESOLVE_MODE_AVERAGE_BIT_KHR;
6080 enum VK_RESOLVE_MODE_MIN_BIT_KHR                 = VkResolveModeFlagBits.VK_RESOLVE_MODE_MIN_BIT_KHR;
6081 enum VK_RESOLVE_MODE_MAX_BIT_KHR                 = VkResolveModeFlagBits.VK_RESOLVE_MODE_MAX_BIT_KHR;
6082 enum VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM          = VkResolveModeFlagBits.VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM;
6083 alias VkResolveModeFlags = VkFlags;
6084 
6085 enum VkDescriptorBindingFlagBits {
6086     VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT                  = 0x00000001,
6087     VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT        = 0x00000002,
6088     VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT                    = 0x00000004,
6089     VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT          = 0x00000008,
6090     VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT              = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6091     VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT    = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6092     VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT                = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6093     VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT      = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6094     VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM                     = 0x7FFFFFFF
6095 }
6096 
6097 enum VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT                 = VkDescriptorBindingFlagBits.VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT;
6098 enum VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT       = VkDescriptorBindingFlagBits.VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT;
6099 enum VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT                   = VkDescriptorBindingFlagBits.VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT;
6100 enum VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT         = VkDescriptorBindingFlagBits.VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT;
6101 enum VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT             = VkDescriptorBindingFlagBits.VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT;
6102 enum VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT   = VkDescriptorBindingFlagBits.VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT;
6103 enum VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT               = VkDescriptorBindingFlagBits.VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT;
6104 enum VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT     = VkDescriptorBindingFlagBits.VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT;
6105 enum VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM                    = VkDescriptorBindingFlagBits.VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM;
6106 alias VkDescriptorBindingFlags = VkFlags;
6107 
6108 enum VkSemaphoreWaitFlagBits {
6109     VK_SEMAPHORE_WAIT_ANY_BIT                    = 0x00000001,
6110     VK_SEMAPHORE_WAIT_ANY_BIT_KHR                = VK_SEMAPHORE_WAIT_ANY_BIT,
6111     VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM         = 0x7FFFFFFF
6112 }
6113 
6114 enum VK_SEMAPHORE_WAIT_ANY_BIT                   = VkSemaphoreWaitFlagBits.VK_SEMAPHORE_WAIT_ANY_BIT;
6115 enum VK_SEMAPHORE_WAIT_ANY_BIT_KHR               = VkSemaphoreWaitFlagBits.VK_SEMAPHORE_WAIT_ANY_BIT_KHR;
6116 enum VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM        = VkSemaphoreWaitFlagBits.VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM;
6117 alias VkSemaphoreWaitFlags = VkFlags;
6118 
6119 struct VkPhysicalDeviceVulkan11Features {
6120     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES;
6121     void*            pNext;
6122     VkBool32         storageBuffer16BitAccess;
6123     VkBool32         uniformAndStorageBuffer16BitAccess;
6124     VkBool32         storagePushConstant16;
6125     VkBool32         storageInputOutput16;
6126     VkBool32         multiview;
6127     VkBool32         multiviewGeometryShader;
6128     VkBool32         multiviewTessellationShader;
6129     VkBool32         variablePointersStorageBuffer;
6130     VkBool32         variablePointers;
6131     VkBool32         protectedMemory;
6132     VkBool32         samplerYcbcrConversion;
6133     VkBool32         shaderDrawParameters;
6134 }
6135 
6136 struct VkPhysicalDeviceVulkan11Properties {
6137     VkStructureType          sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES;
6138     void*                    pNext;
6139     uint8_t[ VK_UUID_SIZE ]  deviceUUID;
6140     uint8_t[ VK_UUID_SIZE ]  driverUUID;
6141     uint8_t[ VK_LUID_SIZE ]  deviceLUID;
6142     uint32_t                 deviceNodeMask;
6143     VkBool32                 deviceLUIDValid;
6144     uint32_t                 subgroupSize;
6145     VkShaderStageFlags       subgroupSupportedStages;
6146     VkSubgroupFeatureFlags   subgroupSupportedOperations;
6147     VkBool32                 subgroupQuadOperationsInAllStages;
6148     VkPointClippingBehavior  pointClippingBehavior;
6149     uint32_t                 maxMultiviewViewCount;
6150     uint32_t                 maxMultiviewInstanceIndex;
6151     VkBool32                 protectedNoFault;
6152     uint32_t                 maxPerSetDescriptors;
6153     VkDeviceSize             maxMemoryAllocationSize;
6154 }
6155 
6156 struct VkPhysicalDeviceVulkan12Features {
6157     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES;
6158     void*            pNext;
6159     VkBool32         samplerMirrorClampToEdge;
6160     VkBool32         drawIndirectCount;
6161     VkBool32         storageBuffer8BitAccess;
6162     VkBool32         uniformAndStorageBuffer8BitAccess;
6163     VkBool32         storagePushConstant8;
6164     VkBool32         shaderBufferInt64Atomics;
6165     VkBool32         shaderSharedInt64Atomics;
6166     VkBool32         shaderFloat16;
6167     VkBool32         shaderInt8;
6168     VkBool32         descriptorIndexing;
6169     VkBool32         shaderInputAttachmentArrayDynamicIndexing;
6170     VkBool32         shaderUniformTexelBufferArrayDynamicIndexing;
6171     VkBool32         shaderStorageTexelBufferArrayDynamicIndexing;
6172     VkBool32         shaderUniformBufferArrayNonUniformIndexing;
6173     VkBool32         shaderSampledImageArrayNonUniformIndexing;
6174     VkBool32         shaderStorageBufferArrayNonUniformIndexing;
6175     VkBool32         shaderStorageImageArrayNonUniformIndexing;
6176     VkBool32         shaderInputAttachmentArrayNonUniformIndexing;
6177     VkBool32         shaderUniformTexelBufferArrayNonUniformIndexing;
6178     VkBool32         shaderStorageTexelBufferArrayNonUniformIndexing;
6179     VkBool32         descriptorBindingUniformBufferUpdateAfterBind;
6180     VkBool32         descriptorBindingSampledImageUpdateAfterBind;
6181     VkBool32         descriptorBindingStorageImageUpdateAfterBind;
6182     VkBool32         descriptorBindingStorageBufferUpdateAfterBind;
6183     VkBool32         descriptorBindingUniformTexelBufferUpdateAfterBind;
6184     VkBool32         descriptorBindingStorageTexelBufferUpdateAfterBind;
6185     VkBool32         descriptorBindingUpdateUnusedWhilePending;
6186     VkBool32         descriptorBindingPartiallyBound;
6187     VkBool32         descriptorBindingVariableDescriptorCount;
6188     VkBool32         runtimeDescriptorArray;
6189     VkBool32         samplerFilterMinmax;
6190     VkBool32         scalarBlockLayout;
6191     VkBool32         imagelessFramebuffer;
6192     VkBool32         uniformBufferStandardLayout;
6193     VkBool32         shaderSubgroupExtendedTypes;
6194     VkBool32         separateDepthStencilLayouts;
6195     VkBool32         hostQueryReset;
6196     VkBool32         timelineSemaphore;
6197     VkBool32         bufferDeviceAddress;
6198     VkBool32         bufferDeviceAddressCaptureReplay;
6199     VkBool32         bufferDeviceAddressMultiDevice;
6200     VkBool32         vulkanMemoryModel;
6201     VkBool32         vulkanMemoryModelDeviceScope;
6202     VkBool32         vulkanMemoryModelAvailabilityVisibilityChains;
6203     VkBool32         shaderOutputViewportIndex;
6204     VkBool32         shaderOutputLayer;
6205     VkBool32         subgroupBroadcastDynamicId;
6206 }
6207 
6208 struct VkConformanceVersion {
6209     uint8_t  major;
6210     uint8_t  minor;
6211     uint8_t  subminor;
6212     uint8_t  patch;
6213 }
6214 
6215 struct VkPhysicalDeviceVulkan12Properties {
6216     VkStructureType                    sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES;
6217     void*                              pNext;
6218     VkDriverId                         driverID;
6219     char[ VK_MAX_DRIVER_NAME_SIZE ]    driverName;
6220     char[ VK_MAX_DRIVER_INFO_SIZE ]    driverInfo;
6221     VkConformanceVersion               conformanceVersion;
6222     VkShaderFloatControlsIndependence  denormBehaviorIndependence;
6223     VkShaderFloatControlsIndependence  roundingModeIndependence;
6224     VkBool32                           shaderSignedZeroInfNanPreserveFloat16;
6225     VkBool32                           shaderSignedZeroInfNanPreserveFloat32;
6226     VkBool32                           shaderSignedZeroInfNanPreserveFloat64;
6227     VkBool32                           shaderDenormPreserveFloat16;
6228     VkBool32                           shaderDenormPreserveFloat32;
6229     VkBool32                           shaderDenormPreserveFloat64;
6230     VkBool32                           shaderDenormFlushToZeroFloat16;
6231     VkBool32                           shaderDenormFlushToZeroFloat32;
6232     VkBool32                           shaderDenormFlushToZeroFloat64;
6233     VkBool32                           shaderRoundingModeRTEFloat16;
6234     VkBool32                           shaderRoundingModeRTEFloat32;
6235     VkBool32                           shaderRoundingModeRTEFloat64;
6236     VkBool32                           shaderRoundingModeRTZFloat16;
6237     VkBool32                           shaderRoundingModeRTZFloat32;
6238     VkBool32                           shaderRoundingModeRTZFloat64;
6239     uint32_t                           maxUpdateAfterBindDescriptorsInAllPools;
6240     VkBool32                           shaderUniformBufferArrayNonUniformIndexingNative;
6241     VkBool32                           shaderSampledImageArrayNonUniformIndexingNative;
6242     VkBool32                           shaderStorageBufferArrayNonUniformIndexingNative;
6243     VkBool32                           shaderStorageImageArrayNonUniformIndexingNative;
6244     VkBool32                           shaderInputAttachmentArrayNonUniformIndexingNative;
6245     VkBool32                           robustBufferAccessUpdateAfterBind;
6246     VkBool32                           quadDivergentImplicitLod;
6247     uint32_t                           maxPerStageDescriptorUpdateAfterBindSamplers;
6248     uint32_t                           maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6249     uint32_t                           maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6250     uint32_t                           maxPerStageDescriptorUpdateAfterBindSampledImages;
6251     uint32_t                           maxPerStageDescriptorUpdateAfterBindStorageImages;
6252     uint32_t                           maxPerStageDescriptorUpdateAfterBindInputAttachments;
6253     uint32_t                           maxPerStageUpdateAfterBindResources;
6254     uint32_t                           maxDescriptorSetUpdateAfterBindSamplers;
6255     uint32_t                           maxDescriptorSetUpdateAfterBindUniformBuffers;
6256     uint32_t                           maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6257     uint32_t                           maxDescriptorSetUpdateAfterBindStorageBuffers;
6258     uint32_t                           maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6259     uint32_t                           maxDescriptorSetUpdateAfterBindSampledImages;
6260     uint32_t                           maxDescriptorSetUpdateAfterBindStorageImages;
6261     uint32_t                           maxDescriptorSetUpdateAfterBindInputAttachments;
6262     VkResolveModeFlags                 supportedDepthResolveModes;
6263     VkResolveModeFlags                 supportedStencilResolveModes;
6264     VkBool32                           independentResolveNone;
6265     VkBool32                           independentResolve;
6266     VkBool32                           filterMinmaxSingleComponentFormats;
6267     VkBool32                           filterMinmaxImageComponentMapping;
6268     uint64_t                           maxTimelineSemaphoreValueDifference;
6269     VkSampleCountFlags                 framebufferIntegerColorSampleCounts;
6270 }
6271 
6272 struct VkImageFormatListCreateInfo {
6273     VkStructureType     sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO;
6274     const( void )*      pNext;
6275     uint32_t            viewFormatCount;
6276     const( VkFormat )*  pViewFormats;
6277 }
6278 
6279 struct VkAttachmentDescription2 {
6280     VkStructureType               sType = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2;
6281     const( void )*                pNext;
6282     VkAttachmentDescriptionFlags  flags;
6283     VkFormat                      format;
6284     VkSampleCountFlagBits         samples;
6285     VkAttachmentLoadOp            loadOp;
6286     VkAttachmentStoreOp           storeOp;
6287     VkAttachmentLoadOp            stencilLoadOp;
6288     VkAttachmentStoreOp           stencilStoreOp;
6289     VkImageLayout                 initialLayout;
6290     VkImageLayout                 finalLayout;
6291 }
6292 
6293 struct VkAttachmentReference2 {
6294     VkStructureType     sType = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2;
6295     const( void )*      pNext;
6296     uint32_t            attachment;
6297     VkImageLayout       layout;
6298     VkImageAspectFlags  aspectMask;
6299 }
6300 
6301 struct VkSubpassDescription2 {
6302     VkStructureType                   sType = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2;
6303     const( void )*                    pNext;
6304     VkSubpassDescriptionFlags         flags;
6305     VkPipelineBindPoint               pipelineBindPoint;
6306     uint32_t                          viewMask;
6307     uint32_t                          inputAttachmentCount;
6308     const( VkAttachmentReference2 )*  pInputAttachments;
6309     uint32_t                          colorAttachmentCount;
6310     const( VkAttachmentReference2 )*  pColorAttachments;
6311     const( VkAttachmentReference2 )*  pResolveAttachments;
6312     const( VkAttachmentReference2 )*  pDepthStencilAttachment;
6313     uint32_t                          preserveAttachmentCount;
6314     const( uint32_t )*                pPreserveAttachments;
6315 }
6316 
6317 struct VkSubpassDependency2 {
6318     VkStructureType       sType = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2;
6319     const( void )*        pNext;
6320     uint32_t              srcSubpass;
6321     uint32_t              dstSubpass;
6322     VkPipelineStageFlags  srcStageMask;
6323     VkPipelineStageFlags  dstStageMask;
6324     VkAccessFlags         srcAccessMask;
6325     VkAccessFlags         dstAccessMask;
6326     VkDependencyFlags     dependencyFlags;
6327     int32_t               viewOffset;
6328 }
6329 
6330 struct VkRenderPassCreateInfo2 {
6331     VkStructureType                     sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2;
6332     const( void )*                      pNext;
6333     VkRenderPassCreateFlags             flags;
6334     uint32_t                            attachmentCount;
6335     const( VkAttachmentDescription2 )*  pAttachments;
6336     uint32_t                            subpassCount;
6337     const( VkSubpassDescription2 )*     pSubpasses;
6338     uint32_t                            dependencyCount;
6339     const( VkSubpassDependency2 )*      pDependencies;
6340     uint32_t                            correlatedViewMaskCount;
6341     const( uint32_t )*                  pCorrelatedViewMasks;
6342 }
6343 
6344 struct VkSubpassBeginInfo {
6345     VkStructureType    sType = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO;
6346     const( void )*     pNext;
6347     VkSubpassContents  contents;
6348 }
6349 
6350 struct VkSubpassEndInfo {
6351     VkStructureType  sType = VK_STRUCTURE_TYPE_SUBPASS_END_INFO;
6352     const( void )*   pNext;
6353 }
6354 
6355 struct VkPhysicalDevice8BitStorageFeatures {
6356     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES;
6357     void*            pNext;
6358     VkBool32         storageBuffer8BitAccess;
6359     VkBool32         uniformAndStorageBuffer8BitAccess;
6360     VkBool32         storagePushConstant8;
6361 }
6362 
6363 struct VkPhysicalDeviceDriverProperties {
6364     VkStructureType                  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES;
6365     void*                            pNext;
6366     VkDriverId                       driverID;
6367     char[ VK_MAX_DRIVER_NAME_SIZE ]  driverName;
6368     char[ VK_MAX_DRIVER_INFO_SIZE ]  driverInfo;
6369     VkConformanceVersion             conformanceVersion;
6370 }
6371 
6372 struct VkPhysicalDeviceShaderAtomicInt64Features {
6373     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES;
6374     void*            pNext;
6375     VkBool32         shaderBufferInt64Atomics;
6376     VkBool32         shaderSharedInt64Atomics;
6377 }
6378 
6379 struct VkPhysicalDeviceShaderFloat16Int8Features {
6380     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES;
6381     void*            pNext;
6382     VkBool32         shaderFloat16;
6383     VkBool32         shaderInt8;
6384 }
6385 
6386 struct VkPhysicalDeviceFloatControlsProperties {
6387     VkStructureType                    sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES;
6388     void*                              pNext;
6389     VkShaderFloatControlsIndependence  denormBehaviorIndependence;
6390     VkShaderFloatControlsIndependence  roundingModeIndependence;
6391     VkBool32                           shaderSignedZeroInfNanPreserveFloat16;
6392     VkBool32                           shaderSignedZeroInfNanPreserveFloat32;
6393     VkBool32                           shaderSignedZeroInfNanPreserveFloat64;
6394     VkBool32                           shaderDenormPreserveFloat16;
6395     VkBool32                           shaderDenormPreserveFloat32;
6396     VkBool32                           shaderDenormPreserveFloat64;
6397     VkBool32                           shaderDenormFlushToZeroFloat16;
6398     VkBool32                           shaderDenormFlushToZeroFloat32;
6399     VkBool32                           shaderDenormFlushToZeroFloat64;
6400     VkBool32                           shaderRoundingModeRTEFloat16;
6401     VkBool32                           shaderRoundingModeRTEFloat32;
6402     VkBool32                           shaderRoundingModeRTEFloat64;
6403     VkBool32                           shaderRoundingModeRTZFloat16;
6404     VkBool32                           shaderRoundingModeRTZFloat32;
6405     VkBool32                           shaderRoundingModeRTZFloat64;
6406 }
6407 
6408 struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6409     VkStructureType                     sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO;
6410     const( void )*                      pNext;
6411     uint32_t                            bindingCount;
6412     const( VkDescriptorBindingFlags )*  pBindingFlags;
6413 }
6414 
6415 struct VkPhysicalDeviceDescriptorIndexingFeatures {
6416     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES;
6417     void*            pNext;
6418     VkBool32         shaderInputAttachmentArrayDynamicIndexing;
6419     VkBool32         shaderUniformTexelBufferArrayDynamicIndexing;
6420     VkBool32         shaderStorageTexelBufferArrayDynamicIndexing;
6421     VkBool32         shaderUniformBufferArrayNonUniformIndexing;
6422     VkBool32         shaderSampledImageArrayNonUniformIndexing;
6423     VkBool32         shaderStorageBufferArrayNonUniformIndexing;
6424     VkBool32         shaderStorageImageArrayNonUniformIndexing;
6425     VkBool32         shaderInputAttachmentArrayNonUniformIndexing;
6426     VkBool32         shaderUniformTexelBufferArrayNonUniformIndexing;
6427     VkBool32         shaderStorageTexelBufferArrayNonUniformIndexing;
6428     VkBool32         descriptorBindingUniformBufferUpdateAfterBind;
6429     VkBool32         descriptorBindingSampledImageUpdateAfterBind;
6430     VkBool32         descriptorBindingStorageImageUpdateAfterBind;
6431     VkBool32         descriptorBindingStorageBufferUpdateAfterBind;
6432     VkBool32         descriptorBindingUniformTexelBufferUpdateAfterBind;
6433     VkBool32         descriptorBindingStorageTexelBufferUpdateAfterBind;
6434     VkBool32         descriptorBindingUpdateUnusedWhilePending;
6435     VkBool32         descriptorBindingPartiallyBound;
6436     VkBool32         descriptorBindingVariableDescriptorCount;
6437     VkBool32         runtimeDescriptorArray;
6438 }
6439 
6440 struct VkPhysicalDeviceDescriptorIndexingProperties {
6441     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES;
6442     void*            pNext;
6443     uint32_t         maxUpdateAfterBindDescriptorsInAllPools;
6444     VkBool32         shaderUniformBufferArrayNonUniformIndexingNative;
6445     VkBool32         shaderSampledImageArrayNonUniformIndexingNative;
6446     VkBool32         shaderStorageBufferArrayNonUniformIndexingNative;
6447     VkBool32         shaderStorageImageArrayNonUniformIndexingNative;
6448     VkBool32         shaderInputAttachmentArrayNonUniformIndexingNative;
6449     VkBool32         robustBufferAccessUpdateAfterBind;
6450     VkBool32         quadDivergentImplicitLod;
6451     uint32_t         maxPerStageDescriptorUpdateAfterBindSamplers;
6452     uint32_t         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6453     uint32_t         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6454     uint32_t         maxPerStageDescriptorUpdateAfterBindSampledImages;
6455     uint32_t         maxPerStageDescriptorUpdateAfterBindStorageImages;
6456     uint32_t         maxPerStageDescriptorUpdateAfterBindInputAttachments;
6457     uint32_t         maxPerStageUpdateAfterBindResources;
6458     uint32_t         maxDescriptorSetUpdateAfterBindSamplers;
6459     uint32_t         maxDescriptorSetUpdateAfterBindUniformBuffers;
6460     uint32_t         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6461     uint32_t         maxDescriptorSetUpdateAfterBindStorageBuffers;
6462     uint32_t         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6463     uint32_t         maxDescriptorSetUpdateAfterBindSampledImages;
6464     uint32_t         maxDescriptorSetUpdateAfterBindStorageImages;
6465     uint32_t         maxDescriptorSetUpdateAfterBindInputAttachments;
6466 }
6467 
6468 struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6469     VkStructureType     sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO;
6470     const( void )*      pNext;
6471     uint32_t            descriptorSetCount;
6472     const( uint32_t )*  pDescriptorCounts;
6473 }
6474 
6475 struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6476     VkStructureType  sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT;
6477     void*            pNext;
6478     uint32_t         maxVariableDescriptorCount;
6479 }
6480 
6481 struct VkSubpassDescriptionDepthStencilResolve {
6482     VkStructureType                   sType = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE;
6483     const( void )*                    pNext;
6484     VkResolveModeFlagBits             depthResolveMode;
6485     VkResolveModeFlagBits             stencilResolveMode;
6486     const( VkAttachmentReference2 )*  pDepthStencilResolveAttachment;
6487 }
6488 
6489 struct VkPhysicalDeviceDepthStencilResolveProperties {
6490     VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES;
6491     void*               pNext;
6492     VkResolveModeFlags  supportedDepthResolveModes;
6493     VkResolveModeFlags  supportedStencilResolveModes;
6494     VkBool32            independentResolveNone;
6495     VkBool32            independentResolve;
6496 }
6497 
6498 struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6499     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES;
6500     void*            pNext;
6501     VkBool32         scalarBlockLayout;
6502 }
6503 
6504 struct VkImageStencilUsageCreateInfo {
6505     VkStructureType    sType = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO;
6506     const( void )*     pNext;
6507     VkImageUsageFlags  stencilUsage;
6508 }
6509 
6510 struct VkSamplerReductionModeCreateInfo {
6511     VkStructureType         sType = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO;
6512     const( void )*          pNext;
6513     VkSamplerReductionMode  reductionMode;
6514 }
6515 
6516 struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6517     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES;
6518     void*            pNext;
6519     VkBool32         filterMinmaxSingleComponentFormats;
6520     VkBool32         filterMinmaxImageComponentMapping;
6521 }
6522 
6523 struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6524     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES;
6525     void*            pNext;
6526     VkBool32         vulkanMemoryModel;
6527     VkBool32         vulkanMemoryModelDeviceScope;
6528     VkBool32         vulkanMemoryModelAvailabilityVisibilityChains;
6529 }
6530 
6531 struct VkPhysicalDeviceImagelessFramebufferFeatures {
6532     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES;
6533     void*            pNext;
6534     VkBool32         imagelessFramebuffer;
6535 }
6536 
6537 struct VkFramebufferAttachmentImageInfo {
6538     VkStructureType     sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO;
6539     const( void )*      pNext;
6540     VkImageCreateFlags  flags;
6541     VkImageUsageFlags   usage;
6542     uint32_t            width;
6543     uint32_t            height;
6544     uint32_t            layerCount;
6545     uint32_t            viewFormatCount;
6546     const( VkFormat )*  pViewFormats;
6547 }
6548 
6549 struct VkFramebufferAttachmentsCreateInfo {
6550     VkStructureType                             sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO;
6551     const( void )*                              pNext;
6552     uint32_t                                    attachmentImageInfoCount;
6553     const( VkFramebufferAttachmentImageInfo )*  pAttachmentImageInfos;
6554 }
6555 
6556 struct VkRenderPassAttachmentBeginInfo {
6557     VkStructureType        sType = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO;
6558     const( void )*         pNext;
6559     uint32_t               attachmentCount;
6560     const( VkImageView )*  pAttachments;
6561 }
6562 
6563 struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6564     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES;
6565     void*            pNext;
6566     VkBool32         uniformBufferStandardLayout;
6567 }
6568 
6569 struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6570     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES;
6571     void*            pNext;
6572     VkBool32         shaderSubgroupExtendedTypes;
6573 }
6574 
6575 struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6576     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES;
6577     void*            pNext;
6578     VkBool32         separateDepthStencilLayouts;
6579 }
6580 
6581 struct VkAttachmentReferenceStencilLayout {
6582     VkStructureType  sType = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT;
6583     void*            pNext;
6584     VkImageLayout    stencilLayout;
6585 }
6586 
6587 struct VkAttachmentDescriptionStencilLayout {
6588     VkStructureType  sType = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT;
6589     void*            pNext;
6590     VkImageLayout    stencilInitialLayout;
6591     VkImageLayout    stencilFinalLayout;
6592 }
6593 
6594 struct VkPhysicalDeviceHostQueryResetFeatures {
6595     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES;
6596     void*            pNext;
6597     VkBool32         hostQueryReset;
6598 }
6599 
6600 struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6601     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES;
6602     void*            pNext;
6603     VkBool32         timelineSemaphore;
6604 }
6605 
6606 struct VkPhysicalDeviceTimelineSemaphoreProperties {
6607     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES;
6608     void*            pNext;
6609     uint64_t         maxTimelineSemaphoreValueDifference;
6610 }
6611 
6612 struct VkSemaphoreTypeCreateInfo {
6613     VkStructureType  sType = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO;
6614     const( void )*   pNext;
6615     VkSemaphoreType  semaphoreType;
6616     uint64_t         initialValue;
6617 }
6618 
6619 struct VkTimelineSemaphoreSubmitInfo {
6620     VkStructureType     sType = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO;
6621     const( void )*      pNext;
6622     uint32_t            waitSemaphoreValueCount;
6623     const( uint64_t )*  pWaitSemaphoreValues;
6624     uint32_t            signalSemaphoreValueCount;
6625     const( uint64_t )*  pSignalSemaphoreValues;
6626 }
6627 
6628 struct VkSemaphoreWaitInfo {
6629     VkStructureType        sType = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO;
6630     const( void )*         pNext;
6631     VkSemaphoreWaitFlags   flags;
6632     uint32_t               semaphoreCount;
6633     const( VkSemaphore )*  pSemaphores;
6634     const( uint64_t )*     pValues;
6635 }
6636 
6637 struct VkSemaphoreSignalInfo {
6638     VkStructureType  sType = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO;
6639     const( void )*   pNext;
6640     VkSemaphore      semaphore;
6641     uint64_t         value;
6642 }
6643 
6644 struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6645     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES;
6646     void*            pNext;
6647     VkBool32         bufferDeviceAddress;
6648     VkBool32         bufferDeviceAddressCaptureReplay;
6649     VkBool32         bufferDeviceAddressMultiDevice;
6650 }
6651 
6652 struct VkBufferDeviceAddressInfo {
6653     VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO;
6654     const( void )*   pNext;
6655     VkBuffer         buffer;
6656 }
6657 
6658 struct VkBufferOpaqueCaptureAddressCreateInfo {
6659     VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO;
6660     const( void )*   pNext;
6661     uint64_t         opaqueCaptureAddress;
6662 }
6663 
6664 struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6665     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO;
6666     const( void )*   pNext;
6667     uint64_t         opaqueCaptureAddress;
6668 }
6669 
6670 struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6671     VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO;
6672     const( void )*   pNext;
6673     VkDeviceMemory   memory;
6674 }
6675 
6676 
6677 // - VK_KHR_surface -
6678 enum VK_KHR_surface = 1;
6679 
6680 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSurfaceKHR} );
6681 
6682 enum VK_KHR_SURFACE_SPEC_VERSION = 25;
6683 enum VK_KHR_SURFACE_EXTENSION_NAME = "VK_KHR_surface";
6684 
6685 enum VkPresentModeKHR {
6686     VK_PRESENT_MODE_IMMEDIATE_KHR                        = 0,
6687     VK_PRESENT_MODE_MAILBOX_KHR                          = 1,
6688     VK_PRESENT_MODE_FIFO_KHR                             = 2,
6689     VK_PRESENT_MODE_FIFO_RELAXED_KHR                     = 3,
6690     VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR            = 1000111000,
6691     VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR        = 1000111001,
6692     VK_PRESENT_MODE_BEGIN_RANGE_KHR                      = VK_PRESENT_MODE_IMMEDIATE_KHR,
6693     VK_PRESENT_MODE_END_RANGE_KHR                        = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
6694     VK_PRESENT_MODE_RANGE_SIZE_KHR                       = VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1,
6695     VK_PRESENT_MODE_MAX_ENUM_KHR                         = 0x7FFFFFFF
6696 }
6697 
6698 enum VK_PRESENT_MODE_IMMEDIATE_KHR                       = VkPresentModeKHR.VK_PRESENT_MODE_IMMEDIATE_KHR;
6699 enum VK_PRESENT_MODE_MAILBOX_KHR                         = VkPresentModeKHR.VK_PRESENT_MODE_MAILBOX_KHR;
6700 enum VK_PRESENT_MODE_FIFO_KHR                            = VkPresentModeKHR.VK_PRESENT_MODE_FIFO_KHR;
6701 enum VK_PRESENT_MODE_FIFO_RELAXED_KHR                    = VkPresentModeKHR.VK_PRESENT_MODE_FIFO_RELAXED_KHR;
6702 enum VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR           = VkPresentModeKHR.VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR;
6703 enum VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR       = VkPresentModeKHR.VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR;
6704 enum VK_PRESENT_MODE_BEGIN_RANGE_KHR                     = VkPresentModeKHR.VK_PRESENT_MODE_BEGIN_RANGE_KHR;
6705 enum VK_PRESENT_MODE_END_RANGE_KHR                       = VkPresentModeKHR.VK_PRESENT_MODE_END_RANGE_KHR;
6706 enum VK_PRESENT_MODE_RANGE_SIZE_KHR                      = VkPresentModeKHR.VK_PRESENT_MODE_RANGE_SIZE_KHR;
6707 enum VK_PRESENT_MODE_MAX_ENUM_KHR                        = VkPresentModeKHR.VK_PRESENT_MODE_MAX_ENUM_KHR;
6708 
6709 enum VkColorSpaceKHR {
6710     VK_COLOR_SPACE_SRGB_NONLINEAR_KHR            = 0,
6711     VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT      = 1000104001,
6712     VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT      = 1000104002,
6713     VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT         = 1000104003,
6714     VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT          = 1000104004,
6715     VK_COLOR_SPACE_BT709_LINEAR_EXT              = 1000104005,
6716     VK_COLOR_SPACE_BT709_NONLINEAR_EXT           = 1000104006,
6717     VK_COLOR_SPACE_BT2020_LINEAR_EXT             = 1000104007,
6718     VK_COLOR_SPACE_HDR10_ST2084_EXT              = 1000104008,
6719     VK_COLOR_SPACE_DOLBYVISION_EXT               = 1000104009,
6720     VK_COLOR_SPACE_HDR10_HLG_EXT                 = 1000104010,
6721     VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT           = 1000104011,
6722     VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT        = 1000104012,
6723     VK_COLOR_SPACE_PASS_THROUGH_EXT              = 1000104013,
6724     VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT   = 1000104014,
6725     VK_COLOR_SPACE_DISPLAY_NATIVE_AMD            = 1000213000,
6726     VK_COLORSPACE_SRGB_NONLINEAR_KHR             = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6727     VK_COLOR_SPACE_DCI_P3_LINEAR_EXT             = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6728     VK_COLOR_SPACE_BEGIN_RANGE_KHR               = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6729     VK_COLOR_SPACE_END_RANGE_KHR                 = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6730     VK_COLOR_SPACE_RANGE_SIZE_KHR                = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1,
6731     VK_COLOR_SPACE_MAX_ENUM_KHR                  = 0x7FFFFFFF
6732 }
6733 
6734 enum VK_COLOR_SPACE_SRGB_NONLINEAR_KHR           = VkColorSpaceKHR.VK_COLOR_SPACE_SRGB_NONLINEAR_KHR;
6735 enum VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT     = VkColorSpaceKHR.VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT;
6736 enum VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT     = VkColorSpaceKHR.VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT;
6737 enum VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT        = VkColorSpaceKHR.VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT;
6738 enum VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT         = VkColorSpaceKHR.VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT;
6739 enum VK_COLOR_SPACE_BT709_LINEAR_EXT             = VkColorSpaceKHR.VK_COLOR_SPACE_BT709_LINEAR_EXT;
6740 enum VK_COLOR_SPACE_BT709_NONLINEAR_EXT          = VkColorSpaceKHR.VK_COLOR_SPACE_BT709_NONLINEAR_EXT;
6741 enum VK_COLOR_SPACE_BT2020_LINEAR_EXT            = VkColorSpaceKHR.VK_COLOR_SPACE_BT2020_LINEAR_EXT;
6742 enum VK_COLOR_SPACE_HDR10_ST2084_EXT             = VkColorSpaceKHR.VK_COLOR_SPACE_HDR10_ST2084_EXT;
6743 enum VK_COLOR_SPACE_DOLBYVISION_EXT              = VkColorSpaceKHR.VK_COLOR_SPACE_DOLBYVISION_EXT;
6744 enum VK_COLOR_SPACE_HDR10_HLG_EXT                = VkColorSpaceKHR.VK_COLOR_SPACE_HDR10_HLG_EXT;
6745 enum VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT          = VkColorSpaceKHR.VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT;
6746 enum VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT       = VkColorSpaceKHR.VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT;
6747 enum VK_COLOR_SPACE_PASS_THROUGH_EXT             = VkColorSpaceKHR.VK_COLOR_SPACE_PASS_THROUGH_EXT;
6748 enum VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT  = VkColorSpaceKHR.VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT;
6749 enum VK_COLOR_SPACE_DISPLAY_NATIVE_AMD           = VkColorSpaceKHR.VK_COLOR_SPACE_DISPLAY_NATIVE_AMD;
6750 enum VK_COLORSPACE_SRGB_NONLINEAR_KHR            = VkColorSpaceKHR.VK_COLORSPACE_SRGB_NONLINEAR_KHR;
6751 enum VK_COLOR_SPACE_DCI_P3_LINEAR_EXT            = VkColorSpaceKHR.VK_COLOR_SPACE_DCI_P3_LINEAR_EXT;
6752 enum VK_COLOR_SPACE_BEGIN_RANGE_KHR              = VkColorSpaceKHR.VK_COLOR_SPACE_BEGIN_RANGE_KHR;
6753 enum VK_COLOR_SPACE_END_RANGE_KHR                = VkColorSpaceKHR.VK_COLOR_SPACE_END_RANGE_KHR;
6754 enum VK_COLOR_SPACE_RANGE_SIZE_KHR               = VkColorSpaceKHR.VK_COLOR_SPACE_RANGE_SIZE_KHR;
6755 enum VK_COLOR_SPACE_MAX_ENUM_KHR                 = VkColorSpaceKHR.VK_COLOR_SPACE_MAX_ENUM_KHR;
6756 
6757 enum VkSurfaceTransformFlagBitsKHR {
6758     VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR                        = 0x00000001,
6759     VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR                       = 0x00000002,
6760     VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR                      = 0x00000004,
6761     VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR                      = 0x00000008,
6762     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR               = 0x00000010,
6763     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR     = 0x00000020,
6764     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR    = 0x00000040,
6765     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR    = 0x00000080,
6766     VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR                         = 0x00000100,
6767     VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR                  = 0x7FFFFFFF
6768 }
6769 
6770 enum VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR                       = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
6771 enum VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR                      = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR;
6772 enum VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR                     = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR;
6773 enum VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR                     = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR;
6774 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR              = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR;
6775 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR    = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR;
6776 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR   = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR;
6777 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR   = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR;
6778 enum VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR                        = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR;
6779 enum VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR                 = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR;
6780 
6781 enum VkCompositeAlphaFlagBitsKHR {
6782     VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR            = 0x00000001,
6783     VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR    = 0x00000002,
6784     VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR   = 0x00000004,
6785     VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR           = 0x00000008,
6786     VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR    = 0x7FFFFFFF
6787 }
6788 
6789 enum VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR           = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
6790 enum VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR   = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR;
6791 enum VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR  = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR;
6792 enum VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR          = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR;
6793 enum VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR   = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR;
6794 alias VkCompositeAlphaFlagsKHR = VkFlags;
6795 alias VkSurfaceTransformFlagsKHR = VkFlags;
6796 
6797 struct VkSurfaceCapabilitiesKHR {
6798     uint32_t                       minImageCount;
6799     uint32_t                       maxImageCount;
6800     VkExtent2D                     currentExtent;
6801     VkExtent2D                     minImageExtent;
6802     VkExtent2D                     maxImageExtent;
6803     uint32_t                       maxImageArrayLayers;
6804     VkSurfaceTransformFlagsKHR     supportedTransforms;
6805     VkSurfaceTransformFlagBitsKHR  currentTransform;
6806     VkCompositeAlphaFlagsKHR       supportedCompositeAlpha;
6807     VkImageUsageFlags              supportedUsageFlags;
6808 }
6809 
6810 struct VkSurfaceFormatKHR {
6811     VkFormat         format;
6812     VkColorSpaceKHR  colorSpace;
6813 }
6814 
6815 
6816 // - VK_KHR_swapchain -
6817 enum VK_KHR_swapchain = 1;
6818 
6819 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSwapchainKHR} );
6820 
6821 enum VK_KHR_SWAPCHAIN_SPEC_VERSION = 70;
6822 enum VK_KHR_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_swapchain";
6823 
6824 enum VkSwapchainCreateFlagBitsKHR {
6825     VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR      = 0x00000001,
6826     VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR                        = 0x00000002,
6827     VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR                   = 0x00000004,
6828     VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR                   = 0x7FFFFFFF
6829 }
6830 
6831 enum VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR     = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR;
6832 enum VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR                       = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR;
6833 enum VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR                  = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR;
6834 enum VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR                  = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR;
6835 alias VkSwapchainCreateFlagsKHR = VkFlags;
6836 
6837 enum VkDeviceGroupPresentModeFlagBitsKHR {
6838     VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR                   = 0x00000001,
6839     VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR                  = 0x00000002,
6840     VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR                     = 0x00000004,
6841     VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR      = 0x00000008,
6842     VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR          = 0x7FFFFFFF
6843 }
6844 
6845 enum VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR                  = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR;
6846 enum VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR                 = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR;
6847 enum VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR                    = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR;
6848 enum VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR     = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR;
6849 enum VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR         = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR;
6850 alias VkDeviceGroupPresentModeFlagsKHR = VkFlags;
6851 
6852 struct VkSwapchainCreateInfoKHR {
6853     VkStructureType                sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
6854     const( void )*                 pNext;
6855     VkSwapchainCreateFlagsKHR      flags;
6856     VkSurfaceKHR                   surface;
6857     uint32_t                       minImageCount;
6858     VkFormat                       imageFormat;
6859     VkColorSpaceKHR                imageColorSpace;
6860     VkExtent2D                     imageExtent;
6861     uint32_t                       imageArrayLayers;
6862     VkImageUsageFlags              imageUsage;
6863     VkSharingMode                  imageSharingMode;
6864     uint32_t                       queueFamilyIndexCount;
6865     const( uint32_t )*             pQueueFamilyIndices;
6866     VkSurfaceTransformFlagBitsKHR  preTransform;
6867     VkCompositeAlphaFlagBitsKHR    compositeAlpha;
6868     VkPresentModeKHR               presentMode;
6869     VkBool32                       clipped;
6870     VkSwapchainKHR                 oldSwapchain;
6871 }
6872 
6873 struct VkPresentInfoKHR {
6874     VkStructureType           sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;
6875     const( void )*            pNext;
6876     uint32_t                  waitSemaphoreCount;
6877     const( VkSemaphore )*     pWaitSemaphores;
6878     uint32_t                  swapchainCount;
6879     const( VkSwapchainKHR )*  pSwapchains;
6880     const( uint32_t )*        pImageIndices;
6881     VkResult*                 pResults;
6882 }
6883 
6884 struct VkImageSwapchainCreateInfoKHR {
6885     VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR;
6886     const( void )*   pNext;
6887     VkSwapchainKHR   swapchain;
6888 }
6889 
6890 struct VkBindImageMemorySwapchainInfoKHR {
6891     VkStructureType  sType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR;
6892     const( void )*   pNext;
6893     VkSwapchainKHR   swapchain;
6894     uint32_t         imageIndex;
6895 }
6896 
6897 struct VkAcquireNextImageInfoKHR {
6898     VkStructureType  sType = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR;
6899     const( void )*   pNext;
6900     VkSwapchainKHR   swapchain;
6901     uint64_t         timeout;
6902     VkSemaphore      semaphore;
6903     VkFence          fence;
6904     uint32_t         deviceMask;
6905 }
6906 
6907 struct VkDeviceGroupPresentCapabilitiesKHR {
6908     VkStructureType                       sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR;
6909     const( void )*                        pNext;
6910     uint32_t[ VK_MAX_DEVICE_GROUP_SIZE ]  presentMask;
6911     VkDeviceGroupPresentModeFlagsKHR      modes;
6912 }
6913 
6914 struct VkDeviceGroupPresentInfoKHR {
6915     VkStructureType                      sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR;
6916     const( void )*                       pNext;
6917     uint32_t                             swapchainCount;
6918     const( uint32_t )*                   pDeviceMasks;
6919     VkDeviceGroupPresentModeFlagBitsKHR  mode;
6920 }
6921 
6922 struct VkDeviceGroupSwapchainCreateInfoKHR {
6923     VkStructureType                   sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR;
6924     const( void )*                    pNext;
6925     VkDeviceGroupPresentModeFlagsKHR  modes;
6926 }
6927 
6928 
6929 // - VK_KHR_display -
6930 enum VK_KHR_display = 1;
6931 
6932 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDisplayKHR} );
6933 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDisplayModeKHR} );
6934 
6935 enum VK_KHR_DISPLAY_SPEC_VERSION = 23;
6936 enum VK_KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display";
6937 
6938 alias VkDisplayModeCreateFlagsKHR = VkFlags;
6939 
6940 enum VkDisplayPlaneAlphaFlagBitsKHR {
6941     VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR                        = 0x00000001,
6942     VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR                        = 0x00000002,
6943     VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR                     = 0x00000004,
6944     VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR       = 0x00000008,
6945     VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR                = 0x7FFFFFFF
6946 }
6947 
6948 enum VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR                       = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR;
6949 enum VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR                       = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR;
6950 enum VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR                    = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR;
6951 enum VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR      = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR;
6952 enum VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR               = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR;
6953 alias VkDisplayPlaneAlphaFlagsKHR = VkFlags;
6954 alias VkDisplaySurfaceCreateFlagsKHR = VkFlags;
6955 
6956 struct VkDisplayModeParametersKHR {
6957     VkExtent2D  visibleRegion;
6958     uint32_t    refreshRate;
6959 }
6960 
6961 struct VkDisplayModeCreateInfoKHR {
6962     VkStructureType              sType = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR;
6963     const( void )*               pNext;
6964     VkDisplayModeCreateFlagsKHR  flags;
6965     VkDisplayModeParametersKHR   parameters;
6966 }
6967 
6968 struct VkDisplayModePropertiesKHR {
6969     VkDisplayModeKHR            displayMode;
6970     VkDisplayModeParametersKHR  parameters;
6971 }
6972 
6973 struct VkDisplayPlaneCapabilitiesKHR {
6974     VkDisplayPlaneAlphaFlagsKHR  supportedAlpha;
6975     VkOffset2D                   minSrcPosition;
6976     VkOffset2D                   maxSrcPosition;
6977     VkExtent2D                   minSrcExtent;
6978     VkExtent2D                   maxSrcExtent;
6979     VkOffset2D                   minDstPosition;
6980     VkOffset2D                   maxDstPosition;
6981     VkExtent2D                   minDstExtent;
6982     VkExtent2D                   maxDstExtent;
6983 }
6984 
6985 struct VkDisplayPlanePropertiesKHR {
6986     VkDisplayKHR  currentDisplay;
6987     uint32_t      currentStackIndex;
6988 }
6989 
6990 struct VkDisplayPropertiesKHR {
6991     VkDisplayKHR                display;
6992     const( char )*              displayName;
6993     VkExtent2D                  physicalDimensions;
6994     VkExtent2D                  physicalResolution;
6995     VkSurfaceTransformFlagsKHR  supportedTransforms;
6996     VkBool32                    planeReorderPossible;
6997     VkBool32                    persistentContent;
6998 }
6999 
7000 struct VkDisplaySurfaceCreateInfoKHR {
7001     VkStructureType                 sType = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR;
7002     const( void )*                  pNext;
7003     VkDisplaySurfaceCreateFlagsKHR  flags;
7004     VkDisplayModeKHR                displayMode;
7005     uint32_t                        planeIndex;
7006     uint32_t                        planeStackIndex;
7007     VkSurfaceTransformFlagBitsKHR   transform;
7008     float                           globalAlpha;
7009     VkDisplayPlaneAlphaFlagBitsKHR  alphaMode;
7010     VkExtent2D                      imageExtent;
7011 }
7012 
7013 
7014 // - VK_KHR_display_swapchain -
7015 enum VK_KHR_display_swapchain = 1;
7016 
7017 enum VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION = 10;
7018 enum VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_display_swapchain";
7019 
7020 struct VkDisplayPresentInfoKHR {
7021     VkStructureType  sType = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR;
7022     const( void )*   pNext;
7023     VkRect2D         srcRect;
7024     VkRect2D         dstRect;
7025     VkBool32         persistent;
7026 }
7027 
7028 
7029 // - VK_KHR_sampler_mirror_clamp_to_edge -
7030 enum VK_KHR_sampler_mirror_clamp_to_edge = 1;
7031 
7032 enum VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3;
7033 enum VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge";
7034 
7035 
7036 // - VK_KHR_multiview -
7037 enum VK_KHR_multiview = 1;
7038 
7039 enum VK_KHR_MULTIVIEW_SPEC_VERSION = 1;
7040 enum VK_KHR_MULTIVIEW_EXTENSION_NAME = "VK_KHR_multiview";
7041 
7042 alias VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo;
7043 alias VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures;
7044 alias VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties;
7045 
7046 
7047 // - VK_KHR_get_physical_device_properties2 -
7048 enum VK_KHR_get_physical_device_properties2 = 1;
7049 
7050 enum VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION = 2;
7051 enum VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_physical_device_properties2";
7052 
7053 alias VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2;
7054 alias VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2;
7055 alias VkFormatProperties2KHR = VkFormatProperties2;
7056 alias VkImageFormatProperties2KHR = VkImageFormatProperties2;
7057 alias VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2;
7058 alias VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2;
7059 alias VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2;
7060 alias VkSparseImageFormatProperties2KHR = VkSparseImageFormatProperties2;
7061 alias VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2;
7062 
7063 
7064 // - VK_KHR_device_group -
7065 enum VK_KHR_device_group = 1;
7066 
7067 enum VK_KHR_DEVICE_GROUP_SPEC_VERSION = 4;
7068 enum VK_KHR_DEVICE_GROUP_EXTENSION_NAME = "VK_KHR_device_group";
7069 
7070 alias VkPeerMemoryFeatureFlagsKHR = VkPeerMemoryFeatureFlags;
7071 alias VkPeerMemoryFeatureFlagBitsKHR = VkPeerMemoryFeatureFlagBits;
7072 alias VkMemoryAllocateFlagsKHR = VkMemoryAllocateFlags;
7073 alias VkMemoryAllocateFlagBitsKHR = VkMemoryAllocateFlagBits;
7074 
7075 alias VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo;
7076 alias VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo;
7077 alias VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo;
7078 alias VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo;
7079 alias VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo;
7080 alias VkBindBufferMemoryDeviceGroupInfoKHR = VkBindBufferMemoryDeviceGroupInfo;
7081 alias VkBindImageMemoryDeviceGroupInfoKHR = VkBindImageMemoryDeviceGroupInfo;
7082 
7083 
7084 // - VK_KHR_shader_draw_parameters -
7085 enum VK_KHR_shader_draw_parameters = 1;
7086 
7087 enum VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION = 1;
7088 enum VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_parameters";
7089 
7090 
7091 // - VK_KHR_maintenance1 -
7092 enum VK_KHR_maintenance1 = 1;
7093 
7094 enum VK_KHR_MAINTENANCE1_SPEC_VERSION = 2;
7095 enum VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1";
7096 
7097 alias VkCommandPoolTrimFlagsKHR = VkCommandPoolTrimFlags;
7098 
7099 
7100 // - VK_KHR_device_group_creation -
7101 enum VK_KHR_device_group_creation = 1;
7102 
7103 enum VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION = 1;
7104 enum VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME = "VK_KHR_device_group_creation";
7105 alias VK_MAX_DEVICE_GROUP_SIZE_KHR = VK_MAX_DEVICE_GROUP_SIZE;
7106 
7107 alias VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties;
7108 alias VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo;
7109 
7110 
7111 // - VK_KHR_external_memory_capabilities -
7112 enum VK_KHR_external_memory_capabilities = 1;
7113 
7114 enum VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1;
7115 enum VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_memory_capabilities";
7116 alias VK_LUID_SIZE_KHR = VK_LUID_SIZE;
7117 
7118 alias VkExternalMemoryHandleTypeFlagsKHR = VkExternalMemoryHandleTypeFlags;
7119 alias VkExternalMemoryHandleTypeFlagBitsKHR = VkExternalMemoryHandleTypeFlagBits;
7120 alias VkExternalMemoryFeatureFlagsKHR = VkExternalMemoryFeatureFlags;
7121 alias VkExternalMemoryFeatureFlagBitsKHR = VkExternalMemoryFeatureFlagBits;
7122 
7123 alias VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties;
7124 alias VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo;
7125 alias VkExternalImageFormatPropertiesKHR = VkExternalImageFormatProperties;
7126 alias VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo;
7127 alias VkExternalBufferPropertiesKHR = VkExternalBufferProperties;
7128 alias VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties;
7129 
7130 
7131 // - VK_KHR_external_memory -
7132 enum VK_KHR_external_memory = 1;
7133 
7134 enum VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION = 1;
7135 enum VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_KHR_external_memory";
7136 alias VK_QUEUE_FAMILY_EXTERNAL_KHR = VK_QUEUE_FAMILY_EXTERNAL;
7137 
7138 alias VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo;
7139 alias VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo;
7140 alias VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo;
7141 
7142 
7143 // - VK_KHR_external_memory_fd -
7144 enum VK_KHR_external_memory_fd = 1;
7145 
7146 enum VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION = 1;
7147 enum VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME = "VK_KHR_external_memory_fd";
7148 
7149 struct VkImportMemoryFdInfoKHR {
7150     VkStructureType                     sType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR;
7151     const( void )*                      pNext;
7152     VkExternalMemoryHandleTypeFlagBits  handleType;
7153     int                                 fd;
7154 }
7155 
7156 struct VkMemoryFdPropertiesKHR {
7157     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR;
7158     void*            pNext;
7159     uint32_t         memoryTypeBits;
7160 }
7161 
7162 struct VkMemoryGetFdInfoKHR {
7163     VkStructureType                     sType = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR;
7164     const( void )*                      pNext;
7165     VkDeviceMemory                      memory;
7166     VkExternalMemoryHandleTypeFlagBits  handleType;
7167 }
7168 
7169 
7170 // - VK_KHR_external_semaphore_capabilities -
7171 enum VK_KHR_external_semaphore_capabilities = 1;
7172 
7173 enum VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION = 1;
7174 enum VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_semaphore_capabilities";
7175 
7176 alias VkExternalSemaphoreHandleTypeFlagsKHR = VkExternalSemaphoreHandleTypeFlags;
7177 alias VkExternalSemaphoreHandleTypeFlagBitsKHR = VkExternalSemaphoreHandleTypeFlagBits;
7178 alias VkExternalSemaphoreFeatureFlagsKHR = VkExternalSemaphoreFeatureFlags;
7179 alias VkExternalSemaphoreFeatureFlagBitsKHR = VkExternalSemaphoreFeatureFlagBits;
7180 
7181 alias VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo;
7182 alias VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties;
7183 
7184 
7185 // - VK_KHR_external_semaphore -
7186 enum VK_KHR_external_semaphore = 1;
7187 
7188 enum VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION = 1;
7189 enum VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME = "VK_KHR_external_semaphore";
7190 
7191 alias VkSemaphoreImportFlagsKHR = VkSemaphoreImportFlags;
7192 alias VkSemaphoreImportFlagBitsKHR = VkSemaphoreImportFlagBits;
7193 
7194 alias VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo;
7195 
7196 
7197 // - VK_KHR_external_semaphore_fd -
7198 enum VK_KHR_external_semaphore_fd = 1;
7199 
7200 enum VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION = 1;
7201 enum VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME = "VK_KHR_external_semaphore_fd";
7202 
7203 struct VkImportSemaphoreFdInfoKHR {
7204     VkStructureType                        sType = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR;
7205     const( void )*                         pNext;
7206     VkSemaphore                            semaphore;
7207     VkSemaphoreImportFlags                 flags;
7208     VkExternalSemaphoreHandleTypeFlagBits  handleType;
7209     int                                    fd;
7210 }
7211 
7212 struct VkSemaphoreGetFdInfoKHR {
7213     VkStructureType                        sType = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR;
7214     const( void )*                         pNext;
7215     VkSemaphore                            semaphore;
7216     VkExternalSemaphoreHandleTypeFlagBits  handleType;
7217 }
7218 
7219 
7220 // - VK_KHR_push_descriptor -
7221 enum VK_KHR_push_descriptor = 1;
7222 
7223 enum VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 2;
7224 enum VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME = "VK_KHR_push_descriptor";
7225 
7226 struct VkPhysicalDevicePushDescriptorPropertiesKHR {
7227     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR;
7228     void*            pNext;
7229     uint32_t         maxPushDescriptors;
7230 }
7231 
7232 
7233 // - VK_KHR_shader_float16_int8 -
7234 enum VK_KHR_shader_float16_int8 = 1;
7235 
7236 enum VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION = 1;
7237 enum VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME = "VK_KHR_shader_float16_int8";
7238 
7239 alias VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features;
7240 alias VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features;
7241 
7242 
7243 // - VK_KHR_16bit_storage -
7244 enum VK_KHR_16bit_storage = 1;
7245 
7246 enum VK_KHR_16BIT_STORAGE_SPEC_VERSION = 1;
7247 enum VK_KHR_16BIT_STORAGE_EXTENSION_NAME = "VK_KHR_16bit_storage";
7248 
7249 alias VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures;
7250 
7251 
7252 // - VK_KHR_incremental_present -
7253 enum VK_KHR_incremental_present = 1;
7254 
7255 enum VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION = 1;
7256 enum VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME = "VK_KHR_incremental_present";
7257 
7258 struct VkRectLayerKHR {
7259     VkOffset2D  offset;
7260     VkExtent2D  extent;
7261     uint32_t    layer;
7262 }
7263 
7264 struct VkPresentRegionKHR {
7265     uint32_t                  rectangleCount;
7266     const( VkRectLayerKHR )*  pRectangles;
7267 }
7268 
7269 struct VkPresentRegionsKHR {
7270     VkStructureType               sType = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR;
7271     const( void )*                pNext;
7272     uint32_t                      swapchainCount;
7273     const( VkPresentRegionKHR )*  pRegions;
7274 }
7275 
7276 
7277 // - VK_KHR_descriptor_update_template -
7278 enum VK_KHR_descriptor_update_template = 1;
7279 
7280 alias VkDescriptorUpdateTemplateKHR = VkDescriptorUpdateTemplate;
7281 
7282 alias VkDescriptorUpdateTemplateTypeKHR = VkDescriptorUpdateTemplateType;
7283 enum VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION = 1;
7284 enum VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME = "VK_KHR_descriptor_update_template";
7285 
7286 alias VkDescriptorUpdateTemplateCreateFlagsKHR = VkDescriptorUpdateTemplateCreateFlags;
7287 
7288 alias VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry;
7289 alias VkDescriptorUpdateTemplateCreateInfoKHR = VkDescriptorUpdateTemplateCreateInfo;
7290 
7291 
7292 // - VK_KHR_imageless_framebuffer -
7293 enum VK_KHR_imageless_framebuffer = 1;
7294 
7295 enum VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION = 1;
7296 enum VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME = "VK_KHR_imageless_framebuffer";
7297 
7298 alias VkPhysicalDeviceImagelessFramebufferFeaturesKHR = VkPhysicalDeviceImagelessFramebufferFeatures;
7299 alias VkFramebufferAttachmentsCreateInfoKHR = VkFramebufferAttachmentsCreateInfo;
7300 alias VkFramebufferAttachmentImageInfoKHR = VkFramebufferAttachmentImageInfo;
7301 alias VkRenderPassAttachmentBeginInfoKHR = VkRenderPassAttachmentBeginInfo;
7302 
7303 
7304 // - VK_KHR_create_renderpass2 -
7305 enum VK_KHR_create_renderpass2 = 1;
7306 
7307 enum VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION = 1;
7308 enum VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME = "VK_KHR_create_renderpass2";
7309 
7310 alias VkRenderPassCreateInfo2KHR = VkRenderPassCreateInfo2;
7311 alias VkAttachmentDescription2KHR = VkAttachmentDescription2;
7312 alias VkAttachmentReference2KHR = VkAttachmentReference2;
7313 alias VkSubpassDescription2KHR = VkSubpassDescription2;
7314 alias VkSubpassDependency2KHR = VkSubpassDependency2;
7315 alias VkSubpassBeginInfoKHR = VkSubpassBeginInfo;
7316 alias VkSubpassEndInfoKHR = VkSubpassEndInfo;
7317 
7318 
7319 // - VK_KHR_shared_presentable_image -
7320 enum VK_KHR_shared_presentable_image = 1;
7321 
7322 enum VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION = 1;
7323 enum VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME = "VK_KHR_shared_presentable_image";
7324 
7325 struct VkSharedPresentSurfaceCapabilitiesKHR {
7326     VkStructureType    sType = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR;
7327     void*              pNext;
7328     VkImageUsageFlags  sharedPresentSupportedUsageFlags;
7329 }
7330 
7331 
7332 // - VK_KHR_external_fence_capabilities -
7333 enum VK_KHR_external_fence_capabilities = 1;
7334 
7335 enum VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION = 1;
7336 enum VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_fence_capabilities";
7337 
7338 alias VkExternalFenceHandleTypeFlagsKHR = VkExternalFenceHandleTypeFlags;
7339 alias VkExternalFenceHandleTypeFlagBitsKHR = VkExternalFenceHandleTypeFlagBits;
7340 alias VkExternalFenceFeatureFlagsKHR = VkExternalFenceFeatureFlags;
7341 alias VkExternalFenceFeatureFlagBitsKHR = VkExternalFenceFeatureFlagBits;
7342 
7343 alias VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo;
7344 alias VkExternalFencePropertiesKHR = VkExternalFenceProperties;
7345 
7346 
7347 // - VK_KHR_external_fence -
7348 enum VK_KHR_external_fence = 1;
7349 
7350 enum VK_KHR_EXTERNAL_FENCE_SPEC_VERSION = 1;
7351 enum VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME = "VK_KHR_external_fence";
7352 
7353 alias VkFenceImportFlagsKHR = VkFenceImportFlags;
7354 alias VkFenceImportFlagBitsKHR = VkFenceImportFlagBits;
7355 
7356 alias VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo;
7357 
7358 
7359 // - VK_KHR_external_fence_fd -
7360 enum VK_KHR_external_fence_fd = 1;
7361 
7362 enum VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION = 1;
7363 enum VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME = "VK_KHR_external_fence_fd";
7364 
7365 struct VkImportFenceFdInfoKHR {
7366     VkStructureType                    sType = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR;
7367     const( void )*                     pNext;
7368     VkFence                            fence;
7369     VkFenceImportFlags                 flags;
7370     VkExternalFenceHandleTypeFlagBits  handleType;
7371     int                                fd;
7372 }
7373 
7374 struct VkFenceGetFdInfoKHR {
7375     VkStructureType                    sType = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR;
7376     const( void )*                     pNext;
7377     VkFence                            fence;
7378     VkExternalFenceHandleTypeFlagBits  handleType;
7379 }
7380 
7381 
7382 // - VK_KHR_performance_query -
7383 enum VK_KHR_performance_query = 1;
7384 
7385 enum VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION = 1;
7386 enum VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query";
7387 
7388 enum VkPerformanceCounterUnitKHR {
7389     VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR              = 0,
7390     VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR           = 1,
7391     VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR          = 2,
7392     VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR                = 3,
7393     VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR     = 4,
7394     VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR               = 5,
7395     VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR                = 6,
7396     VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR                = 7,
7397     VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR                 = 8,
7398     VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR                = 9,
7399     VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR               = 10,
7400     VK_PERFORMANCE_COUNTER_UNIT_BEGIN_RANGE_KHR          = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,
7401     VK_PERFORMANCE_COUNTER_UNIT_END_RANGE_KHR            = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR,
7402     VK_PERFORMANCE_COUNTER_UNIT_RANGE_SIZE_KHR           = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR - VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR + 1,
7403     VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR             = 0x7FFFFFFF
7404 }
7405 
7406 enum VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR             = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR;
7407 enum VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR          = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR;
7408 enum VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR         = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR;
7409 enum VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR               = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR;
7410 enum VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR    = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR;
7411 enum VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR              = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR;
7412 enum VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR               = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR;
7413 enum VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR               = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR;
7414 enum VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR                = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR;
7415 enum VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR               = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR;
7416 enum VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR              = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR;
7417 enum VK_PERFORMANCE_COUNTER_UNIT_BEGIN_RANGE_KHR         = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_BEGIN_RANGE_KHR;
7418 enum VK_PERFORMANCE_COUNTER_UNIT_END_RANGE_KHR           = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_END_RANGE_KHR;
7419 enum VK_PERFORMANCE_COUNTER_UNIT_RANGE_SIZE_KHR          = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_RANGE_SIZE_KHR;
7420 enum VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR            = VkPerformanceCounterUnitKHR.VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR;
7421 
7422 enum VkPerformanceCounterScopeKHR {
7423     VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR      = 0,
7424     VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR         = 1,
7425     VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR             = 2,
7426     VK_QUERY_SCOPE_COMMAND_BUFFER_KHR                    = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7427     VK_QUERY_SCOPE_RENDER_PASS_KHR                       = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7428     VK_QUERY_SCOPE_COMMAND_KHR                           = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7429     VK_PERFORMANCE_COUNTER_SCOPE_BEGIN_RANGE_KHR         = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7430     VK_PERFORMANCE_COUNTER_SCOPE_END_RANGE_KHR           = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7431     VK_PERFORMANCE_COUNTER_SCOPE_RANGE_SIZE_KHR          = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR - VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR + 1,
7432     VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR            = 0x7FFFFFFF
7433 }
7434 
7435 enum VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR     = VkPerformanceCounterScopeKHR.VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR;
7436 enum VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR        = VkPerformanceCounterScopeKHR.VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR;
7437 enum VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR            = VkPerformanceCounterScopeKHR.VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR;
7438 enum VK_QUERY_SCOPE_COMMAND_BUFFER_KHR                   = VkPerformanceCounterScopeKHR.VK_QUERY_SCOPE_COMMAND_BUFFER_KHR;
7439 enum VK_QUERY_SCOPE_RENDER_PASS_KHR                      = VkPerformanceCounterScopeKHR.VK_QUERY_SCOPE_RENDER_PASS_KHR;
7440 enum VK_QUERY_SCOPE_COMMAND_KHR                          = VkPerformanceCounterScopeKHR.VK_QUERY_SCOPE_COMMAND_KHR;
7441 enum VK_PERFORMANCE_COUNTER_SCOPE_BEGIN_RANGE_KHR        = VkPerformanceCounterScopeKHR.VK_PERFORMANCE_COUNTER_SCOPE_BEGIN_RANGE_KHR;
7442 enum VK_PERFORMANCE_COUNTER_SCOPE_END_RANGE_KHR          = VkPerformanceCounterScopeKHR.VK_PERFORMANCE_COUNTER_SCOPE_END_RANGE_KHR;
7443 enum VK_PERFORMANCE_COUNTER_SCOPE_RANGE_SIZE_KHR         = VkPerformanceCounterScopeKHR.VK_PERFORMANCE_COUNTER_SCOPE_RANGE_SIZE_KHR;
7444 enum VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR           = VkPerformanceCounterScopeKHR.VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR;
7445 
7446 enum VkPerformanceCounterStorageKHR {
7447     VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR     = 0,
7448     VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR     = 1,
7449     VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR    = 2,
7450     VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR    = 3,
7451     VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR   = 4,
7452     VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR   = 5,
7453     VK_PERFORMANCE_COUNTER_STORAGE_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,
7454     VK_PERFORMANCE_COUNTER_STORAGE_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR,
7455     VK_PERFORMANCE_COUNTER_STORAGE_RANGE_SIZE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR - VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR + 1,
7456     VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR  = 0x7FFFFFFF
7457 }
7458 
7459 enum VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR    = VkPerformanceCounterStorageKHR.VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR;
7460 enum VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR    = VkPerformanceCounterStorageKHR.VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR;
7461 enum VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR   = VkPerformanceCounterStorageKHR.VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR;
7462 enum VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR   = VkPerformanceCounterStorageKHR.VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR;
7463 enum VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR  = VkPerformanceCounterStorageKHR.VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR;
7464 enum VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR  = VkPerformanceCounterStorageKHR.VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR;
7465 enum VK_PERFORMANCE_COUNTER_STORAGE_BEGIN_RANGE_KHR = VkPerformanceCounterStorageKHR.VK_PERFORMANCE_COUNTER_STORAGE_BEGIN_RANGE_KHR;
7466 enum VK_PERFORMANCE_COUNTER_STORAGE_END_RANGE_KHR = VkPerformanceCounterStorageKHR.VK_PERFORMANCE_COUNTER_STORAGE_END_RANGE_KHR;
7467 enum VK_PERFORMANCE_COUNTER_STORAGE_RANGE_SIZE_KHR = VkPerformanceCounterStorageKHR.VK_PERFORMANCE_COUNTER_STORAGE_RANGE_SIZE_KHR;
7468 enum VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = VkPerformanceCounterStorageKHR.VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR;
7469 
7470 enum VkPerformanceCounterDescriptionFlagBitsKHR {
7471     VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR     = 0x00000001,
7472     VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR     = 0x00000002,
7473     VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR         = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7474     VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR         = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7475     VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR            = 0x7FFFFFFF
7476 }
7477 
7478 enum VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR    = VkPerformanceCounterDescriptionFlagBitsKHR.VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR;
7479 enum VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR    = VkPerformanceCounterDescriptionFlagBitsKHR.VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR;
7480 enum VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR        = VkPerformanceCounterDescriptionFlagBitsKHR.VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR;
7481 enum VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR        = VkPerformanceCounterDescriptionFlagBitsKHR.VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR;
7482 enum VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR           = VkPerformanceCounterDescriptionFlagBitsKHR.VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR;
7483 alias VkPerformanceCounterDescriptionFlagsKHR = VkFlags;
7484 
7485 enum VkAcquireProfilingLockFlagBitsKHR {
7486     VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR     = 0x7FFFFFFF
7487 }
7488 
7489 enum VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR    = VkAcquireProfilingLockFlagBitsKHR.VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR;
7490 alias VkAcquireProfilingLockFlagsKHR = VkFlags;
7491 
7492 struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7493     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR;
7494     void*            pNext;
7495     VkBool32         performanceCounterQueryPools;
7496     VkBool32         performanceCounterMultipleQueryPools;
7497 }
7498 
7499 struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7500     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR;
7501     void*            pNext;
7502     VkBool32         allowCommandBufferQueryCopies;
7503 }
7504 
7505 struct VkPerformanceCounterKHR {
7506     VkStructureType                 sType = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR;
7507     const( void )*                  pNext;
7508     VkPerformanceCounterUnitKHR     unit;
7509     VkPerformanceCounterScopeKHR    Scope;
7510     VkPerformanceCounterStorageKHR  storage;
7511     uint8_t[ VK_UUID_SIZE ]         uuid;
7512     alias                           scope_ = Scope;
7513     alias                           _scope = Scope;
7514 }
7515 
7516 struct VkPerformanceCounterDescriptionKHR {
7517     VkStructureType                          sType = VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR;
7518     const( void )*                           pNext;
7519     VkPerformanceCounterDescriptionFlagsKHR  flags;
7520     char[ VK_MAX_DESCRIPTION_SIZE ]          name;
7521     char[ VK_MAX_DESCRIPTION_SIZE ]          category;
7522     char[ VK_MAX_DESCRIPTION_SIZE ]          description;
7523 }
7524 
7525 struct VkQueryPoolPerformanceCreateInfoKHR {
7526     VkStructureType     sType = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR;
7527     const( void )*      pNext;
7528     uint32_t            queueFamilyIndex;
7529     uint32_t            counterIndexCount;
7530     const( uint32_t )*  pCounterIndices;
7531 }
7532 
7533 union VkPerformanceCounterResultKHR {
7534     int32_t   int32;
7535     int64_t   int64;
7536     uint32_t  uint32;
7537     uint64_t  uint64;
7538     float     float32;
7539     double    float64;
7540 }
7541 
7542 struct VkAcquireProfilingLockInfoKHR {
7543     VkStructureType                 sType = VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR;
7544     const( void )*                  pNext;
7545     VkAcquireProfilingLockFlagsKHR  flags;
7546     uint64_t                        timeout;
7547 }
7548 
7549 struct VkPerformanceQuerySubmitInfoKHR {
7550     VkStructureType  sType = VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR;
7551     const( void )*   pNext;
7552     uint32_t         counterPassIndex;
7553 }
7554 
7555 
7556 // - VK_KHR_maintenance2 -
7557 enum VK_KHR_maintenance2 = 1;
7558 
7559 alias VkPointClippingBehaviorKHR = VkPointClippingBehavior;
7560 alias VkTessellationDomainOriginKHR = VkTessellationDomainOrigin;
7561 enum VK_KHR_MAINTENANCE2_SPEC_VERSION = 1;
7562 enum VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2";
7563 
7564 alias VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties;
7565 alias VkRenderPassInputAttachmentAspectCreateInfoKHR = VkRenderPassInputAttachmentAspectCreateInfo;
7566 alias VkInputAttachmentAspectReferenceKHR = VkInputAttachmentAspectReference;
7567 alias VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo;
7568 alias VkPipelineTessellationDomainOriginStateCreateInfoKHR = VkPipelineTessellationDomainOriginStateCreateInfo;
7569 
7570 
7571 // - VK_KHR_get_surface_capabilities2 -
7572 enum VK_KHR_get_surface_capabilities2 = 1;
7573 
7574 enum VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION = 1;
7575 enum VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME = "VK_KHR_get_surface_capabilities2";
7576 
7577 struct VkPhysicalDeviceSurfaceInfo2KHR {
7578     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
7579     const( void )*   pNext;
7580     VkSurfaceKHR     surface;
7581 }
7582 
7583 struct VkSurfaceCapabilities2KHR {
7584     VkStructureType           sType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR;
7585     void*                     pNext;
7586     VkSurfaceCapabilitiesKHR  surfaceCapabilities;
7587 }
7588 
7589 struct VkSurfaceFormat2KHR {
7590     VkStructureType     sType = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR;
7591     void*               pNext;
7592     VkSurfaceFormatKHR  surfaceFormat;
7593 }
7594 
7595 
7596 // - VK_KHR_variable_pointers -
7597 enum VK_KHR_variable_pointers = 1;
7598 
7599 enum VK_KHR_VARIABLE_POINTERS_SPEC_VERSION = 1;
7600 enum VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME = "VK_KHR_variable_pointers";
7601 
7602 alias VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures;
7603 alias VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures;
7604 
7605 
7606 // - VK_KHR_get_display_properties2 -
7607 enum VK_KHR_get_display_properties2 = 1;
7608 
7609 enum VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION = 1;
7610 enum VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_display_properties2";
7611 
7612 struct VkDisplayProperties2KHR {
7613     VkStructureType         sType = VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR;
7614     void*                   pNext;
7615     VkDisplayPropertiesKHR  displayProperties;
7616 }
7617 
7618 struct VkDisplayPlaneProperties2KHR {
7619     VkStructureType              sType = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR;
7620     void*                        pNext;
7621     VkDisplayPlanePropertiesKHR  displayPlaneProperties;
7622 }
7623 
7624 struct VkDisplayModeProperties2KHR {
7625     VkStructureType             sType = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR;
7626     void*                       pNext;
7627     VkDisplayModePropertiesKHR  displayModeProperties;
7628 }
7629 
7630 struct VkDisplayPlaneInfo2KHR {
7631     VkStructureType   sType = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR;
7632     const( void )*    pNext;
7633     VkDisplayModeKHR  mode;
7634     uint32_t          planeIndex;
7635 }
7636 
7637 struct VkDisplayPlaneCapabilities2KHR {
7638     VkStructureType                sType = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR;
7639     void*                          pNext;
7640     VkDisplayPlaneCapabilitiesKHR  capabilities;
7641 }
7642 
7643 
7644 // - VK_KHR_dedicated_allocation -
7645 enum VK_KHR_dedicated_allocation = 1;
7646 
7647 enum VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION = 3;
7648 enum VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_KHR_dedicated_allocation";
7649 
7650 alias VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements;
7651 alias VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo;
7652 
7653 
7654 // - VK_KHR_storage_buffer_storage_class -
7655 enum VK_KHR_storage_buffer_storage_class = 1;
7656 
7657 enum VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION = 1;
7658 enum VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME = "VK_KHR_storage_buffer_storage_class";
7659 
7660 
7661 // - VK_KHR_relaxed_block_layout -
7662 enum VK_KHR_relaxed_block_layout = 1;
7663 
7664 enum VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION = 1;
7665 enum VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME = "VK_KHR_relaxed_block_layout";
7666 
7667 
7668 // - VK_KHR_get_memory_requirements2 -
7669 enum VK_KHR_get_memory_requirements2 = 1;
7670 
7671 enum VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION = 1;
7672 enum VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME = "VK_KHR_get_memory_requirements2";
7673 
7674 alias VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2;
7675 alias VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2;
7676 alias VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2;
7677 alias VkMemoryRequirements2KHR = VkMemoryRequirements2;
7678 alias VkSparseImageMemoryRequirements2KHR = VkSparseImageMemoryRequirements2;
7679 
7680 
7681 // - VK_KHR_image_format_list -
7682 enum VK_KHR_image_format_list = 1;
7683 
7684 enum VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION = 1;
7685 enum VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME = "VK_KHR_image_format_list";
7686 
7687 alias VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfo;
7688 
7689 
7690 // - VK_KHR_sampler_ycbcr_conversion -
7691 enum VK_KHR_sampler_ycbcr_conversion = 1;
7692 
7693 alias VkSamplerYcbcrConversionKHR = VkSamplerYcbcrConversion;
7694 
7695 alias VkSamplerYcbcrModelConversionKHR = VkSamplerYcbcrModelConversion;
7696 alias VkSamplerYcbcrRangeKHR = VkSamplerYcbcrRange;
7697 alias VkChromaLocationKHR = VkChromaLocation;
7698 enum VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION = 14;
7699 enum VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME = "VK_KHR_sampler_ycbcr_conversion";
7700 
7701 alias VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo;
7702 alias VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo;
7703 alias VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo;
7704 alias VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo;
7705 alias VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures;
7706 alias VkSamplerYcbcrConversionImageFormatPropertiesKHR = VkSamplerYcbcrConversionImageFormatProperties;
7707 
7708 
7709 // - VK_KHR_bind_memory2 -
7710 enum VK_KHR_bind_memory2 = 1;
7711 
7712 enum VK_KHR_BIND_MEMORY_2_SPEC_VERSION = 1;
7713 enum VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2";
7714 
7715 alias VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo;
7716 alias VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo;
7717 
7718 
7719 // - VK_KHR_maintenance3 -
7720 enum VK_KHR_maintenance3 = 1;
7721 
7722 enum VK_KHR_MAINTENANCE3_SPEC_VERSION = 1;
7723 enum VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3";
7724 
7725 alias VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties;
7726 alias VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport;
7727 
7728 
7729 // - VK_KHR_draw_indirect_count -
7730 enum VK_KHR_draw_indirect_count = 1;
7731 
7732 enum VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1;
7733 enum VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_KHR_draw_indirect_count";
7734 
7735 
7736 // - VK_KHR_shader_subgroup_extended_types -
7737 enum VK_KHR_shader_subgroup_extended_types = 1;
7738 
7739 enum VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION = 1;
7740 enum VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME = "VK_KHR_shader_subgroup_extended_types";
7741 
7742 alias VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
7743 
7744 
7745 // - VK_KHR_8bit_storage -
7746 enum VK_KHR_8bit_storage = 1;
7747 
7748 enum VK_KHR_8BIT_STORAGE_SPEC_VERSION = 1;
7749 enum VK_KHR_8BIT_STORAGE_EXTENSION_NAME = "VK_KHR_8bit_storage";
7750 
7751 alias VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures;
7752 
7753 
7754 // - VK_KHR_shader_atomic_int64 -
7755 enum VK_KHR_shader_atomic_int64 = 1;
7756 
7757 enum VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION = 1;
7758 enum VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME = "VK_KHR_shader_atomic_int64";
7759 
7760 alias VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features;
7761 
7762 
7763 // - VK_KHR_shader_clock -
7764 enum VK_KHR_shader_clock = 1;
7765 
7766 enum VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1;
7767 enum VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock";
7768 
7769 struct VkPhysicalDeviceShaderClockFeaturesKHR {
7770     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR;
7771     void*            pNext;
7772     VkBool32         shaderSubgroupClock;
7773     VkBool32         shaderDeviceClock;
7774 }
7775 
7776 
7777 // - VK_KHR_driver_properties -
7778 enum VK_KHR_driver_properties = 1;
7779 
7780 alias VkDriverIdKHR = VkDriverId;
7781 enum VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1;
7782 enum VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME = "VK_KHR_driver_properties";
7783 alias VK_MAX_DRIVER_NAME_SIZE_KHR = VK_MAX_DRIVER_NAME_SIZE;
7784 alias VK_MAX_DRIVER_INFO_SIZE_KHR = VK_MAX_DRIVER_INFO_SIZE;
7785 
7786 alias VkConformanceVersionKHR = VkConformanceVersion;
7787 alias VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties;
7788 
7789 
7790 // - VK_KHR_shader_float_controls -
7791 enum VK_KHR_shader_float_controls = 1;
7792 
7793 alias VkShaderFloatControlsIndependenceKHR = VkShaderFloatControlsIndependence;
7794 enum VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION = 4;
7795 enum VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME = "VK_KHR_shader_float_controls";
7796 
7797 alias VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties;
7798 
7799 
7800 // - VK_KHR_depth_stencil_resolve -
7801 enum VK_KHR_depth_stencil_resolve = 1;
7802 
7803 enum VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION = 1;
7804 enum VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME = "VK_KHR_depth_stencil_resolve";
7805 
7806 alias VkResolveModeFlagBitsKHR = VkResolveModeFlagBits;
7807 alias VkResolveModeFlagsKHR = VkResolveModeFlags;
7808 
7809 alias VkSubpassDescriptionDepthStencilResolveKHR = VkSubpassDescriptionDepthStencilResolve;
7810 alias VkPhysicalDeviceDepthStencilResolvePropertiesKHR = VkPhysicalDeviceDepthStencilResolveProperties;
7811 
7812 
7813 // - VK_KHR_swapchain_mutable_format -
7814 enum VK_KHR_swapchain_mutable_format = 1;
7815 
7816 enum VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION = 1;
7817 enum VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME = "VK_KHR_swapchain_mutable_format";
7818 
7819 
7820 // - VK_KHR_timeline_semaphore -
7821 enum VK_KHR_timeline_semaphore = 1;
7822 
7823 alias VkSemaphoreTypeKHR = VkSemaphoreType;
7824 enum VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION = 2;
7825 enum VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME = "VK_KHR_timeline_semaphore";
7826 
7827 alias VkSemaphoreWaitFlagBitsKHR = VkSemaphoreWaitFlagBits;
7828 alias VkSemaphoreWaitFlagsKHR = VkSemaphoreWaitFlags;
7829 
7830 alias VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures;
7831 alias VkPhysicalDeviceTimelineSemaphorePropertiesKHR = VkPhysicalDeviceTimelineSemaphoreProperties;
7832 alias VkSemaphoreTypeCreateInfoKHR = VkSemaphoreTypeCreateInfo;
7833 alias VkTimelineSemaphoreSubmitInfoKHR = VkTimelineSemaphoreSubmitInfo;
7834 alias VkSemaphoreWaitInfoKHR = VkSemaphoreWaitInfo;
7835 alias VkSemaphoreSignalInfoKHR = VkSemaphoreSignalInfo;
7836 
7837 
7838 // - VK_KHR_vulkan_memory_model -
7839 enum VK_KHR_vulkan_memory_model = 1;
7840 
7841 enum VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION = 3;
7842 enum VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME = "VK_KHR_vulkan_memory_model";
7843 
7844 alias VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures;
7845 
7846 
7847 // - VK_KHR_shader_terminate_invocation -
7848 enum VK_KHR_shader_terminate_invocation = 1;
7849 
7850 enum VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION = 1;
7851 enum VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_terminate_invocation";
7852 
7853 struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
7854     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR;
7855     void*            pNext;
7856     VkBool32         shaderTerminateInvocation;
7857 }
7858 
7859 
7860 // - VK_KHR_fragment_shading_rate -
7861 enum VK_KHR_fragment_shading_rate = 1;
7862 
7863 enum VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1;
7864 enum VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate";
7865 
7866 enum VkFragmentShadingRateCombinerOpKHR {
7867     VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR        = 0,
7868     VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR     = 1,
7869     VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR         = 2,
7870     VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR         = 3,
7871     VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR         = 4,
7872     VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_BEGIN_RANGE_KHR = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR,
7873     VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_END_RANGE_KHR = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR,
7874     VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_RANGE_SIZE_KHR = VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR - VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR + 1,
7875     VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_MAX_ENUM_KHR = 0x7FFFFFFF
7876 }
7877 
7878 enum VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR       = VkFragmentShadingRateCombinerOpKHR.VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR;
7879 enum VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR    = VkFragmentShadingRateCombinerOpKHR.VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR;
7880 enum VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR        = VkFragmentShadingRateCombinerOpKHR.VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR;
7881 enum VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR        = VkFragmentShadingRateCombinerOpKHR.VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR;
7882 enum VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR        = VkFragmentShadingRateCombinerOpKHR.VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR;
7883 enum VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_BEGIN_RANGE_KHR = VkFragmentShadingRateCombinerOpKHR.VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_BEGIN_RANGE_KHR;
7884 enum VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_END_RANGE_KHR = VkFragmentShadingRateCombinerOpKHR.VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_END_RANGE_KHR;
7885 enum VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_RANGE_SIZE_KHR = VkFragmentShadingRateCombinerOpKHR.VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_RANGE_SIZE_KHR;
7886 enum VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_MAX_ENUM_KHR = VkFragmentShadingRateCombinerOpKHR.VK_FRAGMENT_SHADING_RATE_COMBINER_OPKHR_MAX_ENUM_KHR;
7887 
7888 struct VkFragmentShadingRateAttachmentInfoKHR {
7889     VkStructureType                   sType = VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR;
7890     const( void )*                    pNext;
7891     const( VkAttachmentReference2 )*  pFragmentShadingRateAttachment;
7892     VkExtent2D                        shadingRateAttachmentTexelSize;
7893 }
7894 
7895 struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
7896     VkStructureType                        sType = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR;
7897     const( void )*                         pNext;
7898     VkExtent2D                             fragmentSize;
7899     VkFragmentShadingRateCombinerOpKHR[2]  combinerOps;
7900 }
7901 
7902 struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
7903     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR;
7904     void*            pNext;
7905     VkBool32         pipelineFragmentShadingRate;
7906     VkBool32         primitiveFragmentShadingRate;
7907     VkBool32         attachmentFragmentShadingRate;
7908 }
7909 
7910 struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
7911     VkStructureType        sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR;
7912     void*                  pNext;
7913     VkExtent2D             minFragmentShadingRateAttachmentTexelSize;
7914     VkExtent2D             maxFragmentShadingRateAttachmentTexelSize;
7915     uint32_t               maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
7916     VkBool32               primitiveFragmentShadingRateWithMultipleViewports;
7917     VkBool32               layeredShadingRateAttachments;
7918     VkBool32               fragmentShadingRateNonTrivialCombinerOps;
7919     VkExtent2D             maxFragmentSize;
7920     uint32_t               maxFragmentSizeAspectRatio;
7921     uint32_t               maxFragmentShadingRateCoverageSamples;
7922     VkSampleCountFlagBits  maxFragmentShadingRateRasterizationSamples;
7923     VkBool32               fragmentShadingRateWithShaderDepthStencilWrites;
7924     VkBool32               fragmentShadingRateWithSampleMask;
7925     VkBool32               fragmentShadingRateWithShaderSampleMask;
7926     VkBool32               fragmentShadingRateWithConservativeRasterization;
7927     VkBool32               fragmentShadingRateWithFragmentShaderInterlock;
7928     VkBool32               fragmentShadingRateWithCustomSampleLocations;
7929     VkBool32               fragmentShadingRateStrictMultiplyCombiner;
7930 }
7931 
7932 struct VkPhysicalDeviceFragmentShadingRateKHR {
7933     VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR;
7934     void*               pNext;
7935     VkSampleCountFlags  sampleCounts;
7936     VkExtent2D          fragmentSize;
7937 }
7938 
7939 
7940 // - VK_KHR_spirv_1_4 -
7941 enum VK_KHR_spirv_1_4 = 1;
7942 
7943 enum VK_KHR_SPIRV_1_4_SPEC_VERSION = 1;
7944 enum VK_KHR_SPIRV_1_4_EXTENSION_NAME = "VK_KHR_spirv_1_4";
7945 
7946 
7947 // - VK_KHR_surface_protected_capabilities -
7948 enum VK_KHR_surface_protected_capabilities = 1;
7949 
7950 enum VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION = 1;
7951 enum VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME = "VK_KHR_surface_protected_capabilities";
7952 
7953 struct VkSurfaceProtectedCapabilitiesKHR {
7954     VkStructureType  sType = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR;
7955     const( void )*   pNext;
7956     VkBool32         supportsProtected;
7957 }
7958 
7959 
7960 // - VK_KHR_separate_depth_stencil_layouts -
7961 enum VK_KHR_separate_depth_stencil_layouts = 1;
7962 
7963 enum VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1;
7964 enum VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts";
7965 
7966 alias VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
7967 alias VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout;
7968 alias VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout;
7969 
7970 
7971 // - VK_KHR_uniform_buffer_standard_layout -
7972 enum VK_KHR_uniform_buffer_standard_layout = 1;
7973 
7974 enum VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1;
7975 enum VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME = "VK_KHR_uniform_buffer_standard_layout";
7976 
7977 alias VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
7978 
7979 
7980 // - VK_KHR_buffer_device_address -
7981 enum VK_KHR_buffer_device_address = 1;
7982 
7983 enum VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION = 1;
7984 enum VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME = "VK_KHR_buffer_device_address";
7985 
7986 alias VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures;
7987 alias VkBufferDeviceAddressInfoKHR = VkBufferDeviceAddressInfo;
7988 alias VkBufferOpaqueCaptureAddressCreateInfoKHR = VkBufferOpaqueCaptureAddressCreateInfo;
7989 alias VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo;
7990 alias VkDeviceMemoryOpaqueCaptureAddressInfoKHR = VkDeviceMemoryOpaqueCaptureAddressInfo;
7991 
7992 
7993 // - VK_KHR_deferred_host_operations -
7994 enum VK_KHR_deferred_host_operations = 1;
7995 
7996 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDeferredOperationKHR} );
7997 
7998 enum VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION = 4;
7999 enum VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME = "VK_KHR_deferred_host_operations";
8000 
8001 
8002 // - VK_KHR_pipeline_executable_properties -
8003 enum VK_KHR_pipeline_executable_properties = 1;
8004 
8005 enum VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1;
8006 enum VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties";
8007 
8008 enum VkPipelineExecutableStatisticFormatKHR {
8009     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR   = 0,
8010     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR    = 1,
8011     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR   = 2,
8012     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR  = 3,
8013     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BEGIN_RANGE_KHR = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,
8014     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_END_RANGE_KHR = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR,
8015     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_RANGE_SIZE_KHR = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR - VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR + 1,
8016     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
8017 }
8018 
8019 enum VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR  = VkPipelineExecutableStatisticFormatKHR.VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR;
8020 enum VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR   = VkPipelineExecutableStatisticFormatKHR.VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR;
8021 enum VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR  = VkPipelineExecutableStatisticFormatKHR.VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR;
8022 enum VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = VkPipelineExecutableStatisticFormatKHR.VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR;
8023 enum VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BEGIN_RANGE_KHR = VkPipelineExecutableStatisticFormatKHR.VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BEGIN_RANGE_KHR;
8024 enum VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_END_RANGE_KHR = VkPipelineExecutableStatisticFormatKHR.VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_END_RANGE_KHR;
8025 enum VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_RANGE_SIZE_KHR = VkPipelineExecutableStatisticFormatKHR.VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_RANGE_SIZE_KHR;
8026 enum VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = VkPipelineExecutableStatisticFormatKHR.VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR;
8027 
8028 struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
8029     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR;
8030     void*            pNext;
8031     VkBool32         pipelineExecutableInfo;
8032 }
8033 
8034 struct VkPipelineInfoKHR {
8035     VkStructureType  sType = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR;
8036     const( void )*   pNext;
8037     VkPipeline       pipeline;
8038 }
8039 
8040 struct VkPipelineExecutablePropertiesKHR {
8041     VkStructureType                  sType = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR;
8042     void*                            pNext;
8043     VkShaderStageFlags               stages;
8044     char[ VK_MAX_DESCRIPTION_SIZE ]  name;
8045     char[ VK_MAX_DESCRIPTION_SIZE ]  description;
8046     uint32_t                         subgroupSize;
8047 }
8048 
8049 struct VkPipelineExecutableInfoKHR {
8050     VkStructureType  sType = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR;
8051     const( void )*   pNext;
8052     VkPipeline       pipeline;
8053     uint32_t         executableIndex;
8054 }
8055 
8056 union VkPipelineExecutableStatisticValueKHR {
8057     VkBool32  b32;
8058     int64_t   i64;
8059     uint64_t  u64;
8060     double    f64;
8061 }
8062 
8063 struct VkPipelineExecutableStatisticKHR {
8064     VkStructureType                         sType = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR;
8065     void*                                   pNext;
8066     char[ VK_MAX_DESCRIPTION_SIZE ]         name;
8067     char[ VK_MAX_DESCRIPTION_SIZE ]         description;
8068     VkPipelineExecutableStatisticFormatKHR  format;
8069     VkPipelineExecutableStatisticValueKHR   value;
8070 }
8071 
8072 struct VkPipelineExecutableInternalRepresentationKHR {
8073     VkStructureType                  sType = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR;
8074     void*                            pNext;
8075     char[ VK_MAX_DESCRIPTION_SIZE ]  name;
8076     char[ VK_MAX_DESCRIPTION_SIZE ]  description;
8077     VkBool32                         isText;
8078     size_t                           dataSize;
8079     void*                            pData;
8080 }
8081 
8082 
8083 // - VK_KHR_pipeline_library -
8084 enum VK_KHR_pipeline_library = 1;
8085 
8086 enum VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1;
8087 enum VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME = "VK_KHR_pipeline_library";
8088 
8089 struct VkPipelineLibraryCreateInfoKHR {
8090     VkStructureType       sType = VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR;
8091     const( void )*        pNext;
8092     uint32_t              libraryCount;
8093     const( VkPipeline )*  pLibraries;
8094 }
8095 
8096 
8097 // - VK_KHR_shader_non_semantic_info -
8098 enum VK_KHR_shader_non_semantic_info = 1;
8099 
8100 enum VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1;
8101 enum VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info";
8102 
8103 
8104 // - VK_KHR_zero_initialize_workgroup_memory -
8105 enum VK_KHR_zero_initialize_workgroup_memory = 1;
8106 
8107 enum VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1;
8108 enum VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME = "VK_KHR_zero_initialize_workgroup_memory";
8109 
8110 struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
8111     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR;
8112     void*            pNext;
8113     VkBool32         shaderZeroInitializeWorkgroupMemory;
8114 }
8115 
8116 
8117 // - VK_KHR_workgroup_memory_explicit_layout -
8118 enum VK_KHR_workgroup_memory_explicit_layout = 1;
8119 
8120 enum VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION = 1;
8121 enum VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME = "VK_KHR_workgroup_memory_explicit_layout";
8122 
8123 struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
8124     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR;
8125     void*            pNext;
8126     VkBool32         workgroupMemoryExplicitLayout;
8127     VkBool32         workgroupMemoryExplicitLayoutScalarBlockLayout;
8128     VkBool32         workgroupMemoryExplicitLayout8BitAccess;
8129     VkBool32         workgroupMemoryExplicitLayout16BitAccess;
8130 }
8131 
8132 
8133 // - VK_KHR_copy_commands2 -
8134 enum VK_KHR_copy_commands2 = 1;
8135 
8136 enum VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1;
8137 enum VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2";
8138 
8139 struct VkBufferCopy2KHR {
8140     VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR;
8141     const( void )*   pNext;
8142     VkDeviceSize     srcOffset;
8143     VkDeviceSize     dstOffset;
8144     VkDeviceSize     size;
8145 }
8146 
8147 struct VkCopyBufferInfo2KHR {
8148     VkStructureType             sType = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR;
8149     const( void )*              pNext;
8150     VkBuffer                    srcBuffer;
8151     VkBuffer                    dstBuffer;
8152     uint32_t                    regionCount;
8153     const( VkBufferCopy2KHR )*  pRegions;
8154 }
8155 
8156 struct VkImageCopy2KHR {
8157     VkStructureType           sType = VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR;
8158     const( void )*            pNext;
8159     VkImageSubresourceLayers  srcSubresource;
8160     VkOffset3D                srcOffset;
8161     VkImageSubresourceLayers  dstSubresource;
8162     VkOffset3D                dstOffset;
8163     VkExtent3D                extent;
8164 }
8165 
8166 struct VkCopyImageInfo2KHR {
8167     VkStructureType            sType = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR;
8168     const( void )*             pNext;
8169     VkImage                    srcImage;
8170     VkImageLayout              srcImageLayout;
8171     VkImage                    dstImage;
8172     VkImageLayout              dstImageLayout;
8173     uint32_t                   regionCount;
8174     const( VkImageCopy2KHR )*  pRegions;
8175 }
8176 
8177 struct VkBufferImageCopy2KHR {
8178     VkStructureType           sType = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR;
8179     const( void )*            pNext;
8180     VkDeviceSize              bufferOffset;
8181     uint32_t                  bufferRowLength;
8182     uint32_t                  bufferImageHeight;
8183     VkImageSubresourceLayers  imageSubresource;
8184     VkOffset3D                imageOffset;
8185     VkExtent3D                imageExtent;
8186 }
8187 
8188 struct VkCopyBufferToImageInfo2KHR {
8189     VkStructureType                  sType = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR;
8190     const( void )*                   pNext;
8191     VkBuffer                         srcBuffer;
8192     VkImage                          dstImage;
8193     VkImageLayout                    dstImageLayout;
8194     uint32_t                         regionCount;
8195     const( VkBufferImageCopy2KHR )*  pRegions;
8196 }
8197 
8198 struct VkCopyImageToBufferInfo2KHR {
8199     VkStructureType                  sType = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR;
8200     const( void )*                   pNext;
8201     VkImage                          srcImage;
8202     VkImageLayout                    srcImageLayout;
8203     VkBuffer                         dstBuffer;
8204     uint32_t                         regionCount;
8205     const( VkBufferImageCopy2KHR )*  pRegions;
8206 }
8207 
8208 struct VkImageBlit2KHR {
8209     VkStructureType           sType = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR;
8210     const( void )*            pNext;
8211     VkImageSubresourceLayers  srcSubresource;
8212     VkOffset3D[2]             srcOffsets;
8213     VkImageSubresourceLayers  dstSubresource;
8214     VkOffset3D[2]             dstOffsets;
8215 }
8216 
8217 struct VkBlitImageInfo2KHR {
8218     VkStructureType            sType = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR;
8219     const( void )*             pNext;
8220     VkImage                    srcImage;
8221     VkImageLayout              srcImageLayout;
8222     VkImage                    dstImage;
8223     VkImageLayout              dstImageLayout;
8224     uint32_t                   regionCount;
8225     const( VkImageBlit2KHR )*  pRegions;
8226     VkFilter                   filter;
8227 }
8228 
8229 struct VkImageResolve2KHR {
8230     VkStructureType           sType = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR;
8231     const( void )*            pNext;
8232     VkImageSubresourceLayers  srcSubresource;
8233     VkOffset3D                srcOffset;
8234     VkImageSubresourceLayers  dstSubresource;
8235     VkOffset3D                dstOffset;
8236     VkExtent3D                extent;
8237 }
8238 
8239 struct VkResolveImageInfo2KHR {
8240     VkStructureType               sType = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR;
8241     const( void )*                pNext;
8242     VkImage                       srcImage;
8243     VkImageLayout                 srcImageLayout;
8244     VkImage                       dstImage;
8245     VkImageLayout                 dstImageLayout;
8246     uint32_t                      regionCount;
8247     const( VkImageResolve2KHR )*  pRegions;
8248 }
8249 
8250 
8251 // - VK_EXT_debug_report -
8252 enum VK_EXT_debug_report = 1;
8253 
8254 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDebugReportCallbackEXT} );
8255 
8256 enum VK_EXT_DEBUG_REPORT_SPEC_VERSION = 9;
8257 enum VK_EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report";
8258 
8259 enum VkDebugReportObjectTypeEXT {
8260     VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT                              = 0,
8261     VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT                             = 1,
8262     VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT                      = 2,
8263     VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT                               = 3,
8264     VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT                                = 4,
8265     VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT                            = 5,
8266     VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT                       = 6,
8267     VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT                                = 7,
8268     VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT                        = 8,
8269     VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT                               = 9,
8270     VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT                                = 10,
8271     VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT                                = 11,
8272     VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT                           = 12,
8273     VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT                          = 13,
8274     VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT                           = 14,
8275     VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT                        = 15,
8276     VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT                       = 16,
8277     VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT                      = 17,
8278     VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT                          = 18,
8279     VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT                             = 19,
8280     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT                = 20,
8281     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT                              = 21,
8282     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT                      = 22,
8283     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT                       = 23,
8284     VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT                          = 24,
8285     VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT                         = 25,
8286     VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT                          = 26,
8287     VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT                        = 27,
8288     VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT            = 28,
8289     VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT                          = 29,
8290     VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT                     = 30,
8291     VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT                 = 33,
8292     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT             = 1000156000,
8293     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT           = 1000085000,
8294     VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT           = 1000150000,
8295     VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT            = 1000165000,
8296     VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT                         = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
8297     VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT                     = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
8298     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT       = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
8299     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT         = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
8300     VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT                          = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
8301     VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT                            = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
8302     VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT                           = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1,
8303     VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT                             = 0x7FFFFFFF
8304 }
8305 
8306 enum VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT                             = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;
8307 enum VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT                            = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT;
8308 enum VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT                     = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT;
8309 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT                              = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT;
8310 enum VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT                               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT;
8311 enum VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT                           = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT;
8312 enum VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT                      = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT;
8313 enum VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT                               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT;
8314 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT                       = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT;
8315 enum VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT                              = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT;
8316 enum VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT                               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT;
8317 enum VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT                               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT;
8318 enum VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT                          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT;
8319 enum VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT;
8320 enum VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT                          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT;
8321 enum VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT                       = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT;
8322 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT                      = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT;
8323 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT                     = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT;
8324 enum VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT;
8325 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT                            = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT;
8326 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT;
8327 enum VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT                             = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT;
8328 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT                     = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT;
8329 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT                      = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT;
8330 enum VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT;
8331 enum VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT                        = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT;
8332 enum VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT;
8333 enum VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT                       = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT;
8334 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT           = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT;
8335 enum VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT;
8336 enum VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT                    = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT;
8337 enum VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT                = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT;
8338 enum VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT            = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT;
8339 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT;
8340 enum VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT;
8341 enum VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT           = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT;
8342 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT                        = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT;
8343 enum VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT                    = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT;
8344 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT      = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT;
8345 enum VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT        = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT;
8346 enum VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT;
8347 enum VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT                           = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT;
8348 enum VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT                          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT;
8349 enum VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT                            = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT;
8350 
8351 enum VkDebugReportFlagBitsEXT {
8352     VK_DEBUG_REPORT_INFORMATION_BIT_EXT          = 0x00000001,
8353     VK_DEBUG_REPORT_WARNING_BIT_EXT              = 0x00000002,
8354     VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT  = 0x00000004,
8355     VK_DEBUG_REPORT_ERROR_BIT_EXT                = 0x00000008,
8356     VK_DEBUG_REPORT_DEBUG_BIT_EXT                = 0x00000010,
8357     VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT       = 0x7FFFFFFF
8358 }
8359 
8360 enum VK_DEBUG_REPORT_INFORMATION_BIT_EXT         = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_INFORMATION_BIT_EXT;
8361 enum VK_DEBUG_REPORT_WARNING_BIT_EXT             = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_WARNING_BIT_EXT;
8362 enum VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT;
8363 enum VK_DEBUG_REPORT_ERROR_BIT_EXT               = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_ERROR_BIT_EXT;
8364 enum VK_DEBUG_REPORT_DEBUG_BIT_EXT               = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_DEBUG_BIT_EXT;
8365 enum VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT      = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT;
8366 alias VkDebugReportFlagsEXT = VkFlags;
8367 
8368 alias PFN_vkDebugReportCallbackEXT = VkBool32 function(
8369     VkDebugReportFlagsEXT       flags,
8370     VkDebugReportObjectTypeEXT  objectType,
8371     uint64_t                    object,
8372     size_t                      location,
8373     int32_t                     messageCode,
8374     const( char )*              pLayerPrefix,
8375     const( char )*              pMessage,
8376     void*                       pUserData
8377 );
8378 
8379 struct VkDebugReportCallbackCreateInfoEXT {
8380     VkStructureType               sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
8381     const( void )*                pNext;
8382     VkDebugReportFlagsEXT         flags;
8383     PFN_vkDebugReportCallbackEXT  pfnCallback;
8384     void*                         pUserData;
8385 }
8386 
8387 
8388 // - VK_NV_glsl_shader -
8389 enum VK_NV_glsl_shader = 1;
8390 
8391 enum VK_NV_GLSL_SHADER_SPEC_VERSION = 1;
8392 enum VK_NV_GLSL_SHADER_EXTENSION_NAME = "VK_NV_glsl_shader";
8393 
8394 
8395 // - VK_EXT_depth_range_unrestricted -
8396 enum VK_EXT_depth_range_unrestricted = 1;
8397 
8398 enum VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION = 1;
8399 enum VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME = "VK_EXT_depth_range_unrestricted";
8400 
8401 
8402 // - VK_IMG_filter_cubic -
8403 enum VK_IMG_filter_cubic = 1;
8404 
8405 enum VK_IMG_FILTER_CUBIC_SPEC_VERSION = 1;
8406 enum VK_IMG_FILTER_CUBIC_EXTENSION_NAME = "VK_IMG_filter_cubic";
8407 
8408 
8409 // - VK_AMD_rasterization_order -
8410 enum VK_AMD_rasterization_order = 1;
8411 
8412 enum VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION = 1;
8413 enum VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME = "VK_AMD_rasterization_order";
8414 
8415 enum VkRasterizationOrderAMD {
8416     VK_RASTERIZATION_ORDER_STRICT_AMD    = 0,
8417     VK_RASTERIZATION_ORDER_RELAXED_AMD   = 1,
8418     VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD,
8419     VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD,
8420     VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1,
8421     VK_RASTERIZATION_ORDER_MAX_ENUM_AMD  = 0x7FFFFFFF
8422 }
8423 
8424 enum VK_RASTERIZATION_ORDER_STRICT_AMD   = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_STRICT_AMD;
8425 enum VK_RASTERIZATION_ORDER_RELAXED_AMD  = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_RELAXED_AMD;
8426 enum VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD;
8427 enum VK_RASTERIZATION_ORDER_END_RANGE_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_END_RANGE_AMD;
8428 enum VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD;
8429 enum VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_MAX_ENUM_AMD;
8430 
8431 struct VkPipelineRasterizationStateRasterizationOrderAMD {
8432     VkStructureType          sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
8433     const( void )*           pNext;
8434     VkRasterizationOrderAMD  rasterizationOrder;
8435 }
8436 
8437 
8438 // - VK_AMD_shader_trinary_minmax -
8439 enum VK_AMD_shader_trinary_minmax = 1;
8440 
8441 enum VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION = 1;
8442 enum VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME = "VK_AMD_shader_trinary_minmax";
8443 
8444 
8445 // - VK_AMD_shader_explicit_vertex_parameter -
8446 enum VK_AMD_shader_explicit_vertex_parameter = 1;
8447 
8448 enum VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION = 1;
8449 enum VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME = "VK_AMD_shader_explicit_vertex_parameter";
8450 
8451 
8452 // - VK_EXT_debug_marker -
8453 enum VK_EXT_debug_marker = 1;
8454 
8455 enum VK_EXT_DEBUG_MARKER_SPEC_VERSION = 4;
8456 enum VK_EXT_DEBUG_MARKER_EXTENSION_NAME = "VK_EXT_debug_marker";
8457 
8458 struct VkDebugMarkerObjectNameInfoEXT {
8459     VkStructureType             sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT;
8460     const( void )*              pNext;
8461     VkDebugReportObjectTypeEXT  objectType;
8462     uint64_t                    object;
8463     const( char )*              pObjectName;
8464 }
8465 
8466 struct VkDebugMarkerObjectTagInfoEXT {
8467     VkStructureType             sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT;
8468     const( void )*              pNext;
8469     VkDebugReportObjectTypeEXT  objectType;
8470     uint64_t                    object;
8471     uint64_t                    tagName;
8472     size_t                      tagSize;
8473     const( void )*              pTag;
8474 }
8475 
8476 struct VkDebugMarkerMarkerInfoEXT {
8477     VkStructureType  sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
8478     const( void )*   pNext;
8479     const( char )*   pMarkerName;
8480     float[4]         color;
8481 }
8482 
8483 
8484 // - VK_AMD_gcn_shader -
8485 enum VK_AMD_gcn_shader = 1;
8486 
8487 enum VK_AMD_GCN_SHADER_SPEC_VERSION = 1;
8488 enum VK_AMD_GCN_SHADER_EXTENSION_NAME = "VK_AMD_gcn_shader";
8489 
8490 
8491 // - VK_NV_dedicated_allocation -
8492 enum VK_NV_dedicated_allocation = 1;
8493 
8494 enum VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION = 1;
8495 enum VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_NV_dedicated_allocation";
8496 
8497 struct VkDedicatedAllocationImageCreateInfoNV {
8498     VkStructureType  sType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV;
8499     const( void )*   pNext;
8500     VkBool32         dedicatedAllocation;
8501 }
8502 
8503 struct VkDedicatedAllocationBufferCreateInfoNV {
8504     VkStructureType  sType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV;
8505     const( void )*   pNext;
8506     VkBool32         dedicatedAllocation;
8507 }
8508 
8509 struct VkDedicatedAllocationMemoryAllocateInfoNV {
8510     VkStructureType  sType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV;
8511     const( void )*   pNext;
8512     VkImage          image;
8513     VkBuffer         buffer;
8514 }
8515 
8516 
8517 // - VK_EXT_transform_feedback -
8518 enum VK_EXT_transform_feedback = 1;
8519 
8520 enum VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1;
8521 enum VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback";
8522 
8523 alias VkPipelineRasterizationStateStreamCreateFlagsEXT = VkFlags;
8524 
8525 struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
8526     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
8527     void*            pNext;
8528     VkBool32         transformFeedback;
8529     VkBool32         geometryStreams;
8530 }
8531 
8532 struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
8533     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT;
8534     void*            pNext;
8535     uint32_t         maxTransformFeedbackStreams;
8536     uint32_t         maxTransformFeedbackBuffers;
8537     VkDeviceSize     maxTransformFeedbackBufferSize;
8538     uint32_t         maxTransformFeedbackStreamDataSize;
8539     uint32_t         maxTransformFeedbackBufferDataSize;
8540     uint32_t         maxTransformFeedbackBufferDataStride;
8541     VkBool32         transformFeedbackQueries;
8542     VkBool32         transformFeedbackStreamsLinesTriangles;
8543     VkBool32         transformFeedbackRasterizationStreamSelect;
8544     VkBool32         transformFeedbackDraw;
8545 }
8546 
8547 struct VkPipelineRasterizationStateStreamCreateInfoEXT {
8548     VkStructureType                                   sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT;
8549     const( void )*                                    pNext;
8550     VkPipelineRasterizationStateStreamCreateFlagsEXT  flags;
8551     uint32_t                                          rasterizationStream;
8552 }
8553 
8554 
8555 // - VK_NVX_image_view_handle -
8556 enum VK_NVX_image_view_handle = 1;
8557 
8558 enum VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2;
8559 enum VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME = "VK_NVX_image_view_handle";
8560 
8561 struct VkImageViewHandleInfoNVX {
8562     VkStructureType   sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX;
8563     const( void )*    pNext;
8564     VkImageView       imageView;
8565     VkDescriptorType  descriptorType;
8566     VkSampler         sampler;
8567 }
8568 
8569 struct VkImageViewAddressPropertiesNVX {
8570     VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX;
8571     void*            pNext;
8572     VkDeviceAddress  deviceAddress;
8573     VkDeviceSize     size;
8574 }
8575 
8576 
8577 // - VK_AMD_draw_indirect_count -
8578 enum VK_AMD_draw_indirect_count = 1;
8579 
8580 enum VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION = 2;
8581 enum VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_AMD_draw_indirect_count";
8582 
8583 
8584 // - VK_AMD_negative_viewport_height -
8585 enum VK_AMD_negative_viewport_height = 1;
8586 
8587 enum VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION = 1;
8588 enum VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME = "VK_AMD_negative_viewport_height";
8589 
8590 
8591 // - VK_AMD_gpu_shader_half_float -
8592 enum VK_AMD_gpu_shader_half_float = 1;
8593 
8594 enum VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION = 2;
8595 enum VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME = "VK_AMD_gpu_shader_half_float";
8596 
8597 
8598 // - VK_AMD_shader_ballot -
8599 enum VK_AMD_shader_ballot = 1;
8600 
8601 enum VK_AMD_SHADER_BALLOT_SPEC_VERSION = 1;
8602 enum VK_AMD_SHADER_BALLOT_EXTENSION_NAME = "VK_AMD_shader_ballot";
8603 
8604 
8605 // - VK_AMD_texture_gather_bias_lod -
8606 enum VK_AMD_texture_gather_bias_lod = 1;
8607 
8608 enum VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION = 1;
8609 enum VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME = "VK_AMD_texture_gather_bias_lod";
8610 
8611 struct VkTextureLODGatherFormatPropertiesAMD {
8612     VkStructureType  sType = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
8613     void*            pNext;
8614     VkBool32         supportsTextureGatherLODBiasAMD;
8615 }
8616 
8617 
8618 // - VK_AMD_shader_info -
8619 enum VK_AMD_shader_info = 1;
8620 
8621 enum VK_AMD_SHADER_INFO_SPEC_VERSION = 1;
8622 enum VK_AMD_SHADER_INFO_EXTENSION_NAME = "VK_AMD_shader_info";
8623 
8624 enum VkShaderInfoTypeAMD {
8625     VK_SHADER_INFO_TYPE_STATISTICS_AMD   = 0,
8626     VK_SHADER_INFO_TYPE_BINARY_AMD       = 1,
8627     VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD  = 2,
8628     VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD  = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
8629     VK_SHADER_INFO_TYPE_END_RANGE_AMD    = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,
8630     VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD   = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD - VK_SHADER_INFO_TYPE_STATISTICS_AMD + 1,
8631     VK_SHADER_INFO_TYPE_MAX_ENUM_AMD     = 0x7FFFFFFF
8632 }
8633 
8634 enum VK_SHADER_INFO_TYPE_STATISTICS_AMD  = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_STATISTICS_AMD;
8635 enum VK_SHADER_INFO_TYPE_BINARY_AMD      = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_BINARY_AMD;
8636 enum VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD;
8637 enum VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD;
8638 enum VK_SHADER_INFO_TYPE_END_RANGE_AMD   = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_END_RANGE_AMD;
8639 enum VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD  = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD;
8640 enum VK_SHADER_INFO_TYPE_MAX_ENUM_AMD    = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_MAX_ENUM_AMD;
8641 
8642 struct VkShaderResourceUsageAMD {
8643     uint32_t  numUsedVgprs;
8644     uint32_t  numUsedSgprs;
8645     uint32_t  ldsSizePerLocalWorkGroup;
8646     size_t    ldsUsageSizeInBytes;
8647     size_t    scratchMemUsageInBytes;
8648 }
8649 
8650 struct VkShaderStatisticsInfoAMD {
8651     VkShaderStageFlags        shaderStageMask;
8652     VkShaderResourceUsageAMD  resourceUsage;
8653     uint32_t                  numPhysicalVgprs;
8654     uint32_t                  numPhysicalSgprs;
8655     uint32_t                  numAvailableVgprs;
8656     uint32_t                  numAvailableSgprs;
8657     uint32_t[3]               computeWorkGroupSize;
8658 }
8659 
8660 
8661 // - VK_AMD_shader_image_load_store_lod -
8662 enum VK_AMD_shader_image_load_store_lod = 1;
8663 
8664 enum VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION = 1;
8665 enum VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME = "VK_AMD_shader_image_load_store_lod";
8666 
8667 
8668 // - VK_NV_corner_sampled_image -
8669 enum VK_NV_corner_sampled_image = 1;
8670 
8671 enum VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION = 2;
8672 enum VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME = "VK_NV_corner_sampled_image";
8673 
8674 struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
8675     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV;
8676     void*            pNext;
8677     VkBool32         cornerSampledImage;
8678 }
8679 
8680 
8681 // - VK_IMG_format_pvrtc -
8682 enum VK_IMG_format_pvrtc = 1;
8683 
8684 enum VK_IMG_FORMAT_PVRTC_SPEC_VERSION = 1;
8685 enum VK_IMG_FORMAT_PVRTC_EXTENSION_NAME = "VK_IMG_format_pvrtc";
8686 
8687 
8688 // - VK_NV_external_memory_capabilities -
8689 enum VK_NV_external_memory_capabilities = 1;
8690 
8691 enum VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1;
8692 enum VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_NV_external_memory_capabilities";
8693 
8694 enum VkExternalMemoryHandleTypeFlagBitsNV {
8695     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV           = 0x00000001,
8696     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV       = 0x00000002,
8697     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV            = 0x00000004,
8698     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV        = 0x00000008,
8699     VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV         = 0x7FFFFFFF
8700 }
8701 
8702 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV          = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV;
8703 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV      = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV;
8704 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV           = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV;
8705 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV       = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV;
8706 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV        = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV;
8707 alias VkExternalMemoryHandleTypeFlagsNV = VkFlags;
8708 
8709 enum VkExternalMemoryFeatureFlagBitsNV {
8710     VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV     = 0x00000001,
8711     VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV         = 0x00000002,
8712     VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV         = 0x00000004,
8713     VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV     = 0x7FFFFFFF
8714 }
8715 
8716 enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV    = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV;
8717 enum VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV        = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV;
8718 enum VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV        = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV;
8719 enum VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV    = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV;
8720 alias VkExternalMemoryFeatureFlagsNV = VkFlags;
8721 
8722 struct VkExternalImageFormatPropertiesNV {
8723     VkImageFormatProperties            imageFormatProperties;
8724     VkExternalMemoryFeatureFlagsNV     externalMemoryFeatures;
8725     VkExternalMemoryHandleTypeFlagsNV  exportFromImportedHandleTypes;
8726     VkExternalMemoryHandleTypeFlagsNV  compatibleHandleTypes;
8727 }
8728 
8729 
8730 // - VK_NV_external_memory -
8731 enum VK_NV_external_memory = 1;
8732 
8733 enum VK_NV_EXTERNAL_MEMORY_SPEC_VERSION = 1;
8734 enum VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_NV_external_memory";
8735 
8736 struct VkExternalMemoryImageCreateInfoNV {
8737     VkStructureType                    sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
8738     const( void )*                     pNext;
8739     VkExternalMemoryHandleTypeFlagsNV  handleTypes;
8740 }
8741 
8742 struct VkExportMemoryAllocateInfoNV {
8743     VkStructureType                    sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV;
8744     const( void )*                     pNext;
8745     VkExternalMemoryHandleTypeFlagsNV  handleTypes;
8746 }
8747 
8748 
8749 // - VK_EXT_validation_flags -
8750 enum VK_EXT_validation_flags = 1;
8751 
8752 enum VK_EXT_VALIDATION_FLAGS_SPEC_VERSION = 2;
8753 enum VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME = "VK_EXT_validation_flags";
8754 
8755 enum VkValidationCheckEXT {
8756     VK_VALIDATION_CHECK_ALL_EXT          = 0,
8757     VK_VALIDATION_CHECK_SHADERS_EXT      = 1,
8758     VK_VALIDATION_CHECK_BEGIN_RANGE_EXT  = VK_VALIDATION_CHECK_ALL_EXT,
8759     VK_VALIDATION_CHECK_END_RANGE_EXT    = VK_VALIDATION_CHECK_SHADERS_EXT,
8760     VK_VALIDATION_CHECK_RANGE_SIZE_EXT   = VK_VALIDATION_CHECK_SHADERS_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1,
8761     VK_VALIDATION_CHECK_MAX_ENUM_EXT     = 0x7FFFFFFF
8762 }
8763 
8764 enum VK_VALIDATION_CHECK_ALL_EXT         = VkValidationCheckEXT.VK_VALIDATION_CHECK_ALL_EXT;
8765 enum VK_VALIDATION_CHECK_SHADERS_EXT     = VkValidationCheckEXT.VK_VALIDATION_CHECK_SHADERS_EXT;
8766 enum VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VkValidationCheckEXT.VK_VALIDATION_CHECK_BEGIN_RANGE_EXT;
8767 enum VK_VALIDATION_CHECK_END_RANGE_EXT   = VkValidationCheckEXT.VK_VALIDATION_CHECK_END_RANGE_EXT;
8768 enum VK_VALIDATION_CHECK_RANGE_SIZE_EXT  = VkValidationCheckEXT.VK_VALIDATION_CHECK_RANGE_SIZE_EXT;
8769 enum VK_VALIDATION_CHECK_MAX_ENUM_EXT    = VkValidationCheckEXT.VK_VALIDATION_CHECK_MAX_ENUM_EXT;
8770 
8771 struct VkValidationFlagsEXT {
8772     VkStructureType                 sType = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT;
8773     const( void )*                  pNext;
8774     uint32_t                        disabledValidationCheckCount;
8775     const( VkValidationCheckEXT )*  pDisabledValidationChecks;
8776 }
8777 
8778 
8779 // - VK_EXT_shader_subgroup_ballot -
8780 enum VK_EXT_shader_subgroup_ballot = 1;
8781 
8782 enum VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION = 1;
8783 enum VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME = "VK_EXT_shader_subgroup_ballot";
8784 
8785 
8786 // - VK_EXT_shader_subgroup_vote -
8787 enum VK_EXT_shader_subgroup_vote = 1;
8788 
8789 enum VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION = 1;
8790 enum VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME = "VK_EXT_shader_subgroup_vote";
8791 
8792 
8793 // - VK_EXT_texture_compression_astc_hdr -
8794 enum VK_EXT_texture_compression_astc_hdr = 1;
8795 
8796 enum VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION = 1;
8797 enum VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME = "VK_EXT_texture_compression_astc_hdr";
8798 
8799 struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
8800     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT;
8801     void*            pNext;
8802     VkBool32         textureCompressionASTC_HDR;
8803 }
8804 
8805 
8806 // - VK_EXT_astc_decode_mode -
8807 enum VK_EXT_astc_decode_mode = 1;
8808 
8809 enum VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION = 1;
8810 enum VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME = "VK_EXT_astc_decode_mode";
8811 
8812 struct VkImageViewASTCDecodeModeEXT {
8813     VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT;
8814     const( void )*   pNext;
8815     VkFormat         decodeMode;
8816 }
8817 
8818 struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
8819     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT;
8820     void*            pNext;
8821     VkBool32         decodeModeSharedExponent;
8822 }
8823 
8824 
8825 // - VK_EXT_conditional_rendering -
8826 enum VK_EXT_conditional_rendering = 1;
8827 
8828 enum VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION = 2;
8829 enum VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME = "VK_EXT_conditional_rendering";
8830 
8831 enum VkConditionalRenderingFlagBitsEXT {
8832     VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT            = 0x00000001,
8833     VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT      = 0x7FFFFFFF
8834 }
8835 
8836 enum VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT           = VkConditionalRenderingFlagBitsEXT.VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT;
8837 enum VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT     = VkConditionalRenderingFlagBitsEXT.VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT;
8838 alias VkConditionalRenderingFlagsEXT = VkFlags;
8839 
8840 struct VkConditionalRenderingBeginInfoEXT {
8841     VkStructureType                 sType = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT;
8842     const( void )*                  pNext;
8843     VkBuffer                        buffer;
8844     VkDeviceSize                    offset;
8845     VkConditionalRenderingFlagsEXT  flags;
8846 }
8847 
8848 struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
8849     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
8850     void*            pNext;
8851     VkBool32         conditionalRendering;
8852     VkBool32         inheritedConditionalRendering;
8853 }
8854 
8855 struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
8856     VkStructureType  sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT;
8857     const( void )*   pNext;
8858     VkBool32         conditionalRenderingEnable;
8859 }
8860 
8861 
8862 // - VK_NV_clip_space_w_scaling -
8863 enum VK_NV_clip_space_w_scaling = 1;
8864 
8865 enum VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION = 1;
8866 enum VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME = "VK_NV_clip_space_w_scaling";
8867 
8868 struct VkViewportWScalingNV {
8869     float  xcoeff;
8870     float  ycoeff;
8871 }
8872 
8873 struct VkPipelineViewportWScalingStateCreateInfoNV {
8874     VkStructureType                 sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV;
8875     const( void )*                  pNext;
8876     VkBool32                        viewportWScalingEnable;
8877     uint32_t                        viewportCount;
8878     const( VkViewportWScalingNV )*  pViewportWScalings;
8879 }
8880 
8881 
8882 // - VK_EXT_direct_mode_display -
8883 enum VK_EXT_direct_mode_display = 1;
8884 
8885 enum VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION = 1;
8886 enum VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME = "VK_EXT_direct_mode_display";
8887 
8888 
8889 // - VK_EXT_display_surface_counter -
8890 enum VK_EXT_display_surface_counter = 1;
8891 
8892 enum VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION = 1;
8893 enum VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME = "VK_EXT_display_surface_counter";
8894 
8895 enum VkSurfaceCounterFlagBitsEXT {
8896     VK_SURFACE_COUNTER_VBLANK_BIT_EXT            = 0x00000001,
8897     VK_SURFACE_COUNTER_VBLANK_EXT                = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
8898     VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT    = 0x7FFFFFFF
8899 }
8900 
8901 enum VK_SURFACE_COUNTER_VBLANK_BIT_EXT           = VkSurfaceCounterFlagBitsEXT.VK_SURFACE_COUNTER_VBLANK_BIT_EXT;
8902 enum VK_SURFACE_COUNTER_VBLANK_EXT               = VkSurfaceCounterFlagBitsEXT.VK_SURFACE_COUNTER_VBLANK_EXT;
8903 enum VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT   = VkSurfaceCounterFlagBitsEXT.VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT;
8904 alias VkSurfaceCounterFlagsEXT = VkFlags;
8905 
8906 struct VkSurfaceCapabilities2EXT {
8907     VkStructureType                sType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
8908     void*                          pNext;
8909     uint32_t                       minImageCount;
8910     uint32_t                       maxImageCount;
8911     VkExtent2D                     currentExtent;
8912     VkExtent2D                     minImageExtent;
8913     VkExtent2D                     maxImageExtent;
8914     uint32_t                       maxImageArrayLayers;
8915     VkSurfaceTransformFlagsKHR     supportedTransforms;
8916     VkSurfaceTransformFlagBitsKHR  currentTransform;
8917     VkCompositeAlphaFlagsKHR       supportedCompositeAlpha;
8918     VkImageUsageFlags              supportedUsageFlags;
8919     VkSurfaceCounterFlagsEXT       supportedSurfaceCounters;
8920 }
8921 
8922 
8923 // - VK_EXT_display_control -
8924 enum VK_EXT_display_control = 1;
8925 
8926 enum VK_EXT_DISPLAY_CONTROL_SPEC_VERSION = 1;
8927 enum VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME = "VK_EXT_display_control";
8928 
8929 enum VkDisplayPowerStateEXT {
8930     VK_DISPLAY_POWER_STATE_OFF_EXT       = 0,
8931     VK_DISPLAY_POWER_STATE_SUSPEND_EXT   = 1,
8932     VK_DISPLAY_POWER_STATE_ON_EXT        = 2,
8933     VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT,
8934     VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT,
8935     VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1,
8936     VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT  = 0x7FFFFFFF
8937 }
8938 
8939 enum VK_DISPLAY_POWER_STATE_OFF_EXT      = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_OFF_EXT;
8940 enum VK_DISPLAY_POWER_STATE_SUSPEND_EXT  = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_SUSPEND_EXT;
8941 enum VK_DISPLAY_POWER_STATE_ON_EXT       = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_ON_EXT;
8942 enum VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT;
8943 enum VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_END_RANGE_EXT;
8944 enum VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT;
8945 enum VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT;
8946 
8947 enum VkDeviceEventTypeEXT {
8948     VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT     = 0,
8949     VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT         = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
8950     VK_DEVICE_EVENT_TYPE_END_RANGE_EXT           = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
8951     VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT          = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1,
8952     VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT            = 0x7FFFFFFF
8953 }
8954 
8955 enum VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT    = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT;
8956 enum VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT        = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT;
8957 enum VK_DEVICE_EVENT_TYPE_END_RANGE_EXT          = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_END_RANGE_EXT;
8958 enum VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT         = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT;
8959 enum VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT           = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT;
8960 
8961 enum VkDisplayEventTypeEXT {
8962     VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT    = 0,
8963     VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT        = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
8964     VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT          = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
8965     VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT         = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1,
8966     VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT           = 0x7FFFFFFF
8967 }
8968 
8969 enum VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT   = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT;
8970 enum VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT       = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT;
8971 enum VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT         = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT;
8972 enum VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT        = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT;
8973 enum VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT          = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT;
8974 
8975 struct VkDisplayPowerInfoEXT {
8976     VkStructureType         sType = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT;
8977     const( void )*          pNext;
8978     VkDisplayPowerStateEXT  powerState;
8979 }
8980 
8981 struct VkDeviceEventInfoEXT {
8982     VkStructureType       sType = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT;
8983     const( void )*        pNext;
8984     VkDeviceEventTypeEXT  deviceEvent;
8985 }
8986 
8987 struct VkDisplayEventInfoEXT {
8988     VkStructureType        sType = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT;
8989     const( void )*         pNext;
8990     VkDisplayEventTypeEXT  displayEvent;
8991 }
8992 
8993 struct VkSwapchainCounterCreateInfoEXT {
8994     VkStructureType           sType = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT;
8995     const( void )*            pNext;
8996     VkSurfaceCounterFlagsEXT  surfaceCounters;
8997 }
8998 
8999 
9000 // - VK_GOOGLE_display_timing -
9001 enum VK_GOOGLE_display_timing = 1;
9002 
9003 enum VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION = 1;
9004 enum VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME = "VK_GOOGLE_display_timing";
9005 
9006 struct VkRefreshCycleDurationGOOGLE {
9007     uint64_t  refreshDuration;
9008 }
9009 
9010 struct VkPastPresentationTimingGOOGLE {
9011     uint32_t  presentID;
9012     uint64_t  desiredPresentTime;
9013     uint64_t  actualPresentTime;
9014     uint64_t  earliestPresentTime;
9015     uint64_t  presentMargin;
9016 }
9017 
9018 struct VkPresentTimeGOOGLE {
9019     uint32_t  presentID;
9020     uint64_t  desiredPresentTime;
9021 }
9022 
9023 struct VkPresentTimesInfoGOOGLE {
9024     VkStructureType                sType = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE;
9025     const( void )*                 pNext;
9026     uint32_t                       swapchainCount;
9027     const( VkPresentTimeGOOGLE )*  pTimes;
9028 }
9029 
9030 
9031 // - VK_NV_sample_mask_override_coverage -
9032 enum VK_NV_sample_mask_override_coverage = 1;
9033 
9034 enum VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION = 1;
9035 enum VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME = "VK_NV_sample_mask_override_coverage";
9036 
9037 
9038 // - VK_NV_geometry_shader_passthrough -
9039 enum VK_NV_geometry_shader_passthrough = 1;
9040 
9041 enum VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION = 1;
9042 enum VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_passthrough";
9043 
9044 
9045 // - VK_NV_viewport_array2 -
9046 enum VK_NV_viewport_array2 = 1;
9047 
9048 enum VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1;
9049 enum VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2";
9050 
9051 
9052 // - VK_NVX_multiview_per_view_attributes -
9053 enum VK_NVX_multiview_per_view_attributes = 1;
9054 
9055 enum VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION = 1;
9056 enum VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME = "VK_NVX_multiview_per_view_attributes";
9057 
9058 struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
9059     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX;
9060     void*            pNext;
9061     VkBool32         perViewPositionAllComponents;
9062 }
9063 
9064 
9065 // - VK_NV_viewport_swizzle -
9066 enum VK_NV_viewport_swizzle = 1;
9067 
9068 enum VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION = 1;
9069 enum VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME = "VK_NV_viewport_swizzle";
9070 
9071 enum VkViewportCoordinateSwizzleNV {
9072     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV         = 0,
9073     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV         = 1,
9074     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV         = 2,
9075     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV         = 3,
9076     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV         = 4,
9077     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV         = 5,
9078     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV         = 6,
9079     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV         = 7,
9080     VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV        = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
9081     VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV          = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV,
9082     VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV         = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1,
9083     VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV           = 0x7FFFFFFF
9084 }
9085 
9086 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV;
9087 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV;
9088 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV;
9089 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV;
9090 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV;
9091 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV;
9092 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV;
9093 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV;
9094 enum VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV       = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV;
9095 enum VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV         = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV;
9096 enum VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV;
9097 enum VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV          = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV;
9098 
9099 alias VkPipelineViewportSwizzleStateCreateFlagsNV = VkFlags;
9100 
9101 struct VkViewportSwizzleNV {
9102     VkViewportCoordinateSwizzleNV  x;
9103     VkViewportCoordinateSwizzleNV  y;
9104     VkViewportCoordinateSwizzleNV  z;
9105     VkViewportCoordinateSwizzleNV  w;
9106 }
9107 
9108 struct VkPipelineViewportSwizzleStateCreateInfoNV {
9109     VkStructureType                              sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV;
9110     const( void )*                               pNext;
9111     VkPipelineViewportSwizzleStateCreateFlagsNV  flags;
9112     uint32_t                                     viewportCount;
9113     const( VkViewportSwizzleNV )*                pViewportSwizzles;
9114 }
9115 
9116 
9117 // - VK_EXT_discard_rectangles -
9118 enum VK_EXT_discard_rectangles = 1;
9119 
9120 enum VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION = 1;
9121 enum VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME = "VK_EXT_discard_rectangles";
9122 
9123 enum VkDiscardRectangleModeEXT {
9124     VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT      = 0,
9125     VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT      = 1,
9126     VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT    = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
9127     VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT      = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT,
9128     VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT     = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT + 1,
9129     VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT       = 0x7FFFFFFF
9130 }
9131 
9132 enum VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT     = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT;
9133 enum VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT     = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT;
9134 enum VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT   = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT;
9135 enum VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT     = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT;
9136 enum VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT    = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT;
9137 enum VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT      = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT;
9138 
9139 alias VkPipelineDiscardRectangleStateCreateFlagsEXT = VkFlags;
9140 
9141 struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
9142     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT;
9143     void*            pNext;
9144     uint32_t         maxDiscardRectangles;
9145 }
9146 
9147 struct VkPipelineDiscardRectangleStateCreateInfoEXT {
9148     VkStructureType                                sType = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT;
9149     const( void )*                                 pNext;
9150     VkPipelineDiscardRectangleStateCreateFlagsEXT  flags;
9151     VkDiscardRectangleModeEXT                      discardRectangleMode;
9152     uint32_t                                       discardRectangleCount;
9153     const( VkRect2D )*                             pDiscardRectangles;
9154 }
9155 
9156 
9157 // - VK_EXT_conservative_rasterization -
9158 enum VK_EXT_conservative_rasterization = 1;
9159 
9160 enum VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION = 1;
9161 enum VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME = "VK_EXT_conservative_rasterization";
9162 
9163 enum VkConservativeRasterizationModeEXT {
9164     VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT              = 0,
9165     VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT          = 1,
9166     VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT         = 2,
9167     VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT           = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
9168     VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT             = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT,
9169     VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT            = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT - VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT + 1,
9170     VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT              = 0x7FFFFFFF
9171 }
9172 
9173 enum VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT             = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT;
9174 enum VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT         = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT;
9175 enum VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT        = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT;
9176 enum VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT          = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT;
9177 enum VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT            = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT;
9178 enum VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT           = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT;
9179 enum VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT             = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT;
9180 
9181 alias VkPipelineRasterizationConservativeStateCreateFlagsEXT = VkFlags;
9182 
9183 struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
9184     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT;
9185     void*            pNext;
9186     float            primitiveOverestimationSize;
9187     float            maxExtraPrimitiveOverestimationSize;
9188     float            extraPrimitiveOverestimationSizeGranularity;
9189     VkBool32         primitiveUnderestimation;
9190     VkBool32         conservativePointAndLineRasterization;
9191     VkBool32         degenerateTrianglesRasterized;
9192     VkBool32         degenerateLinesRasterized;
9193     VkBool32         fullyCoveredFragmentShaderInputVariable;
9194     VkBool32         conservativeRasterizationPostDepthCoverage;
9195 }
9196 
9197 struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
9198     VkStructureType                                         sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT;
9199     const( void )*                                          pNext;
9200     VkPipelineRasterizationConservativeStateCreateFlagsEXT  flags;
9201     VkConservativeRasterizationModeEXT                      conservativeRasterizationMode;
9202     float                                                   extraPrimitiveOverestimationSize;
9203 }
9204 
9205 
9206 // - VK_EXT_depth_clip_enable -
9207 enum VK_EXT_depth_clip_enable = 1;
9208 
9209 enum VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION = 1;
9210 enum VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME = "VK_EXT_depth_clip_enable";
9211 
9212 alias VkPipelineRasterizationDepthClipStateCreateFlagsEXT = VkFlags;
9213 
9214 struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
9215     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT;
9216     void*            pNext;
9217     VkBool32         depthClipEnable;
9218 }
9219 
9220 struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
9221     VkStructureType                                      sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT;
9222     const( void )*                                       pNext;
9223     VkPipelineRasterizationDepthClipStateCreateFlagsEXT  flags;
9224     VkBool32                                             depthClipEnable;
9225 }
9226 
9227 
9228 // - VK_EXT_swapchain_colorspace -
9229 enum VK_EXT_swapchain_colorspace = 1;
9230 
9231 enum VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION = 4;
9232 enum VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME = "VK_EXT_swapchain_colorspace";
9233 
9234 
9235 // - VK_EXT_hdr_metadata -
9236 enum VK_EXT_hdr_metadata = 1;
9237 
9238 enum VK_EXT_HDR_METADATA_SPEC_VERSION = 2;
9239 enum VK_EXT_HDR_METADATA_EXTENSION_NAME = "VK_EXT_hdr_metadata";
9240 
9241 struct VkXYColorEXT {
9242     float  x;
9243     float  y;
9244 }
9245 
9246 struct VkHdrMetadataEXT {
9247     VkStructureType  sType = VK_STRUCTURE_TYPE_HDR_METADATA_EXT;
9248     const( void )*   pNext;
9249     VkXYColorEXT     displayPrimaryRed;
9250     VkXYColorEXT     displayPrimaryGreen;
9251     VkXYColorEXT     displayPrimaryBlue;
9252     VkXYColorEXT     whitePoint;
9253     float            maxLuminance;
9254     float            minLuminance;
9255     float            maxContentLightLevel;
9256     float            maxFrameAverageLightLevel;
9257 }
9258 
9259 
9260 // - VK_EXT_external_memory_dma_buf -
9261 enum VK_EXT_external_memory_dma_buf = 1;
9262 
9263 enum VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION = 1;
9264 enum VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME = "VK_EXT_external_memory_dma_buf";
9265 
9266 
9267 // - VK_EXT_queue_family_foreign -
9268 enum VK_EXT_queue_family_foreign = 1;
9269 
9270 enum VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION = 1;
9271 enum VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME = "VK_EXT_queue_family_foreign";
9272 enum VK_QUEUE_FAMILY_FOREIGN_EXT = (~0U-2);
9273 
9274 
9275 // - VK_EXT_debug_utils -
9276 enum VK_EXT_debug_utils = 1;
9277 
9278 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDebugUtilsMessengerEXT} );
9279 
9280 enum VK_EXT_DEBUG_UTILS_SPEC_VERSION = 2;
9281 enum VK_EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils";
9282 
9283 alias VkDebugUtilsMessengerCallbackDataFlagsEXT = VkFlags;
9284 
9285 enum VkDebugUtilsMessageSeverityFlagBitsEXT {
9286     VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT              = 0x00000001,
9287     VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT                 = 0x00000010,
9288     VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT              = 0x00000100,
9289     VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT                = 0x00001000,
9290     VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT       = 0x7FFFFFFF
9291 }
9292 
9293 enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT             = VkDebugUtilsMessageSeverityFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT;
9294 enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT                = VkDebugUtilsMessageSeverityFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT;
9295 enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT             = VkDebugUtilsMessageSeverityFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT;
9296 enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT               = VkDebugUtilsMessageSeverityFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT;
9297 enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT      = VkDebugUtilsMessageSeverityFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT;
9298 
9299 enum VkDebugUtilsMessageTypeFlagBitsEXT {
9300     VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT          = 0x00000001,
9301     VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT       = 0x00000002,
9302     VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT      = 0x00000004,
9303     VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT   = 0x7FFFFFFF
9304 }
9305 
9306 enum VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT         = VkDebugUtilsMessageTypeFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT;
9307 enum VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT      = VkDebugUtilsMessageTypeFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT;
9308 enum VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT     = VkDebugUtilsMessageTypeFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT;
9309 enum VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT  = VkDebugUtilsMessageTypeFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT;
9310 alias VkDebugUtilsMessageTypeFlagsEXT = VkFlags;
9311 alias VkDebugUtilsMessageSeverityFlagsEXT = VkFlags;
9312 alias VkDebugUtilsMessengerCreateFlagsEXT = VkFlags;
9313 
9314 alias PFN_vkDebugUtilsMessengerCallbackEXT = VkBool32 function(
9315     VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
9316     VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
9317     const( VkDebugUtilsMessengerCallbackDataEXT )*   pCallbackData,
9318     void*                                            pUserData
9319 );
9320 
9321 struct VkDebugUtilsLabelEXT {
9322     VkStructureType  sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
9323     const( void )*   pNext;
9324     const( char )*   pLabelName;
9325     float[4]         color;
9326 }
9327 
9328 struct VkDebugUtilsObjectNameInfoEXT {
9329     VkStructureType  sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
9330     const( void )*   pNext;
9331     VkObjectType     objectType;
9332     uint64_t         objectHandle;
9333     const( char )*   pObjectName;
9334 }
9335 
9336 struct VkDebugUtilsMessengerCallbackDataEXT {
9337     VkStructureType                            sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
9338     const( void )*                             pNext;
9339     VkDebugUtilsMessengerCallbackDataFlagsEXT  flags;
9340     const( char )*                             pMessageIdName;
9341     int32_t                                    messageIdNumber;
9342     const( char )*                             pMessage;
9343     uint32_t                                   queueLabelCount;
9344     const( VkDebugUtilsLabelEXT )*             pQueueLabels;
9345     uint32_t                                   cmdBufLabelCount;
9346     const( VkDebugUtilsLabelEXT )*             pCmdBufLabels;
9347     uint32_t                                   objectCount;
9348     const( VkDebugUtilsObjectNameInfoEXT )*    pObjects;
9349 }
9350 
9351 struct VkDebugUtilsMessengerCreateInfoEXT {
9352     VkStructureType                       sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
9353     const( void )*                        pNext;
9354     VkDebugUtilsMessengerCreateFlagsEXT   flags;
9355     VkDebugUtilsMessageSeverityFlagsEXT   messageSeverity;
9356     VkDebugUtilsMessageTypeFlagsEXT       messageType;
9357     PFN_vkDebugUtilsMessengerCallbackEXT  pfnUserCallback;
9358     void*                                 pUserData;
9359 }
9360 
9361 struct VkDebugUtilsObjectTagInfoEXT {
9362     VkStructureType  sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT;
9363     const( void )*   pNext;
9364     VkObjectType     objectType;
9365     uint64_t         objectHandle;
9366     uint64_t         tagName;
9367     size_t           tagSize;
9368     const( void )*   pTag;
9369 }
9370 
9371 
9372 // - VK_EXT_sampler_filter_minmax -
9373 enum VK_EXT_sampler_filter_minmax = 1;
9374 
9375 alias VkSamplerReductionModeEXT = VkSamplerReductionMode;
9376 enum VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION = 2;
9377 enum VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME = "VK_EXT_sampler_filter_minmax";
9378 
9379 alias VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo;
9380 alias VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties;
9381 
9382 
9383 // - VK_AMD_gpu_shader_int16 -
9384 enum VK_AMD_gpu_shader_int16 = 1;
9385 
9386 enum VK_AMD_GPU_SHADER_INT16_SPEC_VERSION = 2;
9387 enum VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME = "VK_AMD_gpu_shader_int16";
9388 
9389 
9390 // - VK_AMD_mixed_attachment_samples -
9391 enum VK_AMD_mixed_attachment_samples = 1;
9392 
9393 enum VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION = 1;
9394 enum VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME = "VK_AMD_mixed_attachment_samples";
9395 
9396 
9397 // - VK_AMD_shader_fragment_mask -
9398 enum VK_AMD_shader_fragment_mask = 1;
9399 
9400 enum VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION = 1;
9401 enum VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME = "VK_AMD_shader_fragment_mask";
9402 
9403 
9404 // - VK_EXT_inline_uniform_block -
9405 enum VK_EXT_inline_uniform_block = 1;
9406 
9407 enum VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION = 1;
9408 enum VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME = "VK_EXT_inline_uniform_block";
9409 
9410 struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
9411     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT;
9412     void*            pNext;
9413     VkBool32         inlineUniformBlock;
9414     VkBool32         descriptorBindingInlineUniformBlockUpdateAfterBind;
9415 }
9416 
9417 struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
9418     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT;
9419     void*            pNext;
9420     uint32_t         maxInlineUniformBlockSize;
9421     uint32_t         maxPerStageDescriptorInlineUniformBlocks;
9422     uint32_t         maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
9423     uint32_t         maxDescriptorSetInlineUniformBlocks;
9424     uint32_t         maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
9425 }
9426 
9427 struct VkWriteDescriptorSetInlineUniformBlockEXT {
9428     VkStructureType  sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT;
9429     const( void )*   pNext;
9430     uint32_t         dataSize;
9431     const( void )*   pData;
9432 }
9433 
9434 struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
9435     VkStructureType  sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT;
9436     const( void )*   pNext;
9437     uint32_t         maxInlineUniformBlockBindings;
9438 }
9439 
9440 
9441 // - VK_EXT_shader_stencil_export -
9442 enum VK_EXT_shader_stencil_export = 1;
9443 
9444 enum VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION = 1;
9445 enum VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME = "VK_EXT_shader_stencil_export";
9446 
9447 
9448 // - VK_EXT_sample_locations -
9449 enum VK_EXT_sample_locations = 1;
9450 
9451 enum VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION = 1;
9452 enum VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME = "VK_EXT_sample_locations";
9453 
9454 struct VkSampleLocationEXT {
9455     float  x;
9456     float  y;
9457 }
9458 
9459 struct VkSampleLocationsInfoEXT {
9460     VkStructureType                sType = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT;
9461     const( void )*                 pNext;
9462     VkSampleCountFlagBits          sampleLocationsPerPixel;
9463     VkExtent2D                     sampleLocationGridSize;
9464     uint32_t                       sampleLocationsCount;
9465     const( VkSampleLocationEXT )*  pSampleLocations;
9466 }
9467 
9468 struct VkAttachmentSampleLocationsEXT {
9469     uint32_t                  attachmentIndex;
9470     VkSampleLocationsInfoEXT  sampleLocationsInfo;
9471 }
9472 
9473 struct VkSubpassSampleLocationsEXT {
9474     uint32_t                  subpassIndex;
9475     VkSampleLocationsInfoEXT  sampleLocationsInfo;
9476 }
9477 
9478 struct VkRenderPassSampleLocationsBeginInfoEXT {
9479     VkStructureType                           sType = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT;
9480     const( void )*                            pNext;
9481     uint32_t                                  attachmentInitialSampleLocationsCount;
9482     const( VkAttachmentSampleLocationsEXT )*  pAttachmentInitialSampleLocations;
9483     uint32_t                                  postSubpassSampleLocationsCount;
9484     const( VkSubpassSampleLocationsEXT )*     pPostSubpassSampleLocations;
9485 }
9486 
9487 struct VkPipelineSampleLocationsStateCreateInfoEXT {
9488     VkStructureType           sType = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT;
9489     const( void )*            pNext;
9490     VkBool32                  sampleLocationsEnable;
9491     VkSampleLocationsInfoEXT  sampleLocationsInfo;
9492 }
9493 
9494 struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
9495     VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT;
9496     void*               pNext;
9497     VkSampleCountFlags  sampleLocationSampleCounts;
9498     VkExtent2D          maxSampleLocationGridSize;
9499     float[2]            sampleLocationCoordinateRange;
9500     uint32_t            sampleLocationSubPixelBits;
9501     VkBool32            variableSampleLocations;
9502 }
9503 
9504 struct VkMultisamplePropertiesEXT {
9505     VkStructureType  sType = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT;
9506     void*            pNext;
9507     VkExtent2D       maxSampleLocationGridSize;
9508 }
9509 
9510 
9511 // - VK_EXT_blend_operation_advanced -
9512 enum VK_EXT_blend_operation_advanced = 1;
9513 
9514 enum VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION = 2;
9515 enum VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME = "VK_EXT_blend_operation_advanced";
9516 
9517 enum VkBlendOverlapEXT {
9518     VK_BLEND_OVERLAP_UNCORRELATED_EXT    = 0,
9519     VK_BLEND_OVERLAP_DISJOINT_EXT        = 1,
9520     VK_BLEND_OVERLAP_CONJOINT_EXT        = 2,
9521     VK_BLEND_OVERLAP_BEGIN_RANGE_EXT     = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
9522     VK_BLEND_OVERLAP_END_RANGE_EXT       = VK_BLEND_OVERLAP_CONJOINT_EXT,
9523     VK_BLEND_OVERLAP_RANGE_SIZE_EXT      = VK_BLEND_OVERLAP_CONJOINT_EXT - VK_BLEND_OVERLAP_UNCORRELATED_EXT + 1,
9524     VK_BLEND_OVERLAP_MAX_ENUM_EXT        = 0x7FFFFFFF
9525 }
9526 
9527 enum VK_BLEND_OVERLAP_UNCORRELATED_EXT   = VkBlendOverlapEXT.VK_BLEND_OVERLAP_UNCORRELATED_EXT;
9528 enum VK_BLEND_OVERLAP_DISJOINT_EXT       = VkBlendOverlapEXT.VK_BLEND_OVERLAP_DISJOINT_EXT;
9529 enum VK_BLEND_OVERLAP_CONJOINT_EXT       = VkBlendOverlapEXT.VK_BLEND_OVERLAP_CONJOINT_EXT;
9530 enum VK_BLEND_OVERLAP_BEGIN_RANGE_EXT    = VkBlendOverlapEXT.VK_BLEND_OVERLAP_BEGIN_RANGE_EXT;
9531 enum VK_BLEND_OVERLAP_END_RANGE_EXT      = VkBlendOverlapEXT.VK_BLEND_OVERLAP_END_RANGE_EXT;
9532 enum VK_BLEND_OVERLAP_RANGE_SIZE_EXT     = VkBlendOverlapEXT.VK_BLEND_OVERLAP_RANGE_SIZE_EXT;
9533 enum VK_BLEND_OVERLAP_MAX_ENUM_EXT       = VkBlendOverlapEXT.VK_BLEND_OVERLAP_MAX_ENUM_EXT;
9534 
9535 struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
9536     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT;
9537     void*            pNext;
9538     VkBool32         advancedBlendCoherentOperations;
9539 }
9540 
9541 struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
9542     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT;
9543     void*            pNext;
9544     uint32_t         advancedBlendMaxColorAttachments;
9545     VkBool32         advancedBlendIndependentBlend;
9546     VkBool32         advancedBlendNonPremultipliedSrcColor;
9547     VkBool32         advancedBlendNonPremultipliedDstColor;
9548     VkBool32         advancedBlendCorrelatedOverlap;
9549     VkBool32         advancedBlendAllOperations;
9550 }
9551 
9552 struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
9553     VkStructureType    sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT;
9554     const( void )*     pNext;
9555     VkBool32           srcPremultiplied;
9556     VkBool32           dstPremultiplied;
9557     VkBlendOverlapEXT  blendOverlap;
9558 }
9559 
9560 
9561 // - VK_NV_fragment_coverage_to_color -
9562 enum VK_NV_fragment_coverage_to_color = 1;
9563 
9564 enum VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION = 1;
9565 enum VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME = "VK_NV_fragment_coverage_to_color";
9566 
9567 alias VkPipelineCoverageToColorStateCreateFlagsNV = VkFlags;
9568 
9569 struct VkPipelineCoverageToColorStateCreateInfoNV {
9570     VkStructureType                              sType = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV;
9571     const( void )*                               pNext;
9572     VkPipelineCoverageToColorStateCreateFlagsNV  flags;
9573     VkBool32                                     coverageToColorEnable;
9574     uint32_t                                     coverageToColorLocation;
9575 }
9576 
9577 
9578 // - VK_NV_framebuffer_mixed_samples -
9579 enum VK_NV_framebuffer_mixed_samples = 1;
9580 
9581 enum VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION = 1;
9582 enum VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME = "VK_NV_framebuffer_mixed_samples";
9583 
9584 enum VkCoverageModulationModeNV {
9585     VK_COVERAGE_MODULATION_MODE_NONE_NV          = 0,
9586     VK_COVERAGE_MODULATION_MODE_RGB_NV           = 1,
9587     VK_COVERAGE_MODULATION_MODE_ALPHA_NV         = 2,
9588     VK_COVERAGE_MODULATION_MODE_RGBA_NV          = 3,
9589     VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV   = VK_COVERAGE_MODULATION_MODE_NONE_NV,
9590     VK_COVERAGE_MODULATION_MODE_END_RANGE_NV     = VK_COVERAGE_MODULATION_MODE_RGBA_NV,
9591     VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV    = VK_COVERAGE_MODULATION_MODE_RGBA_NV - VK_COVERAGE_MODULATION_MODE_NONE_NV + 1,
9592     VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV      = 0x7FFFFFFF
9593 }
9594 
9595 enum VK_COVERAGE_MODULATION_MODE_NONE_NV         = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_NONE_NV;
9596 enum VK_COVERAGE_MODULATION_MODE_RGB_NV          = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_RGB_NV;
9597 enum VK_COVERAGE_MODULATION_MODE_ALPHA_NV        = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_ALPHA_NV;
9598 enum VK_COVERAGE_MODULATION_MODE_RGBA_NV         = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_RGBA_NV;
9599 enum VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV  = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV;
9600 enum VK_COVERAGE_MODULATION_MODE_END_RANGE_NV    = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_END_RANGE_NV;
9601 enum VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV   = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV;
9602 enum VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV     = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV;
9603 
9604 alias VkPipelineCoverageModulationStateCreateFlagsNV = VkFlags;
9605 
9606 struct VkPipelineCoverageModulationStateCreateInfoNV {
9607     VkStructureType                                 sType = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV;
9608     const( void )*                                  pNext;
9609     VkPipelineCoverageModulationStateCreateFlagsNV  flags;
9610     VkCoverageModulationModeNV                      coverageModulationMode;
9611     VkBool32                                        coverageModulationTableEnable;
9612     uint32_t                                        coverageModulationTableCount;
9613     const( float )*                                 pCoverageModulationTable;
9614 }
9615 
9616 
9617 // - VK_NV_fill_rectangle -
9618 enum VK_NV_fill_rectangle = 1;
9619 
9620 enum VK_NV_FILL_RECTANGLE_SPEC_VERSION = 1;
9621 enum VK_NV_FILL_RECTANGLE_EXTENSION_NAME = "VK_NV_fill_rectangle";
9622 
9623 
9624 // - VK_NV_shader_sm_builtins -
9625 enum VK_NV_shader_sm_builtins = 1;
9626 
9627 enum VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION = 1;
9628 enum VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME = "VK_NV_shader_sm_builtins";
9629 
9630 struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
9631     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV;
9632     void*            pNext;
9633     uint32_t         shaderSMCount;
9634     uint32_t         shaderWarpsPerSM;
9635 }
9636 
9637 struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
9638     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV;
9639     void*            pNext;
9640     VkBool32         shaderSMBuiltins;
9641 }
9642 
9643 
9644 // - VK_EXT_post_depth_coverage -
9645 enum VK_EXT_post_depth_coverage = 1;
9646 
9647 enum VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION = 1;
9648 enum VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage";
9649 
9650 
9651 // - VK_EXT_image_drm_format_modifier -
9652 enum VK_EXT_image_drm_format_modifier = 1;
9653 
9654 enum VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1;
9655 enum VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier";
9656 
9657 struct VkDrmFormatModifierPropertiesEXT {
9658     uint64_t              drmFormatModifier;
9659     uint32_t              drmFormatModifierPlaneCount;
9660     VkFormatFeatureFlags  drmFormatModifierTilingFeatures;
9661 }
9662 
9663 struct VkDrmFormatModifierPropertiesListEXT {
9664     VkStructureType                    sType = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT;
9665     void*                              pNext;
9666     uint32_t                           drmFormatModifierCount;
9667     VkDrmFormatModifierPropertiesEXT*  pDrmFormatModifierProperties;
9668 }
9669 
9670 struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
9671     VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT;
9672     const( void )*      pNext;
9673     uint64_t            drmFormatModifier;
9674     VkSharingMode       sharingMode;
9675     uint32_t            queueFamilyIndexCount;
9676     const( uint32_t )*  pQueueFamilyIndices;
9677 }
9678 
9679 struct VkImageDrmFormatModifierListCreateInfoEXT {
9680     VkStructureType     sType = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT;
9681     const( void )*      pNext;
9682     uint32_t            drmFormatModifierCount;
9683     const( uint64_t )*  pDrmFormatModifiers;
9684 }
9685 
9686 struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
9687     VkStructureType                sType = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT;
9688     const( void )*                 pNext;
9689     uint64_t                       drmFormatModifier;
9690     uint32_t                       drmFormatModifierPlaneCount;
9691     const( VkSubresourceLayout )*  pPlaneLayouts;
9692 }
9693 
9694 struct VkImageDrmFormatModifierPropertiesEXT {
9695     VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT;
9696     void*            pNext;
9697     uint64_t         drmFormatModifier;
9698 }
9699 
9700 
9701 // - VK_EXT_validation_cache -
9702 enum VK_EXT_validation_cache = 1;
9703 
9704 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkValidationCacheEXT} );
9705 
9706 enum VK_EXT_VALIDATION_CACHE_SPEC_VERSION = 1;
9707 enum VK_EXT_VALIDATION_CACHE_EXTENSION_NAME = "VK_EXT_validation_cache";
9708 
9709 enum VkValidationCacheHeaderVersionEXT {
9710     VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT           = 1,
9711     VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT   = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
9712     VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT     = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
9713     VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT    = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT - VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT + 1,
9714     VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT      = 0x7FFFFFFF
9715 }
9716 
9717 enum VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT          = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT;
9718 enum VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT  = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT;
9719 enum VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT    = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT;
9720 enum VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT   = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT;
9721 enum VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT     = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT;
9722 
9723 alias VkValidationCacheCreateFlagsEXT = VkFlags;
9724 
9725 struct VkValidationCacheCreateInfoEXT {
9726     VkStructureType                  sType = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT;
9727     const( void )*                   pNext;
9728     VkValidationCacheCreateFlagsEXT  flags;
9729     size_t                           initialDataSize;
9730     const( void )*                   pInitialData;
9731 }
9732 
9733 struct VkShaderModuleValidationCacheCreateInfoEXT {
9734     VkStructureType       sType = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT;
9735     const( void )*        pNext;
9736     VkValidationCacheEXT  validationCache;
9737 }
9738 
9739 
9740 // - VK_EXT_descriptor_indexing -
9741 enum VK_EXT_descriptor_indexing = 1;
9742 
9743 enum VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION = 2;
9744 enum VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME = "VK_EXT_descriptor_indexing";
9745 
9746 alias VkDescriptorBindingFlagBitsEXT = VkDescriptorBindingFlagBits;
9747 alias VkDescriptorBindingFlagsEXT = VkDescriptorBindingFlags;
9748 
9749 alias VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = VkDescriptorSetLayoutBindingFlagsCreateInfo;
9750 alias VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures;
9751 alias VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingProperties;
9752 alias VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = VkDescriptorSetVariableDescriptorCountAllocateInfo;
9753 alias VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = VkDescriptorSetVariableDescriptorCountLayoutSupport;
9754 
9755 
9756 // - VK_EXT_shader_viewport_index_layer -
9757 enum VK_EXT_shader_viewport_index_layer = 1;
9758 
9759 enum VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION = 1;
9760 enum VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME = "VK_EXT_shader_viewport_index_layer";
9761 
9762 
9763 // - VK_NV_shading_rate_image -
9764 enum VK_NV_shading_rate_image = 1;
9765 
9766 enum VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION = 3;
9767 enum VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME = "VK_NV_shading_rate_image";
9768 
9769 enum VkShadingRatePaletteEntryNV {
9770     VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV                      = 0,
9771     VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV            = 1,
9772     VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV             = 2,
9773     VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV             = 3,
9774     VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV             = 4,
9775     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV              = 5,
9776     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV         = 6,
9777     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV         = 7,
9778     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV         = 8,
9779     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV         = 9,
9780     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV         = 10,
9781     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV         = 11,
9782     VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV                         = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
9783     VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV                           = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV,
9784     VK_SHADING_RATE_PALETTE_ENTRY_RANGE_SIZE_NV                          = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV - VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV + 1,
9785     VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV                            = 0x7FFFFFFF
9786 }
9787 
9788 enum VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV                     = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV;
9789 enum VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV           = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV;
9790 enum VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV            = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV;
9791 enum VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV            = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV;
9792 enum VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV            = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV;
9793 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV             = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV;
9794 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV;
9795 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV;
9796 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV;
9797 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV;
9798 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV;
9799 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV;
9800 enum VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV                        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV;
9801 enum VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV                          = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV;
9802 enum VK_SHADING_RATE_PALETTE_ENTRY_RANGE_SIZE_NV                         = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_RANGE_SIZE_NV;
9803 enum VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV                           = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV;
9804 
9805 enum VkCoarseSampleOrderTypeNV {
9806     VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV       = 0,
9807     VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV        = 1,
9808     VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV   = 2,
9809     VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV  = 3,
9810     VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV   = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
9811     VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV     = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV,
9812     VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV    = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV - VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV + 1,
9813     VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV      = 0x7FFFFFFF
9814 }
9815 
9816 enum VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV      = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV;
9817 enum VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV       = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV;
9818 enum VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV  = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV;
9819 enum VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV;
9820 enum VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV  = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV;
9821 enum VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV    = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV;
9822 enum VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV   = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV;
9823 enum VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV     = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV;
9824 
9825 struct VkShadingRatePaletteNV {
9826     uint32_t                               shadingRatePaletteEntryCount;
9827     const( VkShadingRatePaletteEntryNV )*  pShadingRatePaletteEntries;
9828 }
9829 
9830 struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
9831     VkStructureType                   sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV;
9832     const( void )*                    pNext;
9833     VkBool32                          shadingRateImageEnable;
9834     uint32_t                          viewportCount;
9835     const( VkShadingRatePaletteNV )*  pShadingRatePalettes;
9836 }
9837 
9838 struct VkPhysicalDeviceShadingRateImageFeaturesNV {
9839     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV;
9840     void*            pNext;
9841     VkBool32         shadingRateImage;
9842     VkBool32         shadingRateCoarseSampleOrder;
9843 }
9844 
9845 struct VkPhysicalDeviceShadingRateImagePropertiesNV {
9846     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV;
9847     void*            pNext;
9848     VkExtent2D       shadingRateTexelSize;
9849     uint32_t         shadingRatePaletteSize;
9850     uint32_t         shadingRateMaxCoarseSamples;
9851 }
9852 
9853 struct VkCoarseSampleLocationNV {
9854     uint32_t  pixelX;
9855     uint32_t  pixelY;
9856     uint32_t  sample;
9857 }
9858 
9859 struct VkCoarseSampleOrderCustomNV {
9860     VkShadingRatePaletteEntryNV         shadingRate;
9861     uint32_t                            sampleCount;
9862     uint32_t                            sampleLocationCount;
9863     const( VkCoarseSampleLocationNV )*  pSampleLocations;
9864 }
9865 
9866 struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
9867     VkStructureType                        sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV;
9868     const( void )*                         pNext;
9869     VkCoarseSampleOrderTypeNV              sampleOrderType;
9870     uint32_t                               customSampleOrderCount;
9871     const( VkCoarseSampleOrderCustomNV )*  pCustomSampleOrders;
9872 }
9873 
9874 
9875 // - VK_NV_ray_tracing -
9876 enum VK_NV_ray_tracing = 1;
9877 
9878 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkAccelerationStructureNV} );
9879 
9880 alias VkRayTracingShaderGroupTypeNV = VkRayTracingShaderGroupTypeKHR;
9881 alias VkGeometryTypeNV = VkGeometryTypeKHR;
9882 alias VkAccelerationStructureTypeNV = VkAccelerationStructureTypeKHR;
9883 alias VkCopyAccelerationStructureModeNV = VkCopyAccelerationStructureModeKHR;
9884 enum VK_NV_RAY_TRACING_SPEC_VERSION = 3;
9885 enum VK_NV_RAY_TRACING_EXTENSION_NAME = "VK_NV_ray_tracing";
9886 enum VK_SHADER_UNUSED_KHR = (~0U);
9887 alias VK_SHADER_UNUSED_NV = VK_SHADER_UNUSED_KHR;
9888 
9889 enum VkRayTracingShaderGroupTypeKHR {
9890     VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR                 = 0,
9891     VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR     = 1,
9892     VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR    = 2,
9893     VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV                  = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
9894     VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV      = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
9895     VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV     = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
9896     VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_KHR             = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
9897     VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_KHR               = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
9898     VK_RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_KHR              = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR - VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR + 1,
9899     VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR                = 0x7FFFFFFF
9900 }
9901 
9902 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR                = VkRayTracingShaderGroupTypeKHR.VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR;
9903 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR    = VkRayTracingShaderGroupTypeKHR.VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR;
9904 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR   = VkRayTracingShaderGroupTypeKHR.VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR;
9905 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV                 = VkRayTracingShaderGroupTypeKHR.VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV;
9906 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV     = VkRayTracingShaderGroupTypeKHR.VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV;
9907 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV    = VkRayTracingShaderGroupTypeKHR.VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV;
9908 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_KHR            = VkRayTracingShaderGroupTypeKHR.VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_KHR;
9909 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_KHR              = VkRayTracingShaderGroupTypeKHR.VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_KHR;
9910 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_KHR             = VkRayTracingShaderGroupTypeKHR.VK_RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_KHR;
9911 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR               = VkRayTracingShaderGroupTypeKHR.VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR;
9912 
9913 enum VkGeometryTypeKHR {
9914     VK_GEOMETRY_TYPE_TRIANGLES_KHR       = 0,
9915     VK_GEOMETRY_TYPE_AABBS_KHR           = 1,
9916     VK_GEOMETRY_TYPE_INSTANCES_KHR       = 2,
9917     VK_GEOMETRY_TYPE_TRIANGLES_NV        = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
9918     VK_GEOMETRY_TYPE_AABBS_NV            = VK_GEOMETRY_TYPE_AABBS_KHR,
9919     VK_GEOMETRY_TYPE_BEGIN_RANGE_KHR     = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
9920     VK_GEOMETRY_TYPE_END_RANGE_KHR       = VK_GEOMETRY_TYPE_INSTANCES_KHR,
9921     VK_GEOMETRY_TYPE_RANGE_SIZE_KHR      = VK_GEOMETRY_TYPE_INSTANCES_KHR - VK_GEOMETRY_TYPE_TRIANGLES_KHR + 1,
9922     VK_GEOMETRY_TYPE_MAX_ENUM_KHR        = 0x7FFFFFFF
9923 }
9924 
9925 enum VK_GEOMETRY_TYPE_TRIANGLES_KHR      = VkGeometryTypeKHR.VK_GEOMETRY_TYPE_TRIANGLES_KHR;
9926 enum VK_GEOMETRY_TYPE_AABBS_KHR          = VkGeometryTypeKHR.VK_GEOMETRY_TYPE_AABBS_KHR;
9927 enum VK_GEOMETRY_TYPE_INSTANCES_KHR      = VkGeometryTypeKHR.VK_GEOMETRY_TYPE_INSTANCES_KHR;
9928 enum VK_GEOMETRY_TYPE_TRIANGLES_NV       = VkGeometryTypeKHR.VK_GEOMETRY_TYPE_TRIANGLES_NV;
9929 enum VK_GEOMETRY_TYPE_AABBS_NV           = VkGeometryTypeKHR.VK_GEOMETRY_TYPE_AABBS_NV;
9930 enum VK_GEOMETRY_TYPE_BEGIN_RANGE_KHR    = VkGeometryTypeKHR.VK_GEOMETRY_TYPE_BEGIN_RANGE_KHR;
9931 enum VK_GEOMETRY_TYPE_END_RANGE_KHR      = VkGeometryTypeKHR.VK_GEOMETRY_TYPE_END_RANGE_KHR;
9932 enum VK_GEOMETRY_TYPE_RANGE_SIZE_KHR     = VkGeometryTypeKHR.VK_GEOMETRY_TYPE_RANGE_SIZE_KHR;
9933 enum VK_GEOMETRY_TYPE_MAX_ENUM_KHR       = VkGeometryTypeKHR.VK_GEOMETRY_TYPE_MAX_ENUM_KHR;
9934 
9935 enum VkAccelerationStructureTypeKHR {
9936     VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR         = 0,
9937     VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR      = 1,
9938     VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR           = 2,
9939     VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV          = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
9940     VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV       = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
9941     VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_KHR       = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
9942     VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_KHR         = VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR,
9943     VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_KHR        = VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR - VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR + 1,
9944     VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR          = 0x7FFFFFFF
9945 }
9946 
9947 enum VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR        = VkAccelerationStructureTypeKHR.VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR;
9948 enum VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR     = VkAccelerationStructureTypeKHR.VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR;
9949 enum VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR          = VkAccelerationStructureTypeKHR.VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR;
9950 enum VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV         = VkAccelerationStructureTypeKHR.VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV;
9951 enum VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV      = VkAccelerationStructureTypeKHR.VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV;
9952 enum VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_KHR      = VkAccelerationStructureTypeKHR.VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_KHR;
9953 enum VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_KHR        = VkAccelerationStructureTypeKHR.VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_KHR;
9954 enum VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_KHR       = VkAccelerationStructureTypeKHR.VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_KHR;
9955 enum VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR         = VkAccelerationStructureTypeKHR.VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR;
9956 
9957 enum VkCopyAccelerationStructureModeKHR {
9958     VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR        = 0,
9959     VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR      = 1,
9960     VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR    = 2,
9961     VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR  = 3,
9962     VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV         = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
9963     VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV       = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
9964     VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_KHR  = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
9965     VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_KHR    = VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR,
9966     VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_KHR   = VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR - VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR + 1,
9967     VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR     = 0x7FFFFFFF
9968 }
9969 
9970 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR       = VkCopyAccelerationStructureModeKHR.VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR;
9971 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR     = VkCopyAccelerationStructureModeKHR.VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR;
9972 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR   = VkCopyAccelerationStructureModeKHR.VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR;
9973 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = VkCopyAccelerationStructureModeKHR.VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR;
9974 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV        = VkCopyAccelerationStructureModeKHR.VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV;
9975 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV      = VkCopyAccelerationStructureModeKHR.VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV;
9976 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_KHR = VkCopyAccelerationStructureModeKHR.VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_KHR;
9977 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_KHR   = VkCopyAccelerationStructureModeKHR.VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_KHR;
9978 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_KHR  = VkCopyAccelerationStructureModeKHR.VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_KHR;
9979 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR    = VkCopyAccelerationStructureModeKHR.VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR;
9980 
9981 enum VkAccelerationStructureMemoryRequirementsTypeNV {
9982     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV                 = 0,
9983     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV          = 1,
9984     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV         = 2,
9985     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV            = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
9986     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV              = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV,
9987     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_RANGE_SIZE_NV             = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV - VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV + 1,
9988     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV               = 0x7FFFFFFF
9989 }
9990 
9991 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV                = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV;
9992 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV         = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV;
9993 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV        = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV;
9994 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV           = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV;
9995 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV             = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV;
9996 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_RANGE_SIZE_NV            = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_RANGE_SIZE_NV;
9997 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV              = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV;
9998 
9999 enum VkGeometryFlagBitsKHR {
10000     VK_GEOMETRY_OPAQUE_BIT_KHR                           = 0x00000001,
10001     VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR  = 0x00000002,
10002     VK_GEOMETRY_OPAQUE_BIT_NV                            = VK_GEOMETRY_OPAQUE_BIT_KHR,
10003     VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV   = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
10004     VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR                   = 0x7FFFFFFF
10005 }
10006 
10007 enum VK_GEOMETRY_OPAQUE_BIT_KHR                          = VkGeometryFlagBitsKHR.VK_GEOMETRY_OPAQUE_BIT_KHR;
10008 enum VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = VkGeometryFlagBitsKHR.VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR;
10009 enum VK_GEOMETRY_OPAQUE_BIT_NV                           = VkGeometryFlagBitsKHR.VK_GEOMETRY_OPAQUE_BIT_NV;
10010 enum VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV  = VkGeometryFlagBitsKHR.VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV;
10011 enum VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR                  = VkGeometryFlagBitsKHR.VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR;
10012 alias VkGeometryFlagsKHR = VkFlags;
10013 alias VkGeometryFlagsNV = VkGeometryFlagsKHR;
10014 alias VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR;
10015 
10016 enum VkGeometryInstanceFlagBitsKHR {
10017     VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR            = 0x00000001,
10018     VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR         = 0x00000002,
10019     VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR                            = 0x00000004,
10020     VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR                         = 0x00000008,
10021     VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV                    = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
10022     VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV          = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
10023     VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV                             = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
10024     VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV                          = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
10025     VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR                          = 0x7FFFFFFF
10026 }
10027 
10028 enum VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR           = VkGeometryInstanceFlagBitsKHR.VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR;
10029 enum VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR        = VkGeometryInstanceFlagBitsKHR.VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR;
10030 enum VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR                           = VkGeometryInstanceFlagBitsKHR.VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR;
10031 enum VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR                        = VkGeometryInstanceFlagBitsKHR.VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR;
10032 enum VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV                   = VkGeometryInstanceFlagBitsKHR.VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV;
10033 enum VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV         = VkGeometryInstanceFlagBitsKHR.VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV;
10034 enum VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV                            = VkGeometryInstanceFlagBitsKHR.VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV;
10035 enum VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV                         = VkGeometryInstanceFlagBitsKHR.VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV;
10036 enum VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR                         = VkGeometryInstanceFlagBitsKHR.VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR;
10037 alias VkGeometryInstanceFlagsKHR = VkFlags;
10038 alias VkGeometryInstanceFlagsNV = VkGeometryInstanceFlagsKHR;
10039 alias VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR;
10040 
10041 enum VkBuildAccelerationStructureFlagBitsKHR {
10042     VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR         = 0x00000001,
10043     VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR     = 0x00000002,
10044     VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR    = 0x00000004,
10045     VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR    = 0x00000008,
10046     VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR           = 0x00000010,
10047     VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV          = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
10048     VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV      = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
10049     VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV     = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
10050     VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV     = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
10051     VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV            = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
10052     VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR       = 0x7FFFFFFF
10053 }
10054 
10055 enum VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR        = VkBuildAccelerationStructureFlagBitsKHR.VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR;
10056 enum VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR    = VkBuildAccelerationStructureFlagBitsKHR.VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR;
10057 enum VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR   = VkBuildAccelerationStructureFlagBitsKHR.VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR;
10058 enum VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR   = VkBuildAccelerationStructureFlagBitsKHR.VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR;
10059 enum VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR          = VkBuildAccelerationStructureFlagBitsKHR.VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR;
10060 enum VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV         = VkBuildAccelerationStructureFlagBitsKHR.VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV;
10061 enum VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV     = VkBuildAccelerationStructureFlagBitsKHR.VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV;
10062 enum VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV    = VkBuildAccelerationStructureFlagBitsKHR.VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV;
10063 enum VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV    = VkBuildAccelerationStructureFlagBitsKHR.VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV;
10064 enum VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV           = VkBuildAccelerationStructureFlagBitsKHR.VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV;
10065 enum VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR      = VkBuildAccelerationStructureFlagBitsKHR.VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR;
10066 alias VkBuildAccelerationStructureFlagsKHR = VkFlags;
10067 alias VkBuildAccelerationStructureFlagsNV = VkBuildAccelerationStructureFlagsKHR;
10068 alias VkBuildAccelerationStructureFlagBitsNV = VkBuildAccelerationStructureFlagBitsKHR;
10069 
10070 struct VkRayTracingShaderGroupCreateInfoNV {
10071     VkStructureType                 sType = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV;
10072     const( void )*                  pNext;
10073     VkRayTracingShaderGroupTypeKHR  type;
10074     uint32_t                        generalShader;
10075     uint32_t                        closestHitShader;
10076     uint32_t                        anyHitShader;
10077     uint32_t                        intersectionShader;
10078 }
10079 
10080 struct VkRayTracingPipelineCreateInfoNV {
10081     VkStructureType                                sType = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV;
10082     const( void )*                                 pNext;
10083     VkPipelineCreateFlags                          flags;
10084     uint32_t                                       stageCount;
10085     const( VkPipelineShaderStageCreateInfo )*      pStages;
10086     uint32_t                                       groupCount;
10087     const( VkRayTracingShaderGroupCreateInfoNV )*  pGroups;
10088     uint32_t                                       maxRecursionDepth;
10089     VkPipelineLayout                               layout;
10090     VkPipeline                                     basePipelineHandle;
10091     int32_t                                        basePipelineIndex;
10092 }
10093 
10094 struct VkGeometryTrianglesNV {
10095     VkStructureType  sType = VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV;
10096     const( void )*   pNext;
10097     VkBuffer         vertexData;
10098     VkDeviceSize     vertexOffset;
10099     uint32_t         vertexCount;
10100     VkDeviceSize     vertexStride;
10101     VkFormat         vertexFormat;
10102     VkBuffer         indexData;
10103     VkDeviceSize     indexOffset;
10104     uint32_t         indexCount;
10105     VkIndexType      indexType;
10106     VkBuffer         transformData;
10107     VkDeviceSize     transformOffset;
10108 }
10109 
10110 struct VkGeometryAABBNV {
10111     VkStructureType  sType = VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV;
10112     const( void )*   pNext;
10113     VkBuffer         aabbData;
10114     uint32_t         numAABBs;
10115     uint32_t         stride;
10116     VkDeviceSize     offset;
10117 }
10118 
10119 struct VkGeometryDataNV {
10120     VkGeometryTrianglesNV  triangles;
10121     VkGeometryAABBNV       aabbs;
10122 }
10123 
10124 struct VkGeometryNV {
10125     VkStructureType     sType = VK_STRUCTURE_TYPE_GEOMETRY_NV;
10126     const( void )*      pNext;
10127     VkGeometryTypeKHR   geometryType;
10128     VkGeometryDataNV    geometry;
10129     VkGeometryFlagsKHR  flags;
10130 }
10131 
10132 struct VkAccelerationStructureInfoNV {
10133     VkStructureType                      sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV;
10134     const( void )*                       pNext;
10135     VkAccelerationStructureTypeNV        type;
10136     VkBuildAccelerationStructureFlagsNV  flags;
10137     uint32_t                             instanceCount;
10138     uint32_t                             geometryCount;
10139     const( VkGeometryNV )*               pGeometries;
10140 }
10141 
10142 struct VkAccelerationStructureCreateInfoNV {
10143     VkStructureType                sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV;
10144     const( void )*                 pNext;
10145     VkDeviceSize                   compactedSize;
10146     VkAccelerationStructureInfoNV  info;
10147 }
10148 
10149 struct VkBindAccelerationStructureMemoryInfoNV {
10150     VkStructureType            sType = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV;
10151     const( void )*             pNext;
10152     VkAccelerationStructureNV  accelerationStructure;
10153     VkDeviceMemory             memory;
10154     VkDeviceSize               memoryOffset;
10155     uint32_t                   deviceIndexCount;
10156     const( uint32_t )*         pDeviceIndices;
10157 }
10158 
10159 struct VkWriteDescriptorSetAccelerationStructureNV {
10160     VkStructureType                      sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV;
10161     const( void )*                       pNext;
10162     uint32_t                             accelerationStructureCount;
10163     const( VkAccelerationStructureNV )*  pAccelerationStructures;
10164 }
10165 
10166 struct VkAccelerationStructureMemoryRequirementsInfoNV {
10167     VkStructureType                                  sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV;
10168     const( void )*                                   pNext;
10169     VkAccelerationStructureMemoryRequirementsTypeNV  type;
10170     VkAccelerationStructureNV                        accelerationStructure;
10171 }
10172 
10173 struct VkPhysicalDeviceRayTracingPropertiesNV {
10174     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV;
10175     void*            pNext;
10176     uint32_t         shaderGroupHandleSize;
10177     uint32_t         maxRecursionDepth;
10178     uint32_t         maxShaderGroupStride;
10179     uint32_t         shaderGroupBaseAlignment;
10180     uint64_t         maxGeometryCount;
10181     uint64_t         maxInstanceCount;
10182     uint64_t         maxTriangleCount;
10183     uint32_t         maxDescriptorSetAccelerationStructures;
10184 }
10185 
10186 struct VkTransformMatrixKHR {
10187     float[3][4]  matrix;
10188 }
10189 alias VkTransformMatrixNV = VkTransformMatrixKHR;
10190 
10191 struct VkAabbPositionsKHR {
10192     float  minX;
10193     float  minY;
10194     float  minZ;
10195     float  maxX;
10196     float  maxY;
10197     float  maxZ;
10198 }
10199 alias VkAabbPositionsNV = VkAabbPositionsKHR;
10200 
10201 struct VkAccelerationStructureInstanceKHR {
10202     VkTransformMatrixKHR            transform;
10203     mixin( bitfields!(
10204         uint32_t,                   "instanceCustomIndex",                    24,
10205         uint32_t,                   "mask",                                   8,
10206         uint32_t,                   "instanceShaderBindingTableRecordOffset", 24,
10207         VkGeometryInstanceFlagsKHR, "flags",                                  8,
10208     ));
10209     uint64_t                        accelerationStructureReference;
10210 }
10211 alias VkAccelerationStructureInstanceNV = VkAccelerationStructureInstanceKHR;
10212 
10213 
10214 // - VK_NV_representative_fragment_test -
10215 enum VK_NV_representative_fragment_test = 1;
10216 
10217 enum VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION = 2;
10218 enum VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME = "VK_NV_representative_fragment_test";
10219 
10220 struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
10221     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV;
10222     void*            pNext;
10223     VkBool32         representativeFragmentTest;
10224 }
10225 
10226 struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
10227     VkStructureType  sType = VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV;
10228     const( void )*   pNext;
10229     VkBool32         representativeFragmentTestEnable;
10230 }
10231 
10232 
10233 // - VK_EXT_filter_cubic -
10234 enum VK_EXT_filter_cubic = 1;
10235 
10236 enum VK_EXT_FILTER_CUBIC_SPEC_VERSION = 3;
10237 enum VK_EXT_FILTER_CUBIC_EXTENSION_NAME = "VK_EXT_filter_cubic";
10238 
10239 struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
10240     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT;
10241     void*            pNext;
10242     VkImageViewType  imageViewType;
10243 }
10244 
10245 struct VkFilterCubicImageViewImageFormatPropertiesEXT {
10246     VkStructureType  sType = VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT;
10247     void*            pNext;
10248     VkBool32         filterCubic;
10249     VkBool32         filterCubicMinmax;
10250 }
10251 
10252 
10253 // - VK_QCOM_render_pass_shader_resolve -
10254 enum VK_QCOM_render_pass_shader_resolve = 1;
10255 
10256 enum VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION = 4;
10257 enum VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME = "VK_QCOM_render_pass_shader_resolve";
10258 
10259 
10260 // - VK_EXT_global_priority -
10261 enum VK_EXT_global_priority = 1;
10262 
10263 enum VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION = 2;
10264 enum VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_EXT_global_priority";
10265 
10266 enum VkQueueGlobalPriorityEXT {
10267     VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT             = 128,
10268     VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT          = 256,
10269     VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT            = 512,
10270     VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT        = 1024,
10271     VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT     = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,
10272     VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT       = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT,
10273     VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT      = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT - VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT + 1,
10274     VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT        = 0x7FFFFFFF
10275 }
10276 
10277 enum VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT            = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT;
10278 enum VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT         = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT;
10279 enum VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT           = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT;
10280 enum VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT       = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT;
10281 enum VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT    = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT;
10282 enum VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT      = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT;
10283 enum VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT     = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT;
10284 enum VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT       = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT;
10285 
10286 struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
10287     VkStructureType           sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT;
10288     const( void )*            pNext;
10289     VkQueueGlobalPriorityEXT  globalPriority;
10290 }
10291 
10292 
10293 // - VK_EXT_external_memory_host -
10294 enum VK_EXT_external_memory_host = 1;
10295 
10296 enum VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION = 1;
10297 enum VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME = "VK_EXT_external_memory_host";
10298 
10299 struct VkImportMemoryHostPointerInfoEXT {
10300     VkStructureType                     sType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT;
10301     const( void )*                      pNext;
10302     VkExternalMemoryHandleTypeFlagBits  handleType;
10303     void*                               pHostPointer;
10304 }
10305 
10306 struct VkMemoryHostPointerPropertiesEXT {
10307     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT;
10308     void*            pNext;
10309     uint32_t         memoryTypeBits;
10310 }
10311 
10312 struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
10313     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT;
10314     void*            pNext;
10315     VkDeviceSize     minImportedHostPointerAlignment;
10316 }
10317 
10318 
10319 // - VK_AMD_buffer_marker -
10320 enum VK_AMD_buffer_marker = 1;
10321 
10322 enum VK_AMD_BUFFER_MARKER_SPEC_VERSION = 1;
10323 enum VK_AMD_BUFFER_MARKER_EXTENSION_NAME = "VK_AMD_buffer_marker";
10324 
10325 
10326 // - VK_AMD_pipeline_compiler_control -
10327 enum VK_AMD_pipeline_compiler_control = 1;
10328 
10329 enum VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION = 1;
10330 enum VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME = "VK_AMD_pipeline_compiler_control";
10331 
10332 enum VkPipelineCompilerControlFlagBitsAMD {
10333     VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD  = 0x7FFFFFFF
10334 }
10335 
10336 enum VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = VkPipelineCompilerControlFlagBitsAMD.VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD;
10337 alias VkPipelineCompilerControlFlagsAMD = VkFlags;
10338 
10339 struct VkPipelineCompilerControlCreateInfoAMD {
10340     VkStructureType                    sType = VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD;
10341     const( void )*                     pNext;
10342     VkPipelineCompilerControlFlagsAMD  compilerControlFlags;
10343 }
10344 
10345 
10346 // - VK_EXT_calibrated_timestamps -
10347 enum VK_EXT_calibrated_timestamps = 1;
10348 
10349 enum VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION = 1;
10350 enum VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME = "VK_EXT_calibrated_timestamps";
10351 
10352 enum VkTimeDomainEXT {
10353     VK_TIME_DOMAIN_DEVICE_EXT                            = 0,
10354     VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT                   = 1,
10355     VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT               = 2,
10356     VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT         = 3,
10357     VK_TIME_DOMAIN_BEGIN_RANGE_EXT                       = VK_TIME_DOMAIN_DEVICE_EXT,
10358     VK_TIME_DOMAIN_END_RANGE_EXT                         = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT,
10359     VK_TIME_DOMAIN_RANGE_SIZE_EXT                        = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT - VK_TIME_DOMAIN_DEVICE_EXT + 1,
10360     VK_TIME_DOMAIN_MAX_ENUM_EXT                          = 0x7FFFFFFF
10361 }
10362 
10363 enum VK_TIME_DOMAIN_DEVICE_EXT                           = VkTimeDomainEXT.VK_TIME_DOMAIN_DEVICE_EXT;
10364 enum VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT                  = VkTimeDomainEXT.VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT;
10365 enum VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT              = VkTimeDomainEXT.VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT;
10366 enum VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT        = VkTimeDomainEXT.VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT;
10367 enum VK_TIME_DOMAIN_BEGIN_RANGE_EXT                      = VkTimeDomainEXT.VK_TIME_DOMAIN_BEGIN_RANGE_EXT;
10368 enum VK_TIME_DOMAIN_END_RANGE_EXT                        = VkTimeDomainEXT.VK_TIME_DOMAIN_END_RANGE_EXT;
10369 enum VK_TIME_DOMAIN_RANGE_SIZE_EXT                       = VkTimeDomainEXT.VK_TIME_DOMAIN_RANGE_SIZE_EXT;
10370 enum VK_TIME_DOMAIN_MAX_ENUM_EXT                         = VkTimeDomainEXT.VK_TIME_DOMAIN_MAX_ENUM_EXT;
10371 
10372 struct VkCalibratedTimestampInfoEXT {
10373     VkStructureType  sType = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT;
10374     const( void )*   pNext;
10375     VkTimeDomainEXT  timeDomain;
10376 }
10377 
10378 
10379 // - VK_AMD_shader_core_properties -
10380 enum VK_AMD_shader_core_properties = 1;
10381 
10382 enum VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION = 2;
10383 enum VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME = "VK_AMD_shader_core_properties";
10384 
10385 struct VkPhysicalDeviceShaderCorePropertiesAMD {
10386     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD;
10387     void*            pNext;
10388     uint32_t         shaderEngineCount;
10389     uint32_t         shaderArraysPerEngineCount;
10390     uint32_t         computeUnitsPerShaderArray;
10391     uint32_t         simdPerComputeUnit;
10392     uint32_t         wavefrontsPerSimd;
10393     uint32_t         wavefrontSize;
10394     uint32_t         sgprsPerSimd;
10395     uint32_t         minSgprAllocation;
10396     uint32_t         maxSgprAllocation;
10397     uint32_t         sgprAllocationGranularity;
10398     uint32_t         vgprsPerSimd;
10399     uint32_t         minVgprAllocation;
10400     uint32_t         maxVgprAllocation;
10401     uint32_t         vgprAllocationGranularity;
10402 }
10403 
10404 
10405 // - VK_AMD_memory_overallocation_behavior -
10406 enum VK_AMD_memory_overallocation_behavior = 1;
10407 
10408 enum VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION = 1;
10409 enum VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME = "VK_AMD_memory_overallocation_behavior";
10410 
10411 enum VkMemoryOverallocationBehaviorAMD {
10412     VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD        = 0,
10413     VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD        = 1,
10414     VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD     = 2,
10415     VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD    = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
10416     VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD      = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD,
10417     VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD     = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD - VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD + 1,
10418     VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD       = 0x7FFFFFFF
10419 }
10420 
10421 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD       = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD;
10422 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD       = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD;
10423 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD    = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD;
10424 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD   = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD;
10425 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD     = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD;
10426 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD    = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD;
10427 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD      = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD;
10428 
10429 struct VkDeviceMemoryOverallocationCreateInfoAMD {
10430     VkStructureType                    sType = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD;
10431     const( void )*                     pNext;
10432     VkMemoryOverallocationBehaviorAMD  overallocationBehavior;
10433 }
10434 
10435 
10436 // - VK_EXT_vertex_attribute_divisor -
10437 enum VK_EXT_vertex_attribute_divisor = 1;
10438 
10439 enum VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION = 3;
10440 enum VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME = "VK_EXT_vertex_attribute_divisor";
10441 
10442 struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
10443     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT;
10444     void*            pNext;
10445     uint32_t         maxVertexAttribDivisor;
10446 }
10447 
10448 struct VkVertexInputBindingDivisorDescriptionEXT {
10449     uint32_t  binding;
10450     uint32_t  divisor;
10451 }
10452 
10453 struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
10454     VkStructureType                                      sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT;
10455     const( void )*                                       pNext;
10456     uint32_t                                             vertexBindingDivisorCount;
10457     const( VkVertexInputBindingDivisorDescriptionEXT )*  pVertexBindingDivisors;
10458 }
10459 
10460 struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
10461     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT;
10462     void*            pNext;
10463     VkBool32         vertexAttributeInstanceRateDivisor;
10464     VkBool32         vertexAttributeInstanceRateZeroDivisor;
10465 }
10466 
10467 
10468 // - VK_EXT_pipeline_creation_feedback -
10469 enum VK_EXT_pipeline_creation_feedback = 1;
10470 
10471 enum VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION = 1;
10472 enum VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME = "VK_EXT_pipeline_creation_feedback";
10473 
10474 enum VkPipelineCreationFeedbackFlagBitsEXT {
10475     VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT                                  = 0x00000001,
10476     VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT         = 0x00000002,
10477     VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT             = 0x00000004,
10478     VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT                         = 0x7FFFFFFF
10479 }
10480 
10481 enum VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT                                 = VkPipelineCreationFeedbackFlagBitsEXT.VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT;
10482 enum VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT        = VkPipelineCreationFeedbackFlagBitsEXT.VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT;
10483 enum VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT            = VkPipelineCreationFeedbackFlagBitsEXT.VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT;
10484 enum VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT                        = VkPipelineCreationFeedbackFlagBitsEXT.VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT;
10485 alias VkPipelineCreationFeedbackFlagsEXT = VkFlags;
10486 
10487 struct VkPipelineCreationFeedbackEXT {
10488     VkPipelineCreationFeedbackFlagsEXT  flags;
10489     uint64_t                            duration;
10490 }
10491 
10492 struct VkPipelineCreationFeedbackCreateInfoEXT {
10493     VkStructureType                 sType = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT;
10494     const( void )*                  pNext;
10495     VkPipelineCreationFeedbackEXT*  pPipelineCreationFeedback;
10496     uint32_t                        pipelineStageCreationFeedbackCount;
10497     VkPipelineCreationFeedbackEXT*  pPipelineStageCreationFeedbacks;
10498 }
10499 
10500 
10501 // - VK_NV_shader_subgroup_partitioned -
10502 enum VK_NV_shader_subgroup_partitioned = 1;
10503 
10504 enum VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION = 1;
10505 enum VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME = "VK_NV_shader_subgroup_partitioned";
10506 
10507 
10508 // - VK_NV_compute_shader_derivatives -
10509 enum VK_NV_compute_shader_derivatives = 1;
10510 
10511 enum VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION = 1;
10512 enum VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME = "VK_NV_compute_shader_derivatives";
10513 
10514 struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
10515     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV;
10516     void*            pNext;
10517     VkBool32         computeDerivativeGroupQuads;
10518     VkBool32         computeDerivativeGroupLinear;
10519 }
10520 
10521 
10522 // - VK_NV_mesh_shader -
10523 enum VK_NV_mesh_shader = 1;
10524 
10525 enum VK_NV_MESH_SHADER_SPEC_VERSION = 1;
10526 enum VK_NV_MESH_SHADER_EXTENSION_NAME = "VK_NV_mesh_shader";
10527 
10528 struct VkPhysicalDeviceMeshShaderFeaturesNV {
10529     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV;
10530     void*            pNext;
10531     VkBool32         taskShader;
10532     VkBool32         meshShader;
10533 }
10534 
10535 struct VkPhysicalDeviceMeshShaderPropertiesNV {
10536     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV;
10537     void*            pNext;
10538     uint32_t         maxDrawMeshTasksCount;
10539     uint32_t         maxTaskWorkGroupInvocations;
10540     uint32_t[3]      maxTaskWorkGroupSize;
10541     uint32_t         maxTaskTotalMemorySize;
10542     uint32_t         maxTaskOutputCount;
10543     uint32_t         maxMeshWorkGroupInvocations;
10544     uint32_t[3]      maxMeshWorkGroupSize;
10545     uint32_t         maxMeshTotalMemorySize;
10546     uint32_t         maxMeshOutputVertices;
10547     uint32_t         maxMeshOutputPrimitives;
10548     uint32_t         maxMeshMultiviewViewCount;
10549     uint32_t         meshOutputPerVertexGranularity;
10550     uint32_t         meshOutputPerPrimitiveGranularity;
10551 }
10552 
10553 struct VkDrawMeshTasksIndirectCommandNV {
10554     uint32_t  taskCount;
10555     uint32_t  firstTask;
10556 }
10557 
10558 
10559 // - VK_NV_fragment_shader_barycentric -
10560 enum VK_NV_fragment_shader_barycentric = 1;
10561 
10562 enum VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION = 1;
10563 enum VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME = "VK_NV_fragment_shader_barycentric";
10564 
10565 struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
10566     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV;
10567     void*            pNext;
10568     VkBool32         fragmentShaderBarycentric;
10569 }
10570 
10571 
10572 // - VK_NV_shader_image_footprint -
10573 enum VK_NV_shader_image_footprint = 1;
10574 
10575 enum VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION = 2;
10576 enum VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME = "VK_NV_shader_image_footprint";
10577 
10578 struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
10579     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV;
10580     void*            pNext;
10581     VkBool32         imageFootprint;
10582 }
10583 
10584 
10585 // - VK_NV_scissor_exclusive -
10586 enum VK_NV_scissor_exclusive = 1;
10587 
10588 enum VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION = 1;
10589 enum VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME = "VK_NV_scissor_exclusive";
10590 
10591 struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
10592     VkStructureType     sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV;
10593     const( void )*      pNext;
10594     uint32_t            exclusiveScissorCount;
10595     const( VkRect2D )*  pExclusiveScissors;
10596 }
10597 
10598 struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
10599     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV;
10600     void*            pNext;
10601     VkBool32         exclusiveScissor;
10602 }
10603 
10604 
10605 // - VK_NV_device_diagnostic_checkpoints -
10606 enum VK_NV_device_diagnostic_checkpoints = 1;
10607 
10608 enum VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION = 2;
10609 enum VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME = "VK_NV_device_diagnostic_checkpoints";
10610 
10611 struct VkQueueFamilyCheckpointPropertiesNV {
10612     VkStructureType       sType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV;
10613     void*                 pNext;
10614     VkPipelineStageFlags  checkpointExecutionStageMask;
10615 }
10616 
10617 struct VkCheckpointDataNV {
10618     VkStructureType          sType = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV;
10619     void*                    pNext;
10620     VkPipelineStageFlagBits  stage;
10621     void*                    pCheckpointMarker;
10622 }
10623 
10624 
10625 // - VK_INTEL_shader_integer_functions2 -
10626 enum VK_INTEL_shader_integer_functions2 = 1;
10627 
10628 enum VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION = 1;
10629 enum VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME = "VK_INTEL_shader_integer_functions2";
10630 
10631 struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
10632     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL;
10633     void*            pNext;
10634     VkBool32         shaderIntegerFunctions2;
10635 }
10636 
10637 
10638 // - VK_INTEL_performance_query -
10639 enum VK_INTEL_performance_query = 1;
10640 
10641 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkPerformanceConfigurationINTEL} );
10642 
10643 enum VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION = 2;
10644 enum VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_INTEL_performance_query";
10645 
10646 enum VkPerformanceConfigurationTypeINTEL {
10647     VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL    = 0,
10648     VK_PERFORMANCE_CONFIGURATION_TYPE_BEGIN_RANGE_INTEL                                  = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL,
10649     VK_PERFORMANCE_CONFIGURATION_TYPE_END_RANGE_INTEL                                    = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL,
10650     VK_PERFORMANCE_CONFIGURATION_TYPE_RANGE_SIZE_INTEL                                   = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL - VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL + 1,
10651     VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL                                     = 0x7FFFFFFF
10652 }
10653 
10654 enum VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL   = VkPerformanceConfigurationTypeINTEL.VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL;
10655 enum VK_PERFORMANCE_CONFIGURATION_TYPE_BEGIN_RANGE_INTEL                                 = VkPerformanceConfigurationTypeINTEL.VK_PERFORMANCE_CONFIGURATION_TYPE_BEGIN_RANGE_INTEL;
10656 enum VK_PERFORMANCE_CONFIGURATION_TYPE_END_RANGE_INTEL                                   = VkPerformanceConfigurationTypeINTEL.VK_PERFORMANCE_CONFIGURATION_TYPE_END_RANGE_INTEL;
10657 enum VK_PERFORMANCE_CONFIGURATION_TYPE_RANGE_SIZE_INTEL                                  = VkPerformanceConfigurationTypeINTEL.VK_PERFORMANCE_CONFIGURATION_TYPE_RANGE_SIZE_INTEL;
10658 enum VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL                                    = VkPerformanceConfigurationTypeINTEL.VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL;
10659 
10660 enum VkQueryPoolSamplingModeINTEL {
10661     VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL     = 0,
10662     VK_QUERY_POOL_SAMPLING_MODE_BEGIN_RANGE_INTEL = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL,
10663     VK_QUERY_POOL_SAMPLING_MODE_END_RANGE_INTEL  = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL,
10664     VK_QUERY_POOL_SAMPLING_MODE_RANGE_SIZE_INTEL = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL - VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL + 1,
10665     VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL   = 0x7FFFFFFF
10666 }
10667 
10668 enum VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL    = VkQueryPoolSamplingModeINTEL.VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL;
10669 enum VK_QUERY_POOL_SAMPLING_MODE_BEGIN_RANGE_INTEL = VkQueryPoolSamplingModeINTEL.VK_QUERY_POOL_SAMPLING_MODE_BEGIN_RANGE_INTEL;
10670 enum VK_QUERY_POOL_SAMPLING_MODE_END_RANGE_INTEL = VkQueryPoolSamplingModeINTEL.VK_QUERY_POOL_SAMPLING_MODE_END_RANGE_INTEL;
10671 enum VK_QUERY_POOL_SAMPLING_MODE_RANGE_SIZE_INTEL = VkQueryPoolSamplingModeINTEL.VK_QUERY_POOL_SAMPLING_MODE_RANGE_SIZE_INTEL;
10672 enum VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL  = VkQueryPoolSamplingModeINTEL.VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL;
10673 
10674 enum VkPerformanceOverrideTypeINTEL {
10675     VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL     = 0,
10676     VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL  = 1,
10677     VK_PERFORMANCE_OVERRIDE_TYPE_BEGIN_RANGE_INTEL       = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL,
10678     VK_PERFORMANCE_OVERRIDE_TYPE_END_RANGE_INTEL         = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL,
10679     VK_PERFORMANCE_OVERRIDE_TYPE_RANGE_SIZE_INTEL        = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL - VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL + 1,
10680     VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL          = 0x7FFFFFFF
10681 }
10682 
10683 enum VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL    = VkPerformanceOverrideTypeINTEL.VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL;
10684 enum VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = VkPerformanceOverrideTypeINTEL.VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL;
10685 enum VK_PERFORMANCE_OVERRIDE_TYPE_BEGIN_RANGE_INTEL      = VkPerformanceOverrideTypeINTEL.VK_PERFORMANCE_OVERRIDE_TYPE_BEGIN_RANGE_INTEL;
10686 enum VK_PERFORMANCE_OVERRIDE_TYPE_END_RANGE_INTEL        = VkPerformanceOverrideTypeINTEL.VK_PERFORMANCE_OVERRIDE_TYPE_END_RANGE_INTEL;
10687 enum VK_PERFORMANCE_OVERRIDE_TYPE_RANGE_SIZE_INTEL       = VkPerformanceOverrideTypeINTEL.VK_PERFORMANCE_OVERRIDE_TYPE_RANGE_SIZE_INTEL;
10688 enum VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL         = VkPerformanceOverrideTypeINTEL.VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL;
10689 
10690 enum VkPerformanceParameterTypeINTEL {
10691     VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL            = 0,
10692     VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL         = 1,
10693     VK_PERFORMANCE_PARAMETER_TYPE_BEGIN_RANGE_INTEL                      = VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL,
10694     VK_PERFORMANCE_PARAMETER_TYPE_END_RANGE_INTEL                        = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL,
10695     VK_PERFORMANCE_PARAMETER_TYPE_RANGE_SIZE_INTEL                       = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL - VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL + 1,
10696     VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL                         = 0x7FFFFFFF
10697 }
10698 
10699 enum VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL           = VkPerformanceParameterTypeINTEL.VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL;
10700 enum VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL        = VkPerformanceParameterTypeINTEL.VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL;
10701 enum VK_PERFORMANCE_PARAMETER_TYPE_BEGIN_RANGE_INTEL                     = VkPerformanceParameterTypeINTEL.VK_PERFORMANCE_PARAMETER_TYPE_BEGIN_RANGE_INTEL;
10702 enum VK_PERFORMANCE_PARAMETER_TYPE_END_RANGE_INTEL                       = VkPerformanceParameterTypeINTEL.VK_PERFORMANCE_PARAMETER_TYPE_END_RANGE_INTEL;
10703 enum VK_PERFORMANCE_PARAMETER_TYPE_RANGE_SIZE_INTEL                      = VkPerformanceParameterTypeINTEL.VK_PERFORMANCE_PARAMETER_TYPE_RANGE_SIZE_INTEL;
10704 enum VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL                        = VkPerformanceParameterTypeINTEL.VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL;
10705 
10706 enum VkPerformanceValueTypeINTEL {
10707     VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL       = 0,
10708     VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL       = 1,
10709     VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL        = 2,
10710     VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL         = 3,
10711     VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL       = 4,
10712     VK_PERFORMANCE_VALUE_TYPE_BEGIN_RANGE_INTEL  = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL,
10713     VK_PERFORMANCE_VALUE_TYPE_END_RANGE_INTEL    = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL,
10714     VK_PERFORMANCE_VALUE_TYPE_RANGE_SIZE_INTEL   = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL - VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL + 1,
10715     VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL     = 0x7FFFFFFF
10716 }
10717 
10718 enum VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL      = VkPerformanceValueTypeINTEL.VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL;
10719 enum VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL      = VkPerformanceValueTypeINTEL.VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL;
10720 enum VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL       = VkPerformanceValueTypeINTEL.VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL;
10721 enum VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL        = VkPerformanceValueTypeINTEL.VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL;
10722 enum VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL      = VkPerformanceValueTypeINTEL.VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL;
10723 enum VK_PERFORMANCE_VALUE_TYPE_BEGIN_RANGE_INTEL = VkPerformanceValueTypeINTEL.VK_PERFORMANCE_VALUE_TYPE_BEGIN_RANGE_INTEL;
10724 enum VK_PERFORMANCE_VALUE_TYPE_END_RANGE_INTEL   = VkPerformanceValueTypeINTEL.VK_PERFORMANCE_VALUE_TYPE_END_RANGE_INTEL;
10725 enum VK_PERFORMANCE_VALUE_TYPE_RANGE_SIZE_INTEL  = VkPerformanceValueTypeINTEL.VK_PERFORMANCE_VALUE_TYPE_RANGE_SIZE_INTEL;
10726 enum VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL    = VkPerformanceValueTypeINTEL.VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL;
10727 
10728 union VkPerformanceValueDataINTEL {
10729     uint32_t        value32;
10730     uint64_t        value64;
10731     float           valueFloat;
10732     VkBool32        valueBool;
10733     const( char )*  valueString;
10734 }
10735 
10736 struct VkPerformanceValueINTEL {
10737     VkPerformanceValueTypeINTEL  type;
10738     VkPerformanceValueDataINTEL  data;
10739 }
10740 
10741 struct VkInitializePerformanceApiInfoINTEL {
10742     VkStructureType  sType = VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL;
10743     const( void )*   pNext;
10744     void*            pUserData;
10745 }
10746 
10747 struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
10748     VkStructureType               sType = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL;
10749     const( void )*                pNext;
10750     VkQueryPoolSamplingModeINTEL  performanceCountersSampling;
10751 }
10752 alias VkQueryPoolCreateInfoINTEL = VkQueryPoolPerformanceQueryCreateInfoINTEL;
10753 
10754 struct VkPerformanceMarkerInfoINTEL {
10755     VkStructureType  sType = VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL;
10756     const( void )*   pNext;
10757     uint64_t         marker;
10758 }
10759 
10760 struct VkPerformanceStreamMarkerInfoINTEL {
10761     VkStructureType  sType = VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL;
10762     const( void )*   pNext;
10763     uint32_t         marker;
10764 }
10765 
10766 struct VkPerformanceOverrideInfoINTEL {
10767     VkStructureType                 sType = VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL;
10768     const( void )*                  pNext;
10769     VkPerformanceOverrideTypeINTEL  type;
10770     VkBool32                        enable;
10771     uint64_t                        parameter;
10772 }
10773 
10774 struct VkPerformanceConfigurationAcquireInfoINTEL {
10775     VkStructureType                      sType = VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL;
10776     const( void )*                       pNext;
10777     VkPerformanceConfigurationTypeINTEL  type;
10778 }
10779 
10780 
10781 // - VK_EXT_pci_bus_info -
10782 enum VK_EXT_pci_bus_info = 1;
10783 
10784 enum VK_EXT_PCI_BUS_INFO_SPEC_VERSION = 2;
10785 enum VK_EXT_PCI_BUS_INFO_EXTENSION_NAME = "VK_EXT_pci_bus_info";
10786 
10787 struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
10788     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT;
10789     void*            pNext;
10790     uint32_t         pciDomain;
10791     uint32_t         pciBus;
10792     uint32_t         pciDevice;
10793     uint32_t         pciFunction;
10794 }
10795 
10796 
10797 // - VK_AMD_display_native_hdr -
10798 enum VK_AMD_display_native_hdr = 1;
10799 
10800 enum VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION = 1;
10801 enum VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr";
10802 
10803 struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
10804     VkStructureType  sType = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD;
10805     void*            pNext;
10806     VkBool32         localDimmingSupport;
10807 }
10808 
10809 struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
10810     VkStructureType  sType = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD;
10811     const( void )*   pNext;
10812     VkBool32         localDimmingEnable;
10813 }
10814 
10815 
10816 // - VK_EXT_fragment_density_map -
10817 enum VK_EXT_fragment_density_map = 1;
10818 
10819 enum VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1;
10820 enum VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map";
10821 
10822 struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
10823     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
10824     void*            pNext;
10825     VkBool32         fragmentDensityMap;
10826     VkBool32         fragmentDensityMapDynamic;
10827     VkBool32         fragmentDensityMapNonSubsampledImages;
10828 }
10829 
10830 struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
10831     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
10832     void*            pNext;
10833     VkExtent2D       minFragmentDensityTexelSize;
10834     VkExtent2D       maxFragmentDensityTexelSize;
10835     VkBool32         fragmentDensityInvocations;
10836 }
10837 
10838 struct VkRenderPassFragmentDensityMapCreateInfoEXT {
10839     VkStructureType        sType = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT;
10840     const( void )*         pNext;
10841     VkAttachmentReference  fragmentDensityMapAttachment;
10842 }
10843 
10844 
10845 // - VK_EXT_scalar_block_layout -
10846 enum VK_EXT_scalar_block_layout = 1;
10847 
10848 enum VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION = 1;
10849 enum VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout";
10850 
10851 alias VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures;
10852 
10853 
10854 // - VK_GOOGLE_hlsl_functionality1 -
10855 enum VK_GOOGLE_hlsl_functionality1 = 1;
10856 
10857 enum VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1;
10858 enum VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1";
10859 
10860 
10861 // - VK_GOOGLE_decorate_string -
10862 enum VK_GOOGLE_decorate_string = 1;
10863 
10864 enum VK_GOOGLE_DECORATE_STRING_SPEC_VERSION = 1;
10865 enum VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME = "VK_GOOGLE_decorate_string";
10866 
10867 
10868 // - VK_EXT_subgroup_size_control -
10869 enum VK_EXT_subgroup_size_control = 1;
10870 
10871 enum VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION = 2;
10872 enum VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME = "VK_EXT_subgroup_size_control";
10873 
10874 struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
10875     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT;
10876     void*            pNext;
10877     VkBool32         subgroupSizeControl;
10878     VkBool32         computeFullSubgroups;
10879 }
10880 
10881 struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
10882     VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT;
10883     void*               pNext;
10884     uint32_t            minSubgroupSize;
10885     uint32_t            maxSubgroupSize;
10886     uint32_t            maxComputeWorkgroupSubgroups;
10887     VkShaderStageFlags  requiredSubgroupSizeStages;
10888 }
10889 
10890 struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
10891     VkStructureType  sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT;
10892     void*            pNext;
10893     uint32_t         requiredSubgroupSize;
10894 }
10895 
10896 
10897 // - VK_AMD_shader_core_properties2 -
10898 enum VK_AMD_shader_core_properties2 = 1;
10899 
10900 enum VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION = 1;
10901 enum VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME = "VK_AMD_shader_core_properties2";
10902 
10903 enum VkShaderCorePropertiesFlagBitsAMD {
10904     VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD     = 0x7FFFFFFF
10905 }
10906 
10907 enum VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD    = VkShaderCorePropertiesFlagBitsAMD.VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD;
10908 alias VkShaderCorePropertiesFlagsAMD = VkFlags;
10909 
10910 struct VkPhysicalDeviceShaderCoreProperties2AMD {
10911     VkStructureType                 sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD;
10912     void*                           pNext;
10913     VkShaderCorePropertiesFlagsAMD  shaderCoreFeatures;
10914     uint32_t                        activeComputeUnitCount;
10915 }
10916 
10917 
10918 // - VK_AMD_device_coherent_memory -
10919 enum VK_AMD_device_coherent_memory = 1;
10920 
10921 enum VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION = 1;
10922 enum VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME = "VK_AMD_device_coherent_memory";
10923 
10924 struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
10925     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD;
10926     void*            pNext;
10927     VkBool32         deviceCoherentMemory;
10928 }
10929 
10930 
10931 // - VK_EXT_shader_image_atomic_int64 -
10932 enum VK_EXT_shader_image_atomic_int64 = 1;
10933 
10934 enum VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION = 1;
10935 enum VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME = "VK_EXT_shader_image_atomic_int64";
10936 
10937 struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
10938     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT;
10939     void*            pNext;
10940     VkBool32         shaderImageInt64Atomics;
10941     VkBool32         sparseImageInt64Atomics;
10942 }
10943 
10944 
10945 // - VK_EXT_memory_budget -
10946 enum VK_EXT_memory_budget = 1;
10947 
10948 enum VK_EXT_MEMORY_BUDGET_SPEC_VERSION = 1;
10949 enum VK_EXT_MEMORY_BUDGET_EXTENSION_NAME = "VK_EXT_memory_budget";
10950 
10951 struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
10952     VkStructureType                      sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT;
10953     void*                                pNext;
10954     VkDeviceSize[ VK_MAX_MEMORY_HEAPS ]  heapBudget;
10955     VkDeviceSize[ VK_MAX_MEMORY_HEAPS ]  heapUsage;
10956 }
10957 
10958 
10959 // - VK_EXT_memory_priority -
10960 enum VK_EXT_memory_priority = 1;
10961 
10962 enum VK_EXT_MEMORY_PRIORITY_SPEC_VERSION = 1;
10963 enum VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME = "VK_EXT_memory_priority";
10964 
10965 struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
10966     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT;
10967     void*            pNext;
10968     VkBool32         memoryPriority;
10969 }
10970 
10971 struct VkMemoryPriorityAllocateInfoEXT {
10972     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT;
10973     const( void )*   pNext;
10974     float            priority;
10975 }
10976 
10977 
10978 // - VK_NV_dedicated_allocation_image_aliasing -
10979 enum VK_NV_dedicated_allocation_image_aliasing = 1;
10980 
10981 enum VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION = 1;
10982 enum VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME = "VK_NV_dedicated_allocation_image_aliasing";
10983 
10984 struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
10985     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV;
10986     void*            pNext;
10987     VkBool32         dedicatedAllocationImageAliasing;
10988 }
10989 
10990 
10991 // - VK_EXT_buffer_device_address -
10992 enum VK_EXT_buffer_device_address = 1;
10993 
10994 enum VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION = 2;
10995 enum VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME = "VK_EXT_buffer_device_address";
10996 
10997 struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
10998     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT;
10999     void*            pNext;
11000     VkBool32         bufferDeviceAddress;
11001     VkBool32         bufferDeviceAddressCaptureReplay;
11002     VkBool32         bufferDeviceAddressMultiDevice;
11003 }
11004 alias VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
11005 alias VkBufferDeviceAddressInfoEXT = VkBufferDeviceAddressInfo;
11006 
11007 struct VkBufferDeviceAddressCreateInfoEXT {
11008     VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT;
11009     const( void )*   pNext;
11010     VkDeviceAddress  deviceAddress;
11011 }
11012 
11013 
11014 // - VK_EXT_tooling_info -
11015 enum VK_EXT_tooling_info = 1;
11016 
11017 enum VK_EXT_TOOLING_INFO_SPEC_VERSION = 1;
11018 enum VK_EXT_TOOLING_INFO_EXTENSION_NAME = "VK_EXT_tooling_info";
11019 
11020 enum VkToolPurposeFlagBitsEXT {
11021     VK_TOOL_PURPOSE_VALIDATION_BIT_EXT           = 0x00000001,
11022     VK_TOOL_PURPOSE_PROFILING_BIT_EXT            = 0x00000002,
11023     VK_TOOL_PURPOSE_TRACING_BIT_EXT              = 0x00000004,
11024     VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT  = 0x00000008,
11025     VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT   = 0x00000010,
11026     VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT      = 0x00000020,
11027     VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT        = 0x00000040,
11028     VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT       = 0x7FFFFFFF
11029 }
11030 
11031 enum VK_TOOL_PURPOSE_VALIDATION_BIT_EXT          = VkToolPurposeFlagBitsEXT.VK_TOOL_PURPOSE_VALIDATION_BIT_EXT;
11032 enum VK_TOOL_PURPOSE_PROFILING_BIT_EXT           = VkToolPurposeFlagBitsEXT.VK_TOOL_PURPOSE_PROFILING_BIT_EXT;
11033 enum VK_TOOL_PURPOSE_TRACING_BIT_EXT             = VkToolPurposeFlagBitsEXT.VK_TOOL_PURPOSE_TRACING_BIT_EXT;
11034 enum VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VkToolPurposeFlagBitsEXT.VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT;
11035 enum VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT  = VkToolPurposeFlagBitsEXT.VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT;
11036 enum VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT     = VkToolPurposeFlagBitsEXT.VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT;
11037 enum VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT       = VkToolPurposeFlagBitsEXT.VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT;
11038 enum VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT      = VkToolPurposeFlagBitsEXT.VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT;
11039 alias VkToolPurposeFlagsEXT = VkFlags;
11040 
11041 struct VkPhysicalDeviceToolPropertiesEXT {
11042     VkStructureType                     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT;
11043     void*                               pNext;
11044     char[ VK_MAX_EXTENSION_NAME_SIZE ]  name;
11045     char[ VK_MAX_EXTENSION_NAME_SIZE ]  Version;
11046     VkToolPurposeFlagsEXT               purposes;
11047     char[ VK_MAX_DESCRIPTION_SIZE ]     description;
11048     char[ VK_MAX_EXTENSION_NAME_SIZE ]  layer;
11049     alias                               version_ = Version;
11050     alias                               _version = Version;
11051 }
11052 
11053 
11054 // - VK_EXT_separate_stencil_usage -
11055 enum VK_EXT_separate_stencil_usage = 1;
11056 
11057 enum VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION = 1;
11058 enum VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_usage";
11059 
11060 alias VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo;
11061 
11062 
11063 // - VK_EXT_validation_features -
11064 enum VK_EXT_validation_features = 1;
11065 
11066 enum VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4;
11067 enum VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features";
11068 
11069 enum VkValidationFeatureEnableEXT {
11070     VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT                        = 0,
11071     VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT   = 1,
11072     VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT                      = 2,
11073     VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT                        = 3,
11074     VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT          = 4,
11075     VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT                         = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
11076     VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT                           = VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT,
11077     VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT                          = VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT - VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT + 1,
11078     VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT                            = 0x7FFFFFFF
11079 }
11080 
11081 enum VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT                       = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT;
11082 enum VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT  = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT;
11083 enum VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT                     = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT;
11084 enum VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT                       = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT;
11085 enum VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT         = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT;
11086 enum VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT                        = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT;
11087 enum VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT                          = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT;
11088 enum VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT                         = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT;
11089 enum VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT                           = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT;
11090 
11091 enum VkValidationFeatureDisableEXT {
11092     VK_VALIDATION_FEATURE_DISABLE_ALL_EXT                = 0,
11093     VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT            = 1,
11094     VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT      = 2,
11095     VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT     = 3,
11096     VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT   = 4,
11097     VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT        = 5,
11098     VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT     = 6,
11099     VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT        = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
11100     VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT          = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT,
11101     VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT         = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT - VK_VALIDATION_FEATURE_DISABLE_ALL_EXT + 1,
11102     VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT           = 0x7FFFFFFF
11103 }
11104 
11105 enum VK_VALIDATION_FEATURE_DISABLE_ALL_EXT               = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_ALL_EXT;
11106 enum VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT           = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT;
11107 enum VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT     = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT;
11108 enum VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT    = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT;
11109 enum VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT  = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT;
11110 enum VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT       = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT;
11111 enum VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT    = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT;
11112 enum VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT       = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT;
11113 enum VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT         = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT;
11114 enum VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT        = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT;
11115 enum VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT          = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT;
11116 
11117 struct VkValidationFeaturesEXT {
11118     VkStructureType                          sType = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT;
11119     const( void )*                           pNext;
11120     uint32_t                                 enabledValidationFeatureCount;
11121     const( VkValidationFeatureEnableEXT )*   pEnabledValidationFeatures;
11122     uint32_t                                 disabledValidationFeatureCount;
11123     const( VkValidationFeatureDisableEXT )*  pDisabledValidationFeatures;
11124 }
11125 
11126 
11127 // - VK_NV_cooperative_matrix -
11128 enum VK_NV_cooperative_matrix = 1;
11129 
11130 enum VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION = 1;
11131 enum VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME = "VK_NV_cooperative_matrix";
11132 
11133 enum VkComponentTypeNV {
11134     VK_COMPONENT_TYPE_FLOAT16_NV         = 0,
11135     VK_COMPONENT_TYPE_FLOAT32_NV         = 1,
11136     VK_COMPONENT_TYPE_FLOAT64_NV         = 2,
11137     VK_COMPONENT_TYPE_SINT8_NV           = 3,
11138     VK_COMPONENT_TYPE_SINT16_NV          = 4,
11139     VK_COMPONENT_TYPE_SINT32_NV          = 5,
11140     VK_COMPONENT_TYPE_SINT64_NV          = 6,
11141     VK_COMPONENT_TYPE_UINT8_NV           = 7,
11142     VK_COMPONENT_TYPE_UINT16_NV          = 8,
11143     VK_COMPONENT_TYPE_UINT32_NV          = 9,
11144     VK_COMPONENT_TYPE_UINT64_NV          = 10,
11145     VK_COMPONENT_TYPE_BEGIN_RANGE_NV     = VK_COMPONENT_TYPE_FLOAT16_NV,
11146     VK_COMPONENT_TYPE_END_RANGE_NV       = VK_COMPONENT_TYPE_UINT64_NV,
11147     VK_COMPONENT_TYPE_RANGE_SIZE_NV      = VK_COMPONENT_TYPE_UINT64_NV - VK_COMPONENT_TYPE_FLOAT16_NV + 1,
11148     VK_COMPONENT_TYPE_MAX_ENUM_NV        = 0x7FFFFFFF
11149 }
11150 
11151 enum VK_COMPONENT_TYPE_FLOAT16_NV        = VkComponentTypeNV.VK_COMPONENT_TYPE_FLOAT16_NV;
11152 enum VK_COMPONENT_TYPE_FLOAT32_NV        = VkComponentTypeNV.VK_COMPONENT_TYPE_FLOAT32_NV;
11153 enum VK_COMPONENT_TYPE_FLOAT64_NV        = VkComponentTypeNV.VK_COMPONENT_TYPE_FLOAT64_NV;
11154 enum VK_COMPONENT_TYPE_SINT8_NV          = VkComponentTypeNV.VK_COMPONENT_TYPE_SINT8_NV;
11155 enum VK_COMPONENT_TYPE_SINT16_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_SINT16_NV;
11156 enum VK_COMPONENT_TYPE_SINT32_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_SINT32_NV;
11157 enum VK_COMPONENT_TYPE_SINT64_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_SINT64_NV;
11158 enum VK_COMPONENT_TYPE_UINT8_NV          = VkComponentTypeNV.VK_COMPONENT_TYPE_UINT8_NV;
11159 enum VK_COMPONENT_TYPE_UINT16_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_UINT16_NV;
11160 enum VK_COMPONENT_TYPE_UINT32_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_UINT32_NV;
11161 enum VK_COMPONENT_TYPE_UINT64_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_UINT64_NV;
11162 enum VK_COMPONENT_TYPE_BEGIN_RANGE_NV    = VkComponentTypeNV.VK_COMPONENT_TYPE_BEGIN_RANGE_NV;
11163 enum VK_COMPONENT_TYPE_END_RANGE_NV      = VkComponentTypeNV.VK_COMPONENT_TYPE_END_RANGE_NV;
11164 enum VK_COMPONENT_TYPE_RANGE_SIZE_NV     = VkComponentTypeNV.VK_COMPONENT_TYPE_RANGE_SIZE_NV;
11165 enum VK_COMPONENT_TYPE_MAX_ENUM_NV       = VkComponentTypeNV.VK_COMPONENT_TYPE_MAX_ENUM_NV;
11166 
11167 enum VkScopeNV {
11168     VK_SCOPE_DEVICE_NV           = 1,
11169     VK_SCOPE_WORKGROUP_NV        = 2,
11170     VK_SCOPE_SUBGROUP_NV         = 3,
11171     VK_SCOPE_QUEUE_FAMILY_NV     = 5,
11172     VK_SCOPE_BEGIN_RANGE_NV      = VK_SCOPE_DEVICE_NV,
11173     VK_SCOPE_END_RANGE_NV        = VK_SCOPE_QUEUE_FAMILY_NV,
11174     VK_SCOPE_RANGE_SIZE_NV       = VK_SCOPE_QUEUE_FAMILY_NV - VK_SCOPE_DEVICE_NV + 1,
11175     VK_SCOPE_MAX_ENUM_NV         = 0x7FFFFFFF
11176 }
11177 
11178 enum VK_SCOPE_DEVICE_NV          = VkScopeNV.VK_SCOPE_DEVICE_NV;
11179 enum VK_SCOPE_WORKGROUP_NV       = VkScopeNV.VK_SCOPE_WORKGROUP_NV;
11180 enum VK_SCOPE_SUBGROUP_NV        = VkScopeNV.VK_SCOPE_SUBGROUP_NV;
11181 enum VK_SCOPE_QUEUE_FAMILY_NV    = VkScopeNV.VK_SCOPE_QUEUE_FAMILY_NV;
11182 enum VK_SCOPE_BEGIN_RANGE_NV     = VkScopeNV.VK_SCOPE_BEGIN_RANGE_NV;
11183 enum VK_SCOPE_END_RANGE_NV       = VkScopeNV.VK_SCOPE_END_RANGE_NV;
11184 enum VK_SCOPE_RANGE_SIZE_NV      = VkScopeNV.VK_SCOPE_RANGE_SIZE_NV;
11185 enum VK_SCOPE_MAX_ENUM_NV        = VkScopeNV.VK_SCOPE_MAX_ENUM_NV;
11186 
11187 struct VkCooperativeMatrixPropertiesNV {
11188     VkStructureType    sType = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV;
11189     void*              pNext;
11190     uint32_t           MSize;
11191     uint32_t           NSize;
11192     uint32_t           KSize;
11193     VkComponentTypeNV  AType;
11194     VkComponentTypeNV  BType;
11195     VkComponentTypeNV  CType;
11196     VkComponentTypeNV  DType;
11197     VkScopeNV          Scope;
11198     alias              scope_ = Scope;
11199     alias              _scope = Scope;
11200 }
11201 
11202 struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
11203     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV;
11204     void*            pNext;
11205     VkBool32         cooperativeMatrix;
11206     VkBool32         cooperativeMatrixRobustBufferAccess;
11207 }
11208 
11209 struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
11210     VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV;
11211     void*               pNext;
11212     VkShaderStageFlags  cooperativeMatrixSupportedStages;
11213 }
11214 
11215 
11216 // - VK_NV_coverage_reduction_mode -
11217 enum VK_NV_coverage_reduction_mode = 1;
11218 
11219 enum VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION = 1;
11220 enum VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME = "VK_NV_coverage_reduction_mode";
11221 
11222 enum VkCoverageReductionModeNV {
11223     VK_COVERAGE_REDUCTION_MODE_MERGE_NV          = 0,
11224     VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV       = 1,
11225     VK_COVERAGE_REDUCTION_MODE_BEGIN_RANGE_NV    = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,
11226     VK_COVERAGE_REDUCTION_MODE_END_RANGE_NV      = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV,
11227     VK_COVERAGE_REDUCTION_MODE_RANGE_SIZE_NV     = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV - VK_COVERAGE_REDUCTION_MODE_MERGE_NV + 1,
11228     VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV       = 0x7FFFFFFF
11229 }
11230 
11231 enum VK_COVERAGE_REDUCTION_MODE_MERGE_NV         = VkCoverageReductionModeNV.VK_COVERAGE_REDUCTION_MODE_MERGE_NV;
11232 enum VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV      = VkCoverageReductionModeNV.VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV;
11233 enum VK_COVERAGE_REDUCTION_MODE_BEGIN_RANGE_NV   = VkCoverageReductionModeNV.VK_COVERAGE_REDUCTION_MODE_BEGIN_RANGE_NV;
11234 enum VK_COVERAGE_REDUCTION_MODE_END_RANGE_NV     = VkCoverageReductionModeNV.VK_COVERAGE_REDUCTION_MODE_END_RANGE_NV;
11235 enum VK_COVERAGE_REDUCTION_MODE_RANGE_SIZE_NV    = VkCoverageReductionModeNV.VK_COVERAGE_REDUCTION_MODE_RANGE_SIZE_NV;
11236 enum VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV      = VkCoverageReductionModeNV.VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV;
11237 
11238 alias VkPipelineCoverageReductionStateCreateFlagsNV = VkFlags;
11239 
11240 struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
11241     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV;
11242     void*            pNext;
11243     VkBool32         coverageReductionMode;
11244 }
11245 
11246 struct VkPipelineCoverageReductionStateCreateInfoNV {
11247     VkStructureType                                sType = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV;
11248     const( void )*                                 pNext;
11249     VkPipelineCoverageReductionStateCreateFlagsNV  flags;
11250     VkCoverageReductionModeNV                      coverageReductionMode;
11251 }
11252 
11253 struct VkFramebufferMixedSamplesCombinationNV {
11254     VkStructureType            sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV;
11255     void*                      pNext;
11256     VkCoverageReductionModeNV  coverageReductionMode;
11257     VkSampleCountFlagBits      rasterizationSamples;
11258     VkSampleCountFlags         depthStencilSamples;
11259     VkSampleCountFlags         colorSamples;
11260 }
11261 
11262 
11263 // - VK_EXT_fragment_shader_interlock -
11264 enum VK_EXT_fragment_shader_interlock = 1;
11265 
11266 enum VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION = 1;
11267 enum VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME = "VK_EXT_fragment_shader_interlock";
11268 
11269 struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
11270     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT;
11271     void*            pNext;
11272     VkBool32         fragmentShaderSampleInterlock;
11273     VkBool32         fragmentShaderPixelInterlock;
11274     VkBool32         fragmentShaderShadingRateInterlock;
11275 }
11276 
11277 
11278 // - VK_EXT_ycbcr_image_arrays -
11279 enum VK_EXT_ycbcr_image_arrays = 1;
11280 
11281 enum VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION = 1;
11282 enum VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME = "VK_EXT_ycbcr_image_arrays";
11283 
11284 struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
11285     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT;
11286     void*            pNext;
11287     VkBool32         ycbcrImageArrays;
11288 }
11289 
11290 
11291 // - VK_EXT_headless_surface -
11292 enum VK_EXT_headless_surface = 1;
11293 
11294 enum VK_EXT_HEADLESS_SURFACE_SPEC_VERSION = 1;
11295 enum VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME = "VK_EXT_headless_surface";
11296 
11297 alias VkHeadlessSurfaceCreateFlagsEXT = VkFlags;
11298 
11299 struct VkHeadlessSurfaceCreateInfoEXT {
11300     VkStructureType                  sType = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT;
11301     const( void )*                   pNext;
11302     VkHeadlessSurfaceCreateFlagsEXT  flags;
11303 }
11304 
11305 
11306 // - VK_EXT_line_rasterization -
11307 enum VK_EXT_line_rasterization = 1;
11308 
11309 enum VK_EXT_LINE_RASTERIZATION_SPEC_VERSION = 1;
11310 enum VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME = "VK_EXT_line_rasterization";
11311 
11312 enum VkLineRasterizationModeEXT {
11313     VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT               = 0,
11314     VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT           = 1,
11315     VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT             = 2,
11316     VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT    = 3,
11317     VK_LINE_RASTERIZATION_MODE_BEGIN_RANGE_EXT           = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT,
11318     VK_LINE_RASTERIZATION_MODE_END_RANGE_EXT             = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT,
11319     VK_LINE_RASTERIZATION_MODE_RANGE_SIZE_EXT            = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT - VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT + 1,
11320     VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT              = 0x7FFFFFFF
11321 }
11322 
11323 enum VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT              = VkLineRasterizationModeEXT.VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT;
11324 enum VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT          = VkLineRasterizationModeEXT.VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT;
11325 enum VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT            = VkLineRasterizationModeEXT.VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT;
11326 enum VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT   = VkLineRasterizationModeEXT.VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT;
11327 enum VK_LINE_RASTERIZATION_MODE_BEGIN_RANGE_EXT          = VkLineRasterizationModeEXT.VK_LINE_RASTERIZATION_MODE_BEGIN_RANGE_EXT;
11328 enum VK_LINE_RASTERIZATION_MODE_END_RANGE_EXT            = VkLineRasterizationModeEXT.VK_LINE_RASTERIZATION_MODE_END_RANGE_EXT;
11329 enum VK_LINE_RASTERIZATION_MODE_RANGE_SIZE_EXT           = VkLineRasterizationModeEXT.VK_LINE_RASTERIZATION_MODE_RANGE_SIZE_EXT;
11330 enum VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT             = VkLineRasterizationModeEXT.VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT;
11331 
11332 struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
11333     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT;
11334     void*            pNext;
11335     VkBool32         rectangularLines;
11336     VkBool32         bresenhamLines;
11337     VkBool32         smoothLines;
11338     VkBool32         stippledRectangularLines;
11339     VkBool32         stippledBresenhamLines;
11340     VkBool32         stippledSmoothLines;
11341 }
11342 
11343 struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
11344     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT;
11345     void*            pNext;
11346     uint32_t         lineSubPixelPrecisionBits;
11347 }
11348 
11349 struct VkPipelineRasterizationLineStateCreateInfoEXT {
11350     VkStructureType             sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT;
11351     const( void )*              pNext;
11352     VkLineRasterizationModeEXT  lineRasterizationMode;
11353     VkBool32                    stippledLineEnable;
11354     uint32_t                    lineStippleFactor;
11355     uint16_t                    lineStipplePattern;
11356 }
11357 
11358 
11359 // - VK_EXT_shader_atomic_float -
11360 enum VK_EXT_shader_atomic_float = 1;
11361 
11362 enum VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION = 1;
11363 enum VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME = "VK_EXT_shader_atomic_float";
11364 
11365 struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
11366     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT;
11367     void*            pNext;
11368     VkBool32         shaderBufferFloat32Atomics;
11369     VkBool32         shaderBufferFloat32AtomicAdd;
11370     VkBool32         shaderBufferFloat64Atomics;
11371     VkBool32         shaderBufferFloat64AtomicAdd;
11372     VkBool32         shaderSharedFloat32Atomics;
11373     VkBool32         shaderSharedFloat32AtomicAdd;
11374     VkBool32         shaderSharedFloat64Atomics;
11375     VkBool32         shaderSharedFloat64AtomicAdd;
11376     VkBool32         shaderImageFloat32Atomics;
11377     VkBool32         shaderImageFloat32AtomicAdd;
11378     VkBool32         sparseImageFloat32Atomics;
11379     VkBool32         sparseImageFloat32AtomicAdd;
11380 }
11381 
11382 
11383 // - VK_EXT_host_query_reset -
11384 enum VK_EXT_host_query_reset = 1;
11385 
11386 enum VK_EXT_HOST_QUERY_RESET_SPEC_VERSION = 1;
11387 enum VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME = "VK_EXT_host_query_reset";
11388 
11389 alias VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures;
11390 
11391 
11392 // - VK_EXT_index_type_uint8 -
11393 enum VK_EXT_index_type_uint8 = 1;
11394 
11395 enum VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION = 1;
11396 enum VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME = "VK_EXT_index_type_uint8";
11397 
11398 struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
11399     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT;
11400     void*            pNext;
11401     VkBool32         indexTypeUint8;
11402 }
11403 
11404 
11405 // - VK_EXT_extended_dynamic_state -
11406 enum VK_EXT_extended_dynamic_state = 1;
11407 
11408 enum VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1;
11409 enum VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state";
11410 
11411 struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
11412     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT;
11413     void*            pNext;
11414     VkBool32         extendedDynamicState;
11415 }
11416 
11417 
11418 // - VK_EXT_shader_demote_to_helper_invocation -
11419 enum VK_EXT_shader_demote_to_helper_invocation = 1;
11420 
11421 enum VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1;
11422 enum VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME = "VK_EXT_shader_demote_to_helper_invocation";
11423 
11424 struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
11425     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT;
11426     void*            pNext;
11427     VkBool32         shaderDemoteToHelperInvocation;
11428 }
11429 
11430 
11431 // - VK_NV_device_generated_commands -
11432 enum VK_NV_device_generated_commands = 1;
11433 
11434 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkIndirectCommandsLayoutNV} );
11435 
11436 enum VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION = 3;
11437 enum VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME = "VK_NV_device_generated_commands";
11438 
11439 enum VkIndirectCommandsTokenTypeNV {
11440     VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV      = 0,
11441     VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV       = 1,
11442     VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV      = 2,
11443     VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV     = 3,
11444     VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV     = 4,
11445     VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV      = 5,
11446     VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV              = 6,
11447     VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV        = 7,
11448     VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NV       = VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV,
11449     VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NV         = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV,
11450     VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NV        = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV - VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV + 1,
11451     VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV          = 0x7FFFFFFF
11452 }
11453 
11454 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV     = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV;
11455 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV      = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV;
11456 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV     = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV;
11457 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV    = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV;
11458 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV    = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV;
11459 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV     = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV;
11460 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV             = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV;
11461 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV       = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV;
11462 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NV      = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NV;
11463 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NV        = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NV;
11464 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NV       = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NV;
11465 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV         = VkIndirectCommandsTokenTypeNV.VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV;
11466 
11467 enum VkIndirectStateFlagBitsNV {
11468     VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV      = 0x00000001,
11469     VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV      = 0x7FFFFFFF
11470 }
11471 
11472 enum VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV     = VkIndirectStateFlagBitsNV.VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV;
11473 enum VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV     = VkIndirectStateFlagBitsNV.VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV;
11474 alias VkIndirectStateFlagsNV = VkFlags;
11475 
11476 enum VkIndirectCommandsLayoutUsageFlagBitsNV {
11477     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV         = 0x00000001,
11478     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV           = 0x00000002,
11479     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV         = 0x00000004,
11480     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV              = 0x7FFFFFFF
11481 }
11482 
11483 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV        = VkIndirectCommandsLayoutUsageFlagBitsNV.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV;
11484 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV          = VkIndirectCommandsLayoutUsageFlagBitsNV.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV;
11485 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV        = VkIndirectCommandsLayoutUsageFlagBitsNV.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV;
11486 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV             = VkIndirectCommandsLayoutUsageFlagBitsNV.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV;
11487 alias VkIndirectCommandsLayoutUsageFlagsNV = VkFlags;
11488 
11489 struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
11490     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV;
11491     void*            pNext;
11492     uint32_t         maxGraphicsShaderGroupCount;
11493     uint32_t         maxIndirectSequenceCount;
11494     uint32_t         maxIndirectCommandsTokenCount;
11495     uint32_t         maxIndirectCommandsStreamCount;
11496     uint32_t         maxIndirectCommandsTokenOffset;
11497     uint32_t         maxIndirectCommandsStreamStride;
11498     uint32_t         minSequencesCountBufferOffsetAlignment;
11499     uint32_t         minSequencesIndexBufferOffsetAlignment;
11500     uint32_t         minIndirectCommandsBufferOffsetAlignment;
11501 }
11502 
11503 struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
11504     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV;
11505     void*            pNext;
11506     VkBool32         deviceGeneratedCommands;
11507 }
11508 
11509 struct VkGraphicsShaderGroupCreateInfoNV {
11510     VkStructureType                                  sType = VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV;
11511     const( void )*                                   pNext;
11512     uint32_t                                         stageCount;
11513     const( VkPipelineShaderStageCreateInfo )*        pStages;
11514     const( VkPipelineVertexInputStateCreateInfo )*   pVertexInputState;
11515     const( VkPipelineTessellationStateCreateInfo )*  pTessellationState;
11516 }
11517 
11518 struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
11519     VkStructureType                              sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV;
11520     const( void )*                               pNext;
11521     uint32_t                                     groupCount;
11522     const( VkGraphicsShaderGroupCreateInfoNV )*  pGroups;
11523     uint32_t                                     pipelineCount;
11524     const( VkPipeline )*                         pPipelines;
11525 }
11526 
11527 struct VkBindShaderGroupIndirectCommandNV {
11528     uint32_t  groupIndex;
11529 }
11530 
11531 struct VkBindIndexBufferIndirectCommandNV {
11532     VkDeviceAddress  bufferAddress;
11533     uint32_t         size;
11534     VkIndexType      indexType;
11535 }
11536 
11537 struct VkBindVertexBufferIndirectCommandNV {
11538     VkDeviceAddress  bufferAddress;
11539     uint32_t         size;
11540     uint32_t         stride;
11541 }
11542 
11543 struct VkSetStateFlagsIndirectCommandNV {
11544     uint32_t  data;
11545 }
11546 
11547 struct VkIndirectCommandsStreamNV {
11548     VkBuffer      buffer;
11549     VkDeviceSize  offset;
11550 }
11551 
11552 struct VkIndirectCommandsLayoutTokenNV {
11553     VkStructureType                sType = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV;
11554     const( void )*                 pNext;
11555     VkIndirectCommandsTokenTypeNV  tokenType;
11556     uint32_t                       stream;
11557     uint32_t                       offset;
11558     uint32_t                       vertexBindingUnit;
11559     VkBool32                       vertexDynamicStride;
11560     VkPipelineLayout               pushconstantPipelineLayout;
11561     VkShaderStageFlags             pushconstantShaderStageFlags;
11562     uint32_t                       pushconstantOffset;
11563     uint32_t                       pushconstantSize;
11564     VkIndirectStateFlagsNV         indirectStateFlags;
11565     uint32_t                       indexTypeCount;
11566     const( VkIndexType )*          pIndexTypes;
11567     const( uint32_t )*             pIndexTypeValues;
11568 }
11569 
11570 struct VkIndirectCommandsLayoutCreateInfoNV {
11571     VkStructureType                            sType = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV;
11572     const( void )*                             pNext;
11573     VkIndirectCommandsLayoutUsageFlagsNV       flags;
11574     VkPipelineBindPoint                        pipelineBindPoint;
11575     uint32_t                                   tokenCount;
11576     const( VkIndirectCommandsLayoutTokenNV )*  pTokens;
11577     uint32_t                                   streamCount;
11578     const( uint32_t )*                         pStreamStrides;
11579 }
11580 
11581 struct VkGeneratedCommandsInfoNV {
11582     VkStructureType                       sType = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV;
11583     const( void )*                        pNext;
11584     VkPipelineBindPoint                   pipelineBindPoint;
11585     VkPipeline                            pipeline;
11586     VkIndirectCommandsLayoutNV            indirectCommandsLayout;
11587     uint32_t                              streamCount;
11588     const( VkIndirectCommandsStreamNV )*  pStreams;
11589     uint32_t                              sequencesCount;
11590     VkBuffer                              preprocessBuffer;
11591     VkDeviceSize                          preprocessOffset;
11592     VkDeviceSize                          preprocessSize;
11593     VkBuffer                              sequencesCountBuffer;
11594     VkDeviceSize                          sequencesCountOffset;
11595     VkBuffer                              sequencesIndexBuffer;
11596     VkDeviceSize                          sequencesIndexOffset;
11597 }
11598 
11599 struct VkGeneratedCommandsMemoryRequirementsInfoNV {
11600     VkStructureType             sType = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV;
11601     const( void )*              pNext;
11602     VkPipelineBindPoint         pipelineBindPoint;
11603     VkPipeline                  pipeline;
11604     VkIndirectCommandsLayoutNV  indirectCommandsLayout;
11605     uint32_t                    maxSequencesCount;
11606 }
11607 
11608 
11609 // - VK_EXT_texel_buffer_alignment -
11610 enum VK_EXT_texel_buffer_alignment = 1;
11611 
11612 enum VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION = 1;
11613 enum VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME = "VK_EXT_texel_buffer_alignment";
11614 
11615 struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
11616     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT;
11617     void*            pNext;
11618     VkBool32         texelBufferAlignment;
11619 }
11620 
11621 struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
11622     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT;
11623     void*            pNext;
11624     VkDeviceSize     storageTexelBufferOffsetAlignmentBytes;
11625     VkBool32         storageTexelBufferOffsetSingleTexelAlignment;
11626     VkDeviceSize     uniformTexelBufferOffsetAlignmentBytes;
11627     VkBool32         uniformTexelBufferOffsetSingleTexelAlignment;
11628 }
11629 
11630 
11631 // - VK_QCOM_render_pass_transform -
11632 enum VK_QCOM_render_pass_transform = 1;
11633 
11634 enum VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 1;
11635 enum VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME = "VK_QCOM_render_pass_transform";
11636 
11637 struct VkRenderPassTransformBeginInfoQCOM {
11638     VkStructureType                sType = VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM;
11639     void*                          pNext;
11640     VkSurfaceTransformFlagBitsKHR  transform;
11641 }
11642 
11643 struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
11644     VkStructureType                sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM;
11645     void*                          pNext;
11646     VkSurfaceTransformFlagBitsKHR  transform;
11647     VkRect2D                       renderArea;
11648 }
11649 
11650 
11651 // - VK_EXT_device_memory_report -
11652 enum VK_EXT_device_memory_report = 1;
11653 
11654 enum VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2;
11655 enum VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report";
11656 
11657 enum VkDeviceMemoryReportEventTypeEXT {
11658     VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT              = 0,
11659     VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT                  = 1,
11660     VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT                = 2,
11661     VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT              = 3,
11662     VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT     = 4,
11663     VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_BEGIN_RANGE_EXT           = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,
11664     VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_END_RANGE_EXT             = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT,
11665     VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_RANGE_SIZE_EXT            = VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT - VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT + 1,
11666     VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT              = 0x7FFFFFFF
11667 }
11668 
11669 enum VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT             = VkDeviceMemoryReportEventTypeEXT.VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT;
11670 enum VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT                 = VkDeviceMemoryReportEventTypeEXT.VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT;
11671 enum VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT               = VkDeviceMemoryReportEventTypeEXT.VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT;
11672 enum VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT             = VkDeviceMemoryReportEventTypeEXT.VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT;
11673 enum VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT    = VkDeviceMemoryReportEventTypeEXT.VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT;
11674 enum VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_BEGIN_RANGE_EXT          = VkDeviceMemoryReportEventTypeEXT.VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_BEGIN_RANGE_EXT;
11675 enum VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_END_RANGE_EXT            = VkDeviceMemoryReportEventTypeEXT.VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_END_RANGE_EXT;
11676 enum VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_RANGE_SIZE_EXT           = VkDeviceMemoryReportEventTypeEXT.VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_RANGE_SIZE_EXT;
11677 enum VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT             = VkDeviceMemoryReportEventTypeEXT.VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT;
11678 
11679 alias VkDeviceMemoryReportFlagsEXT = VkFlags;
11680 
11681 alias PFN_vkDeviceMemoryReportCallbackEXT = void function(
11682     const( VkDeviceMemoryReportCallbackDataEXT )*  pCallbackData,
11683     void*                                       pUserData
11684 );
11685 
11686 struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
11687     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT;
11688     void*            pNext;
11689     VkBool32         deviceMemoryReport;
11690 }
11691 
11692 struct VkDeviceMemoryReportCallbackDataEXT {
11693     VkStructureType                   sType = VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT;
11694     const( void )*                    pNext;
11695     VkDeviceMemoryReportFlagsEXT      flags;
11696     VkDeviceMemoryReportEventTypeEXT  type;
11697     uint64_t                          memoryObjectId;
11698     VkDeviceSize                      size;
11699     VkObjectType                      objectType;
11700     uint64_t                          objectHandle;
11701     uint32_t                          heapIndex;
11702 }
11703 
11704 struct VkDeviceDeviceMemoryReportCreateInfoEXT {
11705     VkStructureType                      sType = VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT;
11706     const( void )*                       pNext;
11707     VkDeviceMemoryReportFlagsEXT         flags;
11708     PFN_vkDeviceMemoryReportCallbackEXT  pfnUserCallback;
11709     void*                                pUserData;
11710 }
11711 
11712 
11713 // - VK_EXT_robustness2 -
11714 enum VK_EXT_robustness2 = 1;
11715 
11716 enum VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1;
11717 enum VK_EXT_ROBUSTNESS_2_EXTENSION_NAME = "VK_EXT_robustness2";
11718 
11719 struct VkPhysicalDeviceRobustness2FeaturesEXT {
11720     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT;
11721     void*            pNext;
11722     VkBool32         robustBufferAccess2;
11723     VkBool32         robustImageAccess2;
11724     VkBool32         nullDescriptor;
11725 }
11726 
11727 struct VkPhysicalDeviceRobustness2PropertiesEXT {
11728     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT;
11729     void*            pNext;
11730     VkDeviceSize     robustStorageBufferAccessSizeAlignment;
11731     VkDeviceSize     robustUniformBufferAccessSizeAlignment;
11732 }
11733 
11734 
11735 // - VK_EXT_custom_border_color -
11736 enum VK_EXT_custom_border_color = 1;
11737 
11738 enum VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION = 12;
11739 enum VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME = "VK_EXT_custom_border_color";
11740 
11741 struct VkSamplerCustomBorderColorCreateInfoEXT {
11742     VkStructureType    sType = VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT;
11743     const( void )*     pNext;
11744     VkClearColorValue  customBorderColor;
11745     VkFormat           format;
11746 }
11747 
11748 struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
11749     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT;
11750     void*            pNext;
11751     uint32_t         maxCustomBorderColorSamplers;
11752 }
11753 
11754 struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
11755     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT;
11756     void*            pNext;
11757     VkBool32         customBorderColors;
11758     VkBool32         customBorderColorWithoutFormat;
11759 }
11760 
11761 
11762 // - VK_GOOGLE_user_type -
11763 enum VK_GOOGLE_user_type = 1;
11764 
11765 enum VK_GOOGLE_USER_TYPE_SPEC_VERSION = 1;
11766 enum VK_GOOGLE_USER_TYPE_EXTENSION_NAME = "VK_GOOGLE_user_type";
11767 
11768 
11769 // - VK_EXT_private_data -
11770 enum VK_EXT_private_data = 1;
11771 
11772 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkPrivateDataSlotEXT} );
11773 
11774 enum VK_EXT_PRIVATE_DATA_SPEC_VERSION = 1;
11775 enum VK_EXT_PRIVATE_DATA_EXTENSION_NAME = "VK_EXT_private_data";
11776 
11777 enum VkPrivateDataSlotCreateFlagBitsEXT {
11778     VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT   = 0x7FFFFFFF
11779 }
11780 
11781 enum VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT  = VkPrivateDataSlotCreateFlagBitsEXT.VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT;
11782 alias VkPrivateDataSlotCreateFlagsEXT = VkFlags;
11783 
11784 struct VkPhysicalDevicePrivateDataFeaturesEXT {
11785     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT;
11786     void*            pNext;
11787     VkBool32         privateData;
11788 }
11789 
11790 struct VkDevicePrivateDataCreateInfoEXT {
11791     VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT;
11792     const( void )*   pNext;
11793     uint32_t         privateDataSlotRequestCount;
11794 }
11795 
11796 struct VkPrivateDataSlotCreateInfoEXT {
11797     VkStructureType                  sType = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT;
11798     const( void )*                   pNext;
11799     VkPrivateDataSlotCreateFlagsEXT  flags;
11800 }
11801 
11802 
11803 // - VK_EXT_pipeline_creation_cache_control -
11804 enum VK_EXT_pipeline_creation_cache_control = 1;
11805 
11806 enum VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION = 3;
11807 enum VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME = "VK_EXT_pipeline_creation_cache_control";
11808 
11809 struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
11810     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT;
11811     void*            pNext;
11812     VkBool32         pipelineCreationCacheControl;
11813 }
11814 
11815 
11816 // - VK_NV_device_diagnostics_config -
11817 enum VK_NV_device_diagnostics_config = 1;
11818 
11819 enum VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION = 1;
11820 enum VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME = "VK_NV_device_diagnostics_config";
11821 
11822 enum VkDeviceDiagnosticsConfigFlagBitsNV {
11823     VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV         = 0x00000001,
11824     VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV         = 0x00000002,
11825     VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV     = 0x00000004,
11826     VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV                   = 0x7FFFFFFF
11827 }
11828 
11829 enum VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV        = VkDeviceDiagnosticsConfigFlagBitsNV.VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV;
11830 enum VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV        = VkDeviceDiagnosticsConfigFlagBitsNV.VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV;
11831 enum VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV    = VkDeviceDiagnosticsConfigFlagBitsNV.VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV;
11832 enum VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV                  = VkDeviceDiagnosticsConfigFlagBitsNV.VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV;
11833 alias VkDeviceDiagnosticsConfigFlagsNV = VkFlags;
11834 
11835 struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
11836     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV;
11837     void*            pNext;
11838     VkBool32         diagnosticsConfig;
11839 }
11840 
11841 struct VkDeviceDiagnosticsConfigCreateInfoNV {
11842     VkStructureType                   sType = VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV;
11843     const( void )*                    pNext;
11844     VkDeviceDiagnosticsConfigFlagsNV  flags;
11845 }
11846 
11847 
11848 // - VK_QCOM_render_pass_store_ops -
11849 enum VK_QCOM_render_pass_store_ops = 1;
11850 
11851 enum VK_QCOM_render_pass_store_ops_SPEC_VERSION = 2;
11852 enum VK_QCOM_render_pass_store_ops_EXTENSION_NAME = "VK_QCOM_render_pass_store_ops";
11853 
11854 
11855 // - VK_NV_fragment_shading_rate_enums -
11856 enum VK_NV_fragment_shading_rate_enums = 1;
11857 
11858 enum VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1;
11859 enum VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums";
11860 
11861 enum VkFragmentShadingRateTypeNV {
11862     VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV       = 0,
11863     VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV               = 1,
11864     VK_FRAGMENT_SHADING_RATE_TYPE_BEGIN_RANGE_NV         = VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV,
11865     VK_FRAGMENT_SHADING_RATE_TYPE_END_RANGE_NV           = VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV,
11866     VK_FRAGMENT_SHADING_RATE_TYPE_RANGE_SIZE_NV          = VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV - VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV + 1,
11867     VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV            = 0x7FFFFFFF
11868 }
11869 
11870 enum VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV      = VkFragmentShadingRateTypeNV.VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV;
11871 enum VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV              = VkFragmentShadingRateTypeNV.VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV;
11872 enum VK_FRAGMENT_SHADING_RATE_TYPE_BEGIN_RANGE_NV        = VkFragmentShadingRateTypeNV.VK_FRAGMENT_SHADING_RATE_TYPE_BEGIN_RANGE_NV;
11873 enum VK_FRAGMENT_SHADING_RATE_TYPE_END_RANGE_NV          = VkFragmentShadingRateTypeNV.VK_FRAGMENT_SHADING_RATE_TYPE_END_RANGE_NV;
11874 enum VK_FRAGMENT_SHADING_RATE_TYPE_RANGE_SIZE_NV         = VkFragmentShadingRateTypeNV.VK_FRAGMENT_SHADING_RATE_TYPE_RANGE_SIZE_NV;
11875 enum VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV           = VkFragmentShadingRateTypeNV.VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV;
11876 
11877 enum VkFragmentShadingRateNV {
11878     VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV           = 0,
11879     VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV      = 1,
11880     VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV      = 4,
11881     VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV      = 5,
11882     VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV      = 6,
11883     VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV      = 9,
11884     VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV      = 10,
11885     VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV          = 11,
11886     VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV          = 12,
11887     VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV          = 13,
11888     VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV         = 14,
11889     VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV                   = 15,
11890     VK_FRAGMENT_SHADING_RATE_BEGIN_RANGE_NV                      = VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV,
11891     VK_FRAGMENT_SHADING_RATE_END_RANGE_NV                        = VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV,
11892     VK_FRAGMENT_SHADING_RATE_RANGE_SIZE_NV                       = VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV - VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV + 1,
11893     VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV                         = 0x7FFFFFFF
11894 }
11895 
11896 enum VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV          = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV;
11897 enum VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV     = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV;
11898 enum VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV     = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV;
11899 enum VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV     = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV;
11900 enum VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV     = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV;
11901 enum VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV     = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV;
11902 enum VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV     = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV;
11903 enum VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV         = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV;
11904 enum VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV         = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV;
11905 enum VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV         = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV;
11906 enum VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV        = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV;
11907 enum VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV                  = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV;
11908 enum VK_FRAGMENT_SHADING_RATE_BEGIN_RANGE_NV                     = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_BEGIN_RANGE_NV;
11909 enum VK_FRAGMENT_SHADING_RATE_END_RANGE_NV                       = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_END_RANGE_NV;
11910 enum VK_FRAGMENT_SHADING_RATE_RANGE_SIZE_NV                      = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_RANGE_SIZE_NV;
11911 enum VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV                        = VkFragmentShadingRateNV.VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV;
11912 
11913 struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
11914     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV;
11915     void*            pNext;
11916     VkBool32         fragmentShadingRateEnums;
11917     VkBool32         supersampleFragmentShadingRates;
11918     VkBool32         noInvocationFragmentShadingRates;
11919 }
11920 
11921 struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
11922     VkStructureType        sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV;
11923     void*                  pNext;
11924     VkSampleCountFlagBits  maxFragmentShadingRateInvocationCount;
11925 }
11926 
11927 struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
11928     VkStructureType                        sType = VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV;
11929     const( void )*                         pNext;
11930     VkFragmentShadingRateTypeNV            shadingRateType;
11931     VkFragmentShadingRateNV                shadingRate;
11932     VkFragmentShadingRateCombinerOpKHR[2]  combinerOps;
11933 }
11934 
11935 
11936 // - VK_EXT_fragment_density_map2 -
11937 enum VK_EXT_fragment_density_map2 = 1;
11938 
11939 enum VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION = 1;
11940 enum VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME = "VK_EXT_fragment_density_map2";
11941 
11942 struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
11943     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT;
11944     void*            pNext;
11945     VkBool32         fragmentDensityMapDeferred;
11946 }
11947 
11948 struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
11949     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT;
11950     void*            pNext;
11951     VkBool32         subsampledLoads;
11952     VkBool32         subsampledCoarseReconstructionEarlyAccess;
11953     uint32_t         maxSubsampledArrayLayers;
11954     uint32_t         maxDescriptorSetSubsampledSamplers;
11955 }
11956 
11957 
11958 // - VK_QCOM_rotated_copy_commands -
11959 enum VK_QCOM_rotated_copy_commands = 1;
11960 
11961 enum VK_QCOM_rotated_copy_commands_SPEC_VERSION = 0;
11962 enum VK_QCOM_rotated_copy_commands_EXTENSION_NAME = "VK_QCOM_rotated_copy_commands";
11963 
11964 struct VkCopyCommandTransformInfoQCOM {
11965     VkStructureType                sType = VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM;
11966     const( void )*                 pNext;
11967     VkSurfaceTransformFlagBitsKHR  transform;
11968 }
11969 
11970 
11971 // - VK_EXT_image_robustness -
11972 enum VK_EXT_image_robustness = 1;
11973 
11974 enum VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION = 1;
11975 enum VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME = "VK_EXT_image_robustness";
11976 
11977 struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
11978     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT;
11979     void*            pNext;
11980     VkBool32         robustImageAccess;
11981 }
11982 
11983 
11984 // - VK_EXT_4444_formats -
11985 enum VK_EXT_4444_formats = 1;
11986 
11987 enum VK_EXT_4444_FORMATS_SPEC_VERSION = 1;
11988 enum VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats";
11989 
11990 struct VkPhysicalDevice4444FormatsFeaturesEXT {
11991     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT;
11992     void*            pNext;
11993     VkBool32         formatA4R4G4B4;
11994     VkBool32         formatA4B4G4R4;
11995 }
11996 
11997 
11998 // - VK_VALVE_mutable_descriptor_type -
11999 enum VK_VALVE_mutable_descriptor_type = 1;
12000 
12001 enum VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION = 1;
12002 enum VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME = "VK_VALVE_mutable_descriptor_type";
12003 
12004 struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
12005     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE;
12006     void*            pNext;
12007     VkBool32         mutableDescriptorType;
12008 }
12009 
12010 struct VkMutableDescriptorTypeListVALVE {
12011     uint32_t                    descriptorTypeCount;
12012     const( VkDescriptorType )*  pDescriptorTypes;
12013 }
12014 
12015 struct VkMutableDescriptorTypeCreateInfoVALVE {
12016     VkStructureType                             sType = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE;
12017     const( void )*                              pNext;
12018     uint32_t                                    mutableDescriptorTypeListCount;
12019     const( VkMutableDescriptorTypeListVALVE )*  pMutableDescriptorTypeLists;
12020 }
12021 
12022 
12023 // - VK_KHR_acceleration_structure -
12024 enum VK_KHR_acceleration_structure = 1;
12025 
12026 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkAccelerationStructureKHR} );
12027 
12028 enum VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11;
12029 enum VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure";
12030 
12031 enum VkBuildAccelerationStructureModeKHR {
12032     VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR       = 0,
12033     VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR      = 1,
12034     VK_BUILD_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_KHR = VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR,
12035     VK_BUILD_ACCELERATION_STRUCTURE_MODE_END_RANGE_KHR   = VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR,
12036     VK_BUILD_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_KHR  = VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR - VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR + 1,
12037     VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR    = 0x7FFFFFFF
12038 }
12039 
12040 enum VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR      = VkBuildAccelerationStructureModeKHR.VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR;
12041 enum VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR     = VkBuildAccelerationStructureModeKHR.VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR;
12042 enum VK_BUILD_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_KHR = VkBuildAccelerationStructureModeKHR.VK_BUILD_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_KHR;
12043 enum VK_BUILD_ACCELERATION_STRUCTURE_MODE_END_RANGE_KHR  = VkBuildAccelerationStructureModeKHR.VK_BUILD_ACCELERATION_STRUCTURE_MODE_END_RANGE_KHR;
12044 enum VK_BUILD_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_KHR = VkBuildAccelerationStructureModeKHR.VK_BUILD_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_KHR;
12045 enum VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR   = VkBuildAccelerationStructureModeKHR.VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR;
12046 
12047 enum VkAccelerationStructureBuildTypeKHR {
12048     VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR                = 0,
12049     VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR              = 1,
12050     VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR      = 2,
12051     VK_ACCELERATION_STRUCTURE_BUILD_TYPE_BEGIN_RANGE_KHR         = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR,
12052     VK_ACCELERATION_STRUCTURE_BUILD_TYPE_END_RANGE_KHR           = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR,
12053     VK_ACCELERATION_STRUCTURE_BUILD_TYPE_RANGE_SIZE_KHR          = VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR - VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR + 1,
12054     VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR            = 0x7FFFFFFF
12055 }
12056 
12057 enum VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR               = VkAccelerationStructureBuildTypeKHR.VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR;
12058 enum VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR             = VkAccelerationStructureBuildTypeKHR.VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR;
12059 enum VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR     = VkAccelerationStructureBuildTypeKHR.VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR;
12060 enum VK_ACCELERATION_STRUCTURE_BUILD_TYPE_BEGIN_RANGE_KHR        = VkAccelerationStructureBuildTypeKHR.VK_ACCELERATION_STRUCTURE_BUILD_TYPE_BEGIN_RANGE_KHR;
12061 enum VK_ACCELERATION_STRUCTURE_BUILD_TYPE_END_RANGE_KHR          = VkAccelerationStructureBuildTypeKHR.VK_ACCELERATION_STRUCTURE_BUILD_TYPE_END_RANGE_KHR;
12062 enum VK_ACCELERATION_STRUCTURE_BUILD_TYPE_RANGE_SIZE_KHR         = VkAccelerationStructureBuildTypeKHR.VK_ACCELERATION_STRUCTURE_BUILD_TYPE_RANGE_SIZE_KHR;
12063 enum VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR           = VkAccelerationStructureBuildTypeKHR.VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR;
12064 
12065 enum VkAccelerationStructureCompatibilityKHR {
12066     VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR       = 0,
12067     VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR     = 1,
12068     VK_ACCELERATION_STRUCTURE_COMPATIBILITY_BEGIN_RANGE_KHR      = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR,
12069     VK_ACCELERATION_STRUCTURE_COMPATIBILITY_END_RANGE_KHR        = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR,
12070     VK_ACCELERATION_STRUCTURE_COMPATIBILITY_RANGE_SIZE_KHR       = VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR - VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR + 1,
12071     VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR         = 0x7FFFFFFF
12072 }
12073 
12074 enum VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR      = VkAccelerationStructureCompatibilityKHR.VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR;
12075 enum VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR    = VkAccelerationStructureCompatibilityKHR.VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR;
12076 enum VK_ACCELERATION_STRUCTURE_COMPATIBILITY_BEGIN_RANGE_KHR     = VkAccelerationStructureCompatibilityKHR.VK_ACCELERATION_STRUCTURE_COMPATIBILITY_BEGIN_RANGE_KHR;
12077 enum VK_ACCELERATION_STRUCTURE_COMPATIBILITY_END_RANGE_KHR       = VkAccelerationStructureCompatibilityKHR.VK_ACCELERATION_STRUCTURE_COMPATIBILITY_END_RANGE_KHR;
12078 enum VK_ACCELERATION_STRUCTURE_COMPATIBILITY_RANGE_SIZE_KHR      = VkAccelerationStructureCompatibilityKHR.VK_ACCELERATION_STRUCTURE_COMPATIBILITY_RANGE_SIZE_KHR;
12079 enum VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR        = VkAccelerationStructureCompatibilityKHR.VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR;
12080 
12081 enum VkAccelerationStructureCreateFlagBitsKHR {
12082     VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR       = 0x00000001,
12083     VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR                      = 0x7FFFFFFF
12084 }
12085 
12086 enum VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR      = VkAccelerationStructureCreateFlagBitsKHR.VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR;
12087 enum VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR                     = VkAccelerationStructureCreateFlagBitsKHR.VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR;
12088 alias VkAccelerationStructureCreateFlagsKHR = VkFlags;
12089 
12090 union VkDeviceOrHostAddressKHR {
12091     VkDeviceAddress  deviceAddress;
12092     void*            hostAddress;
12093 }
12094 
12095 union VkDeviceOrHostAddressConstKHR {
12096     VkDeviceAddress  deviceAddress;
12097     const( void )*   hostAddress;
12098 }
12099 
12100 struct VkAccelerationStructureBuildRangeInfoKHR {
12101     uint32_t  primitiveCount;
12102     uint32_t  primitiveOffset;
12103     uint32_t  firstVertex;
12104     uint32_t  transformOffset;
12105 }
12106 
12107 struct VkAccelerationStructureGeometryTrianglesDataKHR {
12108     VkStructureType                sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR;
12109     const( void )*                 pNext;
12110     VkFormat                       vertexFormat;
12111     VkDeviceOrHostAddressConstKHR  vertexData;
12112     VkDeviceSize                   vertexStride;
12113     uint32_t                       maxVertex;
12114     VkIndexType                    indexType;
12115     VkDeviceOrHostAddressConstKHR  indexData;
12116     VkDeviceOrHostAddressConstKHR  transformData;
12117 }
12118 
12119 struct VkAccelerationStructureGeometryAabbsDataKHR {
12120     VkStructureType                sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR;
12121     const( void )*                 pNext;
12122     VkDeviceOrHostAddressConstKHR  data;
12123     VkDeviceSize                   stride;
12124 }
12125 
12126 struct VkAccelerationStructureGeometryInstancesDataKHR {
12127     VkStructureType                sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR;
12128     const( void )*                 pNext;
12129     VkBool32                       arrayOfPointers;
12130     VkDeviceOrHostAddressConstKHR  data;
12131 }
12132 
12133 union VkAccelerationStructureGeometryDataKHR {
12134     VkAccelerationStructureGeometryTrianglesDataKHR  triangles;
12135     VkAccelerationStructureGeometryAabbsDataKHR      aabbs;
12136     VkAccelerationStructureGeometryInstancesDataKHR  instances;
12137 }
12138 
12139 struct VkAccelerationStructureGeometryKHR {
12140     VkStructureType                         sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR;
12141     const( void )*                          pNext;
12142     VkGeometryTypeKHR                       geometryType;
12143     VkAccelerationStructureGeometryDataKHR  geometry;
12144     VkGeometryFlagsKHR                      flags;
12145 }
12146 
12147 struct VkAccelerationStructureBuildGeometryInfoKHR {
12148     VkStructureType                                sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR;
12149     const( void )*                                 pNext;
12150     VkAccelerationStructureTypeKHR                 type;
12151     VkBuildAccelerationStructureFlagsKHR           flags;
12152     VkBuildAccelerationStructureModeKHR            mode;
12153     VkAccelerationStructureKHR                     srcAccelerationStructure;
12154     VkAccelerationStructureKHR                     dstAccelerationStructure;
12155     uint32_t                                       geometryCount;
12156     const( VkAccelerationStructureGeometryKHR )*   pGeometries;
12157     const( VkAccelerationStructureGeometryKHR* )*  ppGeometries;
12158     VkDeviceOrHostAddressKHR                       scratchData;
12159 }
12160 
12161 struct VkAccelerationStructureCreateInfoKHR {
12162     VkStructureType                        sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR;
12163     const( void )*                         pNext;
12164     VkAccelerationStructureCreateFlagsKHR  createFlags;
12165     VkBuffer                               buffer;
12166     VkDeviceSize                           offset;
12167     VkDeviceSize                           size;
12168     VkAccelerationStructureTypeKHR         type;
12169     VkDeviceAddress                        deviceAddress;
12170 }
12171 
12172 struct VkWriteDescriptorSetAccelerationStructureKHR {
12173     VkStructureType                       sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR;
12174     const( void )*                        pNext;
12175     uint32_t                              accelerationStructureCount;
12176     const( VkAccelerationStructureKHR )*  pAccelerationStructures;
12177 }
12178 
12179 struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
12180     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR;
12181     void*            pNext;
12182     VkBool32         accelerationStructure;
12183     VkBool32         accelerationStructureCaptureReplay;
12184     VkBool32         accelerationStructureIndirectBuild;
12185     VkBool32         accelerationStructureHostCommands;
12186     VkBool32         descriptorBindingAccelerationStructureUpdateAfterBind;
12187 }
12188 
12189 struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
12190     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR;
12191     void*            pNext;
12192     uint64_t         maxGeometryCount;
12193     uint64_t         maxInstanceCount;
12194     uint64_t         maxPrimitiveCount;
12195     uint32_t         maxPerStageDescriptorAccelerationStructures;
12196     uint32_t         maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
12197     uint32_t         maxDescriptorSetAccelerationStructures;
12198     uint32_t         maxDescriptorSetUpdateAfterBindAccelerationStructures;
12199     uint32_t         minAccelerationStructureScratchOffsetAlignment;
12200 }
12201 
12202 struct VkAccelerationStructureDeviceAddressInfoKHR {
12203     VkStructureType             sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR;
12204     const( void )*              pNext;
12205     VkAccelerationStructureKHR  accelerationStructure;
12206 }
12207 
12208 struct VkAccelerationStructureVersionInfoKHR {
12209     VkStructureType    sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR;
12210     const( void )*     pNext;
12211     const( uint8_t )*  pVersionData;
12212 }
12213 
12214 struct VkCopyAccelerationStructureToMemoryInfoKHR {
12215     VkStructureType                     sType = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR;
12216     const( void )*                      pNext;
12217     VkAccelerationStructureKHR          src;
12218     VkDeviceOrHostAddressKHR            dst;
12219     VkCopyAccelerationStructureModeKHR  mode;
12220 }
12221 
12222 struct VkCopyMemoryToAccelerationStructureInfoKHR {
12223     VkStructureType                     sType = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR;
12224     const( void )*                      pNext;
12225     VkDeviceOrHostAddressConstKHR       src;
12226     VkAccelerationStructureKHR          dst;
12227     VkCopyAccelerationStructureModeKHR  mode;
12228 }
12229 
12230 struct VkCopyAccelerationStructureInfoKHR {
12231     VkStructureType                     sType = VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR;
12232     const( void )*                      pNext;
12233     VkAccelerationStructureKHR          src;
12234     VkAccelerationStructureKHR          dst;
12235     VkCopyAccelerationStructureModeKHR  mode;
12236 }
12237 
12238 struct VkAccelerationStructureBuildSizesInfoKHR {
12239     VkStructureType  sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR;
12240     const( void )*   pNext;
12241     VkDeviceSize     accelerationStructureSize;
12242     VkDeviceSize     updateScratchSize;
12243     VkDeviceSize     buildScratchSize;
12244 }
12245 
12246 
12247 // - VK_KHR_ray_tracing_pipeline -
12248 enum VK_KHR_ray_tracing_pipeline = 1;
12249 
12250 enum VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION = 1;
12251 enum VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME = "VK_KHR_ray_tracing_pipeline";
12252 
12253 enum VkShaderGroupShaderKHR {
12254     VK_SHADER_GROUP_SHADER_GENERAL_KHR           = 0,
12255     VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR       = 1,
12256     VK_SHADER_GROUP_SHADER_ANY_HIT_KHR           = 2,
12257     VK_SHADER_GROUP_SHADER_INTERSECTION_KHR      = 3,
12258     VK_SHADER_GROUP_SHADER_BEGIN_RANGE_KHR       = VK_SHADER_GROUP_SHADER_GENERAL_KHR,
12259     VK_SHADER_GROUP_SHADER_END_RANGE_KHR         = VK_SHADER_GROUP_SHADER_INTERSECTION_KHR,
12260     VK_SHADER_GROUP_SHADER_RANGE_SIZE_KHR        = VK_SHADER_GROUP_SHADER_INTERSECTION_KHR - VK_SHADER_GROUP_SHADER_GENERAL_KHR + 1,
12261     VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR          = 0x7FFFFFFF
12262 }
12263 
12264 enum VK_SHADER_GROUP_SHADER_GENERAL_KHR          = VkShaderGroupShaderKHR.VK_SHADER_GROUP_SHADER_GENERAL_KHR;
12265 enum VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR      = VkShaderGroupShaderKHR.VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR;
12266 enum VK_SHADER_GROUP_SHADER_ANY_HIT_KHR          = VkShaderGroupShaderKHR.VK_SHADER_GROUP_SHADER_ANY_HIT_KHR;
12267 enum VK_SHADER_GROUP_SHADER_INTERSECTION_KHR     = VkShaderGroupShaderKHR.VK_SHADER_GROUP_SHADER_INTERSECTION_KHR;
12268 enum VK_SHADER_GROUP_SHADER_BEGIN_RANGE_KHR      = VkShaderGroupShaderKHR.VK_SHADER_GROUP_SHADER_BEGIN_RANGE_KHR;
12269 enum VK_SHADER_GROUP_SHADER_END_RANGE_KHR        = VkShaderGroupShaderKHR.VK_SHADER_GROUP_SHADER_END_RANGE_KHR;
12270 enum VK_SHADER_GROUP_SHADER_RANGE_SIZE_KHR       = VkShaderGroupShaderKHR.VK_SHADER_GROUP_SHADER_RANGE_SIZE_KHR;
12271 enum VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR         = VkShaderGroupShaderKHR.VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR;
12272 
12273 struct VkRayTracingShaderGroupCreateInfoKHR {
12274     VkStructureType                 sType = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR;
12275     const( void )*                  pNext;
12276     VkRayTracingShaderGroupTypeKHR  type;
12277     uint32_t                        generalShader;
12278     uint32_t                        closestHitShader;
12279     uint32_t                        anyHitShader;
12280     uint32_t                        intersectionShader;
12281     const( void )*                  pShaderGroupCaptureReplayHandle;
12282 }
12283 
12284 struct VkRayTracingPipelineInterfaceCreateInfoKHR {
12285     VkStructureType  sType = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR;
12286     const( void )*   pNext;
12287     uint32_t         maxPipelineRayPayloadSize;
12288     uint32_t         maxPipelineRayHitAttributeSize;
12289 }
12290 
12291 struct VkRayTracingPipelineCreateInfoKHR {
12292     VkStructureType                                       sType = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR;
12293     const( void )*                                        pNext;
12294     VkPipelineCreateFlags                                 flags;
12295     uint32_t                                              stageCount;
12296     const( VkPipelineShaderStageCreateInfo )*             pStages;
12297     uint32_t                                              groupCount;
12298     const( VkRayTracingShaderGroupCreateInfoKHR )*        pGroups;
12299     uint32_t                                              maxPipelineRayRecursionDepth;
12300     const( VkPipelineLibraryCreateInfoKHR )*              pLibraryInfo;
12301     const( VkRayTracingPipelineInterfaceCreateInfoKHR )*  pLibraryInterface;
12302     const( VkPipelineDynamicStateCreateInfo )*            pDynamicState;
12303     VkPipelineLayout                                      layout;
12304     VkPipeline                                            basePipelineHandle;
12305     int32_t                                               basePipelineIndex;
12306 }
12307 
12308 struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
12309     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR;
12310     void*            pNext;
12311     VkBool32         rayTracingPipeline;
12312     VkBool32         rayTracingPipelineShaderGroupHandleCaptureReplay;
12313     VkBool32         rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
12314     VkBool32         rayTracingPipelineTraceRaysIndirect;
12315     VkBool32         rayTraversalPrimitiveCulling;
12316 }
12317 
12318 struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
12319     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR;
12320     void*            pNext;
12321     uint32_t         shaderGroupHandleSize;
12322     uint32_t         maxRayRecursionDepth;
12323     uint32_t         maxShaderGroupStride;
12324     uint32_t         shaderGroupBaseAlignment;
12325     uint32_t         shaderGroupHandleCaptureReplaySize;
12326     uint32_t         maxRayDispatchInvocationCount;
12327     uint32_t         shaderGroupHandleAlignment;
12328     uint32_t         maxRayHitAttributeSize;
12329 }
12330 
12331 struct VkStridedDeviceAddressRegionKHR {
12332     VkDeviceAddress  deviceAddress;
12333     VkDeviceSize     stride;
12334     VkDeviceSize     size;
12335 }
12336 
12337 struct VkTraceRaysIndirectCommandKHR {
12338     uint32_t  width;
12339     uint32_t  height;
12340     uint32_t  depth;
12341 }
12342 
12343 
12344 // - VK_KHR_ray_query -
12345 enum VK_KHR_ray_query = 1;
12346 
12347 enum VK_KHR_RAY_QUERY_SPEC_VERSION = 1;
12348 enum VK_KHR_RAY_QUERY_EXTENSION_NAME = "VK_KHR_ray_query";
12349 
12350 struct VkPhysicalDeviceRayQueryFeaturesKHR {
12351     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR;
12352     void*            pNext;
12353     VkBool32         rayQuery;
12354 }
12355 
12356