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