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