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