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