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