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 nothrow @nogc:
11 
12 
13 // defined in vk_platform.h
14 alias uint8_t   = ubyte;
15 alias uint16_t  = ushort;
16 alias uint32_t  = uint;
17 alias uint64_t  = ulong;
18 alias int8_t    = byte;
19 alias int16_t   = short;
20 alias int32_t   = int;
21 alias int64_t   = long;
22 
23 
24 // version functions / macros
25 pure {
26     uint VK_MAKE_VERSION( uint major, uint minor, uint patch ) { return ( major << 22 ) | ( minor << 12 ) | ( patch ); }
27     uint VK_VERSION_MAJOR( uint ver ) { return ver >> 22; }
28     uint VK_VERSION_MINOR( uint ver ) { return ( ver >> 12 ) & 0x3ff; }
29     uint VK_VERSION_PATCH( uint ver ) { return ver & 0xfff; }
30 }
31 
32 // Linkage of debug and allocation callbacks
33 extern( System ):
34 
35 // Version of corresponding c header file
36 enum VK_HEADER_VERSION = 105;
37 
38 enum VK_NULL_HANDLE = null;
39 
40 enum VK_DEFINE_HANDLE( string name ) = "struct " ~ name ~ "_handle; alias " ~ name ~ " = " ~ name ~ "_handle*;";
41 
42 version( X86_64 ) {
43     alias VK_DEFINE_NON_DISPATCHABLE_HANDLE( string name ) = VK_DEFINE_HANDLE!name;
44     enum VK_NULL_ND_HANDLE = null;
45 } else {
46     enum VK_DEFINE_NON_DISPATCHABLE_HANDLE( string name ) = "alias " ~ name ~ " = ulong;";
47     enum VK_NULL_ND_HANDLE = 0uL;
48 }
49 
50 // - VK_VERSION_1_0 -
51 enum VK_VERSION_1_0 = 1;
52 
53 // Vulkan 1.0 version number
54 enum VK_API_VERSION_1_0 = VK_MAKE_VERSION( 1, 0, 0 );  // Patch version should always be set to 0
55 
56 alias VkFlags = uint32_t;
57 alias VkBool32 = uint32_t;
58 alias VkDeviceSize = uint64_t;
59 alias VkSampleMask = uint32_t;
60 
61 mixin( VK_DEFINE_HANDLE!q{VkInstance} );
62 mixin( VK_DEFINE_HANDLE!q{VkPhysicalDevice} );
63 mixin( VK_DEFINE_HANDLE!q{VkDevice} );
64 mixin( VK_DEFINE_HANDLE!q{VkQueue} );
65 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSemaphore} );
66 mixin( VK_DEFINE_HANDLE!q{VkCommandBuffer} );
67 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkFence} );
68 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDeviceMemory} );
69 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkBuffer} );
70 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkImage} );
71 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkEvent} );
72 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkQueryPool} );
73 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkBufferView} );
74 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkImageView} );
75 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkShaderModule} );
76 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkPipelineCache} );
77 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkPipelineLayout} );
78 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkRenderPass} );
79 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkPipeline} );
80 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorSetLayout} );
81 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSampler} );
82 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorPool} );
83 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorSet} );
84 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkFramebuffer} );
85 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkCommandPool} );
86 
87 enum VK_LOD_CLAMP_NONE = 1000.0f;
88 enum VK_REMAINING_MIP_LEVELS = (~0U);
89 enum VK_REMAINING_ARRAY_LAYERS = (~0U);
90 enum VK_WHOLE_SIZE = (~0UL);
91 enum VK_ATTACHMENT_UNUSED = (~0U);
92 enum VK_TRUE = 1;
93 enum VK_FALSE = 0;
94 enum VK_QUEUE_FAMILY_IGNORED = (~0U);
95 enum VK_SUBPASS_EXTERNAL = (~0U);
96 enum VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256;
97 enum VK_UUID_SIZE = 16;
98 enum VK_MAX_MEMORY_TYPES = 32;
99 enum VK_MAX_MEMORY_HEAPS = 16;
100 enum VK_MAX_EXTENSION_NAME_SIZE = 256;
101 enum VK_MAX_DESCRIPTION_SIZE = 256;
102 
103 enum VkPipelineCacheHeaderVersion {
104     VK_PIPELINE_CACHE_HEADER_VERSION_ONE                 = 1,
105     VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE         = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
106     VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE           = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
107     VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE          = VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1,
108     VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM            = 0x7FFFFFFF
109 }
110 
111 enum VK_PIPELINE_CACHE_HEADER_VERSION_ONE                = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
112 enum VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE        = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE;
113 enum VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE          = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE;
114 enum VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE         = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE;
115 enum VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM           = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM;
116 
117 enum VkResult {
118     VK_SUCCESS                                                   = 0,
119     VK_NOT_READY                                                 = 1,
120     VK_TIMEOUT                                                   = 2,
121     VK_EVENT_SET                                                 = 3,
122     VK_EVENT_RESET                                               = 4,
123     VK_INCOMPLETE                                                = 5,
124     VK_ERROR_OUT_OF_HOST_MEMORY                                  = -1,
125     VK_ERROR_OUT_OF_DEVICE_MEMORY                                = -2,
126     VK_ERROR_INITIALIZATION_FAILED                               = -3,
127     VK_ERROR_DEVICE_LOST                                         = -4,
128     VK_ERROR_MEMORY_MAP_FAILED                                   = -5,
129     VK_ERROR_LAYER_NOT_PRESENT                                   = -6,
130     VK_ERROR_EXTENSION_NOT_PRESENT                               = -7,
131     VK_ERROR_FEATURE_NOT_PRESENT                                 = -8,
132     VK_ERROR_INCOMPATIBLE_DRIVER                                 = -9,
133     VK_ERROR_TOO_MANY_OBJECTS                                    = -10,
134     VK_ERROR_FORMAT_NOT_SUPPORTED                                = -11,
135     VK_ERROR_FRAGMENTED_POOL                                     = -12,
136     VK_ERROR_OUT_OF_POOL_MEMORY                                  = -1000069000,
137     VK_ERROR_INVALID_EXTERNAL_HANDLE                             = -1000072003,
138     VK_ERROR_SURFACE_LOST_KHR                                    = -1000000000,
139     VK_ERROR_NATIVE_WINDOW_IN_USE_KHR                            = -1000000001,
140     VK_SUBOPTIMAL_KHR                                            = 1000001003,
141     VK_ERROR_OUT_OF_DATE_KHR                                     = -1000001004,
142     VK_ERROR_INCOMPATIBLE_DISPLAY_KHR                            = -1000003001,
143     VK_ERROR_VALIDATION_FAILED_EXT                               = -1000011001,
144     VK_ERROR_INVALID_SHADER_NV                                   = -1000012000,
145     VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT        = -1000158000,
146     VK_ERROR_FRAGMENTATION_EXT                                   = -1000161000,
147     VK_ERROR_NOT_PERMITTED_EXT                                   = -1000174001,
148     VK_ERROR_INVALID_DEVICE_ADDRESS_EXT                          = -1000244000,
149     VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT                 = -1000255000,
150     VK_ERROR_OUT_OF_POOL_MEMORY_KHR                              = VK_ERROR_OUT_OF_POOL_MEMORY,
151     VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR                         = VK_ERROR_INVALID_EXTERNAL_HANDLE,
152     VK_RESULT_BEGIN_RANGE                                        = VK_ERROR_FRAGMENTED_POOL,
153     VK_RESULT_END_RANGE                                          = VK_INCOMPLETE,
154     VK_RESULT_RANGE_SIZE                                         = VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1,
155     VK_RESULT_MAX_ENUM                                           = 0x7FFFFFFF
156 }
157 
158 enum VK_SUCCESS                                                  = VkResult.VK_SUCCESS;
159 enum VK_NOT_READY                                                = VkResult.VK_NOT_READY;
160 enum VK_TIMEOUT                                                  = VkResult.VK_TIMEOUT;
161 enum VK_EVENT_SET                                                = VkResult.VK_EVENT_SET;
162 enum VK_EVENT_RESET                                              = VkResult.VK_EVENT_RESET;
163 enum VK_INCOMPLETE                                               = VkResult.VK_INCOMPLETE;
164 enum VK_ERROR_OUT_OF_HOST_MEMORY                                 = VkResult.VK_ERROR_OUT_OF_HOST_MEMORY;
165 enum VK_ERROR_OUT_OF_DEVICE_MEMORY                               = VkResult.VK_ERROR_OUT_OF_DEVICE_MEMORY;
166 enum VK_ERROR_INITIALIZATION_FAILED                              = VkResult.VK_ERROR_INITIALIZATION_FAILED;
167 enum VK_ERROR_DEVICE_LOST                                        = VkResult.VK_ERROR_DEVICE_LOST;
168 enum VK_ERROR_MEMORY_MAP_FAILED                                  = VkResult.VK_ERROR_MEMORY_MAP_FAILED;
169 enum VK_ERROR_LAYER_NOT_PRESENT                                  = VkResult.VK_ERROR_LAYER_NOT_PRESENT;
170 enum VK_ERROR_EXTENSION_NOT_PRESENT                              = VkResult.VK_ERROR_EXTENSION_NOT_PRESENT;
171 enum VK_ERROR_FEATURE_NOT_PRESENT                                = VkResult.VK_ERROR_FEATURE_NOT_PRESENT;
172 enum VK_ERROR_INCOMPATIBLE_DRIVER                                = VkResult.VK_ERROR_INCOMPATIBLE_DRIVER;
173 enum VK_ERROR_TOO_MANY_OBJECTS                                   = VkResult.VK_ERROR_TOO_MANY_OBJECTS;
174 enum VK_ERROR_FORMAT_NOT_SUPPORTED                               = VkResult.VK_ERROR_FORMAT_NOT_SUPPORTED;
175 enum VK_ERROR_FRAGMENTED_POOL                                    = VkResult.VK_ERROR_FRAGMENTED_POOL;
176 enum VK_ERROR_OUT_OF_POOL_MEMORY                                 = VkResult.VK_ERROR_OUT_OF_POOL_MEMORY;
177 enum VK_ERROR_INVALID_EXTERNAL_HANDLE                            = VkResult.VK_ERROR_INVALID_EXTERNAL_HANDLE;
178 enum VK_ERROR_SURFACE_LOST_KHR                                   = VkResult.VK_ERROR_SURFACE_LOST_KHR;
179 enum VK_ERROR_NATIVE_WINDOW_IN_USE_KHR                           = VkResult.VK_ERROR_NATIVE_WINDOW_IN_USE_KHR;
180 enum VK_SUBOPTIMAL_KHR                                           = VkResult.VK_SUBOPTIMAL_KHR;
181 enum VK_ERROR_OUT_OF_DATE_KHR                                    = VkResult.VK_ERROR_OUT_OF_DATE_KHR;
182 enum VK_ERROR_INCOMPATIBLE_DISPLAY_KHR                           = VkResult.VK_ERROR_INCOMPATIBLE_DISPLAY_KHR;
183 enum VK_ERROR_VALIDATION_FAILED_EXT                              = VkResult.VK_ERROR_VALIDATION_FAILED_EXT;
184 enum VK_ERROR_INVALID_SHADER_NV                                  = VkResult.VK_ERROR_INVALID_SHADER_NV;
185 enum VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT       = VkResult.VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT;
186 enum VK_ERROR_FRAGMENTATION_EXT                                  = VkResult.VK_ERROR_FRAGMENTATION_EXT;
187 enum VK_ERROR_NOT_PERMITTED_EXT                                  = VkResult.VK_ERROR_NOT_PERMITTED_EXT;
188 enum VK_ERROR_INVALID_DEVICE_ADDRESS_EXT                         = VkResult.VK_ERROR_INVALID_DEVICE_ADDRESS_EXT;
189 enum VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT                = VkResult.VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT;
190 enum VK_ERROR_OUT_OF_POOL_MEMORY_KHR                             = VkResult.VK_ERROR_OUT_OF_POOL_MEMORY_KHR;
191 enum VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR                        = VkResult.VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR;
192 enum VK_RESULT_BEGIN_RANGE                                       = VkResult.VK_RESULT_BEGIN_RANGE;
193 enum VK_RESULT_END_RANGE                                         = VkResult.VK_RESULT_END_RANGE;
194 enum VK_RESULT_RANGE_SIZE                                        = VkResult.VK_RESULT_RANGE_SIZE;
195 enum VK_RESULT_MAX_ENUM                                          = VkResult.VK_RESULT_MAX_ENUM;
196 
197 enum VkStructureType {
198     VK_STRUCTURE_TYPE_APPLICATION_INFO                                                   = 0,
199     VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO                                               = 1,
200     VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO                                           = 2,
201     VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO                                                 = 3,
202     VK_STRUCTURE_TYPE_SUBMIT_INFO                                                        = 4,
203     VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO                                               = 5,
204     VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE                                                = 6,
205     VK_STRUCTURE_TYPE_BIND_SPARSE_INFO                                                   = 7,
206     VK_STRUCTURE_TYPE_FENCE_CREATE_INFO                                                  = 8,
207     VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO                                              = 9,
208     VK_STRUCTURE_TYPE_EVENT_CREATE_INFO                                                  = 10,
209     VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO                                             = 11,
210     VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO                                                 = 12,
211     VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO                                            = 13,
212     VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO                                                  = 14,
213     VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO                                             = 15,
214     VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO                                          = 16,
215     VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO                                         = 17,
216     VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO                                  = 18,
217     VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO                            = 19,
218     VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO                          = 20,
219     VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO                            = 21,
220     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO                                = 22,
221     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO                           = 23,
222     VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO                             = 24,
223     VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO                           = 25,
224     VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO                             = 26,
225     VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO                                 = 27,
226     VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO                                      = 28,
227     VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO                                       = 29,
228     VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO                                        = 30,
229     VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO                                                = 31,
230     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO                                  = 32,
231     VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO                                        = 33,
232     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO                                       = 34,
233     VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET                                               = 35,
234     VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET                                                = 36,
235     VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO                                            = 37,
236     VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO                                            = 38,
237     VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO                                           = 39,
238     VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO                                       = 40,
239     VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO                                    = 41,
240     VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO                                          = 42,
241     VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO                                             = 43,
242     VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER                                              = 44,
243     VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER                                               = 45,
244     VK_STRUCTURE_TYPE_MEMORY_BARRIER                                                     = 46,
245     VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO                                        = 47,
246     VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                                          = 48,
247     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES                                = 1000094000,
248     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO                                            = 1000157000,
249     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO                                             = 1000157001,
250     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES                             = 1000083000,
251     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS                                      = 1000127000,
252     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO                                     = 1000127001,
253     VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO                                         = 1000060000,
254     VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO                                = 1000060003,
255     VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO                             = 1000060004,
256     VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO                                           = 1000060005,
257     VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO                                      = 1000060006,
258     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO                               = 1000060013,
259     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO                                = 1000060014,
260     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES                                   = 1000070000,
261     VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO                                    = 1000070001,
262     VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2                                  = 1000146000,
263     VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2                                   = 1000146001,
264     VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2                            = 1000146002,
265     VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2                                              = 1000146003,
266     VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2                                 = 1000146004,
267     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2                                         = 1000059000,
268     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2                                       = 1000059001,
269     VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2                                                = 1000059002,
270     VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2                                          = 1000059003,
271     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2                                = 1000059004,
272     VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2                                          = 1000059005,
273     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2                                = 1000059006,
274     VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2                                   = 1000059007,
275     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2                         = 1000059008,
276     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES                          = 1000117000,
277     VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO                    = 1000117001,
278     VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO                                       = 1000117002,
279     VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO              = 1000117003,
280     VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO                                  = 1000053000,
281     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES                                 = 1000053001,
282     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES                               = 1000053002,
283     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES                          = 1000120000,
284     VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO                                              = 1000145000,
285     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES                          = 1000145001,
286     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES                        = 1000145002,
287     VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2                                                = 1000145003,
288     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO                               = 1000156000,
289     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO                                      = 1000156001,
290     VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO                                       = 1000156002,
291     VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO                               = 1000156003,
292     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES                  = 1000156004,
293     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES                   = 1000156005,
294     VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO                             = 1000085000,
295     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO                         = 1000071000,
296     VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES                                   = 1000071001,
297     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO                               = 1000071002,
298     VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES                                         = 1000071003,
299     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES                                      = 1000071004,
300     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO                                 = 1000072000,
301     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO                                  = 1000072001,
302     VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO                                        = 1000072002,
303     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO                                = 1000112000,
304     VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES                                          = 1000112001,
305     VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO                                           = 1000113000,
306     VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO                                       = 1000077000,
307     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO                            = 1000076000,
308     VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES                                      = 1000076001,
309     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES                           = 1000168000,
310     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT                                      = 1000168001,
311     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES                     = 1000063000,
312     VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR                                          = 1000001000,
313     VK_STRUCTURE_TYPE_PRESENT_INFO_KHR                                                   = 1000001001,
314     VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR                              = 1000060007,
315     VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR                                    = 1000060008,
316     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR                               = 1000060009,
317     VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR                                        = 1000060010,
318     VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR                                      = 1000060011,
319     VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR                             = 1000060012,
320     VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR                                       = 1000002000,
321     VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR                                    = 1000002001,
322     VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR                                           = 1000003000,
323     VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR                                       = 1000004000,
324     VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR                                        = 1000005000,
325     VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR                                    = 1000006000,
326     VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR                                    = 1000008000,
327     VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR                                      = 1000009000,
328     VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT                              = 1000011000,
329     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD               = 1000018000,
330     VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT                                  = 1000022000,
331     VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT                                   = 1000022001,
332     VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT                                       = 1000022002,
333     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                          = 1000026000,
334     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                         = 1000026001,
335     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                       = 1000026002,
336     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT                    = 1000028000,
337     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT                  = 1000028001,
338     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT                = 1000028002,
339     VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX                                         = 1000030000,
340     VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD                           = 1000041000,
341     VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP                          = 1000049000,
342     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV                   = 1000050000,
343     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV                               = 1000056000,
344     VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV                                     = 1000056001,
345     VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV                                 = 1000057000,
346     VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV                                 = 1000057001,
347     VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV                          = 1000058000,
348     VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT                                               = 1000061000,
349     VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN                                          = 1000062000,
350     VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT                                    = 1000067000,
351     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT                           = 1000067001,
352     VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                = 1000073000,
353     VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                = 1000073001,
354     VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR                                 = 1000073002,
355     VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR                                   = 1000073003,
356     VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR                                          = 1000074000,
357     VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR                                           = 1000074001,
358     VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR                                             = 1000074002,
359     VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR                         = 1000075000,
360     VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                             = 1000078000,
361     VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                             = 1000078001,
362     VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR                                        = 1000078002,
363     VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR                                = 1000078003,
364     VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR                                       = 1000079000,
365     VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR                                          = 1000079001,
366     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR                     = 1000080000,
367     VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT          = 1000081000,
368     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT                 = 1000081001,
369     VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT                               = 1000081002,
370     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR                          = 1000082000,
371     VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR                                                = 1000084000,
372     VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX                                       = 1000086000,
373     VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX                           = 1000086001,
374     VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX                                      = 1000086002,
375     VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX                            = 1000086003,
376     VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX                               = 1000086004,
377     VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX                             = 1000086005,
378     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV                   = 1000087000,
379     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT                                         = 1000090000,
380     VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT                                             = 1000091000,
381     VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT                                              = 1000091001,
382     VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT                                             = 1000091002,
383     VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT                                  = 1000091003,
384     VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE                                          = 1000092000,
385     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX       = 1000097000,
386     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV                     = 1000098000,
387     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT                   = 1000099000,
388     VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT                   = 1000099001,
389     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT          = 1000101000,
390     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT          = 1000101001,
391     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT                     = 1000102000,
392     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT            = 1000102001,
393     VK_STRUCTURE_TYPE_HDR_METADATA_EXT                                                   = 1000105000,
394     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR                                       = 1000109000,
395     VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR                                         = 1000109001,
396     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR                                          = 1000109002,
397     VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR                                           = 1000109003,
398     VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR                                      = 1000109004,
399     VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR                                             = 1000109005,
400     VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR                                               = 1000109006,
401     VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR                            = 1000111000,
402     VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR                                 = 1000114000,
403     VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR                                 = 1000114001,
404     VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR                                    = 1000114002,
405     VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR                                           = 1000115000,
406     VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR                                              = 1000115001,
407     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR                                 = 1000119000,
408     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR                                         = 1000119001,
409     VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR                                               = 1000119002,
410     VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR                                           = 1000121000,
411     VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR                                     = 1000121001,
412     VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR                                      = 1000121002,
413     VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR                                           = 1000121003,
414     VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR                                   = 1000121004,
415     VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK                                        = 1000122000,
416     VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK                                      = 1000123000,
417     VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT                                   = 1000128000,
418     VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT                                    = 1000128001,
419     VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT                                              = 1000128002,
420     VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT                            = 1000128003,
421     VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT                              = 1000128004,
422     VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID                              = 1000129000,
423     VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID                         = 1000129001,
424     VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID                  = 1000129002,
425     VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                        = 1000129003,
426     VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                    = 1000129004,
427     VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID                                            = 1000129005,
428     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT               = 1000130000,
429     VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT                             = 1000130001,
430     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT                  = 1000138000,
431     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT                = 1000138001,
432     VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT                      = 1000138002,
433     VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT               = 1000138003,
434     VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT                                          = 1000143000,
435     VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT                        = 1000143001,
436     VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT                    = 1000143002,
437     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT                    = 1000143003,
438     VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT                                         = 1000143004,
439     VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR                                  = 1000147000,
440     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT              = 1000148000,
441     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT            = 1000148001,
442     VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT                = 1000148002,
443     VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV                    = 1000149000,
444     VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV                  = 1000152000,
445     VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT                            = 1000158000,
446     VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                                 = 1000158001,
447     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT                 = 1000158002,
448     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT                     = 1000158003,
449     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT                 = 1000158004,
450     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                           = 1000158005,
451     VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT                                   = 1000160000,
452     VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT                     = 1000160001,
453     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT                = 1000161000,
454     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT                   = 1000161001,
455     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT                 = 1000161002,
456     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT         = 1000161003,
457     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT        = 1000161004,
458     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV          = 1000164000,
459     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV                     = 1000164001,
460     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV                   = 1000164002,
461     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV         = 1000164005,
462     VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV                                = 1000165000,
463     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV                              = 1000165001,
464     VK_STRUCTURE_TYPE_GEOMETRY_NV                                                        = 1000165003,
465     VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV                                              = 1000165004,
466     VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV                                                   = 1000165005,
467     VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV                         = 1000165006,
468     VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV                     = 1000165007,
469     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV                 = 1000165008,
470     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV                          = 1000165009,
471     VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV                            = 1000165011,
472     VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV                                     = 1000165012,
473     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV           = 1000166000,
474     VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV         = 1000166001,
475     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT                   = 1000170000,
476     VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT                = 1000170001,
477     VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT                       = 1000174000,
478     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR                          = 1000177000,
479     VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT                                = 1000178000,
480     VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT                                 = 1000178001,
481     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT                = 1000178002,
482     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR                   = 1000180000,
483     VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT                                      = 1000184000,
484     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD                         = 1000185000,
485     VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD                       = 1000189000,
486     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT            = 1000190000,
487     VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT                = 1000190001,
488     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT              = 1000190002,
489     VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP                                            = 1000191000,
490     VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT                         = 1000192000,
491     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR                              = 1000196000,
492     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR                      = 1000197000,
493     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR               = 1000199000,
494     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR                      = 1000199001,
495     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV             = 1000201000,
496     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV                            = 1000202000,
497     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV                          = 1000202001,
498     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV            = 1000203000,
499     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV                 = 1000204000,
500     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV           = 1000205000,
501     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV                      = 1000205002,
502     VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV                                                 = 1000206000,
503     VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV                              = 1000206001,
504     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR                   = 1000211000,
505     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT                        = 1000212000,
506     VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD                        = 1000213000,
507     VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD                       = 1000213001,
508     VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA                              = 1000214000,
509     VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT                                      = 1000217000,
510     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT                  = 1000218000,
511     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT                = 1000218001,
512     VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT                   = 1000218002,
513     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT                   = 1000221000,
514     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT                       = 1000237000,
515     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT                       = 1000238000,
516     VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT                                  = 1000238001,
517     VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR                                 = 1000239000,
518     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV    = 1000240000,
519     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT                        = 1000244000,
520     VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT                                     = 1000244001,
521     VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT                              = 1000244002,
522     VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT                                = 1000246000,
523     VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT                                            = 1000247000,
524     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV                     = 1000249000,
525     VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV                                   = 1000249001,
526     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV                   = 1000249002,
527     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT                    = 1000252000,
528     VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT                             = 1000255000,
529     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT                     = 1000255002,
530     VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT                       = 1000255001,
531     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT                      = 1000261000,
532     VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT                                       = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
533     VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR                              = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
534     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR                             = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
535     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR                           = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
536     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR                                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
537     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR                                   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
538     VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR                                            = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
539     VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR                                      = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
540     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR                            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
541     VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR                                      = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
542     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR                            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
543     VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR                               = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
544     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
545     VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR                                     = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
546     VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR                            = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
547     VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR                         = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
548     VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR                                       = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
549     VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR                                  = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
550     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR                           = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
551     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR                            = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
552     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR                               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
553     VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR                                = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
554     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
555     VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR                               = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
556     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR                           = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
557     VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR                                     = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
558     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR                                  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
559     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR                             = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
560     VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR                              = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
561     VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR                                    = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
562     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR                        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
563     VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR                                  = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
564     VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR                                   = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
565     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR                         = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
566     VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR                         = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
567     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT                                          = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
568     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR                            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
569     VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR                                      = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
570     VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR                                       = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
571     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
572     VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR                = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
573     VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR                                   = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
574     VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR          = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
575     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
576     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR                                  = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
577     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR                                 = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
578     VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR                              = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
579     VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR                               = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
580     VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR                        = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
581     VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR                                          = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
582     VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR                             = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
583     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR                           = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
584     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR                                  = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
585     VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR                                   = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
586     VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR                           = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
587     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR              = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
588     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR               = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
589     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR                                        = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
590     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR                                         = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
591     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR                       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
592     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR                                  = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
593     VK_STRUCTURE_TYPE_BEGIN_RANGE                                                        = VK_STRUCTURE_TYPE_APPLICATION_INFO,
594     VK_STRUCTURE_TYPE_END_RANGE                                                          = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
595     VK_STRUCTURE_TYPE_RANGE_SIZE                                                         = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1,
596     VK_STRUCTURE_TYPE_MAX_ENUM                                                           = 0x7FFFFFFF
597 }
598 
599 enum VK_STRUCTURE_TYPE_APPLICATION_INFO                                                  = VkStructureType.VK_STRUCTURE_TYPE_APPLICATION_INFO;
600 enum VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO                                              = VkStructureType.VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
601 enum VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO                                          = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
602 enum VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO                                                = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
603 enum VK_STRUCTURE_TYPE_SUBMIT_INFO                                                       = VkStructureType.VK_STRUCTURE_TYPE_SUBMIT_INFO;
604 enum VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO                                              = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
605 enum VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE                                               = VkStructureType.VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
606 enum VK_STRUCTURE_TYPE_BIND_SPARSE_INFO                                                  = VkStructureType.VK_STRUCTURE_TYPE_BIND_SPARSE_INFO;
607 enum VK_STRUCTURE_TYPE_FENCE_CREATE_INFO                                                 = VkStructureType.VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
608 enum VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO                                             = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
609 enum VK_STRUCTURE_TYPE_EVENT_CREATE_INFO                                                 = VkStructureType.VK_STRUCTURE_TYPE_EVENT_CREATE_INFO;
610 enum VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO                                            = VkStructureType.VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO;
611 enum VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO                                                = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
612 enum VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO                                           = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
613 enum VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO                                                 = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
614 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO                                            = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
615 enum VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO                                         = VkStructureType.VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
616 enum VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO                                        = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
617 enum VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
618 enum VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO                           = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
619 enum VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO                         = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
620 enum VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO                           = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO;
621 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO                               = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
622 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO                          = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
623 enum VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
624 enum VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO                          = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
625 enum VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
626 enum VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO                                = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
627 enum VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO                                     = VkStructureType.VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
628 enum VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
629 enum VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
630 enum VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO                                               = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
631 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
632 enum VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
633 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
634 enum VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET                                              = VkStructureType.VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
635 enum VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET                                               = VkStructureType.VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET;
636 enum VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO                                           = VkStructureType.VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
637 enum VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO                                           = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
638 enum VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO                                          = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
639 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
640 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO                                   = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
641 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO                                         = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
642 enum VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO                                            = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
643 enum VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER                                             = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
644 enum VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER                                              = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
645 enum VK_STRUCTURE_TYPE_MEMORY_BARRIER                                                    = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_BARRIER;
646 enum VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO;
647 enum VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                                         = VkStructureType.VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO;
648 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
649 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO                                           = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO;
650 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO                                            = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO;
651 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES                            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
652 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS                                     = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
653 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO                                    = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
654 enum VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO                                        = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO;
655 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO                               = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO;
656 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO;
657 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO                                          = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO;
658 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO                                     = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO;
659 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO                              = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO;
660 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO                               = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO;
661 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES                                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
662 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO                                   = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO;
663 enum VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2                                 = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2;
664 enum VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2                                  = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2;
665 enum VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2                           = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
666 enum VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2                                             = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
667 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2                                = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
668 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2                                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
669 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2                                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
670 enum VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2                                               = VkStructureType.VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2;
671 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2                                         = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
672 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
673 enum VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2                                         = VkStructureType.VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2;
674 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
675 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2                                  = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2;
676 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
677 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES;
678 enum VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO                   = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO;
679 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO;
680 enum VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO             = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;
681 enum VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
682 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES                                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES;
683 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES                              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES;
684 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES;
685 enum VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO                                             = VkStructureType.VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO;
686 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES;
687 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES;
688 enum VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2                                               = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2;
689 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO                              = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
690 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO                                     = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO;
691 enum VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO;
692 enum VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO                              = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
693 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
694 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES                  = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
695 enum VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO                            = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO;
696 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
697 enum VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES                                  = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES;
698 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO                              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
699 enum VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES                                        = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES;
700 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES                                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES;
701 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO                                = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO;
702 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO                                 = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
703 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO                                       = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO;
704 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO                               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
705 enum VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES                                         = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES;
706 enum VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO                                          = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO;
707 enum VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO                                      = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO;
708 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
709 enum VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES                                     = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES;
710 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES;
711 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT                                     = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT;
712 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES;
713 enum VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
714 enum VK_STRUCTURE_TYPE_PRESENT_INFO_KHR                                                  = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;
715 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR;
716 enum VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR;
717 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR;
718 enum VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR                                       = VkStructureType.VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR;
719 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR;
720 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR;
721 enum VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR;
722 enum VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR;
723 enum VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR;
724 enum VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
725 enum VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR                                       = VkStructureType.VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
726 enum VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
727 enum VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
728 enum VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
729 enum VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT                             = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
730 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD              = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
731 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT                                 = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT;
732 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT                                  = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT;
733 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT                                      = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
734 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                         = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV;
735 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                        = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV;
736 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                      = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV;
737 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
738 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT;
739 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT;
740 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX                                        = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX;
741 enum VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD                          = VkStructureType.VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
742 enum VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP                         = VkStructureType.VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP;
743 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV;
744 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV                              = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
745 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV                                    = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV;
746 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV                                = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV;
747 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV                                = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV;
748 enum VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV                         = VkStructureType.VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV;
749 enum VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT                                              = VkStructureType.VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT;
750 enum VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN                                         = VkStructureType.VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN;
751 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT                                   = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT;
752 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT;
753 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
754 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
755 enum VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR;
756 enum VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR;
757 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR;
758 enum VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR;
759 enum VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR                                            = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR;
760 enum VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR;
761 enum VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
762 enum VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
763 enum VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR                                       = VkStructureType.VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR;
764 enum VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR;
765 enum VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR;
766 enum VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR;
767 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR;
768 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT         = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT;
769 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
770 enum VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT                              = VkStructureType.VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT;
771 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR;
772 enum VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR                                               = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR;
773 enum VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX                                      = VkStructureType.VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX;
774 enum VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX                          = VkStructureType.VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX;
775 enum VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX                                     = VkStructureType.VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX;
776 enum VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX                           = VkStructureType.VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX;
777 enum VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX                              = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX;
778 enum VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX                            = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX;
779 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV                  = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV;
780 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT                                        = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
781 enum VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT                                            = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT;
782 enum VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT                                             = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT;
783 enum VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT                                            = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT;
784 enum VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT                                 = VkStructureType.VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT;
785 enum VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE                                         = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE;
786 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX;
787 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV                    = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV;
788 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT;
789 enum VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT;
790 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT;
791 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT         = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT;
792 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT;
793 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT           = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT;
794 enum VK_STRUCTURE_TYPE_HDR_METADATA_EXT                                                  = VkStructureType.VK_STRUCTURE_TYPE_HDR_METADATA_EXT;
795 enum VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR;
796 enum VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR                                        = VkStructureType.VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR;
797 enum VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR;
798 enum VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR;
799 enum VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR;
800 enum VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR                                            = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR;
801 enum VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR                                              = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR;
802 enum VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR;
803 enum VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR;
804 enum VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR;
805 enum VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR;
806 enum VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR;
807 enum VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR                                             = VkStructureType.VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR;
808 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
809 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR                                        = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR;
810 enum VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR                                              = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR;
811 enum VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR;
812 enum VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR;
813 enum VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR;
814 enum VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR                                          = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR;
815 enum VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR;
816 enum VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK                                       = VkStructureType.VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK;
817 enum VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK                                     = VkStructureType.VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK;
818 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT                                  = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
819 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT                                   = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT;
820 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT                                             = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
821 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT                           = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
822 enum VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT                             = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
823 enum VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID                             = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID;
824 enum VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID                        = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID;
825 enum VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID                 = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID;
826 enum VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                       = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
827 enum VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                   = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
828 enum VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID                                           = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID;
829 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT;
830 enum VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT                            = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT;
831 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT;
832 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT;
833 enum VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT                     = VkStructureType.VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT;
834 enum VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT              = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT;
835 enum VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT                                         = VkStructureType.VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT;
836 enum VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT                       = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT;
837 enum VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT                   = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT;
838 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT;
839 enum VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT                                        = VkStructureType.VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT;
840 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR;
841 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT;
842 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT;
843 enum VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT;
844 enum VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV                   = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV;
845 enum VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV                 = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV;
846 enum VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT                           = VkStructureType.VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT;
847 enum VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                                = VkStructureType.VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT;
848 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT;
849 enum VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT                    = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT;
850 enum VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT                = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT;
851 enum VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                          = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT;
852 enum VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT                                  = VkStructureType.VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT;
853 enum VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT                    = VkStructureType.VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT;
854 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT               = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT;
855 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT;
856 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT;
857 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT        = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT;
858 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT       = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT;
859 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;
860 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV;
861 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV;
862 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;
863 enum VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV                               = VkStructureType.VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV;
864 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV                             = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV;
865 enum VK_STRUCTURE_TYPE_GEOMETRY_NV                                                       = VkStructureType.VK_STRUCTURE_TYPE_GEOMETRY_NV;
866 enum VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV                                             = VkStructureType.VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV;
867 enum VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV                                                  = VkStructureType.VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV;
868 enum VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV                        = VkStructureType.VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV;
869 enum VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV                    = VkStructureType.VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV;
870 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV                = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV;
871 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV;
872 enum VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV                           = VkStructureType.VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV;
873 enum VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV                                    = VkStructureType.VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV;
874 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV;
875 enum VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV        = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV;
876 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT;
877 enum VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT               = VkStructureType.VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT;
878 enum VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT                      = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT;
879 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR;
880 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT                               = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT;
881 enum VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT                                = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT;
882 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT;
883 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR;
884 enum VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT                                     = VkStructureType.VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT;
885 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD;
886 enum VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD                      = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD;
887 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT;
888 enum VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT;
889 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT;
890 enum VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP                                           = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP;
891 enum VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT                        = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT;
892 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR;
893 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR;
894 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR;
895 enum VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR;
896 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV;
897 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV;
898 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV                         = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV;
899 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV;
900 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV                = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV;
901 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV          = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV;
902 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV;
903 enum VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV                                                = VkStructureType.VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV;
904 enum VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV                             = VkStructureType.VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV;
905 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR;
906 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT;
907 enum VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD                       = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD;
908 enum VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD                      = VkStructureType.VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD;
909 enum VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA                             = VkStructureType.VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA;
910 enum VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT                                     = VkStructureType.VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT;
911 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
912 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT               = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
913 enum VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT;
914 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT;
915 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT;
916 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT;
917 enum VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT                                 = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT;
918 enum VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR;
919 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV;
920 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT;
921 enum VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT                                    = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT;
922 enum VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT                             = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT;
923 enum VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT                               = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT;
924 enum VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT                                           = VkStructureType.VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT;
925 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV;
926 enum VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV                                  = VkStructureType.VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV;
927 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV;
928 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT                   = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT;
929 enum VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT                            = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT;
930 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT                    = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT;
931 enum VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT                      = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT;
932 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT;
933 enum VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT                                      = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT;
934 enum VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR;
935 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR;
936 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR;
937 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR;
938 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR;
939 enum VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR                                           = VkStructureType.VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR;
940 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR;
941 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR;
942 enum VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR;
943 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR;
944 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR;
945 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR;
946 enum VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR;
947 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR;
948 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR;
949 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR;
950 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR;
951 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR;
952 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR;
953 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR;
954 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR                               = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR;
955 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR                    = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR;
956 enum VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR;
957 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR;
958 enum VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR                                    = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR;
959 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR;
960 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR;
961 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR;
962 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR                                   = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR;
963 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR                       = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR;
964 enum VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR;
965 enum VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR;
966 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR;
967 enum VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR                        = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR;
968 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT                                         = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT;
969 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR                           = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR;
970 enum VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR                                     = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR;
971 enum VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR                                      = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR;
972 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR;
973 enum VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR               = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR;
974 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR;
975 enum VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR         = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR;
976 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR                     = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR;
977 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR;
978 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR                                = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR;
979 enum VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR                             = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR;
980 enum VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR                              = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR;
981 enum VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR                       = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR;
982 enum VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR                                         = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR;
983 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR                            = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR;
984 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR;
985 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR;
986 enum VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR                                  = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR;
987 enum VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR                          = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR;
988 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR             = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR;
989 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR              = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR;
990 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR                                       = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR;
991 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR                                        = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR;
992 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR                      = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR;
993 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR                                 = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR;
994 enum VK_STRUCTURE_TYPE_BEGIN_RANGE                                                       = VkStructureType.VK_STRUCTURE_TYPE_BEGIN_RANGE;
995 enum VK_STRUCTURE_TYPE_END_RANGE                                                         = VkStructureType.VK_STRUCTURE_TYPE_END_RANGE;
996 enum VK_STRUCTURE_TYPE_RANGE_SIZE                                                        = VkStructureType.VK_STRUCTURE_TYPE_RANGE_SIZE;
997 enum VK_STRUCTURE_TYPE_MAX_ENUM                                                          = VkStructureType.VK_STRUCTURE_TYPE_MAX_ENUM;
998 
999 enum VkSystemAllocationScope {
1000     VK_SYSTEM_ALLOCATION_SCOPE_COMMAND           = 0,
1001     VK_SYSTEM_ALLOCATION_SCOPE_OBJECT            = 1,
1002     VK_SYSTEM_ALLOCATION_SCOPE_CACHE             = 2,
1003     VK_SYSTEM_ALLOCATION_SCOPE_DEVICE            = 3,
1004     VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE          = 4,
1005     VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE       = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
1006     VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE         = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE,
1007     VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE        = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1,
1008     VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM          = 0x7FFFFFFF
1009 }
1010 
1011 enum VK_SYSTEM_ALLOCATION_SCOPE_COMMAND          = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_COMMAND;
1012 enum VK_SYSTEM_ALLOCATION_SCOPE_OBJECT           = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_OBJECT;
1013 enum VK_SYSTEM_ALLOCATION_SCOPE_CACHE            = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_CACHE;
1014 enum VK_SYSTEM_ALLOCATION_SCOPE_DEVICE           = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_DEVICE;
1015 enum VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE         = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE;
1016 enum VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE      = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE;
1017 enum VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE        = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE;
1018 enum VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE       = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE;
1019 enum VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM         = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM;
1020 
1021 enum VkInternalAllocationType {
1022     VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE       = 0,
1023     VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE      = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
1024     VK_INTERNAL_ALLOCATION_TYPE_END_RANGE        = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
1025     VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE       = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1,
1026     VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM         = 0x7FFFFFFF
1027 }
1028 
1029 enum VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE      = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE;
1030 enum VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE     = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE;
1031 enum VK_INTERNAL_ALLOCATION_TYPE_END_RANGE       = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_END_RANGE;
1032 enum VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE      = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE;
1033 enum VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM        = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM;
1034 
1035 enum VkFormat {
1036     VK_FORMAT_UNDEFINED                                          = 0,
1037     VK_FORMAT_R4G4_UNORM_PACK8                                   = 1,
1038     VK_FORMAT_R4G4B4A4_UNORM_PACK16                              = 2,
1039     VK_FORMAT_B4G4R4A4_UNORM_PACK16                              = 3,
1040     VK_FORMAT_R5G6B5_UNORM_PACK16                                = 4,
1041     VK_FORMAT_B5G6R5_UNORM_PACK16                                = 5,
1042     VK_FORMAT_R5G5B5A1_UNORM_PACK16                              = 6,
1043     VK_FORMAT_B5G5R5A1_UNORM_PACK16                              = 7,
1044     VK_FORMAT_A1R5G5B5_UNORM_PACK16                              = 8,
1045     VK_FORMAT_R8_UNORM                                           = 9,
1046     VK_FORMAT_R8_SNORM                                           = 10,
1047     VK_FORMAT_R8_USCALED                                         = 11,
1048     VK_FORMAT_R8_SSCALED                                         = 12,
1049     VK_FORMAT_R8_UINT                                            = 13,
1050     VK_FORMAT_R8_SINT                                            = 14,
1051     VK_FORMAT_R8_SRGB                                            = 15,
1052     VK_FORMAT_R8G8_UNORM                                         = 16,
1053     VK_FORMAT_R8G8_SNORM                                         = 17,
1054     VK_FORMAT_R8G8_USCALED                                       = 18,
1055     VK_FORMAT_R8G8_SSCALED                                       = 19,
1056     VK_FORMAT_R8G8_UINT                                          = 20,
1057     VK_FORMAT_R8G8_SINT                                          = 21,
1058     VK_FORMAT_R8G8_SRGB                                          = 22,
1059     VK_FORMAT_R8G8B8_UNORM                                       = 23,
1060     VK_FORMAT_R8G8B8_SNORM                                       = 24,
1061     VK_FORMAT_R8G8B8_USCALED                                     = 25,
1062     VK_FORMAT_R8G8B8_SSCALED                                     = 26,
1063     VK_FORMAT_R8G8B8_UINT                                        = 27,
1064     VK_FORMAT_R8G8B8_SINT                                        = 28,
1065     VK_FORMAT_R8G8B8_SRGB                                        = 29,
1066     VK_FORMAT_B8G8R8_UNORM                                       = 30,
1067     VK_FORMAT_B8G8R8_SNORM                                       = 31,
1068     VK_FORMAT_B8G8R8_USCALED                                     = 32,
1069     VK_FORMAT_B8G8R8_SSCALED                                     = 33,
1070     VK_FORMAT_B8G8R8_UINT                                        = 34,
1071     VK_FORMAT_B8G8R8_SINT                                        = 35,
1072     VK_FORMAT_B8G8R8_SRGB                                        = 36,
1073     VK_FORMAT_R8G8B8A8_UNORM                                     = 37,
1074     VK_FORMAT_R8G8B8A8_SNORM                                     = 38,
1075     VK_FORMAT_R8G8B8A8_USCALED                                   = 39,
1076     VK_FORMAT_R8G8B8A8_SSCALED                                   = 40,
1077     VK_FORMAT_R8G8B8A8_UINT                                      = 41,
1078     VK_FORMAT_R8G8B8A8_SINT                                      = 42,
1079     VK_FORMAT_R8G8B8A8_SRGB                                      = 43,
1080     VK_FORMAT_B8G8R8A8_UNORM                                     = 44,
1081     VK_FORMAT_B8G8R8A8_SNORM                                     = 45,
1082     VK_FORMAT_B8G8R8A8_USCALED                                   = 46,
1083     VK_FORMAT_B8G8R8A8_SSCALED                                   = 47,
1084     VK_FORMAT_B8G8R8A8_UINT                                      = 48,
1085     VK_FORMAT_B8G8R8A8_SINT                                      = 49,
1086     VK_FORMAT_B8G8R8A8_SRGB                                      = 50,
1087     VK_FORMAT_A8B8G8R8_UNORM_PACK32                              = 51,
1088     VK_FORMAT_A8B8G8R8_SNORM_PACK32                              = 52,
1089     VK_FORMAT_A8B8G8R8_USCALED_PACK32                            = 53,
1090     VK_FORMAT_A8B8G8R8_SSCALED_PACK32                            = 54,
1091     VK_FORMAT_A8B8G8R8_UINT_PACK32                               = 55,
1092     VK_FORMAT_A8B8G8R8_SINT_PACK32                               = 56,
1093     VK_FORMAT_A8B8G8R8_SRGB_PACK32                               = 57,
1094     VK_FORMAT_A2R10G10B10_UNORM_PACK32                           = 58,
1095     VK_FORMAT_A2R10G10B10_SNORM_PACK32                           = 59,
1096     VK_FORMAT_A2R10G10B10_USCALED_PACK32                         = 60,
1097     VK_FORMAT_A2R10G10B10_SSCALED_PACK32                         = 61,
1098     VK_FORMAT_A2R10G10B10_UINT_PACK32                            = 62,
1099     VK_FORMAT_A2R10G10B10_SINT_PACK32                            = 63,
1100     VK_FORMAT_A2B10G10R10_UNORM_PACK32                           = 64,
1101     VK_FORMAT_A2B10G10R10_SNORM_PACK32                           = 65,
1102     VK_FORMAT_A2B10G10R10_USCALED_PACK32                         = 66,
1103     VK_FORMAT_A2B10G10R10_SSCALED_PACK32                         = 67,
1104     VK_FORMAT_A2B10G10R10_UINT_PACK32                            = 68,
1105     VK_FORMAT_A2B10G10R10_SINT_PACK32                            = 69,
1106     VK_FORMAT_R16_UNORM                                          = 70,
1107     VK_FORMAT_R16_SNORM                                          = 71,
1108     VK_FORMAT_R16_USCALED                                        = 72,
1109     VK_FORMAT_R16_SSCALED                                        = 73,
1110     VK_FORMAT_R16_UINT                                           = 74,
1111     VK_FORMAT_R16_SINT                                           = 75,
1112     VK_FORMAT_R16_SFLOAT                                         = 76,
1113     VK_FORMAT_R16G16_UNORM                                       = 77,
1114     VK_FORMAT_R16G16_SNORM                                       = 78,
1115     VK_FORMAT_R16G16_USCALED                                     = 79,
1116     VK_FORMAT_R16G16_SSCALED                                     = 80,
1117     VK_FORMAT_R16G16_UINT                                        = 81,
1118     VK_FORMAT_R16G16_SINT                                        = 82,
1119     VK_FORMAT_R16G16_SFLOAT                                      = 83,
1120     VK_FORMAT_R16G16B16_UNORM                                    = 84,
1121     VK_FORMAT_R16G16B16_SNORM                                    = 85,
1122     VK_FORMAT_R16G16B16_USCALED                                  = 86,
1123     VK_FORMAT_R16G16B16_SSCALED                                  = 87,
1124     VK_FORMAT_R16G16B16_UINT                                     = 88,
1125     VK_FORMAT_R16G16B16_SINT                                     = 89,
1126     VK_FORMAT_R16G16B16_SFLOAT                                   = 90,
1127     VK_FORMAT_R16G16B16A16_UNORM                                 = 91,
1128     VK_FORMAT_R16G16B16A16_SNORM                                 = 92,
1129     VK_FORMAT_R16G16B16A16_USCALED                               = 93,
1130     VK_FORMAT_R16G16B16A16_SSCALED                               = 94,
1131     VK_FORMAT_R16G16B16A16_UINT                                  = 95,
1132     VK_FORMAT_R16G16B16A16_SINT                                  = 96,
1133     VK_FORMAT_R16G16B16A16_SFLOAT                                = 97,
1134     VK_FORMAT_R32_UINT                                           = 98,
1135     VK_FORMAT_R32_SINT                                           = 99,
1136     VK_FORMAT_R32_SFLOAT                                         = 100,
1137     VK_FORMAT_R32G32_UINT                                        = 101,
1138     VK_FORMAT_R32G32_SINT                                        = 102,
1139     VK_FORMAT_R32G32_SFLOAT                                      = 103,
1140     VK_FORMAT_R32G32B32_UINT                                     = 104,
1141     VK_FORMAT_R32G32B32_SINT                                     = 105,
1142     VK_FORMAT_R32G32B32_SFLOAT                                   = 106,
1143     VK_FORMAT_R32G32B32A32_UINT                                  = 107,
1144     VK_FORMAT_R32G32B32A32_SINT                                  = 108,
1145     VK_FORMAT_R32G32B32A32_SFLOAT                                = 109,
1146     VK_FORMAT_R64_UINT                                           = 110,
1147     VK_FORMAT_R64_SINT                                           = 111,
1148     VK_FORMAT_R64_SFLOAT                                         = 112,
1149     VK_FORMAT_R64G64_UINT                                        = 113,
1150     VK_FORMAT_R64G64_SINT                                        = 114,
1151     VK_FORMAT_R64G64_SFLOAT                                      = 115,
1152     VK_FORMAT_R64G64B64_UINT                                     = 116,
1153     VK_FORMAT_R64G64B64_SINT                                     = 117,
1154     VK_FORMAT_R64G64B64_SFLOAT                                   = 118,
1155     VK_FORMAT_R64G64B64A64_UINT                                  = 119,
1156     VK_FORMAT_R64G64B64A64_SINT                                  = 120,
1157     VK_FORMAT_R64G64B64A64_SFLOAT                                = 121,
1158     VK_FORMAT_B10G11R11_UFLOAT_PACK32                            = 122,
1159     VK_FORMAT_E5B9G9R9_UFLOAT_PACK32                             = 123,
1160     VK_FORMAT_D16_UNORM                                          = 124,
1161     VK_FORMAT_X8_D24_UNORM_PACK32                                = 125,
1162     VK_FORMAT_D32_SFLOAT                                         = 126,
1163     VK_FORMAT_S8_UINT                                            = 127,
1164     VK_FORMAT_D16_UNORM_S8_UINT                                  = 128,
1165     VK_FORMAT_D24_UNORM_S8_UINT                                  = 129,
1166     VK_FORMAT_D32_SFLOAT_S8_UINT                                 = 130,
1167     VK_FORMAT_BC1_RGB_UNORM_BLOCK                                = 131,
1168     VK_FORMAT_BC1_RGB_SRGB_BLOCK                                 = 132,
1169     VK_FORMAT_BC1_RGBA_UNORM_BLOCK                               = 133,
1170     VK_FORMAT_BC1_RGBA_SRGB_BLOCK                                = 134,
1171     VK_FORMAT_BC2_UNORM_BLOCK                                    = 135,
1172     VK_FORMAT_BC2_SRGB_BLOCK                                     = 136,
1173     VK_FORMAT_BC3_UNORM_BLOCK                                    = 137,
1174     VK_FORMAT_BC3_SRGB_BLOCK                                     = 138,
1175     VK_FORMAT_BC4_UNORM_BLOCK                                    = 139,
1176     VK_FORMAT_BC4_SNORM_BLOCK                                    = 140,
1177     VK_FORMAT_BC5_UNORM_BLOCK                                    = 141,
1178     VK_FORMAT_BC5_SNORM_BLOCK                                    = 142,
1179     VK_FORMAT_BC6H_UFLOAT_BLOCK                                  = 143,
1180     VK_FORMAT_BC6H_SFLOAT_BLOCK                                  = 144,
1181     VK_FORMAT_BC7_UNORM_BLOCK                                    = 145,
1182     VK_FORMAT_BC7_SRGB_BLOCK                                     = 146,
1183     VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK                            = 147,
1184     VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK                             = 148,
1185     VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK                          = 149,
1186     VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK                           = 150,
1187     VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK                          = 151,
1188     VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK                           = 152,
1189     VK_FORMAT_EAC_R11_UNORM_BLOCK                                = 153,
1190     VK_FORMAT_EAC_R11_SNORM_BLOCK                                = 154,
1191     VK_FORMAT_EAC_R11G11_UNORM_BLOCK                             = 155,
1192     VK_FORMAT_EAC_R11G11_SNORM_BLOCK                             = 156,
1193     VK_FORMAT_ASTC_4x4_UNORM_BLOCK                               = 157,
1194     VK_FORMAT_ASTC_4x4_SRGB_BLOCK                                = 158,
1195     VK_FORMAT_ASTC_5x4_UNORM_BLOCK                               = 159,
1196     VK_FORMAT_ASTC_5x4_SRGB_BLOCK                                = 160,
1197     VK_FORMAT_ASTC_5x5_UNORM_BLOCK                               = 161,
1198     VK_FORMAT_ASTC_5x5_SRGB_BLOCK                                = 162,
1199     VK_FORMAT_ASTC_6x5_UNORM_BLOCK                               = 163,
1200     VK_FORMAT_ASTC_6x5_SRGB_BLOCK                                = 164,
1201     VK_FORMAT_ASTC_6x6_UNORM_BLOCK                               = 165,
1202     VK_FORMAT_ASTC_6x6_SRGB_BLOCK                                = 166,
1203     VK_FORMAT_ASTC_8x5_UNORM_BLOCK                               = 167,
1204     VK_FORMAT_ASTC_8x5_SRGB_BLOCK                                = 168,
1205     VK_FORMAT_ASTC_8x6_UNORM_BLOCK                               = 169,
1206     VK_FORMAT_ASTC_8x6_SRGB_BLOCK                                = 170,
1207     VK_FORMAT_ASTC_8x8_UNORM_BLOCK                               = 171,
1208     VK_FORMAT_ASTC_8x8_SRGB_BLOCK                                = 172,
1209     VK_FORMAT_ASTC_10x5_UNORM_BLOCK                              = 173,
1210     VK_FORMAT_ASTC_10x5_SRGB_BLOCK                               = 174,
1211     VK_FORMAT_ASTC_10x6_UNORM_BLOCK                              = 175,
1212     VK_FORMAT_ASTC_10x6_SRGB_BLOCK                               = 176,
1213     VK_FORMAT_ASTC_10x8_UNORM_BLOCK                              = 177,
1214     VK_FORMAT_ASTC_10x8_SRGB_BLOCK                               = 178,
1215     VK_FORMAT_ASTC_10x10_UNORM_BLOCK                             = 179,
1216     VK_FORMAT_ASTC_10x10_SRGB_BLOCK                              = 180,
1217     VK_FORMAT_ASTC_12x10_UNORM_BLOCK                             = 181,
1218     VK_FORMAT_ASTC_12x10_SRGB_BLOCK                              = 182,
1219     VK_FORMAT_ASTC_12x12_UNORM_BLOCK                             = 183,
1220     VK_FORMAT_ASTC_12x12_SRGB_BLOCK                              = 184,
1221     VK_FORMAT_G8B8G8R8_422_UNORM                                 = 1000156000,
1222     VK_FORMAT_B8G8R8G8_422_UNORM                                 = 1000156001,
1223     VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM                          = 1000156002,
1224     VK_FORMAT_G8_B8R8_2PLANE_420_UNORM                           = 1000156003,
1225     VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM                          = 1000156004,
1226     VK_FORMAT_G8_B8R8_2PLANE_422_UNORM                           = 1000156005,
1227     VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM                          = 1000156006,
1228     VK_FORMAT_R10X6_UNORM_PACK16                                 = 1000156007,
1229     VK_FORMAT_R10X6G10X6_UNORM_2PACK16                           = 1000156008,
1230     VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16                 = 1000156009,
1231     VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16             = 1000156010,
1232     VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16             = 1000156011,
1233     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16         = 1000156012,
1234     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16          = 1000156013,
1235     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16         = 1000156014,
1236     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16          = 1000156015,
1237     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16         = 1000156016,
1238     VK_FORMAT_R12X4_UNORM_PACK16                                 = 1000156017,
1239     VK_FORMAT_R12X4G12X4_UNORM_2PACK16                           = 1000156018,
1240     VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16                 = 1000156019,
1241     VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16             = 1000156020,
1242     VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16             = 1000156021,
1243     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16         = 1000156022,
1244     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16          = 1000156023,
1245     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16         = 1000156024,
1246     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16          = 1000156025,
1247     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16         = 1000156026,
1248     VK_FORMAT_G16B16G16R16_422_UNORM                             = 1000156027,
1249     VK_FORMAT_B16G16R16G16_422_UNORM                             = 1000156028,
1250     VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM                       = 1000156029,
1251     VK_FORMAT_G16_B16R16_2PLANE_420_UNORM                        = 1000156030,
1252     VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM                       = 1000156031,
1253     VK_FORMAT_G16_B16R16_2PLANE_422_UNORM                        = 1000156032,
1254     VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM                       = 1000156033,
1255     VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG                        = 1000054000,
1256     VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG                        = 1000054001,
1257     VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG                        = 1000054002,
1258     VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG                        = 1000054003,
1259     VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG                         = 1000054004,
1260     VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG                         = 1000054005,
1261     VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG                         = 1000054006,
1262     VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG                         = 1000054007,
1263     VK_FORMAT_G8B8G8R8_422_UNORM_KHR                             = VK_FORMAT_G8B8G8R8_422_UNORM,
1264     VK_FORMAT_B8G8R8G8_422_UNORM_KHR                             = VK_FORMAT_B8G8R8G8_422_UNORM,
1265     VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR                      = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1266     VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR                       = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1267     VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR                      = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1268     VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR                       = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1269     VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR                      = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1270     VK_FORMAT_R10X6_UNORM_PACK16_KHR                             = VK_FORMAT_R10X6_UNORM_PACK16,
1271     VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR                       = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1272     VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR             = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1273     VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR         = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1274     VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR         = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1275     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR     = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1276     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR      = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1277     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR     = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1278     VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR      = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1279     VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR     = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1280     VK_FORMAT_R12X4_UNORM_PACK16_KHR                             = VK_FORMAT_R12X4_UNORM_PACK16,
1281     VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR                       = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1282     VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR             = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1283     VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR         = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1284     VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR         = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1285     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR     = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1286     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR      = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1287     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR     = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1288     VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR      = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1289     VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR     = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1290     VK_FORMAT_G16B16G16R16_422_UNORM_KHR                         = VK_FORMAT_G16B16G16R16_422_UNORM,
1291     VK_FORMAT_B16G16R16G16_422_UNORM_KHR                         = VK_FORMAT_B16G16R16G16_422_UNORM,
1292     VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR                   = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1293     VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR                    = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1294     VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR                   = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1295     VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR                    = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1296     VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR                   = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1297     VK_FORMAT_BEGIN_RANGE                                        = VK_FORMAT_UNDEFINED,
1298     VK_FORMAT_END_RANGE                                          = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
1299     VK_FORMAT_RANGE_SIZE                                         = VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1,
1300     VK_FORMAT_MAX_ENUM                                           = 0x7FFFFFFF
1301 }
1302 
1303 enum VK_FORMAT_UNDEFINED                                         = VkFormat.VK_FORMAT_UNDEFINED;
1304 enum VK_FORMAT_R4G4_UNORM_PACK8                                  = VkFormat.VK_FORMAT_R4G4_UNORM_PACK8;
1305 enum VK_FORMAT_R4G4B4A4_UNORM_PACK16                             = VkFormat.VK_FORMAT_R4G4B4A4_UNORM_PACK16;
1306 enum VK_FORMAT_B4G4R4A4_UNORM_PACK16                             = VkFormat.VK_FORMAT_B4G4R4A4_UNORM_PACK16;
1307 enum VK_FORMAT_R5G6B5_UNORM_PACK16                               = VkFormat.VK_FORMAT_R5G6B5_UNORM_PACK16;
1308 enum VK_FORMAT_B5G6R5_UNORM_PACK16                               = VkFormat.VK_FORMAT_B5G6R5_UNORM_PACK16;
1309 enum VK_FORMAT_R5G5B5A1_UNORM_PACK16                             = VkFormat.VK_FORMAT_R5G5B5A1_UNORM_PACK16;
1310 enum VK_FORMAT_B5G5R5A1_UNORM_PACK16                             = VkFormat.VK_FORMAT_B5G5R5A1_UNORM_PACK16;
1311 enum VK_FORMAT_A1R5G5B5_UNORM_PACK16                             = VkFormat.VK_FORMAT_A1R5G5B5_UNORM_PACK16;
1312 enum VK_FORMAT_R8_UNORM                                          = VkFormat.VK_FORMAT_R8_UNORM;
1313 enum VK_FORMAT_R8_SNORM                                          = VkFormat.VK_FORMAT_R8_SNORM;
1314 enum VK_FORMAT_R8_USCALED                                        = VkFormat.VK_FORMAT_R8_USCALED;
1315 enum VK_FORMAT_R8_SSCALED                                        = VkFormat.VK_FORMAT_R8_SSCALED;
1316 enum VK_FORMAT_R8_UINT                                           = VkFormat.VK_FORMAT_R8_UINT;
1317 enum VK_FORMAT_R8_SINT                                           = VkFormat.VK_FORMAT_R8_SINT;
1318 enum VK_FORMAT_R8_SRGB                                           = VkFormat.VK_FORMAT_R8_SRGB;
1319 enum VK_FORMAT_R8G8_UNORM                                        = VkFormat.VK_FORMAT_R8G8_UNORM;
1320 enum VK_FORMAT_R8G8_SNORM                                        = VkFormat.VK_FORMAT_R8G8_SNORM;
1321 enum VK_FORMAT_R8G8_USCALED                                      = VkFormat.VK_FORMAT_R8G8_USCALED;
1322 enum VK_FORMAT_R8G8_SSCALED                                      = VkFormat.VK_FORMAT_R8G8_SSCALED;
1323 enum VK_FORMAT_R8G8_UINT                                         = VkFormat.VK_FORMAT_R8G8_UINT;
1324 enum VK_FORMAT_R8G8_SINT                                         = VkFormat.VK_FORMAT_R8G8_SINT;
1325 enum VK_FORMAT_R8G8_SRGB                                         = VkFormat.VK_FORMAT_R8G8_SRGB;
1326 enum VK_FORMAT_R8G8B8_UNORM                                      = VkFormat.VK_FORMAT_R8G8B8_UNORM;
1327 enum VK_FORMAT_R8G8B8_SNORM                                      = VkFormat.VK_FORMAT_R8G8B8_SNORM;
1328 enum VK_FORMAT_R8G8B8_USCALED                                    = VkFormat.VK_FORMAT_R8G8B8_USCALED;
1329 enum VK_FORMAT_R8G8B8_SSCALED                                    = VkFormat.VK_FORMAT_R8G8B8_SSCALED;
1330 enum VK_FORMAT_R8G8B8_UINT                                       = VkFormat.VK_FORMAT_R8G8B8_UINT;
1331 enum VK_FORMAT_R8G8B8_SINT                                       = VkFormat.VK_FORMAT_R8G8B8_SINT;
1332 enum VK_FORMAT_R8G8B8_SRGB                                       = VkFormat.VK_FORMAT_R8G8B8_SRGB;
1333 enum VK_FORMAT_B8G8R8_UNORM                                      = VkFormat.VK_FORMAT_B8G8R8_UNORM;
1334 enum VK_FORMAT_B8G8R8_SNORM                                      = VkFormat.VK_FORMAT_B8G8R8_SNORM;
1335 enum VK_FORMAT_B8G8R8_USCALED                                    = VkFormat.VK_FORMAT_B8G8R8_USCALED;
1336 enum VK_FORMAT_B8G8R8_SSCALED                                    = VkFormat.VK_FORMAT_B8G8R8_SSCALED;
1337 enum VK_FORMAT_B8G8R8_UINT                                       = VkFormat.VK_FORMAT_B8G8R8_UINT;
1338 enum VK_FORMAT_B8G8R8_SINT                                       = VkFormat.VK_FORMAT_B8G8R8_SINT;
1339 enum VK_FORMAT_B8G8R8_SRGB                                       = VkFormat.VK_FORMAT_B8G8R8_SRGB;
1340 enum VK_FORMAT_R8G8B8A8_UNORM                                    = VkFormat.VK_FORMAT_R8G8B8A8_UNORM;
1341 enum VK_FORMAT_R8G8B8A8_SNORM                                    = VkFormat.VK_FORMAT_R8G8B8A8_SNORM;
1342 enum VK_FORMAT_R8G8B8A8_USCALED                                  = VkFormat.VK_FORMAT_R8G8B8A8_USCALED;
1343 enum VK_FORMAT_R8G8B8A8_SSCALED                                  = VkFormat.VK_FORMAT_R8G8B8A8_SSCALED;
1344 enum VK_FORMAT_R8G8B8A8_UINT                                     = VkFormat.VK_FORMAT_R8G8B8A8_UINT;
1345 enum VK_FORMAT_R8G8B8A8_SINT                                     = VkFormat.VK_FORMAT_R8G8B8A8_SINT;
1346 enum VK_FORMAT_R8G8B8A8_SRGB                                     = VkFormat.VK_FORMAT_R8G8B8A8_SRGB;
1347 enum VK_FORMAT_B8G8R8A8_UNORM                                    = VkFormat.VK_FORMAT_B8G8R8A8_UNORM;
1348 enum VK_FORMAT_B8G8R8A8_SNORM                                    = VkFormat.VK_FORMAT_B8G8R8A8_SNORM;
1349 enum VK_FORMAT_B8G8R8A8_USCALED                                  = VkFormat.VK_FORMAT_B8G8R8A8_USCALED;
1350 enum VK_FORMAT_B8G8R8A8_SSCALED                                  = VkFormat.VK_FORMAT_B8G8R8A8_SSCALED;
1351 enum VK_FORMAT_B8G8R8A8_UINT                                     = VkFormat.VK_FORMAT_B8G8R8A8_UINT;
1352 enum VK_FORMAT_B8G8R8A8_SINT                                     = VkFormat.VK_FORMAT_B8G8R8A8_SINT;
1353 enum VK_FORMAT_B8G8R8A8_SRGB                                     = VkFormat.VK_FORMAT_B8G8R8A8_SRGB;
1354 enum VK_FORMAT_A8B8G8R8_UNORM_PACK32                             = VkFormat.VK_FORMAT_A8B8G8R8_UNORM_PACK32;
1355 enum VK_FORMAT_A8B8G8R8_SNORM_PACK32                             = VkFormat.VK_FORMAT_A8B8G8R8_SNORM_PACK32;
1356 enum VK_FORMAT_A8B8G8R8_USCALED_PACK32                           = VkFormat.VK_FORMAT_A8B8G8R8_USCALED_PACK32;
1357 enum VK_FORMAT_A8B8G8R8_SSCALED_PACK32                           = VkFormat.VK_FORMAT_A8B8G8R8_SSCALED_PACK32;
1358 enum VK_FORMAT_A8B8G8R8_UINT_PACK32                              = VkFormat.VK_FORMAT_A8B8G8R8_UINT_PACK32;
1359 enum VK_FORMAT_A8B8G8R8_SINT_PACK32                              = VkFormat.VK_FORMAT_A8B8G8R8_SINT_PACK32;
1360 enum VK_FORMAT_A8B8G8R8_SRGB_PACK32                              = VkFormat.VK_FORMAT_A8B8G8R8_SRGB_PACK32;
1361 enum VK_FORMAT_A2R10G10B10_UNORM_PACK32                          = VkFormat.VK_FORMAT_A2R10G10B10_UNORM_PACK32;
1362 enum VK_FORMAT_A2R10G10B10_SNORM_PACK32                          = VkFormat.VK_FORMAT_A2R10G10B10_SNORM_PACK32;
1363 enum VK_FORMAT_A2R10G10B10_USCALED_PACK32                        = VkFormat.VK_FORMAT_A2R10G10B10_USCALED_PACK32;
1364 enum VK_FORMAT_A2R10G10B10_SSCALED_PACK32                        = VkFormat.VK_FORMAT_A2R10G10B10_SSCALED_PACK32;
1365 enum VK_FORMAT_A2R10G10B10_UINT_PACK32                           = VkFormat.VK_FORMAT_A2R10G10B10_UINT_PACK32;
1366 enum VK_FORMAT_A2R10G10B10_SINT_PACK32                           = VkFormat.VK_FORMAT_A2R10G10B10_SINT_PACK32;
1367 enum VK_FORMAT_A2B10G10R10_UNORM_PACK32                          = VkFormat.VK_FORMAT_A2B10G10R10_UNORM_PACK32;
1368 enum VK_FORMAT_A2B10G10R10_SNORM_PACK32                          = VkFormat.VK_FORMAT_A2B10G10R10_SNORM_PACK32;
1369 enum VK_FORMAT_A2B10G10R10_USCALED_PACK32                        = VkFormat.VK_FORMAT_A2B10G10R10_USCALED_PACK32;
1370 enum VK_FORMAT_A2B10G10R10_SSCALED_PACK32                        = VkFormat.VK_FORMAT_A2B10G10R10_SSCALED_PACK32;
1371 enum VK_FORMAT_A2B10G10R10_UINT_PACK32                           = VkFormat.VK_FORMAT_A2B10G10R10_UINT_PACK32;
1372 enum VK_FORMAT_A2B10G10R10_SINT_PACK32                           = VkFormat.VK_FORMAT_A2B10G10R10_SINT_PACK32;
1373 enum VK_FORMAT_R16_UNORM                                         = VkFormat.VK_FORMAT_R16_UNORM;
1374 enum VK_FORMAT_R16_SNORM                                         = VkFormat.VK_FORMAT_R16_SNORM;
1375 enum VK_FORMAT_R16_USCALED                                       = VkFormat.VK_FORMAT_R16_USCALED;
1376 enum VK_FORMAT_R16_SSCALED                                       = VkFormat.VK_FORMAT_R16_SSCALED;
1377 enum VK_FORMAT_R16_UINT                                          = VkFormat.VK_FORMAT_R16_UINT;
1378 enum VK_FORMAT_R16_SINT                                          = VkFormat.VK_FORMAT_R16_SINT;
1379 enum VK_FORMAT_R16_SFLOAT                                        = VkFormat.VK_FORMAT_R16_SFLOAT;
1380 enum VK_FORMAT_R16G16_UNORM                                      = VkFormat.VK_FORMAT_R16G16_UNORM;
1381 enum VK_FORMAT_R16G16_SNORM                                      = VkFormat.VK_FORMAT_R16G16_SNORM;
1382 enum VK_FORMAT_R16G16_USCALED                                    = VkFormat.VK_FORMAT_R16G16_USCALED;
1383 enum VK_FORMAT_R16G16_SSCALED                                    = VkFormat.VK_FORMAT_R16G16_SSCALED;
1384 enum VK_FORMAT_R16G16_UINT                                       = VkFormat.VK_FORMAT_R16G16_UINT;
1385 enum VK_FORMAT_R16G16_SINT                                       = VkFormat.VK_FORMAT_R16G16_SINT;
1386 enum VK_FORMAT_R16G16_SFLOAT                                     = VkFormat.VK_FORMAT_R16G16_SFLOAT;
1387 enum VK_FORMAT_R16G16B16_UNORM                                   = VkFormat.VK_FORMAT_R16G16B16_UNORM;
1388 enum VK_FORMAT_R16G16B16_SNORM                                   = VkFormat.VK_FORMAT_R16G16B16_SNORM;
1389 enum VK_FORMAT_R16G16B16_USCALED                                 = VkFormat.VK_FORMAT_R16G16B16_USCALED;
1390 enum VK_FORMAT_R16G16B16_SSCALED                                 = VkFormat.VK_FORMAT_R16G16B16_SSCALED;
1391 enum VK_FORMAT_R16G16B16_UINT                                    = VkFormat.VK_FORMAT_R16G16B16_UINT;
1392 enum VK_FORMAT_R16G16B16_SINT                                    = VkFormat.VK_FORMAT_R16G16B16_SINT;
1393 enum VK_FORMAT_R16G16B16_SFLOAT                                  = VkFormat.VK_FORMAT_R16G16B16_SFLOAT;
1394 enum VK_FORMAT_R16G16B16A16_UNORM                                = VkFormat.VK_FORMAT_R16G16B16A16_UNORM;
1395 enum VK_FORMAT_R16G16B16A16_SNORM                                = VkFormat.VK_FORMAT_R16G16B16A16_SNORM;
1396 enum VK_FORMAT_R16G16B16A16_USCALED                              = VkFormat.VK_FORMAT_R16G16B16A16_USCALED;
1397 enum VK_FORMAT_R16G16B16A16_SSCALED                              = VkFormat.VK_FORMAT_R16G16B16A16_SSCALED;
1398 enum VK_FORMAT_R16G16B16A16_UINT                                 = VkFormat.VK_FORMAT_R16G16B16A16_UINT;
1399 enum VK_FORMAT_R16G16B16A16_SINT                                 = VkFormat.VK_FORMAT_R16G16B16A16_SINT;
1400 enum VK_FORMAT_R16G16B16A16_SFLOAT                               = VkFormat.VK_FORMAT_R16G16B16A16_SFLOAT;
1401 enum VK_FORMAT_R32_UINT                                          = VkFormat.VK_FORMAT_R32_UINT;
1402 enum VK_FORMAT_R32_SINT                                          = VkFormat.VK_FORMAT_R32_SINT;
1403 enum VK_FORMAT_R32_SFLOAT                                        = VkFormat.VK_FORMAT_R32_SFLOAT;
1404 enum VK_FORMAT_R32G32_UINT                                       = VkFormat.VK_FORMAT_R32G32_UINT;
1405 enum VK_FORMAT_R32G32_SINT                                       = VkFormat.VK_FORMAT_R32G32_SINT;
1406 enum VK_FORMAT_R32G32_SFLOAT                                     = VkFormat.VK_FORMAT_R32G32_SFLOAT;
1407 enum VK_FORMAT_R32G32B32_UINT                                    = VkFormat.VK_FORMAT_R32G32B32_UINT;
1408 enum VK_FORMAT_R32G32B32_SINT                                    = VkFormat.VK_FORMAT_R32G32B32_SINT;
1409 enum VK_FORMAT_R32G32B32_SFLOAT                                  = VkFormat.VK_FORMAT_R32G32B32_SFLOAT;
1410 enum VK_FORMAT_R32G32B32A32_UINT                                 = VkFormat.VK_FORMAT_R32G32B32A32_UINT;
1411 enum VK_FORMAT_R32G32B32A32_SINT                                 = VkFormat.VK_FORMAT_R32G32B32A32_SINT;
1412 enum VK_FORMAT_R32G32B32A32_SFLOAT                               = VkFormat.VK_FORMAT_R32G32B32A32_SFLOAT;
1413 enum VK_FORMAT_R64_UINT                                          = VkFormat.VK_FORMAT_R64_UINT;
1414 enum VK_FORMAT_R64_SINT                                          = VkFormat.VK_FORMAT_R64_SINT;
1415 enum VK_FORMAT_R64_SFLOAT                                        = VkFormat.VK_FORMAT_R64_SFLOAT;
1416 enum VK_FORMAT_R64G64_UINT                                       = VkFormat.VK_FORMAT_R64G64_UINT;
1417 enum VK_FORMAT_R64G64_SINT                                       = VkFormat.VK_FORMAT_R64G64_SINT;
1418 enum VK_FORMAT_R64G64_SFLOAT                                     = VkFormat.VK_FORMAT_R64G64_SFLOAT;
1419 enum VK_FORMAT_R64G64B64_UINT                                    = VkFormat.VK_FORMAT_R64G64B64_UINT;
1420 enum VK_FORMAT_R64G64B64_SINT                                    = VkFormat.VK_FORMAT_R64G64B64_SINT;
1421 enum VK_FORMAT_R64G64B64_SFLOAT                                  = VkFormat.VK_FORMAT_R64G64B64_SFLOAT;
1422 enum VK_FORMAT_R64G64B64A64_UINT                                 = VkFormat.VK_FORMAT_R64G64B64A64_UINT;
1423 enum VK_FORMAT_R64G64B64A64_SINT                                 = VkFormat.VK_FORMAT_R64G64B64A64_SINT;
1424 enum VK_FORMAT_R64G64B64A64_SFLOAT                               = VkFormat.VK_FORMAT_R64G64B64A64_SFLOAT;
1425 enum VK_FORMAT_B10G11R11_UFLOAT_PACK32                           = VkFormat.VK_FORMAT_B10G11R11_UFLOAT_PACK32;
1426 enum VK_FORMAT_E5B9G9R9_UFLOAT_PACK32                            = VkFormat.VK_FORMAT_E5B9G9R9_UFLOAT_PACK32;
1427 enum VK_FORMAT_D16_UNORM                                         = VkFormat.VK_FORMAT_D16_UNORM;
1428 enum VK_FORMAT_X8_D24_UNORM_PACK32                               = VkFormat.VK_FORMAT_X8_D24_UNORM_PACK32;
1429 enum VK_FORMAT_D32_SFLOAT                                        = VkFormat.VK_FORMAT_D32_SFLOAT;
1430 enum VK_FORMAT_S8_UINT                                           = VkFormat.VK_FORMAT_S8_UINT;
1431 enum VK_FORMAT_D16_UNORM_S8_UINT                                 = VkFormat.VK_FORMAT_D16_UNORM_S8_UINT;
1432 enum VK_FORMAT_D24_UNORM_S8_UINT                                 = VkFormat.VK_FORMAT_D24_UNORM_S8_UINT;
1433 enum VK_FORMAT_D32_SFLOAT_S8_UINT                                = VkFormat.VK_FORMAT_D32_SFLOAT_S8_UINT;
1434 enum VK_FORMAT_BC1_RGB_UNORM_BLOCK                               = VkFormat.VK_FORMAT_BC1_RGB_UNORM_BLOCK;
1435 enum VK_FORMAT_BC1_RGB_SRGB_BLOCK                                = VkFormat.VK_FORMAT_BC1_RGB_SRGB_BLOCK;
1436 enum VK_FORMAT_BC1_RGBA_UNORM_BLOCK                              = VkFormat.VK_FORMAT_BC1_RGBA_UNORM_BLOCK;
1437 enum VK_FORMAT_BC1_RGBA_SRGB_BLOCK                               = VkFormat.VK_FORMAT_BC1_RGBA_SRGB_BLOCK;
1438 enum VK_FORMAT_BC2_UNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC2_UNORM_BLOCK;
1439 enum VK_FORMAT_BC2_SRGB_BLOCK                                    = VkFormat.VK_FORMAT_BC2_SRGB_BLOCK;
1440 enum VK_FORMAT_BC3_UNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC3_UNORM_BLOCK;
1441 enum VK_FORMAT_BC3_SRGB_BLOCK                                    = VkFormat.VK_FORMAT_BC3_SRGB_BLOCK;
1442 enum VK_FORMAT_BC4_UNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC4_UNORM_BLOCK;
1443 enum VK_FORMAT_BC4_SNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC4_SNORM_BLOCK;
1444 enum VK_FORMAT_BC5_UNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC5_UNORM_BLOCK;
1445 enum VK_FORMAT_BC5_SNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC5_SNORM_BLOCK;
1446 enum VK_FORMAT_BC6H_UFLOAT_BLOCK                                 = VkFormat.VK_FORMAT_BC6H_UFLOAT_BLOCK;
1447 enum VK_FORMAT_BC6H_SFLOAT_BLOCK                                 = VkFormat.VK_FORMAT_BC6H_SFLOAT_BLOCK;
1448 enum VK_FORMAT_BC7_UNORM_BLOCK                                   = VkFormat.VK_FORMAT_BC7_UNORM_BLOCK;
1449 enum VK_FORMAT_BC7_SRGB_BLOCK                                    = VkFormat.VK_FORMAT_BC7_SRGB_BLOCK;
1450 enum VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK                           = VkFormat.VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK;
1451 enum VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK                            = VkFormat.VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK;
1452 enum VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK                         = VkFormat.VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK;
1453 enum VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK                          = VkFormat.VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK;
1454 enum VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK                         = VkFormat.VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK;
1455 enum VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK                          = VkFormat.VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK;
1456 enum VK_FORMAT_EAC_R11_UNORM_BLOCK                               = VkFormat.VK_FORMAT_EAC_R11_UNORM_BLOCK;
1457 enum VK_FORMAT_EAC_R11_SNORM_BLOCK                               = VkFormat.VK_FORMAT_EAC_R11_SNORM_BLOCK;
1458 enum VK_FORMAT_EAC_R11G11_UNORM_BLOCK                            = VkFormat.VK_FORMAT_EAC_R11G11_UNORM_BLOCK;
1459 enum VK_FORMAT_EAC_R11G11_SNORM_BLOCK                            = VkFormat.VK_FORMAT_EAC_R11G11_SNORM_BLOCK;
1460 enum VK_FORMAT_ASTC_4x4_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_4x4_UNORM_BLOCK;
1461 enum VK_FORMAT_ASTC_4x4_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_4x4_SRGB_BLOCK;
1462 enum VK_FORMAT_ASTC_5x4_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_5x4_UNORM_BLOCK;
1463 enum VK_FORMAT_ASTC_5x4_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_5x4_SRGB_BLOCK;
1464 enum VK_FORMAT_ASTC_5x5_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_5x5_UNORM_BLOCK;
1465 enum VK_FORMAT_ASTC_5x5_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_5x5_SRGB_BLOCK;
1466 enum VK_FORMAT_ASTC_6x5_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_6x5_UNORM_BLOCK;
1467 enum VK_FORMAT_ASTC_6x5_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_6x5_SRGB_BLOCK;
1468 enum VK_FORMAT_ASTC_6x6_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_6x6_UNORM_BLOCK;
1469 enum VK_FORMAT_ASTC_6x6_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_6x6_SRGB_BLOCK;
1470 enum VK_FORMAT_ASTC_8x5_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_8x5_UNORM_BLOCK;
1471 enum VK_FORMAT_ASTC_8x5_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_8x5_SRGB_BLOCK;
1472 enum VK_FORMAT_ASTC_8x6_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_8x6_UNORM_BLOCK;
1473 enum VK_FORMAT_ASTC_8x6_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_8x6_SRGB_BLOCK;
1474 enum VK_FORMAT_ASTC_8x8_UNORM_BLOCK                              = VkFormat.VK_FORMAT_ASTC_8x8_UNORM_BLOCK;
1475 enum VK_FORMAT_ASTC_8x8_SRGB_BLOCK                               = VkFormat.VK_FORMAT_ASTC_8x8_SRGB_BLOCK;
1476 enum VK_FORMAT_ASTC_10x5_UNORM_BLOCK                             = VkFormat.VK_FORMAT_ASTC_10x5_UNORM_BLOCK;
1477 enum VK_FORMAT_ASTC_10x5_SRGB_BLOCK                              = VkFormat.VK_FORMAT_ASTC_10x5_SRGB_BLOCK;
1478 enum VK_FORMAT_ASTC_10x6_UNORM_BLOCK                             = VkFormat.VK_FORMAT_ASTC_10x6_UNORM_BLOCK;
1479 enum VK_FORMAT_ASTC_10x6_SRGB_BLOCK                              = VkFormat.VK_FORMAT_ASTC_10x6_SRGB_BLOCK;
1480 enum VK_FORMAT_ASTC_10x8_UNORM_BLOCK                             = VkFormat.VK_FORMAT_ASTC_10x8_UNORM_BLOCK;
1481 enum VK_FORMAT_ASTC_10x8_SRGB_BLOCK                              = VkFormat.VK_FORMAT_ASTC_10x8_SRGB_BLOCK;
1482 enum VK_FORMAT_ASTC_10x10_UNORM_BLOCK                            = VkFormat.VK_FORMAT_ASTC_10x10_UNORM_BLOCK;
1483 enum VK_FORMAT_ASTC_10x10_SRGB_BLOCK                             = VkFormat.VK_FORMAT_ASTC_10x10_SRGB_BLOCK;
1484 enum VK_FORMAT_ASTC_12x10_UNORM_BLOCK                            = VkFormat.VK_FORMAT_ASTC_12x10_UNORM_BLOCK;
1485 enum VK_FORMAT_ASTC_12x10_SRGB_BLOCK                             = VkFormat.VK_FORMAT_ASTC_12x10_SRGB_BLOCK;
1486 enum VK_FORMAT_ASTC_12x12_UNORM_BLOCK                            = VkFormat.VK_FORMAT_ASTC_12x12_UNORM_BLOCK;
1487 enum VK_FORMAT_ASTC_12x12_SRGB_BLOCK                             = VkFormat.VK_FORMAT_ASTC_12x12_SRGB_BLOCK;
1488 enum VK_FORMAT_G8B8G8R8_422_UNORM                                = VkFormat.VK_FORMAT_G8B8G8R8_422_UNORM;
1489 enum VK_FORMAT_B8G8R8G8_422_UNORM                                = VkFormat.VK_FORMAT_B8G8R8G8_422_UNORM;
1490 enum VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM                         = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM;
1491 enum VK_FORMAT_G8_B8R8_2PLANE_420_UNORM                          = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_420_UNORM;
1492 enum VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM                         = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM;
1493 enum VK_FORMAT_G8_B8R8_2PLANE_422_UNORM                          = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_422_UNORM;
1494 enum VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM                         = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM;
1495 enum VK_FORMAT_R10X6_UNORM_PACK16                                = VkFormat.VK_FORMAT_R10X6_UNORM_PACK16;
1496 enum VK_FORMAT_R10X6G10X6_UNORM_2PACK16                          = VkFormat.VK_FORMAT_R10X6G10X6_UNORM_2PACK16;
1497 enum VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16                = VkFormat.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16;
1498 enum VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16            = VkFormat.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16;
1499 enum VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16            = VkFormat.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16;
1500 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16        = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16;
1501 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16         = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16;
1502 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16        = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16;
1503 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16         = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16;
1504 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16        = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16;
1505 enum VK_FORMAT_R12X4_UNORM_PACK16                                = VkFormat.VK_FORMAT_R12X4_UNORM_PACK16;
1506 enum VK_FORMAT_R12X4G12X4_UNORM_2PACK16                          = VkFormat.VK_FORMAT_R12X4G12X4_UNORM_2PACK16;
1507 enum VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16                = VkFormat.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16;
1508 enum VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16            = VkFormat.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16;
1509 enum VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16            = VkFormat.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16;
1510 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16        = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16;
1511 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16         = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16;
1512 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16        = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16;
1513 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16         = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16;
1514 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16        = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16;
1515 enum VK_FORMAT_G16B16G16R16_422_UNORM                            = VkFormat.VK_FORMAT_G16B16G16R16_422_UNORM;
1516 enum VK_FORMAT_B16G16R16G16_422_UNORM                            = VkFormat.VK_FORMAT_B16G16R16G16_422_UNORM;
1517 enum VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM                      = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM;
1518 enum VK_FORMAT_G16_B16R16_2PLANE_420_UNORM                       = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_420_UNORM;
1519 enum VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM                      = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM;
1520 enum VK_FORMAT_G16_B16R16_2PLANE_422_UNORM                       = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_422_UNORM;
1521 enum VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM                      = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM;
1522 enum VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG                       = VkFormat.VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG;
1523 enum VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG                       = VkFormat.VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG;
1524 enum VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG                       = VkFormat.VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG;
1525 enum VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG                       = VkFormat.VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG;
1526 enum VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG                        = VkFormat.VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG;
1527 enum VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG                        = VkFormat.VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG;
1528 enum VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG                        = VkFormat.VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG;
1529 enum VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG                        = VkFormat.VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG;
1530 enum VK_FORMAT_G8B8G8R8_422_UNORM_KHR                            = VkFormat.VK_FORMAT_G8B8G8R8_422_UNORM_KHR;
1531 enum VK_FORMAT_B8G8R8G8_422_UNORM_KHR                            = VkFormat.VK_FORMAT_B8G8R8G8_422_UNORM_KHR;
1532 enum VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR                     = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR;
1533 enum VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR                      = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR;
1534 enum VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR                     = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR;
1535 enum VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR                      = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR;
1536 enum VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR                     = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR;
1537 enum VK_FORMAT_R10X6_UNORM_PACK16_KHR                            = VkFormat.VK_FORMAT_R10X6_UNORM_PACK16_KHR;
1538 enum VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR                      = VkFormat.VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR;
1539 enum VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR            = VkFormat.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR;
1540 enum VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR        = VkFormat.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR;
1541 enum VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR        = VkFormat.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR;
1542 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR;
1543 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR     = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR;
1544 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR;
1545 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR     = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR;
1546 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR;
1547 enum VK_FORMAT_R12X4_UNORM_PACK16_KHR                            = VkFormat.VK_FORMAT_R12X4_UNORM_PACK16_KHR;
1548 enum VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR                      = VkFormat.VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR;
1549 enum VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR            = VkFormat.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR;
1550 enum VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR        = VkFormat.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR;
1551 enum VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR        = VkFormat.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR;
1552 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR;
1553 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR     = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR;
1554 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR;
1555 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR     = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR;
1556 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR    = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR;
1557 enum VK_FORMAT_G16B16G16R16_422_UNORM_KHR                        = VkFormat.VK_FORMAT_G16B16G16R16_422_UNORM_KHR;
1558 enum VK_FORMAT_B16G16R16G16_422_UNORM_KHR                        = VkFormat.VK_FORMAT_B16G16R16G16_422_UNORM_KHR;
1559 enum VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR                  = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR;
1560 enum VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR                   = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR;
1561 enum VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR                  = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR;
1562 enum VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR                   = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR;
1563 enum VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR                  = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR;
1564 enum VK_FORMAT_BEGIN_RANGE                                       = VkFormat.VK_FORMAT_BEGIN_RANGE;
1565 enum VK_FORMAT_END_RANGE                                         = VkFormat.VK_FORMAT_END_RANGE;
1566 enum VK_FORMAT_RANGE_SIZE                                        = VkFormat.VK_FORMAT_RANGE_SIZE;
1567 enum VK_FORMAT_MAX_ENUM                                          = VkFormat.VK_FORMAT_MAX_ENUM;
1568 
1569 enum VkImageType {
1570     VK_IMAGE_TYPE_1D             = 0,
1571     VK_IMAGE_TYPE_2D             = 1,
1572     VK_IMAGE_TYPE_3D             = 2,
1573     VK_IMAGE_TYPE_BEGIN_RANGE    = VK_IMAGE_TYPE_1D,
1574     VK_IMAGE_TYPE_END_RANGE      = VK_IMAGE_TYPE_3D,
1575     VK_IMAGE_TYPE_RANGE_SIZE     = VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1,
1576     VK_IMAGE_TYPE_MAX_ENUM       = 0x7FFFFFFF
1577 }
1578 
1579 enum VK_IMAGE_TYPE_1D            = VkImageType.VK_IMAGE_TYPE_1D;
1580 enum VK_IMAGE_TYPE_2D            = VkImageType.VK_IMAGE_TYPE_2D;
1581 enum VK_IMAGE_TYPE_3D            = VkImageType.VK_IMAGE_TYPE_3D;
1582 enum VK_IMAGE_TYPE_BEGIN_RANGE   = VkImageType.VK_IMAGE_TYPE_BEGIN_RANGE;
1583 enum VK_IMAGE_TYPE_END_RANGE     = VkImageType.VK_IMAGE_TYPE_END_RANGE;
1584 enum VK_IMAGE_TYPE_RANGE_SIZE    = VkImageType.VK_IMAGE_TYPE_RANGE_SIZE;
1585 enum VK_IMAGE_TYPE_MAX_ENUM      = VkImageType.VK_IMAGE_TYPE_MAX_ENUM;
1586 
1587 enum VkImageTiling {
1588     VK_IMAGE_TILING_OPTIMAL                      = 0,
1589     VK_IMAGE_TILING_LINEAR                       = 1,
1590     VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT      = 1000158000,
1591     VK_IMAGE_TILING_BEGIN_RANGE                  = VK_IMAGE_TILING_OPTIMAL,
1592     VK_IMAGE_TILING_END_RANGE                    = VK_IMAGE_TILING_LINEAR,
1593     VK_IMAGE_TILING_RANGE_SIZE                   = VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1,
1594     VK_IMAGE_TILING_MAX_ENUM                     = 0x7FFFFFFF
1595 }
1596 
1597 enum VK_IMAGE_TILING_OPTIMAL                     = VkImageTiling.VK_IMAGE_TILING_OPTIMAL;
1598 enum VK_IMAGE_TILING_LINEAR                      = VkImageTiling.VK_IMAGE_TILING_LINEAR;
1599 enum VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT     = VkImageTiling.VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT;
1600 enum VK_IMAGE_TILING_BEGIN_RANGE                 = VkImageTiling.VK_IMAGE_TILING_BEGIN_RANGE;
1601 enum VK_IMAGE_TILING_END_RANGE                   = VkImageTiling.VK_IMAGE_TILING_END_RANGE;
1602 enum VK_IMAGE_TILING_RANGE_SIZE                  = VkImageTiling.VK_IMAGE_TILING_RANGE_SIZE;
1603 enum VK_IMAGE_TILING_MAX_ENUM                    = VkImageTiling.VK_IMAGE_TILING_MAX_ENUM;
1604 
1605 enum VkPhysicalDeviceType {
1606     VK_PHYSICAL_DEVICE_TYPE_OTHER                = 0,
1607     VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU       = 1,
1608     VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU         = 2,
1609     VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU          = 3,
1610     VK_PHYSICAL_DEVICE_TYPE_CPU                  = 4,
1611     VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE          = VK_PHYSICAL_DEVICE_TYPE_OTHER,
1612     VK_PHYSICAL_DEVICE_TYPE_END_RANGE            = VK_PHYSICAL_DEVICE_TYPE_CPU,
1613     VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE           = VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1,
1614     VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM             = 0x7FFFFFFF
1615 }
1616 
1617 enum VK_PHYSICAL_DEVICE_TYPE_OTHER               = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_OTHER;
1618 enum VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU      = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
1619 enum VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU        = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
1620 enum VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU         = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU;
1621 enum VK_PHYSICAL_DEVICE_TYPE_CPU                 = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_CPU;
1622 enum VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE         = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE;
1623 enum VK_PHYSICAL_DEVICE_TYPE_END_RANGE           = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_END_RANGE;
1624 enum VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE          = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE;
1625 enum VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM            = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM;
1626 
1627 enum VkQueryType {
1628     VK_QUERY_TYPE_OCCLUSION                                      = 0,
1629     VK_QUERY_TYPE_PIPELINE_STATISTICS                            = 1,
1630     VK_QUERY_TYPE_TIMESTAMP                                      = 2,
1631     VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT                  = 1000028004,
1632     VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV       = 1000165000,
1633     VK_QUERY_TYPE_BEGIN_RANGE                                    = VK_QUERY_TYPE_OCCLUSION,
1634     VK_QUERY_TYPE_END_RANGE                                      = VK_QUERY_TYPE_TIMESTAMP,
1635     VK_QUERY_TYPE_RANGE_SIZE                                     = VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1,
1636     VK_QUERY_TYPE_MAX_ENUM                                       = 0x7FFFFFFF
1637 }
1638 
1639 enum VK_QUERY_TYPE_OCCLUSION                                     = VkQueryType.VK_QUERY_TYPE_OCCLUSION;
1640 enum VK_QUERY_TYPE_PIPELINE_STATISTICS                           = VkQueryType.VK_QUERY_TYPE_PIPELINE_STATISTICS;
1641 enum VK_QUERY_TYPE_TIMESTAMP                                     = VkQueryType.VK_QUERY_TYPE_TIMESTAMP;
1642 enum VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT                 = VkQueryType.VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT;
1643 enum VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV      = VkQueryType.VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV;
1644 enum VK_QUERY_TYPE_BEGIN_RANGE                                   = VkQueryType.VK_QUERY_TYPE_BEGIN_RANGE;
1645 enum VK_QUERY_TYPE_END_RANGE                                     = VkQueryType.VK_QUERY_TYPE_END_RANGE;
1646 enum VK_QUERY_TYPE_RANGE_SIZE                                    = VkQueryType.VK_QUERY_TYPE_RANGE_SIZE;
1647 enum VK_QUERY_TYPE_MAX_ENUM                                      = VkQueryType.VK_QUERY_TYPE_MAX_ENUM;
1648 
1649 enum VkSharingMode {
1650     VK_SHARING_MODE_EXCLUSIVE    = 0,
1651     VK_SHARING_MODE_CONCURRENT   = 1,
1652     VK_SHARING_MODE_BEGIN_RANGE  = VK_SHARING_MODE_EXCLUSIVE,
1653     VK_SHARING_MODE_END_RANGE    = VK_SHARING_MODE_CONCURRENT,
1654     VK_SHARING_MODE_RANGE_SIZE   = VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1,
1655     VK_SHARING_MODE_MAX_ENUM     = 0x7FFFFFFF
1656 }
1657 
1658 enum VK_SHARING_MODE_EXCLUSIVE   = VkSharingMode.VK_SHARING_MODE_EXCLUSIVE;
1659 enum VK_SHARING_MODE_CONCURRENT  = VkSharingMode.VK_SHARING_MODE_CONCURRENT;
1660 enum VK_SHARING_MODE_BEGIN_RANGE = VkSharingMode.VK_SHARING_MODE_BEGIN_RANGE;
1661 enum VK_SHARING_MODE_END_RANGE   = VkSharingMode.VK_SHARING_MODE_END_RANGE;
1662 enum VK_SHARING_MODE_RANGE_SIZE  = VkSharingMode.VK_SHARING_MODE_RANGE_SIZE;
1663 enum VK_SHARING_MODE_MAX_ENUM    = VkSharingMode.VK_SHARING_MODE_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_PRESENT_SRC_KHR                                      = 1000001002,
1678     VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR                                   = 1000111000,
1679     VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV                              = 1000164003,
1680     VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT                     = 1000218000,
1681     VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR       = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1682     VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR       = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1683     VK_IMAGE_LAYOUT_BEGIN_RANGE                                          = VK_IMAGE_LAYOUT_UNDEFINED,
1684     VK_IMAGE_LAYOUT_END_RANGE                                            = VK_IMAGE_LAYOUT_PREINITIALIZED,
1685     VK_IMAGE_LAYOUT_RANGE_SIZE                                           = VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1,
1686     VK_IMAGE_LAYOUT_MAX_ENUM                                             = 0x7FFFFFFF
1687 }
1688 
1689 enum VK_IMAGE_LAYOUT_UNDEFINED                                           = VkImageLayout.VK_IMAGE_LAYOUT_UNDEFINED;
1690 enum VK_IMAGE_LAYOUT_GENERAL                                             = VkImageLayout.VK_IMAGE_LAYOUT_GENERAL;
1691 enum VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL                            = VkImageLayout.VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
1692 enum VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL                    = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
1693 enum VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL                     = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL;
1694 enum VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                            = VkImageLayout.VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
1695 enum VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL                                = VkImageLayout.VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
1696 enum VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL                                = VkImageLayout.VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
1697 enum VK_IMAGE_LAYOUT_PREINITIALIZED                                      = VkImageLayout.VK_IMAGE_LAYOUT_PREINITIALIZED;
1698 enum VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL          = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL;
1699 enum VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL          = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL;
1700 enum VK_IMAGE_LAYOUT_PRESENT_SRC_KHR                                     = VkImageLayout.VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
1701 enum VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR                                  = VkImageLayout.VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR;
1702 enum VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV                             = VkImageLayout.VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV;
1703 enum VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT                    = VkImageLayout.VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT;
1704 enum VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR      = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR;
1705 enum VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR      = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR;
1706 enum VK_IMAGE_LAYOUT_BEGIN_RANGE                                         = VkImageLayout.VK_IMAGE_LAYOUT_BEGIN_RANGE;
1707 enum VK_IMAGE_LAYOUT_END_RANGE                                           = VkImageLayout.VK_IMAGE_LAYOUT_END_RANGE;
1708 enum VK_IMAGE_LAYOUT_RANGE_SIZE                                          = VkImageLayout.VK_IMAGE_LAYOUT_RANGE_SIZE;
1709 enum VK_IMAGE_LAYOUT_MAX_ENUM                                            = VkImageLayout.VK_IMAGE_LAYOUT_MAX_ENUM;
1710 
1711 enum VkImageViewType {
1712     VK_IMAGE_VIEW_TYPE_1D                = 0,
1713     VK_IMAGE_VIEW_TYPE_2D                = 1,
1714     VK_IMAGE_VIEW_TYPE_3D                = 2,
1715     VK_IMAGE_VIEW_TYPE_CUBE              = 3,
1716     VK_IMAGE_VIEW_TYPE_1D_ARRAY          = 4,
1717     VK_IMAGE_VIEW_TYPE_2D_ARRAY          = 5,
1718     VK_IMAGE_VIEW_TYPE_CUBE_ARRAY        = 6,
1719     VK_IMAGE_VIEW_TYPE_BEGIN_RANGE       = VK_IMAGE_VIEW_TYPE_1D,
1720     VK_IMAGE_VIEW_TYPE_END_RANGE         = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY,
1721     VK_IMAGE_VIEW_TYPE_RANGE_SIZE        = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1,
1722     VK_IMAGE_VIEW_TYPE_MAX_ENUM          = 0x7FFFFFFF
1723 }
1724 
1725 enum VK_IMAGE_VIEW_TYPE_1D               = VkImageViewType.VK_IMAGE_VIEW_TYPE_1D;
1726 enum VK_IMAGE_VIEW_TYPE_2D               = VkImageViewType.VK_IMAGE_VIEW_TYPE_2D;
1727 enum VK_IMAGE_VIEW_TYPE_3D               = VkImageViewType.VK_IMAGE_VIEW_TYPE_3D;
1728 enum VK_IMAGE_VIEW_TYPE_CUBE             = VkImageViewType.VK_IMAGE_VIEW_TYPE_CUBE;
1729 enum VK_IMAGE_VIEW_TYPE_1D_ARRAY         = VkImageViewType.VK_IMAGE_VIEW_TYPE_1D_ARRAY;
1730 enum VK_IMAGE_VIEW_TYPE_2D_ARRAY         = VkImageViewType.VK_IMAGE_VIEW_TYPE_2D_ARRAY;
1731 enum VK_IMAGE_VIEW_TYPE_CUBE_ARRAY       = VkImageViewType.VK_IMAGE_VIEW_TYPE_CUBE_ARRAY;
1732 enum VK_IMAGE_VIEW_TYPE_BEGIN_RANGE      = VkImageViewType.VK_IMAGE_VIEW_TYPE_BEGIN_RANGE;
1733 enum VK_IMAGE_VIEW_TYPE_END_RANGE        = VkImageViewType.VK_IMAGE_VIEW_TYPE_END_RANGE;
1734 enum VK_IMAGE_VIEW_TYPE_RANGE_SIZE       = VkImageViewType.VK_IMAGE_VIEW_TYPE_RANGE_SIZE;
1735 enum VK_IMAGE_VIEW_TYPE_MAX_ENUM         = VkImageViewType.VK_IMAGE_VIEW_TYPE_MAX_ENUM;
1736 
1737 enum VkComponentSwizzle {
1738     VK_COMPONENT_SWIZZLE_IDENTITY        = 0,
1739     VK_COMPONENT_SWIZZLE_ZERO            = 1,
1740     VK_COMPONENT_SWIZZLE_ONE             = 2,
1741     VK_COMPONENT_SWIZZLE_R               = 3,
1742     VK_COMPONENT_SWIZZLE_G               = 4,
1743     VK_COMPONENT_SWIZZLE_B               = 5,
1744     VK_COMPONENT_SWIZZLE_A               = 6,
1745     VK_COMPONENT_SWIZZLE_BEGIN_RANGE     = VK_COMPONENT_SWIZZLE_IDENTITY,
1746     VK_COMPONENT_SWIZZLE_END_RANGE       = VK_COMPONENT_SWIZZLE_A,
1747     VK_COMPONENT_SWIZZLE_RANGE_SIZE      = VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1,
1748     VK_COMPONENT_SWIZZLE_MAX_ENUM        = 0x7FFFFFFF
1749 }
1750 
1751 enum VK_COMPONENT_SWIZZLE_IDENTITY       = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_IDENTITY;
1752 enum VK_COMPONENT_SWIZZLE_ZERO           = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_ZERO;
1753 enum VK_COMPONENT_SWIZZLE_ONE            = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_ONE;
1754 enum VK_COMPONENT_SWIZZLE_R              = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_R;
1755 enum VK_COMPONENT_SWIZZLE_G              = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_G;
1756 enum VK_COMPONENT_SWIZZLE_B              = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_B;
1757 enum VK_COMPONENT_SWIZZLE_A              = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_A;
1758 enum VK_COMPONENT_SWIZZLE_BEGIN_RANGE    = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_BEGIN_RANGE;
1759 enum VK_COMPONENT_SWIZZLE_END_RANGE      = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_END_RANGE;
1760 enum VK_COMPONENT_SWIZZLE_RANGE_SIZE     = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_RANGE_SIZE;
1761 enum VK_COMPONENT_SWIZZLE_MAX_ENUM       = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_MAX_ENUM;
1762 
1763 enum VkVertexInputRate {
1764     VK_VERTEX_INPUT_RATE_VERTEX          = 0,
1765     VK_VERTEX_INPUT_RATE_INSTANCE        = 1,
1766     VK_VERTEX_INPUT_RATE_BEGIN_RANGE     = VK_VERTEX_INPUT_RATE_VERTEX,
1767     VK_VERTEX_INPUT_RATE_END_RANGE       = VK_VERTEX_INPUT_RATE_INSTANCE,
1768     VK_VERTEX_INPUT_RATE_RANGE_SIZE      = VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1,
1769     VK_VERTEX_INPUT_RATE_MAX_ENUM        = 0x7FFFFFFF
1770 }
1771 
1772 enum VK_VERTEX_INPUT_RATE_VERTEX         = VkVertexInputRate.VK_VERTEX_INPUT_RATE_VERTEX;
1773 enum VK_VERTEX_INPUT_RATE_INSTANCE       = VkVertexInputRate.VK_VERTEX_INPUT_RATE_INSTANCE;
1774 enum VK_VERTEX_INPUT_RATE_BEGIN_RANGE    = VkVertexInputRate.VK_VERTEX_INPUT_RATE_BEGIN_RANGE;
1775 enum VK_VERTEX_INPUT_RATE_END_RANGE      = VkVertexInputRate.VK_VERTEX_INPUT_RATE_END_RANGE;
1776 enum VK_VERTEX_INPUT_RATE_RANGE_SIZE     = VkVertexInputRate.VK_VERTEX_INPUT_RATE_RANGE_SIZE;
1777 enum VK_VERTEX_INPUT_RATE_MAX_ENUM       = VkVertexInputRate.VK_VERTEX_INPUT_RATE_MAX_ENUM;
1778 
1779 enum VkPrimitiveTopology {
1780     VK_PRIMITIVE_TOPOLOGY_POINT_LIST                     = 0,
1781     VK_PRIMITIVE_TOPOLOGY_LINE_LIST                      = 1,
1782     VK_PRIMITIVE_TOPOLOGY_LINE_STRIP                     = 2,
1783     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST                  = 3,
1784     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP                 = 4,
1785     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN                   = 5,
1786     VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY       = 6,
1787     VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY      = 7,
1788     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY   = 8,
1789     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY  = 9,
1790     VK_PRIMITIVE_TOPOLOGY_PATCH_LIST                     = 10,
1791     VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE                    = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
1792     VK_PRIMITIVE_TOPOLOGY_END_RANGE                      = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,
1793     VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE                     = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1,
1794     VK_PRIMITIVE_TOPOLOGY_MAX_ENUM                       = 0x7FFFFFFF
1795 }
1796 
1797 enum VK_PRIMITIVE_TOPOLOGY_POINT_LIST                    = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
1798 enum VK_PRIMITIVE_TOPOLOGY_LINE_LIST                     = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_LIST;
1799 enum VK_PRIMITIVE_TOPOLOGY_LINE_STRIP                    = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_STRIP;
1800 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST                 = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
1801 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP                = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
1802 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN                  = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN;
1803 enum VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY      = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY;
1804 enum VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY     = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY;
1805 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY  = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY;
1806 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY;
1807 enum VK_PRIMITIVE_TOPOLOGY_PATCH_LIST                    = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_PATCH_LIST;
1808 enum VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE                   = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE;
1809 enum VK_PRIMITIVE_TOPOLOGY_END_RANGE                     = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_END_RANGE;
1810 enum VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE                    = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE;
1811 enum VK_PRIMITIVE_TOPOLOGY_MAX_ENUM                      = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_MAX_ENUM;
1812 
1813 enum VkPolygonMode {
1814     VK_POLYGON_MODE_FILL                 = 0,
1815     VK_POLYGON_MODE_LINE                 = 1,
1816     VK_POLYGON_MODE_POINT                = 2,
1817     VK_POLYGON_MODE_FILL_RECTANGLE_NV    = 1000153000,
1818     VK_POLYGON_MODE_BEGIN_RANGE          = VK_POLYGON_MODE_FILL,
1819     VK_POLYGON_MODE_END_RANGE            = VK_POLYGON_MODE_POINT,
1820     VK_POLYGON_MODE_RANGE_SIZE           = VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1,
1821     VK_POLYGON_MODE_MAX_ENUM             = 0x7FFFFFFF
1822 }
1823 
1824 enum VK_POLYGON_MODE_FILL                = VkPolygonMode.VK_POLYGON_MODE_FILL;
1825 enum VK_POLYGON_MODE_LINE                = VkPolygonMode.VK_POLYGON_MODE_LINE;
1826 enum VK_POLYGON_MODE_POINT               = VkPolygonMode.VK_POLYGON_MODE_POINT;
1827 enum VK_POLYGON_MODE_FILL_RECTANGLE_NV   = VkPolygonMode.VK_POLYGON_MODE_FILL_RECTANGLE_NV;
1828 enum VK_POLYGON_MODE_BEGIN_RANGE         = VkPolygonMode.VK_POLYGON_MODE_BEGIN_RANGE;
1829 enum VK_POLYGON_MODE_END_RANGE           = VkPolygonMode.VK_POLYGON_MODE_END_RANGE;
1830 enum VK_POLYGON_MODE_RANGE_SIZE          = VkPolygonMode.VK_POLYGON_MODE_RANGE_SIZE;
1831 enum VK_POLYGON_MODE_MAX_ENUM            = VkPolygonMode.VK_POLYGON_MODE_MAX_ENUM;
1832 
1833 enum VkFrontFace {
1834     VK_FRONT_FACE_COUNTER_CLOCKWISE      = 0,
1835     VK_FRONT_FACE_CLOCKWISE              = 1,
1836     VK_FRONT_FACE_BEGIN_RANGE            = VK_FRONT_FACE_COUNTER_CLOCKWISE,
1837     VK_FRONT_FACE_END_RANGE              = VK_FRONT_FACE_CLOCKWISE,
1838     VK_FRONT_FACE_RANGE_SIZE             = VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1,
1839     VK_FRONT_FACE_MAX_ENUM               = 0x7FFFFFFF
1840 }
1841 
1842 enum VK_FRONT_FACE_COUNTER_CLOCKWISE     = VkFrontFace.VK_FRONT_FACE_COUNTER_CLOCKWISE;
1843 enum VK_FRONT_FACE_CLOCKWISE             = VkFrontFace.VK_FRONT_FACE_CLOCKWISE;
1844 enum VK_FRONT_FACE_BEGIN_RANGE           = VkFrontFace.VK_FRONT_FACE_BEGIN_RANGE;
1845 enum VK_FRONT_FACE_END_RANGE             = VkFrontFace.VK_FRONT_FACE_END_RANGE;
1846 enum VK_FRONT_FACE_RANGE_SIZE            = VkFrontFace.VK_FRONT_FACE_RANGE_SIZE;
1847 enum VK_FRONT_FACE_MAX_ENUM              = VkFrontFace.VK_FRONT_FACE_MAX_ENUM;
1848 
1849 enum VkCompareOp {
1850     VK_COMPARE_OP_NEVER                  = 0,
1851     VK_COMPARE_OP_LESS                   = 1,
1852     VK_COMPARE_OP_EQUAL                  = 2,
1853     VK_COMPARE_OP_LESS_OR_EQUAL          = 3,
1854     VK_COMPARE_OP_GREATER                = 4,
1855     VK_COMPARE_OP_NOT_EQUAL              = 5,
1856     VK_COMPARE_OP_GREATER_OR_EQUAL       = 6,
1857     VK_COMPARE_OP_ALWAYS                 = 7,
1858     VK_COMPARE_OP_BEGIN_RANGE            = VK_COMPARE_OP_NEVER,
1859     VK_COMPARE_OP_END_RANGE              = VK_COMPARE_OP_ALWAYS,
1860     VK_COMPARE_OP_RANGE_SIZE             = VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1,
1861     VK_COMPARE_OP_MAX_ENUM               = 0x7FFFFFFF
1862 }
1863 
1864 enum VK_COMPARE_OP_NEVER                 = VkCompareOp.VK_COMPARE_OP_NEVER;
1865 enum VK_COMPARE_OP_LESS                  = VkCompareOp.VK_COMPARE_OP_LESS;
1866 enum VK_COMPARE_OP_EQUAL                 = VkCompareOp.VK_COMPARE_OP_EQUAL;
1867 enum VK_COMPARE_OP_LESS_OR_EQUAL         = VkCompareOp.VK_COMPARE_OP_LESS_OR_EQUAL;
1868 enum VK_COMPARE_OP_GREATER               = VkCompareOp.VK_COMPARE_OP_GREATER;
1869 enum VK_COMPARE_OP_NOT_EQUAL             = VkCompareOp.VK_COMPARE_OP_NOT_EQUAL;
1870 enum VK_COMPARE_OP_GREATER_OR_EQUAL      = VkCompareOp.VK_COMPARE_OP_GREATER_OR_EQUAL;
1871 enum VK_COMPARE_OP_ALWAYS                = VkCompareOp.VK_COMPARE_OP_ALWAYS;
1872 enum VK_COMPARE_OP_BEGIN_RANGE           = VkCompareOp.VK_COMPARE_OP_BEGIN_RANGE;
1873 enum VK_COMPARE_OP_END_RANGE             = VkCompareOp.VK_COMPARE_OP_END_RANGE;
1874 enum VK_COMPARE_OP_RANGE_SIZE            = VkCompareOp.VK_COMPARE_OP_RANGE_SIZE;
1875 enum VK_COMPARE_OP_MAX_ENUM              = VkCompareOp.VK_COMPARE_OP_MAX_ENUM;
1876 
1877 enum VkStencilOp {
1878     VK_STENCIL_OP_KEEP                   = 0,
1879     VK_STENCIL_OP_ZERO                   = 1,
1880     VK_STENCIL_OP_REPLACE                = 2,
1881     VK_STENCIL_OP_INCREMENT_AND_CLAMP    = 3,
1882     VK_STENCIL_OP_DECREMENT_AND_CLAMP    = 4,
1883     VK_STENCIL_OP_INVERT                 = 5,
1884     VK_STENCIL_OP_INCREMENT_AND_WRAP     = 6,
1885     VK_STENCIL_OP_DECREMENT_AND_WRAP     = 7,
1886     VK_STENCIL_OP_BEGIN_RANGE            = VK_STENCIL_OP_KEEP,
1887     VK_STENCIL_OP_END_RANGE              = VK_STENCIL_OP_DECREMENT_AND_WRAP,
1888     VK_STENCIL_OP_RANGE_SIZE             = VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1,
1889     VK_STENCIL_OP_MAX_ENUM               = 0x7FFFFFFF
1890 }
1891 
1892 enum VK_STENCIL_OP_KEEP                  = VkStencilOp.VK_STENCIL_OP_KEEP;
1893 enum VK_STENCIL_OP_ZERO                  = VkStencilOp.VK_STENCIL_OP_ZERO;
1894 enum VK_STENCIL_OP_REPLACE               = VkStencilOp.VK_STENCIL_OP_REPLACE;
1895 enum VK_STENCIL_OP_INCREMENT_AND_CLAMP   = VkStencilOp.VK_STENCIL_OP_INCREMENT_AND_CLAMP;
1896 enum VK_STENCIL_OP_DECREMENT_AND_CLAMP   = VkStencilOp.VK_STENCIL_OP_DECREMENT_AND_CLAMP;
1897 enum VK_STENCIL_OP_INVERT                = VkStencilOp.VK_STENCIL_OP_INVERT;
1898 enum VK_STENCIL_OP_INCREMENT_AND_WRAP    = VkStencilOp.VK_STENCIL_OP_INCREMENT_AND_WRAP;
1899 enum VK_STENCIL_OP_DECREMENT_AND_WRAP    = VkStencilOp.VK_STENCIL_OP_DECREMENT_AND_WRAP;
1900 enum VK_STENCIL_OP_BEGIN_RANGE           = VkStencilOp.VK_STENCIL_OP_BEGIN_RANGE;
1901 enum VK_STENCIL_OP_END_RANGE             = VkStencilOp.VK_STENCIL_OP_END_RANGE;
1902 enum VK_STENCIL_OP_RANGE_SIZE            = VkStencilOp.VK_STENCIL_OP_RANGE_SIZE;
1903 enum VK_STENCIL_OP_MAX_ENUM              = VkStencilOp.VK_STENCIL_OP_MAX_ENUM;
1904 
1905 enum VkLogicOp {
1906     VK_LOGIC_OP_CLEAR            = 0,
1907     VK_LOGIC_OP_AND              = 1,
1908     VK_LOGIC_OP_AND_REVERSE      = 2,
1909     VK_LOGIC_OP_COPY             = 3,
1910     VK_LOGIC_OP_AND_INVERTED     = 4,
1911     VK_LOGIC_OP_NO_OP            = 5,
1912     VK_LOGIC_OP_XOR              = 6,
1913     VK_LOGIC_OP_OR               = 7,
1914     VK_LOGIC_OP_NOR              = 8,
1915     VK_LOGIC_OP_EQUIVALENT       = 9,
1916     VK_LOGIC_OP_INVERT           = 10,
1917     VK_LOGIC_OP_OR_REVERSE       = 11,
1918     VK_LOGIC_OP_COPY_INVERTED    = 12,
1919     VK_LOGIC_OP_OR_INVERTED      = 13,
1920     VK_LOGIC_OP_NAND             = 14,
1921     VK_LOGIC_OP_SET              = 15,
1922     VK_LOGIC_OP_BEGIN_RANGE      = VK_LOGIC_OP_CLEAR,
1923     VK_LOGIC_OP_END_RANGE        = VK_LOGIC_OP_SET,
1924     VK_LOGIC_OP_RANGE_SIZE       = VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1,
1925     VK_LOGIC_OP_MAX_ENUM         = 0x7FFFFFFF
1926 }
1927 
1928 enum VK_LOGIC_OP_CLEAR           = VkLogicOp.VK_LOGIC_OP_CLEAR;
1929 enum VK_LOGIC_OP_AND             = VkLogicOp.VK_LOGIC_OP_AND;
1930 enum VK_LOGIC_OP_AND_REVERSE     = VkLogicOp.VK_LOGIC_OP_AND_REVERSE;
1931 enum VK_LOGIC_OP_COPY            = VkLogicOp.VK_LOGIC_OP_COPY;
1932 enum VK_LOGIC_OP_AND_INVERTED    = VkLogicOp.VK_LOGIC_OP_AND_INVERTED;
1933 enum VK_LOGIC_OP_NO_OP           = VkLogicOp.VK_LOGIC_OP_NO_OP;
1934 enum VK_LOGIC_OP_XOR             = VkLogicOp.VK_LOGIC_OP_XOR;
1935 enum VK_LOGIC_OP_OR              = VkLogicOp.VK_LOGIC_OP_OR;
1936 enum VK_LOGIC_OP_NOR             = VkLogicOp.VK_LOGIC_OP_NOR;
1937 enum VK_LOGIC_OP_EQUIVALENT      = VkLogicOp.VK_LOGIC_OP_EQUIVALENT;
1938 enum VK_LOGIC_OP_INVERT          = VkLogicOp.VK_LOGIC_OP_INVERT;
1939 enum VK_LOGIC_OP_OR_REVERSE      = VkLogicOp.VK_LOGIC_OP_OR_REVERSE;
1940 enum VK_LOGIC_OP_COPY_INVERTED   = VkLogicOp.VK_LOGIC_OP_COPY_INVERTED;
1941 enum VK_LOGIC_OP_OR_INVERTED     = VkLogicOp.VK_LOGIC_OP_OR_INVERTED;
1942 enum VK_LOGIC_OP_NAND            = VkLogicOp.VK_LOGIC_OP_NAND;
1943 enum VK_LOGIC_OP_SET             = VkLogicOp.VK_LOGIC_OP_SET;
1944 enum VK_LOGIC_OP_BEGIN_RANGE     = VkLogicOp.VK_LOGIC_OP_BEGIN_RANGE;
1945 enum VK_LOGIC_OP_END_RANGE       = VkLogicOp.VK_LOGIC_OP_END_RANGE;
1946 enum VK_LOGIC_OP_RANGE_SIZE      = VkLogicOp.VK_LOGIC_OP_RANGE_SIZE;
1947 enum VK_LOGIC_OP_MAX_ENUM        = VkLogicOp.VK_LOGIC_OP_MAX_ENUM;
1948 
1949 enum VkBlendFactor {
1950     VK_BLEND_FACTOR_ZERO                         = 0,
1951     VK_BLEND_FACTOR_ONE                          = 1,
1952     VK_BLEND_FACTOR_SRC_COLOR                    = 2,
1953     VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR          = 3,
1954     VK_BLEND_FACTOR_DST_COLOR                    = 4,
1955     VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR          = 5,
1956     VK_BLEND_FACTOR_SRC_ALPHA                    = 6,
1957     VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA          = 7,
1958     VK_BLEND_FACTOR_DST_ALPHA                    = 8,
1959     VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA          = 9,
1960     VK_BLEND_FACTOR_CONSTANT_COLOR               = 10,
1961     VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR     = 11,
1962     VK_BLEND_FACTOR_CONSTANT_ALPHA               = 12,
1963     VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA     = 13,
1964     VK_BLEND_FACTOR_SRC_ALPHA_SATURATE           = 14,
1965     VK_BLEND_FACTOR_SRC1_COLOR                   = 15,
1966     VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR         = 16,
1967     VK_BLEND_FACTOR_SRC1_ALPHA                   = 17,
1968     VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA         = 18,
1969     VK_BLEND_FACTOR_BEGIN_RANGE                  = VK_BLEND_FACTOR_ZERO,
1970     VK_BLEND_FACTOR_END_RANGE                    = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,
1971     VK_BLEND_FACTOR_RANGE_SIZE                   = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1,
1972     VK_BLEND_FACTOR_MAX_ENUM                     = 0x7FFFFFFF
1973 }
1974 
1975 enum VK_BLEND_FACTOR_ZERO                        = VkBlendFactor.VK_BLEND_FACTOR_ZERO;
1976 enum VK_BLEND_FACTOR_ONE                         = VkBlendFactor.VK_BLEND_FACTOR_ONE;
1977 enum VK_BLEND_FACTOR_SRC_COLOR                   = VkBlendFactor.VK_BLEND_FACTOR_SRC_COLOR;
1978 enum VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR         = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR;
1979 enum VK_BLEND_FACTOR_DST_COLOR                   = VkBlendFactor.VK_BLEND_FACTOR_DST_COLOR;
1980 enum VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR         = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR;
1981 enum VK_BLEND_FACTOR_SRC_ALPHA                   = VkBlendFactor.VK_BLEND_FACTOR_SRC_ALPHA;
1982 enum VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA         = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA;
1983 enum VK_BLEND_FACTOR_DST_ALPHA                   = VkBlendFactor.VK_BLEND_FACTOR_DST_ALPHA;
1984 enum VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA         = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA;
1985 enum VK_BLEND_FACTOR_CONSTANT_COLOR              = VkBlendFactor.VK_BLEND_FACTOR_CONSTANT_COLOR;
1986 enum VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR    = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR;
1987 enum VK_BLEND_FACTOR_CONSTANT_ALPHA              = VkBlendFactor.VK_BLEND_FACTOR_CONSTANT_ALPHA;
1988 enum VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA    = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA;
1989 enum VK_BLEND_FACTOR_SRC_ALPHA_SATURATE          = VkBlendFactor.VK_BLEND_FACTOR_SRC_ALPHA_SATURATE;
1990 enum VK_BLEND_FACTOR_SRC1_COLOR                  = VkBlendFactor.VK_BLEND_FACTOR_SRC1_COLOR;
1991 enum VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR        = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR;
1992 enum VK_BLEND_FACTOR_SRC1_ALPHA                  = VkBlendFactor.VK_BLEND_FACTOR_SRC1_ALPHA;
1993 enum VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA        = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA;
1994 enum VK_BLEND_FACTOR_BEGIN_RANGE                 = VkBlendFactor.VK_BLEND_FACTOR_BEGIN_RANGE;
1995 enum VK_BLEND_FACTOR_END_RANGE                   = VkBlendFactor.VK_BLEND_FACTOR_END_RANGE;
1996 enum VK_BLEND_FACTOR_RANGE_SIZE                  = VkBlendFactor.VK_BLEND_FACTOR_RANGE_SIZE;
1997 enum VK_BLEND_FACTOR_MAX_ENUM                    = VkBlendFactor.VK_BLEND_FACTOR_MAX_ENUM;
1998 
1999 enum VkBlendOp {
2000     VK_BLEND_OP_ADD                      = 0,
2001     VK_BLEND_OP_SUBTRACT                 = 1,
2002     VK_BLEND_OP_REVERSE_SUBTRACT         = 2,
2003     VK_BLEND_OP_MIN                      = 3,
2004     VK_BLEND_OP_MAX                      = 4,
2005     VK_BLEND_OP_ZERO_EXT                 = 1000148000,
2006     VK_BLEND_OP_SRC_EXT                  = 1000148001,
2007     VK_BLEND_OP_DST_EXT                  = 1000148002,
2008     VK_BLEND_OP_SRC_OVER_EXT             = 1000148003,
2009     VK_BLEND_OP_DST_OVER_EXT             = 1000148004,
2010     VK_BLEND_OP_SRC_IN_EXT               = 1000148005,
2011     VK_BLEND_OP_DST_IN_EXT               = 1000148006,
2012     VK_BLEND_OP_SRC_OUT_EXT              = 1000148007,
2013     VK_BLEND_OP_DST_OUT_EXT              = 1000148008,
2014     VK_BLEND_OP_SRC_ATOP_EXT             = 1000148009,
2015     VK_BLEND_OP_DST_ATOP_EXT             = 1000148010,
2016     VK_BLEND_OP_XOR_EXT                  = 1000148011,
2017     VK_BLEND_OP_MULTIPLY_EXT             = 1000148012,
2018     VK_BLEND_OP_SCREEN_EXT               = 1000148013,
2019     VK_BLEND_OP_OVERLAY_EXT              = 1000148014,
2020     VK_BLEND_OP_DARKEN_EXT               = 1000148015,
2021     VK_BLEND_OP_LIGHTEN_EXT              = 1000148016,
2022     VK_BLEND_OP_COLORDODGE_EXT           = 1000148017,
2023     VK_BLEND_OP_COLORBURN_EXT            = 1000148018,
2024     VK_BLEND_OP_HARDLIGHT_EXT            = 1000148019,
2025     VK_BLEND_OP_SOFTLIGHT_EXT            = 1000148020,
2026     VK_BLEND_OP_DIFFERENCE_EXT           = 1000148021,
2027     VK_BLEND_OP_EXCLUSION_EXT            = 1000148022,
2028     VK_BLEND_OP_INVERT_EXT               = 1000148023,
2029     VK_BLEND_OP_INVERT_RGB_EXT           = 1000148024,
2030     VK_BLEND_OP_LINEARDODGE_EXT          = 1000148025,
2031     VK_BLEND_OP_LINEARBURN_EXT           = 1000148026,
2032     VK_BLEND_OP_VIVIDLIGHT_EXT           = 1000148027,
2033     VK_BLEND_OP_LINEARLIGHT_EXT          = 1000148028,
2034     VK_BLEND_OP_PINLIGHT_EXT             = 1000148029,
2035     VK_BLEND_OP_HARDMIX_EXT              = 1000148030,
2036     VK_BLEND_OP_HSL_HUE_EXT              = 1000148031,
2037     VK_BLEND_OP_HSL_SATURATION_EXT       = 1000148032,
2038     VK_BLEND_OP_HSL_COLOR_EXT            = 1000148033,
2039     VK_BLEND_OP_HSL_LUMINOSITY_EXT       = 1000148034,
2040     VK_BLEND_OP_PLUS_EXT                 = 1000148035,
2041     VK_BLEND_OP_PLUS_CLAMPED_EXT         = 1000148036,
2042     VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT   = 1000148037,
2043     VK_BLEND_OP_PLUS_DARKER_EXT          = 1000148038,
2044     VK_BLEND_OP_MINUS_EXT                = 1000148039,
2045     VK_BLEND_OP_MINUS_CLAMPED_EXT        = 1000148040,
2046     VK_BLEND_OP_CONTRAST_EXT             = 1000148041,
2047     VK_BLEND_OP_INVERT_OVG_EXT           = 1000148042,
2048     VK_BLEND_OP_RED_EXT                  = 1000148043,
2049     VK_BLEND_OP_GREEN_EXT                = 1000148044,
2050     VK_BLEND_OP_BLUE_EXT                 = 1000148045,
2051     VK_BLEND_OP_BEGIN_RANGE              = VK_BLEND_OP_ADD,
2052     VK_BLEND_OP_END_RANGE                = VK_BLEND_OP_MAX,
2053     VK_BLEND_OP_RANGE_SIZE               = VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1,
2054     VK_BLEND_OP_MAX_ENUM                 = 0x7FFFFFFF
2055 }
2056 
2057 enum VK_BLEND_OP_ADD                     = VkBlendOp.VK_BLEND_OP_ADD;
2058 enum VK_BLEND_OP_SUBTRACT                = VkBlendOp.VK_BLEND_OP_SUBTRACT;
2059 enum VK_BLEND_OP_REVERSE_SUBTRACT        = VkBlendOp.VK_BLEND_OP_REVERSE_SUBTRACT;
2060 enum VK_BLEND_OP_MIN                     = VkBlendOp.VK_BLEND_OP_MIN;
2061 enum VK_BLEND_OP_MAX                     = VkBlendOp.VK_BLEND_OP_MAX;
2062 enum VK_BLEND_OP_ZERO_EXT                = VkBlendOp.VK_BLEND_OP_ZERO_EXT;
2063 enum VK_BLEND_OP_SRC_EXT                 = VkBlendOp.VK_BLEND_OP_SRC_EXT;
2064 enum VK_BLEND_OP_DST_EXT                 = VkBlendOp.VK_BLEND_OP_DST_EXT;
2065 enum VK_BLEND_OP_SRC_OVER_EXT            = VkBlendOp.VK_BLEND_OP_SRC_OVER_EXT;
2066 enum VK_BLEND_OP_DST_OVER_EXT            = VkBlendOp.VK_BLEND_OP_DST_OVER_EXT;
2067 enum VK_BLEND_OP_SRC_IN_EXT              = VkBlendOp.VK_BLEND_OP_SRC_IN_EXT;
2068 enum VK_BLEND_OP_DST_IN_EXT              = VkBlendOp.VK_BLEND_OP_DST_IN_EXT;
2069 enum VK_BLEND_OP_SRC_OUT_EXT             = VkBlendOp.VK_BLEND_OP_SRC_OUT_EXT;
2070 enum VK_BLEND_OP_DST_OUT_EXT             = VkBlendOp.VK_BLEND_OP_DST_OUT_EXT;
2071 enum VK_BLEND_OP_SRC_ATOP_EXT            = VkBlendOp.VK_BLEND_OP_SRC_ATOP_EXT;
2072 enum VK_BLEND_OP_DST_ATOP_EXT            = VkBlendOp.VK_BLEND_OP_DST_ATOP_EXT;
2073 enum VK_BLEND_OP_XOR_EXT                 = VkBlendOp.VK_BLEND_OP_XOR_EXT;
2074 enum VK_BLEND_OP_MULTIPLY_EXT            = VkBlendOp.VK_BLEND_OP_MULTIPLY_EXT;
2075 enum VK_BLEND_OP_SCREEN_EXT              = VkBlendOp.VK_BLEND_OP_SCREEN_EXT;
2076 enum VK_BLEND_OP_OVERLAY_EXT             = VkBlendOp.VK_BLEND_OP_OVERLAY_EXT;
2077 enum VK_BLEND_OP_DARKEN_EXT              = VkBlendOp.VK_BLEND_OP_DARKEN_EXT;
2078 enum VK_BLEND_OP_LIGHTEN_EXT             = VkBlendOp.VK_BLEND_OP_LIGHTEN_EXT;
2079 enum VK_BLEND_OP_COLORDODGE_EXT          = VkBlendOp.VK_BLEND_OP_COLORDODGE_EXT;
2080 enum VK_BLEND_OP_COLORBURN_EXT           = VkBlendOp.VK_BLEND_OP_COLORBURN_EXT;
2081 enum VK_BLEND_OP_HARDLIGHT_EXT           = VkBlendOp.VK_BLEND_OP_HARDLIGHT_EXT;
2082 enum VK_BLEND_OP_SOFTLIGHT_EXT           = VkBlendOp.VK_BLEND_OP_SOFTLIGHT_EXT;
2083 enum VK_BLEND_OP_DIFFERENCE_EXT          = VkBlendOp.VK_BLEND_OP_DIFFERENCE_EXT;
2084 enum VK_BLEND_OP_EXCLUSION_EXT           = VkBlendOp.VK_BLEND_OP_EXCLUSION_EXT;
2085 enum VK_BLEND_OP_INVERT_EXT              = VkBlendOp.VK_BLEND_OP_INVERT_EXT;
2086 enum VK_BLEND_OP_INVERT_RGB_EXT          = VkBlendOp.VK_BLEND_OP_INVERT_RGB_EXT;
2087 enum VK_BLEND_OP_LINEARDODGE_EXT         = VkBlendOp.VK_BLEND_OP_LINEARDODGE_EXT;
2088 enum VK_BLEND_OP_LINEARBURN_EXT          = VkBlendOp.VK_BLEND_OP_LINEARBURN_EXT;
2089 enum VK_BLEND_OP_VIVIDLIGHT_EXT          = VkBlendOp.VK_BLEND_OP_VIVIDLIGHT_EXT;
2090 enum VK_BLEND_OP_LINEARLIGHT_EXT         = VkBlendOp.VK_BLEND_OP_LINEARLIGHT_EXT;
2091 enum VK_BLEND_OP_PINLIGHT_EXT            = VkBlendOp.VK_BLEND_OP_PINLIGHT_EXT;
2092 enum VK_BLEND_OP_HARDMIX_EXT             = VkBlendOp.VK_BLEND_OP_HARDMIX_EXT;
2093 enum VK_BLEND_OP_HSL_HUE_EXT             = VkBlendOp.VK_BLEND_OP_HSL_HUE_EXT;
2094 enum VK_BLEND_OP_HSL_SATURATION_EXT      = VkBlendOp.VK_BLEND_OP_HSL_SATURATION_EXT;
2095 enum VK_BLEND_OP_HSL_COLOR_EXT           = VkBlendOp.VK_BLEND_OP_HSL_COLOR_EXT;
2096 enum VK_BLEND_OP_HSL_LUMINOSITY_EXT      = VkBlendOp.VK_BLEND_OP_HSL_LUMINOSITY_EXT;
2097 enum VK_BLEND_OP_PLUS_EXT                = VkBlendOp.VK_BLEND_OP_PLUS_EXT;
2098 enum VK_BLEND_OP_PLUS_CLAMPED_EXT        = VkBlendOp.VK_BLEND_OP_PLUS_CLAMPED_EXT;
2099 enum VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT  = VkBlendOp.VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT;
2100 enum VK_BLEND_OP_PLUS_DARKER_EXT         = VkBlendOp.VK_BLEND_OP_PLUS_DARKER_EXT;
2101 enum VK_BLEND_OP_MINUS_EXT               = VkBlendOp.VK_BLEND_OP_MINUS_EXT;
2102 enum VK_BLEND_OP_MINUS_CLAMPED_EXT       = VkBlendOp.VK_BLEND_OP_MINUS_CLAMPED_EXT;
2103 enum VK_BLEND_OP_CONTRAST_EXT            = VkBlendOp.VK_BLEND_OP_CONTRAST_EXT;
2104 enum VK_BLEND_OP_INVERT_OVG_EXT          = VkBlendOp.VK_BLEND_OP_INVERT_OVG_EXT;
2105 enum VK_BLEND_OP_RED_EXT                 = VkBlendOp.VK_BLEND_OP_RED_EXT;
2106 enum VK_BLEND_OP_GREEN_EXT               = VkBlendOp.VK_BLEND_OP_GREEN_EXT;
2107 enum VK_BLEND_OP_BLUE_EXT                = VkBlendOp.VK_BLEND_OP_BLUE_EXT;
2108 enum VK_BLEND_OP_BEGIN_RANGE             = VkBlendOp.VK_BLEND_OP_BEGIN_RANGE;
2109 enum VK_BLEND_OP_END_RANGE               = VkBlendOp.VK_BLEND_OP_END_RANGE;
2110 enum VK_BLEND_OP_RANGE_SIZE              = VkBlendOp.VK_BLEND_OP_RANGE_SIZE;
2111 enum VK_BLEND_OP_MAX_ENUM                = VkBlendOp.VK_BLEND_OP_MAX_ENUM;
2112 
2113 enum VkDynamicState {
2114     VK_DYNAMIC_STATE_VIEWPORT                            = 0,
2115     VK_DYNAMIC_STATE_SCISSOR                             = 1,
2116     VK_DYNAMIC_STATE_LINE_WIDTH                          = 2,
2117     VK_DYNAMIC_STATE_DEPTH_BIAS                          = 3,
2118     VK_DYNAMIC_STATE_BLEND_CONSTANTS                     = 4,
2119     VK_DYNAMIC_STATE_DEPTH_BOUNDS                        = 5,
2120     VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK                = 6,
2121     VK_DYNAMIC_STATE_STENCIL_WRITE_MASK                  = 7,
2122     VK_DYNAMIC_STATE_STENCIL_REFERENCE                   = 8,
2123     VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV               = 1000087000,
2124     VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT               = 1000099000,
2125     VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT                = 1000143000,
2126     VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV    = 1000164004,
2127     VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV     = 1000164006,
2128     VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV                = 1000205001,
2129     VK_DYNAMIC_STATE_BEGIN_RANGE                         = VK_DYNAMIC_STATE_VIEWPORT,
2130     VK_DYNAMIC_STATE_END_RANGE                           = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
2131     VK_DYNAMIC_STATE_RANGE_SIZE                          = VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1,
2132     VK_DYNAMIC_STATE_MAX_ENUM                            = 0x7FFFFFFF
2133 }
2134 
2135 enum VK_DYNAMIC_STATE_VIEWPORT                           = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT;
2136 enum VK_DYNAMIC_STATE_SCISSOR                            = VkDynamicState.VK_DYNAMIC_STATE_SCISSOR;
2137 enum VK_DYNAMIC_STATE_LINE_WIDTH                         = VkDynamicState.VK_DYNAMIC_STATE_LINE_WIDTH;
2138 enum VK_DYNAMIC_STATE_DEPTH_BIAS                         = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_BIAS;
2139 enum VK_DYNAMIC_STATE_BLEND_CONSTANTS                    = VkDynamicState.VK_DYNAMIC_STATE_BLEND_CONSTANTS;
2140 enum VK_DYNAMIC_STATE_DEPTH_BOUNDS                       = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_BOUNDS;
2141 enum VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK               = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK;
2142 enum VK_DYNAMIC_STATE_STENCIL_WRITE_MASK                 = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_WRITE_MASK;
2143 enum VK_DYNAMIC_STATE_STENCIL_REFERENCE                  = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_REFERENCE;
2144 enum VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV              = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV;
2145 enum VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT              = VkDynamicState.VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT;
2146 enum VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT               = VkDynamicState.VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT;
2147 enum VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV   = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV;
2148 enum VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV    = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV;
2149 enum VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV               = VkDynamicState.VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV;
2150 enum VK_DYNAMIC_STATE_BEGIN_RANGE                        = VkDynamicState.VK_DYNAMIC_STATE_BEGIN_RANGE;
2151 enum VK_DYNAMIC_STATE_END_RANGE                          = VkDynamicState.VK_DYNAMIC_STATE_END_RANGE;
2152 enum VK_DYNAMIC_STATE_RANGE_SIZE                         = VkDynamicState.VK_DYNAMIC_STATE_RANGE_SIZE;
2153 enum VK_DYNAMIC_STATE_MAX_ENUM                           = VkDynamicState.VK_DYNAMIC_STATE_MAX_ENUM;
2154 
2155 enum VkFilter {
2156     VK_FILTER_NEAREST            = 0,
2157     VK_FILTER_LINEAR             = 1,
2158     VK_FILTER_CUBIC_IMG          = 1000015000,
2159     VK_FILTER_CUBIC_EXT          = VK_FILTER_CUBIC_IMG,
2160     VK_FILTER_BEGIN_RANGE        = VK_FILTER_NEAREST,
2161     VK_FILTER_END_RANGE          = VK_FILTER_LINEAR,
2162     VK_FILTER_RANGE_SIZE         = VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1,
2163     VK_FILTER_MAX_ENUM           = 0x7FFFFFFF
2164 }
2165 
2166 enum VK_FILTER_NEAREST           = VkFilter.VK_FILTER_NEAREST;
2167 enum VK_FILTER_LINEAR            = VkFilter.VK_FILTER_LINEAR;
2168 enum VK_FILTER_CUBIC_IMG         = VkFilter.VK_FILTER_CUBIC_IMG;
2169 enum VK_FILTER_CUBIC_EXT         = VkFilter.VK_FILTER_CUBIC_EXT;
2170 enum VK_FILTER_BEGIN_RANGE       = VkFilter.VK_FILTER_BEGIN_RANGE;
2171 enum VK_FILTER_END_RANGE         = VkFilter.VK_FILTER_END_RANGE;
2172 enum VK_FILTER_RANGE_SIZE        = VkFilter.VK_FILTER_RANGE_SIZE;
2173 enum VK_FILTER_MAX_ENUM          = VkFilter.VK_FILTER_MAX_ENUM;
2174 
2175 enum VkSamplerMipmapMode {
2176     VK_SAMPLER_MIPMAP_MODE_NEAREST       = 0,
2177     VK_SAMPLER_MIPMAP_MODE_LINEAR        = 1,
2178     VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE   = VK_SAMPLER_MIPMAP_MODE_NEAREST,
2179     VK_SAMPLER_MIPMAP_MODE_END_RANGE     = VK_SAMPLER_MIPMAP_MODE_LINEAR,
2180     VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE    = VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1,
2181     VK_SAMPLER_MIPMAP_MODE_MAX_ENUM      = 0x7FFFFFFF
2182 }
2183 
2184 enum VK_SAMPLER_MIPMAP_MODE_NEAREST      = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_NEAREST;
2185 enum VK_SAMPLER_MIPMAP_MODE_LINEAR       = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_LINEAR;
2186 enum VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE  = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE;
2187 enum VK_SAMPLER_MIPMAP_MODE_END_RANGE    = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_END_RANGE;
2188 enum VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE   = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE;
2189 enum VK_SAMPLER_MIPMAP_MODE_MAX_ENUM     = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_MAX_ENUM;
2190 
2191 enum VkSamplerAddressMode {
2192     VK_SAMPLER_ADDRESS_MODE_REPEAT                       = 0,
2193     VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT              = 1,
2194     VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE                = 2,
2195     VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER              = 3,
2196     VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE         = 4,
2197     VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE                  = VK_SAMPLER_ADDRESS_MODE_REPEAT,
2198     VK_SAMPLER_ADDRESS_MODE_END_RANGE                    = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
2199     VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE                   = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1,
2200     VK_SAMPLER_ADDRESS_MODE_MAX_ENUM                     = 0x7FFFFFFF
2201 }
2202 
2203 enum VK_SAMPLER_ADDRESS_MODE_REPEAT                      = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_REPEAT;
2204 enum VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT             = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT;
2205 enum VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE               = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
2206 enum VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER             = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER;
2207 enum VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE        = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
2208 enum VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE                 = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE;
2209 enum VK_SAMPLER_ADDRESS_MODE_END_RANGE                   = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_END_RANGE;
2210 enum VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE                  = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE;
2211 enum VK_SAMPLER_ADDRESS_MODE_MAX_ENUM                    = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MAX_ENUM;
2212 
2213 enum VkBorderColor {
2214     VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK      = 0,
2215     VK_BORDER_COLOR_INT_TRANSPARENT_BLACK        = 1,
2216     VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK           = 2,
2217     VK_BORDER_COLOR_INT_OPAQUE_BLACK             = 3,
2218     VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE           = 4,
2219     VK_BORDER_COLOR_INT_OPAQUE_WHITE             = 5,
2220     VK_BORDER_COLOR_BEGIN_RANGE                  = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
2221     VK_BORDER_COLOR_END_RANGE                    = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
2222     VK_BORDER_COLOR_RANGE_SIZE                   = VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1,
2223     VK_BORDER_COLOR_MAX_ENUM                     = 0x7FFFFFFF
2224 }
2225 
2226 enum VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK     = VkBorderColor.VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK;
2227 enum VK_BORDER_COLOR_INT_TRANSPARENT_BLACK       = VkBorderColor.VK_BORDER_COLOR_INT_TRANSPARENT_BLACK;
2228 enum VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK          = VkBorderColor.VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK;
2229 enum VK_BORDER_COLOR_INT_OPAQUE_BLACK            = VkBorderColor.VK_BORDER_COLOR_INT_OPAQUE_BLACK;
2230 enum VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE          = VkBorderColor.VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE;
2231 enum VK_BORDER_COLOR_INT_OPAQUE_WHITE            = VkBorderColor.VK_BORDER_COLOR_INT_OPAQUE_WHITE;
2232 enum VK_BORDER_COLOR_BEGIN_RANGE                 = VkBorderColor.VK_BORDER_COLOR_BEGIN_RANGE;
2233 enum VK_BORDER_COLOR_END_RANGE                   = VkBorderColor.VK_BORDER_COLOR_END_RANGE;
2234 enum VK_BORDER_COLOR_RANGE_SIZE                  = VkBorderColor.VK_BORDER_COLOR_RANGE_SIZE;
2235 enum VK_BORDER_COLOR_MAX_ENUM                    = VkBorderColor.VK_BORDER_COLOR_MAX_ENUM;
2236 
2237 enum VkDescriptorType {
2238     VK_DESCRIPTOR_TYPE_SAMPLER                           = 0,
2239     VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER            = 1,
2240     VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE                     = 2,
2241     VK_DESCRIPTOR_TYPE_STORAGE_IMAGE                     = 3,
2242     VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER              = 4,
2243     VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER              = 5,
2244     VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER                    = 6,
2245     VK_DESCRIPTOR_TYPE_STORAGE_BUFFER                    = 7,
2246     VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC            = 8,
2247     VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC            = 9,
2248     VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT                  = 10,
2249     VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT          = 1000138000,
2250     VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV         = 1000165000,
2251     VK_DESCRIPTOR_TYPE_BEGIN_RANGE                       = VK_DESCRIPTOR_TYPE_SAMPLER,
2252     VK_DESCRIPTOR_TYPE_END_RANGE                         = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
2253     VK_DESCRIPTOR_TYPE_RANGE_SIZE                        = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1,
2254     VK_DESCRIPTOR_TYPE_MAX_ENUM                          = 0x7FFFFFFF
2255 }
2256 
2257 enum VK_DESCRIPTOR_TYPE_SAMPLER                          = VkDescriptorType.VK_DESCRIPTOR_TYPE_SAMPLER;
2258 enum VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER           = VkDescriptorType.VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
2259 enum VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE                    = VkDescriptorType.VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
2260 enum VK_DESCRIPTOR_TYPE_STORAGE_IMAGE                    = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_IMAGE;
2261 enum VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER             = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
2262 enum VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER             = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER;
2263 enum VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER                   = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
2264 enum VK_DESCRIPTOR_TYPE_STORAGE_BUFFER                   = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
2265 enum VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC           = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;
2266 enum VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC           = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
2267 enum VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT                 = VkDescriptorType.VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
2268 enum VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT         = VkDescriptorType.VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
2269 enum VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV        = VkDescriptorType.VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV;
2270 enum VK_DESCRIPTOR_TYPE_BEGIN_RANGE                      = VkDescriptorType.VK_DESCRIPTOR_TYPE_BEGIN_RANGE;
2271 enum VK_DESCRIPTOR_TYPE_END_RANGE                        = VkDescriptorType.VK_DESCRIPTOR_TYPE_END_RANGE;
2272 enum VK_DESCRIPTOR_TYPE_RANGE_SIZE                       = VkDescriptorType.VK_DESCRIPTOR_TYPE_RANGE_SIZE;
2273 enum VK_DESCRIPTOR_TYPE_MAX_ENUM                         = VkDescriptorType.VK_DESCRIPTOR_TYPE_MAX_ENUM;
2274 
2275 enum VkAttachmentLoadOp {
2276     VK_ATTACHMENT_LOAD_OP_LOAD           = 0,
2277     VK_ATTACHMENT_LOAD_OP_CLEAR          = 1,
2278     VK_ATTACHMENT_LOAD_OP_DONT_CARE      = 2,
2279     VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE    = VK_ATTACHMENT_LOAD_OP_LOAD,
2280     VK_ATTACHMENT_LOAD_OP_END_RANGE      = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
2281     VK_ATTACHMENT_LOAD_OP_RANGE_SIZE     = VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1,
2282     VK_ATTACHMENT_LOAD_OP_MAX_ENUM       = 0x7FFFFFFF
2283 }
2284 
2285 enum VK_ATTACHMENT_LOAD_OP_LOAD          = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_LOAD;
2286 enum VK_ATTACHMENT_LOAD_OP_CLEAR         = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_CLEAR;
2287 enum VK_ATTACHMENT_LOAD_OP_DONT_CARE     = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_DONT_CARE;
2288 enum VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE   = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE;
2289 enum VK_ATTACHMENT_LOAD_OP_END_RANGE     = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_END_RANGE;
2290 enum VK_ATTACHMENT_LOAD_OP_RANGE_SIZE    = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_RANGE_SIZE;
2291 enum VK_ATTACHMENT_LOAD_OP_MAX_ENUM      = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_MAX_ENUM;
2292 
2293 enum VkAttachmentStoreOp {
2294     VK_ATTACHMENT_STORE_OP_STORE         = 0,
2295     VK_ATTACHMENT_STORE_OP_DONT_CARE     = 1,
2296     VK_ATTACHMENT_STORE_OP_BEGIN_RANGE   = VK_ATTACHMENT_STORE_OP_STORE,
2297     VK_ATTACHMENT_STORE_OP_END_RANGE     = VK_ATTACHMENT_STORE_OP_DONT_CARE,
2298     VK_ATTACHMENT_STORE_OP_RANGE_SIZE    = VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1,
2299     VK_ATTACHMENT_STORE_OP_MAX_ENUM      = 0x7FFFFFFF
2300 }
2301 
2302 enum VK_ATTACHMENT_STORE_OP_STORE        = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_STORE;
2303 enum VK_ATTACHMENT_STORE_OP_DONT_CARE    = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_DONT_CARE;
2304 enum VK_ATTACHMENT_STORE_OP_BEGIN_RANGE  = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_BEGIN_RANGE;
2305 enum VK_ATTACHMENT_STORE_OP_END_RANGE    = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_END_RANGE;
2306 enum VK_ATTACHMENT_STORE_OP_RANGE_SIZE   = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_RANGE_SIZE;
2307 enum VK_ATTACHMENT_STORE_OP_MAX_ENUM     = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_MAX_ENUM;
2308 
2309 enum VkPipelineBindPoint {
2310     VK_PIPELINE_BIND_POINT_GRAPHICS              = 0,
2311     VK_PIPELINE_BIND_POINT_COMPUTE               = 1,
2312     VK_PIPELINE_BIND_POINT_RAY_TRACING_NV        = 1000165000,
2313     VK_PIPELINE_BIND_POINT_BEGIN_RANGE           = VK_PIPELINE_BIND_POINT_GRAPHICS,
2314     VK_PIPELINE_BIND_POINT_END_RANGE             = VK_PIPELINE_BIND_POINT_COMPUTE,
2315     VK_PIPELINE_BIND_POINT_RANGE_SIZE            = VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1,
2316     VK_PIPELINE_BIND_POINT_MAX_ENUM              = 0x7FFFFFFF
2317 }
2318 
2319 enum VK_PIPELINE_BIND_POINT_GRAPHICS             = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_GRAPHICS;
2320 enum VK_PIPELINE_BIND_POINT_COMPUTE              = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_COMPUTE;
2321 enum VK_PIPELINE_BIND_POINT_RAY_TRACING_NV       = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_RAY_TRACING_NV;
2322 enum VK_PIPELINE_BIND_POINT_BEGIN_RANGE          = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_BEGIN_RANGE;
2323 enum VK_PIPELINE_BIND_POINT_END_RANGE            = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_END_RANGE;
2324 enum VK_PIPELINE_BIND_POINT_RANGE_SIZE           = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_RANGE_SIZE;
2325 enum VK_PIPELINE_BIND_POINT_MAX_ENUM             = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_MAX_ENUM;
2326 
2327 enum VkCommandBufferLevel {
2328     VK_COMMAND_BUFFER_LEVEL_PRIMARY      = 0,
2329     VK_COMMAND_BUFFER_LEVEL_SECONDARY    = 1,
2330     VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE  = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
2331     VK_COMMAND_BUFFER_LEVEL_END_RANGE    = VK_COMMAND_BUFFER_LEVEL_SECONDARY,
2332     VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE   = VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1,
2333     VK_COMMAND_BUFFER_LEVEL_MAX_ENUM     = 0x7FFFFFFF
2334 }
2335 
2336 enum VK_COMMAND_BUFFER_LEVEL_PRIMARY     = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_PRIMARY;
2337 enum VK_COMMAND_BUFFER_LEVEL_SECONDARY   = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_SECONDARY;
2338 enum VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE;
2339 enum VK_COMMAND_BUFFER_LEVEL_END_RANGE   = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_END_RANGE;
2340 enum VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE  = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE;
2341 enum VK_COMMAND_BUFFER_LEVEL_MAX_ENUM    = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_MAX_ENUM;
2342 
2343 enum VkIndexType {
2344     VK_INDEX_TYPE_UINT16         = 0,
2345     VK_INDEX_TYPE_UINT32         = 1,
2346     VK_INDEX_TYPE_NONE_NV        = 1000165000,
2347     VK_INDEX_TYPE_BEGIN_RANGE    = VK_INDEX_TYPE_UINT16,
2348     VK_INDEX_TYPE_END_RANGE      = VK_INDEX_TYPE_UINT32,
2349     VK_INDEX_TYPE_RANGE_SIZE     = VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1,
2350     VK_INDEX_TYPE_MAX_ENUM       = 0x7FFFFFFF
2351 }
2352 
2353 enum VK_INDEX_TYPE_UINT16        = VkIndexType.VK_INDEX_TYPE_UINT16;
2354 enum VK_INDEX_TYPE_UINT32        = VkIndexType.VK_INDEX_TYPE_UINT32;
2355 enum VK_INDEX_TYPE_NONE_NV       = VkIndexType.VK_INDEX_TYPE_NONE_NV;
2356 enum VK_INDEX_TYPE_BEGIN_RANGE   = VkIndexType.VK_INDEX_TYPE_BEGIN_RANGE;
2357 enum VK_INDEX_TYPE_END_RANGE     = VkIndexType.VK_INDEX_TYPE_END_RANGE;
2358 enum VK_INDEX_TYPE_RANGE_SIZE    = VkIndexType.VK_INDEX_TYPE_RANGE_SIZE;
2359 enum VK_INDEX_TYPE_MAX_ENUM      = VkIndexType.VK_INDEX_TYPE_MAX_ENUM;
2360 
2361 enum VkSubpassContents {
2362     VK_SUBPASS_CONTENTS_INLINE                           = 0,
2363     VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS        = 1,
2364     VK_SUBPASS_CONTENTS_BEGIN_RANGE                      = VK_SUBPASS_CONTENTS_INLINE,
2365     VK_SUBPASS_CONTENTS_END_RANGE                        = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,
2366     VK_SUBPASS_CONTENTS_RANGE_SIZE                       = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1,
2367     VK_SUBPASS_CONTENTS_MAX_ENUM                         = 0x7FFFFFFF
2368 }
2369 
2370 enum VK_SUBPASS_CONTENTS_INLINE                          = VkSubpassContents.VK_SUBPASS_CONTENTS_INLINE;
2371 enum VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS       = VkSubpassContents.VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS;
2372 enum VK_SUBPASS_CONTENTS_BEGIN_RANGE                     = VkSubpassContents.VK_SUBPASS_CONTENTS_BEGIN_RANGE;
2373 enum VK_SUBPASS_CONTENTS_END_RANGE                       = VkSubpassContents.VK_SUBPASS_CONTENTS_END_RANGE;
2374 enum VK_SUBPASS_CONTENTS_RANGE_SIZE                      = VkSubpassContents.VK_SUBPASS_CONTENTS_RANGE_SIZE;
2375 enum VK_SUBPASS_CONTENTS_MAX_ENUM                        = VkSubpassContents.VK_SUBPASS_CONTENTS_MAX_ENUM;
2376 
2377 enum VkObjectType {
2378     VK_OBJECT_TYPE_UNKNOWN                               = 0,
2379     VK_OBJECT_TYPE_INSTANCE                              = 1,
2380     VK_OBJECT_TYPE_PHYSICAL_DEVICE                       = 2,
2381     VK_OBJECT_TYPE_DEVICE                                = 3,
2382     VK_OBJECT_TYPE_QUEUE                                 = 4,
2383     VK_OBJECT_TYPE_SEMAPHORE                             = 5,
2384     VK_OBJECT_TYPE_COMMAND_BUFFER                        = 6,
2385     VK_OBJECT_TYPE_FENCE                                 = 7,
2386     VK_OBJECT_TYPE_DEVICE_MEMORY                         = 8,
2387     VK_OBJECT_TYPE_BUFFER                                = 9,
2388     VK_OBJECT_TYPE_IMAGE                                 = 10,
2389     VK_OBJECT_TYPE_EVENT                                 = 11,
2390     VK_OBJECT_TYPE_QUERY_POOL                            = 12,
2391     VK_OBJECT_TYPE_BUFFER_VIEW                           = 13,
2392     VK_OBJECT_TYPE_IMAGE_VIEW                            = 14,
2393     VK_OBJECT_TYPE_SHADER_MODULE                         = 15,
2394     VK_OBJECT_TYPE_PIPELINE_CACHE                        = 16,
2395     VK_OBJECT_TYPE_PIPELINE_LAYOUT                       = 17,
2396     VK_OBJECT_TYPE_RENDER_PASS                           = 18,
2397     VK_OBJECT_TYPE_PIPELINE                              = 19,
2398     VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT                 = 20,
2399     VK_OBJECT_TYPE_SAMPLER                               = 21,
2400     VK_OBJECT_TYPE_DESCRIPTOR_POOL                       = 22,
2401     VK_OBJECT_TYPE_DESCRIPTOR_SET                        = 23,
2402     VK_OBJECT_TYPE_FRAMEBUFFER                           = 24,
2403     VK_OBJECT_TYPE_COMMAND_POOL                          = 25,
2404     VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION              = 1000156000,
2405     VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE            = 1000085000,
2406     VK_OBJECT_TYPE_SURFACE_KHR                           = 1000000000,
2407     VK_OBJECT_TYPE_SWAPCHAIN_KHR                         = 1000001000,
2408     VK_OBJECT_TYPE_DISPLAY_KHR                           = 1000002000,
2409     VK_OBJECT_TYPE_DISPLAY_MODE_KHR                      = 1000002001,
2410     VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT             = 1000011000,
2411     VK_OBJECT_TYPE_OBJECT_TABLE_NVX                      = 1000086000,
2412     VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX          = 1000086001,
2413     VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT             = 1000128000,
2414     VK_OBJECT_TYPE_VALIDATION_CACHE_EXT                  = 1000160000,
2415     VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV             = 1000165000,
2416     VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR        = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
2417     VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR          = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
2418     VK_OBJECT_TYPE_BEGIN_RANGE                           = VK_OBJECT_TYPE_UNKNOWN,
2419     VK_OBJECT_TYPE_END_RANGE                             = VK_OBJECT_TYPE_COMMAND_POOL,
2420     VK_OBJECT_TYPE_RANGE_SIZE                            = VK_OBJECT_TYPE_COMMAND_POOL - VK_OBJECT_TYPE_UNKNOWN + 1,
2421     VK_OBJECT_TYPE_MAX_ENUM                              = 0x7FFFFFFF
2422 }
2423 
2424 enum VK_OBJECT_TYPE_UNKNOWN                              = VkObjectType.VK_OBJECT_TYPE_UNKNOWN;
2425 enum VK_OBJECT_TYPE_INSTANCE                             = VkObjectType.VK_OBJECT_TYPE_INSTANCE;
2426 enum VK_OBJECT_TYPE_PHYSICAL_DEVICE                      = VkObjectType.VK_OBJECT_TYPE_PHYSICAL_DEVICE;
2427 enum VK_OBJECT_TYPE_DEVICE                               = VkObjectType.VK_OBJECT_TYPE_DEVICE;
2428 enum VK_OBJECT_TYPE_QUEUE                                = VkObjectType.VK_OBJECT_TYPE_QUEUE;
2429 enum VK_OBJECT_TYPE_SEMAPHORE                            = VkObjectType.VK_OBJECT_TYPE_SEMAPHORE;
2430 enum VK_OBJECT_TYPE_COMMAND_BUFFER                       = VkObjectType.VK_OBJECT_TYPE_COMMAND_BUFFER;
2431 enum VK_OBJECT_TYPE_FENCE                                = VkObjectType.VK_OBJECT_TYPE_FENCE;
2432 enum VK_OBJECT_TYPE_DEVICE_MEMORY                        = VkObjectType.VK_OBJECT_TYPE_DEVICE_MEMORY;
2433 enum VK_OBJECT_TYPE_BUFFER                               = VkObjectType.VK_OBJECT_TYPE_BUFFER;
2434 enum VK_OBJECT_TYPE_IMAGE                                = VkObjectType.VK_OBJECT_TYPE_IMAGE;
2435 enum VK_OBJECT_TYPE_EVENT                                = VkObjectType.VK_OBJECT_TYPE_EVENT;
2436 enum VK_OBJECT_TYPE_QUERY_POOL                           = VkObjectType.VK_OBJECT_TYPE_QUERY_POOL;
2437 enum VK_OBJECT_TYPE_BUFFER_VIEW                          = VkObjectType.VK_OBJECT_TYPE_BUFFER_VIEW;
2438 enum VK_OBJECT_TYPE_IMAGE_VIEW                           = VkObjectType.VK_OBJECT_TYPE_IMAGE_VIEW;
2439 enum VK_OBJECT_TYPE_SHADER_MODULE                        = VkObjectType.VK_OBJECT_TYPE_SHADER_MODULE;
2440 enum VK_OBJECT_TYPE_PIPELINE_CACHE                       = VkObjectType.VK_OBJECT_TYPE_PIPELINE_CACHE;
2441 enum VK_OBJECT_TYPE_PIPELINE_LAYOUT                      = VkObjectType.VK_OBJECT_TYPE_PIPELINE_LAYOUT;
2442 enum VK_OBJECT_TYPE_RENDER_PASS                          = VkObjectType.VK_OBJECT_TYPE_RENDER_PASS;
2443 enum VK_OBJECT_TYPE_PIPELINE                             = VkObjectType.VK_OBJECT_TYPE_PIPELINE;
2444 enum VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT                = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT;
2445 enum VK_OBJECT_TYPE_SAMPLER                              = VkObjectType.VK_OBJECT_TYPE_SAMPLER;
2446 enum VK_OBJECT_TYPE_DESCRIPTOR_POOL                      = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_POOL;
2447 enum VK_OBJECT_TYPE_DESCRIPTOR_SET                       = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_SET;
2448 enum VK_OBJECT_TYPE_FRAMEBUFFER                          = VkObjectType.VK_OBJECT_TYPE_FRAMEBUFFER;
2449 enum VK_OBJECT_TYPE_COMMAND_POOL                         = VkObjectType.VK_OBJECT_TYPE_COMMAND_POOL;
2450 enum VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION             = VkObjectType.VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION;
2451 enum VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE           = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE;
2452 enum VK_OBJECT_TYPE_SURFACE_KHR                          = VkObjectType.VK_OBJECT_TYPE_SURFACE_KHR;
2453 enum VK_OBJECT_TYPE_SWAPCHAIN_KHR                        = VkObjectType.VK_OBJECT_TYPE_SWAPCHAIN_KHR;
2454 enum VK_OBJECT_TYPE_DISPLAY_KHR                          = VkObjectType.VK_OBJECT_TYPE_DISPLAY_KHR;
2455 enum VK_OBJECT_TYPE_DISPLAY_MODE_KHR                     = VkObjectType.VK_OBJECT_TYPE_DISPLAY_MODE_KHR;
2456 enum VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT            = VkObjectType.VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT;
2457 enum VK_OBJECT_TYPE_OBJECT_TABLE_NVX                     = VkObjectType.VK_OBJECT_TYPE_OBJECT_TABLE_NVX;
2458 enum VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX         = VkObjectType.VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX;
2459 enum VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT            = VkObjectType.VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT;
2460 enum VK_OBJECT_TYPE_VALIDATION_CACHE_EXT                 = VkObjectType.VK_OBJECT_TYPE_VALIDATION_CACHE_EXT;
2461 enum VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV            = VkObjectType.VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV;
2462 enum VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR       = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR;
2463 enum VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR         = VkObjectType.VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR;
2464 enum VK_OBJECT_TYPE_BEGIN_RANGE                          = VkObjectType.VK_OBJECT_TYPE_BEGIN_RANGE;
2465 enum VK_OBJECT_TYPE_END_RANGE                            = VkObjectType.VK_OBJECT_TYPE_END_RANGE;
2466 enum VK_OBJECT_TYPE_RANGE_SIZE                           = VkObjectType.VK_OBJECT_TYPE_RANGE_SIZE;
2467 enum VK_OBJECT_TYPE_MAX_ENUM                             = VkObjectType.VK_OBJECT_TYPE_MAX_ENUM;
2468 
2469 enum VkVendorId {
2470     VK_VENDOR_ID_VIV             = 0x10001,
2471     VK_VENDOR_ID_VSI             = 0x10002,
2472     VK_VENDOR_ID_KAZAN           = 0x10003,
2473     VK_VENDOR_ID_BEGIN_RANGE     = VK_VENDOR_ID_VIV,
2474     VK_VENDOR_ID_END_RANGE       = VK_VENDOR_ID_KAZAN,
2475     VK_VENDOR_ID_RANGE_SIZE      = VK_VENDOR_ID_KAZAN - VK_VENDOR_ID_VIV + 1,
2476     VK_VENDOR_ID_MAX_ENUM        = 0x7FFFFFFF
2477 }
2478 
2479 enum VK_VENDOR_ID_VIV            = VkVendorId.VK_VENDOR_ID_VIV;
2480 enum VK_VENDOR_ID_VSI            = VkVendorId.VK_VENDOR_ID_VSI;
2481 enum VK_VENDOR_ID_KAZAN          = VkVendorId.VK_VENDOR_ID_KAZAN;
2482 enum VK_VENDOR_ID_BEGIN_RANGE    = VkVendorId.VK_VENDOR_ID_BEGIN_RANGE;
2483 enum VK_VENDOR_ID_END_RANGE      = VkVendorId.VK_VENDOR_ID_END_RANGE;
2484 enum VK_VENDOR_ID_RANGE_SIZE     = VkVendorId.VK_VENDOR_ID_RANGE_SIZE;
2485 enum VK_VENDOR_ID_MAX_ENUM       = VkVendorId.VK_VENDOR_ID_MAX_ENUM;
2486 
2487 alias VkInstanceCreateFlags = VkFlags;
2488 
2489 enum VkFormatFeatureFlagBits {
2490     VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT                                                                  = 0x00000001,
2491     VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT                                                                  = 0x00000002,
2492     VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT                                                           = 0x00000004,
2493     VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT                                                           = 0x00000008,
2494     VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT                                                           = 0x00000010,
2495     VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT                                                    = 0x00000020,
2496     VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT                                                                  = 0x00000040,
2497     VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT                                                               = 0x00000080,
2498     VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT                                                         = 0x00000100,
2499     VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT                                                       = 0x00000200,
2500     VK_FORMAT_FEATURE_BLIT_SRC_BIT                                                                       = 0x00000400,
2501     VK_FORMAT_FEATURE_BLIT_DST_BIT                                                                       = 0x00000800,
2502     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT                                                    = 0x00001000,
2503     VK_FORMAT_FEATURE_TRANSFER_SRC_BIT                                                                   = 0x00004000,
2504     VK_FORMAT_FEATURE_TRANSFER_DST_BIT                                                                   = 0x00008000,
2505     VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT                                                        = 0x00020000,
2506     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT                                   = 0x00040000,
2507     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT                  = 0x00080000,
2508     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT                  = 0x00100000,
2509     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT        = 0x00200000,
2510     VK_FORMAT_FEATURE_DISJOINT_BIT                                                                       = 0x00400000,
2511     VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT                                                         = 0x00800000,
2512     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG                                                 = 0x00002000,
2513     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT                                                = 0x00010000,
2514     VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT                                                       = 0x01000000,
2515     VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR                                                               = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2516     VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR                                                               = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2517     VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR                                                    = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2518     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR                               = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2519     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR              = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2520     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR              = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2521     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,
2522     VK_FORMAT_FEATURE_DISJOINT_BIT_KHR                                                                   = VK_FORMAT_FEATURE_DISJOINT_BIT,
2523     VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR                                                     = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2524     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT                                                 = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2525     VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM                                                                 = 0x7FFFFFFF
2526 }
2527 
2528 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT                                                                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT;
2529 enum VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT                                                                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT;
2530 enum VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT                                                          = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT;
2531 enum VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT                                                          = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT;
2532 enum VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT                                                          = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT;
2533 enum VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT                                                   = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT;
2534 enum VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT                                                                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT;
2535 enum VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT                                                              = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT;
2536 enum VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT                                                        = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT;
2537 enum VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT;
2538 enum VK_FORMAT_FEATURE_BLIT_SRC_BIT                                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_BLIT_SRC_BIT;
2539 enum VK_FORMAT_FEATURE_BLIT_DST_BIT                                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_BLIT_DST_BIT;
2540 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT                                                   = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT;
2541 enum VK_FORMAT_FEATURE_TRANSFER_SRC_BIT                                                                  = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_SRC_BIT;
2542 enum VK_FORMAT_FEATURE_TRANSFER_DST_BIT                                                                  = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_DST_BIT;
2543 enum VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT                                                       = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT;
2544 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT                                  = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT;
2545 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT;
2546 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT                 = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT;
2547 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;
2548 enum VK_FORMAT_FEATURE_DISJOINT_BIT                                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_DISJOINT_BIT;
2549 enum VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT                                                        = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT;
2550 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG                                                = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG;
2551 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT                                               = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT;
2552 enum VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT                                                      = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT;
2553 enum VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR                                                              = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR;
2554 enum VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR                                                              = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR;
2555 enum VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR                                                   = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR;
2556 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR                              = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR;
2557 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;
2558 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;
2559 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;
2560 enum VK_FORMAT_FEATURE_DISJOINT_BIT_KHR                                                                  = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_DISJOINT_BIT_KHR;
2561 enum VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR                                                    = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR;
2562 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT                                                = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT;
2563 enum VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM                                                                = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM;
2564 alias VkFormatFeatureFlags = VkFlags;
2565 
2566 enum VkImageUsageFlagBits {
2567     VK_IMAGE_USAGE_TRANSFER_SRC_BIT              = 0x00000001,
2568     VK_IMAGE_USAGE_TRANSFER_DST_BIT              = 0x00000002,
2569     VK_IMAGE_USAGE_SAMPLED_BIT                   = 0x00000004,
2570     VK_IMAGE_USAGE_STORAGE_BIT                   = 0x00000008,
2571     VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT          = 0x00000010,
2572     VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT  = 0x00000020,
2573     VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT      = 0x00000040,
2574     VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT          = 0x00000080,
2575     VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV     = 0x00000100,
2576     VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT  = 0x00000200,
2577     VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
2578 }
2579 
2580 enum VK_IMAGE_USAGE_TRANSFER_SRC_BIT             = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSFER_SRC_BIT;
2581 enum VK_IMAGE_USAGE_TRANSFER_DST_BIT             = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSFER_DST_BIT;
2582 enum VK_IMAGE_USAGE_SAMPLED_BIT                  = VkImageUsageFlagBits.VK_IMAGE_USAGE_SAMPLED_BIT;
2583 enum VK_IMAGE_USAGE_STORAGE_BIT                  = VkImageUsageFlagBits.VK_IMAGE_USAGE_STORAGE_BIT;
2584 enum VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT         = VkImageUsageFlagBits.VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
2585 enum VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = VkImageUsageFlagBits.VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
2586 enum VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT     = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT;
2587 enum VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT         = VkImageUsageFlagBits.VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
2588 enum VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV    = VkImageUsageFlagBits.VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV;
2589 enum VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = VkImageUsageFlagBits.VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT;
2590 enum VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM           = VkImageUsageFlagBits.VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM;
2591 alias VkImageUsageFlags = VkFlags;
2592 
2593 enum VkImageCreateFlagBits {
2594     VK_IMAGE_CREATE_SPARSE_BINDING_BIT                           = 0x00000001,
2595     VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT                         = 0x00000002,
2596     VK_IMAGE_CREATE_SPARSE_ALIASED_BIT                           = 0x00000004,
2597     VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT                           = 0x00000008,
2598     VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT                          = 0x00000010,
2599     VK_IMAGE_CREATE_ALIAS_BIT                                    = 0x00000400,
2600     VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT              = 0x00000040,
2601     VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT                      = 0x00000020,
2602     VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT              = 0x00000080,
2603     VK_IMAGE_CREATE_EXTENDED_USAGE_BIT                           = 0x00000100,
2604     VK_IMAGE_CREATE_PROTECTED_BIT                                = 0x00000800,
2605     VK_IMAGE_CREATE_DISJOINT_BIT                                 = 0x00000200,
2606     VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV                        = 0x00002000,
2607     VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT    = 0x00001000,
2608     VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT                           = 0x00004000,
2609     VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR          = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2610     VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR                  = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2611     VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR          = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2612     VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR                       = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2613     VK_IMAGE_CREATE_DISJOINT_BIT_KHR                             = VK_IMAGE_CREATE_DISJOINT_BIT,
2614     VK_IMAGE_CREATE_ALIAS_BIT_KHR                                = VK_IMAGE_CREATE_ALIAS_BIT,
2615     VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM                           = 0x7FFFFFFF
2616 }
2617 
2618 enum VK_IMAGE_CREATE_SPARSE_BINDING_BIT                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_BINDING_BIT;
2619 enum VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT                        = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT;
2620 enum VK_IMAGE_CREATE_SPARSE_ALIASED_BIT                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_ALIASED_BIT;
2621 enum VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
2622 enum VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT                         = VkImageCreateFlagBits.VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
2623 enum VK_IMAGE_CREATE_ALIAS_BIT                                   = VkImageCreateFlagBits.VK_IMAGE_CREATE_ALIAS_BIT;
2624 enum VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT             = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT;
2625 enum VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT                     = VkImageCreateFlagBits.VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT;
2626 enum VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT             = VkImageCreateFlagBits.VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT;
2627 enum VK_IMAGE_CREATE_EXTENDED_USAGE_BIT                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_EXTENDED_USAGE_BIT;
2628 enum VK_IMAGE_CREATE_PROTECTED_BIT                               = VkImageCreateFlagBits.VK_IMAGE_CREATE_PROTECTED_BIT;
2629 enum VK_IMAGE_CREATE_DISJOINT_BIT                                = VkImageCreateFlagBits.VK_IMAGE_CREATE_DISJOINT_BIT;
2630 enum VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV                       = VkImageCreateFlagBits.VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV;
2631 enum VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT   = VkImageCreateFlagBits.VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT;
2632 enum VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT;
2633 enum VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR         = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR;
2634 enum VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR                 = VkImageCreateFlagBits.VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR;
2635 enum VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR         = VkImageCreateFlagBits.VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR;
2636 enum VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR                      = VkImageCreateFlagBits.VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR;
2637 enum VK_IMAGE_CREATE_DISJOINT_BIT_KHR                            = VkImageCreateFlagBits.VK_IMAGE_CREATE_DISJOINT_BIT_KHR;
2638 enum VK_IMAGE_CREATE_ALIAS_BIT_KHR                               = VkImageCreateFlagBits.VK_IMAGE_CREATE_ALIAS_BIT_KHR;
2639 enum VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM                          = VkImageCreateFlagBits.VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM;
2640 alias VkImageCreateFlags = VkFlags;
2641 
2642 enum VkSampleCountFlagBits {
2643     VK_SAMPLE_COUNT_1_BIT                        = 0x00000001,
2644     VK_SAMPLE_COUNT_2_BIT                        = 0x00000002,
2645     VK_SAMPLE_COUNT_4_BIT                        = 0x00000004,
2646     VK_SAMPLE_COUNT_8_BIT                        = 0x00000008,
2647     VK_SAMPLE_COUNT_16_BIT                       = 0x00000010,
2648     VK_SAMPLE_COUNT_32_BIT                       = 0x00000020,
2649     VK_SAMPLE_COUNT_64_BIT                       = 0x00000040,
2650     VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
2651 }
2652 
2653 enum VK_SAMPLE_COUNT_1_BIT                       = VkSampleCountFlagBits.VK_SAMPLE_COUNT_1_BIT;
2654 enum VK_SAMPLE_COUNT_2_BIT                       = VkSampleCountFlagBits.VK_SAMPLE_COUNT_2_BIT;
2655 enum VK_SAMPLE_COUNT_4_BIT                       = VkSampleCountFlagBits.VK_SAMPLE_COUNT_4_BIT;
2656 enum VK_SAMPLE_COUNT_8_BIT                       = VkSampleCountFlagBits.VK_SAMPLE_COUNT_8_BIT;
2657 enum VK_SAMPLE_COUNT_16_BIT                      = VkSampleCountFlagBits.VK_SAMPLE_COUNT_16_BIT;
2658 enum VK_SAMPLE_COUNT_32_BIT                      = VkSampleCountFlagBits.VK_SAMPLE_COUNT_32_BIT;
2659 enum VK_SAMPLE_COUNT_64_BIT                      = VkSampleCountFlagBits.VK_SAMPLE_COUNT_64_BIT;
2660 enum VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM          = VkSampleCountFlagBits.VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM;
2661 alias VkSampleCountFlags = VkFlags;
2662 
2663 enum VkQueueFlagBits {
2664     VK_QUEUE_GRAPHICS_BIT                = 0x00000001,
2665     VK_QUEUE_COMPUTE_BIT                 = 0x00000002,
2666     VK_QUEUE_TRANSFER_BIT                = 0x00000004,
2667     VK_QUEUE_SPARSE_BINDING_BIT          = 0x00000008,
2668     VK_QUEUE_PROTECTED_BIT               = 0x00000010,
2669     VK_QUEUE_FLAG_BITS_MAX_ENUM          = 0x7FFFFFFF
2670 }
2671 
2672 enum VK_QUEUE_GRAPHICS_BIT               = VkQueueFlagBits.VK_QUEUE_GRAPHICS_BIT;
2673 enum VK_QUEUE_COMPUTE_BIT                = VkQueueFlagBits.VK_QUEUE_COMPUTE_BIT;
2674 enum VK_QUEUE_TRANSFER_BIT               = VkQueueFlagBits.VK_QUEUE_TRANSFER_BIT;
2675 enum VK_QUEUE_SPARSE_BINDING_BIT         = VkQueueFlagBits.VK_QUEUE_SPARSE_BINDING_BIT;
2676 enum VK_QUEUE_PROTECTED_BIT              = VkQueueFlagBits.VK_QUEUE_PROTECTED_BIT;
2677 enum VK_QUEUE_FLAG_BITS_MAX_ENUM         = VkQueueFlagBits.VK_QUEUE_FLAG_BITS_MAX_ENUM;
2678 alias VkQueueFlags = VkFlags;
2679 
2680 enum VkMemoryPropertyFlagBits {
2681     VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT          = 0x00000001,
2682     VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT          = 0x00000002,
2683     VK_MEMORY_PROPERTY_HOST_COHERENT_BIT         = 0x00000004,
2684     VK_MEMORY_PROPERTY_HOST_CACHED_BIT           = 0x00000008,
2685     VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT      = 0x00000010,
2686     VK_MEMORY_PROPERTY_PROTECTED_BIT             = 0x00000020,
2687     VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM        = 0x7FFFFFFF
2688 }
2689 
2690 enum VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT         = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
2691 enum VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT         = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
2692 enum VK_MEMORY_PROPERTY_HOST_COHERENT_BIT        = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
2693 enum VK_MEMORY_PROPERTY_HOST_CACHED_BIT          = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_CACHED_BIT;
2694 enum VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT     = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT;
2695 enum VK_MEMORY_PROPERTY_PROTECTED_BIT            = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_PROTECTED_BIT;
2696 enum VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM       = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM;
2697 alias VkMemoryPropertyFlags = VkFlags;
2698 
2699 enum VkMemoryHeapFlagBits {
2700     VK_MEMORY_HEAP_DEVICE_LOCAL_BIT              = 0x00000001,
2701     VK_MEMORY_HEAP_MULTI_INSTANCE_BIT            = 0x00000002,
2702     VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR        = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2703     VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
2704 }
2705 
2706 enum VK_MEMORY_HEAP_DEVICE_LOCAL_BIT             = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_DEVICE_LOCAL_BIT;
2707 enum VK_MEMORY_HEAP_MULTI_INSTANCE_BIT           = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_MULTI_INSTANCE_BIT;
2708 enum VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR       = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR;
2709 enum VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM           = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM;
2710 alias VkMemoryHeapFlags = VkFlags;
2711 alias VkDeviceCreateFlags = VkFlags;
2712 
2713 enum VkDeviceQueueCreateFlagBits {
2714     VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT                 = 0x00000001,
2715     VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
2716 }
2717 
2718 enum VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT                = VkDeviceQueueCreateFlagBits.VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT;
2719 enum VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM           = VkDeviceQueueCreateFlagBits.VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM;
2720 alias VkDeviceQueueCreateFlags = VkFlags;
2721 
2722 enum VkPipelineStageFlagBits {
2723     VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT                            = 0x00000001,
2724     VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT                          = 0x00000002,
2725     VK_PIPELINE_STAGE_VERTEX_INPUT_BIT                           = 0x00000004,
2726     VK_PIPELINE_STAGE_VERTEX_SHADER_BIT                          = 0x00000008,
2727     VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT            = 0x00000010,
2728     VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT         = 0x00000020,
2729     VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT                        = 0x00000040,
2730     VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT                        = 0x00000080,
2731     VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT                   = 0x00000100,
2732     VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT                    = 0x00000200,
2733     VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT                = 0x00000400,
2734     VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT                         = 0x00000800,
2735     VK_PIPELINE_STAGE_TRANSFER_BIT                               = 0x00001000,
2736     VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT                         = 0x00002000,
2737     VK_PIPELINE_STAGE_HOST_BIT                                   = 0x00004000,
2738     VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT                           = 0x00008000,
2739     VK_PIPELINE_STAGE_ALL_COMMANDS_BIT                           = 0x00010000,
2740     VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT                 = 0x01000000,
2741     VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT              = 0x00040000,
2742     VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX                    = 0x00020000,
2743     VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV                  = 0x00400000,
2744     VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV                  = 0x00200000,
2745     VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV        = 0x02000000,
2746     VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV                         = 0x00080000,
2747     VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV                         = 0x00100000,
2748     VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT           = 0x00800000,
2749     VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM                         = 0x7FFFFFFF
2750 }
2751 
2752 enum VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT                           = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
2753 enum VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT                         = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT;
2754 enum VK_PIPELINE_STAGE_VERTEX_INPUT_BIT                          = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_VERTEX_INPUT_BIT;
2755 enum VK_PIPELINE_STAGE_VERTEX_SHADER_BIT                         = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_VERTEX_SHADER_BIT;
2756 enum VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT           = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT;
2757 enum VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT;
2758 enum VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT                       = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT;
2759 enum VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT                       = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
2760 enum VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT                  = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT;
2761 enum VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT                   = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT;
2762 enum VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT               = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
2763 enum VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT                        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
2764 enum VK_PIPELINE_STAGE_TRANSFER_BIT                              = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TRANSFER_BIT;
2765 enum VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT                        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
2766 enum VK_PIPELINE_STAGE_HOST_BIT                                  = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_HOST_BIT;
2767 enum VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT                          = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT;
2768 enum VK_PIPELINE_STAGE_ALL_COMMANDS_BIT                          = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ALL_COMMANDS_BIT;
2769 enum VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT                = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT;
2770 enum VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT             = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT;
2771 enum VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX                   = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX;
2772 enum VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV                 = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV;
2773 enum VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV                 = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV;
2774 enum VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV       = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV;
2775 enum VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV                        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV;
2776 enum VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV                        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV;
2777 enum VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT          = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT;
2778 enum VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM                        = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM;
2779 alias VkPipelineStageFlags = VkFlags;
2780 alias VkMemoryMapFlags = VkFlags;
2781 
2782 enum VkImageAspectFlagBits {
2783     VK_IMAGE_ASPECT_COLOR_BIT                    = 0x00000001,
2784     VK_IMAGE_ASPECT_DEPTH_BIT                    = 0x00000002,
2785     VK_IMAGE_ASPECT_STENCIL_BIT                  = 0x00000004,
2786     VK_IMAGE_ASPECT_METADATA_BIT                 = 0x00000008,
2787     VK_IMAGE_ASPECT_PLANE_0_BIT                  = 0x00000010,
2788     VK_IMAGE_ASPECT_PLANE_1_BIT                  = 0x00000020,
2789     VK_IMAGE_ASPECT_PLANE_2_BIT                  = 0x00000040,
2790     VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT       = 0x00000080,
2791     VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT       = 0x00000100,
2792     VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT       = 0x00000200,
2793     VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT       = 0x00000400,
2794     VK_IMAGE_ASPECT_PLANE_0_BIT_KHR              = VK_IMAGE_ASPECT_PLANE_0_BIT,
2795     VK_IMAGE_ASPECT_PLANE_1_BIT_KHR              = VK_IMAGE_ASPECT_PLANE_1_BIT,
2796     VK_IMAGE_ASPECT_PLANE_2_BIT_KHR              = VK_IMAGE_ASPECT_PLANE_2_BIT,
2797     VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
2798 }
2799 
2800 enum VK_IMAGE_ASPECT_COLOR_BIT                   = VkImageAspectFlagBits.VK_IMAGE_ASPECT_COLOR_BIT;
2801 enum VK_IMAGE_ASPECT_DEPTH_BIT                   = VkImageAspectFlagBits.VK_IMAGE_ASPECT_DEPTH_BIT;
2802 enum VK_IMAGE_ASPECT_STENCIL_BIT                 = VkImageAspectFlagBits.VK_IMAGE_ASPECT_STENCIL_BIT;
2803 enum VK_IMAGE_ASPECT_METADATA_BIT                = VkImageAspectFlagBits.VK_IMAGE_ASPECT_METADATA_BIT;
2804 enum VK_IMAGE_ASPECT_PLANE_0_BIT                 = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_0_BIT;
2805 enum VK_IMAGE_ASPECT_PLANE_1_BIT                 = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_1_BIT;
2806 enum VK_IMAGE_ASPECT_PLANE_2_BIT                 = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_2_BIT;
2807 enum VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT      = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT;
2808 enum VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT      = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT;
2809 enum VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT      = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT;
2810 enum VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT      = VkImageAspectFlagBits.VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT;
2811 enum VK_IMAGE_ASPECT_PLANE_0_BIT_KHR             = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_0_BIT_KHR;
2812 enum VK_IMAGE_ASPECT_PLANE_1_BIT_KHR             = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_1_BIT_KHR;
2813 enum VK_IMAGE_ASPECT_PLANE_2_BIT_KHR             = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_2_BIT_KHR;
2814 enum VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM          = VkImageAspectFlagBits.VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM;
2815 alias VkImageAspectFlags = VkFlags;
2816 
2817 enum VkSparseImageFormatFlagBits {
2818     VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT            = 0x00000001,
2819     VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT          = 0x00000002,
2820     VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT    = 0x00000004,
2821     VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
2822 }
2823 
2824 enum VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT           = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT;
2825 enum VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT         = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT;
2826 enum VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT   = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT;
2827 enum VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM           = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM;
2828 alias VkSparseImageFormatFlags = VkFlags;
2829 
2830 enum VkSparseMemoryBindFlagBits {
2831     VK_SPARSE_MEMORY_BIND_METADATA_BIT           = 0x00000001,
2832     VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
2833 }
2834 
2835 enum VK_SPARSE_MEMORY_BIND_METADATA_BIT          = VkSparseMemoryBindFlagBits.VK_SPARSE_MEMORY_BIND_METADATA_BIT;
2836 enum VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM    = VkSparseMemoryBindFlagBits.VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM;
2837 alias VkSparseMemoryBindFlags = VkFlags;
2838 
2839 enum VkFenceCreateFlagBits {
2840     VK_FENCE_CREATE_SIGNALED_BIT                 = 0x00000001,
2841     VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
2842 }
2843 
2844 enum VK_FENCE_CREATE_SIGNALED_BIT                = VkFenceCreateFlagBits.VK_FENCE_CREATE_SIGNALED_BIT;
2845 enum VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM          = VkFenceCreateFlagBits.VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM;
2846 alias VkFenceCreateFlags = VkFlags;
2847 alias VkSemaphoreCreateFlags = VkFlags;
2848 alias VkEventCreateFlags = VkFlags;
2849 alias VkQueryPoolCreateFlags = VkFlags;
2850 
2851 enum VkQueryPipelineStatisticFlagBits {
2852     VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT                      = 0x00000001,
2853     VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT                    = 0x00000002,
2854     VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT                    = 0x00000004,
2855     VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT                  = 0x00000008,
2856     VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT                   = 0x00000010,
2857     VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT                         = 0x00000020,
2858     VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT                          = 0x00000040,
2859     VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT                  = 0x00000080,
2860     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT          = 0x00000100,
2861     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT   = 0x00000200,
2862     VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT                   = 0x00000400,
2863     VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM                               = 0x7FFFFFFF
2864 }
2865 
2866 enum VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT                     = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT;
2867 enum VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT                   = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT;
2868 enum VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT                   = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT;
2869 enum VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT                 = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT;
2870 enum VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT                  = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT;
2871 enum VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT                        = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT;
2872 enum VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT                         = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT;
2873 enum VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT                 = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT;
2874 enum VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT         = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT;
2875 enum VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT  = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT;
2876 enum VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT                  = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT;
2877 enum VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM                              = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM;
2878 alias VkQueryPipelineStatisticFlags = VkFlags;
2879 
2880 enum VkQueryResultFlagBits {
2881     VK_QUERY_RESULT_64_BIT                       = 0x00000001,
2882     VK_QUERY_RESULT_WAIT_BIT                     = 0x00000002,
2883     VK_QUERY_RESULT_WITH_AVAILABILITY_BIT        = 0x00000004,
2884     VK_QUERY_RESULT_PARTIAL_BIT                  = 0x00000008,
2885     VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
2886 }
2887 
2888 enum VK_QUERY_RESULT_64_BIT                      = VkQueryResultFlagBits.VK_QUERY_RESULT_64_BIT;
2889 enum VK_QUERY_RESULT_WAIT_BIT                    = VkQueryResultFlagBits.VK_QUERY_RESULT_WAIT_BIT;
2890 enum VK_QUERY_RESULT_WITH_AVAILABILITY_BIT       = VkQueryResultFlagBits.VK_QUERY_RESULT_WITH_AVAILABILITY_BIT;
2891 enum VK_QUERY_RESULT_PARTIAL_BIT                 = VkQueryResultFlagBits.VK_QUERY_RESULT_PARTIAL_BIT;
2892 enum VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM          = VkQueryResultFlagBits.VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM;
2893 alias VkQueryResultFlags = VkFlags;
2894 
2895 enum VkBufferCreateFlagBits {
2896     VK_BUFFER_CREATE_SPARSE_BINDING_BIT                          = 0x00000001,
2897     VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT                        = 0x00000002,
2898     VK_BUFFER_CREATE_SPARSE_ALIASED_BIT                          = 0x00000004,
2899     VK_BUFFER_CREATE_PROTECTED_BIT                               = 0x00000008,
2900     VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT       = 0x00000010,
2901     VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM                          = 0x7FFFFFFF
2902 }
2903 
2904 enum VK_BUFFER_CREATE_SPARSE_BINDING_BIT                         = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_BINDING_BIT;
2905 enum VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT                       = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT;
2906 enum VK_BUFFER_CREATE_SPARSE_ALIASED_BIT                         = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_ALIASED_BIT;
2907 enum VK_BUFFER_CREATE_PROTECTED_BIT                              = VkBufferCreateFlagBits.VK_BUFFER_CREATE_PROTECTED_BIT;
2908 enum VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT      = VkBufferCreateFlagBits.VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT;
2909 enum VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM                         = VkBufferCreateFlagBits.VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM;
2910 alias VkBufferCreateFlags = VkFlags;
2911 
2912 enum VkBufferUsageFlagBits {
2913     VK_BUFFER_USAGE_TRANSFER_SRC_BIT                             = 0x00000001,
2914     VK_BUFFER_USAGE_TRANSFER_DST_BIT                             = 0x00000002,
2915     VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT                     = 0x00000004,
2916     VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT                     = 0x00000008,
2917     VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT                           = 0x00000010,
2918     VK_BUFFER_USAGE_STORAGE_BUFFER_BIT                           = 0x00000020,
2919     VK_BUFFER_USAGE_INDEX_BUFFER_BIT                             = 0x00000040,
2920     VK_BUFFER_USAGE_VERTEX_BUFFER_BIT                            = 0x00000080,
2921     VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT                          = 0x00000100,
2922     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT            = 0x00000800,
2923     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT    = 0x00001000,
2924     VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT                = 0x00000200,
2925     VK_BUFFER_USAGE_RAY_TRACING_BIT_NV                           = 0x00000400,
2926     VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT                = 0x00020000,
2927     VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM                           = 0x7FFFFFFF
2928 }
2929 
2930 enum VK_BUFFER_USAGE_TRANSFER_SRC_BIT                            = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFER_SRC_BIT;
2931 enum VK_BUFFER_USAGE_TRANSFER_DST_BIT                            = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFER_DST_BIT;
2932 enum VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT                    = VkBufferUsageFlagBits.VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT;
2933 enum VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT                    = VkBufferUsageFlagBits.VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT;
2934 enum VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT                          = VkBufferUsageFlagBits.VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT;
2935 enum VK_BUFFER_USAGE_STORAGE_BUFFER_BIT                          = VkBufferUsageFlagBits.VK_BUFFER_USAGE_STORAGE_BUFFER_BIT;
2936 enum VK_BUFFER_USAGE_INDEX_BUFFER_BIT                            = VkBufferUsageFlagBits.VK_BUFFER_USAGE_INDEX_BUFFER_BIT;
2937 enum VK_BUFFER_USAGE_VERTEX_BUFFER_BIT                           = VkBufferUsageFlagBits.VK_BUFFER_USAGE_VERTEX_BUFFER_BIT;
2938 enum VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT                         = VkBufferUsageFlagBits.VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT;
2939 enum VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT           = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT;
2940 enum VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT   = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT;
2941 enum VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT               = VkBufferUsageFlagBits.VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT;
2942 enum VK_BUFFER_USAGE_RAY_TRACING_BIT_NV                          = VkBufferUsageFlagBits.VK_BUFFER_USAGE_RAY_TRACING_BIT_NV;
2943 enum VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT               = VkBufferUsageFlagBits.VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT;
2944 enum VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM                          = VkBufferUsageFlagBits.VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM;
2945 alias VkBufferUsageFlags = VkFlags;
2946 alias VkBufferViewCreateFlags = VkFlags;
2947 
2948 enum VkImageViewCreateFlagBits {
2949     VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT    = 0x00000001,
2950     VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM                      = 0x7FFFFFFF
2951 }
2952 
2953 enum VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT   = VkImageViewCreateFlagBits.VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT;
2954 enum VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM                     = VkImageViewCreateFlagBits.VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM;
2955 alias VkImageViewCreateFlags = VkFlags;
2956 alias VkShaderModuleCreateFlags = VkFlags;
2957 alias VkPipelineCacheCreateFlags = VkFlags;
2958 
2959 enum VkPipelineCreateFlagBits {
2960     VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT                  = 0x00000001,
2961     VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                     = 0x00000002,
2962     VK_PIPELINE_CREATE_DERIVATIVE_BIT                            = 0x00000004,
2963     VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT          = 0x00000008,
2964     VK_PIPELINE_CREATE_DISPATCH_BASE                             = 0x00000010,
2965     VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                      = 0x00000020,
2966     VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR      = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
2967     VK_PIPELINE_CREATE_DISPATCH_BASE_KHR                         = VK_PIPELINE_CREATE_DISPATCH_BASE,
2968     VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM                        = 0x7FFFFFFF
2969 }
2970 
2971 enum VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT                 = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT;
2972 enum VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                    = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT;
2973 enum VK_PIPELINE_CREATE_DERIVATIVE_BIT                           = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DERIVATIVE_BIT;
2974 enum VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT         = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT;
2975 enum VK_PIPELINE_CREATE_DISPATCH_BASE                            = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISPATCH_BASE;
2976 enum VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                     = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV;
2977 enum VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR     = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR;
2978 enum VK_PIPELINE_CREATE_DISPATCH_BASE_KHR                        = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISPATCH_BASE_KHR;
2979 enum VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM                       = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM;
2980 alias VkPipelineCreateFlags = VkFlags;
2981 alias VkPipelineShaderStageCreateFlags = VkFlags;
2982 
2983 enum VkShaderStageFlagBits {
2984     VK_SHADER_STAGE_VERTEX_BIT                   = 0x00000001,
2985     VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT     = 0x00000002,
2986     VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT  = 0x00000004,
2987     VK_SHADER_STAGE_GEOMETRY_BIT                 = 0x00000008,
2988     VK_SHADER_STAGE_FRAGMENT_BIT                 = 0x00000010,
2989     VK_SHADER_STAGE_COMPUTE_BIT                  = 0x00000020,
2990     VK_SHADER_STAGE_ALL_GRAPHICS                 = 0x0000001F,
2991     VK_SHADER_STAGE_ALL                          = 0x7FFFFFFF,
2992     VK_SHADER_STAGE_RAYGEN_BIT_NV                = 0x00000100,
2993     VK_SHADER_STAGE_ANY_HIT_BIT_NV               = 0x00000200,
2994     VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV           = 0x00000400,
2995     VK_SHADER_STAGE_MISS_BIT_NV                  = 0x00000800,
2996     VK_SHADER_STAGE_INTERSECTION_BIT_NV          = 0x00001000,
2997     VK_SHADER_STAGE_CALLABLE_BIT_NV              = 0x00002000,
2998     VK_SHADER_STAGE_TASK_BIT_NV                  = 0x00000040,
2999     VK_SHADER_STAGE_MESH_BIT_NV                  = 0x00000080,
3000     VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3001 }
3002 
3003 enum VK_SHADER_STAGE_VERTEX_BIT                  = VkShaderStageFlagBits.VK_SHADER_STAGE_VERTEX_BIT;
3004 enum VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT    = VkShaderStageFlagBits.VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;
3005 enum VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = VkShaderStageFlagBits.VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT;
3006 enum VK_SHADER_STAGE_GEOMETRY_BIT                = VkShaderStageFlagBits.VK_SHADER_STAGE_GEOMETRY_BIT;
3007 enum VK_SHADER_STAGE_FRAGMENT_BIT                = VkShaderStageFlagBits.VK_SHADER_STAGE_FRAGMENT_BIT;
3008 enum VK_SHADER_STAGE_COMPUTE_BIT                 = VkShaderStageFlagBits.VK_SHADER_STAGE_COMPUTE_BIT;
3009 enum VK_SHADER_STAGE_ALL_GRAPHICS                = VkShaderStageFlagBits.VK_SHADER_STAGE_ALL_GRAPHICS;
3010 enum VK_SHADER_STAGE_ALL                         = VkShaderStageFlagBits.VK_SHADER_STAGE_ALL;
3011 enum VK_SHADER_STAGE_RAYGEN_BIT_NV               = VkShaderStageFlagBits.VK_SHADER_STAGE_RAYGEN_BIT_NV;
3012 enum VK_SHADER_STAGE_ANY_HIT_BIT_NV              = VkShaderStageFlagBits.VK_SHADER_STAGE_ANY_HIT_BIT_NV;
3013 enum VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV          = VkShaderStageFlagBits.VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV;
3014 enum VK_SHADER_STAGE_MISS_BIT_NV                 = VkShaderStageFlagBits.VK_SHADER_STAGE_MISS_BIT_NV;
3015 enum VK_SHADER_STAGE_INTERSECTION_BIT_NV         = VkShaderStageFlagBits.VK_SHADER_STAGE_INTERSECTION_BIT_NV;
3016 enum VK_SHADER_STAGE_CALLABLE_BIT_NV             = VkShaderStageFlagBits.VK_SHADER_STAGE_CALLABLE_BIT_NV;
3017 enum VK_SHADER_STAGE_TASK_BIT_NV                 = VkShaderStageFlagBits.VK_SHADER_STAGE_TASK_BIT_NV;
3018 enum VK_SHADER_STAGE_MESH_BIT_NV                 = VkShaderStageFlagBits.VK_SHADER_STAGE_MESH_BIT_NV;
3019 enum VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM          = VkShaderStageFlagBits.VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM;
3020 alias VkPipelineVertexInputStateCreateFlags = VkFlags;
3021 alias VkPipelineInputAssemblyStateCreateFlags = VkFlags;
3022 alias VkPipelineTessellationStateCreateFlags = VkFlags;
3023 alias VkPipelineViewportStateCreateFlags = VkFlags;
3024 alias VkPipelineRasterizationStateCreateFlags = VkFlags;
3025 
3026 enum VkCullModeFlagBits {
3027     VK_CULL_MODE_NONE                    = 0,
3028     VK_CULL_MODE_FRONT_BIT               = 0x00000001,
3029     VK_CULL_MODE_BACK_BIT                = 0x00000002,
3030     VK_CULL_MODE_FRONT_AND_BACK          = 0x00000003,
3031     VK_CULL_MODE_FLAG_BITS_MAX_ENUM      = 0x7FFFFFFF
3032 }
3033 
3034 enum VK_CULL_MODE_NONE                   = VkCullModeFlagBits.VK_CULL_MODE_NONE;
3035 enum VK_CULL_MODE_FRONT_BIT              = VkCullModeFlagBits.VK_CULL_MODE_FRONT_BIT;
3036 enum VK_CULL_MODE_BACK_BIT               = VkCullModeFlagBits.VK_CULL_MODE_BACK_BIT;
3037 enum VK_CULL_MODE_FRONT_AND_BACK         = VkCullModeFlagBits.VK_CULL_MODE_FRONT_AND_BACK;
3038 enum VK_CULL_MODE_FLAG_BITS_MAX_ENUM     = VkCullModeFlagBits.VK_CULL_MODE_FLAG_BITS_MAX_ENUM;
3039 alias VkCullModeFlags = VkFlags;
3040 alias VkPipelineMultisampleStateCreateFlags = VkFlags;
3041 alias VkPipelineDepthStencilStateCreateFlags = VkFlags;
3042 alias VkPipelineColorBlendStateCreateFlags = VkFlags;
3043 
3044 enum VkColorComponentFlagBits {
3045     VK_COLOR_COMPONENT_R_BIT                     = 0x00000001,
3046     VK_COLOR_COMPONENT_G_BIT                     = 0x00000002,
3047     VK_COLOR_COMPONENT_B_BIT                     = 0x00000004,
3048     VK_COLOR_COMPONENT_A_BIT                     = 0x00000008,
3049     VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM        = 0x7FFFFFFF
3050 }
3051 
3052 enum VK_COLOR_COMPONENT_R_BIT                    = VkColorComponentFlagBits.VK_COLOR_COMPONENT_R_BIT;
3053 enum VK_COLOR_COMPONENT_G_BIT                    = VkColorComponentFlagBits.VK_COLOR_COMPONENT_G_BIT;
3054 enum VK_COLOR_COMPONENT_B_BIT                    = VkColorComponentFlagBits.VK_COLOR_COMPONENT_B_BIT;
3055 enum VK_COLOR_COMPONENT_A_BIT                    = VkColorComponentFlagBits.VK_COLOR_COMPONENT_A_BIT;
3056 enum VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM       = VkColorComponentFlagBits.VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM;
3057 alias VkColorComponentFlags = VkFlags;
3058 alias VkPipelineDynamicStateCreateFlags = VkFlags;
3059 alias VkPipelineLayoutCreateFlags = VkFlags;
3060 alias VkShaderStageFlags = VkFlags;
3061 
3062 enum VkSamplerCreateFlagBits {
3063     VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT                         = 0x00000001,
3064     VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT   = 0x00000002,
3065     VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM                         = 0x7FFFFFFF
3066 }
3067 
3068 enum VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT                        = VkSamplerCreateFlagBits.VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT;
3069 enum VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT  = VkSamplerCreateFlagBits.VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT;
3070 enum VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM                        = VkSamplerCreateFlagBits.VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM;
3071 alias VkSamplerCreateFlags = VkFlags;
3072 
3073 enum VkDescriptorSetLayoutCreateFlagBits {
3074     VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR              = 0x00000001,
3075     VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT       = 0x00000002,
3076     VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM                   = 0x7FFFFFFF
3077 }
3078 
3079 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR             = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR;
3080 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT      = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT;
3081 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM                  = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM;
3082 alias VkDescriptorSetLayoutCreateFlags = VkFlags;
3083 
3084 enum VkDescriptorPoolCreateFlagBits {
3085     VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT    = 0x00000001,
3086     VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT  = 0x00000002,
3087     VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM         = 0x7FFFFFFF
3088 }
3089 
3090 enum VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT   = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT;
3091 enum VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT;
3092 enum VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM        = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM;
3093 alias VkDescriptorPoolCreateFlags = VkFlags;
3094 alias VkDescriptorPoolResetFlags = VkFlags;
3095 alias VkFramebufferCreateFlags = VkFlags;
3096 alias VkRenderPassCreateFlags = VkFlags;
3097 
3098 enum VkAttachmentDescriptionFlagBits {
3099     VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT              = 0x00000001,
3100     VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM         = 0x7FFFFFFF
3101 }
3102 
3103 enum VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT             = VkAttachmentDescriptionFlagBits.VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT;
3104 enum VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM        = VkAttachmentDescriptionFlagBits.VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM;
3105 alias VkAttachmentDescriptionFlags = VkFlags;
3106 
3107 enum VkSubpassDescriptionFlagBits {
3108     VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX           = 0x00000001,
3109     VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX      = 0x00000002,
3110     VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM                    = 0x7FFFFFFF
3111 }
3112 
3113 enum VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX          = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX;
3114 enum VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX     = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX;
3115 enum VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM                   = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM;
3116 alias VkSubpassDescriptionFlags = VkFlags;
3117 
3118 enum VkAccessFlagBits {
3119     VK_ACCESS_INDIRECT_COMMAND_READ_BIT                  = 0x00000001,
3120     VK_ACCESS_INDEX_READ_BIT                             = 0x00000002,
3121     VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT                  = 0x00000004,
3122     VK_ACCESS_UNIFORM_READ_BIT                           = 0x00000008,
3123     VK_ACCESS_INPUT_ATTACHMENT_READ_BIT                  = 0x00000010,
3124     VK_ACCESS_SHADER_READ_BIT                            = 0x00000020,
3125     VK_ACCESS_SHADER_WRITE_BIT                           = 0x00000040,
3126     VK_ACCESS_COLOR_ATTACHMENT_READ_BIT                  = 0x00000080,
3127     VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT                 = 0x00000100,
3128     VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT          = 0x00000200,
3129     VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT         = 0x00000400,
3130     VK_ACCESS_TRANSFER_READ_BIT                          = 0x00000800,
3131     VK_ACCESS_TRANSFER_WRITE_BIT                         = 0x00001000,
3132     VK_ACCESS_HOST_READ_BIT                              = 0x00002000,
3133     VK_ACCESS_HOST_WRITE_BIT                             = 0x00004000,
3134     VK_ACCESS_MEMORY_READ_BIT                            = 0x00008000,
3135     VK_ACCESS_MEMORY_WRITE_BIT                           = 0x00010000,
3136     VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT           = 0x02000000,
3137     VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT    = 0x04000000,
3138     VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT   = 0x08000000,
3139     VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT         = 0x00100000,
3140     VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX               = 0x00020000,
3141     VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX              = 0x00040000,
3142     VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT  = 0x00080000,
3143     VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV             = 0x00800000,
3144     VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV         = 0x00200000,
3145     VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV        = 0x00400000,
3146     VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT          = 0x01000000,
3147     VK_ACCESS_FLAG_BITS_MAX_ENUM                         = 0x7FFFFFFF
3148 }
3149 
3150 enum VK_ACCESS_INDIRECT_COMMAND_READ_BIT                 = VkAccessFlagBits.VK_ACCESS_INDIRECT_COMMAND_READ_BIT;
3151 enum VK_ACCESS_INDEX_READ_BIT                            = VkAccessFlagBits.VK_ACCESS_INDEX_READ_BIT;
3152 enum VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT                 = VkAccessFlagBits.VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT;
3153 enum VK_ACCESS_UNIFORM_READ_BIT                          = VkAccessFlagBits.VK_ACCESS_UNIFORM_READ_BIT;
3154 enum VK_ACCESS_INPUT_ATTACHMENT_READ_BIT                 = VkAccessFlagBits.VK_ACCESS_INPUT_ATTACHMENT_READ_BIT;
3155 enum VK_ACCESS_SHADER_READ_BIT                           = VkAccessFlagBits.VK_ACCESS_SHADER_READ_BIT;
3156 enum VK_ACCESS_SHADER_WRITE_BIT                          = VkAccessFlagBits.VK_ACCESS_SHADER_WRITE_BIT;
3157 enum VK_ACCESS_COLOR_ATTACHMENT_READ_BIT                 = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_READ_BIT;
3158 enum VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT                = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
3159 enum VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT         = VkAccessFlagBits.VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT;
3160 enum VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT        = VkAccessFlagBits.VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
3161 enum VK_ACCESS_TRANSFER_READ_BIT                         = VkAccessFlagBits.VK_ACCESS_TRANSFER_READ_BIT;
3162 enum VK_ACCESS_TRANSFER_WRITE_BIT                        = VkAccessFlagBits.VK_ACCESS_TRANSFER_WRITE_BIT;
3163 enum VK_ACCESS_HOST_READ_BIT                             = VkAccessFlagBits.VK_ACCESS_HOST_READ_BIT;
3164 enum VK_ACCESS_HOST_WRITE_BIT                            = VkAccessFlagBits.VK_ACCESS_HOST_WRITE_BIT;
3165 enum VK_ACCESS_MEMORY_READ_BIT                           = VkAccessFlagBits.VK_ACCESS_MEMORY_READ_BIT;
3166 enum VK_ACCESS_MEMORY_WRITE_BIT                          = VkAccessFlagBits.VK_ACCESS_MEMORY_WRITE_BIT;
3167 enum VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT          = VkAccessFlagBits.VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT;
3168 enum VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT   = VkAccessFlagBits.VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT;
3169 enum VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT  = VkAccessFlagBits.VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT;
3170 enum VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT        = VkAccessFlagBits.VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT;
3171 enum VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX              = VkAccessFlagBits.VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX;
3172 enum VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX             = VkAccessFlagBits.VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX;
3173 enum VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT;
3174 enum VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV            = VkAccessFlagBits.VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV;
3175 enum VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV        = VkAccessFlagBits.VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV;
3176 enum VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV       = VkAccessFlagBits.VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV;
3177 enum VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT         = VkAccessFlagBits.VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT;
3178 enum VK_ACCESS_FLAG_BITS_MAX_ENUM                        = VkAccessFlagBits.VK_ACCESS_FLAG_BITS_MAX_ENUM;
3179 alias VkAccessFlags = VkFlags;
3180 
3181 enum VkDependencyFlagBits {
3182     VK_DEPENDENCY_BY_REGION_BIT          = 0x00000001,
3183     VK_DEPENDENCY_DEVICE_GROUP_BIT       = 0x00000004,
3184     VK_DEPENDENCY_VIEW_LOCAL_BIT         = 0x00000002,
3185     VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR     = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3186     VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR   = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3187     VK_DEPENDENCY_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
3188 }
3189 
3190 enum VK_DEPENDENCY_BY_REGION_BIT         = VkDependencyFlagBits.VK_DEPENDENCY_BY_REGION_BIT;
3191 enum VK_DEPENDENCY_DEVICE_GROUP_BIT      = VkDependencyFlagBits.VK_DEPENDENCY_DEVICE_GROUP_BIT;
3192 enum VK_DEPENDENCY_VIEW_LOCAL_BIT        = VkDependencyFlagBits.VK_DEPENDENCY_VIEW_LOCAL_BIT;
3193 enum VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR    = VkDependencyFlagBits.VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR;
3194 enum VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR  = VkDependencyFlagBits.VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR;
3195 enum VK_DEPENDENCY_FLAG_BITS_MAX_ENUM    = VkDependencyFlagBits.VK_DEPENDENCY_FLAG_BITS_MAX_ENUM;
3196 alias VkDependencyFlags = VkFlags;
3197 
3198 enum VkCommandPoolCreateFlagBits {
3199     VK_COMMAND_POOL_CREATE_TRANSIENT_BIT                 = 0x00000001,
3200     VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT      = 0x00000002,
3201     VK_COMMAND_POOL_CREATE_PROTECTED_BIT                 = 0x00000004,
3202     VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
3203 }
3204 
3205 enum VK_COMMAND_POOL_CREATE_TRANSIENT_BIT                = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_TRANSIENT_BIT;
3206 enum VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT     = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
3207 enum VK_COMMAND_POOL_CREATE_PROTECTED_BIT                = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_PROTECTED_BIT;
3208 enum VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM           = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM;
3209 alias VkCommandPoolCreateFlags = VkFlags;
3210 
3211 enum VkCommandPoolResetFlagBits {
3212     VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT  = 0x00000001,
3213     VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
3214 }
3215 
3216 enum VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = VkCommandPoolResetFlagBits.VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT;
3217 enum VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM    = VkCommandPoolResetFlagBits.VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM;
3218 alias VkCommandPoolResetFlags = VkFlags;
3219 
3220 enum VkCommandBufferUsageFlagBits {
3221     VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT          = 0x00000001,
3222     VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT     = 0x00000002,
3223     VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT         = 0x00000004,
3224     VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3225 }
3226 
3227 enum VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT         = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
3228 enum VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT    = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT;
3229 enum VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT        = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
3230 enum VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM          = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM;
3231 alias VkCommandBufferUsageFlags = VkFlags;
3232 
3233 enum VkQueryControlFlagBits {
3234     VK_QUERY_CONTROL_PRECISE_BIT                 = 0x00000001,
3235     VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM          = 0x7FFFFFFF
3236 }
3237 
3238 enum VK_QUERY_CONTROL_PRECISE_BIT                = VkQueryControlFlagBits.VK_QUERY_CONTROL_PRECISE_BIT;
3239 enum VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM         = VkQueryControlFlagBits.VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM;
3240 alias VkQueryControlFlags = VkFlags;
3241 
3242 enum VkCommandBufferResetFlagBits {
3243     VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT        = 0x00000001,
3244     VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3245 }
3246 
3247 enum VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT       = VkCommandBufferResetFlagBits.VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT;
3248 enum VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM          = VkCommandBufferResetFlagBits.VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM;
3249 alias VkCommandBufferResetFlags = VkFlags;
3250 
3251 enum VkStencilFaceFlagBits {
3252     VK_STENCIL_FACE_FRONT_BIT                    = 0x00000001,
3253     VK_STENCIL_FACE_BACK_BIT                     = 0x00000002,
3254     VK_STENCIL_FRONT_AND_BACK                    = 0x00000003,
3255     VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
3256 }
3257 
3258 enum VK_STENCIL_FACE_FRONT_BIT                   = VkStencilFaceFlagBits.VK_STENCIL_FACE_FRONT_BIT;
3259 enum VK_STENCIL_FACE_BACK_BIT                    = VkStencilFaceFlagBits.VK_STENCIL_FACE_BACK_BIT;
3260 enum VK_STENCIL_FRONT_AND_BACK                   = VkStencilFaceFlagBits.VK_STENCIL_FRONT_AND_BACK;
3261 enum VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM          = VkStencilFaceFlagBits.VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM;
3262 alias VkStencilFaceFlags = VkFlags;
3263 
3264 alias PFN_vkAllocationFunction = void* function(
3265     void*                       pUserData,
3266     size_t                      size,
3267     size_t                      alignment,
3268     VkSystemAllocationScope     allocationScope
3269 );
3270 
3271 alias PFN_vkReallocationFunction = void* function(
3272     void*                       pUserData,
3273     void*                       pOriginal,
3274     size_t                      size,
3275     size_t                      alignment,
3276     VkSystemAllocationScope     allocationScope
3277 );
3278 
3279 alias PFN_vkFreeFunction = void function(
3280     void*                       pUserData,
3281     void*                       pMemory
3282 );
3283 
3284 alias PFN_vkInternalAllocationNotification = void function(
3285     void*                       pUserData,
3286     size_t                      size,
3287     VkInternalAllocationType    allocationType,
3288     VkSystemAllocationScope     allocationScope
3289 );
3290 
3291 alias PFN_vkInternalFreeNotification = void function(
3292     void*                       pUserData,
3293     size_t                      size,
3294     VkInternalAllocationType    allocationType,
3295     VkSystemAllocationScope     allocationScope
3296 );
3297 
3298 alias PFN_vkVoidFunction = void function();
3299 
3300 struct VkApplicationInfo {
3301     VkStructureType  sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
3302     const( void )*   pNext;
3303     const( char )*   pApplicationName;
3304     uint32_t         applicationVersion;
3305     const( char )*   pEngineName;
3306     uint32_t         engineVersion;
3307     uint32_t         apiVersion;
3308 }
3309 
3310 struct VkInstanceCreateInfo {
3311     VkStructureType              sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
3312     const( void )*               pNext;
3313     VkInstanceCreateFlags        flags;
3314     const( VkApplicationInfo )*  pApplicationInfo;
3315     uint32_t                     enabledLayerCount;
3316     const( char* )*              ppEnabledLayerNames;
3317     uint32_t                     enabledExtensionCount;
3318     const( char* )*              ppEnabledExtensionNames;
3319 }
3320 
3321 struct VkAllocationCallbacks {
3322     void*                                 pUserData;
3323     PFN_vkAllocationFunction              pfnAllocation;
3324     PFN_vkReallocationFunction            pfnReallocation;
3325     PFN_vkFreeFunction                    pfnFree;
3326     PFN_vkInternalAllocationNotification  pfnInternalAllocation;
3327     PFN_vkInternalFreeNotification        pfnInternalFree;
3328 }
3329 
3330 struct VkPhysicalDeviceFeatures {
3331     VkBool32  robustBufferAccess;
3332     VkBool32  fullDrawIndexUint32;
3333     VkBool32  imageCubeArray;
3334     VkBool32  independentBlend;
3335     VkBool32  geometryShader;
3336     VkBool32  tessellationShader;
3337     VkBool32  sampleRateShading;
3338     VkBool32  dualSrcBlend;
3339     VkBool32  logicOp;
3340     VkBool32  multiDrawIndirect;
3341     VkBool32  drawIndirectFirstInstance;
3342     VkBool32  depthClamp;
3343     VkBool32  depthBiasClamp;
3344     VkBool32  fillModeNonSolid;
3345     VkBool32  depthBounds;
3346     VkBool32  wideLines;
3347     VkBool32  largePoints;
3348     VkBool32  alphaToOne;
3349     VkBool32  multiViewport;
3350     VkBool32  samplerAnisotropy;
3351     VkBool32  textureCompressionETC2;
3352     VkBool32  textureCompressionASTC_LDR;
3353     VkBool32  textureCompressionBC;
3354     VkBool32  occlusionQueryPrecise;
3355     VkBool32  pipelineStatisticsQuery;
3356     VkBool32  vertexPipelineStoresAndAtomics;
3357     VkBool32  fragmentStoresAndAtomics;
3358     VkBool32  shaderTessellationAndGeometryPointSize;
3359     VkBool32  shaderImageGatherExtended;
3360     VkBool32  shaderStorageImageExtendedFormats;
3361     VkBool32  shaderStorageImageMultisample;
3362     VkBool32  shaderStorageImageReadWithoutFormat;
3363     VkBool32  shaderStorageImageWriteWithoutFormat;
3364     VkBool32  shaderUniformBufferArrayDynamicIndexing;
3365     VkBool32  shaderSampledImageArrayDynamicIndexing;
3366     VkBool32  shaderStorageBufferArrayDynamicIndexing;
3367     VkBool32  shaderStorageImageArrayDynamicIndexing;
3368     VkBool32  shaderClipDistance;
3369     VkBool32  shaderCullDistance;
3370     VkBool32  shaderFloat64;
3371     VkBool32  shaderInt64;
3372     VkBool32  shaderInt16;
3373     VkBool32  shaderResourceResidency;
3374     VkBool32  shaderResourceMinLod;
3375     VkBool32  sparseBinding;
3376     VkBool32  sparseResidencyBuffer;
3377     VkBool32  sparseResidencyImage2D;
3378     VkBool32  sparseResidencyImage3D;
3379     VkBool32  sparseResidency2Samples;
3380     VkBool32  sparseResidency4Samples;
3381     VkBool32  sparseResidency8Samples;
3382     VkBool32  sparseResidency16Samples;
3383     VkBool32  sparseResidencyAliased;
3384     VkBool32  variableMultisampleRate;
3385     VkBool32  inheritedQueries;
3386 }
3387 
3388 struct VkFormatProperties {
3389     VkFormatFeatureFlags  linearTilingFeatures;
3390     VkFormatFeatureFlags  optimalTilingFeatures;
3391     VkFormatFeatureFlags  bufferFeatures;
3392 }
3393 
3394 struct VkExtent3D {
3395     uint32_t  width;
3396     uint32_t  height;
3397     uint32_t  depth;
3398 }
3399 
3400 struct VkImageFormatProperties {
3401     VkExtent3D          maxExtent;
3402     uint32_t            maxMipLevels;
3403     uint32_t            maxArrayLayers;
3404     VkSampleCountFlags  sampleCounts;
3405     VkDeviceSize        maxResourceSize;
3406 }
3407 
3408 struct VkPhysicalDeviceLimits {
3409     uint32_t            maxImageDimension1D;
3410     uint32_t            maxImageDimension2D;
3411     uint32_t            maxImageDimension3D;
3412     uint32_t            maxImageDimensionCube;
3413     uint32_t            maxImageArrayLayers;
3414     uint32_t            maxTexelBufferElements;
3415     uint32_t            maxUniformBufferRange;
3416     uint32_t            maxStorageBufferRange;
3417     uint32_t            maxPushConstantsSize;
3418     uint32_t            maxMemoryAllocationCount;
3419     uint32_t            maxSamplerAllocationCount;
3420     VkDeviceSize        bufferImageGranularity;
3421     VkDeviceSize        sparseAddressSpaceSize;
3422     uint32_t            maxBoundDescriptorSets;
3423     uint32_t            maxPerStageDescriptorSamplers;
3424     uint32_t            maxPerStageDescriptorUniformBuffers;
3425     uint32_t            maxPerStageDescriptorStorageBuffers;
3426     uint32_t            maxPerStageDescriptorSampledImages;
3427     uint32_t            maxPerStageDescriptorStorageImages;
3428     uint32_t            maxPerStageDescriptorInputAttachments;
3429     uint32_t            maxPerStageResources;
3430     uint32_t            maxDescriptorSetSamplers;
3431     uint32_t            maxDescriptorSetUniformBuffers;
3432     uint32_t            maxDescriptorSetUniformBuffersDynamic;
3433     uint32_t            maxDescriptorSetStorageBuffers;
3434     uint32_t            maxDescriptorSetStorageBuffersDynamic;
3435     uint32_t            maxDescriptorSetSampledImages;
3436     uint32_t            maxDescriptorSetStorageImages;
3437     uint32_t            maxDescriptorSetInputAttachments;
3438     uint32_t            maxVertexInputAttributes;
3439     uint32_t            maxVertexInputBindings;
3440     uint32_t            maxVertexInputAttributeOffset;
3441     uint32_t            maxVertexInputBindingStride;
3442     uint32_t            maxVertexOutputComponents;
3443     uint32_t            maxTessellationGenerationLevel;
3444     uint32_t            maxTessellationPatchSize;
3445     uint32_t            maxTessellationControlPerVertexInputComponents;
3446     uint32_t            maxTessellationControlPerVertexOutputComponents;
3447     uint32_t            maxTessellationControlPerPatchOutputComponents;
3448     uint32_t            maxTessellationControlTotalOutputComponents;
3449     uint32_t            maxTessellationEvaluationInputComponents;
3450     uint32_t            maxTessellationEvaluationOutputComponents;
3451     uint32_t            maxGeometryShaderInvocations;
3452     uint32_t            maxGeometryInputComponents;
3453     uint32_t            maxGeometryOutputComponents;
3454     uint32_t            maxGeometryOutputVertices;
3455     uint32_t            maxGeometryTotalOutputComponents;
3456     uint32_t            maxFragmentInputComponents;
3457     uint32_t            maxFragmentOutputAttachments;
3458     uint32_t            maxFragmentDualSrcAttachments;
3459     uint32_t            maxFragmentCombinedOutputResources;
3460     uint32_t            maxComputeSharedMemorySize;
3461     uint32_t[3]         maxComputeWorkGroupCount;
3462     uint32_t            maxComputeWorkGroupInvocations;
3463     uint32_t[3]         maxComputeWorkGroupSize;
3464     uint32_t            subPixelPrecisionBits;
3465     uint32_t            subTexelPrecisionBits;
3466     uint32_t            mipmapPrecisionBits;
3467     uint32_t            maxDrawIndexedIndexValue;
3468     uint32_t            maxDrawIndirectCount;
3469     float               maxSamplerLodBias;
3470     float               maxSamplerAnisotropy;
3471     uint32_t            maxViewports;
3472     uint32_t[2]         maxViewportDimensions;
3473     float[2]            viewportBoundsRange;
3474     uint32_t            viewportSubPixelBits;
3475     size_t              minMemoryMapAlignment;
3476     VkDeviceSize        minTexelBufferOffsetAlignment;
3477     VkDeviceSize        minUniformBufferOffsetAlignment;
3478     VkDeviceSize        minStorageBufferOffsetAlignment;
3479     int32_t             minTexelOffset;
3480     uint32_t            maxTexelOffset;
3481     int32_t             minTexelGatherOffset;
3482     uint32_t            maxTexelGatherOffset;
3483     float               minInterpolationOffset;
3484     float               maxInterpolationOffset;
3485     uint32_t            subPixelInterpolationOffsetBits;
3486     uint32_t            maxFramebufferWidth;
3487     uint32_t            maxFramebufferHeight;
3488     uint32_t            maxFramebufferLayers;
3489     VkSampleCountFlags  framebufferColorSampleCounts;
3490     VkSampleCountFlags  framebufferDepthSampleCounts;
3491     VkSampleCountFlags  framebufferStencilSampleCounts;
3492     VkSampleCountFlags  framebufferNoAttachmentsSampleCounts;
3493     uint32_t            maxColorAttachments;
3494     VkSampleCountFlags  sampledImageColorSampleCounts;
3495     VkSampleCountFlags  sampledImageIntegerSampleCounts;
3496     VkSampleCountFlags  sampledImageDepthSampleCounts;
3497     VkSampleCountFlags  sampledImageStencilSampleCounts;
3498     VkSampleCountFlags  storageImageSampleCounts;
3499     uint32_t            maxSampleMaskWords;
3500     VkBool32            timestampComputeAndGraphics;
3501     float               timestampPeriod;
3502     uint32_t            maxClipDistances;
3503     uint32_t            maxCullDistances;
3504     uint32_t            maxCombinedClipAndCullDistances;
3505     uint32_t            discreteQueuePriorities;
3506     float[2]            pointSizeRange;
3507     float[2]            lineWidthRange;
3508     float               pointSizeGranularity;
3509     float               lineWidthGranularity;
3510     VkBool32            strictLines;
3511     VkBool32            standardSampleLocations;
3512     VkDeviceSize        optimalBufferCopyOffsetAlignment;
3513     VkDeviceSize        optimalBufferCopyRowPitchAlignment;
3514     VkDeviceSize        nonCoherentAtomSize;
3515 }
3516 
3517 struct VkPhysicalDeviceSparseProperties {
3518     VkBool32  residencyStandard2DBlockShape;
3519     VkBool32  residencyStandard2DMultisampleBlockShape;
3520     VkBool32  residencyStandard3DBlockShape;
3521     VkBool32  residencyAlignedMipSize;
3522     VkBool32  residencyNonResidentStrict;
3523 }
3524 
3525 struct VkPhysicalDeviceProperties {
3526     uint32_t                                  apiVersion;
3527     uint32_t                                  driverVersion;
3528     uint32_t                                  vendorID;
3529     uint32_t                                  deviceID;
3530     VkPhysicalDeviceType                      deviceType;
3531     char[ VK_MAX_PHYSICAL_DEVICE_NAME_SIZE ]  deviceName;
3532     uint8_t[ VK_UUID_SIZE ]                   pipelineCacheUUID;
3533     VkPhysicalDeviceLimits                    limits;
3534     VkPhysicalDeviceSparseProperties          sparseProperties;
3535 }
3536 
3537 struct VkQueueFamilyProperties {
3538     VkQueueFlags  queueFlags;
3539     uint32_t      queueCount;
3540     uint32_t      timestampValidBits;
3541     VkExtent3D    minImageTransferGranularity;
3542 }
3543 
3544 struct VkMemoryType {
3545     VkMemoryPropertyFlags  propertyFlags;
3546     uint32_t               heapIndex;
3547 }
3548 
3549 struct VkMemoryHeap {
3550     VkDeviceSize       size;
3551     VkMemoryHeapFlags  flags;
3552 }
3553 
3554 struct VkPhysicalDeviceMemoryProperties {
3555     uint32_t                             memoryTypeCount;
3556     VkMemoryType[ VK_MAX_MEMORY_TYPES ]  memoryTypes;
3557     uint32_t                             memoryHeapCount;
3558     VkMemoryHeap[ VK_MAX_MEMORY_HEAPS ]  memoryHeaps;
3559 }
3560 
3561 struct VkDeviceQueueCreateInfo {
3562     VkStructureType           sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
3563     const( void )*            pNext;
3564     VkDeviceQueueCreateFlags  flags;
3565     uint32_t                  queueFamilyIndex;
3566     uint32_t                  queueCount;
3567     const( float )*           pQueuePriorities;
3568 }
3569 
3570 struct VkDeviceCreateInfo {
3571     VkStructureType                     sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
3572     const( void )*                      pNext;
3573     VkDeviceCreateFlags                 flags;
3574     uint32_t                            queueCreateInfoCount;
3575     const( VkDeviceQueueCreateInfo )*   pQueueCreateInfos;
3576     uint32_t                            enabledLayerCount;
3577     const( char* )*                     ppEnabledLayerNames;
3578     uint32_t                            enabledExtensionCount;
3579     const( char* )*                     ppEnabledExtensionNames;
3580     const( VkPhysicalDeviceFeatures )*  pEnabledFeatures;
3581 }
3582 
3583 struct VkExtensionProperties {
3584     char[ VK_MAX_EXTENSION_NAME_SIZE ]  extensionName;
3585     uint32_t                            specVersion;
3586 }
3587 
3588 struct VkLayerProperties {
3589     char[ VK_MAX_EXTENSION_NAME_SIZE ]  layerName;
3590     uint32_t                            specVersion;
3591     uint32_t                            implementationVersion;
3592     char[ VK_MAX_DESCRIPTION_SIZE ]     description;
3593 }
3594 
3595 struct VkSubmitInfo {
3596     VkStructureType                 sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
3597     const( void )*                  pNext;
3598     uint32_t                        waitSemaphoreCount;
3599     const( VkSemaphore )*           pWaitSemaphores;
3600     const( VkPipelineStageFlags )*  pWaitDstStageMask;
3601     uint32_t                        commandBufferCount;
3602     const( VkCommandBuffer )*       pCommandBuffers;
3603     uint32_t                        signalSemaphoreCount;
3604     const( VkSemaphore )*           pSignalSemaphores;
3605 }
3606 
3607 struct VkMemoryAllocateInfo {
3608     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
3609     const( void )*   pNext;
3610     VkDeviceSize     allocationSize;
3611     uint32_t         memoryTypeIndex;
3612 }
3613 
3614 struct VkMappedMemoryRange {
3615     VkStructureType  sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
3616     const( void )*   pNext;
3617     VkDeviceMemory   memory;
3618     VkDeviceSize     offset;
3619     VkDeviceSize     size;
3620 }
3621 
3622 struct VkMemoryRequirements {
3623     VkDeviceSize  size;
3624     VkDeviceSize  alignment;
3625     uint32_t      memoryTypeBits;
3626 }
3627 
3628 struct VkSparseImageFormatProperties {
3629     VkImageAspectFlags        aspectMask;
3630     VkExtent3D                imageGranularity;
3631     VkSparseImageFormatFlags  flags;
3632 }
3633 
3634 struct VkSparseImageMemoryRequirements {
3635     VkSparseImageFormatProperties  formatProperties;
3636     uint32_t                       imageMipTailFirstLod;
3637     VkDeviceSize                   imageMipTailSize;
3638     VkDeviceSize                   imageMipTailOffset;
3639     VkDeviceSize                   imageMipTailStride;
3640 }
3641 
3642 struct VkSparseMemoryBind {
3643     VkDeviceSize             resourceOffset;
3644     VkDeviceSize             size;
3645     VkDeviceMemory           memory;
3646     VkDeviceSize             memoryOffset;
3647     VkSparseMemoryBindFlags  flags;
3648 }
3649 
3650 struct VkSparseBufferMemoryBindInfo {
3651     VkBuffer                      buffer;
3652     uint32_t                      bindCount;
3653     const( VkSparseMemoryBind )*  pBinds;
3654 }
3655 
3656 struct VkSparseImageOpaqueMemoryBindInfo {
3657     VkImage                       image;
3658     uint32_t                      bindCount;
3659     const( VkSparseMemoryBind )*  pBinds;
3660 }
3661 
3662 struct VkImageSubresource {
3663     VkImageAspectFlags  aspectMask;
3664     uint32_t            mipLevel;
3665     uint32_t            arrayLayer;
3666 }
3667 
3668 struct VkOffset3D {
3669     int32_t  x;
3670     int32_t  y;
3671     int32_t  z;
3672 }
3673 
3674 struct VkSparseImageMemoryBind {
3675     VkImageSubresource       subresource;
3676     VkOffset3D               offset;
3677     VkExtent3D               extent;
3678     VkDeviceMemory           memory;
3679     VkDeviceSize             memoryOffset;
3680     VkSparseMemoryBindFlags  flags;
3681 }
3682 
3683 struct VkSparseImageMemoryBindInfo {
3684     VkImage                            image;
3685     uint32_t                           bindCount;
3686     const( VkSparseImageMemoryBind )*  pBinds;
3687 }
3688 
3689 struct VkBindSparseInfo {
3690     VkStructureType                              sType = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO;
3691     const( void )*                               pNext;
3692     uint32_t                                     waitSemaphoreCount;
3693     const( VkSemaphore )*                        pWaitSemaphores;
3694     uint32_t                                     bufferBindCount;
3695     const( VkSparseBufferMemoryBindInfo )*       pBufferBinds;
3696     uint32_t                                     imageOpaqueBindCount;
3697     const( VkSparseImageOpaqueMemoryBindInfo )*  pImageOpaqueBinds;
3698     uint32_t                                     imageBindCount;
3699     const( VkSparseImageMemoryBindInfo )*        pImageBinds;
3700     uint32_t                                     signalSemaphoreCount;
3701     const( VkSemaphore )*                        pSignalSemaphores;
3702 }
3703 
3704 struct VkFenceCreateInfo {
3705     VkStructureType     sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
3706     const( void )*      pNext;
3707     VkFenceCreateFlags  flags;
3708 }
3709 
3710 struct VkSemaphoreCreateInfo {
3711     VkStructureType         sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
3712     const( void )*          pNext;
3713     VkSemaphoreCreateFlags  flags;
3714 }
3715 
3716 struct VkEventCreateInfo {
3717     VkStructureType     sType = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO;
3718     const( void )*      pNext;
3719     VkEventCreateFlags  flags;
3720 }
3721 
3722 struct VkQueryPoolCreateInfo {
3723     VkStructureType                sType = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO;
3724     const( void )*                 pNext;
3725     VkQueryPoolCreateFlags         flags;
3726     VkQueryType                    queryType;
3727     uint32_t                       queryCount;
3728     VkQueryPipelineStatisticFlags  pipelineStatistics;
3729 }
3730 
3731 struct VkBufferCreateInfo {
3732     VkStructureType      sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
3733     const( void )*       pNext;
3734     VkBufferCreateFlags  flags;
3735     VkDeviceSize         size;
3736     VkBufferUsageFlags   usage;
3737     VkSharingMode        sharingMode;
3738     uint32_t             queueFamilyIndexCount;
3739     const( uint32_t )*   pQueueFamilyIndices;
3740 }
3741 
3742 struct VkBufferViewCreateInfo {
3743     VkStructureType          sType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
3744     const( void )*           pNext;
3745     VkBufferViewCreateFlags  flags;
3746     VkBuffer                 buffer;
3747     VkFormat                 format;
3748     VkDeviceSize             offset;
3749     VkDeviceSize             range;
3750 }
3751 
3752 struct VkImageCreateInfo {
3753     VkStructureType        sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
3754     const( void )*         pNext;
3755     VkImageCreateFlags     flags;
3756     VkImageType            imageType;
3757     VkFormat               format;
3758     VkExtent3D             extent;
3759     uint32_t               mipLevels;
3760     uint32_t               arrayLayers;
3761     VkSampleCountFlagBits  samples;
3762     VkImageTiling          tiling;
3763     VkImageUsageFlags      usage;
3764     VkSharingMode          sharingMode;
3765     uint32_t               queueFamilyIndexCount;
3766     const( uint32_t )*     pQueueFamilyIndices;
3767     VkImageLayout          initialLayout;
3768 }
3769 
3770 struct VkSubresourceLayout {
3771     VkDeviceSize  offset;
3772     VkDeviceSize  size;
3773     VkDeviceSize  rowPitch;
3774     VkDeviceSize  arrayPitch;
3775     VkDeviceSize  depthPitch;
3776 }
3777 
3778 struct VkComponentMapping {
3779     VkComponentSwizzle  r;
3780     VkComponentSwizzle  g;
3781     VkComponentSwizzle  b;
3782     VkComponentSwizzle  a;
3783 }
3784 
3785 struct VkImageSubresourceRange {
3786     VkImageAspectFlags  aspectMask;
3787     uint32_t            baseMipLevel;
3788     uint32_t            levelCount;
3789     uint32_t            baseArrayLayer;
3790     uint32_t            layerCount;
3791 }
3792 
3793 struct VkImageViewCreateInfo {
3794     VkStructureType          sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
3795     const( void )*           pNext;
3796     VkImageViewCreateFlags   flags;
3797     VkImage                  image;
3798     VkImageViewType          viewType;
3799     VkFormat                 format;
3800     VkComponentMapping       components;
3801     VkImageSubresourceRange  subresourceRange;
3802 }
3803 
3804 struct VkShaderModuleCreateInfo {
3805     VkStructureType            sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
3806     const( void )*             pNext;
3807     VkShaderModuleCreateFlags  flags;
3808     size_t                     codeSize;
3809     const( uint32_t )*         pCode;
3810 }
3811 
3812 struct VkPipelineCacheCreateInfo {
3813     VkStructureType             sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
3814     const( void )*              pNext;
3815     VkPipelineCacheCreateFlags  flags;
3816     size_t                      initialDataSize;
3817     const( void )*              pInitialData;
3818 }
3819 
3820 struct VkSpecializationMapEntry {
3821     uint32_t  constantID;
3822     uint32_t  offset;
3823     size_t    size;
3824 }
3825 
3826 struct VkSpecializationInfo {
3827     uint32_t                            mapEntryCount;
3828     const( VkSpecializationMapEntry )*  pMapEntries;
3829     size_t                              dataSize;
3830     const( void )*                      pData;
3831 }
3832 
3833 struct VkPipelineShaderStageCreateInfo {
3834     VkStructureType                   sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
3835     const( void )*                    pNext;
3836     VkPipelineShaderStageCreateFlags  flags;
3837     VkShaderStageFlagBits             stage;
3838     VkShaderModule                    _module;
3839     const( char )*                    pName;
3840     const( VkSpecializationInfo )*    pSpecializationInfo;
3841 }
3842 
3843 struct VkVertexInputBindingDescription {
3844     uint32_t           binding;
3845     uint32_t           stride;
3846     VkVertexInputRate  inputRate;
3847 }
3848 
3849 struct VkVertexInputAttributeDescription {
3850     uint32_t  location;
3851     uint32_t  binding;
3852     VkFormat  format;
3853     uint32_t  offset;
3854 }
3855 
3856 struct VkPipelineVertexInputStateCreateInfo {
3857     VkStructureType                              sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
3858     const( void )*                               pNext;
3859     VkPipelineVertexInputStateCreateFlags        flags;
3860     uint32_t                                     vertexBindingDescriptionCount;
3861     const( VkVertexInputBindingDescription )*    pVertexBindingDescriptions;
3862     uint32_t                                     vertexAttributeDescriptionCount;
3863     const( VkVertexInputAttributeDescription )*  pVertexAttributeDescriptions;
3864 }
3865 
3866 struct VkPipelineInputAssemblyStateCreateInfo {
3867     VkStructureType                          sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
3868     const( void )*                           pNext;
3869     VkPipelineInputAssemblyStateCreateFlags  flags;
3870     VkPrimitiveTopology                      topology;
3871     VkBool32                                 primitiveRestartEnable;
3872 }
3873 
3874 struct VkPipelineTessellationStateCreateInfo {
3875     VkStructureType                         sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO;
3876     const( void )*                          pNext;
3877     VkPipelineTessellationStateCreateFlags  flags;
3878     uint32_t                                patchControlPoints;
3879 }
3880 
3881 struct VkViewport {
3882     float  x;
3883     float  y;
3884     float  width;
3885     float  height;
3886     float  minDepth;
3887     float  maxDepth;
3888 }
3889 
3890 struct VkOffset2D {
3891     int32_t  x;
3892     int32_t  y;
3893 }
3894 
3895 struct VkExtent2D {
3896     uint32_t  width;
3897     uint32_t  height;
3898 }
3899 
3900 struct VkRect2D {
3901     VkOffset2D  offset;
3902     VkExtent2D  extent;
3903 }
3904 
3905 struct VkPipelineViewportStateCreateInfo {
3906     VkStructureType                     sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
3907     const( void )*                      pNext;
3908     VkPipelineViewportStateCreateFlags  flags;
3909     uint32_t                            viewportCount;
3910     const( VkViewport )*                pViewports;
3911     uint32_t                            scissorCount;
3912     const( VkRect2D )*                  pScissors;
3913 }
3914 
3915 struct VkPipelineRasterizationStateCreateInfo {
3916     VkStructureType                          sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
3917     const( void )*                           pNext;
3918     VkPipelineRasterizationStateCreateFlags  flags;
3919     VkBool32                                 depthClampEnable;
3920     VkBool32                                 rasterizerDiscardEnable;
3921     VkPolygonMode                            polygonMode;
3922     VkCullModeFlags                          cullMode;
3923     VkFrontFace                              frontFace;
3924     VkBool32                                 depthBiasEnable;
3925     float                                    depthBiasConstantFactor;
3926     float                                    depthBiasClamp;
3927     float                                    depthBiasSlopeFactor;
3928     float                                    lineWidth;
3929 }
3930 
3931 struct VkPipelineMultisampleStateCreateInfo {
3932     VkStructureType                        sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
3933     const( void )*                         pNext;
3934     VkPipelineMultisampleStateCreateFlags  flags;
3935     VkSampleCountFlagBits                  rasterizationSamples;
3936     VkBool32                               sampleShadingEnable;
3937     float                                  minSampleShading;
3938     const( VkSampleMask )*                 pSampleMask;
3939     VkBool32                               alphaToCoverageEnable;
3940     VkBool32                               alphaToOneEnable;
3941 }
3942 
3943 struct VkStencilOpState {
3944     VkStencilOp  failOp;
3945     VkStencilOp  passOp;
3946     VkStencilOp  depthFailOp;
3947     VkCompareOp  compareOp;
3948     uint32_t     compareMask;
3949     uint32_t     writeMask;
3950     uint32_t     reference;
3951 }
3952 
3953 struct VkPipelineDepthStencilStateCreateInfo {
3954     VkStructureType                         sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
3955     const( void )*                          pNext;
3956     VkPipelineDepthStencilStateCreateFlags  flags;
3957     VkBool32                                depthTestEnable;
3958     VkBool32                                depthWriteEnable;
3959     VkCompareOp                             depthCompareOp;
3960     VkBool32                                depthBoundsTestEnable;
3961     VkBool32                                stencilTestEnable;
3962     VkStencilOpState                        front;
3963     VkStencilOpState                        back;
3964     float                                   minDepthBounds;
3965     float                                   maxDepthBounds;
3966 }
3967 
3968 struct VkPipelineColorBlendAttachmentState {
3969     VkBool32               blendEnable;
3970     VkBlendFactor          srcColorBlendFactor;
3971     VkBlendFactor          dstColorBlendFactor;
3972     VkBlendOp              colorBlendOp;
3973     VkBlendFactor          srcAlphaBlendFactor;
3974     VkBlendFactor          dstAlphaBlendFactor;
3975     VkBlendOp              alphaBlendOp;
3976     VkColorComponentFlags  colorWriteMask;
3977 }
3978 
3979 struct VkPipelineColorBlendStateCreateInfo {
3980     VkStructureType                                sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
3981     const( void )*                                 pNext;
3982     VkPipelineColorBlendStateCreateFlags           flags;
3983     VkBool32                                       logicOpEnable;
3984     VkLogicOp                                      logicOp;
3985     uint32_t                                       attachmentCount;
3986     const( VkPipelineColorBlendAttachmentState )*  pAttachments;
3987     float[4]                                       blendConstants;
3988 }
3989 
3990 struct VkPipelineDynamicStateCreateInfo {
3991     VkStructureType                    sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
3992     const( void )*                     pNext;
3993     VkPipelineDynamicStateCreateFlags  flags;
3994     uint32_t                           dynamicStateCount;
3995     const( VkDynamicState )*           pDynamicStates;
3996 }
3997 
3998 struct VkGraphicsPipelineCreateInfo {
3999     VkStructureType                                   sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
4000     const( void )*                                    pNext;
4001     VkPipelineCreateFlags                             flags;
4002     uint32_t                                          stageCount;
4003     const( VkPipelineShaderStageCreateInfo )*         pStages;
4004     const( VkPipelineVertexInputStateCreateInfo )*    pVertexInputState;
4005     const( VkPipelineInputAssemblyStateCreateInfo )*  pInputAssemblyState;
4006     const( VkPipelineTessellationStateCreateInfo )*   pTessellationState;
4007     const( VkPipelineViewportStateCreateInfo )*       pViewportState;
4008     const( VkPipelineRasterizationStateCreateInfo )*  pRasterizationState;
4009     const( VkPipelineMultisampleStateCreateInfo )*    pMultisampleState;
4010     const( VkPipelineDepthStencilStateCreateInfo )*   pDepthStencilState;
4011     const( VkPipelineColorBlendStateCreateInfo )*     pColorBlendState;
4012     const( VkPipelineDynamicStateCreateInfo )*        pDynamicState;
4013     VkPipelineLayout                                  layout;
4014     VkRenderPass                                      renderPass;
4015     uint32_t                                          subpass;
4016     VkPipeline                                        basePipelineHandle;
4017     int32_t                                           basePipelineIndex;
4018 }
4019 
4020 struct VkComputePipelineCreateInfo {
4021     VkStructureType                  sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
4022     const( void )*                   pNext;
4023     VkPipelineCreateFlags            flags;
4024     VkPipelineShaderStageCreateInfo  stage;
4025     VkPipelineLayout                 layout;
4026     VkPipeline                       basePipelineHandle;
4027     int32_t                          basePipelineIndex;
4028 }
4029 
4030 struct VkPushConstantRange {
4031     VkShaderStageFlags  stageFlags;
4032     uint32_t            offset;
4033     uint32_t            size;
4034 }
4035 
4036 struct VkPipelineLayoutCreateInfo {
4037     VkStructureType                  sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
4038     const( void )*                   pNext;
4039     VkPipelineLayoutCreateFlags      flags;
4040     uint32_t                         setLayoutCount;
4041     const( VkDescriptorSetLayout )*  pSetLayouts;
4042     uint32_t                         pushConstantRangeCount;
4043     const( VkPushConstantRange )*    pPushConstantRanges;
4044 }
4045 
4046 struct VkSamplerCreateInfo {
4047     VkStructureType       sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
4048     const( void )*        pNext;
4049     VkSamplerCreateFlags  flags;
4050     VkFilter              magFilter;
4051     VkFilter              minFilter;
4052     VkSamplerMipmapMode   mipmapMode;
4053     VkSamplerAddressMode  addressModeU;
4054     VkSamplerAddressMode  addressModeV;
4055     VkSamplerAddressMode  addressModeW;
4056     float                 mipLodBias;
4057     VkBool32              anisotropyEnable;
4058     float                 maxAnisotropy;
4059     VkBool32              compareEnable;
4060     VkCompareOp           compareOp;
4061     float                 minLod;
4062     float                 maxLod;
4063     VkBorderColor         borderColor;
4064     VkBool32              unnormalizedCoordinates;
4065 }
4066 
4067 struct VkDescriptorSetLayoutBinding {
4068     uint32_t             binding;
4069     VkDescriptorType     descriptorType;
4070     uint32_t             descriptorCount;
4071     VkShaderStageFlags   stageFlags;
4072     const( VkSampler )*  pImmutableSamplers;
4073 }
4074 
4075 struct VkDescriptorSetLayoutCreateInfo {
4076     VkStructureType                         sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
4077     const( void )*                          pNext;
4078     VkDescriptorSetLayoutCreateFlags        flags;
4079     uint32_t                                bindingCount;
4080     const( VkDescriptorSetLayoutBinding )*  pBindings;
4081 }
4082 
4083 struct VkDescriptorPoolSize {
4084     VkDescriptorType  type;
4085     uint32_t          descriptorCount;
4086 }
4087 
4088 struct VkDescriptorPoolCreateInfo {
4089     VkStructureType                 sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
4090     const( void )*                  pNext;
4091     VkDescriptorPoolCreateFlags     flags;
4092     uint32_t                        maxSets;
4093     uint32_t                        poolSizeCount;
4094     const( VkDescriptorPoolSize )*  pPoolSizes;
4095 }
4096 
4097 struct VkDescriptorSetAllocateInfo {
4098     VkStructureType                  sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
4099     const( void )*                   pNext;
4100     VkDescriptorPool                 descriptorPool;
4101     uint32_t                         descriptorSetCount;
4102     const( VkDescriptorSetLayout )*  pSetLayouts;
4103 }
4104 
4105 struct VkDescriptorImageInfo {
4106     VkSampler      sampler;
4107     VkImageView    imageView;
4108     VkImageLayout  imageLayout;
4109 }
4110 
4111 struct VkDescriptorBufferInfo {
4112     VkBuffer      buffer;
4113     VkDeviceSize  offset;
4114     VkDeviceSize  range;
4115 }
4116 
4117 struct VkWriteDescriptorSet {
4118     VkStructureType                   sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
4119     const( void )*                    pNext;
4120     VkDescriptorSet                   dstSet;
4121     uint32_t                          dstBinding;
4122     uint32_t                          dstArrayElement;
4123     uint32_t                          descriptorCount;
4124     VkDescriptorType                  descriptorType;
4125     const( VkDescriptorImageInfo )*   pImageInfo;
4126     const( VkDescriptorBufferInfo )*  pBufferInfo;
4127     const( VkBufferView )*            pTexelBufferView;
4128 }
4129 
4130 struct VkCopyDescriptorSet {
4131     VkStructureType  sType = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET;
4132     const( void )*   pNext;
4133     VkDescriptorSet  srcSet;
4134     uint32_t         srcBinding;
4135     uint32_t         srcArrayElement;
4136     VkDescriptorSet  dstSet;
4137     uint32_t         dstBinding;
4138     uint32_t         dstArrayElement;
4139     uint32_t         descriptorCount;
4140 }
4141 
4142 struct VkFramebufferCreateInfo {
4143     VkStructureType           sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
4144     const( void )*            pNext;
4145     VkFramebufferCreateFlags  flags;
4146     VkRenderPass              renderPass;
4147     uint32_t                  attachmentCount;
4148     const( VkImageView )*     pAttachments;
4149     uint32_t                  width;
4150     uint32_t                  height;
4151     uint32_t                  layers;
4152 }
4153 
4154 struct VkAttachmentDescription {
4155     VkAttachmentDescriptionFlags  flags;
4156     VkFormat                      format;
4157     VkSampleCountFlagBits         samples;
4158     VkAttachmentLoadOp            loadOp;
4159     VkAttachmentStoreOp           storeOp;
4160     VkAttachmentLoadOp            stencilLoadOp;
4161     VkAttachmentStoreOp           stencilStoreOp;
4162     VkImageLayout                 initialLayout;
4163     VkImageLayout                 finalLayout;
4164 }
4165 
4166 struct VkAttachmentReference {
4167     uint32_t       attachment;
4168     VkImageLayout  layout;
4169 }
4170 
4171 struct VkSubpassDescription {
4172     VkSubpassDescriptionFlags        flags;
4173     VkPipelineBindPoint              pipelineBindPoint;
4174     uint32_t                         inputAttachmentCount;
4175     const( VkAttachmentReference )*  pInputAttachments;
4176     uint32_t                         colorAttachmentCount;
4177     const( VkAttachmentReference )*  pColorAttachments;
4178     const( VkAttachmentReference )*  pResolveAttachments;
4179     const( VkAttachmentReference )*  pDepthStencilAttachment;
4180     uint32_t                         preserveAttachmentCount;
4181     const( uint32_t )*               pPreserveAttachments;
4182 }
4183 
4184 struct VkSubpassDependency {
4185     uint32_t              srcSubpass;
4186     uint32_t              dstSubpass;
4187     VkPipelineStageFlags  srcStageMask;
4188     VkPipelineStageFlags  dstStageMask;
4189     VkAccessFlags         srcAccessMask;
4190     VkAccessFlags         dstAccessMask;
4191     VkDependencyFlags     dependencyFlags;
4192 }
4193 
4194 struct VkRenderPassCreateInfo {
4195     VkStructureType                    sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
4196     const( void )*                     pNext;
4197     VkRenderPassCreateFlags            flags;
4198     uint32_t                           attachmentCount;
4199     const( VkAttachmentDescription )*  pAttachments;
4200     uint32_t                           subpassCount;
4201     const( VkSubpassDescription )*     pSubpasses;
4202     uint32_t                           dependencyCount;
4203     const( VkSubpassDependency )*      pDependencies;
4204 }
4205 
4206 struct VkCommandPoolCreateInfo {
4207     VkStructureType           sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
4208     const( void )*            pNext;
4209     VkCommandPoolCreateFlags  flags;
4210     uint32_t                  queueFamilyIndex;
4211 }
4212 
4213 struct VkCommandBufferAllocateInfo {
4214     VkStructureType       sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
4215     const( void )*        pNext;
4216     VkCommandPool         commandPool;
4217     VkCommandBufferLevel  level;
4218     uint32_t              commandBufferCount;
4219 }
4220 
4221 struct VkCommandBufferInheritanceInfo {
4222     VkStructureType                sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
4223     const( void )*                 pNext;
4224     VkRenderPass                   renderPass;
4225     uint32_t                       subpass;
4226     VkFramebuffer                  framebuffer;
4227     VkBool32                       occlusionQueryEnable;
4228     VkQueryControlFlags            queryFlags;
4229     VkQueryPipelineStatisticFlags  pipelineStatistics;
4230 }
4231 
4232 struct VkCommandBufferBeginInfo {
4233     VkStructureType                           sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
4234     const( void )*                            pNext;
4235     VkCommandBufferUsageFlags                 flags;
4236     const( VkCommandBufferInheritanceInfo )*  pInheritanceInfo;
4237 }
4238 
4239 struct VkBufferCopy {
4240     VkDeviceSize  srcOffset;
4241     VkDeviceSize  dstOffset;
4242     VkDeviceSize  size;
4243 }
4244 
4245 struct VkImageSubresourceLayers {
4246     VkImageAspectFlags  aspectMask;
4247     uint32_t            mipLevel;
4248     uint32_t            baseArrayLayer;
4249     uint32_t            layerCount;
4250 }
4251 
4252 struct VkImageCopy {
4253     VkImageSubresourceLayers  srcSubresource;
4254     VkOffset3D                srcOffset;
4255     VkImageSubresourceLayers  dstSubresource;
4256     VkOffset3D                dstOffset;
4257     VkExtent3D                extent;
4258 }
4259 
4260 struct VkImageBlit {
4261     VkImageSubresourceLayers  srcSubresource;
4262     VkOffset3D[2]             srcOffsets;
4263     VkImageSubresourceLayers  dstSubresource;
4264     VkOffset3D[2]             dstOffsets;
4265 }
4266 
4267 struct VkBufferImageCopy {
4268     VkDeviceSize              bufferOffset;
4269     uint32_t                  bufferRowLength;
4270     uint32_t                  bufferImageHeight;
4271     VkImageSubresourceLayers  imageSubresource;
4272     VkOffset3D                imageOffset;
4273     VkExtent3D                imageExtent;
4274 }
4275 
4276 union VkClearColorValue {
4277     float[4]     float32;
4278     int32_t[4]   int32;
4279     uint32_t[4]  uint32;
4280 }
4281 
4282 struct VkClearDepthStencilValue {
4283     float     depth;
4284     uint32_t  stencil;
4285 }
4286 
4287 union VkClearValue {
4288     VkClearColorValue         color;
4289     VkClearDepthStencilValue  depthStencil;
4290 }
4291 
4292 struct VkClearAttachment {
4293     VkImageAspectFlags  aspectMask;
4294     uint32_t            colorAttachment;
4295     VkClearValue        clearValue;
4296 }
4297 
4298 struct VkClearRect {
4299     VkRect2D  rect;
4300     uint32_t  baseArrayLayer;
4301     uint32_t  layerCount;
4302 }
4303 
4304 struct VkImageResolve {
4305     VkImageSubresourceLayers  srcSubresource;
4306     VkOffset3D                srcOffset;
4307     VkImageSubresourceLayers  dstSubresource;
4308     VkOffset3D                dstOffset;
4309     VkExtent3D                extent;
4310 }
4311 
4312 struct VkMemoryBarrier {
4313     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER;
4314     const( void )*   pNext;
4315     VkAccessFlags    srcAccessMask;
4316     VkAccessFlags    dstAccessMask;
4317 }
4318 
4319 struct VkBufferMemoryBarrier {
4320     VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
4321     const( void )*   pNext;
4322     VkAccessFlags    srcAccessMask;
4323     VkAccessFlags    dstAccessMask;
4324     uint32_t         srcQueueFamilyIndex;
4325     uint32_t         dstQueueFamilyIndex;
4326     VkBuffer         buffer;
4327     VkDeviceSize     offset;
4328     VkDeviceSize     size;
4329 }
4330 
4331 struct VkImageMemoryBarrier {
4332     VkStructureType          sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
4333     const( void )*           pNext;
4334     VkAccessFlags            srcAccessMask;
4335     VkAccessFlags            dstAccessMask;
4336     VkImageLayout            oldLayout;
4337     VkImageLayout            newLayout;
4338     uint32_t                 srcQueueFamilyIndex;
4339     uint32_t                 dstQueueFamilyIndex;
4340     VkImage                  image;
4341     VkImageSubresourceRange  subresourceRange;
4342 }
4343 
4344 struct VkRenderPassBeginInfo {
4345     VkStructureType         sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
4346     const( void )*          pNext;
4347     VkRenderPass            renderPass;
4348     VkFramebuffer           framebuffer;
4349     VkRect2D                renderArea;
4350     uint32_t                clearValueCount;
4351     const( VkClearValue )*  pClearValues;
4352 }
4353 
4354 struct VkDispatchIndirectCommand {
4355     uint32_t  x;
4356     uint32_t  y;
4357     uint32_t  z;
4358 }
4359 
4360 struct VkDrawIndexedIndirectCommand {
4361     uint32_t  indexCount;
4362     uint32_t  instanceCount;
4363     uint32_t  firstIndex;
4364     int32_t   vertexOffset;
4365     uint32_t  firstInstance;
4366 }
4367 
4368 struct VkDrawIndirectCommand {
4369     uint32_t  vertexCount;
4370     uint32_t  instanceCount;
4371     uint32_t  firstVertex;
4372     uint32_t  firstInstance;
4373 }
4374 
4375 struct VkBaseOutStructure {
4376     VkStructureType               sType;
4377     const( VkBaseOutStructure )*  pNext;
4378 }
4379 
4380 struct VkBaseInStructure {
4381     VkStructureType              sType;
4382     const( VkBaseInStructure )*  pNext;
4383 }
4384 
4385 
4386 // - VK_VERSION_1_1 -
4387 enum VK_VERSION_1_1 = 1;
4388 
4389 // Vulkan 1.1 version number
4390 enum VK_API_VERSION_1_1 = VK_MAKE_VERSION( 1, 1, 0 );  // Patch version should always be set to 0
4391 
4392 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSamplerYcbcrConversion} );
4393 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorUpdateTemplate} );
4394 
4395 enum VK_MAX_DEVICE_GROUP_SIZE = 32;
4396 enum VK_LUID_SIZE = 8;
4397 enum VK_QUEUE_FAMILY_EXTERNAL = (~0U-1);
4398 
4399 enum VkPointClippingBehavior {
4400     VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES                   = 0,
4401     VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY             = 1,
4402     VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR               = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4403     VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR         = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4404     VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE                       = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4405     VK_POINT_CLIPPING_BEHAVIOR_END_RANGE                         = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4406     VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE                        = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY - VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES + 1,
4407     VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM                          = 0x7FFFFFFF
4408 }
4409 
4410 enum VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES                  = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES;
4411 enum VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY            = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY;
4412 enum VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR              = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR;
4413 enum VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR        = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR;
4414 enum VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE                      = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE;
4415 enum VK_POINT_CLIPPING_BEHAVIOR_END_RANGE                        = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_END_RANGE;
4416 enum VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE                       = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE;
4417 enum VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM                         = VkPointClippingBehavior.VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM;
4418 
4419 enum VkTessellationDomainOrigin {
4420     VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT             = 0,
4421     VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT             = 1,
4422     VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR         = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4423     VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR         = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4424     VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE            = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4425     VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE              = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4426     VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE             = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT - VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT + 1,
4427     VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM               = 0x7FFFFFFF
4428 }
4429 
4430 enum VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT            = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT;
4431 enum VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT            = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT;
4432 enum VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR        = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR;
4433 enum VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR        = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR;
4434 enum VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE           = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE;
4435 enum VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE             = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE;
4436 enum VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE            = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE;
4437 enum VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM              = VkTessellationDomainOrigin.VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM;
4438 
4439 enum VkSamplerYcbcrModelConversion {
4440     VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY               = 0,
4441     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY             = 1,
4442     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709                  = 2,
4443     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601                  = 3,
4444     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020                 = 4,
4445     VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR           = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4446     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR         = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4447     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR              = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4448     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR              = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4449     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR             = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4450     VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE                = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4451     VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE                  = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4452     VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE                 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 - VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY + 1,
4453     VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM                   = 0x7FFFFFFF
4454 }
4455 
4456 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY              = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY;
4457 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY            = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY;
4458 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709                 = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709;
4459 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601                 = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601;
4460 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020                = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020;
4461 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR          = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR;
4462 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR        = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR;
4463 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR             = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR;
4464 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR             = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR;
4465 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR            = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR;
4466 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE               = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE;
4467 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE                 = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE;
4468 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE                = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE;
4469 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM                  = VkSamplerYcbcrModelConversion.VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM;
4470 
4471 enum VkSamplerYcbcrRange {
4472     VK_SAMPLER_YCBCR_RANGE_ITU_FULL              = 0,
4473     VK_SAMPLER_YCBCR_RANGE_ITU_NARROW            = 1,
4474     VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR          = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4475     VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR        = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4476     VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE           = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4477     VK_SAMPLER_YCBCR_RANGE_END_RANGE             = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4478     VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE            = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW - VK_SAMPLER_YCBCR_RANGE_ITU_FULL + 1,
4479     VK_SAMPLER_YCBCR_RANGE_MAX_ENUM              = 0x7FFFFFFF
4480 }
4481 
4482 enum VK_SAMPLER_YCBCR_RANGE_ITU_FULL             = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_FULL;
4483 enum VK_SAMPLER_YCBCR_RANGE_ITU_NARROW           = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_NARROW;
4484 enum VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR         = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR;
4485 enum VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR       = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR;
4486 enum VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE          = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE;
4487 enum VK_SAMPLER_YCBCR_RANGE_END_RANGE            = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_END_RANGE;
4488 enum VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE           = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE;
4489 enum VK_SAMPLER_YCBCR_RANGE_MAX_ENUM             = VkSamplerYcbcrRange.VK_SAMPLER_YCBCR_RANGE_MAX_ENUM;
4490 
4491 enum VkChromaLocation {
4492     VK_CHROMA_LOCATION_COSITED_EVEN      = 0,
4493     VK_CHROMA_LOCATION_MIDPOINT          = 1,
4494     VK_CHROMA_LOCATION_COSITED_EVEN_KHR  = VK_CHROMA_LOCATION_COSITED_EVEN,
4495     VK_CHROMA_LOCATION_MIDPOINT_KHR      = VK_CHROMA_LOCATION_MIDPOINT,
4496     VK_CHROMA_LOCATION_BEGIN_RANGE       = VK_CHROMA_LOCATION_COSITED_EVEN,
4497     VK_CHROMA_LOCATION_END_RANGE         = VK_CHROMA_LOCATION_MIDPOINT,
4498     VK_CHROMA_LOCATION_RANGE_SIZE        = VK_CHROMA_LOCATION_MIDPOINT - VK_CHROMA_LOCATION_COSITED_EVEN + 1,
4499     VK_CHROMA_LOCATION_MAX_ENUM          = 0x7FFFFFFF
4500 }
4501 
4502 enum VK_CHROMA_LOCATION_COSITED_EVEN     = VkChromaLocation.VK_CHROMA_LOCATION_COSITED_EVEN;
4503 enum VK_CHROMA_LOCATION_MIDPOINT         = VkChromaLocation.VK_CHROMA_LOCATION_MIDPOINT;
4504 enum VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VkChromaLocation.VK_CHROMA_LOCATION_COSITED_EVEN_KHR;
4505 enum VK_CHROMA_LOCATION_MIDPOINT_KHR     = VkChromaLocation.VK_CHROMA_LOCATION_MIDPOINT_KHR;
4506 enum VK_CHROMA_LOCATION_BEGIN_RANGE      = VkChromaLocation.VK_CHROMA_LOCATION_BEGIN_RANGE;
4507 enum VK_CHROMA_LOCATION_END_RANGE        = VkChromaLocation.VK_CHROMA_LOCATION_END_RANGE;
4508 enum VK_CHROMA_LOCATION_RANGE_SIZE       = VkChromaLocation.VK_CHROMA_LOCATION_RANGE_SIZE;
4509 enum VK_CHROMA_LOCATION_MAX_ENUM         = VkChromaLocation.VK_CHROMA_LOCATION_MAX_ENUM;
4510 
4511 enum VkDescriptorUpdateTemplateType {
4512     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET            = 0,
4513     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR      = 1,
4514     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR        = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4515     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE               = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4516     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE                 = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4517     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE                = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET + 1,
4518     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM                  = 0x7FFFFFFF
4519 }
4520 
4521 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET           = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET;
4522 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR     = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR;
4523 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR       = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR;
4524 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE              = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE;
4525 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE                = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE;
4526 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE               = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE;
4527 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM                 = VkDescriptorUpdateTemplateType.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM;
4528 
4529 enum VkSubgroupFeatureFlagBits {
4530     VK_SUBGROUP_FEATURE_BASIC_BIT                = 0x00000001,
4531     VK_SUBGROUP_FEATURE_VOTE_BIT                 = 0x00000002,
4532     VK_SUBGROUP_FEATURE_ARITHMETIC_BIT           = 0x00000004,
4533     VK_SUBGROUP_FEATURE_BALLOT_BIT               = 0x00000008,
4534     VK_SUBGROUP_FEATURE_SHUFFLE_BIT              = 0x00000010,
4535     VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT     = 0x00000020,
4536     VK_SUBGROUP_FEATURE_CLUSTERED_BIT            = 0x00000040,
4537     VK_SUBGROUP_FEATURE_QUAD_BIT                 = 0x00000080,
4538     VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV       = 0x00000100,
4539     VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM       = 0x7FFFFFFF
4540 }
4541 
4542 enum VK_SUBGROUP_FEATURE_BASIC_BIT               = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_BASIC_BIT;
4543 enum VK_SUBGROUP_FEATURE_VOTE_BIT                = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_VOTE_BIT;
4544 enum VK_SUBGROUP_FEATURE_ARITHMETIC_BIT          = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_ARITHMETIC_BIT;
4545 enum VK_SUBGROUP_FEATURE_BALLOT_BIT              = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_BALLOT_BIT;
4546 enum VK_SUBGROUP_FEATURE_SHUFFLE_BIT             = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_SHUFFLE_BIT;
4547 enum VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT    = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT;
4548 enum VK_SUBGROUP_FEATURE_CLUSTERED_BIT           = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_CLUSTERED_BIT;
4549 enum VK_SUBGROUP_FEATURE_QUAD_BIT                = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_QUAD_BIT;
4550 enum VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV      = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV;
4551 enum VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM      = VkSubgroupFeatureFlagBits.VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM;
4552 alias VkSubgroupFeatureFlags = VkFlags;
4553 
4554 enum VkPeerMemoryFeatureFlagBits {
4555     VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT                  = 0x00000001,
4556     VK_PEER_MEMORY_FEATURE_COPY_DST_BIT                  = 0x00000002,
4557     VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT               = 0x00000004,
4558     VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT               = 0x00000008,
4559     VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR              = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4560     VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR              = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4561     VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR           = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4562     VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR           = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4563     VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
4564 }
4565 
4566 enum VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT                 = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT;
4567 enum VK_PEER_MEMORY_FEATURE_COPY_DST_BIT                 = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_DST_BIT;
4568 enum VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT              = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT;
4569 enum VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT              = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT;
4570 enum VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR             = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR;
4571 enum VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR             = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR;
4572 enum VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR          = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR;
4573 enum VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR          = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR;
4574 enum VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM           = VkPeerMemoryFeatureFlagBits.VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM;
4575 alias VkPeerMemoryFeatureFlags = VkFlags;
4576 
4577 enum VkMemoryAllocateFlagBits {
4578     VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT           = 0x00000001,
4579     VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR       = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4580     VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM        = 0x7FFFFFFF
4581 }
4582 
4583 enum VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT          = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT;
4584 enum VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR      = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR;
4585 enum VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM       = VkMemoryAllocateFlagBits.VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM;
4586 alias VkMemoryAllocateFlags = VkFlags;
4587 alias VkCommandPoolTrimFlags = VkFlags;
4588 alias VkDescriptorUpdateTemplateCreateFlags = VkFlags;
4589 
4590 enum VkExternalMemoryHandleTypeFlagBits {
4591     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT                         = 0x00000001,
4592     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT                      = 0x00000002,
4593     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT                  = 0x00000004,
4594     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT                     = 0x00000008,
4595     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT                 = 0x00000010,
4596     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT                        = 0x00000020,
4597     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT                    = 0x00000040,
4598     VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT                       = 0x00000200,
4599     VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID   = 0x00000400,
4600     VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT               = 0x00000080,
4601     VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT    = 0x00000100,
4602     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR                     = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4603     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR                  = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4604     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR              = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4605     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR                 = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4606     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR             = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4607     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR                    = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4608     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR                = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4609     VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM                    = 0x7FFFFFFF
4610 }
4611 
4612 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT                        = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT;
4613 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT                     = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT;
4614 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT                 = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
4615 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT                    = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT;
4616 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT                = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT;
4617 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT                       = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT;
4618 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT                   = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT;
4619 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT                      = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT;
4620 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID  = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID;
4621 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT              = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT;
4622 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT   = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT;
4623 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR                    = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
4624 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR                 = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
4625 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR             = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
4626 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR                = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR;
4627 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR            = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR;
4628 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR                   = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR;
4629 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR               = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR;
4630 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM                   = VkExternalMemoryHandleTypeFlagBits.VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM;
4631 alias VkExternalMemoryHandleTypeFlags = VkFlags;
4632 
4633 enum VkExternalMemoryFeatureFlagBits {
4634     VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT        = 0x00000001,
4635     VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT            = 0x00000002,
4636     VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT            = 0x00000004,
4637     VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR    = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4638     VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR        = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4639     VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR        = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4640     VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM        = 0x7FFFFFFF
4641 }
4642 
4643 enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT       = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT;
4644 enum VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT           = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT;
4645 enum VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT           = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT;
4646 enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR   = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR;
4647 enum VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR       = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR;
4648 enum VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR       = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR;
4649 enum VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM       = VkExternalMemoryFeatureFlagBits.VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM;
4650 alias VkExternalMemoryFeatureFlags = VkFlags;
4651 
4652 enum VkExternalFenceHandleTypeFlagBits {
4653     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT                  = 0x00000001,
4654     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT               = 0x00000002,
4655     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT           = 0x00000004,
4656     VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT                    = 0x00000008,
4657     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR              = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4658     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR           = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4659     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR       = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4660     VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR                = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4661     VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM             = 0x7FFFFFFF
4662 }
4663 
4664 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT                 = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT;
4665 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT              = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT;
4666 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT          = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
4667 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT                   = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT;
4668 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR             = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
4669 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR          = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
4670 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR      = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
4671 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR               = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
4672 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM            = VkExternalFenceHandleTypeFlagBits.VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM;
4673 alias VkExternalFenceHandleTypeFlags = VkFlags;
4674 
4675 enum VkExternalFenceFeatureFlagBits {
4676     VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT             = 0x00000001,
4677     VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT             = 0x00000002,
4678     VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR         = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4679     VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR         = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4680     VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM         = 0x7FFFFFFF
4681 }
4682 
4683 enum VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT            = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT;
4684 enum VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT            = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT;
4685 enum VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR        = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR;
4686 enum VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR        = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR;
4687 enum VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM        = VkExternalFenceFeatureFlagBits.VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM;
4688 alias VkExternalFenceFeatureFlags = VkFlags;
4689 
4690 enum VkFenceImportFlagBits {
4691     VK_FENCE_IMPORT_TEMPORARY_BIT                = 0x00000001,
4692     VK_FENCE_IMPORT_TEMPORARY_BIT_KHR            = VK_FENCE_IMPORT_TEMPORARY_BIT,
4693     VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM           = 0x7FFFFFFF
4694 }
4695 
4696 enum VK_FENCE_IMPORT_TEMPORARY_BIT               = VkFenceImportFlagBits.VK_FENCE_IMPORT_TEMPORARY_BIT;
4697 enum VK_FENCE_IMPORT_TEMPORARY_BIT_KHR           = VkFenceImportFlagBits.VK_FENCE_IMPORT_TEMPORARY_BIT_KHR;
4698 enum VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM          = VkFenceImportFlagBits.VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM;
4699 alias VkFenceImportFlags = VkFlags;
4700 
4701 enum VkSemaphoreImportFlagBits {
4702     VK_SEMAPHORE_IMPORT_TEMPORARY_BIT            = 0x00000001,
4703     VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR        = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4704     VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM       = 0x7FFFFFFF
4705 }
4706 
4707 enum VK_SEMAPHORE_IMPORT_TEMPORARY_BIT           = VkSemaphoreImportFlagBits.VK_SEMAPHORE_IMPORT_TEMPORARY_BIT;
4708 enum VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR       = VkSemaphoreImportFlagBits.VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR;
4709 enum VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM      = VkSemaphoreImportFlagBits.VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM;
4710 alias VkSemaphoreImportFlags = VkFlags;
4711 
4712 enum VkExternalSemaphoreHandleTypeFlagBits {
4713     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT              = 0x00000001,
4714     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT           = 0x00000002,
4715     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT       = 0x00000004,
4716     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT            = 0x00000008,
4717     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT                = 0x00000010,
4718     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR          = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4719     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR       = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4720     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR   = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4721     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR        = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4722     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR            = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4723     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM         = 0x7FFFFFFF
4724 }
4725 
4726 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT             = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT;
4727 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT          = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT;
4728 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT      = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
4729 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT           = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT;
4730 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT               = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
4731 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR         = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
4732 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR      = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
4733 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR  = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
4734 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR       = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR;
4735 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR           = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
4736 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM        = VkExternalSemaphoreHandleTypeFlagBits.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM;
4737 alias VkExternalSemaphoreHandleTypeFlags = VkFlags;
4738 
4739 enum VkExternalSemaphoreFeatureFlagBits {
4740     VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT         = 0x00000001,
4741     VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT         = 0x00000002,
4742     VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR     = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4743     VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR     = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4744     VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
4745 }
4746 
4747 enum VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT        = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT;
4748 enum VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT        = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT;
4749 enum VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR    = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR;
4750 enum VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR    = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR;
4751 enum VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM    = VkExternalSemaphoreFeatureFlagBits.VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM;
4752 alias VkExternalSemaphoreFeatureFlags = VkFlags;
4753 
4754 struct VkPhysicalDeviceSubgroupProperties {
4755     VkStructureType         sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
4756     void*                   pNext;
4757     uint32_t                subgroupSize;
4758     VkShaderStageFlags      supportedStages;
4759     VkSubgroupFeatureFlags  supportedOperations;
4760     VkBool32                quadOperationsInAllStages;
4761 }
4762 
4763 struct VkBindBufferMemoryInfo {
4764     VkStructureType  sType = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO;
4765     const( void )*   pNext;
4766     VkBuffer         buffer;
4767     VkDeviceMemory   memory;
4768     VkDeviceSize     memoryOffset;
4769 }
4770 
4771 struct VkBindImageMemoryInfo {
4772     VkStructureType  sType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO;
4773     const( void )*   pNext;
4774     VkImage          image;
4775     VkDeviceMemory   memory;
4776     VkDeviceSize     memoryOffset;
4777 }
4778 
4779 struct VkPhysicalDevice16BitStorageFeatures {
4780     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
4781     void*            pNext;
4782     VkBool32         storageBuffer16BitAccess;
4783     VkBool32         uniformAndStorageBuffer16BitAccess;
4784     VkBool32         storagePushConstant16;
4785     VkBool32         storageInputOutput16;
4786 }
4787 
4788 struct VkMemoryDedicatedRequirements {
4789     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
4790     void*            pNext;
4791     VkBool32         prefersDedicatedAllocation;
4792     VkBool32         requiresDedicatedAllocation;
4793 }
4794 
4795 struct VkMemoryDedicatedAllocateInfo {
4796     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
4797     const( void )*   pNext;
4798     VkImage          image;
4799     VkBuffer         buffer;
4800 }
4801 
4802 struct VkMemoryAllocateFlagsInfo {
4803     VkStructureType        sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO;
4804     const( void )*         pNext;
4805     VkMemoryAllocateFlags  flags;
4806     uint32_t               deviceMask;
4807 }
4808 
4809 struct VkDeviceGroupRenderPassBeginInfo {
4810     VkStructureType     sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO;
4811     const( void )*      pNext;
4812     uint32_t            deviceMask;
4813     uint32_t            deviceRenderAreaCount;
4814     const( VkRect2D )*  pDeviceRenderAreas;
4815 }
4816 
4817 struct VkDeviceGroupCommandBufferBeginInfo {
4818     VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO;
4819     const( void )*   pNext;
4820     uint32_t         deviceMask;
4821 }
4822 
4823 struct VkDeviceGroupSubmitInfo {
4824     VkStructureType     sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO;
4825     const( void )*      pNext;
4826     uint32_t            waitSemaphoreCount;
4827     const( uint32_t )*  pWaitSemaphoreDeviceIndices;
4828     uint32_t            commandBufferCount;
4829     const( uint32_t )*  pCommandBufferDeviceMasks;
4830     uint32_t            signalSemaphoreCount;
4831     const( uint32_t )*  pSignalSemaphoreDeviceIndices;
4832 }
4833 
4834 struct VkDeviceGroupBindSparseInfo {
4835     VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO;
4836     const( void )*   pNext;
4837     uint32_t         resourceDeviceIndex;
4838     uint32_t         memoryDeviceIndex;
4839 }
4840 
4841 struct VkBindBufferMemoryDeviceGroupInfo {
4842     VkStructureType     sType = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO;
4843     const( void )*      pNext;
4844     uint32_t            deviceIndexCount;
4845     const( uint32_t )*  pDeviceIndices;
4846 }
4847 
4848 struct VkBindImageMemoryDeviceGroupInfo {
4849     VkStructureType     sType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO;
4850     const( void )*      pNext;
4851     uint32_t            deviceIndexCount;
4852     const( uint32_t )*  pDeviceIndices;
4853     uint32_t            splitInstanceBindRegionCount;
4854     const( VkRect2D )*  pSplitInstanceBindRegions;
4855 }
4856 
4857 struct VkPhysicalDeviceGroupProperties {
4858     VkStructureType                               sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
4859     void*                                         pNext;
4860     uint32_t                                      physicalDeviceCount;
4861     VkPhysicalDevice[ VK_MAX_DEVICE_GROUP_SIZE ]  physicalDevices;
4862     VkBool32                                      subsetAllocation;
4863 }
4864 
4865 struct VkDeviceGroupDeviceCreateInfo {
4866     VkStructureType             sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO;
4867     const( void )*              pNext;
4868     uint32_t                    physicalDeviceCount;
4869     const( VkPhysicalDevice )*  pPhysicalDevices;
4870 }
4871 
4872 struct VkBufferMemoryRequirementsInfo2 {
4873     VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2;
4874     const( void )*   pNext;
4875     VkBuffer         buffer;
4876 }
4877 
4878 struct VkImageMemoryRequirementsInfo2 {
4879     VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2;
4880     const( void )*   pNext;
4881     VkImage          image;
4882 }
4883 
4884 struct VkImageSparseMemoryRequirementsInfo2 {
4885     VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
4886     const( void )*   pNext;
4887     VkImage          image;
4888 }
4889 
4890 struct VkMemoryRequirements2 {
4891     VkStructureType       sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
4892     void*                 pNext;
4893     VkMemoryRequirements  memoryRequirements;
4894 }
4895 alias VkMemoryRequirements2KHR = VkMemoryRequirements2;
4896 
4897 struct VkSparseImageMemoryRequirements2 {
4898     VkStructureType                  sType = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
4899     void*                            pNext;
4900     VkSparseImageMemoryRequirements  memoryRequirements;
4901 }
4902 
4903 struct VkPhysicalDeviceFeatures2 {
4904     VkStructureType           sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
4905     void*                     pNext;
4906     VkPhysicalDeviceFeatures  features;
4907 }
4908 
4909 struct VkPhysicalDeviceProperties2 {
4910     VkStructureType             sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
4911     void*                       pNext;
4912     VkPhysicalDeviceProperties  properties;
4913 }
4914 
4915 struct VkFormatProperties2 {
4916     VkStructureType     sType = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2;
4917     void*               pNext;
4918     VkFormatProperties  formatProperties;
4919 }
4920 
4921 struct VkImageFormatProperties2 {
4922     VkStructureType          sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
4923     void*                    pNext;
4924     VkImageFormatProperties  imageFormatProperties;
4925 }
4926 
4927 struct VkPhysicalDeviceImageFormatInfo2 {
4928     VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
4929     const( void )*      pNext;
4930     VkFormat            format;
4931     VkImageType         type;
4932     VkImageTiling       tiling;
4933     VkImageUsageFlags   usage;
4934     VkImageCreateFlags  flags;
4935 }
4936 
4937 struct VkQueueFamilyProperties2 {
4938     VkStructureType          sType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2;
4939     void*                    pNext;
4940     VkQueueFamilyProperties  queueFamilyProperties;
4941 }
4942 
4943 struct VkPhysicalDeviceMemoryProperties2 {
4944     VkStructureType                   sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
4945     void*                             pNext;
4946     VkPhysicalDeviceMemoryProperties  memoryProperties;
4947 }
4948 
4949 struct VkSparseImageFormatProperties2 {
4950     VkStructureType                sType = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2;
4951     void*                          pNext;
4952     VkSparseImageFormatProperties  properties;
4953 }
4954 
4955 struct VkPhysicalDeviceSparseImageFormatInfo2 {
4956     VkStructureType        sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
4957     const( void )*         pNext;
4958     VkFormat               format;
4959     VkImageType            type;
4960     VkSampleCountFlagBits  samples;
4961     VkImageUsageFlags      usage;
4962     VkImageTiling          tiling;
4963 }
4964 
4965 struct VkPhysicalDevicePointClippingProperties {
4966     VkStructureType          sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES;
4967     void*                    pNext;
4968     VkPointClippingBehavior  pointClippingBehavior;
4969 }
4970 
4971 struct VkInputAttachmentAspectReference {
4972     uint32_t            subpass;
4973     uint32_t            inputAttachmentIndex;
4974     VkImageAspectFlags  aspectMask;
4975 }
4976 
4977 struct VkRenderPassInputAttachmentAspectCreateInfo {
4978     VkStructureType                             sType = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO;
4979     const( void )*                              pNext;
4980     uint32_t                                    aspectReferenceCount;
4981     const( VkInputAttachmentAspectReference )*  pAspectReferences;
4982 }
4983 
4984 struct VkImageViewUsageCreateInfo {
4985     VkStructureType    sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO;
4986     const( void )*     pNext;
4987     VkImageUsageFlags  usage;
4988 }
4989 
4990 struct VkPipelineTessellationDomainOriginStateCreateInfo {
4991     VkStructureType             sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;
4992     const( void )*              pNext;
4993     VkTessellationDomainOrigin  domainOrigin;
4994 }
4995 
4996 struct VkRenderPassMultiviewCreateInfo {
4997     VkStructureType     sType = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
4998     const( void )*      pNext;
4999     uint32_t            subpassCount;
5000     const( uint32_t )*  pViewMasks;
5001     uint32_t            dependencyCount;
5002     const( int32_t )*   pViewOffsets;
5003     uint32_t            correlationMaskCount;
5004     const( uint32_t )*  pCorrelationMasks;
5005 }
5006 
5007 struct VkPhysicalDeviceMultiviewFeatures {
5008     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES;
5009     void*            pNext;
5010     VkBool32         multiview;
5011     VkBool32         multiviewGeometryShader;
5012     VkBool32         multiviewTessellationShader;
5013 }
5014 
5015 struct VkPhysicalDeviceMultiviewProperties {
5016     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES;
5017     void*            pNext;
5018     uint32_t         maxMultiviewViewCount;
5019     uint32_t         maxMultiviewInstanceIndex;
5020 }
5021 
5022 struct VkPhysicalDeviceVariablePointerFeatures {
5023     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES;
5024     void*            pNext;
5025     VkBool32         variablePointersStorageBuffer;
5026     VkBool32         variablePointers;
5027 }
5028 
5029 struct VkPhysicalDeviceProtectedMemoryFeatures {
5030     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES;
5031     void*            pNext;
5032     VkBool32         protectedMemory;
5033 }
5034 
5035 struct VkPhysicalDeviceProtectedMemoryProperties {
5036     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES;
5037     void*            pNext;
5038     VkBool32         protectedNoFault;
5039 }
5040 
5041 struct VkDeviceQueueInfo2 {
5042     VkStructureType           sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2;
5043     const( void )*            pNext;
5044     VkDeviceQueueCreateFlags  flags;
5045     uint32_t                  queueFamilyIndex;
5046     uint32_t                  queueIndex;
5047 }
5048 
5049 struct VkProtectedSubmitInfo {
5050     VkStructureType  sType = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO;
5051     const( void )*   pNext;
5052     VkBool32         protectedSubmit;
5053 }
5054 
5055 struct VkSamplerYcbcrConversionCreateInfo {
5056     VkStructureType                sType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
5057     const( void )*                 pNext;
5058     VkFormat                       format;
5059     VkSamplerYcbcrModelConversion  ycbcrModel;
5060     VkSamplerYcbcrRange            ycbcrRange;
5061     VkComponentMapping             components;
5062     VkChromaLocation               xChromaOffset;
5063     VkChromaLocation               yChromaOffset;
5064     VkFilter                       chromaFilter;
5065     VkBool32                       forceExplicitReconstruction;
5066 }
5067 
5068 struct VkSamplerYcbcrConversionInfo {
5069     VkStructureType           sType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO;
5070     const( void )*            pNext;
5071     VkSamplerYcbcrConversion  conversion;
5072 }
5073 
5074 struct VkBindImagePlaneMemoryInfo {
5075     VkStructureType        sType = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO;
5076     const( void )*         pNext;
5077     VkImageAspectFlagBits  planeAspect;
5078 }
5079 
5080 struct VkImagePlaneMemoryRequirementsInfo {
5081     VkStructureType        sType = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
5082     const( void )*         pNext;
5083     VkImageAspectFlagBits  planeAspect;
5084 }
5085 
5086 struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5087     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
5088     void*            pNext;
5089     VkBool32         samplerYcbcrConversion;
5090 }
5091 
5092 struct VkSamplerYcbcrConversionImageFormatProperties {
5093     VkStructureType  sType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
5094     void*            pNext;
5095     uint32_t         combinedImageSamplerDescriptorCount;
5096 }
5097 
5098 struct VkDescriptorUpdateTemplateEntry {
5099     uint32_t          dstBinding;
5100     uint32_t          dstArrayElement;
5101     uint32_t          descriptorCount;
5102     VkDescriptorType  descriptorType;
5103     size_t            offset;
5104     size_t            stride;
5105 }
5106 
5107 struct VkDescriptorUpdateTemplateCreateInfo {
5108     VkStructureType                            sType = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO;
5109     const( void )*                             pNext;
5110     VkDescriptorUpdateTemplateCreateFlags      flags;
5111     uint32_t                                   descriptorUpdateEntryCount;
5112     const( VkDescriptorUpdateTemplateEntry )*  pDescriptorUpdateEntries;
5113     VkDescriptorUpdateTemplateType             templateType;
5114     VkDescriptorSetLayout                      descriptorSetLayout;
5115     VkPipelineBindPoint                        pipelineBindPoint;
5116     VkPipelineLayout                           pipelineLayout;
5117     uint32_t                                   set;
5118 }
5119 
5120 struct VkExternalMemoryProperties {
5121     VkExternalMemoryFeatureFlags     externalMemoryFeatures;
5122     VkExternalMemoryHandleTypeFlags  exportFromImportedHandleTypes;
5123     VkExternalMemoryHandleTypeFlags  compatibleHandleTypes;
5124 }
5125 
5126 struct VkPhysicalDeviceExternalImageFormatInfo {
5127     VkStructureType                     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
5128     const( void )*                      pNext;
5129     VkExternalMemoryHandleTypeFlagBits  handleType;
5130 }
5131 
5132 struct VkExternalImageFormatProperties {
5133     VkStructureType             sType = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES;
5134     void*                       pNext;
5135     VkExternalMemoryProperties  externalMemoryProperties;
5136 }
5137 
5138 struct VkPhysicalDeviceExternalBufferInfo {
5139     VkStructureType                     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
5140     const( void )*                      pNext;
5141     VkBufferCreateFlags                 flags;
5142     VkBufferUsageFlags                  usage;
5143     VkExternalMemoryHandleTypeFlagBits  handleType;
5144 }
5145 
5146 struct VkExternalBufferProperties {
5147     VkStructureType             sType = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES;
5148     void*                       pNext;
5149     VkExternalMemoryProperties  externalMemoryProperties;
5150 }
5151 
5152 struct VkPhysicalDeviceIDProperties {
5153     VkStructureType          sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES;
5154     void*                    pNext;
5155     uint8_t[ VK_UUID_SIZE ]  deviceUUID;
5156     uint8_t[ VK_UUID_SIZE ]  driverUUID;
5157     uint8_t[ VK_LUID_SIZE ]  deviceLUID;
5158     uint32_t                 deviceNodeMask;
5159     VkBool32                 deviceLUIDValid;
5160 }
5161 
5162 struct VkExternalMemoryImageCreateInfo {
5163     VkStructureType                  sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
5164     const( void )*                   pNext;
5165     VkExternalMemoryHandleTypeFlags  handleTypes;
5166 }
5167 
5168 struct VkExternalMemoryBufferCreateInfo {
5169     VkStructureType                  sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO;
5170     const( void )*                   pNext;
5171     VkExternalMemoryHandleTypeFlags  handleTypes;
5172 }
5173 
5174 struct VkExportMemoryAllocateInfo {
5175     VkStructureType                  sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO;
5176     const( void )*                   pNext;
5177     VkExternalMemoryHandleTypeFlags  handleTypes;
5178 }
5179 
5180 struct VkPhysicalDeviceExternalFenceInfo {
5181     VkStructureType                    sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
5182     const( void )*                     pNext;
5183     VkExternalFenceHandleTypeFlagBits  handleType;
5184 }
5185 
5186 struct VkExternalFenceProperties {
5187     VkStructureType                 sType = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES;
5188     void*                           pNext;
5189     VkExternalFenceHandleTypeFlags  exportFromImportedHandleTypes;
5190     VkExternalFenceHandleTypeFlags  compatibleHandleTypes;
5191     VkExternalFenceFeatureFlags     externalFenceFeatures;
5192 }
5193 
5194 struct VkExportFenceCreateInfo {
5195     VkStructureType                 sType = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO;
5196     const( void )*                  pNext;
5197     VkExternalFenceHandleTypeFlags  handleTypes;
5198 }
5199 
5200 struct VkExportSemaphoreCreateInfo {
5201     VkStructureType                     sType = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO;
5202     const( void )*                      pNext;
5203     VkExternalSemaphoreHandleTypeFlags  handleTypes;
5204 }
5205 
5206 struct VkPhysicalDeviceExternalSemaphoreInfo {
5207     VkStructureType                        sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
5208     const( void )*                         pNext;
5209     VkExternalSemaphoreHandleTypeFlagBits  handleType;
5210 }
5211 
5212 struct VkExternalSemaphoreProperties {
5213     VkStructureType                     sType = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES;
5214     void*                               pNext;
5215     VkExternalSemaphoreHandleTypeFlags  exportFromImportedHandleTypes;
5216     VkExternalSemaphoreHandleTypeFlags  compatibleHandleTypes;
5217     VkExternalSemaphoreFeatureFlags     externalSemaphoreFeatures;
5218 }
5219 
5220 struct VkPhysicalDeviceMaintenance3Properties {
5221     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES;
5222     void*            pNext;
5223     uint32_t         maxPerSetDescriptors;
5224     VkDeviceSize     maxMemoryAllocationSize;
5225 }
5226 
5227 struct VkDescriptorSetLayoutSupport {
5228     VkStructureType  sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT;
5229     void*            pNext;
5230     VkBool32         supported;
5231 }
5232 
5233 struct VkPhysicalDeviceShaderDrawParameterFeatures {
5234     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES;
5235     void*            pNext;
5236     VkBool32         shaderDrawParameters;
5237 }
5238 
5239 
5240 // - VK_KHR_surface -
5241 enum VK_KHR_surface = 1;
5242 
5243 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSurfaceKHR} );
5244 
5245 enum VK_KHR_SURFACE_SPEC_VERSION = 25;
5246 enum VK_KHR_SURFACE_EXTENSION_NAME = "VK_KHR_surface";
5247 
5248 enum VkColorSpaceKHR {
5249     VK_COLOR_SPACE_SRGB_NONLINEAR_KHR            = 0,
5250     VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT      = 1000104001,
5251     VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT      = 1000104002,
5252     VK_COLOR_SPACE_DCI_P3_LINEAR_EXT             = 1000104003,
5253     VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT          = 1000104004,
5254     VK_COLOR_SPACE_BT709_LINEAR_EXT              = 1000104005,
5255     VK_COLOR_SPACE_BT709_NONLINEAR_EXT           = 1000104006,
5256     VK_COLOR_SPACE_BT2020_LINEAR_EXT             = 1000104007,
5257     VK_COLOR_SPACE_HDR10_ST2084_EXT              = 1000104008,
5258     VK_COLOR_SPACE_DOLBYVISION_EXT               = 1000104009,
5259     VK_COLOR_SPACE_HDR10_HLG_EXT                 = 1000104010,
5260     VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT           = 1000104011,
5261     VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT        = 1000104012,
5262     VK_COLOR_SPACE_PASS_THROUGH_EXT              = 1000104013,
5263     VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT   = 1000104014,
5264     VK_COLOR_SPACE_DISPLAY_NATIVE_AMD            = 1000213000,
5265     VK_COLORSPACE_SRGB_NONLINEAR_KHR             = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5266     VK_COLOR_SPACE_BEGIN_RANGE_KHR               = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5267     VK_COLOR_SPACE_END_RANGE_KHR                 = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5268     VK_COLOR_SPACE_RANGE_SIZE_KHR                = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1,
5269     VK_COLOR_SPACE_MAX_ENUM_KHR                  = 0x7FFFFFFF
5270 }
5271 
5272 enum VK_COLOR_SPACE_SRGB_NONLINEAR_KHR           = VkColorSpaceKHR.VK_COLOR_SPACE_SRGB_NONLINEAR_KHR;
5273 enum VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT     = VkColorSpaceKHR.VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT;
5274 enum VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT     = VkColorSpaceKHR.VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT;
5275 enum VK_COLOR_SPACE_DCI_P3_LINEAR_EXT            = VkColorSpaceKHR.VK_COLOR_SPACE_DCI_P3_LINEAR_EXT;
5276 enum VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT         = VkColorSpaceKHR.VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT;
5277 enum VK_COLOR_SPACE_BT709_LINEAR_EXT             = VkColorSpaceKHR.VK_COLOR_SPACE_BT709_LINEAR_EXT;
5278 enum VK_COLOR_SPACE_BT709_NONLINEAR_EXT          = VkColorSpaceKHR.VK_COLOR_SPACE_BT709_NONLINEAR_EXT;
5279 enum VK_COLOR_SPACE_BT2020_LINEAR_EXT            = VkColorSpaceKHR.VK_COLOR_SPACE_BT2020_LINEAR_EXT;
5280 enum VK_COLOR_SPACE_HDR10_ST2084_EXT             = VkColorSpaceKHR.VK_COLOR_SPACE_HDR10_ST2084_EXT;
5281 enum VK_COLOR_SPACE_DOLBYVISION_EXT              = VkColorSpaceKHR.VK_COLOR_SPACE_DOLBYVISION_EXT;
5282 enum VK_COLOR_SPACE_HDR10_HLG_EXT                = VkColorSpaceKHR.VK_COLOR_SPACE_HDR10_HLG_EXT;
5283 enum VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT          = VkColorSpaceKHR.VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT;
5284 enum VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT       = VkColorSpaceKHR.VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT;
5285 enum VK_COLOR_SPACE_PASS_THROUGH_EXT             = VkColorSpaceKHR.VK_COLOR_SPACE_PASS_THROUGH_EXT;
5286 enum VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT  = VkColorSpaceKHR.VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT;
5287 enum VK_COLOR_SPACE_DISPLAY_NATIVE_AMD           = VkColorSpaceKHR.VK_COLOR_SPACE_DISPLAY_NATIVE_AMD;
5288 enum VK_COLORSPACE_SRGB_NONLINEAR_KHR            = VkColorSpaceKHR.VK_COLORSPACE_SRGB_NONLINEAR_KHR;
5289 enum VK_COLOR_SPACE_BEGIN_RANGE_KHR              = VkColorSpaceKHR.VK_COLOR_SPACE_BEGIN_RANGE_KHR;
5290 enum VK_COLOR_SPACE_END_RANGE_KHR                = VkColorSpaceKHR.VK_COLOR_SPACE_END_RANGE_KHR;
5291 enum VK_COLOR_SPACE_RANGE_SIZE_KHR               = VkColorSpaceKHR.VK_COLOR_SPACE_RANGE_SIZE_KHR;
5292 enum VK_COLOR_SPACE_MAX_ENUM_KHR                 = VkColorSpaceKHR.VK_COLOR_SPACE_MAX_ENUM_KHR;
5293 
5294 enum VkPresentModeKHR {
5295     VK_PRESENT_MODE_IMMEDIATE_KHR                        = 0,
5296     VK_PRESENT_MODE_MAILBOX_KHR                          = 1,
5297     VK_PRESENT_MODE_FIFO_KHR                             = 2,
5298     VK_PRESENT_MODE_FIFO_RELAXED_KHR                     = 3,
5299     VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR            = 1000111000,
5300     VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR        = 1000111001,
5301     VK_PRESENT_MODE_BEGIN_RANGE_KHR                      = VK_PRESENT_MODE_IMMEDIATE_KHR,
5302     VK_PRESENT_MODE_END_RANGE_KHR                        = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
5303     VK_PRESENT_MODE_RANGE_SIZE_KHR                       = VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1,
5304     VK_PRESENT_MODE_MAX_ENUM_KHR                         = 0x7FFFFFFF
5305 }
5306 
5307 enum VK_PRESENT_MODE_IMMEDIATE_KHR                       = VkPresentModeKHR.VK_PRESENT_MODE_IMMEDIATE_KHR;
5308 enum VK_PRESENT_MODE_MAILBOX_KHR                         = VkPresentModeKHR.VK_PRESENT_MODE_MAILBOX_KHR;
5309 enum VK_PRESENT_MODE_FIFO_KHR                            = VkPresentModeKHR.VK_PRESENT_MODE_FIFO_KHR;
5310 enum VK_PRESENT_MODE_FIFO_RELAXED_KHR                    = VkPresentModeKHR.VK_PRESENT_MODE_FIFO_RELAXED_KHR;
5311 enum VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR           = VkPresentModeKHR.VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR;
5312 enum VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR       = VkPresentModeKHR.VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR;
5313 enum VK_PRESENT_MODE_BEGIN_RANGE_KHR                     = VkPresentModeKHR.VK_PRESENT_MODE_BEGIN_RANGE_KHR;
5314 enum VK_PRESENT_MODE_END_RANGE_KHR                       = VkPresentModeKHR.VK_PRESENT_MODE_END_RANGE_KHR;
5315 enum VK_PRESENT_MODE_RANGE_SIZE_KHR                      = VkPresentModeKHR.VK_PRESENT_MODE_RANGE_SIZE_KHR;
5316 enum VK_PRESENT_MODE_MAX_ENUM_KHR                        = VkPresentModeKHR.VK_PRESENT_MODE_MAX_ENUM_KHR;
5317 
5318 enum VkSurfaceTransformFlagBitsKHR {
5319     VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR                        = 0x00000001,
5320     VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR                       = 0x00000002,
5321     VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR                      = 0x00000004,
5322     VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR                      = 0x00000008,
5323     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR               = 0x00000010,
5324     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR     = 0x00000020,
5325     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR    = 0x00000040,
5326     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR    = 0x00000080,
5327     VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR                         = 0x00000100,
5328     VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR                  = 0x7FFFFFFF
5329 }
5330 
5331 enum VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR                       = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
5332 enum VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR                      = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR;
5333 enum VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR                     = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR;
5334 enum VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR                     = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR;
5335 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR              = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR;
5336 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR    = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR;
5337 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR   = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR;
5338 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR   = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR;
5339 enum VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR                        = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR;
5340 enum VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR                 = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR;
5341 alias VkSurfaceTransformFlagsKHR = VkFlags;
5342 
5343 enum VkCompositeAlphaFlagBitsKHR {
5344     VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR            = 0x00000001,
5345     VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR    = 0x00000002,
5346     VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR   = 0x00000004,
5347     VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR           = 0x00000008,
5348     VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR    = 0x7FFFFFFF
5349 }
5350 
5351 enum VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR           = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
5352 enum VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR   = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR;
5353 enum VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR  = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR;
5354 enum VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR          = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR;
5355 enum VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR   = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR;
5356 alias VkCompositeAlphaFlagsKHR = VkFlags;
5357 
5358 struct VkSurfaceCapabilitiesKHR {
5359     uint32_t                       minImageCount;
5360     uint32_t                       maxImageCount;
5361     VkExtent2D                     currentExtent;
5362     VkExtent2D                     minImageExtent;
5363     VkExtent2D                     maxImageExtent;
5364     uint32_t                       maxImageArrayLayers;
5365     VkSurfaceTransformFlagsKHR     supportedTransforms;
5366     VkSurfaceTransformFlagBitsKHR  currentTransform;
5367     VkCompositeAlphaFlagsKHR       supportedCompositeAlpha;
5368     VkImageUsageFlags              supportedUsageFlags;
5369 }
5370 
5371 struct VkSurfaceFormatKHR {
5372     VkFormat         format;
5373     VkColorSpaceKHR  colorSpace;
5374 }
5375 
5376 
5377 // - VK_KHR_swapchain -
5378 enum VK_KHR_swapchain = 1;
5379 
5380 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSwapchainKHR} );
5381 
5382 enum VK_KHR_SWAPCHAIN_SPEC_VERSION = 70;
5383 enum VK_KHR_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_swapchain";
5384 
5385 enum VkSwapchainCreateFlagBitsKHR {
5386     VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR      = 0x00000001,
5387     VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR                        = 0x00000002,
5388     VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR                   = 0x00000004,
5389     VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR                   = 0x7FFFFFFF
5390 }
5391 
5392 enum VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR     = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR;
5393 enum VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR                       = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR;
5394 enum VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR                  = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR;
5395 enum VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR                  = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR;
5396 alias VkSwapchainCreateFlagsKHR = VkFlags;
5397 
5398 enum VkDeviceGroupPresentModeFlagBitsKHR {
5399     VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR                   = 0x00000001,
5400     VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR                  = 0x00000002,
5401     VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR                     = 0x00000004,
5402     VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR      = 0x00000008,
5403     VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR          = 0x7FFFFFFF
5404 }
5405 
5406 enum VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR                  = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR;
5407 enum VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR                 = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR;
5408 enum VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR                    = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR;
5409 enum VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR     = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR;
5410 enum VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR         = VkDeviceGroupPresentModeFlagBitsKHR.VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR;
5411 alias VkDeviceGroupPresentModeFlagsKHR = VkFlags;
5412 
5413 struct VkSwapchainCreateInfoKHR {
5414     VkStructureType                sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
5415     const( void )*                 pNext;
5416     VkSwapchainCreateFlagsKHR      flags;
5417     VkSurfaceKHR                   surface;
5418     uint32_t                       minImageCount;
5419     VkFormat                       imageFormat;
5420     VkColorSpaceKHR                imageColorSpace;
5421     VkExtent2D                     imageExtent;
5422     uint32_t                       imageArrayLayers;
5423     VkImageUsageFlags              imageUsage;
5424     VkSharingMode                  imageSharingMode;
5425     uint32_t                       queueFamilyIndexCount;
5426     const( uint32_t )*             pQueueFamilyIndices;
5427     VkSurfaceTransformFlagBitsKHR  preTransform;
5428     VkCompositeAlphaFlagBitsKHR    compositeAlpha;
5429     VkPresentModeKHR               presentMode;
5430     VkBool32                       clipped;
5431     VkSwapchainKHR                 oldSwapchain;
5432 }
5433 
5434 struct VkPresentInfoKHR {
5435     VkStructureType           sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;
5436     const( void )*            pNext;
5437     uint32_t                  waitSemaphoreCount;
5438     const( VkSemaphore )*     pWaitSemaphores;
5439     uint32_t                  swapchainCount;
5440     const( VkSwapchainKHR )*  pSwapchains;
5441     const( uint32_t )*        pImageIndices;
5442     VkResult*                 pResults;
5443 }
5444 
5445 struct VkImageSwapchainCreateInfoKHR {
5446     VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR;
5447     const( void )*   pNext;
5448     VkSwapchainKHR   swapchain;
5449 }
5450 
5451 struct VkBindImageMemorySwapchainInfoKHR {
5452     VkStructureType  sType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR;
5453     const( void )*   pNext;
5454     VkSwapchainKHR   swapchain;
5455     uint32_t         imageIndex;
5456 }
5457 
5458 struct VkAcquireNextImageInfoKHR {
5459     VkStructureType  sType = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR;
5460     const( void )*   pNext;
5461     VkSwapchainKHR   swapchain;
5462     uint64_t         timeout;
5463     VkSemaphore      semaphore;
5464     VkFence          fence;
5465     uint32_t         deviceMask;
5466 }
5467 
5468 struct VkDeviceGroupPresentCapabilitiesKHR {
5469     VkStructureType                       sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR;
5470     const( void )*                        pNext;
5471     uint32_t[ VK_MAX_DEVICE_GROUP_SIZE ]  presentMask;
5472     VkDeviceGroupPresentModeFlagsKHR      modes;
5473 }
5474 
5475 struct VkDeviceGroupPresentInfoKHR {
5476     VkStructureType                      sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR;
5477     const( void )*                       pNext;
5478     uint32_t                             swapchainCount;
5479     const( uint32_t )*                   pDeviceMasks;
5480     VkDeviceGroupPresentModeFlagBitsKHR  mode;
5481 }
5482 
5483 struct VkDeviceGroupSwapchainCreateInfoKHR {
5484     VkStructureType                   sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR;
5485     const( void )*                    pNext;
5486     VkDeviceGroupPresentModeFlagsKHR  modes;
5487 }
5488 
5489 
5490 // - VK_KHR_display -
5491 enum VK_KHR_display = 1;
5492 
5493 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDisplayKHR} );
5494 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDisplayModeKHR} );
5495 
5496 enum VK_KHR_DISPLAY_SPEC_VERSION = 21;
5497 enum VK_KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display";
5498 
5499 enum VkDisplayPlaneAlphaFlagBitsKHR {
5500     VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR                        = 0x00000001,
5501     VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR                        = 0x00000002,
5502     VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR                     = 0x00000004,
5503     VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR       = 0x00000008,
5504     VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR                = 0x7FFFFFFF
5505 }
5506 
5507 enum VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR                       = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR;
5508 enum VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR                       = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR;
5509 enum VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR                    = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR;
5510 enum VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR      = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR;
5511 enum VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR               = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR;
5512 alias VkDisplayPlaneAlphaFlagsKHR = VkFlags;
5513 alias VkDisplayModeCreateFlagsKHR = VkFlags;
5514 alias VkDisplaySurfaceCreateFlagsKHR = VkFlags;
5515 
5516 struct VkDisplayPropertiesKHR {
5517     VkDisplayKHR                display;
5518     const( char )*              displayName;
5519     VkExtent2D                  physicalDimensions;
5520     VkExtent2D                  physicalResolution;
5521     VkSurfaceTransformFlagsKHR  supportedTransforms;
5522     VkBool32                    planeReorderPossible;
5523     VkBool32                    persistentContent;
5524 }
5525 
5526 struct VkDisplayModeParametersKHR {
5527     VkExtent2D  visibleRegion;
5528     uint32_t    refreshRate;
5529 }
5530 
5531 struct VkDisplayModePropertiesKHR {
5532     VkDisplayModeKHR            displayMode;
5533     VkDisplayModeParametersKHR  parameters;
5534 }
5535 
5536 struct VkDisplayModeCreateInfoKHR {
5537     VkStructureType              sType = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR;
5538     const( void )*               pNext;
5539     VkDisplayModeCreateFlagsKHR  flags;
5540     VkDisplayModeParametersKHR   parameters;
5541 }
5542 
5543 struct VkDisplayPlaneCapabilitiesKHR {
5544     VkDisplayPlaneAlphaFlagsKHR  supportedAlpha;
5545     VkOffset2D                   minSrcPosition;
5546     VkOffset2D                   maxSrcPosition;
5547     VkExtent2D                   minSrcExtent;
5548     VkExtent2D                   maxSrcExtent;
5549     VkOffset2D                   minDstPosition;
5550     VkOffset2D                   maxDstPosition;
5551     VkExtent2D                   minDstExtent;
5552     VkExtent2D                   maxDstExtent;
5553 }
5554 
5555 struct VkDisplayPlanePropertiesKHR {
5556     VkDisplayKHR  currentDisplay;
5557     uint32_t      currentStackIndex;
5558 }
5559 
5560 struct VkDisplaySurfaceCreateInfoKHR {
5561     VkStructureType                 sType = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR;
5562     const( void )*                  pNext;
5563     VkDisplaySurfaceCreateFlagsKHR  flags;
5564     VkDisplayModeKHR                displayMode;
5565     uint32_t                        planeIndex;
5566     uint32_t                        planeStackIndex;
5567     VkSurfaceTransformFlagBitsKHR   transform;
5568     float                           globalAlpha;
5569     VkDisplayPlaneAlphaFlagBitsKHR  alphaMode;
5570     VkExtent2D                      imageExtent;
5571 }
5572 
5573 
5574 // - VK_KHR_display_swapchain -
5575 enum VK_KHR_display_swapchain = 1;
5576 
5577 enum VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION = 9;
5578 enum VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_display_swapchain";
5579 
5580 struct VkDisplayPresentInfoKHR {
5581     VkStructureType  sType = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR;
5582     const( void )*   pNext;
5583     VkRect2D         srcRect;
5584     VkRect2D         dstRect;
5585     VkBool32         persistent;
5586 }
5587 
5588 
5589 // - VK_KHR_sampler_mirror_clamp_to_edge -
5590 enum VK_KHR_sampler_mirror_clamp_to_edge = 1;
5591 
5592 enum VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 1;
5593 enum VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge";
5594 
5595 
5596 // - VK_KHR_multiview -
5597 enum VK_KHR_multiview = 1;
5598 
5599 enum VK_KHR_MULTIVIEW_SPEC_VERSION = 1;
5600 enum VK_KHR_MULTIVIEW_EXTENSION_NAME = "VK_KHR_multiview";
5601 
5602 alias VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo;
5603 alias VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures;
5604 alias VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties;
5605 
5606 
5607 // - VK_KHR_get_physical_device_properties2 -
5608 enum VK_KHR_get_physical_device_properties2 = 1;
5609 
5610 enum VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION = 1;
5611 enum VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_physical_device_properties2";
5612 
5613 alias VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2;
5614 alias VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2;
5615 alias VkFormatProperties2KHR = VkFormatProperties2;
5616 alias VkImageFormatProperties2KHR = VkImageFormatProperties2;
5617 alias VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2;
5618 alias VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2;
5619 alias VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2;
5620 alias VkSparseImageFormatProperties2KHR = VkSparseImageFormatProperties2;
5621 alias VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2;
5622 
5623 
5624 // - VK_KHR_device_group -
5625 enum VK_KHR_device_group = 1;
5626 
5627 enum VK_KHR_DEVICE_GROUP_SPEC_VERSION = 3;
5628 enum VK_KHR_DEVICE_GROUP_EXTENSION_NAME = "VK_KHR_device_group";
5629 
5630 alias VkPeerMemoryFeatureFlagsKHR = VkPeerMemoryFeatureFlags;
5631 alias VkPeerMemoryFeatureFlagBitsKHR = VkPeerMemoryFeatureFlagBits;
5632 alias VkMemoryAllocateFlagsKHR = VkMemoryAllocateFlags;
5633 alias VkMemoryAllocateFlagBitsKHR = VkMemoryAllocateFlagBits;
5634 
5635 alias VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo;
5636 alias VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo;
5637 alias VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo;
5638 alias VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo;
5639 alias VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo;
5640 alias VkBindBufferMemoryDeviceGroupInfoKHR = VkBindBufferMemoryDeviceGroupInfo;
5641 alias VkBindImageMemoryDeviceGroupInfoKHR = VkBindImageMemoryDeviceGroupInfo;
5642 
5643 struct VkPhysicalDeviceSurfaceInfo2KHR {
5644     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
5645     const( void )*   pNext;
5646     VkSurfaceKHR     surface;
5647 }
5648 
5649 
5650 // - VK_KHR_shader_draw_parameters -
5651 enum VK_KHR_shader_draw_parameters = 1;
5652 
5653 enum VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION = 1;
5654 enum VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_parameters";
5655 
5656 
5657 // - VK_KHR_maintenance1 -
5658 enum VK_KHR_maintenance1 = 1;
5659 
5660 enum VK_KHR_MAINTENANCE1_SPEC_VERSION = 2;
5661 enum VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1";
5662 
5663 alias VkCommandPoolTrimFlagsKHR = VkCommandPoolTrimFlags;
5664 
5665 
5666 // - VK_KHR_device_group_creation -
5667 enum VK_KHR_device_group_creation = 1;
5668 
5669 enum VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION = 1;
5670 enum VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME = "VK_KHR_device_group_creation";
5671 alias VK_MAX_DEVICE_GROUP_SIZE_KHR = VK_MAX_DEVICE_GROUP_SIZE;
5672 
5673 alias VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties;
5674 alias VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo;
5675 
5676 
5677 // - VK_KHR_external_memory_capabilities -
5678 enum VK_KHR_external_memory_capabilities = 1;
5679 
5680 enum VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1;
5681 enum VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_memory_capabilities";
5682 alias VK_LUID_SIZE_KHR = VK_LUID_SIZE;
5683 
5684 alias VkExternalMemoryHandleTypeFlagsKHR = VkExternalMemoryHandleTypeFlags;
5685 alias VkExternalMemoryHandleTypeFlagBitsKHR = VkExternalMemoryHandleTypeFlagBits;
5686 alias VkExternalMemoryFeatureFlagsKHR = VkExternalMemoryFeatureFlags;
5687 alias VkExternalMemoryFeatureFlagBitsKHR = VkExternalMemoryFeatureFlagBits;
5688 
5689 alias VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties;
5690 alias VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo;
5691 alias VkExternalImageFormatPropertiesKHR = VkExternalImageFormatProperties;
5692 alias VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo;
5693 alias VkExternalBufferPropertiesKHR = VkExternalBufferProperties;
5694 alias VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties;
5695 
5696 
5697 // - VK_KHR_external_memory -
5698 enum VK_KHR_external_memory = 1;
5699 
5700 enum VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION = 1;
5701 enum VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_KHR_external_memory";
5702 alias VK_QUEUE_FAMILY_EXTERNAL_KHR = VK_QUEUE_FAMILY_EXTERNAL;
5703 
5704 alias VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo;
5705 alias VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo;
5706 alias VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo;
5707 
5708 
5709 // - VK_KHR_external_memory_fd -
5710 enum VK_KHR_external_memory_fd = 1;
5711 
5712 enum VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION = 1;
5713 enum VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME = "VK_KHR_external_memory_fd";
5714 
5715 struct VkImportMemoryFdInfoKHR {
5716     VkStructureType                     sType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR;
5717     const( void )*                      pNext;
5718     VkExternalMemoryHandleTypeFlagBits  handleType;
5719     int                                 fd;
5720 }
5721 
5722 struct VkMemoryFdPropertiesKHR {
5723     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR;
5724     void*            pNext;
5725     uint32_t         memoryTypeBits;
5726 }
5727 
5728 struct VkMemoryGetFdInfoKHR {
5729     VkStructureType                     sType = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR;
5730     const( void )*                      pNext;
5731     VkDeviceMemory                      memory;
5732     VkExternalMemoryHandleTypeFlagBits  handleType;
5733 }
5734 
5735 
5736 // - VK_KHR_external_semaphore_capabilities -
5737 enum VK_KHR_external_semaphore_capabilities = 1;
5738 
5739 enum VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION = 1;
5740 enum VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_semaphore_capabilities";
5741 
5742 alias VkExternalSemaphoreHandleTypeFlagsKHR = VkExternalSemaphoreHandleTypeFlags;
5743 alias VkExternalSemaphoreHandleTypeFlagBitsKHR = VkExternalSemaphoreHandleTypeFlagBits;
5744 alias VkExternalSemaphoreFeatureFlagsKHR = VkExternalSemaphoreFeatureFlags;
5745 alias VkExternalSemaphoreFeatureFlagBitsKHR = VkExternalSemaphoreFeatureFlagBits;
5746 
5747 alias VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo;
5748 alias VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties;
5749 
5750 
5751 // - VK_KHR_external_semaphore -
5752 enum VK_KHR_external_semaphore = 1;
5753 
5754 enum VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION = 1;
5755 enum VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME = "VK_KHR_external_semaphore";
5756 
5757 alias VkSemaphoreImportFlagsKHR = VkSemaphoreImportFlags;
5758 alias VkSemaphoreImportFlagBitsKHR = VkSemaphoreImportFlagBits;
5759 
5760 alias VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo;
5761 
5762 
5763 // - VK_KHR_external_semaphore_fd -
5764 enum VK_KHR_external_semaphore_fd = 1;
5765 
5766 enum VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION = 1;
5767 enum VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME = "VK_KHR_external_semaphore_fd";
5768 
5769 struct VkImportSemaphoreFdInfoKHR {
5770     VkStructureType                        sType = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR;
5771     const( void )*                         pNext;
5772     VkSemaphore                            semaphore;
5773     VkSemaphoreImportFlags                 flags;
5774     VkExternalSemaphoreHandleTypeFlagBits  handleType;
5775     int                                    fd;
5776 }
5777 
5778 struct VkSemaphoreGetFdInfoKHR {
5779     VkStructureType                        sType = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR;
5780     const( void )*                         pNext;
5781     VkSemaphore                            semaphore;
5782     VkExternalSemaphoreHandleTypeFlagBits  handleType;
5783 }
5784 
5785 
5786 // - VK_KHR_push_descriptor -
5787 enum VK_KHR_push_descriptor = 1;
5788 
5789 enum VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 2;
5790 enum VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME = "VK_KHR_push_descriptor";
5791 
5792 struct VkPhysicalDevicePushDescriptorPropertiesKHR {
5793     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR;
5794     void*            pNext;
5795     uint32_t         maxPushDescriptors;
5796 }
5797 
5798 
5799 // - VK_KHR_shader_float16_int8 -
5800 enum VK_KHR_shader_float16_int8 = 1;
5801 
5802 enum VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION = 1;
5803 enum VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME = "VK_KHR_shader_float16_int8";
5804 
5805 struct VkPhysicalDeviceFloat16Int8FeaturesKHR {
5806     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR;
5807     void*            pNext;
5808     VkBool32         shaderFloat16;
5809     VkBool32         shaderInt8;
5810 }
5811 
5812 
5813 // - VK_KHR_16bit_storage -
5814 enum VK_KHR_16bit_storage = 1;
5815 
5816 enum VK_KHR_16BIT_STORAGE_SPEC_VERSION = 1;
5817 enum VK_KHR_16BIT_STORAGE_EXTENSION_NAME = "VK_KHR_16bit_storage";
5818 
5819 alias VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures;
5820 
5821 
5822 // - VK_KHR_incremental_present -
5823 enum VK_KHR_incremental_present = 1;
5824 
5825 enum VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION = 1;
5826 enum VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME = "VK_KHR_incremental_present";
5827 
5828 struct VkRectLayerKHR {
5829     VkOffset2D  offset;
5830     VkExtent2D  extent;
5831     uint32_t    layer;
5832 }
5833 
5834 struct VkPresentRegionKHR {
5835     uint32_t                  rectangleCount;
5836     const( VkRectLayerKHR )*  pRectangles;
5837 }
5838 
5839 struct VkPresentRegionsKHR {
5840     VkStructureType               sType = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR;
5841     const( void )*                pNext;
5842     uint32_t                      swapchainCount;
5843     const( VkPresentRegionKHR )*  pRegions;
5844 }
5845 
5846 
5847 // - VK_KHR_descriptor_update_template -
5848 enum VK_KHR_descriptor_update_template = 1;
5849 
5850 alias VkDescriptorUpdateTemplateKHR = VkDescriptorUpdateTemplate;
5851 
5852 alias VkDescriptorUpdateTemplateTypeKHR = VkDescriptorUpdateTemplateType;
5853 enum VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION = 1;
5854 enum VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME = "VK_KHR_descriptor_update_template";
5855 
5856 alias VkDescriptorUpdateTemplateCreateFlagsKHR = VkDescriptorUpdateTemplateCreateFlags;
5857 
5858 alias VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry;
5859 alias VkDescriptorUpdateTemplateCreateInfoKHR = VkDescriptorUpdateTemplateCreateInfo;
5860 
5861 
5862 // - VK_KHR_create_renderpass2 -
5863 enum VK_KHR_create_renderpass2 = 1;
5864 
5865 enum VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION = 1;
5866 enum VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME = "VK_KHR_create_renderpass2";
5867 
5868 struct VkAttachmentDescription2KHR {
5869     VkStructureType               sType = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR;
5870     const( void )*                pNext;
5871     VkAttachmentDescriptionFlags  flags;
5872     VkFormat                      format;
5873     VkSampleCountFlagBits         samples;
5874     VkAttachmentLoadOp            loadOp;
5875     VkAttachmentStoreOp           storeOp;
5876     VkAttachmentLoadOp            stencilLoadOp;
5877     VkAttachmentStoreOp           stencilStoreOp;
5878     VkImageLayout                 initialLayout;
5879     VkImageLayout                 finalLayout;
5880 }
5881 
5882 struct VkAttachmentReference2KHR {
5883     VkStructureType     sType = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR;
5884     const( void )*      pNext;
5885     uint32_t            attachment;
5886     VkImageLayout       layout;
5887     VkImageAspectFlags  aspectMask;
5888 }
5889 
5890 struct VkSubpassDescription2KHR {
5891     VkStructureType                      sType = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR;
5892     const( void )*                       pNext;
5893     VkSubpassDescriptionFlags            flags;
5894     VkPipelineBindPoint                  pipelineBindPoint;
5895     uint32_t                             viewMask;
5896     uint32_t                             inputAttachmentCount;
5897     const( VkAttachmentReference2KHR )*  pInputAttachments;
5898     uint32_t                             colorAttachmentCount;
5899     const( VkAttachmentReference2KHR )*  pColorAttachments;
5900     const( VkAttachmentReference2KHR )*  pResolveAttachments;
5901     const( VkAttachmentReference2KHR )*  pDepthStencilAttachment;
5902     uint32_t                             preserveAttachmentCount;
5903     const( uint32_t )*                   pPreserveAttachments;
5904 }
5905 
5906 struct VkSubpassDependency2KHR {
5907     VkStructureType       sType = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR;
5908     const( void )*        pNext;
5909     uint32_t              srcSubpass;
5910     uint32_t              dstSubpass;
5911     VkPipelineStageFlags  srcStageMask;
5912     VkPipelineStageFlags  dstStageMask;
5913     VkAccessFlags         srcAccessMask;
5914     VkAccessFlags         dstAccessMask;
5915     VkDependencyFlags     dependencyFlags;
5916     int32_t               viewOffset;
5917 }
5918 
5919 struct VkRenderPassCreateInfo2KHR {
5920     VkStructureType                        sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR;
5921     const( void )*                         pNext;
5922     VkRenderPassCreateFlags                flags;
5923     uint32_t                               attachmentCount;
5924     const( VkAttachmentDescription2KHR )*  pAttachments;
5925     uint32_t                               subpassCount;
5926     const( VkSubpassDescription2KHR )*     pSubpasses;
5927     uint32_t                               dependencyCount;
5928     const( VkSubpassDependency2KHR )*      pDependencies;
5929     uint32_t                               correlatedViewMaskCount;
5930     const( uint32_t )*                     pCorrelatedViewMasks;
5931 }
5932 
5933 struct VkSubpassBeginInfoKHR {
5934     VkStructureType    sType = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR;
5935     const( void )*     pNext;
5936     VkSubpassContents  contents;
5937 }
5938 
5939 struct VkSubpassEndInfoKHR {
5940     VkStructureType  sType = VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR;
5941     const( void )*   pNext;
5942 }
5943 
5944 
5945 // - VK_KHR_shared_presentable_image -
5946 enum VK_KHR_shared_presentable_image = 1;
5947 
5948 enum VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION = 1;
5949 enum VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME = "VK_KHR_shared_presentable_image";
5950 
5951 struct VkSharedPresentSurfaceCapabilitiesKHR {
5952     VkStructureType    sType = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR;
5953     void*              pNext;
5954     VkImageUsageFlags  sharedPresentSupportedUsageFlags;
5955 }
5956 
5957 
5958 // - VK_KHR_external_fence_capabilities -
5959 enum VK_KHR_external_fence_capabilities = 1;
5960 
5961 enum VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION = 1;
5962 enum VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_fence_capabilities";
5963 
5964 alias VkExternalFenceHandleTypeFlagsKHR = VkExternalFenceHandleTypeFlags;
5965 alias VkExternalFenceHandleTypeFlagBitsKHR = VkExternalFenceHandleTypeFlagBits;
5966 alias VkExternalFenceFeatureFlagsKHR = VkExternalFenceFeatureFlags;
5967 alias VkExternalFenceFeatureFlagBitsKHR = VkExternalFenceFeatureFlagBits;
5968 
5969 alias VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo;
5970 alias VkExternalFencePropertiesKHR = VkExternalFenceProperties;
5971 
5972 
5973 // - VK_KHR_external_fence -
5974 enum VK_KHR_external_fence = 1;
5975 
5976 enum VK_KHR_EXTERNAL_FENCE_SPEC_VERSION = 1;
5977 enum VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME = "VK_KHR_external_fence";
5978 
5979 alias VkFenceImportFlagsKHR = VkFenceImportFlags;
5980 alias VkFenceImportFlagBitsKHR = VkFenceImportFlagBits;
5981 
5982 alias VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo;
5983 
5984 
5985 // - VK_KHR_external_fence_fd -
5986 enum VK_KHR_external_fence_fd = 1;
5987 
5988 enum VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION = 1;
5989 enum VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME = "VK_KHR_external_fence_fd";
5990 
5991 struct VkImportFenceFdInfoKHR {
5992     VkStructureType                    sType = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR;
5993     const( void )*                     pNext;
5994     VkFence                            fence;
5995     VkFenceImportFlags                 flags;
5996     VkExternalFenceHandleTypeFlagBits  handleType;
5997     int                                fd;
5998 }
5999 
6000 struct VkFenceGetFdInfoKHR {
6001     VkStructureType                    sType = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR;
6002     const( void )*                     pNext;
6003     VkFence                            fence;
6004     VkExternalFenceHandleTypeFlagBits  handleType;
6005 }
6006 
6007 
6008 // - VK_KHR_maintenance2 -
6009 enum VK_KHR_maintenance2 = 1;
6010 
6011 alias VkPointClippingBehaviorKHR = VkPointClippingBehavior;
6012 alias VkTessellationDomainOriginKHR = VkTessellationDomainOrigin;
6013 enum VK_KHR_MAINTENANCE2_SPEC_VERSION = 1;
6014 enum VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2";
6015 
6016 alias VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties;
6017 alias VkRenderPassInputAttachmentAspectCreateInfoKHR = VkRenderPassInputAttachmentAspectCreateInfo;
6018 alias VkInputAttachmentAspectReferenceKHR = VkInputAttachmentAspectReference;
6019 alias VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo;
6020 alias VkPipelineTessellationDomainOriginStateCreateInfoKHR = VkPipelineTessellationDomainOriginStateCreateInfo;
6021 
6022 
6023 // - VK_KHR_get_surface_capabilities2 -
6024 enum VK_KHR_get_surface_capabilities2 = 1;
6025 
6026 enum VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION = 1;
6027 enum VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME = "VK_KHR_get_surface_capabilities2";
6028 
6029 struct VkSurfaceCapabilities2KHR {
6030     VkStructureType           sType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR;
6031     void*                     pNext;
6032     VkSurfaceCapabilitiesKHR  surfaceCapabilities;
6033 }
6034 
6035 struct VkSurfaceFormat2KHR {
6036     VkStructureType     sType = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR;
6037     void*               pNext;
6038     VkSurfaceFormatKHR  surfaceFormat;
6039 }
6040 
6041 
6042 // - VK_KHR_variable_pointers -
6043 enum VK_KHR_variable_pointers = 1;
6044 
6045 enum VK_KHR_VARIABLE_POINTERS_SPEC_VERSION = 1;
6046 enum VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME = "VK_KHR_variable_pointers";
6047 
6048 alias VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures;
6049 
6050 
6051 // - VK_KHR_get_display_properties2 -
6052 enum VK_KHR_get_display_properties2 = 1;
6053 
6054 enum VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION = 1;
6055 enum VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_display_properties2";
6056 
6057 struct VkDisplayProperties2KHR {
6058     VkStructureType         sType = VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR;
6059     void*                   pNext;
6060     VkDisplayPropertiesKHR  displayProperties;
6061 }
6062 
6063 struct VkDisplayPlaneProperties2KHR {
6064     VkStructureType              sType = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR;
6065     void*                        pNext;
6066     VkDisplayPlanePropertiesKHR  displayPlaneProperties;
6067 }
6068 
6069 struct VkDisplayModeProperties2KHR {
6070     VkStructureType             sType = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR;
6071     void*                       pNext;
6072     VkDisplayModePropertiesKHR  displayModeProperties;
6073 }
6074 
6075 struct VkDisplayPlaneInfo2KHR {
6076     VkStructureType   sType = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR;
6077     const( void )*    pNext;
6078     VkDisplayModeKHR  mode;
6079     uint32_t          planeIndex;
6080 }
6081 
6082 struct VkDisplayPlaneCapabilities2KHR {
6083     VkStructureType                sType = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR;
6084     void*                          pNext;
6085     VkDisplayPlaneCapabilitiesKHR  capabilities;
6086 }
6087 
6088 
6089 // - VK_KHR_dedicated_allocation -
6090 enum VK_KHR_dedicated_allocation = 1;
6091 
6092 enum VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION = 3;
6093 enum VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_KHR_dedicated_allocation";
6094 
6095 alias VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements;
6096 alias VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo;
6097 
6098 
6099 // - VK_KHR_storage_buffer_storage_class -
6100 enum VK_KHR_storage_buffer_storage_class = 1;
6101 
6102 enum VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION = 1;
6103 enum VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME = "VK_KHR_storage_buffer_storage_class";
6104 
6105 
6106 // - VK_KHR_relaxed_block_layout -
6107 enum VK_KHR_relaxed_block_layout = 1;
6108 
6109 enum VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION = 1;
6110 enum VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME = "VK_KHR_relaxed_block_layout";
6111 
6112 
6113 // - VK_KHR_get_memory_requirements2 -
6114 enum VK_KHR_get_memory_requirements2 = 1;
6115 
6116 enum VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION = 1;
6117 enum VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME = "VK_KHR_get_memory_requirements2";
6118 
6119 alias VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2;
6120 alias VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2;
6121 alias VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2;
6122 alias VkSparseImageMemoryRequirements2KHR = VkSparseImageMemoryRequirements2;
6123 
6124 
6125 // - VK_KHR_image_format_list -
6126 enum VK_KHR_image_format_list = 1;
6127 
6128 enum VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION = 1;
6129 enum VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME = "VK_KHR_image_format_list";
6130 
6131 struct VkImageFormatListCreateInfoKHR {
6132     VkStructureType     sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR;
6133     const( void )*      pNext;
6134     uint32_t            viewFormatCount;
6135     const( VkFormat )*  pViewFormats;
6136 }
6137 
6138 
6139 // - VK_KHR_sampler_ycbcr_conversion -
6140 enum VK_KHR_sampler_ycbcr_conversion = 1;
6141 
6142 alias VkSamplerYcbcrConversionKHR = VkSamplerYcbcrConversion;
6143 
6144 alias VkSamplerYcbcrModelConversionKHR = VkSamplerYcbcrModelConversion;
6145 alias VkSamplerYcbcrRangeKHR = VkSamplerYcbcrRange;
6146 alias VkChromaLocationKHR = VkChromaLocation;
6147 enum VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION = 1;
6148 enum VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME = "VK_KHR_sampler_ycbcr_conversion";
6149 
6150 alias VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo;
6151 alias VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo;
6152 alias VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo;
6153 alias VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo;
6154 alias VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures;
6155 alias VkSamplerYcbcrConversionImageFormatPropertiesKHR = VkSamplerYcbcrConversionImageFormatProperties;
6156 
6157 
6158 // - VK_KHR_bind_memory2 -
6159 enum VK_KHR_bind_memory2 = 1;
6160 
6161 enum VK_KHR_BIND_MEMORY_2_SPEC_VERSION = 1;
6162 enum VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2";
6163 
6164 alias VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo;
6165 alias VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo;
6166 
6167 
6168 // - VK_KHR_maintenance3 -
6169 enum VK_KHR_maintenance3 = 1;
6170 
6171 enum VK_KHR_MAINTENANCE3_SPEC_VERSION = 1;
6172 enum VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3";
6173 
6174 alias VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties;
6175 alias VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport;
6176 
6177 
6178 // - VK_KHR_draw_indirect_count -
6179 enum VK_KHR_draw_indirect_count = 1;
6180 
6181 enum VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1;
6182 enum VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_KHR_draw_indirect_count";
6183 
6184 
6185 // - VK_KHR_8bit_storage -
6186 enum VK_KHR_8bit_storage = 1;
6187 
6188 enum VK_KHR_8BIT_STORAGE_SPEC_VERSION = 1;
6189 enum VK_KHR_8BIT_STORAGE_EXTENSION_NAME = "VK_KHR_8bit_storage";
6190 
6191 struct VkPhysicalDevice8BitStorageFeaturesKHR {
6192     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR;
6193     void*            pNext;
6194     VkBool32         storageBuffer8BitAccess;
6195     VkBool32         uniformAndStorageBuffer8BitAccess;
6196     VkBool32         storagePushConstant8;
6197 }
6198 
6199 
6200 // - VK_KHR_shader_atomic_int64 -
6201 enum VK_KHR_shader_atomic_int64 = 1;
6202 
6203 enum VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION = 1;
6204 enum VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME = "VK_KHR_shader_atomic_int64";
6205 
6206 struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR {
6207     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR;
6208     void*            pNext;
6209     VkBool32         shaderBufferInt64Atomics;
6210     VkBool32         shaderSharedInt64Atomics;
6211 }
6212 
6213 
6214 // - VK_KHR_driver_properties -
6215 enum VK_KHR_driver_properties = 1;
6216 
6217 enum VK_MAX_DRIVER_NAME_SIZE_KHR = 256;
6218 enum VK_MAX_DRIVER_INFO_SIZE_KHR = 256;
6219 enum VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1;
6220 enum VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME = "VK_KHR_driver_properties";
6221 
6222 enum VkDriverIdKHR {
6223     VK_DRIVER_ID_AMD_PROPRIETARY_KHR             = 1,
6224     VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR             = 2,
6225     VK_DRIVER_ID_MESA_RADV_KHR                   = 3,
6226     VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR          = 4,
6227     VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR   = 5,
6228     VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR      = 6,
6229     VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR     = 7,
6230     VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR        = 8,
6231     VK_DRIVER_ID_ARM_PROPRIETARY_KHR             = 9,
6232     VK_DRIVER_ID_GOOGLE_PASTEL_KHR               = 10,
6233     VK_DRIVER_ID_GGP_PROPRIETARY_KHR             = 11,
6234     VK_DRIVER_IDKHR_BEGIN_RANGE_KHR              = VK_DRIVER_ID_AMD_PROPRIETARY_KHR,
6235     VK_DRIVER_IDKHR_END_RANGE_KHR                = VK_DRIVER_ID_GGP_PROPRIETARY_KHR,
6236     VK_DRIVER_IDKHR_RANGE_SIZE_KHR               = VK_DRIVER_ID_GGP_PROPRIETARY_KHR - VK_DRIVER_ID_AMD_PROPRIETARY_KHR + 1,
6237     VK_DRIVER_IDKHR_MAX_ENUM_KHR                 = 0x7FFFFFFF
6238 }
6239 
6240 enum VK_DRIVER_ID_AMD_PROPRIETARY_KHR            = VkDriverIdKHR.VK_DRIVER_ID_AMD_PROPRIETARY_KHR;
6241 enum VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR            = VkDriverIdKHR.VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR;
6242 enum VK_DRIVER_ID_MESA_RADV_KHR                  = VkDriverIdKHR.VK_DRIVER_ID_MESA_RADV_KHR;
6243 enum VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR         = VkDriverIdKHR.VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR;
6244 enum VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR  = VkDriverIdKHR.VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR;
6245 enum VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR     = VkDriverIdKHR.VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR;
6246 enum VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR    = VkDriverIdKHR.VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR;
6247 enum VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR       = VkDriverIdKHR.VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR;
6248 enum VK_DRIVER_ID_ARM_PROPRIETARY_KHR            = VkDriverIdKHR.VK_DRIVER_ID_ARM_PROPRIETARY_KHR;
6249 enum VK_DRIVER_ID_GOOGLE_PASTEL_KHR              = VkDriverIdKHR.VK_DRIVER_ID_GOOGLE_PASTEL_KHR;
6250 enum VK_DRIVER_ID_GGP_PROPRIETARY_KHR            = VkDriverIdKHR.VK_DRIVER_ID_GGP_PROPRIETARY_KHR;
6251 enum VK_DRIVER_IDKHR_BEGIN_RANGE_KHR             = VkDriverIdKHR.VK_DRIVER_IDKHR_BEGIN_RANGE_KHR;
6252 enum VK_DRIVER_IDKHR_END_RANGE_KHR               = VkDriverIdKHR.VK_DRIVER_IDKHR_END_RANGE_KHR;
6253 enum VK_DRIVER_IDKHR_RANGE_SIZE_KHR              = VkDriverIdKHR.VK_DRIVER_IDKHR_RANGE_SIZE_KHR;
6254 enum VK_DRIVER_IDKHR_MAX_ENUM_KHR                = VkDriverIdKHR.VK_DRIVER_IDKHR_MAX_ENUM_KHR;
6255 
6256 struct VkConformanceVersionKHR {
6257     uint8_t  major;
6258     uint8_t  minor;
6259     uint8_t  subminor;
6260     uint8_t  patch;
6261 }
6262 
6263 struct VkPhysicalDeviceDriverPropertiesKHR {
6264     VkStructureType                      sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR;
6265     void*                                pNext;
6266     VkDriverIdKHR                        driverID;
6267     char[ VK_MAX_DRIVER_NAME_SIZE_KHR ]  driverName;
6268     char[ VK_MAX_DRIVER_INFO_SIZE_KHR ]  driverInfo;
6269     VkConformanceVersionKHR              conformanceVersion;
6270 }
6271 
6272 
6273 // - VK_KHR_shader_float_controls -
6274 enum VK_KHR_shader_float_controls = 1;
6275 
6276 enum VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION = 1;
6277 enum VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME = "VK_KHR_shader_float_controls";
6278 
6279 struct VkPhysicalDeviceFloatControlsPropertiesKHR {
6280     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR;
6281     void*            pNext;
6282     VkBool32         separateDenormSettings;
6283     VkBool32         separateRoundingModeSettings;
6284     VkBool32         shaderSignedZeroInfNanPreserveFloat16;
6285     VkBool32         shaderSignedZeroInfNanPreserveFloat32;
6286     VkBool32         shaderSignedZeroInfNanPreserveFloat64;
6287     VkBool32         shaderDenormPreserveFloat16;
6288     VkBool32         shaderDenormPreserveFloat32;
6289     VkBool32         shaderDenormPreserveFloat64;
6290     VkBool32         shaderDenormFlushToZeroFloat16;
6291     VkBool32         shaderDenormFlushToZeroFloat32;
6292     VkBool32         shaderDenormFlushToZeroFloat64;
6293     VkBool32         shaderRoundingModeRTEFloat16;
6294     VkBool32         shaderRoundingModeRTEFloat32;
6295     VkBool32         shaderRoundingModeRTEFloat64;
6296     VkBool32         shaderRoundingModeRTZFloat16;
6297     VkBool32         shaderRoundingModeRTZFloat32;
6298     VkBool32         shaderRoundingModeRTZFloat64;
6299 }
6300 
6301 
6302 // - VK_KHR_depth_stencil_resolve -
6303 enum VK_KHR_depth_stencil_resolve = 1;
6304 
6305 enum VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION = 1;
6306 enum VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME = "VK_KHR_depth_stencil_resolve";
6307 
6308 enum VkResolveModeFlagBitsKHR {
6309     VK_RESOLVE_MODE_NONE_KHR                     = 0,
6310     VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR          = 0x00000001,
6311     VK_RESOLVE_MODE_AVERAGE_BIT_KHR              = 0x00000002,
6312     VK_RESOLVE_MODE_MIN_BIT_KHR                  = 0x00000004,
6313     VK_RESOLVE_MODE_MAX_BIT_KHR                  = 0x00000008,
6314     VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM_KHR       = 0x7FFFFFFF
6315 }
6316 
6317 enum VK_RESOLVE_MODE_NONE_KHR                    = VkResolveModeFlagBitsKHR.VK_RESOLVE_MODE_NONE_KHR;
6318 enum VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR         = VkResolveModeFlagBitsKHR.VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR;
6319 enum VK_RESOLVE_MODE_AVERAGE_BIT_KHR             = VkResolveModeFlagBitsKHR.VK_RESOLVE_MODE_AVERAGE_BIT_KHR;
6320 enum VK_RESOLVE_MODE_MIN_BIT_KHR                 = VkResolveModeFlagBitsKHR.VK_RESOLVE_MODE_MIN_BIT_KHR;
6321 enum VK_RESOLVE_MODE_MAX_BIT_KHR                 = VkResolveModeFlagBitsKHR.VK_RESOLVE_MODE_MAX_BIT_KHR;
6322 enum VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM_KHR      = VkResolveModeFlagBitsKHR.VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM_KHR;
6323 alias VkResolveModeFlagsKHR = VkFlags;
6324 
6325 struct VkSubpassDescriptionDepthStencilResolveKHR {
6326     VkStructureType                      sType = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR;
6327     const( void )*                       pNext;
6328     VkResolveModeFlagBitsKHR             depthResolveMode;
6329     VkResolveModeFlagBitsKHR             stencilResolveMode;
6330     const( VkAttachmentReference2KHR )*  pDepthStencilResolveAttachment;
6331 }
6332 
6333 struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR {
6334     VkStructureType        sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR;
6335     void*                  pNext;
6336     VkResolveModeFlagsKHR  supportedDepthResolveModes;
6337     VkResolveModeFlagsKHR  supportedStencilResolveModes;
6338     VkBool32               independentResolveNone;
6339     VkBool32               independentResolve;
6340 }
6341 
6342 
6343 // - VK_KHR_swapchain_mutable_format -
6344 enum VK_KHR_swapchain_mutable_format = 1;
6345 
6346 enum VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION = 1;
6347 enum VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME = "VK_KHR_swapchain_mutable_format";
6348 
6349 
6350 // - VK_KHR_vulkan_memory_model -
6351 enum VK_KHR_vulkan_memory_model = 1;
6352 
6353 enum VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION = 3;
6354 enum VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME = "VK_KHR_vulkan_memory_model";
6355 
6356 struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR {
6357     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR;
6358     void*            pNext;
6359     VkBool32         vulkanMemoryModel;
6360     VkBool32         vulkanMemoryModelDeviceScope;
6361     VkBool32         vulkanMemoryModelAvailabilityVisibilityChains;
6362 }
6363 
6364 
6365 // - VK_KHR_surface_protected_capabilities -
6366 enum VK_KHR_surface_protected_capabilities = 1;
6367 
6368 enum VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION = 1;
6369 enum VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME = "VK_KHR_surface_protected_capabilities";
6370 
6371 struct VkSurfaceProtectedCapabilitiesKHR {
6372     VkStructureType  sType = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR;
6373     const( void )*   pNext;
6374     VkBool32         supportsProtected;
6375 }
6376 
6377 
6378 // - VK_EXT_debug_report -
6379 enum VK_EXT_debug_report = 1;
6380 
6381 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDebugReportCallbackEXT} );
6382 
6383 enum VK_EXT_DEBUG_REPORT_SPEC_VERSION = 9;
6384 enum VK_EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report";
6385 
6386 enum VkDebugReportObjectTypeEXT {
6387     VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT                              = 0,
6388     VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT                             = 1,
6389     VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT                      = 2,
6390     VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT                               = 3,
6391     VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT                                = 4,
6392     VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT                            = 5,
6393     VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT                       = 6,
6394     VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT                                = 7,
6395     VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT                        = 8,
6396     VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT                               = 9,
6397     VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT                                = 10,
6398     VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT                                = 11,
6399     VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT                           = 12,
6400     VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT                          = 13,
6401     VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT                           = 14,
6402     VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT                        = 15,
6403     VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT                       = 16,
6404     VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT                      = 17,
6405     VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT                          = 18,
6406     VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT                             = 19,
6407     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT                = 20,
6408     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT                              = 21,
6409     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT                      = 22,
6410     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT                       = 23,
6411     VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT                          = 24,
6412     VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT                         = 25,
6413     VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT                          = 26,
6414     VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT                        = 27,
6415     VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT            = 28,
6416     VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT                          = 29,
6417     VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT                     = 30,
6418     VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT                     = 31,
6419     VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT         = 32,
6420     VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT                 = 33,
6421     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT             = 1000156000,
6422     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT           = 1000085000,
6423     VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT            = 1000165000,
6424     VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT                         = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
6425     VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT                     = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
6426     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT       = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
6427     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT         = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
6428     VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT                          = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
6429     VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT                            = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
6430     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,
6431     VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT                             = 0x7FFFFFFF
6432 }
6433 
6434 enum VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT                             = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;
6435 enum VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT                            = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT;
6436 enum VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT                     = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT;
6437 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT                              = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT;
6438 enum VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT                               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT;
6439 enum VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT                           = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT;
6440 enum VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT                      = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT;
6441 enum VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT                               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT;
6442 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT                       = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT;
6443 enum VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT                              = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT;
6444 enum VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT                               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT;
6445 enum VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT                               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT;
6446 enum VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT                          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT;
6447 enum VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT;
6448 enum VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT                          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT;
6449 enum VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT                       = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT;
6450 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT                      = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT;
6451 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT                     = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT;
6452 enum VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT;
6453 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT                            = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT;
6454 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT               = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT;
6455 enum VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT                             = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT;
6456 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT                     = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT;
6457 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT                      = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT;
6458 enum VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT;
6459 enum VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT                        = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT;
6460 enum VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT;
6461 enum VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT                       = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT;
6462 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT           = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT;
6463 enum VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT;
6464 enum VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT                    = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT;
6465 enum VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT                    = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT;
6466 enum VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT        = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT;
6467 enum VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT                = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT;
6468 enum VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT            = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT;
6469 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT;
6470 enum VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT           = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT;
6471 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT                        = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT;
6472 enum VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT                    = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT;
6473 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT      = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT;
6474 enum VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT        = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT;
6475 enum VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT                         = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT;
6476 enum VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT                           = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT;
6477 enum VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT                          = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT;
6478 enum VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT                            = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT;
6479 
6480 enum VkDebugReportFlagBitsEXT {
6481     VK_DEBUG_REPORT_INFORMATION_BIT_EXT          = 0x00000001,
6482     VK_DEBUG_REPORT_WARNING_BIT_EXT              = 0x00000002,
6483     VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT  = 0x00000004,
6484     VK_DEBUG_REPORT_ERROR_BIT_EXT                = 0x00000008,
6485     VK_DEBUG_REPORT_DEBUG_BIT_EXT                = 0x00000010,
6486     VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT       = 0x7FFFFFFF
6487 }
6488 
6489 enum VK_DEBUG_REPORT_INFORMATION_BIT_EXT         = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_INFORMATION_BIT_EXT;
6490 enum VK_DEBUG_REPORT_WARNING_BIT_EXT             = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_WARNING_BIT_EXT;
6491 enum VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT;
6492 enum VK_DEBUG_REPORT_ERROR_BIT_EXT               = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_ERROR_BIT_EXT;
6493 enum VK_DEBUG_REPORT_DEBUG_BIT_EXT               = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_DEBUG_BIT_EXT;
6494 enum VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT      = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT;
6495 alias VkDebugReportFlagsEXT = VkFlags;
6496 
6497 alias PFN_vkDebugReportCallbackEXT = VkBool32 function(
6498     VkDebugReportFlagsEXT       flags,
6499     VkDebugReportObjectTypeEXT  objectType,
6500     uint64_t                    object,
6501     size_t                      location,
6502     int32_t                     messageCode,
6503     const( char )*              pLayerPrefix,
6504     const( char )*              pMessage,
6505     void*                       pUserData
6506 );
6507 
6508 struct VkDebugReportCallbackCreateInfoEXT {
6509     VkStructureType               sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
6510     const( void )*                pNext;
6511     VkDebugReportFlagsEXT         flags;
6512     PFN_vkDebugReportCallbackEXT  pfnCallback;
6513     void*                         pUserData;
6514 }
6515 
6516 
6517 // - VK_NV_glsl_shader -
6518 enum VK_NV_glsl_shader = 1;
6519 
6520 enum VK_NV_GLSL_SHADER_SPEC_VERSION = 1;
6521 enum VK_NV_GLSL_SHADER_EXTENSION_NAME = "VK_NV_glsl_shader";
6522 
6523 
6524 // - VK_EXT_depth_range_unrestricted -
6525 enum VK_EXT_depth_range_unrestricted = 1;
6526 
6527 enum VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION = 1;
6528 enum VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME = "VK_EXT_depth_range_unrestricted";
6529 
6530 
6531 // - VK_IMG_filter_cubic -
6532 enum VK_IMG_filter_cubic = 1;
6533 
6534 enum VK_IMG_FILTER_CUBIC_SPEC_VERSION = 1;
6535 enum VK_IMG_FILTER_CUBIC_EXTENSION_NAME = "VK_IMG_filter_cubic";
6536 
6537 
6538 // - VK_AMD_rasterization_order -
6539 enum VK_AMD_rasterization_order = 1;
6540 
6541 enum VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION = 1;
6542 enum VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME = "VK_AMD_rasterization_order";
6543 
6544 enum VkRasterizationOrderAMD {
6545     VK_RASTERIZATION_ORDER_STRICT_AMD    = 0,
6546     VK_RASTERIZATION_ORDER_RELAXED_AMD   = 1,
6547     VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD,
6548     VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD,
6549     VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1,
6550     VK_RASTERIZATION_ORDER_MAX_ENUM_AMD  = 0x7FFFFFFF
6551 }
6552 
6553 enum VK_RASTERIZATION_ORDER_STRICT_AMD   = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_STRICT_AMD;
6554 enum VK_RASTERIZATION_ORDER_RELAXED_AMD  = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_RELAXED_AMD;
6555 enum VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD;
6556 enum VK_RASTERIZATION_ORDER_END_RANGE_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_END_RANGE_AMD;
6557 enum VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD;
6558 enum VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_MAX_ENUM_AMD;
6559 
6560 struct VkPipelineRasterizationStateRasterizationOrderAMD {
6561     VkStructureType          sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
6562     const( void )*           pNext;
6563     VkRasterizationOrderAMD  rasterizationOrder;
6564 }
6565 
6566 
6567 // - VK_AMD_shader_trinary_minmax -
6568 enum VK_AMD_shader_trinary_minmax = 1;
6569 
6570 enum VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION = 1;
6571 enum VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME = "VK_AMD_shader_trinary_minmax";
6572 
6573 
6574 // - VK_AMD_shader_explicit_vertex_parameter -
6575 enum VK_AMD_shader_explicit_vertex_parameter = 1;
6576 
6577 enum VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION = 1;
6578 enum VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME = "VK_AMD_shader_explicit_vertex_parameter";
6579 
6580 
6581 // - VK_EXT_debug_marker -
6582 enum VK_EXT_debug_marker = 1;
6583 
6584 enum VK_EXT_DEBUG_MARKER_SPEC_VERSION = 4;
6585 enum VK_EXT_DEBUG_MARKER_EXTENSION_NAME = "VK_EXT_debug_marker";
6586 
6587 struct VkDebugMarkerObjectNameInfoEXT {
6588     VkStructureType             sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT;
6589     const( void )*              pNext;
6590     VkDebugReportObjectTypeEXT  objectType;
6591     uint64_t                    object;
6592     const( char )*              pObjectName;
6593 }
6594 
6595 struct VkDebugMarkerObjectTagInfoEXT {
6596     VkStructureType             sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT;
6597     const( void )*              pNext;
6598     VkDebugReportObjectTypeEXT  objectType;
6599     uint64_t                    object;
6600     uint64_t                    tagName;
6601     size_t                      tagSize;
6602     const( void )*              pTag;
6603 }
6604 
6605 struct VkDebugMarkerMarkerInfoEXT {
6606     VkStructureType  sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
6607     const( void )*   pNext;
6608     const( char )*   pMarkerName;
6609     float[4]         color;
6610 }
6611 
6612 
6613 // - VK_AMD_gcn_shader -
6614 enum VK_AMD_gcn_shader = 1;
6615 
6616 enum VK_AMD_GCN_SHADER_SPEC_VERSION = 1;
6617 enum VK_AMD_GCN_SHADER_EXTENSION_NAME = "VK_AMD_gcn_shader";
6618 
6619 
6620 // - VK_NV_dedicated_allocation -
6621 enum VK_NV_dedicated_allocation = 1;
6622 
6623 enum VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION = 1;
6624 enum VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_NV_dedicated_allocation";
6625 
6626 struct VkDedicatedAllocationImageCreateInfoNV {
6627     VkStructureType  sType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV;
6628     const( void )*   pNext;
6629     VkBool32         dedicatedAllocation;
6630 }
6631 
6632 struct VkDedicatedAllocationBufferCreateInfoNV {
6633     VkStructureType  sType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV;
6634     const( void )*   pNext;
6635     VkBool32         dedicatedAllocation;
6636 }
6637 
6638 struct VkDedicatedAllocationMemoryAllocateInfoNV {
6639     VkStructureType  sType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV;
6640     const( void )*   pNext;
6641     VkImage          image;
6642     VkBuffer         buffer;
6643 }
6644 
6645 
6646 // - VK_EXT_transform_feedback -
6647 enum VK_EXT_transform_feedback = 1;
6648 
6649 enum VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1;
6650 enum VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback";
6651 
6652 alias VkPipelineRasterizationStateStreamCreateFlagsEXT = VkFlags;
6653 
6654 struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
6655     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
6656     void*            pNext;
6657     VkBool32         transformFeedback;
6658     VkBool32         geometryStreams;
6659 }
6660 
6661 struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
6662     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT;
6663     void*            pNext;
6664     uint32_t         maxTransformFeedbackStreams;
6665     uint32_t         maxTransformFeedbackBuffers;
6666     VkDeviceSize     maxTransformFeedbackBufferSize;
6667     uint32_t         maxTransformFeedbackStreamDataSize;
6668     uint32_t         maxTransformFeedbackBufferDataSize;
6669     uint32_t         maxTransformFeedbackBufferDataStride;
6670     VkBool32         transformFeedbackQueries;
6671     VkBool32         transformFeedbackStreamsLinesTriangles;
6672     VkBool32         transformFeedbackRasterizationStreamSelect;
6673     VkBool32         transformFeedbackDraw;
6674 }
6675 
6676 struct VkPipelineRasterizationStateStreamCreateInfoEXT {
6677     VkStructureType                                   sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT;
6678     const( void )*                                    pNext;
6679     VkPipelineRasterizationStateStreamCreateFlagsEXT  flags;
6680     uint32_t                                          rasterizationStream;
6681 }
6682 
6683 
6684 // - VK_NVX_image_view_handle -
6685 enum VK_NVX_image_view_handle = 1;
6686 
6687 enum VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 1;
6688 enum VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME = "VK_NVX_image_view_handle";
6689 
6690 struct VkImageViewHandleInfoNVX {
6691     VkStructureType   sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX;
6692     const( void )*    pNext;
6693     VkImageView       imageView;
6694     VkDescriptorType  descriptorType;
6695     VkSampler         sampler;
6696 }
6697 
6698 
6699 // - VK_AMD_draw_indirect_count -
6700 enum VK_AMD_draw_indirect_count = 1;
6701 
6702 enum VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1;
6703 enum VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_AMD_draw_indirect_count";
6704 
6705 
6706 // - VK_AMD_negative_viewport_height -
6707 enum VK_AMD_negative_viewport_height = 1;
6708 
6709 enum VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION = 1;
6710 enum VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME = "VK_AMD_negative_viewport_height";
6711 
6712 
6713 // - VK_AMD_gpu_shader_half_float -
6714 enum VK_AMD_gpu_shader_half_float = 1;
6715 
6716 enum VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION = 1;
6717 enum VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME = "VK_AMD_gpu_shader_half_float";
6718 
6719 
6720 // - VK_AMD_shader_ballot -
6721 enum VK_AMD_shader_ballot = 1;
6722 
6723 enum VK_AMD_SHADER_BALLOT_SPEC_VERSION = 1;
6724 enum VK_AMD_SHADER_BALLOT_EXTENSION_NAME = "VK_AMD_shader_ballot";
6725 
6726 
6727 // - VK_AMD_texture_gather_bias_lod -
6728 enum VK_AMD_texture_gather_bias_lod = 1;
6729 
6730 enum VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION = 1;
6731 enum VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME = "VK_AMD_texture_gather_bias_lod";
6732 
6733 struct VkTextureLODGatherFormatPropertiesAMD {
6734     VkStructureType  sType = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
6735     void*            pNext;
6736     VkBool32         supportsTextureGatherLODBiasAMD;
6737 }
6738 
6739 
6740 // - VK_AMD_shader_info -
6741 enum VK_AMD_shader_info = 1;
6742 
6743 enum VK_AMD_SHADER_INFO_SPEC_VERSION = 1;
6744 enum VK_AMD_SHADER_INFO_EXTENSION_NAME = "VK_AMD_shader_info";
6745 
6746 enum VkShaderInfoTypeAMD {
6747     VK_SHADER_INFO_TYPE_STATISTICS_AMD   = 0,
6748     VK_SHADER_INFO_TYPE_BINARY_AMD       = 1,
6749     VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD  = 2,
6750     VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD  = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
6751     VK_SHADER_INFO_TYPE_END_RANGE_AMD    = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,
6752     VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD   = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD - VK_SHADER_INFO_TYPE_STATISTICS_AMD + 1,
6753     VK_SHADER_INFO_TYPE_MAX_ENUM_AMD     = 0x7FFFFFFF
6754 }
6755 
6756 enum VK_SHADER_INFO_TYPE_STATISTICS_AMD  = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_STATISTICS_AMD;
6757 enum VK_SHADER_INFO_TYPE_BINARY_AMD      = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_BINARY_AMD;
6758 enum VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD;
6759 enum VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD;
6760 enum VK_SHADER_INFO_TYPE_END_RANGE_AMD   = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_END_RANGE_AMD;
6761 enum VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD  = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD;
6762 enum VK_SHADER_INFO_TYPE_MAX_ENUM_AMD    = VkShaderInfoTypeAMD.VK_SHADER_INFO_TYPE_MAX_ENUM_AMD;
6763 
6764 struct VkShaderResourceUsageAMD {
6765     uint32_t  numUsedVgprs;
6766     uint32_t  numUsedSgprs;
6767     uint32_t  ldsSizePerLocalWorkGroup;
6768     size_t    ldsUsageSizeInBytes;
6769     size_t    scratchMemUsageInBytes;
6770 }
6771 
6772 struct VkShaderStatisticsInfoAMD {
6773     VkShaderStageFlags        shaderStageMask;
6774     VkShaderResourceUsageAMD  resourceUsage;
6775     uint32_t                  numPhysicalVgprs;
6776     uint32_t                  numPhysicalSgprs;
6777     uint32_t                  numAvailableVgprs;
6778     uint32_t                  numAvailableSgprs;
6779     uint32_t[3]               computeWorkGroupSize;
6780 }
6781 
6782 
6783 // - VK_AMD_shader_image_load_store_lod -
6784 enum VK_AMD_shader_image_load_store_lod = 1;
6785 
6786 enum VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION = 1;
6787 enum VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME = "VK_AMD_shader_image_load_store_lod";
6788 
6789 
6790 // - VK_NV_corner_sampled_image -
6791 enum VK_NV_corner_sampled_image = 1;
6792 
6793 enum VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION = 2;
6794 enum VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME = "VK_NV_corner_sampled_image";
6795 
6796 struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
6797     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV;
6798     void*            pNext;
6799     VkBool32         cornerSampledImage;
6800 }
6801 
6802 
6803 // - VK_IMG_format_pvrtc -
6804 enum VK_IMG_format_pvrtc = 1;
6805 
6806 enum VK_IMG_FORMAT_PVRTC_SPEC_VERSION = 1;
6807 enum VK_IMG_FORMAT_PVRTC_EXTENSION_NAME = "VK_IMG_format_pvrtc";
6808 
6809 
6810 // - VK_NV_external_memory_capabilities -
6811 enum VK_NV_external_memory_capabilities = 1;
6812 
6813 enum VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1;
6814 enum VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_NV_external_memory_capabilities";
6815 
6816 enum VkExternalMemoryHandleTypeFlagBitsNV {
6817     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV           = 0x00000001,
6818     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV       = 0x00000002,
6819     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV            = 0x00000004,
6820     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV        = 0x00000008,
6821     VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV         = 0x7FFFFFFF
6822 }
6823 
6824 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV          = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV;
6825 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV      = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV;
6826 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV           = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV;
6827 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV       = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV;
6828 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV        = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV;
6829 alias VkExternalMemoryHandleTypeFlagsNV = VkFlags;
6830 
6831 enum VkExternalMemoryFeatureFlagBitsNV {
6832     VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV     = 0x00000001,
6833     VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV         = 0x00000002,
6834     VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV         = 0x00000004,
6835     VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV     = 0x7FFFFFFF
6836 }
6837 
6838 enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV    = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV;
6839 enum VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV        = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV;
6840 enum VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV        = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV;
6841 enum VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV    = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV;
6842 alias VkExternalMemoryFeatureFlagsNV = VkFlags;
6843 
6844 struct VkExternalImageFormatPropertiesNV {
6845     VkImageFormatProperties            imageFormatProperties;
6846     VkExternalMemoryFeatureFlagsNV     externalMemoryFeatures;
6847     VkExternalMemoryHandleTypeFlagsNV  exportFromImportedHandleTypes;
6848     VkExternalMemoryHandleTypeFlagsNV  compatibleHandleTypes;
6849 }
6850 
6851 
6852 // - VK_NV_external_memory -
6853 enum VK_NV_external_memory = 1;
6854 
6855 enum VK_NV_EXTERNAL_MEMORY_SPEC_VERSION = 1;
6856 enum VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_NV_external_memory";
6857 
6858 struct VkExternalMemoryImageCreateInfoNV {
6859     VkStructureType                    sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
6860     const( void )*                     pNext;
6861     VkExternalMemoryHandleTypeFlagsNV  handleTypes;
6862 }
6863 
6864 struct VkExportMemoryAllocateInfoNV {
6865     VkStructureType                    sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV;
6866     const( void )*                     pNext;
6867     VkExternalMemoryHandleTypeFlagsNV  handleTypes;
6868 }
6869 
6870 
6871 // - VK_EXT_validation_flags -
6872 enum VK_EXT_validation_flags = 1;
6873 
6874 enum VK_EXT_VALIDATION_FLAGS_SPEC_VERSION = 1;
6875 enum VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME = "VK_EXT_validation_flags";
6876 
6877 enum VkValidationCheckEXT {
6878     VK_VALIDATION_CHECK_ALL_EXT          = 0,
6879     VK_VALIDATION_CHECK_SHADERS_EXT      = 1,
6880     VK_VALIDATION_CHECK_BEGIN_RANGE_EXT  = VK_VALIDATION_CHECK_ALL_EXT,
6881     VK_VALIDATION_CHECK_END_RANGE_EXT    = VK_VALIDATION_CHECK_SHADERS_EXT,
6882     VK_VALIDATION_CHECK_RANGE_SIZE_EXT   = VK_VALIDATION_CHECK_SHADERS_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1,
6883     VK_VALIDATION_CHECK_MAX_ENUM_EXT     = 0x7FFFFFFF
6884 }
6885 
6886 enum VK_VALIDATION_CHECK_ALL_EXT         = VkValidationCheckEXT.VK_VALIDATION_CHECK_ALL_EXT;
6887 enum VK_VALIDATION_CHECK_SHADERS_EXT     = VkValidationCheckEXT.VK_VALIDATION_CHECK_SHADERS_EXT;
6888 enum VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VkValidationCheckEXT.VK_VALIDATION_CHECK_BEGIN_RANGE_EXT;
6889 enum VK_VALIDATION_CHECK_END_RANGE_EXT   = VkValidationCheckEXT.VK_VALIDATION_CHECK_END_RANGE_EXT;
6890 enum VK_VALIDATION_CHECK_RANGE_SIZE_EXT  = VkValidationCheckEXT.VK_VALIDATION_CHECK_RANGE_SIZE_EXT;
6891 enum VK_VALIDATION_CHECK_MAX_ENUM_EXT    = VkValidationCheckEXT.VK_VALIDATION_CHECK_MAX_ENUM_EXT;
6892 
6893 struct VkValidationFlagsEXT {
6894     VkStructureType                 sType = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT;
6895     const( void )*                  pNext;
6896     uint32_t                        disabledValidationCheckCount;
6897     const( VkValidationCheckEXT )*  pDisabledValidationChecks;
6898 }
6899 
6900 
6901 // - VK_EXT_shader_subgroup_ballot -
6902 enum VK_EXT_shader_subgroup_ballot = 1;
6903 
6904 enum VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION = 1;
6905 enum VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME = "VK_EXT_shader_subgroup_ballot";
6906 
6907 
6908 // - VK_EXT_shader_subgroup_vote -
6909 enum VK_EXT_shader_subgroup_vote = 1;
6910 
6911 enum VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION = 1;
6912 enum VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME = "VK_EXT_shader_subgroup_vote";
6913 
6914 
6915 // - VK_EXT_astc_decode_mode -
6916 enum VK_EXT_astc_decode_mode = 1;
6917 
6918 enum VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION = 1;
6919 enum VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME = "VK_EXT_astc_decode_mode";
6920 
6921 struct VkImageViewASTCDecodeModeEXT {
6922     VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT;
6923     const( void )*   pNext;
6924     VkFormat         decodeMode;
6925 }
6926 
6927 struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
6928     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT;
6929     void*            pNext;
6930     VkBool32         decodeModeSharedExponent;
6931 }
6932 
6933 
6934 // - VK_EXT_conditional_rendering -
6935 enum VK_EXT_conditional_rendering = 1;
6936 
6937 enum VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION = 1;
6938 enum VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME = "VK_EXT_conditional_rendering";
6939 
6940 enum VkConditionalRenderingFlagBitsEXT {
6941     VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT            = 0x00000001,
6942     VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT      = 0x7FFFFFFF
6943 }
6944 
6945 enum VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT           = VkConditionalRenderingFlagBitsEXT.VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT;
6946 enum VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT     = VkConditionalRenderingFlagBitsEXT.VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT;
6947 alias VkConditionalRenderingFlagsEXT = VkFlags;
6948 
6949 struct VkConditionalRenderingBeginInfoEXT {
6950     VkStructureType                 sType = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT;
6951     const( void )*                  pNext;
6952     VkBuffer                        buffer;
6953     VkDeviceSize                    offset;
6954     VkConditionalRenderingFlagsEXT  flags;
6955 }
6956 
6957 struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
6958     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
6959     void*            pNext;
6960     VkBool32         conditionalRendering;
6961     VkBool32         inheritedConditionalRendering;
6962 }
6963 
6964 struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
6965     VkStructureType  sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT;
6966     const( void )*   pNext;
6967     VkBool32         conditionalRenderingEnable;
6968 }
6969 
6970 
6971 // - VK_NVX_device_generated_commands -
6972 enum VK_NVX_device_generated_commands = 1;
6973 
6974 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkObjectTableNVX} );
6975 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkIndirectCommandsLayoutNVX} );
6976 
6977 enum VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION = 3;
6978 enum VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME = "VK_NVX_device_generated_commands";
6979 
6980 enum VkIndirectCommandsTokenTypeNVX {
6981     VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX         = 0,
6982     VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX   = 1,
6983     VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX     = 2,
6984     VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX    = 3,
6985     VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX    = 4,
6986     VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX     = 5,
6987     VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX             = 6,
6988     VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX         = 7,
6989     VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX      = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,
6990     VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX        = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX,
6991     VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX       = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX + 1,
6992     VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX         = 0x7FFFFFFF
6993 }
6994 
6995 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX        = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX;
6996 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX  = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX;
6997 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX    = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX;
6998 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX   = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX;
6999 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX   = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX;
7000 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX    = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX;
7001 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX            = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX;
7002 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX        = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX;
7003 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX     = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX;
7004 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX       = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX;
7005 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX      = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX;
7006 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX        = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX;
7007 
7008 enum VkObjectEntryTypeNVX {
7009     VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX      = 0,
7010     VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX            = 1,
7011     VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX        = 2,
7012     VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX       = 3,
7013     VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX       = 4,
7014     VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX         = VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,
7015     VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX           = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX,
7016     VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX          = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX + 1,
7017     VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX            = 0x7FFFFFFF
7018 }
7019 
7020 enum VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX     = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX;
7021 enum VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX           = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX;
7022 enum VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX       = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX;
7023 enum VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX      = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX;
7024 enum VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX      = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX;
7025 enum VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX        = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX;
7026 enum VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX          = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX;
7027 enum VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX         = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX;
7028 enum VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX           = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX;
7029 
7030 enum VkIndirectCommandsLayoutUsageFlagBitsNVX {
7031     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX        = 0x00000001,
7032     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX           = 0x00000002,
7033     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX           = 0x00000004,
7034     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX          = 0x00000008,
7035     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX             = 0x7FFFFFFF
7036 }
7037 
7038 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX       = VkIndirectCommandsLayoutUsageFlagBitsNVX.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX;
7039 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX          = VkIndirectCommandsLayoutUsageFlagBitsNVX.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX;
7040 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX          = VkIndirectCommandsLayoutUsageFlagBitsNVX.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX;
7041 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX         = VkIndirectCommandsLayoutUsageFlagBitsNVX.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX;
7042 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX            = VkIndirectCommandsLayoutUsageFlagBitsNVX.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX;
7043 alias VkIndirectCommandsLayoutUsageFlagsNVX = VkFlags;
7044 
7045 enum VkObjectEntryUsageFlagBitsNVX {
7046     VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX       = 0x00000001,
7047     VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX        = 0x00000002,
7048     VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
7049 }
7050 
7051 enum VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX      = VkObjectEntryUsageFlagBitsNVX.VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX;
7052 enum VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX       = VkObjectEntryUsageFlagBitsNVX.VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX;
7053 enum VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = VkObjectEntryUsageFlagBitsNVX.VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX;
7054 alias VkObjectEntryUsageFlagsNVX = VkFlags;
7055 
7056 struct VkDeviceGeneratedCommandsFeaturesNVX {
7057     VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX;
7058     const( void )*   pNext;
7059     VkBool32         computeBindingPointSupport;
7060 }
7061 
7062 struct VkDeviceGeneratedCommandsLimitsNVX {
7063     VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX;
7064     const( void )*   pNext;
7065     uint32_t         maxIndirectCommandsLayoutTokenCount;
7066     uint32_t         maxObjectEntryCounts;
7067     uint32_t         minSequenceCountBufferOffsetAlignment;
7068     uint32_t         minSequenceIndexBufferOffsetAlignment;
7069     uint32_t         minCommandsTokenBufferOffsetAlignment;
7070 }
7071 
7072 struct VkIndirectCommandsTokenNVX {
7073     VkIndirectCommandsTokenTypeNVX  tokenType;
7074     VkBuffer                        buffer;
7075     VkDeviceSize                    offset;
7076 }
7077 
7078 struct VkIndirectCommandsLayoutTokenNVX {
7079     VkIndirectCommandsTokenTypeNVX  tokenType;
7080     uint32_t                        bindingUnit;
7081     uint32_t                        dynamicCount;
7082     uint32_t                        divisor;
7083 }
7084 
7085 struct VkIndirectCommandsLayoutCreateInfoNVX {
7086     VkStructureType                             sType = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX;
7087     const( void )*                              pNext;
7088     VkPipelineBindPoint                         pipelineBindPoint;
7089     VkIndirectCommandsLayoutUsageFlagsNVX       flags;
7090     uint32_t                                    tokenCount;
7091     const( VkIndirectCommandsLayoutTokenNVX )*  pTokens;
7092 }
7093 
7094 struct VkCmdProcessCommandsInfoNVX {
7095     VkStructureType                       sType = VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX;
7096     const( void )*                        pNext;
7097     VkObjectTableNVX                      objectTable;
7098     VkIndirectCommandsLayoutNVX           indirectCommandsLayout;
7099     uint32_t                              indirectCommandsTokenCount;
7100     const( VkIndirectCommandsTokenNVX )*  pIndirectCommandsTokens;
7101     uint32_t                              maxSequencesCount;
7102     VkCommandBuffer                       targetCommandBuffer;
7103     VkBuffer                              sequencesCountBuffer;
7104     VkDeviceSize                          sequencesCountOffset;
7105     VkBuffer                              sequencesIndexBuffer;
7106     VkDeviceSize                          sequencesIndexOffset;
7107 }
7108 
7109 struct VkCmdReserveSpaceForCommandsInfoNVX {
7110     VkStructureType              sType = VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX;
7111     const( void )*               pNext;
7112     VkObjectTableNVX             objectTable;
7113     VkIndirectCommandsLayoutNVX  indirectCommandsLayout;
7114     uint32_t                     maxSequencesCount;
7115 }
7116 
7117 struct VkObjectTableCreateInfoNVX {
7118     VkStructureType                       sType = VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX;
7119     const( void )*                        pNext;
7120     uint32_t                              objectCount;
7121     const( VkObjectEntryTypeNVX )*        pObjectEntryTypes;
7122     const( uint32_t )*                    pObjectEntryCounts;
7123     const( VkObjectEntryUsageFlagsNVX )*  pObjectEntryUsageFlags;
7124     uint32_t                              maxUniformBuffersPerDescriptor;
7125     uint32_t                              maxStorageBuffersPerDescriptor;
7126     uint32_t                              maxStorageImagesPerDescriptor;
7127     uint32_t                              maxSampledImagesPerDescriptor;
7128     uint32_t                              maxPipelineLayouts;
7129 }
7130 
7131 struct VkObjectTableEntryNVX {
7132     VkObjectEntryTypeNVX        type;
7133     VkObjectEntryUsageFlagsNVX  flags;
7134 }
7135 
7136 struct VkObjectTablePipelineEntryNVX {
7137     VkObjectEntryTypeNVX        type;
7138     VkObjectEntryUsageFlagsNVX  flags;
7139     VkPipeline                  pipeline;
7140 }
7141 
7142 struct VkObjectTableDescriptorSetEntryNVX {
7143     VkObjectEntryTypeNVX        type;
7144     VkObjectEntryUsageFlagsNVX  flags;
7145     VkPipelineLayout            pipelineLayout;
7146     VkDescriptorSet             descriptorSet;
7147 }
7148 
7149 struct VkObjectTableVertexBufferEntryNVX {
7150     VkObjectEntryTypeNVX        type;
7151     VkObjectEntryUsageFlagsNVX  flags;
7152     VkBuffer                    buffer;
7153 }
7154 
7155 struct VkObjectTableIndexBufferEntryNVX {
7156     VkObjectEntryTypeNVX        type;
7157     VkObjectEntryUsageFlagsNVX  flags;
7158     VkBuffer                    buffer;
7159     VkIndexType                 indexType;
7160 }
7161 
7162 struct VkObjectTablePushConstantEntryNVX {
7163     VkObjectEntryTypeNVX        type;
7164     VkObjectEntryUsageFlagsNVX  flags;
7165     VkPipelineLayout            pipelineLayout;
7166     VkShaderStageFlags          stageFlags;
7167 }
7168 
7169 
7170 // - VK_NV_clip_space_w_scaling -
7171 enum VK_NV_clip_space_w_scaling = 1;
7172 
7173 enum VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION = 1;
7174 enum VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME = "VK_NV_clip_space_w_scaling";
7175 
7176 struct VkViewportWScalingNV {
7177     float  xcoeff;
7178     float  ycoeff;
7179 }
7180 
7181 struct VkPipelineViewportWScalingStateCreateInfoNV {
7182     VkStructureType                 sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV;
7183     const( void )*                  pNext;
7184     VkBool32                        viewportWScalingEnable;
7185     uint32_t                        viewportCount;
7186     const( VkViewportWScalingNV )*  pViewportWScalings;
7187 }
7188 
7189 
7190 // - VK_EXT_direct_mode_display -
7191 enum VK_EXT_direct_mode_display = 1;
7192 
7193 enum VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION = 1;
7194 enum VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME = "VK_EXT_direct_mode_display";
7195 
7196 
7197 // - VK_EXT_display_surface_counter -
7198 enum VK_EXT_display_surface_counter = 1;
7199 
7200 enum VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION = 1;
7201 enum VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME = "VK_EXT_display_surface_counter";
7202 
7203 enum VkSurfaceCounterFlagBitsEXT {
7204     VK_SURFACE_COUNTER_VBLANK_EXT                = 0x00000001,
7205     VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT    = 0x7FFFFFFF
7206 }
7207 
7208 enum VK_SURFACE_COUNTER_VBLANK_EXT               = VkSurfaceCounterFlagBitsEXT.VK_SURFACE_COUNTER_VBLANK_EXT;
7209 enum VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT   = VkSurfaceCounterFlagBitsEXT.VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT;
7210 alias VkSurfaceCounterFlagsEXT = VkFlags;
7211 
7212 struct VkSurfaceCapabilities2EXT {
7213     VkStructureType                sType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
7214     void*                          pNext;
7215     uint32_t                       minImageCount;
7216     uint32_t                       maxImageCount;
7217     VkExtent2D                     currentExtent;
7218     VkExtent2D                     minImageExtent;
7219     VkExtent2D                     maxImageExtent;
7220     uint32_t                       maxImageArrayLayers;
7221     VkSurfaceTransformFlagsKHR     supportedTransforms;
7222     VkSurfaceTransformFlagBitsKHR  currentTransform;
7223     VkCompositeAlphaFlagsKHR       supportedCompositeAlpha;
7224     VkImageUsageFlags              supportedUsageFlags;
7225     VkSurfaceCounterFlagsEXT       supportedSurfaceCounters;
7226 }
7227 
7228 
7229 // - VK_EXT_display_control -
7230 enum VK_EXT_display_control = 1;
7231 
7232 enum VK_EXT_DISPLAY_CONTROL_SPEC_VERSION = 1;
7233 enum VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME = "VK_EXT_display_control";
7234 
7235 enum VkDisplayPowerStateEXT {
7236     VK_DISPLAY_POWER_STATE_OFF_EXT       = 0,
7237     VK_DISPLAY_POWER_STATE_SUSPEND_EXT   = 1,
7238     VK_DISPLAY_POWER_STATE_ON_EXT        = 2,
7239     VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT,
7240     VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT,
7241     VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1,
7242     VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT  = 0x7FFFFFFF
7243 }
7244 
7245 enum VK_DISPLAY_POWER_STATE_OFF_EXT      = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_OFF_EXT;
7246 enum VK_DISPLAY_POWER_STATE_SUSPEND_EXT  = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_SUSPEND_EXT;
7247 enum VK_DISPLAY_POWER_STATE_ON_EXT       = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_ON_EXT;
7248 enum VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT;
7249 enum VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_END_RANGE_EXT;
7250 enum VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT;
7251 enum VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT;
7252 
7253 enum VkDeviceEventTypeEXT {
7254     VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT     = 0,
7255     VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT         = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
7256     VK_DEVICE_EVENT_TYPE_END_RANGE_EXT           = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
7257     VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT          = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1,
7258     VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT            = 0x7FFFFFFF
7259 }
7260 
7261 enum VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT    = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT;
7262 enum VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT        = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT;
7263 enum VK_DEVICE_EVENT_TYPE_END_RANGE_EXT          = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_END_RANGE_EXT;
7264 enum VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT         = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT;
7265 enum VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT           = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT;
7266 
7267 enum VkDisplayEventTypeEXT {
7268     VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT    = 0,
7269     VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT        = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
7270     VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT          = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
7271     VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT         = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1,
7272     VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT           = 0x7FFFFFFF
7273 }
7274 
7275 enum VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT   = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT;
7276 enum VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT       = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT;
7277 enum VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT         = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT;
7278 enum VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT        = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT;
7279 enum VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT          = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT;
7280 
7281 struct VkDisplayPowerInfoEXT {
7282     VkStructureType         sType = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT;
7283     const( void )*          pNext;
7284     VkDisplayPowerStateEXT  powerState;
7285 }
7286 
7287 struct VkDeviceEventInfoEXT {
7288     VkStructureType       sType = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT;
7289     const( void )*        pNext;
7290     VkDeviceEventTypeEXT  deviceEvent;
7291 }
7292 
7293 struct VkDisplayEventInfoEXT {
7294     VkStructureType        sType = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT;
7295     const( void )*         pNext;
7296     VkDisplayEventTypeEXT  displayEvent;
7297 }
7298 
7299 struct VkSwapchainCounterCreateInfoEXT {
7300     VkStructureType           sType = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT;
7301     const( void )*            pNext;
7302     VkSurfaceCounterFlagsEXT  surfaceCounters;
7303 }
7304 
7305 
7306 // - VK_GOOGLE_display_timing -
7307 enum VK_GOOGLE_display_timing = 1;
7308 
7309 enum VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION = 1;
7310 enum VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME = "VK_GOOGLE_display_timing";
7311 
7312 struct VkRefreshCycleDurationGOOGLE {
7313     uint64_t  refreshDuration;
7314 }
7315 
7316 struct VkPastPresentationTimingGOOGLE {
7317     uint32_t  presentID;
7318     uint64_t  desiredPresentTime;
7319     uint64_t  actualPresentTime;
7320     uint64_t  earliestPresentTime;
7321     uint64_t  presentMargin;
7322 }
7323 
7324 struct VkPresentTimeGOOGLE {
7325     uint32_t  presentID;
7326     uint64_t  desiredPresentTime;
7327 }
7328 
7329 struct VkPresentTimesInfoGOOGLE {
7330     VkStructureType                sType = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE;
7331     const( void )*                 pNext;
7332     uint32_t                       swapchainCount;
7333     const( VkPresentTimeGOOGLE )*  pTimes;
7334 }
7335 
7336 
7337 // - VK_NV_sample_mask_override_coverage -
7338 enum VK_NV_sample_mask_override_coverage = 1;
7339 
7340 enum VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION = 1;
7341 enum VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME = "VK_NV_sample_mask_override_coverage";
7342 
7343 
7344 // - VK_NV_geometry_shader_passthrough -
7345 enum VK_NV_geometry_shader_passthrough = 1;
7346 
7347 enum VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION = 1;
7348 enum VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_passthrough";
7349 
7350 
7351 // - VK_NV_viewport_array2 -
7352 enum VK_NV_viewport_array2 = 1;
7353 
7354 enum VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1;
7355 enum VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2";
7356 
7357 
7358 // - VK_NVX_multiview_per_view_attributes -
7359 enum VK_NVX_multiview_per_view_attributes = 1;
7360 
7361 enum VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION = 1;
7362 enum VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME = "VK_NVX_multiview_per_view_attributes";
7363 
7364 struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
7365     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX;
7366     void*            pNext;
7367     VkBool32         perViewPositionAllComponents;
7368 }
7369 
7370 
7371 // - VK_NV_viewport_swizzle -
7372 enum VK_NV_viewport_swizzle = 1;
7373 
7374 enum VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION = 1;
7375 enum VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME = "VK_NV_viewport_swizzle";
7376 
7377 enum VkViewportCoordinateSwizzleNV {
7378     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV         = 0,
7379     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV         = 1,
7380     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV         = 2,
7381     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV         = 3,
7382     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV         = 4,
7383     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV         = 5,
7384     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV         = 6,
7385     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV         = 7,
7386     VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV        = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
7387     VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV          = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV,
7388     VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV         = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1,
7389     VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV           = 0x7FFFFFFF
7390 }
7391 
7392 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV;
7393 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV;
7394 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV;
7395 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV;
7396 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV;
7397 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV;
7398 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV;
7399 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV;
7400 enum VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV       = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV;
7401 enum VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV         = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV;
7402 enum VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV        = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV;
7403 enum VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV          = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV;
7404 
7405 alias VkPipelineViewportSwizzleStateCreateFlagsNV = VkFlags;
7406 
7407 struct VkViewportSwizzleNV {
7408     VkViewportCoordinateSwizzleNV  x;
7409     VkViewportCoordinateSwizzleNV  y;
7410     VkViewportCoordinateSwizzleNV  z;
7411     VkViewportCoordinateSwizzleNV  w;
7412 }
7413 
7414 struct VkPipelineViewportSwizzleStateCreateInfoNV {
7415     VkStructureType                              sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV;
7416     const( void )*                               pNext;
7417     VkPipelineViewportSwizzleStateCreateFlagsNV  flags;
7418     uint32_t                                     viewportCount;
7419     const( VkViewportSwizzleNV )*                pViewportSwizzles;
7420 }
7421 
7422 
7423 // - VK_EXT_discard_rectangles -
7424 enum VK_EXT_discard_rectangles = 1;
7425 
7426 enum VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION = 1;
7427 enum VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME = "VK_EXT_discard_rectangles";
7428 
7429 enum VkDiscardRectangleModeEXT {
7430     VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT      = 0,
7431     VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT      = 1,
7432     VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT    = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
7433     VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT      = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT,
7434     VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT     = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT + 1,
7435     VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT       = 0x7FFFFFFF
7436 }
7437 
7438 enum VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT     = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT;
7439 enum VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT     = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT;
7440 enum VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT   = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT;
7441 enum VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT     = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT;
7442 enum VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT    = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT;
7443 enum VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT      = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT;
7444 
7445 alias VkPipelineDiscardRectangleStateCreateFlagsEXT = VkFlags;
7446 
7447 struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
7448     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT;
7449     void*            pNext;
7450     uint32_t         maxDiscardRectangles;
7451 }
7452 
7453 struct VkPipelineDiscardRectangleStateCreateInfoEXT {
7454     VkStructureType                                sType = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT;
7455     const( void )*                                 pNext;
7456     VkPipelineDiscardRectangleStateCreateFlagsEXT  flags;
7457     VkDiscardRectangleModeEXT                      discardRectangleMode;
7458     uint32_t                                       discardRectangleCount;
7459     const( VkRect2D )*                             pDiscardRectangles;
7460 }
7461 
7462 
7463 // - VK_EXT_conservative_rasterization -
7464 enum VK_EXT_conservative_rasterization = 1;
7465 
7466 enum VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION = 1;
7467 enum VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME = "VK_EXT_conservative_rasterization";
7468 
7469 enum VkConservativeRasterizationModeEXT {
7470     VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT              = 0,
7471     VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT          = 1,
7472     VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT         = 2,
7473     VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT           = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
7474     VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT             = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT,
7475     VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT            = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT - VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT + 1,
7476     VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT              = 0x7FFFFFFF
7477 }
7478 
7479 enum VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT             = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT;
7480 enum VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT         = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT;
7481 enum VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT        = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT;
7482 enum VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT          = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT;
7483 enum VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT            = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT;
7484 enum VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT           = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT;
7485 enum VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT             = VkConservativeRasterizationModeEXT.VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT;
7486 
7487 alias VkPipelineRasterizationConservativeStateCreateFlagsEXT = VkFlags;
7488 
7489 struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
7490     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT;
7491     void*            pNext;
7492     float            primitiveOverestimationSize;
7493     float            maxExtraPrimitiveOverestimationSize;
7494     float            extraPrimitiveOverestimationSizeGranularity;
7495     VkBool32         primitiveUnderestimation;
7496     VkBool32         conservativePointAndLineRasterization;
7497     VkBool32         degenerateTrianglesRasterized;
7498     VkBool32         degenerateLinesRasterized;
7499     VkBool32         fullyCoveredFragmentShaderInputVariable;
7500     VkBool32         conservativeRasterizationPostDepthCoverage;
7501 }
7502 
7503 struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
7504     VkStructureType                                         sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT;
7505     const( void )*                                          pNext;
7506     VkPipelineRasterizationConservativeStateCreateFlagsEXT  flags;
7507     VkConservativeRasterizationModeEXT                      conservativeRasterizationMode;
7508     float                                                   extraPrimitiveOverestimationSize;
7509 }
7510 
7511 
7512 // - VK_EXT_depth_clip_enable -
7513 enum VK_EXT_depth_clip_enable = 1;
7514 
7515 enum VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION = 1;
7516 enum VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME = "VK_EXT_depth_clip_enable";
7517 
7518 alias VkPipelineRasterizationDepthClipStateCreateFlagsEXT = VkFlags;
7519 
7520 struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
7521     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT;
7522     void*            pNext;
7523     VkBool32         depthClipEnable;
7524 }
7525 
7526 struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
7527     VkStructureType                                      sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT;
7528     const( void )*                                       pNext;
7529     VkPipelineRasterizationDepthClipStateCreateFlagsEXT  flags;
7530     VkBool32                                             depthClipEnable;
7531 }
7532 
7533 
7534 // - VK_EXT_swapchain_colorspace -
7535 enum VK_EXT_swapchain_colorspace = 1;
7536 
7537 enum VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION = 3;
7538 enum VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME = "VK_EXT_swapchain_colorspace";
7539 
7540 
7541 // - VK_EXT_hdr_metadata -
7542 enum VK_EXT_hdr_metadata = 1;
7543 
7544 enum VK_EXT_HDR_METADATA_SPEC_VERSION = 1;
7545 enum VK_EXT_HDR_METADATA_EXTENSION_NAME = "VK_EXT_hdr_metadata";
7546 
7547 struct VkXYColorEXT {
7548     float  x;
7549     float  y;
7550 }
7551 
7552 struct VkHdrMetadataEXT {
7553     VkStructureType  sType = VK_STRUCTURE_TYPE_HDR_METADATA_EXT;
7554     const( void )*   pNext;
7555     VkXYColorEXT     displayPrimaryRed;
7556     VkXYColorEXT     displayPrimaryGreen;
7557     VkXYColorEXT     displayPrimaryBlue;
7558     VkXYColorEXT     whitePoint;
7559     float            maxLuminance;
7560     float            minLuminance;
7561     float            maxContentLightLevel;
7562     float            maxFrameAverageLightLevel;
7563 }
7564 
7565 
7566 // - VK_EXT_external_memory_dma_buf -
7567 enum VK_EXT_external_memory_dma_buf = 1;
7568 
7569 enum VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION = 1;
7570 enum VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME = "VK_EXT_external_memory_dma_buf";
7571 
7572 
7573 // - VK_EXT_queue_family_foreign -
7574 enum VK_EXT_queue_family_foreign = 1;
7575 
7576 enum VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION = 1;
7577 enum VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME = "VK_EXT_queue_family_foreign";
7578 enum VK_QUEUE_FAMILY_FOREIGN_EXT = (~0U-2);
7579 
7580 
7581 // - VK_EXT_debug_utils -
7582 enum VK_EXT_debug_utils = 1;
7583 
7584 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDebugUtilsMessengerEXT} );
7585 
7586 enum VK_EXT_DEBUG_UTILS_SPEC_VERSION = 1;
7587 enum VK_EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils";
7588 
7589 alias VkDebugUtilsMessengerCallbackDataFlagsEXT = VkFlags;
7590 alias VkDebugUtilsMessengerCreateFlagsEXT = VkFlags;
7591 
7592 enum VkDebugUtilsMessageSeverityFlagBitsEXT {
7593     VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT              = 0x00000001,
7594     VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT                 = 0x00000010,
7595     VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT              = 0x00000100,
7596     VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT                = 0x00001000,
7597     VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT       = 0x7FFFFFFF
7598 }
7599 
7600 enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT             = VkDebugUtilsMessageSeverityFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT;
7601 enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT                = VkDebugUtilsMessageSeverityFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT;
7602 enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT             = VkDebugUtilsMessageSeverityFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT;
7603 enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT               = VkDebugUtilsMessageSeverityFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT;
7604 enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT      = VkDebugUtilsMessageSeverityFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT;
7605 alias VkDebugUtilsMessageSeverityFlagsEXT = VkFlags;
7606 
7607 enum VkDebugUtilsMessageTypeFlagBitsEXT {
7608     VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT          = 0x00000001,
7609     VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT       = 0x00000002,
7610     VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT      = 0x00000004,
7611     VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT   = 0x7FFFFFFF
7612 }
7613 
7614 enum VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT         = VkDebugUtilsMessageTypeFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT;
7615 enum VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT      = VkDebugUtilsMessageTypeFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT;
7616 enum VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT     = VkDebugUtilsMessageTypeFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT;
7617 enum VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT  = VkDebugUtilsMessageTypeFlagBitsEXT.VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT;
7618 alias VkDebugUtilsMessageTypeFlagsEXT = VkFlags;
7619 
7620 alias PFN_vkDebugUtilsMessengerCallbackEXT = VkBool32 function(
7621     VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
7622     VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
7623     const( VkDebugUtilsMessengerCallbackDataEXT )*   pCallbackData,
7624     void*                                            pUserData
7625 );
7626 
7627 struct VkDebugUtilsObjectNameInfoEXT {
7628     VkStructureType  sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
7629     const( void )*   pNext;
7630     VkObjectType     objectType;
7631     uint64_t         objectHandle;
7632     const( char )*   pObjectName;
7633 }
7634 
7635 struct VkDebugUtilsObjectTagInfoEXT {
7636     VkStructureType  sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT;
7637     const( void )*   pNext;
7638     VkObjectType     objectType;
7639     uint64_t         objectHandle;
7640     uint64_t         tagName;
7641     size_t           tagSize;
7642     const( void )*   pTag;
7643 }
7644 
7645 struct VkDebugUtilsLabelEXT {
7646     VkStructureType  sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
7647     const( void )*   pNext;
7648     const( char )*   pLabelName;
7649     float[4]         color;
7650 }
7651 
7652 struct VkDebugUtilsMessengerCallbackDataEXT {
7653     VkStructureType                            sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
7654     const( void )*                             pNext;
7655     VkDebugUtilsMessengerCallbackDataFlagsEXT  flags;
7656     const( char )*                             pMessageIdName;
7657     int32_t                                    messageIdNumber;
7658     const( char )*                             pMessage;
7659     uint32_t                                   queueLabelCount;
7660     const( VkDebugUtilsLabelEXT )*             pQueueLabels;
7661     uint32_t                                   cmdBufLabelCount;
7662     const( VkDebugUtilsLabelEXT )*             pCmdBufLabels;
7663     uint32_t                                   objectCount;
7664     const( VkDebugUtilsObjectNameInfoEXT )*    pObjects;
7665 }
7666 
7667 struct VkDebugUtilsMessengerCreateInfoEXT {
7668     VkStructureType                       sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
7669     const( void )*                        pNext;
7670     VkDebugUtilsMessengerCreateFlagsEXT   flags;
7671     VkDebugUtilsMessageSeverityFlagsEXT   messageSeverity;
7672     VkDebugUtilsMessageTypeFlagsEXT       messageType;
7673     PFN_vkDebugUtilsMessengerCallbackEXT  pfnUserCallback;
7674     void*                                 pUserData;
7675 }
7676 
7677 
7678 // - VK_EXT_sampler_filter_minmax -
7679 enum VK_EXT_sampler_filter_minmax = 1;
7680 
7681 enum VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION = 1;
7682 enum VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME = "VK_EXT_sampler_filter_minmax";
7683 
7684 enum VkSamplerReductionModeEXT {
7685     VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT       = 0,
7686     VK_SAMPLER_REDUCTION_MODE_MIN_EXT                    = 1,
7687     VK_SAMPLER_REDUCTION_MODE_MAX_EXT                    = 2,
7688     VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT            = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT,
7689     VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT              = VK_SAMPLER_REDUCTION_MODE_MAX_EXT,
7690     VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT             = VK_SAMPLER_REDUCTION_MODE_MAX_EXT - VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT + 1,
7691     VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT               = 0x7FFFFFFF
7692 }
7693 
7694 enum VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT      = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT;
7695 enum VK_SAMPLER_REDUCTION_MODE_MIN_EXT                   = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_MIN_EXT;
7696 enum VK_SAMPLER_REDUCTION_MODE_MAX_EXT                   = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_MAX_EXT;
7697 enum VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT           = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT;
7698 enum VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT             = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT;
7699 enum VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT            = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT;
7700 enum VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT              = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT;
7701 
7702 struct VkSamplerReductionModeCreateInfoEXT {
7703     VkStructureType            sType = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT;
7704     const( void )*             pNext;
7705     VkSamplerReductionModeEXT  reductionMode;
7706 }
7707 
7708 struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
7709     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT;
7710     void*            pNext;
7711     VkBool32         filterMinmaxSingleComponentFormats;
7712     VkBool32         filterMinmaxImageComponentMapping;
7713 }
7714 
7715 
7716 // - VK_AMD_gpu_shader_int16 -
7717 enum VK_AMD_gpu_shader_int16 = 1;
7718 
7719 enum VK_AMD_GPU_SHADER_INT16_SPEC_VERSION = 1;
7720 enum VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME = "VK_AMD_gpu_shader_int16";
7721 
7722 
7723 // - VK_AMD_mixed_attachment_samples -
7724 enum VK_AMD_mixed_attachment_samples = 1;
7725 
7726 enum VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION = 1;
7727 enum VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME = "VK_AMD_mixed_attachment_samples";
7728 
7729 
7730 // - VK_AMD_shader_fragment_mask -
7731 enum VK_AMD_shader_fragment_mask = 1;
7732 
7733 enum VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION = 1;
7734 enum VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME = "VK_AMD_shader_fragment_mask";
7735 
7736 
7737 // - VK_EXT_inline_uniform_block -
7738 enum VK_EXT_inline_uniform_block = 1;
7739 
7740 enum VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION = 1;
7741 enum VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME = "VK_EXT_inline_uniform_block";
7742 
7743 struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
7744     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT;
7745     void*            pNext;
7746     VkBool32         inlineUniformBlock;
7747     VkBool32         descriptorBindingInlineUniformBlockUpdateAfterBind;
7748 }
7749 
7750 struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
7751     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT;
7752     void*            pNext;
7753     uint32_t         maxInlineUniformBlockSize;
7754     uint32_t         maxPerStageDescriptorInlineUniformBlocks;
7755     uint32_t         maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7756     uint32_t         maxDescriptorSetInlineUniformBlocks;
7757     uint32_t         maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7758 }
7759 
7760 struct VkWriteDescriptorSetInlineUniformBlockEXT {
7761     VkStructureType  sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT;
7762     const( void )*   pNext;
7763     uint32_t         dataSize;
7764     const( void )*   pData;
7765 }
7766 
7767 struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
7768     VkStructureType  sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT;
7769     const( void )*   pNext;
7770     uint32_t         maxInlineUniformBlockBindings;
7771 }
7772 
7773 
7774 // - VK_EXT_shader_stencil_export -
7775 enum VK_EXT_shader_stencil_export = 1;
7776 
7777 enum VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION = 1;
7778 enum VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME = "VK_EXT_shader_stencil_export";
7779 
7780 
7781 // - VK_EXT_sample_locations -
7782 enum VK_EXT_sample_locations = 1;
7783 
7784 enum VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION = 1;
7785 enum VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME = "VK_EXT_sample_locations";
7786 
7787 struct VkSampleLocationEXT {
7788     float  x;
7789     float  y;
7790 }
7791 
7792 struct VkSampleLocationsInfoEXT {
7793     VkStructureType                sType = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT;
7794     const( void )*                 pNext;
7795     VkSampleCountFlagBits          sampleLocationsPerPixel;
7796     VkExtent2D                     sampleLocationGridSize;
7797     uint32_t                       sampleLocationsCount;
7798     const( VkSampleLocationEXT )*  pSampleLocations;
7799 }
7800 
7801 struct VkAttachmentSampleLocationsEXT {
7802     uint32_t                  attachmentIndex;
7803     VkSampleLocationsInfoEXT  sampleLocationsInfo;
7804 }
7805 
7806 struct VkSubpassSampleLocationsEXT {
7807     uint32_t                  subpassIndex;
7808     VkSampleLocationsInfoEXT  sampleLocationsInfo;
7809 }
7810 
7811 struct VkRenderPassSampleLocationsBeginInfoEXT {
7812     VkStructureType                           sType = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT;
7813     const( void )*                            pNext;
7814     uint32_t                                  attachmentInitialSampleLocationsCount;
7815     const( VkAttachmentSampleLocationsEXT )*  pAttachmentInitialSampleLocations;
7816     uint32_t                                  postSubpassSampleLocationsCount;
7817     const( VkSubpassSampleLocationsEXT )*     pPostSubpassSampleLocations;
7818 }
7819 
7820 struct VkPipelineSampleLocationsStateCreateInfoEXT {
7821     VkStructureType           sType = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT;
7822     const( void )*            pNext;
7823     VkBool32                  sampleLocationsEnable;
7824     VkSampleLocationsInfoEXT  sampleLocationsInfo;
7825 }
7826 
7827 struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
7828     VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT;
7829     void*               pNext;
7830     VkSampleCountFlags  sampleLocationSampleCounts;
7831     VkExtent2D          maxSampleLocationGridSize;
7832     float[2]            sampleLocationCoordinateRange;
7833     uint32_t            sampleLocationSubPixelBits;
7834     VkBool32            variableSampleLocations;
7835 }
7836 
7837 struct VkMultisamplePropertiesEXT {
7838     VkStructureType  sType = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT;
7839     void*            pNext;
7840     VkExtent2D       maxSampleLocationGridSize;
7841 }
7842 
7843 
7844 // - VK_EXT_blend_operation_advanced -
7845 enum VK_EXT_blend_operation_advanced = 1;
7846 
7847 enum VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION = 2;
7848 enum VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME = "VK_EXT_blend_operation_advanced";
7849 
7850 enum VkBlendOverlapEXT {
7851     VK_BLEND_OVERLAP_UNCORRELATED_EXT    = 0,
7852     VK_BLEND_OVERLAP_DISJOINT_EXT        = 1,
7853     VK_BLEND_OVERLAP_CONJOINT_EXT        = 2,
7854     VK_BLEND_OVERLAP_BEGIN_RANGE_EXT     = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
7855     VK_BLEND_OVERLAP_END_RANGE_EXT       = VK_BLEND_OVERLAP_CONJOINT_EXT,
7856     VK_BLEND_OVERLAP_RANGE_SIZE_EXT      = VK_BLEND_OVERLAP_CONJOINT_EXT - VK_BLEND_OVERLAP_UNCORRELATED_EXT + 1,
7857     VK_BLEND_OVERLAP_MAX_ENUM_EXT        = 0x7FFFFFFF
7858 }
7859 
7860 enum VK_BLEND_OVERLAP_UNCORRELATED_EXT   = VkBlendOverlapEXT.VK_BLEND_OVERLAP_UNCORRELATED_EXT;
7861 enum VK_BLEND_OVERLAP_DISJOINT_EXT       = VkBlendOverlapEXT.VK_BLEND_OVERLAP_DISJOINT_EXT;
7862 enum VK_BLEND_OVERLAP_CONJOINT_EXT       = VkBlendOverlapEXT.VK_BLEND_OVERLAP_CONJOINT_EXT;
7863 enum VK_BLEND_OVERLAP_BEGIN_RANGE_EXT    = VkBlendOverlapEXT.VK_BLEND_OVERLAP_BEGIN_RANGE_EXT;
7864 enum VK_BLEND_OVERLAP_END_RANGE_EXT      = VkBlendOverlapEXT.VK_BLEND_OVERLAP_END_RANGE_EXT;
7865 enum VK_BLEND_OVERLAP_RANGE_SIZE_EXT     = VkBlendOverlapEXT.VK_BLEND_OVERLAP_RANGE_SIZE_EXT;
7866 enum VK_BLEND_OVERLAP_MAX_ENUM_EXT       = VkBlendOverlapEXT.VK_BLEND_OVERLAP_MAX_ENUM_EXT;
7867 
7868 struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
7869     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT;
7870     void*            pNext;
7871     VkBool32         advancedBlendCoherentOperations;
7872 }
7873 
7874 struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
7875     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT;
7876     void*            pNext;
7877     uint32_t         advancedBlendMaxColorAttachments;
7878     VkBool32         advancedBlendIndependentBlend;
7879     VkBool32         advancedBlendNonPremultipliedSrcColor;
7880     VkBool32         advancedBlendNonPremultipliedDstColor;
7881     VkBool32         advancedBlendCorrelatedOverlap;
7882     VkBool32         advancedBlendAllOperations;
7883 }
7884 
7885 struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
7886     VkStructureType    sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT;
7887     const( void )*     pNext;
7888     VkBool32           srcPremultiplied;
7889     VkBool32           dstPremultiplied;
7890     VkBlendOverlapEXT  blendOverlap;
7891 }
7892 
7893 
7894 // - VK_NV_fragment_coverage_to_color -
7895 enum VK_NV_fragment_coverage_to_color = 1;
7896 
7897 enum VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION = 1;
7898 enum VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME = "VK_NV_fragment_coverage_to_color";
7899 
7900 alias VkPipelineCoverageToColorStateCreateFlagsNV = VkFlags;
7901 
7902 struct VkPipelineCoverageToColorStateCreateInfoNV {
7903     VkStructureType                              sType = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV;
7904     const( void )*                               pNext;
7905     VkPipelineCoverageToColorStateCreateFlagsNV  flags;
7906     VkBool32                                     coverageToColorEnable;
7907     uint32_t                                     coverageToColorLocation;
7908 }
7909 
7910 
7911 // - VK_NV_framebuffer_mixed_samples -
7912 enum VK_NV_framebuffer_mixed_samples = 1;
7913 
7914 enum VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION = 1;
7915 enum VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME = "VK_NV_framebuffer_mixed_samples";
7916 
7917 enum VkCoverageModulationModeNV {
7918     VK_COVERAGE_MODULATION_MODE_NONE_NV          = 0,
7919     VK_COVERAGE_MODULATION_MODE_RGB_NV           = 1,
7920     VK_COVERAGE_MODULATION_MODE_ALPHA_NV         = 2,
7921     VK_COVERAGE_MODULATION_MODE_RGBA_NV          = 3,
7922     VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV   = VK_COVERAGE_MODULATION_MODE_NONE_NV,
7923     VK_COVERAGE_MODULATION_MODE_END_RANGE_NV     = VK_COVERAGE_MODULATION_MODE_RGBA_NV,
7924     VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV    = VK_COVERAGE_MODULATION_MODE_RGBA_NV - VK_COVERAGE_MODULATION_MODE_NONE_NV + 1,
7925     VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV      = 0x7FFFFFFF
7926 }
7927 
7928 enum VK_COVERAGE_MODULATION_MODE_NONE_NV         = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_NONE_NV;
7929 enum VK_COVERAGE_MODULATION_MODE_RGB_NV          = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_RGB_NV;
7930 enum VK_COVERAGE_MODULATION_MODE_ALPHA_NV        = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_ALPHA_NV;
7931 enum VK_COVERAGE_MODULATION_MODE_RGBA_NV         = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_RGBA_NV;
7932 enum VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV  = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV;
7933 enum VK_COVERAGE_MODULATION_MODE_END_RANGE_NV    = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_END_RANGE_NV;
7934 enum VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV   = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV;
7935 enum VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV     = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV;
7936 
7937 alias VkPipelineCoverageModulationStateCreateFlagsNV = VkFlags;
7938 
7939 struct VkPipelineCoverageModulationStateCreateInfoNV {
7940     VkStructureType                                 sType = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV;
7941     const( void )*                                  pNext;
7942     VkPipelineCoverageModulationStateCreateFlagsNV  flags;
7943     VkCoverageModulationModeNV                      coverageModulationMode;
7944     VkBool32                                        coverageModulationTableEnable;
7945     uint32_t                                        coverageModulationTableCount;
7946     const( float )*                                 pCoverageModulationTable;
7947 }
7948 
7949 
7950 // - VK_NV_fill_rectangle -
7951 enum VK_NV_fill_rectangle = 1;
7952 
7953 enum VK_NV_FILL_RECTANGLE_SPEC_VERSION = 1;
7954 enum VK_NV_FILL_RECTANGLE_EXTENSION_NAME = "VK_NV_fill_rectangle";
7955 
7956 
7957 // - VK_EXT_post_depth_coverage -
7958 enum VK_EXT_post_depth_coverage = 1;
7959 
7960 enum VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION = 1;
7961 enum VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage";
7962 
7963 
7964 // - VK_EXT_image_drm_format_modifier -
7965 enum VK_EXT_image_drm_format_modifier = 1;
7966 
7967 enum VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1;
7968 enum VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier";
7969 
7970 struct VkDrmFormatModifierPropertiesEXT {
7971     uint64_t              drmFormatModifier;
7972     uint32_t              drmFormatModifierPlaneCount;
7973     VkFormatFeatureFlags  drmFormatModifierTilingFeatures;
7974 }
7975 
7976 struct VkDrmFormatModifierPropertiesListEXT {
7977     VkStructureType                    sType = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT;
7978     void*                              pNext;
7979     uint32_t                           drmFormatModifierCount;
7980     VkDrmFormatModifierPropertiesEXT*  pDrmFormatModifierProperties;
7981 }
7982 
7983 struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
7984     VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT;
7985     const( void )*      pNext;
7986     uint64_t            drmFormatModifier;
7987     VkSharingMode       sharingMode;
7988     uint32_t            queueFamilyIndexCount;
7989     const( uint32_t )*  pQueueFamilyIndices;
7990 }
7991 
7992 struct VkImageDrmFormatModifierListCreateInfoEXT {
7993     VkStructureType     sType = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT;
7994     const( void )*      pNext;
7995     uint32_t            drmFormatModifierCount;
7996     const( uint64_t )*  pDrmFormatModifiers;
7997 }
7998 
7999 struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
8000     VkStructureType                sType = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT;
8001     const( void )*                 pNext;
8002     uint64_t                       drmFormatModifier;
8003     uint32_t                       drmFormatModifierPlaneCount;
8004     const( VkSubresourceLayout )*  pPlaneLayouts;
8005 }
8006 
8007 struct VkImageDrmFormatModifierPropertiesEXT {
8008     VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT;
8009     void*            pNext;
8010     uint64_t         drmFormatModifier;
8011 }
8012 
8013 
8014 // - VK_EXT_validation_cache -
8015 enum VK_EXT_validation_cache = 1;
8016 
8017 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkValidationCacheEXT} );
8018 
8019 enum VK_EXT_VALIDATION_CACHE_SPEC_VERSION = 1;
8020 enum VK_EXT_VALIDATION_CACHE_EXTENSION_NAME = "VK_EXT_validation_cache";
8021 
8022 enum VkValidationCacheHeaderVersionEXT {
8023     VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT           = 1,
8024     VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT   = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
8025     VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT     = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
8026     VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT    = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT - VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT + 1,
8027     VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT      = 0x7FFFFFFF
8028 }
8029 
8030 enum VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT          = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT;
8031 enum VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT  = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT;
8032 enum VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT    = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT;
8033 enum VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT   = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT;
8034 enum VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT     = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT;
8035 
8036 alias VkValidationCacheCreateFlagsEXT = VkFlags;
8037 
8038 struct VkValidationCacheCreateInfoEXT {
8039     VkStructureType                  sType = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT;
8040     const( void )*                   pNext;
8041     VkValidationCacheCreateFlagsEXT  flags;
8042     size_t                           initialDataSize;
8043     const( void )*                   pInitialData;
8044 }
8045 
8046 struct VkShaderModuleValidationCacheCreateInfoEXT {
8047     VkStructureType       sType = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT;
8048     const( void )*        pNext;
8049     VkValidationCacheEXT  validationCache;
8050 }
8051 
8052 
8053 // - VK_EXT_descriptor_indexing -
8054 enum VK_EXT_descriptor_indexing = 1;
8055 
8056 enum VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION = 2;
8057 enum VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME = "VK_EXT_descriptor_indexing";
8058 
8059 enum VkDescriptorBindingFlagBitsEXT {
8060     VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT              = 0x00000001,
8061     VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT    = 0x00000002,
8062     VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT                = 0x00000004,
8063     VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT      = 0x00000008,
8064     VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM_EXT                 = 0x7FFFFFFF
8065 }
8066 
8067 enum VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT             = VkDescriptorBindingFlagBitsEXT.VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT;
8068 enum VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT   = VkDescriptorBindingFlagBitsEXT.VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT;
8069 enum VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT               = VkDescriptorBindingFlagBitsEXT.VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT;
8070 enum VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT     = VkDescriptorBindingFlagBitsEXT.VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT;
8071 enum VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM_EXT                = VkDescriptorBindingFlagBitsEXT.VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM_EXT;
8072 alias VkDescriptorBindingFlagsEXT = VkFlags;
8073 
8074 struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
8075     VkStructureType                        sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT;
8076     const( void )*                         pNext;
8077     uint32_t                               bindingCount;
8078     const( VkDescriptorBindingFlagsEXT )*  pBindingFlags;
8079 }
8080 
8081 struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
8082     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT;
8083     void*            pNext;
8084     VkBool32         shaderInputAttachmentArrayDynamicIndexing;
8085     VkBool32         shaderUniformTexelBufferArrayDynamicIndexing;
8086     VkBool32         shaderStorageTexelBufferArrayDynamicIndexing;
8087     VkBool32         shaderUniformBufferArrayNonUniformIndexing;
8088     VkBool32         shaderSampledImageArrayNonUniformIndexing;
8089     VkBool32         shaderStorageBufferArrayNonUniformIndexing;
8090     VkBool32         shaderStorageImageArrayNonUniformIndexing;
8091     VkBool32         shaderInputAttachmentArrayNonUniformIndexing;
8092     VkBool32         shaderUniformTexelBufferArrayNonUniformIndexing;
8093     VkBool32         shaderStorageTexelBufferArrayNonUniformIndexing;
8094     VkBool32         descriptorBindingUniformBufferUpdateAfterBind;
8095     VkBool32         descriptorBindingSampledImageUpdateAfterBind;
8096     VkBool32         descriptorBindingStorageImageUpdateAfterBind;
8097     VkBool32         descriptorBindingStorageBufferUpdateAfterBind;
8098     VkBool32         descriptorBindingUniformTexelBufferUpdateAfterBind;
8099     VkBool32         descriptorBindingStorageTexelBufferUpdateAfterBind;
8100     VkBool32         descriptorBindingUpdateUnusedWhilePending;
8101     VkBool32         descriptorBindingPartiallyBound;
8102     VkBool32         descriptorBindingVariableDescriptorCount;
8103     VkBool32         runtimeDescriptorArray;
8104 }
8105 
8106 struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
8107     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT;
8108     void*            pNext;
8109     uint32_t         maxUpdateAfterBindDescriptorsInAllPools;
8110     VkBool32         shaderUniformBufferArrayNonUniformIndexingNative;
8111     VkBool32         shaderSampledImageArrayNonUniformIndexingNative;
8112     VkBool32         shaderStorageBufferArrayNonUniformIndexingNative;
8113     VkBool32         shaderStorageImageArrayNonUniformIndexingNative;
8114     VkBool32         shaderInputAttachmentArrayNonUniformIndexingNative;
8115     VkBool32         robustBufferAccessUpdateAfterBind;
8116     VkBool32         quadDivergentImplicitLod;
8117     uint32_t         maxPerStageDescriptorUpdateAfterBindSamplers;
8118     uint32_t         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
8119     uint32_t         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
8120     uint32_t         maxPerStageDescriptorUpdateAfterBindSampledImages;
8121     uint32_t         maxPerStageDescriptorUpdateAfterBindStorageImages;
8122     uint32_t         maxPerStageDescriptorUpdateAfterBindInputAttachments;
8123     uint32_t         maxPerStageUpdateAfterBindResources;
8124     uint32_t         maxDescriptorSetUpdateAfterBindSamplers;
8125     uint32_t         maxDescriptorSetUpdateAfterBindUniformBuffers;
8126     uint32_t         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
8127     uint32_t         maxDescriptorSetUpdateAfterBindStorageBuffers;
8128     uint32_t         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
8129     uint32_t         maxDescriptorSetUpdateAfterBindSampledImages;
8130     uint32_t         maxDescriptorSetUpdateAfterBindStorageImages;
8131     uint32_t         maxDescriptorSetUpdateAfterBindInputAttachments;
8132 }
8133 
8134 struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
8135     VkStructureType     sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT;
8136     const( void )*      pNext;
8137     uint32_t            descriptorSetCount;
8138     const( uint32_t )*  pDescriptorCounts;
8139 }
8140 
8141 struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
8142     VkStructureType  sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT;
8143     void*            pNext;
8144     uint32_t         maxVariableDescriptorCount;
8145 }
8146 
8147 
8148 // - VK_EXT_shader_viewport_index_layer -
8149 enum VK_EXT_shader_viewport_index_layer = 1;
8150 
8151 enum VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION = 1;
8152 enum VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME = "VK_EXT_shader_viewport_index_layer";
8153 
8154 
8155 // - VK_NV_shading_rate_image -
8156 enum VK_NV_shading_rate_image = 1;
8157 
8158 enum VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION = 3;
8159 enum VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME = "VK_NV_shading_rate_image";
8160 
8161 enum VkShadingRatePaletteEntryNV {
8162     VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV                      = 0,
8163     VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV            = 1,
8164     VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV             = 2,
8165     VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV             = 3,
8166     VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV             = 4,
8167     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV              = 5,
8168     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV         = 6,
8169     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV         = 7,
8170     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV         = 8,
8171     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV         = 9,
8172     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV         = 10,
8173     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV         = 11,
8174     VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV                         = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
8175     VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV                           = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV,
8176     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,
8177     VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV                            = 0x7FFFFFFF
8178 }
8179 
8180 enum VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV                     = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV;
8181 enum VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV           = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV;
8182 enum VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV            = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV;
8183 enum VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV            = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV;
8184 enum VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV            = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV;
8185 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV             = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV;
8186 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV;
8187 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV;
8188 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV;
8189 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV;
8190 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV;
8191 enum VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV;
8192 enum VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV                        = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV;
8193 enum VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV                          = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV;
8194 enum VK_SHADING_RATE_PALETTE_ENTRY_RANGE_SIZE_NV                         = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_RANGE_SIZE_NV;
8195 enum VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV                           = VkShadingRatePaletteEntryNV.VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV;
8196 
8197 enum VkCoarseSampleOrderTypeNV {
8198     VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV       = 0,
8199     VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV        = 1,
8200     VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV   = 2,
8201     VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV  = 3,
8202     VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV   = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
8203     VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV     = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV,
8204     VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV    = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV - VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV + 1,
8205     VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV      = 0x7FFFFFFF
8206 }
8207 
8208 enum VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV      = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV;
8209 enum VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV       = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV;
8210 enum VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV  = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV;
8211 enum VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV;
8212 enum VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV  = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV;
8213 enum VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV    = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV;
8214 enum VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV   = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV;
8215 enum VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV     = VkCoarseSampleOrderTypeNV.VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV;
8216 
8217 struct VkShadingRatePaletteNV {
8218     uint32_t                               shadingRatePaletteEntryCount;
8219     const( VkShadingRatePaletteEntryNV )*  pShadingRatePaletteEntries;
8220 }
8221 
8222 struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
8223     VkStructureType                   sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV;
8224     const( void )*                    pNext;
8225     VkBool32                          shadingRateImageEnable;
8226     uint32_t                          viewportCount;
8227     const( VkShadingRatePaletteNV )*  pShadingRatePalettes;
8228 }
8229 
8230 struct VkPhysicalDeviceShadingRateImageFeaturesNV {
8231     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV;
8232     void*            pNext;
8233     VkBool32         shadingRateImage;
8234     VkBool32         shadingRateCoarseSampleOrder;
8235 }
8236 
8237 struct VkPhysicalDeviceShadingRateImagePropertiesNV {
8238     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV;
8239     void*            pNext;
8240     VkExtent2D       shadingRateTexelSize;
8241     uint32_t         shadingRatePaletteSize;
8242     uint32_t         shadingRateMaxCoarseSamples;
8243 }
8244 
8245 struct VkCoarseSampleLocationNV {
8246     uint32_t  pixelX;
8247     uint32_t  pixelY;
8248     uint32_t  sample;
8249 }
8250 
8251 struct VkCoarseSampleOrderCustomNV {
8252     VkShadingRatePaletteEntryNV         shadingRate;
8253     uint32_t                            sampleCount;
8254     uint32_t                            sampleLocationCount;
8255     const( VkCoarseSampleLocationNV )*  pSampleLocations;
8256 }
8257 
8258 struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
8259     VkStructureType                        sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV;
8260     const( void )*                         pNext;
8261     VkCoarseSampleOrderTypeNV              sampleOrderType;
8262     uint32_t                               customSampleOrderCount;
8263     const( VkCoarseSampleOrderCustomNV )*  pCustomSampleOrders;
8264 }
8265 
8266 
8267 // - VK_NV_ray_tracing -
8268 enum VK_NV_ray_tracing = 1;
8269 
8270 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkAccelerationStructureNV} );
8271 
8272 enum VK_NV_RAY_TRACING_SPEC_VERSION = 3;
8273 enum VK_NV_RAY_TRACING_EXTENSION_NAME = "VK_NV_ray_tracing";
8274 enum VK_SHADER_UNUSED_NV = (~0U);
8275 
8276 enum VkRayTracingShaderGroupTypeNV {
8277     VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV                  = 0,
8278     VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV      = 1,
8279     VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV     = 2,
8280     VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_NV              = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV,
8281     VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_NV                = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV,
8282     VK_RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_NV               = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV - VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV + 1,
8283     VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_NV                 = 0x7FFFFFFF
8284 }
8285 
8286 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV                 = VkRayTracingShaderGroupTypeNV.VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV;
8287 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV     = VkRayTracingShaderGroupTypeNV.VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV;
8288 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV    = VkRayTracingShaderGroupTypeNV.VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV;
8289 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_NV             = VkRayTracingShaderGroupTypeNV.VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_NV;
8290 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_NV               = VkRayTracingShaderGroupTypeNV.VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_NV;
8291 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_NV              = VkRayTracingShaderGroupTypeNV.VK_RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_NV;
8292 enum VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_NV                = VkRayTracingShaderGroupTypeNV.VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_NV;
8293 
8294 enum VkGeometryTypeNV {
8295     VK_GEOMETRY_TYPE_TRIANGLES_NV        = 0,
8296     VK_GEOMETRY_TYPE_AABBS_NV            = 1,
8297     VK_GEOMETRY_TYPE_BEGIN_RANGE_NV      = VK_GEOMETRY_TYPE_TRIANGLES_NV,
8298     VK_GEOMETRY_TYPE_END_RANGE_NV        = VK_GEOMETRY_TYPE_AABBS_NV,
8299     VK_GEOMETRY_TYPE_RANGE_SIZE_NV       = VK_GEOMETRY_TYPE_AABBS_NV - VK_GEOMETRY_TYPE_TRIANGLES_NV + 1,
8300     VK_GEOMETRY_TYPE_MAX_ENUM_NV         = 0x7FFFFFFF
8301 }
8302 
8303 enum VK_GEOMETRY_TYPE_TRIANGLES_NV       = VkGeometryTypeNV.VK_GEOMETRY_TYPE_TRIANGLES_NV;
8304 enum VK_GEOMETRY_TYPE_AABBS_NV           = VkGeometryTypeNV.VK_GEOMETRY_TYPE_AABBS_NV;
8305 enum VK_GEOMETRY_TYPE_BEGIN_RANGE_NV     = VkGeometryTypeNV.VK_GEOMETRY_TYPE_BEGIN_RANGE_NV;
8306 enum VK_GEOMETRY_TYPE_END_RANGE_NV       = VkGeometryTypeNV.VK_GEOMETRY_TYPE_END_RANGE_NV;
8307 enum VK_GEOMETRY_TYPE_RANGE_SIZE_NV      = VkGeometryTypeNV.VK_GEOMETRY_TYPE_RANGE_SIZE_NV;
8308 enum VK_GEOMETRY_TYPE_MAX_ENUM_NV        = VkGeometryTypeNV.VK_GEOMETRY_TYPE_MAX_ENUM_NV;
8309 
8310 enum VkAccelerationStructureTypeNV {
8311     VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV          = 0,
8312     VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV       = 1,
8313     VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_NV        = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV,
8314     VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_NV          = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV,
8315     VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_NV         = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV - VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV + 1,
8316     VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV           = 0x7FFFFFFF
8317 }
8318 
8319 enum VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV         = VkAccelerationStructureTypeNV.VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV;
8320 enum VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV      = VkAccelerationStructureTypeNV.VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV;
8321 enum VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_NV       = VkAccelerationStructureTypeNV.VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_NV;
8322 enum VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_NV         = VkAccelerationStructureTypeNV.VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_NV;
8323 enum VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_NV        = VkAccelerationStructureTypeNV.VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_NV;
8324 enum VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV          = VkAccelerationStructureTypeNV.VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV;
8325 
8326 enum VkCopyAccelerationStructureModeNV {
8327     VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV         = 0,
8328     VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV       = 1,
8329     VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_NV   = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV,
8330     VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_NV     = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV,
8331     VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_NV    = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV - VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV + 1,
8332     VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_NV      = 0x7FFFFFFF
8333 }
8334 
8335 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV        = VkCopyAccelerationStructureModeNV.VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV;
8336 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV      = VkCopyAccelerationStructureModeNV.VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV;
8337 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_NV  = VkCopyAccelerationStructureModeNV.VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_NV;
8338 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_NV    = VkCopyAccelerationStructureModeNV.VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_NV;
8339 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_NV   = VkCopyAccelerationStructureModeNV.VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_NV;
8340 enum VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_NV     = VkCopyAccelerationStructureModeNV.VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_NV;
8341 
8342 enum VkAccelerationStructureMemoryRequirementsTypeNV {
8343     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV                 = 0,
8344     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV          = 1,
8345     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV         = 2,
8346     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV            = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
8347     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV              = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV,
8348     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,
8349     VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV               = 0x7FFFFFFF
8350 }
8351 
8352 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV                = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV;
8353 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV         = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV;
8354 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV        = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV;
8355 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV           = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV;
8356 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV             = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV;
8357 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_RANGE_SIZE_NV            = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_RANGE_SIZE_NV;
8358 enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV              = VkAccelerationStructureMemoryRequirementsTypeNV.VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV;
8359 
8360 enum VkGeometryFlagBitsNV {
8361     VK_GEOMETRY_OPAQUE_BIT_NV                            = 0x00000001,
8362     VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV   = 0x00000002,
8363     VK_GEOMETRY_FLAG_BITS_MAX_ENUM_NV                    = 0x7FFFFFFF
8364 }
8365 
8366 enum VK_GEOMETRY_OPAQUE_BIT_NV                           = VkGeometryFlagBitsNV.VK_GEOMETRY_OPAQUE_BIT_NV;
8367 enum VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV  = VkGeometryFlagBitsNV.VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV;
8368 enum VK_GEOMETRY_FLAG_BITS_MAX_ENUM_NV                   = VkGeometryFlagBitsNV.VK_GEOMETRY_FLAG_BITS_MAX_ENUM_NV;
8369 alias VkGeometryFlagsNV = VkFlags;
8370 
8371 enum VkGeometryInstanceFlagBitsNV {
8372     VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV            = 0x00000001,
8373     VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV  = 0x00000002,
8374     VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV                     = 0x00000004,
8375     VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV                  = 0x00000008,
8376     VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_NV                   = 0x7FFFFFFF
8377 }
8378 
8379 enum VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV           = VkGeometryInstanceFlagBitsNV.VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV;
8380 enum VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VkGeometryInstanceFlagBitsNV.VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV;
8381 enum VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV                    = VkGeometryInstanceFlagBitsNV.VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV;
8382 enum VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV                 = VkGeometryInstanceFlagBitsNV.VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV;
8383 enum VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_NV                  = VkGeometryInstanceFlagBitsNV.VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_NV;
8384 alias VkGeometryInstanceFlagsNV = VkFlags;
8385 
8386 enum VkBuildAccelerationStructureFlagBitsNV {
8387     VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV          = 0x00000001,
8388     VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV      = 0x00000002,
8389     VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV     = 0x00000004,
8390     VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV     = 0x00000008,
8391     VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV            = 0x00000010,
8392     VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_NV        = 0x7FFFFFFF
8393 }
8394 
8395 enum VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV         = VkBuildAccelerationStructureFlagBitsNV.VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV;
8396 enum VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV     = VkBuildAccelerationStructureFlagBitsNV.VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV;
8397 enum VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV    = VkBuildAccelerationStructureFlagBitsNV.VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV;
8398 enum VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV    = VkBuildAccelerationStructureFlagBitsNV.VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV;
8399 enum VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV           = VkBuildAccelerationStructureFlagBitsNV.VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV;
8400 enum VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_NV       = VkBuildAccelerationStructureFlagBitsNV.VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_NV;
8401 alias VkBuildAccelerationStructureFlagsNV = VkFlags;
8402 
8403 struct VkRayTracingShaderGroupCreateInfoNV {
8404     VkStructureType                sType = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV;
8405     const( void )*                 pNext;
8406     VkRayTracingShaderGroupTypeNV  type;
8407     uint32_t                       generalShader;
8408     uint32_t                       closestHitShader;
8409     uint32_t                       anyHitShader;
8410     uint32_t                       intersectionShader;
8411 }
8412 
8413 struct VkRayTracingPipelineCreateInfoNV {
8414     VkStructureType                                sType = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV;
8415     const( void )*                                 pNext;
8416     VkPipelineCreateFlags                          flags;
8417     uint32_t                                       stageCount;
8418     const( VkPipelineShaderStageCreateInfo )*      pStages;
8419     uint32_t                                       groupCount;
8420     const( VkRayTracingShaderGroupCreateInfoNV )*  pGroups;
8421     uint32_t                                       maxRecursionDepth;
8422     VkPipelineLayout                               layout;
8423     VkPipeline                                     basePipelineHandle;
8424     int32_t                                        basePipelineIndex;
8425 }
8426 
8427 struct VkGeometryTrianglesNV {
8428     VkStructureType  sType = VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV;
8429     const( void )*   pNext;
8430     VkBuffer         vertexData;
8431     VkDeviceSize     vertexOffset;
8432     uint32_t         vertexCount;
8433     VkDeviceSize     vertexStride;
8434     VkFormat         vertexFormat;
8435     VkBuffer         indexData;
8436     VkDeviceSize     indexOffset;
8437     uint32_t         indexCount;
8438     VkIndexType      indexType;
8439     VkBuffer         transformData;
8440     VkDeviceSize     transformOffset;
8441 }
8442 
8443 struct VkGeometryAABBNV {
8444     VkStructureType  sType = VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV;
8445     const( void )*   pNext;
8446     VkBuffer         aabbData;
8447     uint32_t         numAABBs;
8448     uint32_t         stride;
8449     VkDeviceSize     offset;
8450 }
8451 
8452 struct VkGeometryDataNV {
8453     VkGeometryTrianglesNV  triangles;
8454     VkGeometryAABBNV       aabbs;
8455 }
8456 
8457 struct VkGeometryNV {
8458     VkStructureType    sType = VK_STRUCTURE_TYPE_GEOMETRY_NV;
8459     const( void )*     pNext;
8460     VkGeometryTypeNV   geometryType;
8461     VkGeometryDataNV   geometry;
8462     VkGeometryFlagsNV  flags;
8463 }
8464 
8465 struct VkAccelerationStructureInfoNV {
8466     VkStructureType                      sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV;
8467     const( void )*                       pNext;
8468     VkAccelerationStructureTypeNV        type;
8469     VkBuildAccelerationStructureFlagsNV  flags;
8470     uint32_t                             instanceCount;
8471     uint32_t                             geometryCount;
8472     const( VkGeometryNV )*               pGeometries;
8473 }
8474 
8475 struct VkAccelerationStructureCreateInfoNV {
8476     VkStructureType                sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV;
8477     const( void )*                 pNext;
8478     VkDeviceSize                   compactedSize;
8479     VkAccelerationStructureInfoNV  info;
8480 }
8481 
8482 struct VkBindAccelerationStructureMemoryInfoNV {
8483     VkStructureType            sType = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV;
8484     const( void )*             pNext;
8485     VkAccelerationStructureNV  accelerationStructure;
8486     VkDeviceMemory             memory;
8487     VkDeviceSize               memoryOffset;
8488     uint32_t                   deviceIndexCount;
8489     const( uint32_t )*         pDeviceIndices;
8490 }
8491 
8492 struct VkWriteDescriptorSetAccelerationStructureNV {
8493     VkStructureType                      sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV;
8494     const( void )*                       pNext;
8495     uint32_t                             accelerationStructureCount;
8496     const( VkAccelerationStructureNV )*  pAccelerationStructures;
8497 }
8498 
8499 struct VkAccelerationStructureMemoryRequirementsInfoNV {
8500     VkStructureType                                  sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV;
8501     const( void )*                                   pNext;
8502     VkAccelerationStructureMemoryRequirementsTypeNV  type;
8503     VkAccelerationStructureNV                        accelerationStructure;
8504 }
8505 
8506 struct VkPhysicalDeviceRayTracingPropertiesNV {
8507     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV;
8508     void*            pNext;
8509     uint32_t         shaderGroupHandleSize;
8510     uint32_t         maxRecursionDepth;
8511     uint32_t         maxShaderGroupStride;
8512     uint32_t         shaderGroupBaseAlignment;
8513     uint64_t         maxGeometryCount;
8514     uint64_t         maxInstanceCount;
8515     uint64_t         maxTriangleCount;
8516     uint32_t         maxDescriptorSetAccelerationStructures;
8517 }
8518 
8519 
8520 // - VK_NV_representative_fragment_test -
8521 enum VK_NV_representative_fragment_test = 1;
8522 
8523 enum VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION = 1;
8524 enum VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME = "VK_NV_representative_fragment_test";
8525 
8526 struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
8527     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV;
8528     void*            pNext;
8529     VkBool32         representativeFragmentTest;
8530 }
8531 
8532 struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
8533     VkStructureType  sType = VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV;
8534     const( void )*   pNext;
8535     VkBool32         representativeFragmentTestEnable;
8536 }
8537 
8538 
8539 // - VK_EXT_filter_cubic -
8540 enum VK_EXT_filter_cubic = 1;
8541 
8542 enum VK_EXT_FILTER_CUBIC_SPEC_VERSION = 1;
8543 enum VK_EXT_FILTER_CUBIC_EXTENSION_NAME = "VK_EXT_filter_cubic";
8544 
8545 struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
8546     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT;
8547     void*            pNext;
8548     VkImageViewType  imageViewType;
8549 }
8550 
8551 struct VkFilterCubicImageViewImageFormatPropertiesEXT {
8552     VkStructureType  sType = VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT;
8553     void*            pNext;
8554     VkBool32         filterCubic;
8555     VkBool32         filterCubicMinmax;
8556 }
8557 
8558 
8559 // - VK_EXT_global_priority -
8560 enum VK_EXT_global_priority = 1;
8561 
8562 enum VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION = 2;
8563 enum VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_EXT_global_priority";
8564 
8565 enum VkQueueGlobalPriorityEXT {
8566     VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT             = 128,
8567     VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT          = 256,
8568     VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT            = 512,
8569     VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT        = 1024,
8570     VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT     = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,
8571     VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT       = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT,
8572     VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT      = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT - VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT + 1,
8573     VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT        = 0x7FFFFFFF
8574 }
8575 
8576 enum VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT            = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT;
8577 enum VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT         = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT;
8578 enum VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT           = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT;
8579 enum VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT       = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT;
8580 enum VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT    = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT;
8581 enum VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT      = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT;
8582 enum VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT     = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT;
8583 enum VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT       = VkQueueGlobalPriorityEXT.VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT;
8584 
8585 struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
8586     VkStructureType           sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT;
8587     const( void )*            pNext;
8588     VkQueueGlobalPriorityEXT  globalPriority;
8589 }
8590 
8591 
8592 // - VK_EXT_external_memory_host -
8593 enum VK_EXT_external_memory_host = 1;
8594 
8595 enum VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION = 1;
8596 enum VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME = "VK_EXT_external_memory_host";
8597 
8598 struct VkImportMemoryHostPointerInfoEXT {
8599     VkStructureType                     sType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT;
8600     const( void )*                      pNext;
8601     VkExternalMemoryHandleTypeFlagBits  handleType;
8602     void*                               pHostPointer;
8603 }
8604 
8605 struct VkMemoryHostPointerPropertiesEXT {
8606     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT;
8607     void*            pNext;
8608     uint32_t         memoryTypeBits;
8609 }
8610 
8611 struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
8612     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT;
8613     void*            pNext;
8614     VkDeviceSize     minImportedHostPointerAlignment;
8615 }
8616 
8617 
8618 // - VK_AMD_buffer_marker -
8619 enum VK_AMD_buffer_marker = 1;
8620 
8621 enum VK_AMD_BUFFER_MARKER_SPEC_VERSION = 1;
8622 enum VK_AMD_BUFFER_MARKER_EXTENSION_NAME = "VK_AMD_buffer_marker";
8623 
8624 
8625 // - VK_EXT_calibrated_timestamps -
8626 enum VK_EXT_calibrated_timestamps = 1;
8627 
8628 enum VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION = 1;
8629 enum VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME = "VK_EXT_calibrated_timestamps";
8630 
8631 enum VkTimeDomainEXT {
8632     VK_TIME_DOMAIN_DEVICE_EXT                            = 0,
8633     VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT                   = 1,
8634     VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT               = 2,
8635     VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT         = 3,
8636     VK_TIME_DOMAIN_BEGIN_RANGE_EXT                       = VK_TIME_DOMAIN_DEVICE_EXT,
8637     VK_TIME_DOMAIN_END_RANGE_EXT                         = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT,
8638     VK_TIME_DOMAIN_RANGE_SIZE_EXT                        = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT - VK_TIME_DOMAIN_DEVICE_EXT + 1,
8639     VK_TIME_DOMAIN_MAX_ENUM_EXT                          = 0x7FFFFFFF
8640 }
8641 
8642 enum VK_TIME_DOMAIN_DEVICE_EXT                           = VkTimeDomainEXT.VK_TIME_DOMAIN_DEVICE_EXT;
8643 enum VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT                  = VkTimeDomainEXT.VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT;
8644 enum VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT              = VkTimeDomainEXT.VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT;
8645 enum VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT        = VkTimeDomainEXT.VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT;
8646 enum VK_TIME_DOMAIN_BEGIN_RANGE_EXT                      = VkTimeDomainEXT.VK_TIME_DOMAIN_BEGIN_RANGE_EXT;
8647 enum VK_TIME_DOMAIN_END_RANGE_EXT                        = VkTimeDomainEXT.VK_TIME_DOMAIN_END_RANGE_EXT;
8648 enum VK_TIME_DOMAIN_RANGE_SIZE_EXT                       = VkTimeDomainEXT.VK_TIME_DOMAIN_RANGE_SIZE_EXT;
8649 enum VK_TIME_DOMAIN_MAX_ENUM_EXT                         = VkTimeDomainEXT.VK_TIME_DOMAIN_MAX_ENUM_EXT;
8650 
8651 struct VkCalibratedTimestampInfoEXT {
8652     VkStructureType  sType = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT;
8653     const( void )*   pNext;
8654     VkTimeDomainEXT  timeDomain;
8655 }
8656 
8657 
8658 // - VK_AMD_shader_core_properties -
8659 enum VK_AMD_shader_core_properties = 1;
8660 
8661 enum VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION = 1;
8662 enum VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME = "VK_AMD_shader_core_properties";
8663 
8664 struct VkPhysicalDeviceShaderCorePropertiesAMD {
8665     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD;
8666     void*            pNext;
8667     uint32_t         shaderEngineCount;
8668     uint32_t         shaderArraysPerEngineCount;
8669     uint32_t         computeUnitsPerShaderArray;
8670     uint32_t         simdPerComputeUnit;
8671     uint32_t         wavefrontsPerSimd;
8672     uint32_t         wavefrontSize;
8673     uint32_t         sgprsPerSimd;
8674     uint32_t         minSgprAllocation;
8675     uint32_t         maxSgprAllocation;
8676     uint32_t         sgprAllocationGranularity;
8677     uint32_t         vgprsPerSimd;
8678     uint32_t         minVgprAllocation;
8679     uint32_t         maxVgprAllocation;
8680     uint32_t         vgprAllocationGranularity;
8681 }
8682 
8683 
8684 // - VK_AMD_memory_overallocation_behavior -
8685 enum VK_AMD_memory_overallocation_behavior = 1;
8686 
8687 enum VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION = 1;
8688 enum VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME = "VK_AMD_memory_overallocation_behavior";
8689 
8690 enum VkMemoryOverallocationBehaviorAMD {
8691     VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD        = 0,
8692     VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD        = 1,
8693     VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD     = 2,
8694     VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD    = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
8695     VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD      = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD,
8696     VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD     = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD - VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD + 1,
8697     VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD       = 0x7FFFFFFF
8698 }
8699 
8700 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD       = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD;
8701 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD       = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD;
8702 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD    = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD;
8703 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD   = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD;
8704 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD     = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD;
8705 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD    = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD;
8706 enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD      = VkMemoryOverallocationBehaviorAMD.VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD;
8707 
8708 struct VkDeviceMemoryOverallocationCreateInfoAMD {
8709     VkStructureType                    sType = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD;
8710     const( void )*                     pNext;
8711     VkMemoryOverallocationBehaviorAMD  overallocationBehavior;
8712 }
8713 
8714 
8715 // - VK_EXT_vertex_attribute_divisor -
8716 enum VK_EXT_vertex_attribute_divisor = 1;
8717 
8718 enum VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION = 3;
8719 enum VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME = "VK_EXT_vertex_attribute_divisor";
8720 
8721 struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
8722     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT;
8723     void*            pNext;
8724     uint32_t         maxVertexAttribDivisor;
8725 }
8726 
8727 struct VkVertexInputBindingDivisorDescriptionEXT {
8728     uint32_t  binding;
8729     uint32_t  divisor;
8730 }
8731 
8732 struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
8733     VkStructureType                                      sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT;
8734     const( void )*                                       pNext;
8735     uint32_t                                             vertexBindingDivisorCount;
8736     const( VkVertexInputBindingDivisorDescriptionEXT )*  pVertexBindingDivisors;
8737 }
8738 
8739 struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
8740     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT;
8741     void*            pNext;
8742     VkBool32         vertexAttributeInstanceRateDivisor;
8743     VkBool32         vertexAttributeInstanceRateZeroDivisor;
8744 }
8745 
8746 
8747 // - VK_EXT_pipeline_creation_feedback -
8748 enum VK_EXT_pipeline_creation_feedback = 1;
8749 
8750 enum VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION = 1;
8751 enum VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME = "VK_EXT_pipeline_creation_feedback";
8752 
8753 enum VkPipelineCreationFeedbackFlagBitsEXT {
8754     VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT                                  = 0x00000001,
8755     VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT         = 0x00000002,
8756     VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT             = 0x00000004,
8757     VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT                         = 0x7FFFFFFF
8758 }
8759 
8760 enum VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT                                 = VkPipelineCreationFeedbackFlagBitsEXT.VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT;
8761 enum VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT        = VkPipelineCreationFeedbackFlagBitsEXT.VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT;
8762 enum VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT            = VkPipelineCreationFeedbackFlagBitsEXT.VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT;
8763 enum VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT                        = VkPipelineCreationFeedbackFlagBitsEXT.VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT;
8764 alias VkPipelineCreationFeedbackFlagsEXT = VkFlags;
8765 
8766 struct VkPipelineCreationFeedbackEXT {
8767     VkPipelineCreationFeedbackFlagsEXT  flags;
8768     uint64_t                            duration;
8769 }
8770 
8771 struct VkPipelineCreationFeedbackCreateInfoEXT {
8772     VkStructureType                 sType = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT;
8773     const( void )*                  pNext;
8774     VkPipelineCreationFeedbackEXT*  pPipelineCreationFeedback;
8775     uint32_t                        pipelineStageCreationFeedbackCount;
8776     VkPipelineCreationFeedbackEXT*  pPipelineStageCreationFeedbacks;
8777 }
8778 
8779 
8780 // - VK_NV_shader_subgroup_partitioned -
8781 enum VK_NV_shader_subgroup_partitioned = 1;
8782 
8783 enum VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION = 1;
8784 enum VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME = "VK_NV_shader_subgroup_partitioned";
8785 
8786 
8787 // - VK_NV_compute_shader_derivatives -
8788 enum VK_NV_compute_shader_derivatives = 1;
8789 
8790 enum VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION = 1;
8791 enum VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME = "VK_NV_compute_shader_derivatives";
8792 
8793 struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
8794     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV;
8795     void*            pNext;
8796     VkBool32         computeDerivativeGroupQuads;
8797     VkBool32         computeDerivativeGroupLinear;
8798 }
8799 
8800 
8801 // - VK_NV_mesh_shader -
8802 enum VK_NV_mesh_shader = 1;
8803 
8804 enum VK_NV_MESH_SHADER_SPEC_VERSION = 1;
8805 enum VK_NV_MESH_SHADER_EXTENSION_NAME = "VK_NV_mesh_shader";
8806 
8807 struct VkPhysicalDeviceMeshShaderFeaturesNV {
8808     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV;
8809     void*            pNext;
8810     VkBool32         taskShader;
8811     VkBool32         meshShader;
8812 }
8813 
8814 struct VkPhysicalDeviceMeshShaderPropertiesNV {
8815     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV;
8816     void*            pNext;
8817     uint32_t         maxDrawMeshTasksCount;
8818     uint32_t         maxTaskWorkGroupInvocations;
8819     uint32_t[3]      maxTaskWorkGroupSize;
8820     uint32_t         maxTaskTotalMemorySize;
8821     uint32_t         maxTaskOutputCount;
8822     uint32_t         maxMeshWorkGroupInvocations;
8823     uint32_t[3]      maxMeshWorkGroupSize;
8824     uint32_t         maxMeshTotalMemorySize;
8825     uint32_t         maxMeshOutputVertices;
8826     uint32_t         maxMeshOutputPrimitives;
8827     uint32_t         maxMeshMultiviewViewCount;
8828     uint32_t         meshOutputPerVertexGranularity;
8829     uint32_t         meshOutputPerPrimitiveGranularity;
8830 }
8831 
8832 struct VkDrawMeshTasksIndirectCommandNV {
8833     uint32_t  taskCount;
8834     uint32_t  firstTask;
8835 }
8836 
8837 
8838 // - VK_NV_fragment_shader_barycentric -
8839 enum VK_NV_fragment_shader_barycentric = 1;
8840 
8841 enum VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION = 1;
8842 enum VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME = "VK_NV_fragment_shader_barycentric";
8843 
8844 struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
8845     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV;
8846     void*            pNext;
8847     VkBool32         fragmentShaderBarycentric;
8848 }
8849 
8850 
8851 // - VK_NV_shader_image_footprint -
8852 enum VK_NV_shader_image_footprint = 1;
8853 
8854 enum VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION = 1;
8855 enum VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME = "VK_NV_shader_image_footprint";
8856 
8857 struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
8858     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV;
8859     void*            pNext;
8860     VkBool32         imageFootprint;
8861 }
8862 
8863 
8864 // - VK_NV_scissor_exclusive -
8865 enum VK_NV_scissor_exclusive = 1;
8866 
8867 enum VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION = 1;
8868 enum VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME = "VK_NV_scissor_exclusive";
8869 
8870 struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
8871     VkStructureType     sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV;
8872     const( void )*      pNext;
8873     uint32_t            exclusiveScissorCount;
8874     const( VkRect2D )*  pExclusiveScissors;
8875 }
8876 
8877 struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
8878     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV;
8879     void*            pNext;
8880     VkBool32         exclusiveScissor;
8881 }
8882 
8883 
8884 // - VK_NV_device_diagnostic_checkpoints -
8885 enum VK_NV_device_diagnostic_checkpoints = 1;
8886 
8887 enum VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION = 2;
8888 enum VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME = "VK_NV_device_diagnostic_checkpoints";
8889 
8890 struct VkQueueFamilyCheckpointPropertiesNV {
8891     VkStructureType       sType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV;
8892     void*                 pNext;
8893     VkPipelineStageFlags  checkpointExecutionStageMask;
8894 }
8895 
8896 struct VkCheckpointDataNV {
8897     VkStructureType          sType = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV;
8898     void*                    pNext;
8899     VkPipelineStageFlagBits  stage;
8900     void*                    pCheckpointMarker;
8901 }
8902 
8903 
8904 // - VK_EXT_pci_bus_info -
8905 enum VK_EXT_pci_bus_info = 1;
8906 
8907 enum VK_EXT_PCI_BUS_INFO_SPEC_VERSION = 2;
8908 enum VK_EXT_PCI_BUS_INFO_EXTENSION_NAME = "VK_EXT_pci_bus_info";
8909 
8910 struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
8911     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT;
8912     void*            pNext;
8913     uint32_t         pciDomain;
8914     uint32_t         pciBus;
8915     uint32_t         pciDevice;
8916     uint32_t         pciFunction;
8917 }
8918 
8919 
8920 // - VK_AMD_display_native_hdr -
8921 enum VK_AMD_display_native_hdr = 1;
8922 
8923 enum VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION = 1;
8924 enum VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr";
8925 
8926 struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
8927     VkStructureType  sType = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD;
8928     void*            pNext;
8929     VkBool32         localDimmingSupport;
8930 }
8931 
8932 struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
8933     VkStructureType  sType = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD;
8934     const( void )*   pNext;
8935     VkBool32         localDimmingEnable;
8936 }
8937 
8938 
8939 // - VK_EXT_fragment_density_map -
8940 enum VK_EXT_fragment_density_map = 1;
8941 
8942 enum VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1;
8943 enum VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map";
8944 
8945 struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
8946     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
8947     void*            pNext;
8948     VkBool32         fragmentDensityMap;
8949     VkBool32         fragmentDensityMapDynamic;
8950     VkBool32         fragmentDensityMapNonSubsampledImages;
8951 }
8952 
8953 struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
8954     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
8955     void*            pNext;
8956     VkExtent2D       minFragmentDensityTexelSize;
8957     VkExtent2D       maxFragmentDensityTexelSize;
8958     VkBool32         fragmentDensityInvocations;
8959 }
8960 
8961 struct VkRenderPassFragmentDensityMapCreateInfoEXT {
8962     VkStructureType        sType = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT;
8963     const( void )*         pNext;
8964     VkAttachmentReference  fragmentDensityMapAttachment;
8965 }
8966 
8967 
8968 // - VK_EXT_scalar_block_layout -
8969 enum VK_EXT_scalar_block_layout = 1;
8970 
8971 enum VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION = 1;
8972 enum VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout";
8973 
8974 struct VkPhysicalDeviceScalarBlockLayoutFeaturesEXT {
8975     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT;
8976     void*            pNext;
8977     VkBool32         scalarBlockLayout;
8978 }
8979 
8980 
8981 // - VK_GOOGLE_hlsl_functionality1 -
8982 enum VK_GOOGLE_hlsl_functionality1 = 1;
8983 
8984 enum VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1;
8985 enum VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1";
8986 
8987 
8988 // - VK_GOOGLE_decorate_string -
8989 enum VK_GOOGLE_decorate_string = 1;
8990 
8991 enum VK_GOOGLE_DECORATE_STRING_SPEC_VERSION = 1;
8992 enum VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME = "VK_GOOGLE_decorate_string";
8993 
8994 
8995 // - VK_EXT_memory_budget -
8996 enum VK_EXT_memory_budget = 1;
8997 
8998 enum VK_EXT_MEMORY_BUDGET_SPEC_VERSION = 1;
8999 enum VK_EXT_MEMORY_BUDGET_EXTENSION_NAME = "VK_EXT_memory_budget";
9000 
9001 struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
9002     VkStructureType                      sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT;
9003     void*                                pNext;
9004     VkDeviceSize[ VK_MAX_MEMORY_HEAPS ]  heapBudget;
9005     VkDeviceSize[ VK_MAX_MEMORY_HEAPS ]  heapUsage;
9006 }
9007 
9008 
9009 // - VK_EXT_memory_priority -
9010 enum VK_EXT_memory_priority = 1;
9011 
9012 enum VK_EXT_MEMORY_PRIORITY_SPEC_VERSION = 1;
9013 enum VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME = "VK_EXT_memory_priority";
9014 
9015 struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
9016     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT;
9017     void*            pNext;
9018     VkBool32         memoryPriority;
9019 }
9020 
9021 struct VkMemoryPriorityAllocateInfoEXT {
9022     VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT;
9023     const( void )*   pNext;
9024     float            priority;
9025 }
9026 
9027 
9028 // - VK_NV_dedicated_allocation_image_aliasing -
9029 enum VK_NV_dedicated_allocation_image_aliasing = 1;
9030 
9031 enum VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION = 1;
9032 enum VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME = "VK_NV_dedicated_allocation_image_aliasing";
9033 
9034 struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
9035     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV;
9036     void*            pNext;
9037     VkBool32         dedicatedAllocationImageAliasing;
9038 }
9039 
9040 
9041 // - VK_EXT_buffer_device_address -
9042 enum VK_EXT_buffer_device_address = 1;
9043 
9044 alias VkDeviceAddress = uint64_t;
9045 
9046 enum VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION = 2;
9047 enum VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME = "VK_EXT_buffer_device_address";
9048 
9049 struct VkPhysicalDeviceBufferAddressFeaturesEXT {
9050     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT;
9051     void*            pNext;
9052     VkBool32         bufferDeviceAddress;
9053     VkBool32         bufferDeviceAddressCaptureReplay;
9054     VkBool32         bufferDeviceAddressMultiDevice;
9055 }
9056 
9057 struct VkBufferDeviceAddressInfoEXT {
9058     VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT;
9059     const( void )*   pNext;
9060     VkBuffer         buffer;
9061 }
9062 
9063 struct VkBufferDeviceAddressCreateInfoEXT {
9064     VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT;
9065     const( void )*   pNext;
9066     VkDeviceAddress  deviceAddress;
9067 }
9068 
9069 
9070 // - VK_EXT_separate_stencil_usage -
9071 enum VK_EXT_separate_stencil_usage = 1;
9072 
9073 enum VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION = 1;
9074 enum VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_usage";
9075 
9076 struct VkImageStencilUsageCreateInfoEXT {
9077     VkStructureType    sType = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT;
9078     const( void )*     pNext;
9079     VkImageUsageFlags  stencilUsage;
9080 }
9081 
9082 
9083 // - VK_EXT_validation_features -
9084 enum VK_EXT_validation_features = 1;
9085 
9086 enum VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 1;
9087 enum VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features";
9088 
9089 enum VkValidationFeatureEnableEXT {
9090     VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT                        = 0,
9091     VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT   = 1,
9092     VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT                         = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
9093     VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT                           = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
9094     VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT                          = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT - VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT + 1,
9095     VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT                            = 0x7FFFFFFF
9096 }
9097 
9098 enum VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT                       = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT;
9099 enum VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT  = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT;
9100 enum VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT                        = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT;
9101 enum VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT                          = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT;
9102 enum VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT                         = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT;
9103 enum VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT                           = VkValidationFeatureEnableEXT.VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT;
9104 
9105 enum VkValidationFeatureDisableEXT {
9106     VK_VALIDATION_FEATURE_DISABLE_ALL_EXT                = 0,
9107     VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT            = 1,
9108     VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT      = 2,
9109     VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT     = 3,
9110     VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT   = 4,
9111     VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT        = 5,
9112     VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT     = 6,
9113     VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT        = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
9114     VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT          = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT,
9115     VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT         = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT - VK_VALIDATION_FEATURE_DISABLE_ALL_EXT + 1,
9116     VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT           = 0x7FFFFFFF
9117 }
9118 
9119 enum VK_VALIDATION_FEATURE_DISABLE_ALL_EXT               = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_ALL_EXT;
9120 enum VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT           = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT;
9121 enum VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT     = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT;
9122 enum VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT    = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT;
9123 enum VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT  = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT;
9124 enum VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT       = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT;
9125 enum VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT    = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT;
9126 enum VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT       = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT;
9127 enum VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT         = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT;
9128 enum VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT        = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT;
9129 enum VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT          = VkValidationFeatureDisableEXT.VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT;
9130 
9131 struct VkValidationFeaturesEXT {
9132     VkStructureType                          sType = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT;
9133     const( void )*                           pNext;
9134     uint32_t                                 enabledValidationFeatureCount;
9135     const( VkValidationFeatureEnableEXT )*   pEnabledValidationFeatures;
9136     uint32_t                                 disabledValidationFeatureCount;
9137     const( VkValidationFeatureDisableEXT )*  pDisabledValidationFeatures;
9138 }
9139 
9140 
9141 // - VK_NV_cooperative_matrix -
9142 enum VK_NV_cooperative_matrix = 1;
9143 
9144 enum VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION = 1;
9145 enum VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME = "VK_NV_cooperative_matrix";
9146 
9147 enum VkComponentTypeNV {
9148     VK_COMPONENT_TYPE_FLOAT16_NV         = 0,
9149     VK_COMPONENT_TYPE_FLOAT32_NV         = 1,
9150     VK_COMPONENT_TYPE_FLOAT64_NV         = 2,
9151     VK_COMPONENT_TYPE_SINT8_NV           = 3,
9152     VK_COMPONENT_TYPE_SINT16_NV          = 4,
9153     VK_COMPONENT_TYPE_SINT32_NV          = 5,
9154     VK_COMPONENT_TYPE_SINT64_NV          = 6,
9155     VK_COMPONENT_TYPE_UINT8_NV           = 7,
9156     VK_COMPONENT_TYPE_UINT16_NV          = 8,
9157     VK_COMPONENT_TYPE_UINT32_NV          = 9,
9158     VK_COMPONENT_TYPE_UINT64_NV          = 10,
9159     VK_COMPONENT_TYPE_BEGIN_RANGE_NV     = VK_COMPONENT_TYPE_FLOAT16_NV,
9160     VK_COMPONENT_TYPE_END_RANGE_NV       = VK_COMPONENT_TYPE_UINT64_NV,
9161     VK_COMPONENT_TYPE_RANGE_SIZE_NV      = VK_COMPONENT_TYPE_UINT64_NV - VK_COMPONENT_TYPE_FLOAT16_NV + 1,
9162     VK_COMPONENT_TYPE_MAX_ENUM_NV        = 0x7FFFFFFF
9163 }
9164 
9165 enum VK_COMPONENT_TYPE_FLOAT16_NV        = VkComponentTypeNV.VK_COMPONENT_TYPE_FLOAT16_NV;
9166 enum VK_COMPONENT_TYPE_FLOAT32_NV        = VkComponentTypeNV.VK_COMPONENT_TYPE_FLOAT32_NV;
9167 enum VK_COMPONENT_TYPE_FLOAT64_NV        = VkComponentTypeNV.VK_COMPONENT_TYPE_FLOAT64_NV;
9168 enum VK_COMPONENT_TYPE_SINT8_NV          = VkComponentTypeNV.VK_COMPONENT_TYPE_SINT8_NV;
9169 enum VK_COMPONENT_TYPE_SINT16_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_SINT16_NV;
9170 enum VK_COMPONENT_TYPE_SINT32_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_SINT32_NV;
9171 enum VK_COMPONENT_TYPE_SINT64_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_SINT64_NV;
9172 enum VK_COMPONENT_TYPE_UINT8_NV          = VkComponentTypeNV.VK_COMPONENT_TYPE_UINT8_NV;
9173 enum VK_COMPONENT_TYPE_UINT16_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_UINT16_NV;
9174 enum VK_COMPONENT_TYPE_UINT32_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_UINT32_NV;
9175 enum VK_COMPONENT_TYPE_UINT64_NV         = VkComponentTypeNV.VK_COMPONENT_TYPE_UINT64_NV;
9176 enum VK_COMPONENT_TYPE_BEGIN_RANGE_NV    = VkComponentTypeNV.VK_COMPONENT_TYPE_BEGIN_RANGE_NV;
9177 enum VK_COMPONENT_TYPE_END_RANGE_NV      = VkComponentTypeNV.VK_COMPONENT_TYPE_END_RANGE_NV;
9178 enum VK_COMPONENT_TYPE_RANGE_SIZE_NV     = VkComponentTypeNV.VK_COMPONENT_TYPE_RANGE_SIZE_NV;
9179 enum VK_COMPONENT_TYPE_MAX_ENUM_NV       = VkComponentTypeNV.VK_COMPONENT_TYPE_MAX_ENUM_NV;
9180 
9181 enum VkScopeNV {
9182     VK_SCOPE_DEVICE_NV           = 1,
9183     VK_SCOPE_WORKGROUP_NV        = 2,
9184     VK_SCOPE_SUBGROUP_NV         = 3,
9185     VK_SCOPE_QUEUE_FAMILY_NV     = 5,
9186     VK_SCOPE_BEGIN_RANGE_NV      = VK_SCOPE_DEVICE_NV,
9187     VK_SCOPE_END_RANGE_NV        = VK_SCOPE_QUEUE_FAMILY_NV,
9188     VK_SCOPE_RANGE_SIZE_NV       = VK_SCOPE_QUEUE_FAMILY_NV - VK_SCOPE_DEVICE_NV + 1,
9189     VK_SCOPE_MAX_ENUM_NV         = 0x7FFFFFFF
9190 }
9191 
9192 enum VK_SCOPE_DEVICE_NV          = VkScopeNV.VK_SCOPE_DEVICE_NV;
9193 enum VK_SCOPE_WORKGROUP_NV       = VkScopeNV.VK_SCOPE_WORKGROUP_NV;
9194 enum VK_SCOPE_SUBGROUP_NV        = VkScopeNV.VK_SCOPE_SUBGROUP_NV;
9195 enum VK_SCOPE_QUEUE_FAMILY_NV    = VkScopeNV.VK_SCOPE_QUEUE_FAMILY_NV;
9196 enum VK_SCOPE_BEGIN_RANGE_NV     = VkScopeNV.VK_SCOPE_BEGIN_RANGE_NV;
9197 enum VK_SCOPE_END_RANGE_NV       = VkScopeNV.VK_SCOPE_END_RANGE_NV;
9198 enum VK_SCOPE_RANGE_SIZE_NV      = VkScopeNV.VK_SCOPE_RANGE_SIZE_NV;
9199 enum VK_SCOPE_MAX_ENUM_NV        = VkScopeNV.VK_SCOPE_MAX_ENUM_NV;
9200 
9201 struct VkCooperativeMatrixPropertiesNV {
9202     VkStructureType    sType = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV;
9203     void*              pNext;
9204     uint32_t           MSize;
9205     uint32_t           NSize;
9206     uint32_t           KSize;
9207     VkComponentTypeNV  AType;
9208     VkComponentTypeNV  BType;
9209     VkComponentTypeNV  CType;
9210     VkComponentTypeNV  DType;
9211     VkScopeNV          _scope;
9212 }
9213 
9214 struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
9215     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV;
9216     void*            pNext;
9217     VkBool32         cooperativeMatrix;
9218     VkBool32         cooperativeMatrixRobustBufferAccess;
9219 }
9220 
9221 struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
9222     VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV;
9223     void*               pNext;
9224     VkShaderStageFlags  cooperativeMatrixSupportedStages;
9225 }
9226 
9227 
9228 // - VK_EXT_ycbcr_image_arrays -
9229 enum VK_EXT_ycbcr_image_arrays = 1;
9230 
9231 enum VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION = 1;
9232 enum VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME = "VK_EXT_ycbcr_image_arrays";
9233 
9234 struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
9235     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT;
9236     void*            pNext;
9237     VkBool32         ycbcrImageArrays;
9238 }
9239 
9240 
9241 // - VK_EXT_host_query_reset -
9242 enum VK_EXT_host_query_reset = 1;
9243 
9244 enum VK_EXT_HOST_QUERY_RESET_SPEC_VERSION = 1;
9245 enum VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME = "VK_EXT_host_query_reset";
9246 
9247 struct VkPhysicalDeviceHostQueryResetFeaturesEXT {
9248     VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT;
9249     void*            pNext;
9250     VkBool32         hostQueryReset;
9251 }
9252 
9253