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