1 module erupted.types;
2 
3 alias uint8_t = ubyte;
4 alias uint16_t = ushort;
5 alias uint32_t = uint;
6 alias uint64_t = ulong;
7 alias int8_t = byte;
8 alias int16_t = short;
9 alias int32_t = int;
10 alias int64_t = long;
11 
12 @nogc nothrow:
13 pure {
14 	uint VK_MAKE_VERSION( uint major, uint minor, uint patch ) {
15 		return ( major << 22 ) | ( minor << 12 ) | ( patch );
16 	}
17 
18 	// Vulkan 1.0 version number
19 	uint VK_API_VERSION_1_0() { return VK_MAKE_VERSION( 1, 0, 0 ); }
20 
21 	uint VK_VERSION_MAJOR( uint ver ) { return ver >> 22; }
22 	uint VK_VERSION_MINOR( uint ver ) { return ( ver >> 12 ) & 0x3ff; }
23 	uint VK_VERSION_PATCH( uint ver ) { return ver & 0xfff; }
24 }
25 
26 // Linkage of debug and allocation callbacks
27 extern( System ):
28 
29 // Version of corresponding c header file
30 enum VK_HEADER_VERSION  =  62;
31 
32 enum VK_NULL_HANDLE = null;
33 
34 enum VK_DEFINE_HANDLE( string name ) = "struct "~name~"_handle; alias "~name~" = "~name~"_handle*;";
35 
36 version( X86_64 ) {
37 	alias VK_DEFINE_NON_DISPATCHABLE_HANDLE( string name ) = VK_DEFINE_HANDLE!name;
38 	enum VK_NULL_ND_HANDLE = null;
39 } else {
40 	enum VK_DEFINE_NON_DISPATCHABLE_HANDLE( string name ) = "alias "~name~" = ulong;";
41 	enum VK_NULL_ND_HANDLE = 0uL;
42 }
43 
44 // VK_VERSION_1_0
45 alias VkFlags = uint32_t;
46 alias VkBool32 = uint32_t;
47 alias VkDeviceSize = uint64_t;
48 alias VkSampleMask = uint32_t;
49 
50 mixin( VK_DEFINE_HANDLE!q{VkInstance} );
51 mixin( VK_DEFINE_HANDLE!q{VkPhysicalDevice} );
52 mixin( VK_DEFINE_HANDLE!q{VkDevice} );
53 mixin( VK_DEFINE_HANDLE!q{VkQueue} );
54 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSemaphore} );
55 mixin( VK_DEFINE_HANDLE!q{VkCommandBuffer} );
56 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkFence} );
57 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDeviceMemory} );
58 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkBuffer} );
59 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkImage} );
60 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkEvent} );
61 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkQueryPool} );
62 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkBufferView} );
63 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkImageView} );
64 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkShaderModule} );
65 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkPipelineCache} );
66 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkPipelineLayout} );
67 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkRenderPass} );
68 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkPipeline} );
69 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorSetLayout} );
70 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSampler} );
71 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorPool} );
72 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorSet} );
73 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkFramebuffer} );
74 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkCommandPool} );
75 
76 enum VK_LOD_CLAMP_NONE = 1000.0f;
77 enum VK_REMAINING_MIP_LEVELS = (~0U);
78 enum VK_REMAINING_ARRAY_LAYERS = (~0U);
79 enum VK_WHOLE_SIZE = (~0UL);
80 enum VK_ATTACHMENT_UNUSED = (~0U);
81 enum VK_TRUE = 1;
82 enum VK_FALSE = 0;
83 enum VK_QUEUE_FAMILY_IGNORED = (~0U);
84 enum VK_SUBPASS_EXTERNAL = (~0U);
85 enum VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256;
86 enum VK_UUID_SIZE = 16;
87 enum VK_MAX_MEMORY_TYPES = 32;
88 enum VK_MAX_MEMORY_HEAPS = 16;
89 enum VK_MAX_EXTENSION_NAME_SIZE = 256;
90 enum VK_MAX_DESCRIPTION_SIZE = 256;
91 
92 
93 enum VkPipelineCacheHeaderVersion {
94 	VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
95 	VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
96 	VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
97 	VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = ( VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1 ),
98 	VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
99 }
100 
101 // VkPipelineCacheHeaderVersion global enums
102 enum VK_PIPELINE_CACHE_HEADER_VERSION_ONE = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
103 enum VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE;
104 enum VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE;
105 enum VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE;
106 enum VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = VkPipelineCacheHeaderVersion.VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM;
107 
108 enum VkResult {
109 	VK_SUCCESS = 0,
110 	VK_NOT_READY = 1,
111 	VK_TIMEOUT = 2,
112 	VK_EVENT_SET = 3,
113 	VK_EVENT_RESET = 4,
114 	VK_INCOMPLETE = 5,
115 	VK_ERROR_OUT_OF_HOST_MEMORY = -1,
116 	VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
117 	VK_ERROR_INITIALIZATION_FAILED = -3,
118 	VK_ERROR_DEVICE_LOST = -4,
119 	VK_ERROR_MEMORY_MAP_FAILED = -5,
120 	VK_ERROR_LAYER_NOT_PRESENT = -6,
121 	VK_ERROR_EXTENSION_NOT_PRESENT = -7,
122 	VK_ERROR_FEATURE_NOT_PRESENT = -8,
123 	VK_ERROR_INCOMPATIBLE_DRIVER = -9,
124 	VK_ERROR_TOO_MANY_OBJECTS = -10,
125 	VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
126 	VK_ERROR_FRAGMENTED_POOL = -12,
127 	VK_ERROR_SURFACE_LOST_KHR = -1000000000,
128 	VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
129 	VK_SUBOPTIMAL_KHR = 1000001003,
130 	VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
131 	VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
132 	VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
133 	VK_ERROR_INVALID_SHADER_NV = -1000012000,
134 	VK_ERROR_OUT_OF_POOL_MEMORY_KHR = -1000069000,
135 	VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003,
136 	VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL,
137 	VK_RESULT_END_RANGE = VK_INCOMPLETE,
138 	VK_RESULT_RANGE_SIZE = ( VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1 ),
139 	VK_RESULT_MAX_ENUM = 0x7FFFFFFF
140 }
141 
142 // VkResult global enums
143 enum VK_SUCCESS = VkResult.VK_SUCCESS;
144 enum VK_NOT_READY = VkResult.VK_NOT_READY;
145 enum VK_TIMEOUT = VkResult.VK_TIMEOUT;
146 enum VK_EVENT_SET = VkResult.VK_EVENT_SET;
147 enum VK_EVENT_RESET = VkResult.VK_EVENT_RESET;
148 enum VK_INCOMPLETE = VkResult.VK_INCOMPLETE;
149 enum VK_ERROR_OUT_OF_HOST_MEMORY = VkResult.VK_ERROR_OUT_OF_HOST_MEMORY;
150 enum VK_ERROR_OUT_OF_DEVICE_MEMORY = VkResult.VK_ERROR_OUT_OF_DEVICE_MEMORY;
151 enum VK_ERROR_INITIALIZATION_FAILED = VkResult.VK_ERROR_INITIALIZATION_FAILED;
152 enum VK_ERROR_DEVICE_LOST = VkResult.VK_ERROR_DEVICE_LOST;
153 enum VK_ERROR_MEMORY_MAP_FAILED = VkResult.VK_ERROR_MEMORY_MAP_FAILED;
154 enum VK_ERROR_LAYER_NOT_PRESENT = VkResult.VK_ERROR_LAYER_NOT_PRESENT;
155 enum VK_ERROR_EXTENSION_NOT_PRESENT = VkResult.VK_ERROR_EXTENSION_NOT_PRESENT;
156 enum VK_ERROR_FEATURE_NOT_PRESENT = VkResult.VK_ERROR_FEATURE_NOT_PRESENT;
157 enum VK_ERROR_INCOMPATIBLE_DRIVER = VkResult.VK_ERROR_INCOMPATIBLE_DRIVER;
158 enum VK_ERROR_TOO_MANY_OBJECTS = VkResult.VK_ERROR_TOO_MANY_OBJECTS;
159 enum VK_ERROR_FORMAT_NOT_SUPPORTED = VkResult.VK_ERROR_FORMAT_NOT_SUPPORTED;
160 enum VK_ERROR_FRAGMENTED_POOL = VkResult.VK_ERROR_FRAGMENTED_POOL;
161 enum VK_ERROR_SURFACE_LOST_KHR = VkResult.VK_ERROR_SURFACE_LOST_KHR;
162 enum VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = VkResult.VK_ERROR_NATIVE_WINDOW_IN_USE_KHR;
163 enum VK_SUBOPTIMAL_KHR = VkResult.VK_SUBOPTIMAL_KHR;
164 enum VK_ERROR_OUT_OF_DATE_KHR = VkResult.VK_ERROR_OUT_OF_DATE_KHR;
165 enum VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = VkResult.VK_ERROR_INCOMPATIBLE_DISPLAY_KHR;
166 enum VK_ERROR_VALIDATION_FAILED_EXT = VkResult.VK_ERROR_VALIDATION_FAILED_EXT;
167 enum VK_ERROR_INVALID_SHADER_NV = VkResult.VK_ERROR_INVALID_SHADER_NV;
168 enum VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VkResult.VK_ERROR_OUT_OF_POOL_MEMORY_KHR;
169 enum VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VkResult.VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR;
170 enum VK_RESULT_BEGIN_RANGE = VkResult.VK_RESULT_BEGIN_RANGE;
171 enum VK_RESULT_END_RANGE = VkResult.VK_RESULT_END_RANGE;
172 enum VK_RESULT_RANGE_SIZE = VkResult.VK_RESULT_RANGE_SIZE;
173 enum VK_RESULT_MAX_ENUM = VkResult.VK_RESULT_MAX_ENUM;
174 
175 enum VkStructureType {
176 	VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
177 	VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
178 	VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
179 	VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
180 	VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
181 	VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
182 	VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
183 	VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
184 	VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
185 	VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
186 	VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
187 	VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
188 	VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
189 	VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
190 	VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
191 	VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
192 	VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
193 	VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
194 	VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
195 	VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
196 	VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
197 	VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
198 	VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
199 	VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
200 	VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
201 	VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
202 	VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
203 	VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
204 	VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
205 	VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
206 	VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
207 	VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
208 	VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
209 	VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
210 	VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
211 	VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
212 	VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
213 	VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
214 	VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
215 	VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
216 	VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
217 	VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
218 	VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
219 	VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
220 	VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
221 	VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
222 	VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
223 	VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
224 	VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
225 	VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
226 	VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
227 	VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
228 	VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
229 	VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
230 	VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
231 	VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
232 	VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
233 	VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000,
234 	VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
235 	VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
236 	VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID = 1000010000,
237 	VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
238 	VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
239 	VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
240 	VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
241 	VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
242 	VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
243 	VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
244 	VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
245 	VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
246 	VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHX = 1000053000,
247 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX = 1000053001,
248 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX = 1000053002,
249 	VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
250 	VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
251 	VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
252 	VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
253 	VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
254 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = 1000059000,
255 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = 1000059001,
256 	VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = 1000059002,
257 	VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059003,
258 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = 1000059004,
259 	VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000059005,
260 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = 1000059006,
261 	VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059007,
262 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = 1000059008,
263 	VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHX = 1000060000,
264 	VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHX = 1000060003,
265 	VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHX = 1000060004,
266 	VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHX = 1000060005,
267 	VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHX = 1000060006,
268 	VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHX = 1000060010,
269 	VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHX = 1000060013,
270 	VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHX = 1000060014,
271 	VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHX = 1000060007,
272 	VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHX = 1000060008,
273 	VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHX = 1000060009,
274 	VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHX = 1000060011,
275 	VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHX = 1000060012,
276 	VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
277 	VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
278 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHX = 1000070000,
279 	VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHX = 1000070001,
280 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000,
281 	VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = 1000071001,
282 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = 1000071002,
283 	VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = 1000071003,
284 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = 1000071004,
285 	VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = 1000072000,
286 	VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = 1000072001,
287 	VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = 1000072002,
288 	VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
289 	VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
290 	VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
291 	VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
292 	VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
293 	VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
294 	VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
295 	VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
296 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = 1000076000,
297 	VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = 1000076001,
298 	VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = 1000077000,
299 	VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
300 	VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
301 	VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
302 	VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
303 	VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
304 	VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
305 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
306 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = 1000083000,
307 	VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
308 	VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = 1000085000,
309 	VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000,
310 	VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001,
311 	VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002,
312 	VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003,
313 	VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004,
314 	VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005,
315 	VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
316 	VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
317 	VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
318 	VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
319 	VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
320 	VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
321 	VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
322 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
323 	VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
324 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
325 	VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
326 	VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
327 	VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
328 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = 1000112000,
329 	VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = 1000112001,
330 	VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = 1000113000,
331 	VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
332 	VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
333 	VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
334 	VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
335 	VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
336 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = 1000117000,
337 	VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = 1000117001,
338 	VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = 1000117002,
339 	VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = 1000117003,
340 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
341 	VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
342 	VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
343 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = 1000120000,
344 	VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
345 	VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
346 	VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = 1000127000,
347 	VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001,
348 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000,
349 	VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001,
350 	VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
351 	VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
352 	VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
353 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
354 	VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
355 	VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000,
356 	VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001,
357 	VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002,
358 	VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = 1000146003,
359 	VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = 1000146004,
360 	VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = 1000147000,
361 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
362 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
363 	VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
364 	VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
365 	VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
366 	VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = 1000156000,
367 	VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = 1000156001,
368 	VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = 1000156002,
369 	VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = 1000156003,
370 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = 1000156004,
371 	VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = 1000156005,
372 	VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = 1000157000,
373 	VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = 1000157001,
374 	VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
375 	VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
376 	VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
377 	VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
378 	VK_STRUCTURE_TYPE_RANGE_SIZE = ( VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1 ),
379 	VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
380 }
381 
382 // VkStructureType global enums
383 enum VK_STRUCTURE_TYPE_APPLICATION_INFO = VkStructureType.VK_STRUCTURE_TYPE_APPLICATION_INFO;
384 enum VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
385 enum VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
386 enum VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
387 enum VK_STRUCTURE_TYPE_SUBMIT_INFO = VkStructureType.VK_STRUCTURE_TYPE_SUBMIT_INFO;
388 enum VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
389 enum VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = VkStructureType.VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
390 enum VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = VkStructureType.VK_STRUCTURE_TYPE_BIND_SPARSE_INFO;
391 enum VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
392 enum VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
393 enum VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_EVENT_CREATE_INFO;
394 enum VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO;
395 enum VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
396 enum VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
397 enum VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
398 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
399 enum VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
400 enum VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
401 enum VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
402 enum VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
403 enum VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
404 enum VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO;
405 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
406 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
407 enum VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
408 enum VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
409 enum VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
410 enum VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
411 enum VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
412 enum VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
413 enum VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
414 enum VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
415 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
416 enum VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
417 enum VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
418 enum VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = VkStructureType.VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
419 enum VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = VkStructureType.VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET;
420 enum VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
421 enum VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
422 enum VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
423 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
424 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
425 enum VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = VkStructureType.VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
426 enum VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
427 enum VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
428 enum VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
429 enum VK_STRUCTURE_TYPE_MEMORY_BARRIER = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_BARRIER;
430 enum VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO;
431 enum VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = VkStructureType.VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO;
432 enum VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
433 enum VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;
434 enum VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR;
435 enum VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR;
436 enum VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR;
437 enum VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
438 enum VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
439 enum VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
440 enum VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR;
441 enum VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
442 enum VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
443 enum VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID = VkStructureType.VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID;
444 enum VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
445 enum VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
446 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT;
447 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT;
448 enum VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
449 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV;
450 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV;
451 enum VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV;
452 enum VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = VkStructureType.VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
453 enum VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHX;
454 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX;
455 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX;
456 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
457 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV;
458 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV;
459 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV;
460 enum VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV;
461 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR;
462 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR;
463 enum VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR;
464 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR;
465 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR;
466 enum VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR;
467 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR;
468 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR;
469 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR;
470 enum VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHX;
471 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHX;
472 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHX;
473 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHX;
474 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHX;
475 enum VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHX;
476 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHX;
477 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHX;
478 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHX = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHX;
479 enum VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHX;
480 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHX;
481 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHX;
482 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHX;
483 enum VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = VkStructureType.VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT;
484 enum VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = VkStructureType.VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN;
485 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHX = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHX;
486 enum VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHX = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHX;
487 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR;
488 enum VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR;
489 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR;
490 enum VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR;
491 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR;
492 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR;
493 enum VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR;
494 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR;
495 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
496 enum VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
497 enum VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR;
498 enum VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR;
499 enum VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR;
500 enum VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR;
501 enum VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR;
502 enum VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR;
503 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR;
504 enum VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR;
505 enum VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR;
506 enum VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
507 enum VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
508 enum VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR;
509 enum VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR;
510 enum VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR;
511 enum VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR;
512 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR;
513 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR;
514 enum VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR;
515 enum VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR;
516 enum VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = VkStructureType.VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX;
517 enum VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = VkStructureType.VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX;
518 enum VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = VkStructureType.VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX;
519 enum VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = VkStructureType.VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX;
520 enum VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX;
521 enum VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX;
522 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV;
523 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
524 enum VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT;
525 enum VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT;
526 enum VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT;
527 enum VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT;
528 enum VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = VkStructureType.VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE;
529 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX;
530 enum VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV;
531 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT;
532 enum VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT;
533 enum VK_STRUCTURE_TYPE_HDR_METADATA_EXT = VkStructureType.VK_STRUCTURE_TYPE_HDR_METADATA_EXT;
534 enum VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = VkStructureType.VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR;
535 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR;
536 enum VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR;
537 enum VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR;
538 enum VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR;
539 enum VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR;
540 enum VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR;
541 enum VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR;
542 enum VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR;
543 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR;
544 enum VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR;
545 enum VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR;
546 enum VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR;
547 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
548 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR;
549 enum VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR;
550 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR;
551 enum VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = VkStructureType.VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK;
552 enum VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = VkStructureType.VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK;
553 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR;
554 enum VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR;
555 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT;
556 enum VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT;
557 enum VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT;
558 enum VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT;
559 enum VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT;
560 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT;
561 enum VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = VkStructureType.VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT;
562 enum VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR;
563 enum VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR;
564 enum VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR;
565 enum VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR;
566 enum VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VkStructureType.VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR;
567 enum VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR;
568 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT;
569 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT;
570 enum VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT;
571 enum VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV;
572 enum VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = VkStructureType.VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV;
573 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR;
574 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR;
575 enum VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR;
576 enum VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR;
577 enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VkStructureType.VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR;
578 enum VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VkStructureType.VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR;
579 enum VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR;
580 enum VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VkStructureType.VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR;
581 enum VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT;
582 enum VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT;
583 enum VK_STRUCTURE_TYPE_BEGIN_RANGE = VkStructureType.VK_STRUCTURE_TYPE_BEGIN_RANGE;
584 enum VK_STRUCTURE_TYPE_END_RANGE = VkStructureType.VK_STRUCTURE_TYPE_END_RANGE;
585 enum VK_STRUCTURE_TYPE_RANGE_SIZE = VkStructureType.VK_STRUCTURE_TYPE_RANGE_SIZE;
586 enum VK_STRUCTURE_TYPE_MAX_ENUM = VkStructureType.VK_STRUCTURE_TYPE_MAX_ENUM;
587 
588 enum VkSystemAllocationScope {
589 	VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
590 	VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
591 	VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
592 	VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
593 	VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
594 	VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
595 	VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE,
596 	VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = ( VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1 ),
597 	VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
598 }
599 
600 // VkSystemAllocationScope global enums
601 enum VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_COMMAND;
602 enum VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_OBJECT;
603 enum VK_SYSTEM_ALLOCATION_SCOPE_CACHE = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_CACHE;
604 enum VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_DEVICE;
605 enum VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE;
606 enum VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE;
607 enum VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE;
608 enum VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE;
609 enum VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = VkSystemAllocationScope.VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM;
610 
611 enum VkInternalAllocationType {
612 	VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
613 	VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
614 	VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
615 	VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = ( VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1 ),
616 	VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
617 }
618 
619 // VkInternalAllocationType global enums
620 enum VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE;
621 enum VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE;
622 enum VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_END_RANGE;
623 enum VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE;
624 enum VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = VkInternalAllocationType.VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM;
625 
626 enum VkFormat {
627 	VK_FORMAT_UNDEFINED = 0,
628 	VK_FORMAT_R4G4_UNORM_PACK8 = 1,
629 	VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
630 	VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
631 	VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
632 	VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
633 	VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
634 	VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
635 	VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
636 	VK_FORMAT_R8_UNORM = 9,
637 	VK_FORMAT_R8_SNORM = 10,
638 	VK_FORMAT_R8_USCALED = 11,
639 	VK_FORMAT_R8_SSCALED = 12,
640 	VK_FORMAT_R8_UINT = 13,
641 	VK_FORMAT_R8_SINT = 14,
642 	VK_FORMAT_R8_SRGB = 15,
643 	VK_FORMAT_R8G8_UNORM = 16,
644 	VK_FORMAT_R8G8_SNORM = 17,
645 	VK_FORMAT_R8G8_USCALED = 18,
646 	VK_FORMAT_R8G8_SSCALED = 19,
647 	VK_FORMAT_R8G8_UINT = 20,
648 	VK_FORMAT_R8G8_SINT = 21,
649 	VK_FORMAT_R8G8_SRGB = 22,
650 	VK_FORMAT_R8G8B8_UNORM = 23,
651 	VK_FORMAT_R8G8B8_SNORM = 24,
652 	VK_FORMAT_R8G8B8_USCALED = 25,
653 	VK_FORMAT_R8G8B8_SSCALED = 26,
654 	VK_FORMAT_R8G8B8_UINT = 27,
655 	VK_FORMAT_R8G8B8_SINT = 28,
656 	VK_FORMAT_R8G8B8_SRGB = 29,
657 	VK_FORMAT_B8G8R8_UNORM = 30,
658 	VK_FORMAT_B8G8R8_SNORM = 31,
659 	VK_FORMAT_B8G8R8_USCALED = 32,
660 	VK_FORMAT_B8G8R8_SSCALED = 33,
661 	VK_FORMAT_B8G8R8_UINT = 34,
662 	VK_FORMAT_B8G8R8_SINT = 35,
663 	VK_FORMAT_B8G8R8_SRGB = 36,
664 	VK_FORMAT_R8G8B8A8_UNORM = 37,
665 	VK_FORMAT_R8G8B8A8_SNORM = 38,
666 	VK_FORMAT_R8G8B8A8_USCALED = 39,
667 	VK_FORMAT_R8G8B8A8_SSCALED = 40,
668 	VK_FORMAT_R8G8B8A8_UINT = 41,
669 	VK_FORMAT_R8G8B8A8_SINT = 42,
670 	VK_FORMAT_R8G8B8A8_SRGB = 43,
671 	VK_FORMAT_B8G8R8A8_UNORM = 44,
672 	VK_FORMAT_B8G8R8A8_SNORM = 45,
673 	VK_FORMAT_B8G8R8A8_USCALED = 46,
674 	VK_FORMAT_B8G8R8A8_SSCALED = 47,
675 	VK_FORMAT_B8G8R8A8_UINT = 48,
676 	VK_FORMAT_B8G8R8A8_SINT = 49,
677 	VK_FORMAT_B8G8R8A8_SRGB = 50,
678 	VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
679 	VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
680 	VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
681 	VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
682 	VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
683 	VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
684 	VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
685 	VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
686 	VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
687 	VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
688 	VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
689 	VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
690 	VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
691 	VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
692 	VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
693 	VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
694 	VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
695 	VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
696 	VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
697 	VK_FORMAT_R16_UNORM = 70,
698 	VK_FORMAT_R16_SNORM = 71,
699 	VK_FORMAT_R16_USCALED = 72,
700 	VK_FORMAT_R16_SSCALED = 73,
701 	VK_FORMAT_R16_UINT = 74,
702 	VK_FORMAT_R16_SINT = 75,
703 	VK_FORMAT_R16_SFLOAT = 76,
704 	VK_FORMAT_R16G16_UNORM = 77,
705 	VK_FORMAT_R16G16_SNORM = 78,
706 	VK_FORMAT_R16G16_USCALED = 79,
707 	VK_FORMAT_R16G16_SSCALED = 80,
708 	VK_FORMAT_R16G16_UINT = 81,
709 	VK_FORMAT_R16G16_SINT = 82,
710 	VK_FORMAT_R16G16_SFLOAT = 83,
711 	VK_FORMAT_R16G16B16_UNORM = 84,
712 	VK_FORMAT_R16G16B16_SNORM = 85,
713 	VK_FORMAT_R16G16B16_USCALED = 86,
714 	VK_FORMAT_R16G16B16_SSCALED = 87,
715 	VK_FORMAT_R16G16B16_UINT = 88,
716 	VK_FORMAT_R16G16B16_SINT = 89,
717 	VK_FORMAT_R16G16B16_SFLOAT = 90,
718 	VK_FORMAT_R16G16B16A16_UNORM = 91,
719 	VK_FORMAT_R16G16B16A16_SNORM = 92,
720 	VK_FORMAT_R16G16B16A16_USCALED = 93,
721 	VK_FORMAT_R16G16B16A16_SSCALED = 94,
722 	VK_FORMAT_R16G16B16A16_UINT = 95,
723 	VK_FORMAT_R16G16B16A16_SINT = 96,
724 	VK_FORMAT_R16G16B16A16_SFLOAT = 97,
725 	VK_FORMAT_R32_UINT = 98,
726 	VK_FORMAT_R32_SINT = 99,
727 	VK_FORMAT_R32_SFLOAT = 100,
728 	VK_FORMAT_R32G32_UINT = 101,
729 	VK_FORMAT_R32G32_SINT = 102,
730 	VK_FORMAT_R32G32_SFLOAT = 103,
731 	VK_FORMAT_R32G32B32_UINT = 104,
732 	VK_FORMAT_R32G32B32_SINT = 105,
733 	VK_FORMAT_R32G32B32_SFLOAT = 106,
734 	VK_FORMAT_R32G32B32A32_UINT = 107,
735 	VK_FORMAT_R32G32B32A32_SINT = 108,
736 	VK_FORMAT_R32G32B32A32_SFLOAT = 109,
737 	VK_FORMAT_R64_UINT = 110,
738 	VK_FORMAT_R64_SINT = 111,
739 	VK_FORMAT_R64_SFLOAT = 112,
740 	VK_FORMAT_R64G64_UINT = 113,
741 	VK_FORMAT_R64G64_SINT = 114,
742 	VK_FORMAT_R64G64_SFLOAT = 115,
743 	VK_FORMAT_R64G64B64_UINT = 116,
744 	VK_FORMAT_R64G64B64_SINT = 117,
745 	VK_FORMAT_R64G64B64_SFLOAT = 118,
746 	VK_FORMAT_R64G64B64A64_UINT = 119,
747 	VK_FORMAT_R64G64B64A64_SINT = 120,
748 	VK_FORMAT_R64G64B64A64_SFLOAT = 121,
749 	VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
750 	VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
751 	VK_FORMAT_D16_UNORM = 124,
752 	VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
753 	VK_FORMAT_D32_SFLOAT = 126,
754 	VK_FORMAT_S8_UINT = 127,
755 	VK_FORMAT_D16_UNORM_S8_UINT = 128,
756 	VK_FORMAT_D24_UNORM_S8_UINT = 129,
757 	VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
758 	VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
759 	VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
760 	VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
761 	VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
762 	VK_FORMAT_BC2_UNORM_BLOCK = 135,
763 	VK_FORMAT_BC2_SRGB_BLOCK = 136,
764 	VK_FORMAT_BC3_UNORM_BLOCK = 137,
765 	VK_FORMAT_BC3_SRGB_BLOCK = 138,
766 	VK_FORMAT_BC4_UNORM_BLOCK = 139,
767 	VK_FORMAT_BC4_SNORM_BLOCK = 140,
768 	VK_FORMAT_BC5_UNORM_BLOCK = 141,
769 	VK_FORMAT_BC5_SNORM_BLOCK = 142,
770 	VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
771 	VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
772 	VK_FORMAT_BC7_UNORM_BLOCK = 145,
773 	VK_FORMAT_BC7_SRGB_BLOCK = 146,
774 	VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
775 	VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
776 	VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
777 	VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
778 	VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
779 	VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
780 	VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
781 	VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
782 	VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
783 	VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
784 	VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
785 	VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
786 	VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
787 	VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
788 	VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
789 	VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
790 	VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
791 	VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
792 	VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
793 	VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
794 	VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
795 	VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
796 	VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
797 	VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
798 	VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
799 	VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
800 	VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
801 	VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
802 	VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
803 	VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
804 	VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
805 	VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
806 	VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
807 	VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
808 	VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
809 	VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
810 	VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
811 	VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
812 	VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
813 	VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
814 	VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
815 	VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
816 	VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
817 	VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
818 	VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
819 	VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
820 	VK_FORMAT_G8B8G8R8_422_UNORM_KHR = 1000156000,
821 	VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001,
822 	VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002,
823 	VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = 1000156003,
824 	VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = 1000156004,
825 	VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = 1000156005,
826 	VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = 1000156006,
827 	VK_FORMAT_R10X6_UNORM_PACK16_KHR = 1000156007,
828 	VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = 1000156008,
829 	VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = 1000156009,
830 	VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = 1000156010,
831 	VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = 1000156011,
832 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = 1000156012,
833 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = 1000156013,
834 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = 1000156014,
835 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = 1000156015,
836 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = 1000156016,
837 	VK_FORMAT_R12X4_UNORM_PACK16_KHR = 1000156017,
838 	VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = 1000156018,
839 	VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = 1000156019,
840 	VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = 1000156020,
841 	VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = 1000156021,
842 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = 1000156022,
843 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = 1000156023,
844 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = 1000156024,
845 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = 1000156025,
846 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = 1000156026,
847 	VK_FORMAT_G16B16G16R16_422_UNORM_KHR = 1000156027,
848 	VK_FORMAT_B16G16R16G16_422_UNORM_KHR = 1000156028,
849 	VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = 1000156029,
850 	VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = 1000156030,
851 	VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031,
852 	VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032,
853 	VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033,
854 	VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED,
855 	VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
856 	VK_FORMAT_RANGE_SIZE = ( VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1 ),
857 	VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
858 }
859 
860 // VkFormat global enums
861 enum VK_FORMAT_UNDEFINED = VkFormat.VK_FORMAT_UNDEFINED;
862 enum VK_FORMAT_R4G4_UNORM_PACK8 = VkFormat.VK_FORMAT_R4G4_UNORM_PACK8;
863 enum VK_FORMAT_R4G4B4A4_UNORM_PACK16 = VkFormat.VK_FORMAT_R4G4B4A4_UNORM_PACK16;
864 enum VK_FORMAT_B4G4R4A4_UNORM_PACK16 = VkFormat.VK_FORMAT_B4G4R4A4_UNORM_PACK16;
865 enum VK_FORMAT_R5G6B5_UNORM_PACK16 = VkFormat.VK_FORMAT_R5G6B5_UNORM_PACK16;
866 enum VK_FORMAT_B5G6R5_UNORM_PACK16 = VkFormat.VK_FORMAT_B5G6R5_UNORM_PACK16;
867 enum VK_FORMAT_R5G5B5A1_UNORM_PACK16 = VkFormat.VK_FORMAT_R5G5B5A1_UNORM_PACK16;
868 enum VK_FORMAT_B5G5R5A1_UNORM_PACK16 = VkFormat.VK_FORMAT_B5G5R5A1_UNORM_PACK16;
869 enum VK_FORMAT_A1R5G5B5_UNORM_PACK16 = VkFormat.VK_FORMAT_A1R5G5B5_UNORM_PACK16;
870 enum VK_FORMAT_R8_UNORM = VkFormat.VK_FORMAT_R8_UNORM;
871 enum VK_FORMAT_R8_SNORM = VkFormat.VK_FORMAT_R8_SNORM;
872 enum VK_FORMAT_R8_USCALED = VkFormat.VK_FORMAT_R8_USCALED;
873 enum VK_FORMAT_R8_SSCALED = VkFormat.VK_FORMAT_R8_SSCALED;
874 enum VK_FORMAT_R8_UINT = VkFormat.VK_FORMAT_R8_UINT;
875 enum VK_FORMAT_R8_SINT = VkFormat.VK_FORMAT_R8_SINT;
876 enum VK_FORMAT_R8_SRGB = VkFormat.VK_FORMAT_R8_SRGB;
877 enum VK_FORMAT_R8G8_UNORM = VkFormat.VK_FORMAT_R8G8_UNORM;
878 enum VK_FORMAT_R8G8_SNORM = VkFormat.VK_FORMAT_R8G8_SNORM;
879 enum VK_FORMAT_R8G8_USCALED = VkFormat.VK_FORMAT_R8G8_USCALED;
880 enum VK_FORMAT_R8G8_SSCALED = VkFormat.VK_FORMAT_R8G8_SSCALED;
881 enum VK_FORMAT_R8G8_UINT = VkFormat.VK_FORMAT_R8G8_UINT;
882 enum VK_FORMAT_R8G8_SINT = VkFormat.VK_FORMAT_R8G8_SINT;
883 enum VK_FORMAT_R8G8_SRGB = VkFormat.VK_FORMAT_R8G8_SRGB;
884 enum VK_FORMAT_R8G8B8_UNORM = VkFormat.VK_FORMAT_R8G8B8_UNORM;
885 enum VK_FORMAT_R8G8B8_SNORM = VkFormat.VK_FORMAT_R8G8B8_SNORM;
886 enum VK_FORMAT_R8G8B8_USCALED = VkFormat.VK_FORMAT_R8G8B8_USCALED;
887 enum VK_FORMAT_R8G8B8_SSCALED = VkFormat.VK_FORMAT_R8G8B8_SSCALED;
888 enum VK_FORMAT_R8G8B8_UINT = VkFormat.VK_FORMAT_R8G8B8_UINT;
889 enum VK_FORMAT_R8G8B8_SINT = VkFormat.VK_FORMAT_R8G8B8_SINT;
890 enum VK_FORMAT_R8G8B8_SRGB = VkFormat.VK_FORMAT_R8G8B8_SRGB;
891 enum VK_FORMAT_B8G8R8_UNORM = VkFormat.VK_FORMAT_B8G8R8_UNORM;
892 enum VK_FORMAT_B8G8R8_SNORM = VkFormat.VK_FORMAT_B8G8R8_SNORM;
893 enum VK_FORMAT_B8G8R8_USCALED = VkFormat.VK_FORMAT_B8G8R8_USCALED;
894 enum VK_FORMAT_B8G8R8_SSCALED = VkFormat.VK_FORMAT_B8G8R8_SSCALED;
895 enum VK_FORMAT_B8G8R8_UINT = VkFormat.VK_FORMAT_B8G8R8_UINT;
896 enum VK_FORMAT_B8G8R8_SINT = VkFormat.VK_FORMAT_B8G8R8_SINT;
897 enum VK_FORMAT_B8G8R8_SRGB = VkFormat.VK_FORMAT_B8G8R8_SRGB;
898 enum VK_FORMAT_R8G8B8A8_UNORM = VkFormat.VK_FORMAT_R8G8B8A8_UNORM;
899 enum VK_FORMAT_R8G8B8A8_SNORM = VkFormat.VK_FORMAT_R8G8B8A8_SNORM;
900 enum VK_FORMAT_R8G8B8A8_USCALED = VkFormat.VK_FORMAT_R8G8B8A8_USCALED;
901 enum VK_FORMAT_R8G8B8A8_SSCALED = VkFormat.VK_FORMAT_R8G8B8A8_SSCALED;
902 enum VK_FORMAT_R8G8B8A8_UINT = VkFormat.VK_FORMAT_R8G8B8A8_UINT;
903 enum VK_FORMAT_R8G8B8A8_SINT = VkFormat.VK_FORMAT_R8G8B8A8_SINT;
904 enum VK_FORMAT_R8G8B8A8_SRGB = VkFormat.VK_FORMAT_R8G8B8A8_SRGB;
905 enum VK_FORMAT_B8G8R8A8_UNORM = VkFormat.VK_FORMAT_B8G8R8A8_UNORM;
906 enum VK_FORMAT_B8G8R8A8_SNORM = VkFormat.VK_FORMAT_B8G8R8A8_SNORM;
907 enum VK_FORMAT_B8G8R8A8_USCALED = VkFormat.VK_FORMAT_B8G8R8A8_USCALED;
908 enum VK_FORMAT_B8G8R8A8_SSCALED = VkFormat.VK_FORMAT_B8G8R8A8_SSCALED;
909 enum VK_FORMAT_B8G8R8A8_UINT = VkFormat.VK_FORMAT_B8G8R8A8_UINT;
910 enum VK_FORMAT_B8G8R8A8_SINT = VkFormat.VK_FORMAT_B8G8R8A8_SINT;
911 enum VK_FORMAT_B8G8R8A8_SRGB = VkFormat.VK_FORMAT_B8G8R8A8_SRGB;
912 enum VK_FORMAT_A8B8G8R8_UNORM_PACK32 = VkFormat.VK_FORMAT_A8B8G8R8_UNORM_PACK32;
913 enum VK_FORMAT_A8B8G8R8_SNORM_PACK32 = VkFormat.VK_FORMAT_A8B8G8R8_SNORM_PACK32;
914 enum VK_FORMAT_A8B8G8R8_USCALED_PACK32 = VkFormat.VK_FORMAT_A8B8G8R8_USCALED_PACK32;
915 enum VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = VkFormat.VK_FORMAT_A8B8G8R8_SSCALED_PACK32;
916 enum VK_FORMAT_A8B8G8R8_UINT_PACK32 = VkFormat.VK_FORMAT_A8B8G8R8_UINT_PACK32;
917 enum VK_FORMAT_A8B8G8R8_SINT_PACK32 = VkFormat.VK_FORMAT_A8B8G8R8_SINT_PACK32;
918 enum VK_FORMAT_A8B8G8R8_SRGB_PACK32 = VkFormat.VK_FORMAT_A8B8G8R8_SRGB_PACK32;
919 enum VK_FORMAT_A2R10G10B10_UNORM_PACK32 = VkFormat.VK_FORMAT_A2R10G10B10_UNORM_PACK32;
920 enum VK_FORMAT_A2R10G10B10_SNORM_PACK32 = VkFormat.VK_FORMAT_A2R10G10B10_SNORM_PACK32;
921 enum VK_FORMAT_A2R10G10B10_USCALED_PACK32 = VkFormat.VK_FORMAT_A2R10G10B10_USCALED_PACK32;
922 enum VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = VkFormat.VK_FORMAT_A2R10G10B10_SSCALED_PACK32;
923 enum VK_FORMAT_A2R10G10B10_UINT_PACK32 = VkFormat.VK_FORMAT_A2R10G10B10_UINT_PACK32;
924 enum VK_FORMAT_A2R10G10B10_SINT_PACK32 = VkFormat.VK_FORMAT_A2R10G10B10_SINT_PACK32;
925 enum VK_FORMAT_A2B10G10R10_UNORM_PACK32 = VkFormat.VK_FORMAT_A2B10G10R10_UNORM_PACK32;
926 enum VK_FORMAT_A2B10G10R10_SNORM_PACK32 = VkFormat.VK_FORMAT_A2B10G10R10_SNORM_PACK32;
927 enum VK_FORMAT_A2B10G10R10_USCALED_PACK32 = VkFormat.VK_FORMAT_A2B10G10R10_USCALED_PACK32;
928 enum VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = VkFormat.VK_FORMAT_A2B10G10R10_SSCALED_PACK32;
929 enum VK_FORMAT_A2B10G10R10_UINT_PACK32 = VkFormat.VK_FORMAT_A2B10G10R10_UINT_PACK32;
930 enum VK_FORMAT_A2B10G10R10_SINT_PACK32 = VkFormat.VK_FORMAT_A2B10G10R10_SINT_PACK32;
931 enum VK_FORMAT_R16_UNORM = VkFormat.VK_FORMAT_R16_UNORM;
932 enum VK_FORMAT_R16_SNORM = VkFormat.VK_FORMAT_R16_SNORM;
933 enum VK_FORMAT_R16_USCALED = VkFormat.VK_FORMAT_R16_USCALED;
934 enum VK_FORMAT_R16_SSCALED = VkFormat.VK_FORMAT_R16_SSCALED;
935 enum VK_FORMAT_R16_UINT = VkFormat.VK_FORMAT_R16_UINT;
936 enum VK_FORMAT_R16_SINT = VkFormat.VK_FORMAT_R16_SINT;
937 enum VK_FORMAT_R16_SFLOAT = VkFormat.VK_FORMAT_R16_SFLOAT;
938 enum VK_FORMAT_R16G16_UNORM = VkFormat.VK_FORMAT_R16G16_UNORM;
939 enum VK_FORMAT_R16G16_SNORM = VkFormat.VK_FORMAT_R16G16_SNORM;
940 enum VK_FORMAT_R16G16_USCALED = VkFormat.VK_FORMAT_R16G16_USCALED;
941 enum VK_FORMAT_R16G16_SSCALED = VkFormat.VK_FORMAT_R16G16_SSCALED;
942 enum VK_FORMAT_R16G16_UINT = VkFormat.VK_FORMAT_R16G16_UINT;
943 enum VK_FORMAT_R16G16_SINT = VkFormat.VK_FORMAT_R16G16_SINT;
944 enum VK_FORMAT_R16G16_SFLOAT = VkFormat.VK_FORMAT_R16G16_SFLOAT;
945 enum VK_FORMAT_R16G16B16_UNORM = VkFormat.VK_FORMAT_R16G16B16_UNORM;
946 enum VK_FORMAT_R16G16B16_SNORM = VkFormat.VK_FORMAT_R16G16B16_SNORM;
947 enum VK_FORMAT_R16G16B16_USCALED = VkFormat.VK_FORMAT_R16G16B16_USCALED;
948 enum VK_FORMAT_R16G16B16_SSCALED = VkFormat.VK_FORMAT_R16G16B16_SSCALED;
949 enum VK_FORMAT_R16G16B16_UINT = VkFormat.VK_FORMAT_R16G16B16_UINT;
950 enum VK_FORMAT_R16G16B16_SINT = VkFormat.VK_FORMAT_R16G16B16_SINT;
951 enum VK_FORMAT_R16G16B16_SFLOAT = VkFormat.VK_FORMAT_R16G16B16_SFLOAT;
952 enum VK_FORMAT_R16G16B16A16_UNORM = VkFormat.VK_FORMAT_R16G16B16A16_UNORM;
953 enum VK_FORMAT_R16G16B16A16_SNORM = VkFormat.VK_FORMAT_R16G16B16A16_SNORM;
954 enum VK_FORMAT_R16G16B16A16_USCALED = VkFormat.VK_FORMAT_R16G16B16A16_USCALED;
955 enum VK_FORMAT_R16G16B16A16_SSCALED = VkFormat.VK_FORMAT_R16G16B16A16_SSCALED;
956 enum VK_FORMAT_R16G16B16A16_UINT = VkFormat.VK_FORMAT_R16G16B16A16_UINT;
957 enum VK_FORMAT_R16G16B16A16_SINT = VkFormat.VK_FORMAT_R16G16B16A16_SINT;
958 enum VK_FORMAT_R16G16B16A16_SFLOAT = VkFormat.VK_FORMAT_R16G16B16A16_SFLOAT;
959 enum VK_FORMAT_R32_UINT = VkFormat.VK_FORMAT_R32_UINT;
960 enum VK_FORMAT_R32_SINT = VkFormat.VK_FORMAT_R32_SINT;
961 enum VK_FORMAT_R32_SFLOAT = VkFormat.VK_FORMAT_R32_SFLOAT;
962 enum VK_FORMAT_R32G32_UINT = VkFormat.VK_FORMAT_R32G32_UINT;
963 enum VK_FORMAT_R32G32_SINT = VkFormat.VK_FORMAT_R32G32_SINT;
964 enum VK_FORMAT_R32G32_SFLOAT = VkFormat.VK_FORMAT_R32G32_SFLOAT;
965 enum VK_FORMAT_R32G32B32_UINT = VkFormat.VK_FORMAT_R32G32B32_UINT;
966 enum VK_FORMAT_R32G32B32_SINT = VkFormat.VK_FORMAT_R32G32B32_SINT;
967 enum VK_FORMAT_R32G32B32_SFLOAT = VkFormat.VK_FORMAT_R32G32B32_SFLOAT;
968 enum VK_FORMAT_R32G32B32A32_UINT = VkFormat.VK_FORMAT_R32G32B32A32_UINT;
969 enum VK_FORMAT_R32G32B32A32_SINT = VkFormat.VK_FORMAT_R32G32B32A32_SINT;
970 enum VK_FORMAT_R32G32B32A32_SFLOAT = VkFormat.VK_FORMAT_R32G32B32A32_SFLOAT;
971 enum VK_FORMAT_R64_UINT = VkFormat.VK_FORMAT_R64_UINT;
972 enum VK_FORMAT_R64_SINT = VkFormat.VK_FORMAT_R64_SINT;
973 enum VK_FORMAT_R64_SFLOAT = VkFormat.VK_FORMAT_R64_SFLOAT;
974 enum VK_FORMAT_R64G64_UINT = VkFormat.VK_FORMAT_R64G64_UINT;
975 enum VK_FORMAT_R64G64_SINT = VkFormat.VK_FORMAT_R64G64_SINT;
976 enum VK_FORMAT_R64G64_SFLOAT = VkFormat.VK_FORMAT_R64G64_SFLOAT;
977 enum VK_FORMAT_R64G64B64_UINT = VkFormat.VK_FORMAT_R64G64B64_UINT;
978 enum VK_FORMAT_R64G64B64_SINT = VkFormat.VK_FORMAT_R64G64B64_SINT;
979 enum VK_FORMAT_R64G64B64_SFLOAT = VkFormat.VK_FORMAT_R64G64B64_SFLOAT;
980 enum VK_FORMAT_R64G64B64A64_UINT = VkFormat.VK_FORMAT_R64G64B64A64_UINT;
981 enum VK_FORMAT_R64G64B64A64_SINT = VkFormat.VK_FORMAT_R64G64B64A64_SINT;
982 enum VK_FORMAT_R64G64B64A64_SFLOAT = VkFormat.VK_FORMAT_R64G64B64A64_SFLOAT;
983 enum VK_FORMAT_B10G11R11_UFLOAT_PACK32 = VkFormat.VK_FORMAT_B10G11R11_UFLOAT_PACK32;
984 enum VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = VkFormat.VK_FORMAT_E5B9G9R9_UFLOAT_PACK32;
985 enum VK_FORMAT_D16_UNORM = VkFormat.VK_FORMAT_D16_UNORM;
986 enum VK_FORMAT_X8_D24_UNORM_PACK32 = VkFormat.VK_FORMAT_X8_D24_UNORM_PACK32;
987 enum VK_FORMAT_D32_SFLOAT = VkFormat.VK_FORMAT_D32_SFLOAT;
988 enum VK_FORMAT_S8_UINT = VkFormat.VK_FORMAT_S8_UINT;
989 enum VK_FORMAT_D16_UNORM_S8_UINT = VkFormat.VK_FORMAT_D16_UNORM_S8_UINT;
990 enum VK_FORMAT_D24_UNORM_S8_UINT = VkFormat.VK_FORMAT_D24_UNORM_S8_UINT;
991 enum VK_FORMAT_D32_SFLOAT_S8_UINT = VkFormat.VK_FORMAT_D32_SFLOAT_S8_UINT;
992 enum VK_FORMAT_BC1_RGB_UNORM_BLOCK = VkFormat.VK_FORMAT_BC1_RGB_UNORM_BLOCK;
993 enum VK_FORMAT_BC1_RGB_SRGB_BLOCK = VkFormat.VK_FORMAT_BC1_RGB_SRGB_BLOCK;
994 enum VK_FORMAT_BC1_RGBA_UNORM_BLOCK = VkFormat.VK_FORMAT_BC1_RGBA_UNORM_BLOCK;
995 enum VK_FORMAT_BC1_RGBA_SRGB_BLOCK = VkFormat.VK_FORMAT_BC1_RGBA_SRGB_BLOCK;
996 enum VK_FORMAT_BC2_UNORM_BLOCK = VkFormat.VK_FORMAT_BC2_UNORM_BLOCK;
997 enum VK_FORMAT_BC2_SRGB_BLOCK = VkFormat.VK_FORMAT_BC2_SRGB_BLOCK;
998 enum VK_FORMAT_BC3_UNORM_BLOCK = VkFormat.VK_FORMAT_BC3_UNORM_BLOCK;
999 enum VK_FORMAT_BC3_SRGB_BLOCK = VkFormat.VK_FORMAT_BC3_SRGB_BLOCK;
1000 enum VK_FORMAT_BC4_UNORM_BLOCK = VkFormat.VK_FORMAT_BC4_UNORM_BLOCK;
1001 enum VK_FORMAT_BC4_SNORM_BLOCK = VkFormat.VK_FORMAT_BC4_SNORM_BLOCK;
1002 enum VK_FORMAT_BC5_UNORM_BLOCK = VkFormat.VK_FORMAT_BC5_UNORM_BLOCK;
1003 enum VK_FORMAT_BC5_SNORM_BLOCK = VkFormat.VK_FORMAT_BC5_SNORM_BLOCK;
1004 enum VK_FORMAT_BC6H_UFLOAT_BLOCK = VkFormat.VK_FORMAT_BC6H_UFLOAT_BLOCK;
1005 enum VK_FORMAT_BC6H_SFLOAT_BLOCK = VkFormat.VK_FORMAT_BC6H_SFLOAT_BLOCK;
1006 enum VK_FORMAT_BC7_UNORM_BLOCK = VkFormat.VK_FORMAT_BC7_UNORM_BLOCK;
1007 enum VK_FORMAT_BC7_SRGB_BLOCK = VkFormat.VK_FORMAT_BC7_SRGB_BLOCK;
1008 enum VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = VkFormat.VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK;
1009 enum VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = VkFormat.VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK;
1010 enum VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = VkFormat.VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK;
1011 enum VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = VkFormat.VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK;
1012 enum VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = VkFormat.VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK;
1013 enum VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = VkFormat.VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK;
1014 enum VK_FORMAT_EAC_R11_UNORM_BLOCK = VkFormat.VK_FORMAT_EAC_R11_UNORM_BLOCK;
1015 enum VK_FORMAT_EAC_R11_SNORM_BLOCK = VkFormat.VK_FORMAT_EAC_R11_SNORM_BLOCK;
1016 enum VK_FORMAT_EAC_R11G11_UNORM_BLOCK = VkFormat.VK_FORMAT_EAC_R11G11_UNORM_BLOCK;
1017 enum VK_FORMAT_EAC_R11G11_SNORM_BLOCK = VkFormat.VK_FORMAT_EAC_R11G11_SNORM_BLOCK;
1018 enum VK_FORMAT_ASTC_4x4_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_4x4_UNORM_BLOCK;
1019 enum VK_FORMAT_ASTC_4x4_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_4x4_SRGB_BLOCK;
1020 enum VK_FORMAT_ASTC_5x4_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_5x4_UNORM_BLOCK;
1021 enum VK_FORMAT_ASTC_5x4_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_5x4_SRGB_BLOCK;
1022 enum VK_FORMAT_ASTC_5x5_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_5x5_UNORM_BLOCK;
1023 enum VK_FORMAT_ASTC_5x5_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_5x5_SRGB_BLOCK;
1024 enum VK_FORMAT_ASTC_6x5_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_6x5_UNORM_BLOCK;
1025 enum VK_FORMAT_ASTC_6x5_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_6x5_SRGB_BLOCK;
1026 enum VK_FORMAT_ASTC_6x6_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_6x6_UNORM_BLOCK;
1027 enum VK_FORMAT_ASTC_6x6_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_6x6_SRGB_BLOCK;
1028 enum VK_FORMAT_ASTC_8x5_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_8x5_UNORM_BLOCK;
1029 enum VK_FORMAT_ASTC_8x5_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_8x5_SRGB_BLOCK;
1030 enum VK_FORMAT_ASTC_8x6_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_8x6_UNORM_BLOCK;
1031 enum VK_FORMAT_ASTC_8x6_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_8x6_SRGB_BLOCK;
1032 enum VK_FORMAT_ASTC_8x8_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_8x8_UNORM_BLOCK;
1033 enum VK_FORMAT_ASTC_8x8_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_8x8_SRGB_BLOCK;
1034 enum VK_FORMAT_ASTC_10x5_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_10x5_UNORM_BLOCK;
1035 enum VK_FORMAT_ASTC_10x5_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_10x5_SRGB_BLOCK;
1036 enum VK_FORMAT_ASTC_10x6_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_10x6_UNORM_BLOCK;
1037 enum VK_FORMAT_ASTC_10x6_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_10x6_SRGB_BLOCK;
1038 enum VK_FORMAT_ASTC_10x8_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_10x8_UNORM_BLOCK;
1039 enum VK_FORMAT_ASTC_10x8_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_10x8_SRGB_BLOCK;
1040 enum VK_FORMAT_ASTC_10x10_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_10x10_UNORM_BLOCK;
1041 enum VK_FORMAT_ASTC_10x10_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_10x10_SRGB_BLOCK;
1042 enum VK_FORMAT_ASTC_12x10_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_12x10_UNORM_BLOCK;
1043 enum VK_FORMAT_ASTC_12x10_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_12x10_SRGB_BLOCK;
1044 enum VK_FORMAT_ASTC_12x12_UNORM_BLOCK = VkFormat.VK_FORMAT_ASTC_12x12_UNORM_BLOCK;
1045 enum VK_FORMAT_ASTC_12x12_SRGB_BLOCK = VkFormat.VK_FORMAT_ASTC_12x12_SRGB_BLOCK;
1046 enum VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = VkFormat.VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG;
1047 enum VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = VkFormat.VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG;
1048 enum VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = VkFormat.VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG;
1049 enum VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = VkFormat.VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG;
1050 enum VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = VkFormat.VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG;
1051 enum VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = VkFormat.VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG;
1052 enum VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = VkFormat.VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG;
1053 enum VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = VkFormat.VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG;
1054 enum VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VkFormat.VK_FORMAT_G8B8G8R8_422_UNORM_KHR;
1055 enum VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VkFormat.VK_FORMAT_B8G8R8G8_422_UNORM_KHR;
1056 enum VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR;
1057 enum VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR;
1058 enum VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR;
1059 enum VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VkFormat.VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR;
1060 enum VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VkFormat.VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR;
1061 enum VK_FORMAT_R10X6_UNORM_PACK16_KHR = VkFormat.VK_FORMAT_R10X6_UNORM_PACK16_KHR;
1062 enum VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VkFormat.VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR;
1063 enum VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VkFormat.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR;
1064 enum VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VkFormat.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR;
1065 enum VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VkFormat.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR;
1066 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR;
1067 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR;
1068 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR;
1069 enum VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR;
1070 enum VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR;
1071 enum VK_FORMAT_R12X4_UNORM_PACK16_KHR = VkFormat.VK_FORMAT_R12X4_UNORM_PACK16_KHR;
1072 enum VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VkFormat.VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR;
1073 enum VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VkFormat.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR;
1074 enum VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VkFormat.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR;
1075 enum VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VkFormat.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR;
1076 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR;
1077 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR;
1078 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR;
1079 enum VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR;
1080 enum VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VkFormat.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR;
1081 enum VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VkFormat.VK_FORMAT_G16B16G16R16_422_UNORM_KHR;
1082 enum VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VkFormat.VK_FORMAT_B16G16R16G16_422_UNORM_KHR;
1083 enum VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR;
1084 enum VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR;
1085 enum VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR;
1086 enum VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VkFormat.VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR;
1087 enum VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VkFormat.VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR;
1088 enum VK_FORMAT_BEGIN_RANGE = VkFormat.VK_FORMAT_BEGIN_RANGE;
1089 enum VK_FORMAT_END_RANGE = VkFormat.VK_FORMAT_END_RANGE;
1090 enum VK_FORMAT_RANGE_SIZE = VkFormat.VK_FORMAT_RANGE_SIZE;
1091 enum VK_FORMAT_MAX_ENUM = VkFormat.VK_FORMAT_MAX_ENUM;
1092 
1093 enum VkImageType {
1094 	VK_IMAGE_TYPE_1D = 0,
1095 	VK_IMAGE_TYPE_2D = 1,
1096 	VK_IMAGE_TYPE_3D = 2,
1097 	VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D,
1098 	VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D,
1099 	VK_IMAGE_TYPE_RANGE_SIZE = ( VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1 ),
1100 	VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1101 }
1102 
1103 // VkImageType global enums
1104 enum VK_IMAGE_TYPE_1D = VkImageType.VK_IMAGE_TYPE_1D;
1105 enum VK_IMAGE_TYPE_2D = VkImageType.VK_IMAGE_TYPE_2D;
1106 enum VK_IMAGE_TYPE_3D = VkImageType.VK_IMAGE_TYPE_3D;
1107 enum VK_IMAGE_TYPE_BEGIN_RANGE = VkImageType.VK_IMAGE_TYPE_BEGIN_RANGE;
1108 enum VK_IMAGE_TYPE_END_RANGE = VkImageType.VK_IMAGE_TYPE_END_RANGE;
1109 enum VK_IMAGE_TYPE_RANGE_SIZE = VkImageType.VK_IMAGE_TYPE_RANGE_SIZE;
1110 enum VK_IMAGE_TYPE_MAX_ENUM = VkImageType.VK_IMAGE_TYPE_MAX_ENUM;
1111 
1112 enum VkImageTiling {
1113 	VK_IMAGE_TILING_OPTIMAL = 0,
1114 	VK_IMAGE_TILING_LINEAR = 1,
1115 	VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL,
1116 	VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR,
1117 	VK_IMAGE_TILING_RANGE_SIZE = ( VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1 ),
1118 	VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1119 }
1120 
1121 // VkImageTiling global enums
1122 enum VK_IMAGE_TILING_OPTIMAL = VkImageTiling.VK_IMAGE_TILING_OPTIMAL;
1123 enum VK_IMAGE_TILING_LINEAR = VkImageTiling.VK_IMAGE_TILING_LINEAR;
1124 enum VK_IMAGE_TILING_BEGIN_RANGE = VkImageTiling.VK_IMAGE_TILING_BEGIN_RANGE;
1125 enum VK_IMAGE_TILING_END_RANGE = VkImageTiling.VK_IMAGE_TILING_END_RANGE;
1126 enum VK_IMAGE_TILING_RANGE_SIZE = VkImageTiling.VK_IMAGE_TILING_RANGE_SIZE;
1127 enum VK_IMAGE_TILING_MAX_ENUM = VkImageTiling.VK_IMAGE_TILING_MAX_ENUM;
1128 
1129 enum VkPhysicalDeviceType {
1130 	VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1131 	VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1132 	VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1133 	VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1134 	VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1135 	VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER,
1136 	VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU,
1137 	VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = ( VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1 ),
1138 	VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1139 }
1140 
1141 // VkPhysicalDeviceType global enums
1142 enum VK_PHYSICAL_DEVICE_TYPE_OTHER = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_OTHER;
1143 enum VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
1144 enum VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
1145 enum VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU;
1146 enum VK_PHYSICAL_DEVICE_TYPE_CPU = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_CPU;
1147 enum VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE;
1148 enum VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_END_RANGE;
1149 enum VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE;
1150 enum VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = VkPhysicalDeviceType.VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM;
1151 
1152 enum VkQueryType {
1153 	VK_QUERY_TYPE_OCCLUSION = 0,
1154 	VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1155 	VK_QUERY_TYPE_TIMESTAMP = 2,
1156 	VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION,
1157 	VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP,
1158 	VK_QUERY_TYPE_RANGE_SIZE = ( VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1 ),
1159 	VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1160 }
1161 
1162 // VkQueryType global enums
1163 enum VK_QUERY_TYPE_OCCLUSION = VkQueryType.VK_QUERY_TYPE_OCCLUSION;
1164 enum VK_QUERY_TYPE_PIPELINE_STATISTICS = VkQueryType.VK_QUERY_TYPE_PIPELINE_STATISTICS;
1165 enum VK_QUERY_TYPE_TIMESTAMP = VkQueryType.VK_QUERY_TYPE_TIMESTAMP;
1166 enum VK_QUERY_TYPE_BEGIN_RANGE = VkQueryType.VK_QUERY_TYPE_BEGIN_RANGE;
1167 enum VK_QUERY_TYPE_END_RANGE = VkQueryType.VK_QUERY_TYPE_END_RANGE;
1168 enum VK_QUERY_TYPE_RANGE_SIZE = VkQueryType.VK_QUERY_TYPE_RANGE_SIZE;
1169 enum VK_QUERY_TYPE_MAX_ENUM = VkQueryType.VK_QUERY_TYPE_MAX_ENUM;
1170 
1171 enum VkSharingMode {
1172 	VK_SHARING_MODE_EXCLUSIVE = 0,
1173 	VK_SHARING_MODE_CONCURRENT = 1,
1174 	VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE,
1175 	VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT,
1176 	VK_SHARING_MODE_RANGE_SIZE = ( VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1 ),
1177 	VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1178 }
1179 
1180 // VkSharingMode global enums
1181 enum VK_SHARING_MODE_EXCLUSIVE = VkSharingMode.VK_SHARING_MODE_EXCLUSIVE;
1182 enum VK_SHARING_MODE_CONCURRENT = VkSharingMode.VK_SHARING_MODE_CONCURRENT;
1183 enum VK_SHARING_MODE_BEGIN_RANGE = VkSharingMode.VK_SHARING_MODE_BEGIN_RANGE;
1184 enum VK_SHARING_MODE_END_RANGE = VkSharingMode.VK_SHARING_MODE_END_RANGE;
1185 enum VK_SHARING_MODE_RANGE_SIZE = VkSharingMode.VK_SHARING_MODE_RANGE_SIZE;
1186 enum VK_SHARING_MODE_MAX_ENUM = VkSharingMode.VK_SHARING_MODE_MAX_ENUM;
1187 
1188 enum VkImageLayout {
1189 	VK_IMAGE_LAYOUT_UNDEFINED = 0,
1190 	VK_IMAGE_LAYOUT_GENERAL = 1,
1191 	VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1192 	VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1193 	VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1194 	VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1195 	VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1196 	VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1197 	VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1198 	VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1199 	VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1200 	VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000,
1201 	VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001,
1202 	VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED,
1203 	VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED,
1204 	VK_IMAGE_LAYOUT_RANGE_SIZE = ( VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1 ),
1205 	VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1206 }
1207 
1208 // VkImageLayout global enums
1209 enum VK_IMAGE_LAYOUT_UNDEFINED = VkImageLayout.VK_IMAGE_LAYOUT_UNDEFINED;
1210 enum VK_IMAGE_LAYOUT_GENERAL = VkImageLayout.VK_IMAGE_LAYOUT_GENERAL;
1211 enum VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = VkImageLayout.VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
1212 enum VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
1213 enum VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL;
1214 enum VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = VkImageLayout.VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
1215 enum VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = VkImageLayout.VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
1216 enum VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = VkImageLayout.VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
1217 enum VK_IMAGE_LAYOUT_PREINITIALIZED = VkImageLayout.VK_IMAGE_LAYOUT_PREINITIALIZED;
1218 enum VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = VkImageLayout.VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
1219 enum VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = VkImageLayout.VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR;
1220 enum VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR;
1221 enum VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VkImageLayout.VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR;
1222 enum VK_IMAGE_LAYOUT_BEGIN_RANGE = VkImageLayout.VK_IMAGE_LAYOUT_BEGIN_RANGE;
1223 enum VK_IMAGE_LAYOUT_END_RANGE = VkImageLayout.VK_IMAGE_LAYOUT_END_RANGE;
1224 enum VK_IMAGE_LAYOUT_RANGE_SIZE = VkImageLayout.VK_IMAGE_LAYOUT_RANGE_SIZE;
1225 enum VK_IMAGE_LAYOUT_MAX_ENUM = VkImageLayout.VK_IMAGE_LAYOUT_MAX_ENUM;
1226 
1227 enum VkImageViewType {
1228 	VK_IMAGE_VIEW_TYPE_1D = 0,
1229 	VK_IMAGE_VIEW_TYPE_2D = 1,
1230 	VK_IMAGE_VIEW_TYPE_3D = 2,
1231 	VK_IMAGE_VIEW_TYPE_CUBE = 3,
1232 	VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1233 	VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1234 	VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1235 	VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D,
1236 	VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY,
1237 	VK_IMAGE_VIEW_TYPE_RANGE_SIZE = ( VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1 ),
1238 	VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1239 }
1240 
1241 // VkImageViewType global enums
1242 enum VK_IMAGE_VIEW_TYPE_1D = VkImageViewType.VK_IMAGE_VIEW_TYPE_1D;
1243 enum VK_IMAGE_VIEW_TYPE_2D = VkImageViewType.VK_IMAGE_VIEW_TYPE_2D;
1244 enum VK_IMAGE_VIEW_TYPE_3D = VkImageViewType.VK_IMAGE_VIEW_TYPE_3D;
1245 enum VK_IMAGE_VIEW_TYPE_CUBE = VkImageViewType.VK_IMAGE_VIEW_TYPE_CUBE;
1246 enum VK_IMAGE_VIEW_TYPE_1D_ARRAY = VkImageViewType.VK_IMAGE_VIEW_TYPE_1D_ARRAY;
1247 enum VK_IMAGE_VIEW_TYPE_2D_ARRAY = VkImageViewType.VK_IMAGE_VIEW_TYPE_2D_ARRAY;
1248 enum VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = VkImageViewType.VK_IMAGE_VIEW_TYPE_CUBE_ARRAY;
1249 enum VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VkImageViewType.VK_IMAGE_VIEW_TYPE_BEGIN_RANGE;
1250 enum VK_IMAGE_VIEW_TYPE_END_RANGE = VkImageViewType.VK_IMAGE_VIEW_TYPE_END_RANGE;
1251 enum VK_IMAGE_VIEW_TYPE_RANGE_SIZE = VkImageViewType.VK_IMAGE_VIEW_TYPE_RANGE_SIZE;
1252 enum VK_IMAGE_VIEW_TYPE_MAX_ENUM = VkImageViewType.VK_IMAGE_VIEW_TYPE_MAX_ENUM;
1253 
1254 enum VkComponentSwizzle {
1255 	VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1256 	VK_COMPONENT_SWIZZLE_ZERO = 1,
1257 	VK_COMPONENT_SWIZZLE_ONE = 2,
1258 	VK_COMPONENT_SWIZZLE_R = 3,
1259 	VK_COMPONENT_SWIZZLE_G = 4,
1260 	VK_COMPONENT_SWIZZLE_B = 5,
1261 	VK_COMPONENT_SWIZZLE_A = 6,
1262 	VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY,
1263 	VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A,
1264 	VK_COMPONENT_SWIZZLE_RANGE_SIZE = ( VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1 ),
1265 	VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1266 }
1267 
1268 // VkComponentSwizzle global enums
1269 enum VK_COMPONENT_SWIZZLE_IDENTITY = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_IDENTITY;
1270 enum VK_COMPONENT_SWIZZLE_ZERO = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_ZERO;
1271 enum VK_COMPONENT_SWIZZLE_ONE = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_ONE;
1272 enum VK_COMPONENT_SWIZZLE_R = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_R;
1273 enum VK_COMPONENT_SWIZZLE_G = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_G;
1274 enum VK_COMPONENT_SWIZZLE_B = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_B;
1275 enum VK_COMPONENT_SWIZZLE_A = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_A;
1276 enum VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_BEGIN_RANGE;
1277 enum VK_COMPONENT_SWIZZLE_END_RANGE = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_END_RANGE;
1278 enum VK_COMPONENT_SWIZZLE_RANGE_SIZE = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_RANGE_SIZE;
1279 enum VK_COMPONENT_SWIZZLE_MAX_ENUM = VkComponentSwizzle.VK_COMPONENT_SWIZZLE_MAX_ENUM;
1280 
1281 enum VkVertexInputRate {
1282 	VK_VERTEX_INPUT_RATE_VERTEX = 0,
1283 	VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1284 	VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX,
1285 	VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE,
1286 	VK_VERTEX_INPUT_RATE_RANGE_SIZE = ( VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1 ),
1287 	VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1288 }
1289 
1290 // VkVertexInputRate global enums
1291 enum VK_VERTEX_INPUT_RATE_VERTEX = VkVertexInputRate.VK_VERTEX_INPUT_RATE_VERTEX;
1292 enum VK_VERTEX_INPUT_RATE_INSTANCE = VkVertexInputRate.VK_VERTEX_INPUT_RATE_INSTANCE;
1293 enum VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VkVertexInputRate.VK_VERTEX_INPUT_RATE_BEGIN_RANGE;
1294 enum VK_VERTEX_INPUT_RATE_END_RANGE = VkVertexInputRate.VK_VERTEX_INPUT_RATE_END_RANGE;
1295 enum VK_VERTEX_INPUT_RATE_RANGE_SIZE = VkVertexInputRate.VK_VERTEX_INPUT_RATE_RANGE_SIZE;
1296 enum VK_VERTEX_INPUT_RATE_MAX_ENUM = VkVertexInputRate.VK_VERTEX_INPUT_RATE_MAX_ENUM;
1297 
1298 enum VkPrimitiveTopology {
1299 	VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1300 	VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1301 	VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1302 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1303 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1304 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1305 	VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1306 	VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1307 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1308 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1309 	VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1310 	VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
1311 	VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,
1312 	VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = ( VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1 ),
1313 	VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1314 }
1315 
1316 // VkPrimitiveTopology global enums
1317 enum VK_PRIMITIVE_TOPOLOGY_POINT_LIST = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
1318 enum VK_PRIMITIVE_TOPOLOGY_LINE_LIST = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_LIST;
1319 enum VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_STRIP;
1320 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
1321 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
1322 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN;
1323 enum VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY;
1324 enum VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY;
1325 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY;
1326 enum VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY;
1327 enum VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_PATCH_LIST;
1328 enum VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE;
1329 enum VK_PRIMITIVE_TOPOLOGY_END_RANGE = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_END_RANGE;
1330 enum VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE;
1331 enum VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = VkPrimitiveTopology.VK_PRIMITIVE_TOPOLOGY_MAX_ENUM;
1332 
1333 enum VkPolygonMode {
1334 	VK_POLYGON_MODE_FILL = 0,
1335 	VK_POLYGON_MODE_LINE = 1,
1336 	VK_POLYGON_MODE_POINT = 2,
1337 	VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1338 	VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL,
1339 	VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT,
1340 	VK_POLYGON_MODE_RANGE_SIZE = ( VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1 ),
1341 	VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1342 }
1343 
1344 // VkPolygonMode global enums
1345 enum VK_POLYGON_MODE_FILL = VkPolygonMode.VK_POLYGON_MODE_FILL;
1346 enum VK_POLYGON_MODE_LINE = VkPolygonMode.VK_POLYGON_MODE_LINE;
1347 enum VK_POLYGON_MODE_POINT = VkPolygonMode.VK_POLYGON_MODE_POINT;
1348 enum VK_POLYGON_MODE_FILL_RECTANGLE_NV = VkPolygonMode.VK_POLYGON_MODE_FILL_RECTANGLE_NV;
1349 enum VK_POLYGON_MODE_BEGIN_RANGE = VkPolygonMode.VK_POLYGON_MODE_BEGIN_RANGE;
1350 enum VK_POLYGON_MODE_END_RANGE = VkPolygonMode.VK_POLYGON_MODE_END_RANGE;
1351 enum VK_POLYGON_MODE_RANGE_SIZE = VkPolygonMode.VK_POLYGON_MODE_RANGE_SIZE;
1352 enum VK_POLYGON_MODE_MAX_ENUM = VkPolygonMode.VK_POLYGON_MODE_MAX_ENUM;
1353 
1354 enum VkFrontFace {
1355 	VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1356 	VK_FRONT_FACE_CLOCKWISE = 1,
1357 	VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE,
1358 	VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE,
1359 	VK_FRONT_FACE_RANGE_SIZE = ( VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1 ),
1360 	VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1361 }
1362 
1363 // VkFrontFace global enums
1364 enum VK_FRONT_FACE_COUNTER_CLOCKWISE = VkFrontFace.VK_FRONT_FACE_COUNTER_CLOCKWISE;
1365 enum VK_FRONT_FACE_CLOCKWISE = VkFrontFace.VK_FRONT_FACE_CLOCKWISE;
1366 enum VK_FRONT_FACE_BEGIN_RANGE = VkFrontFace.VK_FRONT_FACE_BEGIN_RANGE;
1367 enum VK_FRONT_FACE_END_RANGE = VkFrontFace.VK_FRONT_FACE_END_RANGE;
1368 enum VK_FRONT_FACE_RANGE_SIZE = VkFrontFace.VK_FRONT_FACE_RANGE_SIZE;
1369 enum VK_FRONT_FACE_MAX_ENUM = VkFrontFace.VK_FRONT_FACE_MAX_ENUM;
1370 
1371 enum VkCompareOp {
1372 	VK_COMPARE_OP_NEVER = 0,
1373 	VK_COMPARE_OP_LESS = 1,
1374 	VK_COMPARE_OP_EQUAL = 2,
1375 	VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1376 	VK_COMPARE_OP_GREATER = 4,
1377 	VK_COMPARE_OP_NOT_EQUAL = 5,
1378 	VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1379 	VK_COMPARE_OP_ALWAYS = 7,
1380 	VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER,
1381 	VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS,
1382 	VK_COMPARE_OP_RANGE_SIZE = ( VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1 ),
1383 	VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1384 }
1385 
1386 // VkCompareOp global enums
1387 enum VK_COMPARE_OP_NEVER = VkCompareOp.VK_COMPARE_OP_NEVER;
1388 enum VK_COMPARE_OP_LESS = VkCompareOp.VK_COMPARE_OP_LESS;
1389 enum VK_COMPARE_OP_EQUAL = VkCompareOp.VK_COMPARE_OP_EQUAL;
1390 enum VK_COMPARE_OP_LESS_OR_EQUAL = VkCompareOp.VK_COMPARE_OP_LESS_OR_EQUAL;
1391 enum VK_COMPARE_OP_GREATER = VkCompareOp.VK_COMPARE_OP_GREATER;
1392 enum VK_COMPARE_OP_NOT_EQUAL = VkCompareOp.VK_COMPARE_OP_NOT_EQUAL;
1393 enum VK_COMPARE_OP_GREATER_OR_EQUAL = VkCompareOp.VK_COMPARE_OP_GREATER_OR_EQUAL;
1394 enum VK_COMPARE_OP_ALWAYS = VkCompareOp.VK_COMPARE_OP_ALWAYS;
1395 enum VK_COMPARE_OP_BEGIN_RANGE = VkCompareOp.VK_COMPARE_OP_BEGIN_RANGE;
1396 enum VK_COMPARE_OP_END_RANGE = VkCompareOp.VK_COMPARE_OP_END_RANGE;
1397 enum VK_COMPARE_OP_RANGE_SIZE = VkCompareOp.VK_COMPARE_OP_RANGE_SIZE;
1398 enum VK_COMPARE_OP_MAX_ENUM = VkCompareOp.VK_COMPARE_OP_MAX_ENUM;
1399 
1400 enum VkStencilOp {
1401 	VK_STENCIL_OP_KEEP = 0,
1402 	VK_STENCIL_OP_ZERO = 1,
1403 	VK_STENCIL_OP_REPLACE = 2,
1404 	VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1405 	VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1406 	VK_STENCIL_OP_INVERT = 5,
1407 	VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1408 	VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1409 	VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP,
1410 	VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP,
1411 	VK_STENCIL_OP_RANGE_SIZE = ( VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1 ),
1412 	VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1413 }
1414 
1415 // VkStencilOp global enums
1416 enum VK_STENCIL_OP_KEEP = VkStencilOp.VK_STENCIL_OP_KEEP;
1417 enum VK_STENCIL_OP_ZERO = VkStencilOp.VK_STENCIL_OP_ZERO;
1418 enum VK_STENCIL_OP_REPLACE = VkStencilOp.VK_STENCIL_OP_REPLACE;
1419 enum VK_STENCIL_OP_INCREMENT_AND_CLAMP = VkStencilOp.VK_STENCIL_OP_INCREMENT_AND_CLAMP;
1420 enum VK_STENCIL_OP_DECREMENT_AND_CLAMP = VkStencilOp.VK_STENCIL_OP_DECREMENT_AND_CLAMP;
1421 enum VK_STENCIL_OP_INVERT = VkStencilOp.VK_STENCIL_OP_INVERT;
1422 enum VK_STENCIL_OP_INCREMENT_AND_WRAP = VkStencilOp.VK_STENCIL_OP_INCREMENT_AND_WRAP;
1423 enum VK_STENCIL_OP_DECREMENT_AND_WRAP = VkStencilOp.VK_STENCIL_OP_DECREMENT_AND_WRAP;
1424 enum VK_STENCIL_OP_BEGIN_RANGE = VkStencilOp.VK_STENCIL_OP_BEGIN_RANGE;
1425 enum VK_STENCIL_OP_END_RANGE = VkStencilOp.VK_STENCIL_OP_END_RANGE;
1426 enum VK_STENCIL_OP_RANGE_SIZE = VkStencilOp.VK_STENCIL_OP_RANGE_SIZE;
1427 enum VK_STENCIL_OP_MAX_ENUM = VkStencilOp.VK_STENCIL_OP_MAX_ENUM;
1428 
1429 enum VkLogicOp {
1430 	VK_LOGIC_OP_CLEAR = 0,
1431 	VK_LOGIC_OP_AND = 1,
1432 	VK_LOGIC_OP_AND_REVERSE = 2,
1433 	VK_LOGIC_OP_COPY = 3,
1434 	VK_LOGIC_OP_AND_INVERTED = 4,
1435 	VK_LOGIC_OP_NO_OP = 5,
1436 	VK_LOGIC_OP_XOR = 6,
1437 	VK_LOGIC_OP_OR = 7,
1438 	VK_LOGIC_OP_NOR = 8,
1439 	VK_LOGIC_OP_EQUIVALENT = 9,
1440 	VK_LOGIC_OP_INVERT = 10,
1441 	VK_LOGIC_OP_OR_REVERSE = 11,
1442 	VK_LOGIC_OP_COPY_INVERTED = 12,
1443 	VK_LOGIC_OP_OR_INVERTED = 13,
1444 	VK_LOGIC_OP_NAND = 14,
1445 	VK_LOGIC_OP_SET = 15,
1446 	VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR,
1447 	VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET,
1448 	VK_LOGIC_OP_RANGE_SIZE = ( VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1 ),
1449 	VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1450 }
1451 
1452 // VkLogicOp global enums
1453 enum VK_LOGIC_OP_CLEAR = VkLogicOp.VK_LOGIC_OP_CLEAR;
1454 enum VK_LOGIC_OP_AND = VkLogicOp.VK_LOGIC_OP_AND;
1455 enum VK_LOGIC_OP_AND_REVERSE = VkLogicOp.VK_LOGIC_OP_AND_REVERSE;
1456 enum VK_LOGIC_OP_COPY = VkLogicOp.VK_LOGIC_OP_COPY;
1457 enum VK_LOGIC_OP_AND_INVERTED = VkLogicOp.VK_LOGIC_OP_AND_INVERTED;
1458 enum VK_LOGIC_OP_NO_OP = VkLogicOp.VK_LOGIC_OP_NO_OP;
1459 enum VK_LOGIC_OP_XOR = VkLogicOp.VK_LOGIC_OP_XOR;
1460 enum VK_LOGIC_OP_OR = VkLogicOp.VK_LOGIC_OP_OR;
1461 enum VK_LOGIC_OP_NOR = VkLogicOp.VK_LOGIC_OP_NOR;
1462 enum VK_LOGIC_OP_EQUIVALENT = VkLogicOp.VK_LOGIC_OP_EQUIVALENT;
1463 enum VK_LOGIC_OP_INVERT = VkLogicOp.VK_LOGIC_OP_INVERT;
1464 enum VK_LOGIC_OP_OR_REVERSE = VkLogicOp.VK_LOGIC_OP_OR_REVERSE;
1465 enum VK_LOGIC_OP_COPY_INVERTED = VkLogicOp.VK_LOGIC_OP_COPY_INVERTED;
1466 enum VK_LOGIC_OP_OR_INVERTED = VkLogicOp.VK_LOGIC_OP_OR_INVERTED;
1467 enum VK_LOGIC_OP_NAND = VkLogicOp.VK_LOGIC_OP_NAND;
1468 enum VK_LOGIC_OP_SET = VkLogicOp.VK_LOGIC_OP_SET;
1469 enum VK_LOGIC_OP_BEGIN_RANGE = VkLogicOp.VK_LOGIC_OP_BEGIN_RANGE;
1470 enum VK_LOGIC_OP_END_RANGE = VkLogicOp.VK_LOGIC_OP_END_RANGE;
1471 enum VK_LOGIC_OP_RANGE_SIZE = VkLogicOp.VK_LOGIC_OP_RANGE_SIZE;
1472 enum VK_LOGIC_OP_MAX_ENUM = VkLogicOp.VK_LOGIC_OP_MAX_ENUM;
1473 
1474 enum VkBlendFactor {
1475 	VK_BLEND_FACTOR_ZERO = 0,
1476 	VK_BLEND_FACTOR_ONE = 1,
1477 	VK_BLEND_FACTOR_SRC_COLOR = 2,
1478 	VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1479 	VK_BLEND_FACTOR_DST_COLOR = 4,
1480 	VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1481 	VK_BLEND_FACTOR_SRC_ALPHA = 6,
1482 	VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1483 	VK_BLEND_FACTOR_DST_ALPHA = 8,
1484 	VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1485 	VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1486 	VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1487 	VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1488 	VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1489 	VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1490 	VK_BLEND_FACTOR_SRC1_COLOR = 15,
1491 	VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1492 	VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1493 	VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1494 	VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO,
1495 	VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,
1496 	VK_BLEND_FACTOR_RANGE_SIZE = ( VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1 ),
1497 	VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1498 }
1499 
1500 // VkBlendFactor global enums
1501 enum VK_BLEND_FACTOR_ZERO = VkBlendFactor.VK_BLEND_FACTOR_ZERO;
1502 enum VK_BLEND_FACTOR_ONE = VkBlendFactor.VK_BLEND_FACTOR_ONE;
1503 enum VK_BLEND_FACTOR_SRC_COLOR = VkBlendFactor.VK_BLEND_FACTOR_SRC_COLOR;
1504 enum VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR;
1505 enum VK_BLEND_FACTOR_DST_COLOR = VkBlendFactor.VK_BLEND_FACTOR_DST_COLOR;
1506 enum VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR;
1507 enum VK_BLEND_FACTOR_SRC_ALPHA = VkBlendFactor.VK_BLEND_FACTOR_SRC_ALPHA;
1508 enum VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA;
1509 enum VK_BLEND_FACTOR_DST_ALPHA = VkBlendFactor.VK_BLEND_FACTOR_DST_ALPHA;
1510 enum VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA;
1511 enum VK_BLEND_FACTOR_CONSTANT_COLOR = VkBlendFactor.VK_BLEND_FACTOR_CONSTANT_COLOR;
1512 enum VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR;
1513 enum VK_BLEND_FACTOR_CONSTANT_ALPHA = VkBlendFactor.VK_BLEND_FACTOR_CONSTANT_ALPHA;
1514 enum VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA;
1515 enum VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = VkBlendFactor.VK_BLEND_FACTOR_SRC_ALPHA_SATURATE;
1516 enum VK_BLEND_FACTOR_SRC1_COLOR = VkBlendFactor.VK_BLEND_FACTOR_SRC1_COLOR;
1517 enum VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR;
1518 enum VK_BLEND_FACTOR_SRC1_ALPHA = VkBlendFactor.VK_BLEND_FACTOR_SRC1_ALPHA;
1519 enum VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = VkBlendFactor.VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA;
1520 enum VK_BLEND_FACTOR_BEGIN_RANGE = VkBlendFactor.VK_BLEND_FACTOR_BEGIN_RANGE;
1521 enum VK_BLEND_FACTOR_END_RANGE = VkBlendFactor.VK_BLEND_FACTOR_END_RANGE;
1522 enum VK_BLEND_FACTOR_RANGE_SIZE = VkBlendFactor.VK_BLEND_FACTOR_RANGE_SIZE;
1523 enum VK_BLEND_FACTOR_MAX_ENUM = VkBlendFactor.VK_BLEND_FACTOR_MAX_ENUM;
1524 
1525 enum VkBlendOp {
1526 	VK_BLEND_OP_ADD = 0,
1527 	VK_BLEND_OP_SUBTRACT = 1,
1528 	VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1529 	VK_BLEND_OP_MIN = 3,
1530 	VK_BLEND_OP_MAX = 4,
1531 	VK_BLEND_OP_ZERO_EXT = 1000148000,
1532 	VK_BLEND_OP_SRC_EXT = 1000148001,
1533 	VK_BLEND_OP_DST_EXT = 1000148002,
1534 	VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1535 	VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1536 	VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1537 	VK_BLEND_OP_DST_IN_EXT = 1000148006,
1538 	VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1539 	VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1540 	VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1541 	VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1542 	VK_BLEND_OP_XOR_EXT = 1000148011,
1543 	VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1544 	VK_BLEND_OP_SCREEN_EXT = 1000148013,
1545 	VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1546 	VK_BLEND_OP_DARKEN_EXT = 1000148015,
1547 	VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1548 	VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1549 	VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1550 	VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1551 	VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1552 	VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1553 	VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1554 	VK_BLEND_OP_INVERT_EXT = 1000148023,
1555 	VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1556 	VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1557 	VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1558 	VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1559 	VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1560 	VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1561 	VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1562 	VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1563 	VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1564 	VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1565 	VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1566 	VK_BLEND_OP_PLUS_EXT = 1000148035,
1567 	VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1568 	VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1569 	VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1570 	VK_BLEND_OP_MINUS_EXT = 1000148039,
1571 	VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1572 	VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1573 	VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1574 	VK_BLEND_OP_RED_EXT = 1000148043,
1575 	VK_BLEND_OP_GREEN_EXT = 1000148044,
1576 	VK_BLEND_OP_BLUE_EXT = 1000148045,
1577 	VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD,
1578 	VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX,
1579 	VK_BLEND_OP_RANGE_SIZE = ( VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1 ),
1580 	VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1581 }
1582 
1583 // VkBlendOp global enums
1584 enum VK_BLEND_OP_ADD = VkBlendOp.VK_BLEND_OP_ADD;
1585 enum VK_BLEND_OP_SUBTRACT = VkBlendOp.VK_BLEND_OP_SUBTRACT;
1586 enum VK_BLEND_OP_REVERSE_SUBTRACT = VkBlendOp.VK_BLEND_OP_REVERSE_SUBTRACT;
1587 enum VK_BLEND_OP_MIN = VkBlendOp.VK_BLEND_OP_MIN;
1588 enum VK_BLEND_OP_MAX = VkBlendOp.VK_BLEND_OP_MAX;
1589 enum VK_BLEND_OP_ZERO_EXT = VkBlendOp.VK_BLEND_OP_ZERO_EXT;
1590 enum VK_BLEND_OP_SRC_EXT = VkBlendOp.VK_BLEND_OP_SRC_EXT;
1591 enum VK_BLEND_OP_DST_EXT = VkBlendOp.VK_BLEND_OP_DST_EXT;
1592 enum VK_BLEND_OP_SRC_OVER_EXT = VkBlendOp.VK_BLEND_OP_SRC_OVER_EXT;
1593 enum VK_BLEND_OP_DST_OVER_EXT = VkBlendOp.VK_BLEND_OP_DST_OVER_EXT;
1594 enum VK_BLEND_OP_SRC_IN_EXT = VkBlendOp.VK_BLEND_OP_SRC_IN_EXT;
1595 enum VK_BLEND_OP_DST_IN_EXT = VkBlendOp.VK_BLEND_OP_DST_IN_EXT;
1596 enum VK_BLEND_OP_SRC_OUT_EXT = VkBlendOp.VK_BLEND_OP_SRC_OUT_EXT;
1597 enum VK_BLEND_OP_DST_OUT_EXT = VkBlendOp.VK_BLEND_OP_DST_OUT_EXT;
1598 enum VK_BLEND_OP_SRC_ATOP_EXT = VkBlendOp.VK_BLEND_OP_SRC_ATOP_EXT;
1599 enum VK_BLEND_OP_DST_ATOP_EXT = VkBlendOp.VK_BLEND_OP_DST_ATOP_EXT;
1600 enum VK_BLEND_OP_XOR_EXT = VkBlendOp.VK_BLEND_OP_XOR_EXT;
1601 enum VK_BLEND_OP_MULTIPLY_EXT = VkBlendOp.VK_BLEND_OP_MULTIPLY_EXT;
1602 enum VK_BLEND_OP_SCREEN_EXT = VkBlendOp.VK_BLEND_OP_SCREEN_EXT;
1603 enum VK_BLEND_OP_OVERLAY_EXT = VkBlendOp.VK_BLEND_OP_OVERLAY_EXT;
1604 enum VK_BLEND_OP_DARKEN_EXT = VkBlendOp.VK_BLEND_OP_DARKEN_EXT;
1605 enum VK_BLEND_OP_LIGHTEN_EXT = VkBlendOp.VK_BLEND_OP_LIGHTEN_EXT;
1606 enum VK_BLEND_OP_COLORDODGE_EXT = VkBlendOp.VK_BLEND_OP_COLORDODGE_EXT;
1607 enum VK_BLEND_OP_COLORBURN_EXT = VkBlendOp.VK_BLEND_OP_COLORBURN_EXT;
1608 enum VK_BLEND_OP_HARDLIGHT_EXT = VkBlendOp.VK_BLEND_OP_HARDLIGHT_EXT;
1609 enum VK_BLEND_OP_SOFTLIGHT_EXT = VkBlendOp.VK_BLEND_OP_SOFTLIGHT_EXT;
1610 enum VK_BLEND_OP_DIFFERENCE_EXT = VkBlendOp.VK_BLEND_OP_DIFFERENCE_EXT;
1611 enum VK_BLEND_OP_EXCLUSION_EXT = VkBlendOp.VK_BLEND_OP_EXCLUSION_EXT;
1612 enum VK_BLEND_OP_INVERT_EXT = VkBlendOp.VK_BLEND_OP_INVERT_EXT;
1613 enum VK_BLEND_OP_INVERT_RGB_EXT = VkBlendOp.VK_BLEND_OP_INVERT_RGB_EXT;
1614 enum VK_BLEND_OP_LINEARDODGE_EXT = VkBlendOp.VK_BLEND_OP_LINEARDODGE_EXT;
1615 enum VK_BLEND_OP_LINEARBURN_EXT = VkBlendOp.VK_BLEND_OP_LINEARBURN_EXT;
1616 enum VK_BLEND_OP_VIVIDLIGHT_EXT = VkBlendOp.VK_BLEND_OP_VIVIDLIGHT_EXT;
1617 enum VK_BLEND_OP_LINEARLIGHT_EXT = VkBlendOp.VK_BLEND_OP_LINEARLIGHT_EXT;
1618 enum VK_BLEND_OP_PINLIGHT_EXT = VkBlendOp.VK_BLEND_OP_PINLIGHT_EXT;
1619 enum VK_BLEND_OP_HARDMIX_EXT = VkBlendOp.VK_BLEND_OP_HARDMIX_EXT;
1620 enum VK_BLEND_OP_HSL_HUE_EXT = VkBlendOp.VK_BLEND_OP_HSL_HUE_EXT;
1621 enum VK_BLEND_OP_HSL_SATURATION_EXT = VkBlendOp.VK_BLEND_OP_HSL_SATURATION_EXT;
1622 enum VK_BLEND_OP_HSL_COLOR_EXT = VkBlendOp.VK_BLEND_OP_HSL_COLOR_EXT;
1623 enum VK_BLEND_OP_HSL_LUMINOSITY_EXT = VkBlendOp.VK_BLEND_OP_HSL_LUMINOSITY_EXT;
1624 enum VK_BLEND_OP_PLUS_EXT = VkBlendOp.VK_BLEND_OP_PLUS_EXT;
1625 enum VK_BLEND_OP_PLUS_CLAMPED_EXT = VkBlendOp.VK_BLEND_OP_PLUS_CLAMPED_EXT;
1626 enum VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = VkBlendOp.VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT;
1627 enum VK_BLEND_OP_PLUS_DARKER_EXT = VkBlendOp.VK_BLEND_OP_PLUS_DARKER_EXT;
1628 enum VK_BLEND_OP_MINUS_EXT = VkBlendOp.VK_BLEND_OP_MINUS_EXT;
1629 enum VK_BLEND_OP_MINUS_CLAMPED_EXT = VkBlendOp.VK_BLEND_OP_MINUS_CLAMPED_EXT;
1630 enum VK_BLEND_OP_CONTRAST_EXT = VkBlendOp.VK_BLEND_OP_CONTRAST_EXT;
1631 enum VK_BLEND_OP_INVERT_OVG_EXT = VkBlendOp.VK_BLEND_OP_INVERT_OVG_EXT;
1632 enum VK_BLEND_OP_RED_EXT = VkBlendOp.VK_BLEND_OP_RED_EXT;
1633 enum VK_BLEND_OP_GREEN_EXT = VkBlendOp.VK_BLEND_OP_GREEN_EXT;
1634 enum VK_BLEND_OP_BLUE_EXT = VkBlendOp.VK_BLEND_OP_BLUE_EXT;
1635 enum VK_BLEND_OP_BEGIN_RANGE = VkBlendOp.VK_BLEND_OP_BEGIN_RANGE;
1636 enum VK_BLEND_OP_END_RANGE = VkBlendOp.VK_BLEND_OP_END_RANGE;
1637 enum VK_BLEND_OP_RANGE_SIZE = VkBlendOp.VK_BLEND_OP_RANGE_SIZE;
1638 enum VK_BLEND_OP_MAX_ENUM = VkBlendOp.VK_BLEND_OP_MAX_ENUM;
1639 
1640 enum VkDynamicState {
1641 	VK_DYNAMIC_STATE_VIEWPORT = 0,
1642 	VK_DYNAMIC_STATE_SCISSOR = 1,
1643 	VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1644 	VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1645 	VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1646 	VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1647 	VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1648 	VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1649 	VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1650 	VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1651 	VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1652 	VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1653 	VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT,
1654 	VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
1655 	VK_DYNAMIC_STATE_RANGE_SIZE = ( VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1 ),
1656 	VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1657 }
1658 
1659 // VkDynamicState global enums
1660 enum VK_DYNAMIC_STATE_VIEWPORT = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT;
1661 enum VK_DYNAMIC_STATE_SCISSOR = VkDynamicState.VK_DYNAMIC_STATE_SCISSOR;
1662 enum VK_DYNAMIC_STATE_LINE_WIDTH = VkDynamicState.VK_DYNAMIC_STATE_LINE_WIDTH;
1663 enum VK_DYNAMIC_STATE_DEPTH_BIAS = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_BIAS;
1664 enum VK_DYNAMIC_STATE_BLEND_CONSTANTS = VkDynamicState.VK_DYNAMIC_STATE_BLEND_CONSTANTS;
1665 enum VK_DYNAMIC_STATE_DEPTH_BOUNDS = VkDynamicState.VK_DYNAMIC_STATE_DEPTH_BOUNDS;
1666 enum VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK;
1667 enum VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_WRITE_MASK;
1668 enum VK_DYNAMIC_STATE_STENCIL_REFERENCE = VkDynamicState.VK_DYNAMIC_STATE_STENCIL_REFERENCE;
1669 enum VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = VkDynamicState.VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV;
1670 enum VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = VkDynamicState.VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT;
1671 enum VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = VkDynamicState.VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT;
1672 enum VK_DYNAMIC_STATE_BEGIN_RANGE = VkDynamicState.VK_DYNAMIC_STATE_BEGIN_RANGE;
1673 enum VK_DYNAMIC_STATE_END_RANGE = VkDynamicState.VK_DYNAMIC_STATE_END_RANGE;
1674 enum VK_DYNAMIC_STATE_RANGE_SIZE = VkDynamicState.VK_DYNAMIC_STATE_RANGE_SIZE;
1675 enum VK_DYNAMIC_STATE_MAX_ENUM = VkDynamicState.VK_DYNAMIC_STATE_MAX_ENUM;
1676 
1677 enum VkFilter {
1678 	VK_FILTER_NEAREST = 0,
1679 	VK_FILTER_LINEAR = 1,
1680 	VK_FILTER_CUBIC_IMG = 1000015000,
1681 	VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST,
1682 	VK_FILTER_END_RANGE = VK_FILTER_LINEAR,
1683 	VK_FILTER_RANGE_SIZE = ( VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1 ),
1684 	VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1685 }
1686 
1687 // VkFilter global enums
1688 enum VK_FILTER_NEAREST = VkFilter.VK_FILTER_NEAREST;
1689 enum VK_FILTER_LINEAR = VkFilter.VK_FILTER_LINEAR;
1690 enum VK_FILTER_CUBIC_IMG = VkFilter.VK_FILTER_CUBIC_IMG;
1691 enum VK_FILTER_BEGIN_RANGE = VkFilter.VK_FILTER_BEGIN_RANGE;
1692 enum VK_FILTER_END_RANGE = VkFilter.VK_FILTER_END_RANGE;
1693 enum VK_FILTER_RANGE_SIZE = VkFilter.VK_FILTER_RANGE_SIZE;
1694 enum VK_FILTER_MAX_ENUM = VkFilter.VK_FILTER_MAX_ENUM;
1695 
1696 enum VkSamplerMipmapMode {
1697 	VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1698 	VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1699 	VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST,
1700 	VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR,
1701 	VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = ( VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1 ),
1702 	VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1703 }
1704 
1705 // VkSamplerMipmapMode global enums
1706 enum VK_SAMPLER_MIPMAP_MODE_NEAREST = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_NEAREST;
1707 enum VK_SAMPLER_MIPMAP_MODE_LINEAR = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_LINEAR;
1708 enum VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE;
1709 enum VK_SAMPLER_MIPMAP_MODE_END_RANGE = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_END_RANGE;
1710 enum VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE;
1711 enum VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = VkSamplerMipmapMode.VK_SAMPLER_MIPMAP_MODE_MAX_ENUM;
1712 
1713 enum VkSamplerAddressMode {
1714 	VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1715 	VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1716 	VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1717 	VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1718 	VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1719 	VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT,
1720 	VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
1721 	VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = ( VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1 ),
1722 	VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1723 }
1724 
1725 // VkSamplerAddressMode global enums
1726 enum VK_SAMPLER_ADDRESS_MODE_REPEAT = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_REPEAT;
1727 enum VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT;
1728 enum VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
1729 enum VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER;
1730 enum VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
1731 enum VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE;
1732 enum VK_SAMPLER_ADDRESS_MODE_END_RANGE = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_END_RANGE;
1733 enum VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE;
1734 enum VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = VkSamplerAddressMode.VK_SAMPLER_ADDRESS_MODE_MAX_ENUM;
1735 
1736 enum VkBorderColor {
1737 	VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1738 	VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1739 	VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1740 	VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1741 	VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1742 	VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1743 	VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
1744 	VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
1745 	VK_BORDER_COLOR_RANGE_SIZE = ( VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1 ),
1746 	VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1747 }
1748 
1749 // VkBorderColor global enums
1750 enum VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = VkBorderColor.VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK;
1751 enum VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = VkBorderColor.VK_BORDER_COLOR_INT_TRANSPARENT_BLACK;
1752 enum VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = VkBorderColor.VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK;
1753 enum VK_BORDER_COLOR_INT_OPAQUE_BLACK = VkBorderColor.VK_BORDER_COLOR_INT_OPAQUE_BLACK;
1754 enum VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = VkBorderColor.VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE;
1755 enum VK_BORDER_COLOR_INT_OPAQUE_WHITE = VkBorderColor.VK_BORDER_COLOR_INT_OPAQUE_WHITE;
1756 enum VK_BORDER_COLOR_BEGIN_RANGE = VkBorderColor.VK_BORDER_COLOR_BEGIN_RANGE;
1757 enum VK_BORDER_COLOR_END_RANGE = VkBorderColor.VK_BORDER_COLOR_END_RANGE;
1758 enum VK_BORDER_COLOR_RANGE_SIZE = VkBorderColor.VK_BORDER_COLOR_RANGE_SIZE;
1759 enum VK_BORDER_COLOR_MAX_ENUM = VkBorderColor.VK_BORDER_COLOR_MAX_ENUM;
1760 
1761 enum VkDescriptorType {
1762 	VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1763 	VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1764 	VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1765 	VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1766 	VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1767 	VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1768 	VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1769 	VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1770 	VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1771 	VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1772 	VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1773 	VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER,
1774 	VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
1775 	VK_DESCRIPTOR_TYPE_RANGE_SIZE = ( VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1 ),
1776 	VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1777 }
1778 
1779 // VkDescriptorType global enums
1780 enum VK_DESCRIPTOR_TYPE_SAMPLER = VkDescriptorType.VK_DESCRIPTOR_TYPE_SAMPLER;
1781 enum VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = VkDescriptorType.VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
1782 enum VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = VkDescriptorType.VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
1783 enum VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_IMAGE;
1784 enum VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
1785 enum VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER;
1786 enum VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
1787 enum VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
1788 enum VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = VkDescriptorType.VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;
1789 enum VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = VkDescriptorType.VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
1790 enum VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = VkDescriptorType.VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
1791 enum VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VkDescriptorType.VK_DESCRIPTOR_TYPE_BEGIN_RANGE;
1792 enum VK_DESCRIPTOR_TYPE_END_RANGE = VkDescriptorType.VK_DESCRIPTOR_TYPE_END_RANGE;
1793 enum VK_DESCRIPTOR_TYPE_RANGE_SIZE = VkDescriptorType.VK_DESCRIPTOR_TYPE_RANGE_SIZE;
1794 enum VK_DESCRIPTOR_TYPE_MAX_ENUM = VkDescriptorType.VK_DESCRIPTOR_TYPE_MAX_ENUM;
1795 
1796 enum VkAttachmentLoadOp {
1797 	VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1798 	VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1799 	VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1800 	VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD,
1801 	VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
1802 	VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = ( VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1 ),
1803 	VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1804 }
1805 
1806 // VkAttachmentLoadOp global enums
1807 enum VK_ATTACHMENT_LOAD_OP_LOAD = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_LOAD;
1808 enum VK_ATTACHMENT_LOAD_OP_CLEAR = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_CLEAR;
1809 enum VK_ATTACHMENT_LOAD_OP_DONT_CARE = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_DONT_CARE;
1810 enum VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE;
1811 enum VK_ATTACHMENT_LOAD_OP_END_RANGE = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_END_RANGE;
1812 enum VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_RANGE_SIZE;
1813 enum VK_ATTACHMENT_LOAD_OP_MAX_ENUM = VkAttachmentLoadOp.VK_ATTACHMENT_LOAD_OP_MAX_ENUM;
1814 
1815 enum VkAttachmentStoreOp {
1816 	VK_ATTACHMENT_STORE_OP_STORE = 0,
1817 	VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1818 	VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE,
1819 	VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE,
1820 	VK_ATTACHMENT_STORE_OP_RANGE_SIZE = ( VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1 ),
1821 	VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1822 }
1823 
1824 // VkAttachmentStoreOp global enums
1825 enum VK_ATTACHMENT_STORE_OP_STORE = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_STORE;
1826 enum VK_ATTACHMENT_STORE_OP_DONT_CARE = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_DONT_CARE;
1827 enum VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_BEGIN_RANGE;
1828 enum VK_ATTACHMENT_STORE_OP_END_RANGE = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_END_RANGE;
1829 enum VK_ATTACHMENT_STORE_OP_RANGE_SIZE = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_RANGE_SIZE;
1830 enum VK_ATTACHMENT_STORE_OP_MAX_ENUM = VkAttachmentStoreOp.VK_ATTACHMENT_STORE_OP_MAX_ENUM;
1831 
1832 enum VkPipelineBindPoint {
1833 	VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1834 	VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1835 	VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS,
1836 	VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE,
1837 	VK_PIPELINE_BIND_POINT_RANGE_SIZE = ( VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1 ),
1838 	VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1839 }
1840 
1841 // VkPipelineBindPoint global enums
1842 enum VK_PIPELINE_BIND_POINT_GRAPHICS = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_GRAPHICS;
1843 enum VK_PIPELINE_BIND_POINT_COMPUTE = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_COMPUTE;
1844 enum VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_BEGIN_RANGE;
1845 enum VK_PIPELINE_BIND_POINT_END_RANGE = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_END_RANGE;
1846 enum VK_PIPELINE_BIND_POINT_RANGE_SIZE = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_RANGE_SIZE;
1847 enum VK_PIPELINE_BIND_POINT_MAX_ENUM = VkPipelineBindPoint.VK_PIPELINE_BIND_POINT_MAX_ENUM;
1848 
1849 enum VkCommandBufferLevel {
1850 	VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1851 	VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1852 	VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
1853 	VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY,
1854 	VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = ( VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1 ),
1855 	VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1856 }
1857 
1858 // VkCommandBufferLevel global enums
1859 enum VK_COMMAND_BUFFER_LEVEL_PRIMARY = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_PRIMARY;
1860 enum VK_COMMAND_BUFFER_LEVEL_SECONDARY = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_SECONDARY;
1861 enum VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE;
1862 enum VK_COMMAND_BUFFER_LEVEL_END_RANGE = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_END_RANGE;
1863 enum VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE;
1864 enum VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = VkCommandBufferLevel.VK_COMMAND_BUFFER_LEVEL_MAX_ENUM;
1865 
1866 enum VkIndexType {
1867 	VK_INDEX_TYPE_UINT16 = 0,
1868 	VK_INDEX_TYPE_UINT32 = 1,
1869 	VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16,
1870 	VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32,
1871 	VK_INDEX_TYPE_RANGE_SIZE = ( VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1 ),
1872 	VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1873 }
1874 
1875 // VkIndexType global enums
1876 enum VK_INDEX_TYPE_UINT16 = VkIndexType.VK_INDEX_TYPE_UINT16;
1877 enum VK_INDEX_TYPE_UINT32 = VkIndexType.VK_INDEX_TYPE_UINT32;
1878 enum VK_INDEX_TYPE_BEGIN_RANGE = VkIndexType.VK_INDEX_TYPE_BEGIN_RANGE;
1879 enum VK_INDEX_TYPE_END_RANGE = VkIndexType.VK_INDEX_TYPE_END_RANGE;
1880 enum VK_INDEX_TYPE_RANGE_SIZE = VkIndexType.VK_INDEX_TYPE_RANGE_SIZE;
1881 enum VK_INDEX_TYPE_MAX_ENUM = VkIndexType.VK_INDEX_TYPE_MAX_ENUM;
1882 
1883 enum VkSubpassContents {
1884 	VK_SUBPASS_CONTENTS_INLINE = 0,
1885 	VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1886 	VK_SUBPASS_CONTENTS_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE,
1887 	VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,
1888 	VK_SUBPASS_CONTENTS_RANGE_SIZE = ( VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1 ),
1889 	VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1890 }
1891 
1892 // VkSubpassContents global enums
1893 enum VK_SUBPASS_CONTENTS_INLINE = VkSubpassContents.VK_SUBPASS_CONTENTS_INLINE;
1894 enum VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = VkSubpassContents.VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS;
1895 enum VK_SUBPASS_CONTENTS_BEGIN_RANGE = VkSubpassContents.VK_SUBPASS_CONTENTS_BEGIN_RANGE;
1896 enum VK_SUBPASS_CONTENTS_END_RANGE = VkSubpassContents.VK_SUBPASS_CONTENTS_END_RANGE;
1897 enum VK_SUBPASS_CONTENTS_RANGE_SIZE = VkSubpassContents.VK_SUBPASS_CONTENTS_RANGE_SIZE;
1898 enum VK_SUBPASS_CONTENTS_MAX_ENUM = VkSubpassContents.VK_SUBPASS_CONTENTS_MAX_ENUM;
1899 
1900 enum VkObjectType {
1901 	VK_OBJECT_TYPE_UNKNOWN = 0,
1902 	VK_OBJECT_TYPE_INSTANCE = 1,
1903 	VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1904 	VK_OBJECT_TYPE_DEVICE = 3,
1905 	VK_OBJECT_TYPE_QUEUE = 4,
1906 	VK_OBJECT_TYPE_SEMAPHORE = 5,
1907 	VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1908 	VK_OBJECT_TYPE_FENCE = 7,
1909 	VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1910 	VK_OBJECT_TYPE_BUFFER = 9,
1911 	VK_OBJECT_TYPE_IMAGE = 10,
1912 	VK_OBJECT_TYPE_EVENT = 11,
1913 	VK_OBJECT_TYPE_QUERY_POOL = 12,
1914 	VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1915 	VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1916 	VK_OBJECT_TYPE_SHADER_MODULE = 15,
1917 	VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1918 	VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1919 	VK_OBJECT_TYPE_RENDER_PASS = 18,
1920 	VK_OBJECT_TYPE_PIPELINE = 19,
1921 	VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1922 	VK_OBJECT_TYPE_SAMPLER = 21,
1923 	VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1924 	VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1925 	VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1926 	VK_OBJECT_TYPE_COMMAND_POOL = 25,
1927 	VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1928 	VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1929 	VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1930 	VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1931 	VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1932 	VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = 1000085000,
1933 	VK_OBJECT_TYPE_OBJECT_TABLE_NVX = 1000086000,
1934 	VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = 1000086001,
1935 	VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000,
1936 	VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1937 	VK_OBJECT_TYPE_BEGIN_RANGE = VK_OBJECT_TYPE_UNKNOWN,
1938 	VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_COMMAND_POOL,
1939 	VK_OBJECT_TYPE_RANGE_SIZE = ( VK_OBJECT_TYPE_COMMAND_POOL - VK_OBJECT_TYPE_UNKNOWN + 1 ),
1940 	VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1941 }
1942 
1943 // VkObjectType global enums
1944 enum VK_OBJECT_TYPE_UNKNOWN = VkObjectType.VK_OBJECT_TYPE_UNKNOWN;
1945 enum VK_OBJECT_TYPE_INSTANCE = VkObjectType.VK_OBJECT_TYPE_INSTANCE;
1946 enum VK_OBJECT_TYPE_PHYSICAL_DEVICE = VkObjectType.VK_OBJECT_TYPE_PHYSICAL_DEVICE;
1947 enum VK_OBJECT_TYPE_DEVICE = VkObjectType.VK_OBJECT_TYPE_DEVICE;
1948 enum VK_OBJECT_TYPE_QUEUE = VkObjectType.VK_OBJECT_TYPE_QUEUE;
1949 enum VK_OBJECT_TYPE_SEMAPHORE = VkObjectType.VK_OBJECT_TYPE_SEMAPHORE;
1950 enum VK_OBJECT_TYPE_COMMAND_BUFFER = VkObjectType.VK_OBJECT_TYPE_COMMAND_BUFFER;
1951 enum VK_OBJECT_TYPE_FENCE = VkObjectType.VK_OBJECT_TYPE_FENCE;
1952 enum VK_OBJECT_TYPE_DEVICE_MEMORY = VkObjectType.VK_OBJECT_TYPE_DEVICE_MEMORY;
1953 enum VK_OBJECT_TYPE_BUFFER = VkObjectType.VK_OBJECT_TYPE_BUFFER;
1954 enum VK_OBJECT_TYPE_IMAGE = VkObjectType.VK_OBJECT_TYPE_IMAGE;
1955 enum VK_OBJECT_TYPE_EVENT = VkObjectType.VK_OBJECT_TYPE_EVENT;
1956 enum VK_OBJECT_TYPE_QUERY_POOL = VkObjectType.VK_OBJECT_TYPE_QUERY_POOL;
1957 enum VK_OBJECT_TYPE_BUFFER_VIEW = VkObjectType.VK_OBJECT_TYPE_BUFFER_VIEW;
1958 enum VK_OBJECT_TYPE_IMAGE_VIEW = VkObjectType.VK_OBJECT_TYPE_IMAGE_VIEW;
1959 enum VK_OBJECT_TYPE_SHADER_MODULE = VkObjectType.VK_OBJECT_TYPE_SHADER_MODULE;
1960 enum VK_OBJECT_TYPE_PIPELINE_CACHE = VkObjectType.VK_OBJECT_TYPE_PIPELINE_CACHE;
1961 enum VK_OBJECT_TYPE_PIPELINE_LAYOUT = VkObjectType.VK_OBJECT_TYPE_PIPELINE_LAYOUT;
1962 enum VK_OBJECT_TYPE_RENDER_PASS = VkObjectType.VK_OBJECT_TYPE_RENDER_PASS;
1963 enum VK_OBJECT_TYPE_PIPELINE = VkObjectType.VK_OBJECT_TYPE_PIPELINE;
1964 enum VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT;
1965 enum VK_OBJECT_TYPE_SAMPLER = VkObjectType.VK_OBJECT_TYPE_SAMPLER;
1966 enum VK_OBJECT_TYPE_DESCRIPTOR_POOL = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_POOL;
1967 enum VK_OBJECT_TYPE_DESCRIPTOR_SET = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_SET;
1968 enum VK_OBJECT_TYPE_FRAMEBUFFER = VkObjectType.VK_OBJECT_TYPE_FRAMEBUFFER;
1969 enum VK_OBJECT_TYPE_COMMAND_POOL = VkObjectType.VK_OBJECT_TYPE_COMMAND_POOL;
1970 enum VK_OBJECT_TYPE_SURFACE_KHR = VkObjectType.VK_OBJECT_TYPE_SURFACE_KHR;
1971 enum VK_OBJECT_TYPE_SWAPCHAIN_KHR = VkObjectType.VK_OBJECT_TYPE_SWAPCHAIN_KHR;
1972 enum VK_OBJECT_TYPE_DISPLAY_KHR = VkObjectType.VK_OBJECT_TYPE_DISPLAY_KHR;
1973 enum VK_OBJECT_TYPE_DISPLAY_MODE_KHR = VkObjectType.VK_OBJECT_TYPE_DISPLAY_MODE_KHR;
1974 enum VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = VkObjectType.VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT;
1975 enum VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VkObjectType.VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR;
1976 enum VK_OBJECT_TYPE_OBJECT_TABLE_NVX = VkObjectType.VK_OBJECT_TYPE_OBJECT_TABLE_NVX;
1977 enum VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = VkObjectType.VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX;
1978 enum VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VkObjectType.VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR;
1979 enum VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = VkObjectType.VK_OBJECT_TYPE_VALIDATION_CACHE_EXT;
1980 enum VK_OBJECT_TYPE_BEGIN_RANGE = VkObjectType.VK_OBJECT_TYPE_BEGIN_RANGE;
1981 enum VK_OBJECT_TYPE_END_RANGE = VkObjectType.VK_OBJECT_TYPE_END_RANGE;
1982 enum VK_OBJECT_TYPE_RANGE_SIZE = VkObjectType.VK_OBJECT_TYPE_RANGE_SIZE;
1983 enum VK_OBJECT_TYPE_MAX_ENUM = VkObjectType.VK_OBJECT_TYPE_MAX_ENUM;
1984 
1985 alias VkInstanceCreateFlags = VkFlags;
1986 
1987 enum VkFormatFeatureFlagBits {
1988 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1989 	VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1990 	VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1991 	VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1992 	VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1993 	VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1994 	VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1995 	VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1996 	VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1997 	VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1998 	VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1999 	VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2000 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2001 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
2002 	VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = 0x00004000,
2003 	VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = 0x00008000,
2004 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = 0x00010000,
2005 	VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000,
2006 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000,
2007 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000,
2008 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000,
2009 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000,
2010 	VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = 0x00400000,
2011 	VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000,
2012 	VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2013 }
2014 
2015 // VkFormatFeatureFlagBits global enums
2016 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT;
2017 enum VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT;
2018 enum VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT;
2019 enum VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT;
2020 enum VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT;
2021 enum VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT;
2022 enum VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT;
2023 enum VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT;
2024 enum VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT;
2025 enum VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT;
2026 enum VK_FORMAT_FEATURE_BLIT_SRC_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_BLIT_SRC_BIT;
2027 enum VK_FORMAT_FEATURE_BLIT_DST_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_BLIT_DST_BIT;
2028 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT;
2029 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG;
2030 enum VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR;
2031 enum VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR;
2032 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT;
2033 enum VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR;
2034 enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR;
2035 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;
2036 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;
2037 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;
2038 enum VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_DISJOINT_BIT_KHR;
2039 enum VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR;
2040 enum VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = VkFormatFeatureFlagBits.VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM;
2041 alias VkFormatFeatureFlags = VkFlags;
2042 
2043 enum VkImageUsageFlagBits {
2044 	VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2045 	VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2046 	VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2047 	VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2048 	VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2049 	VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2050 	VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2051 	VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2052 	VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2053 }
2054 
2055 // VkImageUsageFlagBits global enums
2056 enum VK_IMAGE_USAGE_TRANSFER_SRC_BIT = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSFER_SRC_BIT;
2057 enum VK_IMAGE_USAGE_TRANSFER_DST_BIT = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSFER_DST_BIT;
2058 enum VK_IMAGE_USAGE_SAMPLED_BIT = VkImageUsageFlagBits.VK_IMAGE_USAGE_SAMPLED_BIT;
2059 enum VK_IMAGE_USAGE_STORAGE_BIT = VkImageUsageFlagBits.VK_IMAGE_USAGE_STORAGE_BIT;
2060 enum VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = VkImageUsageFlagBits.VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
2061 enum VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = VkImageUsageFlagBits.VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
2062 enum VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT;
2063 enum VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = VkImageUsageFlagBits.VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
2064 enum VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = VkImageUsageFlagBits.VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM;
2065 alias VkImageUsageFlags = VkFlags;
2066 
2067 enum VkImageCreateFlagBits {
2068 	VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2069 	VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2070 	VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2071 	VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2072 	VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2073 	VK_IMAGE_CREATE_BIND_SFR_BIT_KHX = 0x00000040,
2074 	VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 0x00000020,
2075 	VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 0x00000080,
2076 	VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = 0x00000100,
2077 	VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2078 	VK_IMAGE_CREATE_DISJOINT_BIT_KHR = 0x00000200,
2079 	VK_IMAGE_CREATE_ALIAS_BIT_KHR = 0x00000400,
2080 	VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2081 }
2082 
2083 // VkImageCreateFlagBits global enums
2084 enum VK_IMAGE_CREATE_SPARSE_BINDING_BIT = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_BINDING_BIT;
2085 enum VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT;
2086 enum VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = VkImageCreateFlagBits.VK_IMAGE_CREATE_SPARSE_ALIASED_BIT;
2087 enum VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = VkImageCreateFlagBits.VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
2088 enum VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = VkImageCreateFlagBits.VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
2089 enum VK_IMAGE_CREATE_BIND_SFR_BIT_KHX = VkImageCreateFlagBits.VK_IMAGE_CREATE_BIND_SFR_BIT_KHX;
2090 enum VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VkImageCreateFlagBits.VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR;
2091 enum VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VkImageCreateFlagBits.VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR;
2092 enum VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VkImageCreateFlagBits.VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR;
2093 enum VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = VkImageCreateFlagBits.VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT;
2094 enum VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VkImageCreateFlagBits.VK_IMAGE_CREATE_DISJOINT_BIT_KHR;
2095 enum VK_IMAGE_CREATE_ALIAS_BIT_KHR = VkImageCreateFlagBits.VK_IMAGE_CREATE_ALIAS_BIT_KHR;
2096 enum VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = VkImageCreateFlagBits.VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM;
2097 alias VkImageCreateFlags = VkFlags;
2098 
2099 enum VkSampleCountFlagBits {
2100 	VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2101 	VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2102 	VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2103 	VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2104 	VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2105 	VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2106 	VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2107 	VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2108 }
2109 
2110 // VkSampleCountFlagBits global enums
2111 enum VK_SAMPLE_COUNT_1_BIT = VkSampleCountFlagBits.VK_SAMPLE_COUNT_1_BIT;
2112 enum VK_SAMPLE_COUNT_2_BIT = VkSampleCountFlagBits.VK_SAMPLE_COUNT_2_BIT;
2113 enum VK_SAMPLE_COUNT_4_BIT = VkSampleCountFlagBits.VK_SAMPLE_COUNT_4_BIT;
2114 enum VK_SAMPLE_COUNT_8_BIT = VkSampleCountFlagBits.VK_SAMPLE_COUNT_8_BIT;
2115 enum VK_SAMPLE_COUNT_16_BIT = VkSampleCountFlagBits.VK_SAMPLE_COUNT_16_BIT;
2116 enum VK_SAMPLE_COUNT_32_BIT = VkSampleCountFlagBits.VK_SAMPLE_COUNT_32_BIT;
2117 enum VK_SAMPLE_COUNT_64_BIT = VkSampleCountFlagBits.VK_SAMPLE_COUNT_64_BIT;
2118 enum VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = VkSampleCountFlagBits.VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM;
2119 alias VkSampleCountFlags = VkFlags;
2120 
2121 enum VkQueueFlagBits {
2122 	VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2123 	VK_QUEUE_COMPUTE_BIT = 0x00000002,
2124 	VK_QUEUE_TRANSFER_BIT = 0x00000004,
2125 	VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2126 	VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2127 }
2128 
2129 // VkQueueFlagBits global enums
2130 enum VK_QUEUE_GRAPHICS_BIT = VkQueueFlagBits.VK_QUEUE_GRAPHICS_BIT;
2131 enum VK_QUEUE_COMPUTE_BIT = VkQueueFlagBits.VK_QUEUE_COMPUTE_BIT;
2132 enum VK_QUEUE_TRANSFER_BIT = VkQueueFlagBits.VK_QUEUE_TRANSFER_BIT;
2133 enum VK_QUEUE_SPARSE_BINDING_BIT = VkQueueFlagBits.VK_QUEUE_SPARSE_BINDING_BIT;
2134 enum VK_QUEUE_FLAG_BITS_MAX_ENUM = VkQueueFlagBits.VK_QUEUE_FLAG_BITS_MAX_ENUM;
2135 alias VkQueueFlags = VkFlags;
2136 
2137 enum VkMemoryPropertyFlagBits {
2138 	VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2139 	VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2140 	VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2141 	VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2142 	VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2143 	VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2144 }
2145 
2146 // VkMemoryPropertyFlagBits global enums
2147 enum VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
2148 enum VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
2149 enum VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
2150 enum VK_MEMORY_PROPERTY_HOST_CACHED_BIT = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_HOST_CACHED_BIT;
2151 enum VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT;
2152 enum VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = VkMemoryPropertyFlagBits.VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM;
2153 alias VkMemoryPropertyFlags = VkFlags;
2154 
2155 enum VkMemoryHeapFlagBits {
2156 	VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2157 	VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX = 0x00000002,
2158 	VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2159 }
2160 
2161 // VkMemoryHeapFlagBits global enums
2162 enum VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_DEVICE_LOCAL_BIT;
2163 enum VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX;
2164 enum VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = VkMemoryHeapFlagBits.VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM;
2165 alias VkMemoryHeapFlags = VkFlags;
2166 alias VkDeviceCreateFlags = VkFlags;
2167 alias VkDeviceQueueCreateFlags = VkFlags;
2168 
2169 enum VkPipelineStageFlagBits {
2170 	VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2171 	VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2172 	VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2173 	VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2174 	VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2175 	VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2176 	VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2177 	VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2178 	VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2179 	VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2180 	VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2181 	VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2182 	VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2183 	VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2184 	VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2185 	VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2186 	VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2187 	VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000,
2188 	VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2189 }
2190 
2191 // VkPipelineStageFlagBits global enums
2192 enum VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
2193 enum VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT;
2194 enum VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_VERTEX_INPUT_BIT;
2195 enum VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_VERTEX_SHADER_BIT;
2196 enum VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT;
2197 enum VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT;
2198 enum VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT;
2199 enum VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
2200 enum VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT;
2201 enum VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT;
2202 enum VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
2203 enum VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
2204 enum VK_PIPELINE_STAGE_TRANSFER_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_TRANSFER_BIT;
2205 enum VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
2206 enum VK_PIPELINE_STAGE_HOST_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_HOST_BIT;
2207 enum VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT;
2208 enum VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_ALL_COMMANDS_BIT;
2209 enum VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX;
2210 enum VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = VkPipelineStageFlagBits.VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM;
2211 alias VkPipelineStageFlags = VkFlags;
2212 alias VkMemoryMapFlags = VkFlags;
2213 
2214 enum VkImageAspectFlagBits {
2215 	VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2216 	VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2217 	VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2218 	VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2219 	VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 0x00000010,
2220 	VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 0x00000020,
2221 	VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 0x00000040,
2222 	VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2223 }
2224 
2225 // VkImageAspectFlagBits global enums
2226 enum VK_IMAGE_ASPECT_COLOR_BIT = VkImageAspectFlagBits.VK_IMAGE_ASPECT_COLOR_BIT;
2227 enum VK_IMAGE_ASPECT_DEPTH_BIT = VkImageAspectFlagBits.VK_IMAGE_ASPECT_DEPTH_BIT;
2228 enum VK_IMAGE_ASPECT_STENCIL_BIT = VkImageAspectFlagBits.VK_IMAGE_ASPECT_STENCIL_BIT;
2229 enum VK_IMAGE_ASPECT_METADATA_BIT = VkImageAspectFlagBits.VK_IMAGE_ASPECT_METADATA_BIT;
2230 enum VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_0_BIT_KHR;
2231 enum VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_1_BIT_KHR;
2232 enum VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VkImageAspectFlagBits.VK_IMAGE_ASPECT_PLANE_2_BIT_KHR;
2233 enum VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = VkImageAspectFlagBits.VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM;
2234 alias VkImageAspectFlags = VkFlags;
2235 
2236 enum VkSparseImageFormatFlagBits {
2237 	VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2238 	VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2239 	VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2240 	VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2241 }
2242 
2243 // VkSparseImageFormatFlagBits global enums
2244 enum VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT;
2245 enum VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT;
2246 enum VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT;
2247 enum VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = VkSparseImageFormatFlagBits.VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM;
2248 alias VkSparseImageFormatFlags = VkFlags;
2249 
2250 enum VkSparseMemoryBindFlagBits {
2251 	VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2252 	VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2253 }
2254 
2255 // VkSparseMemoryBindFlagBits global enums
2256 enum VK_SPARSE_MEMORY_BIND_METADATA_BIT = VkSparseMemoryBindFlagBits.VK_SPARSE_MEMORY_BIND_METADATA_BIT;
2257 enum VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = VkSparseMemoryBindFlagBits.VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM;
2258 alias VkSparseMemoryBindFlags = VkFlags;
2259 
2260 enum VkFenceCreateFlagBits {
2261 	VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2262 	VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2263 }
2264 
2265 // VkFenceCreateFlagBits global enums
2266 enum VK_FENCE_CREATE_SIGNALED_BIT = VkFenceCreateFlagBits.VK_FENCE_CREATE_SIGNALED_BIT;
2267 enum VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = VkFenceCreateFlagBits.VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM;
2268 alias VkFenceCreateFlags = VkFlags;
2269 alias VkSemaphoreCreateFlags = VkFlags;
2270 alias VkEventCreateFlags = VkFlags;
2271 alias VkQueryPoolCreateFlags = VkFlags;
2272 
2273 enum VkQueryPipelineStatisticFlagBits {
2274 	VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2275 	VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2276 	VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2277 	VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2278 	VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2279 	VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2280 	VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2281 	VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2282 	VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2283 	VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2284 	VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2285 	VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2286 }
2287 
2288 // VkQueryPipelineStatisticFlagBits global enums
2289 enum VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT;
2290 enum VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT;
2291 enum VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT;
2292 enum VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT;
2293 enum VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT;
2294 enum VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT;
2295 enum VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT;
2296 enum VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT;
2297 enum VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT;
2298 enum VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT;
2299 enum VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT;
2300 enum VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = VkQueryPipelineStatisticFlagBits.VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM;
2301 alias VkQueryPipelineStatisticFlags = VkFlags;
2302 
2303 enum VkQueryResultFlagBits {
2304 	VK_QUERY_RESULT_64_BIT = 0x00000001,
2305 	VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2306 	VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2307 	VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2308 	VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2309 }
2310 
2311 // VkQueryResultFlagBits global enums
2312 enum VK_QUERY_RESULT_64_BIT = VkQueryResultFlagBits.VK_QUERY_RESULT_64_BIT;
2313 enum VK_QUERY_RESULT_WAIT_BIT = VkQueryResultFlagBits.VK_QUERY_RESULT_WAIT_BIT;
2314 enum VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = VkQueryResultFlagBits.VK_QUERY_RESULT_WITH_AVAILABILITY_BIT;
2315 enum VK_QUERY_RESULT_PARTIAL_BIT = VkQueryResultFlagBits.VK_QUERY_RESULT_PARTIAL_BIT;
2316 enum VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = VkQueryResultFlagBits.VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM;
2317 alias VkQueryResultFlags = VkFlags;
2318 
2319 enum VkBufferCreateFlagBits {
2320 	VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2321 	VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2322 	VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2323 	VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2324 }
2325 
2326 // VkBufferCreateFlagBits global enums
2327 enum VK_BUFFER_CREATE_SPARSE_BINDING_BIT = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_BINDING_BIT;
2328 enum VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT;
2329 enum VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = VkBufferCreateFlagBits.VK_BUFFER_CREATE_SPARSE_ALIASED_BIT;
2330 enum VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = VkBufferCreateFlagBits.VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM;
2331 alias VkBufferCreateFlags = VkFlags;
2332 
2333 enum VkBufferUsageFlagBits {
2334 	VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2335 	VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2336 	VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2337 	VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2338 	VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2339 	VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2340 	VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2341 	VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2342 	VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2343 	VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2344 }
2345 
2346 // VkBufferUsageFlagBits global enums
2347 enum VK_BUFFER_USAGE_TRANSFER_SRC_BIT = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFER_SRC_BIT;
2348 enum VK_BUFFER_USAGE_TRANSFER_DST_BIT = VkBufferUsageFlagBits.VK_BUFFER_USAGE_TRANSFER_DST_BIT;
2349 enum VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = VkBufferUsageFlagBits.VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT;
2350 enum VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = VkBufferUsageFlagBits.VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT;
2351 enum VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = VkBufferUsageFlagBits.VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT;
2352 enum VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = VkBufferUsageFlagBits.VK_BUFFER_USAGE_STORAGE_BUFFER_BIT;
2353 enum VK_BUFFER_USAGE_INDEX_BUFFER_BIT = VkBufferUsageFlagBits.VK_BUFFER_USAGE_INDEX_BUFFER_BIT;
2354 enum VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = VkBufferUsageFlagBits.VK_BUFFER_USAGE_VERTEX_BUFFER_BIT;
2355 enum VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = VkBufferUsageFlagBits.VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT;
2356 enum VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = VkBufferUsageFlagBits.VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM;
2357 alias VkBufferUsageFlags = VkFlags;
2358 alias VkBufferViewCreateFlags = VkFlags;
2359 alias VkImageViewCreateFlags = VkFlags;
2360 alias VkShaderModuleCreateFlags = VkFlags;
2361 alias VkPipelineCacheCreateFlags = VkFlags;
2362 
2363 enum VkPipelineCreateFlagBits {
2364 	VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
2365 	VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
2366 	VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
2367 	VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHX = 0x00000008,
2368 	VK_PIPELINE_CREATE_DISPATCH_BASE_KHX = 0x00000010,
2369 	VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2370 }
2371 
2372 // VkPipelineCreateFlagBits global enums
2373 enum VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT;
2374 enum VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT;
2375 enum VK_PIPELINE_CREATE_DERIVATIVE_BIT = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DERIVATIVE_BIT;
2376 enum VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHX = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHX;
2377 enum VK_PIPELINE_CREATE_DISPATCH_BASE_KHX = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_DISPATCH_BASE_KHX;
2378 enum VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = VkPipelineCreateFlagBits.VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM;
2379 alias VkPipelineCreateFlags = VkFlags;
2380 alias VkPipelineShaderStageCreateFlags = VkFlags;
2381 
2382 enum VkShaderStageFlagBits {
2383 	VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
2384 	VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
2385 	VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
2386 	VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
2387 	VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
2388 	VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
2389 	VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
2390 	VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
2391 	VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2392 }
2393 
2394 // VkShaderStageFlagBits global enums
2395 enum VK_SHADER_STAGE_VERTEX_BIT = VkShaderStageFlagBits.VK_SHADER_STAGE_VERTEX_BIT;
2396 enum VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = VkShaderStageFlagBits.VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;
2397 enum VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = VkShaderStageFlagBits.VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT;
2398 enum VK_SHADER_STAGE_GEOMETRY_BIT = VkShaderStageFlagBits.VK_SHADER_STAGE_GEOMETRY_BIT;
2399 enum VK_SHADER_STAGE_FRAGMENT_BIT = VkShaderStageFlagBits.VK_SHADER_STAGE_FRAGMENT_BIT;
2400 enum VK_SHADER_STAGE_COMPUTE_BIT = VkShaderStageFlagBits.VK_SHADER_STAGE_COMPUTE_BIT;
2401 enum VK_SHADER_STAGE_ALL_GRAPHICS = VkShaderStageFlagBits.VK_SHADER_STAGE_ALL_GRAPHICS;
2402 enum VK_SHADER_STAGE_ALL = VkShaderStageFlagBits.VK_SHADER_STAGE_ALL;
2403 enum VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = VkShaderStageFlagBits.VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM;
2404 alias VkPipelineVertexInputStateCreateFlags = VkFlags;
2405 alias VkPipelineInputAssemblyStateCreateFlags = VkFlags;
2406 alias VkPipelineTessellationStateCreateFlags = VkFlags;
2407 alias VkPipelineViewportStateCreateFlags = VkFlags;
2408 alias VkPipelineRasterizationStateCreateFlags = VkFlags;
2409 
2410 enum VkCullModeFlagBits {
2411 	VK_CULL_MODE_NONE = 0,
2412 	VK_CULL_MODE_FRONT_BIT = 0x00000001,
2413 	VK_CULL_MODE_BACK_BIT = 0x00000002,
2414 	VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
2415 	VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2416 }
2417 
2418 // VkCullModeFlagBits global enums
2419 enum VK_CULL_MODE_NONE = VkCullModeFlagBits.VK_CULL_MODE_NONE;
2420 enum VK_CULL_MODE_FRONT_BIT = VkCullModeFlagBits.VK_CULL_MODE_FRONT_BIT;
2421 enum VK_CULL_MODE_BACK_BIT = VkCullModeFlagBits.VK_CULL_MODE_BACK_BIT;
2422 enum VK_CULL_MODE_FRONT_AND_BACK = VkCullModeFlagBits.VK_CULL_MODE_FRONT_AND_BACK;
2423 enum VK_CULL_MODE_FLAG_BITS_MAX_ENUM = VkCullModeFlagBits.VK_CULL_MODE_FLAG_BITS_MAX_ENUM;
2424 alias VkCullModeFlags = VkFlags;
2425 alias VkPipelineMultisampleStateCreateFlags = VkFlags;
2426 alias VkPipelineDepthStencilStateCreateFlags = VkFlags;
2427 alias VkPipelineColorBlendStateCreateFlags = VkFlags;
2428 
2429 enum VkColorComponentFlagBits {
2430 	VK_COLOR_COMPONENT_R_BIT = 0x00000001,
2431 	VK_COLOR_COMPONENT_G_BIT = 0x00000002,
2432 	VK_COLOR_COMPONENT_B_BIT = 0x00000004,
2433 	VK_COLOR_COMPONENT_A_BIT = 0x00000008,
2434 	VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2435 }
2436 
2437 // VkColorComponentFlagBits global enums
2438 enum VK_COLOR_COMPONENT_R_BIT = VkColorComponentFlagBits.VK_COLOR_COMPONENT_R_BIT;
2439 enum VK_COLOR_COMPONENT_G_BIT = VkColorComponentFlagBits.VK_COLOR_COMPONENT_G_BIT;
2440 enum VK_COLOR_COMPONENT_B_BIT = VkColorComponentFlagBits.VK_COLOR_COMPONENT_B_BIT;
2441 enum VK_COLOR_COMPONENT_A_BIT = VkColorComponentFlagBits.VK_COLOR_COMPONENT_A_BIT;
2442 enum VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = VkColorComponentFlagBits.VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM;
2443 alias VkColorComponentFlags = VkFlags;
2444 alias VkPipelineDynamicStateCreateFlags = VkFlags;
2445 alias VkPipelineLayoutCreateFlags = VkFlags;
2446 alias VkShaderStageFlags = VkFlags;
2447 alias VkSamplerCreateFlags = VkFlags;
2448 
2449 enum VkDescriptorSetLayoutCreateFlagBits {
2450 	VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
2451 	VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2452 }
2453 
2454 // VkDescriptorSetLayoutCreateFlagBits global enums
2455 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR;
2456 enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = VkDescriptorSetLayoutCreateFlagBits.VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM;
2457 alias VkDescriptorSetLayoutCreateFlags = VkFlags;
2458 
2459 enum VkDescriptorPoolCreateFlagBits {
2460 	VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
2461 	VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2462 }
2463 
2464 // VkDescriptorPoolCreateFlagBits global enums
2465 enum VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT;
2466 enum VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = VkDescriptorPoolCreateFlagBits.VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM;
2467 alias VkDescriptorPoolCreateFlags = VkFlags;
2468 alias VkDescriptorPoolResetFlags = VkFlags;
2469 alias VkFramebufferCreateFlags = VkFlags;
2470 alias VkRenderPassCreateFlags = VkFlags;
2471 
2472 enum VkAttachmentDescriptionFlagBits {
2473 	VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
2474 	VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2475 }
2476 
2477 // VkAttachmentDescriptionFlagBits global enums
2478 enum VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = VkAttachmentDescriptionFlagBits.VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT;
2479 enum VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = VkAttachmentDescriptionFlagBits.VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM;
2480 alias VkAttachmentDescriptionFlags = VkFlags;
2481 
2482 enum VkSubpassDescriptionFlagBits {
2483 	VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
2484 	VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
2485 	VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2486 }
2487 
2488 // VkSubpassDescriptionFlagBits global enums
2489 enum VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX;
2490 enum VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX;
2491 enum VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = VkSubpassDescriptionFlagBits.VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM;
2492 alias VkSubpassDescriptionFlags = VkFlags;
2493 
2494 enum VkAccessFlagBits {
2495 	VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2496 	VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2497 	VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2498 	VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2499 	VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2500 	VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2501 	VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2502 	VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2503 	VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2504 	VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2505 	VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2506 	VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2507 	VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2508 	VK_ACCESS_HOST_READ_BIT = 0x00002000,
2509 	VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2510 	VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2511 	VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2512 	VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000,
2513 	VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000,
2514 	VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2515 	VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2516 }
2517 
2518 // VkAccessFlagBits global enums
2519 enum VK_ACCESS_INDIRECT_COMMAND_READ_BIT = VkAccessFlagBits.VK_ACCESS_INDIRECT_COMMAND_READ_BIT;
2520 enum VK_ACCESS_INDEX_READ_BIT = VkAccessFlagBits.VK_ACCESS_INDEX_READ_BIT;
2521 enum VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = VkAccessFlagBits.VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT;
2522 enum VK_ACCESS_UNIFORM_READ_BIT = VkAccessFlagBits.VK_ACCESS_UNIFORM_READ_BIT;
2523 enum VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = VkAccessFlagBits.VK_ACCESS_INPUT_ATTACHMENT_READ_BIT;
2524 enum VK_ACCESS_SHADER_READ_BIT = VkAccessFlagBits.VK_ACCESS_SHADER_READ_BIT;
2525 enum VK_ACCESS_SHADER_WRITE_BIT = VkAccessFlagBits.VK_ACCESS_SHADER_WRITE_BIT;
2526 enum VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_READ_BIT;
2527 enum VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
2528 enum VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = VkAccessFlagBits.VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT;
2529 enum VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = VkAccessFlagBits.VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
2530 enum VK_ACCESS_TRANSFER_READ_BIT = VkAccessFlagBits.VK_ACCESS_TRANSFER_READ_BIT;
2531 enum VK_ACCESS_TRANSFER_WRITE_BIT = VkAccessFlagBits.VK_ACCESS_TRANSFER_WRITE_BIT;
2532 enum VK_ACCESS_HOST_READ_BIT = VkAccessFlagBits.VK_ACCESS_HOST_READ_BIT;
2533 enum VK_ACCESS_HOST_WRITE_BIT = VkAccessFlagBits.VK_ACCESS_HOST_WRITE_BIT;
2534 enum VK_ACCESS_MEMORY_READ_BIT = VkAccessFlagBits.VK_ACCESS_MEMORY_READ_BIT;
2535 enum VK_ACCESS_MEMORY_WRITE_BIT = VkAccessFlagBits.VK_ACCESS_MEMORY_WRITE_BIT;
2536 enum VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = VkAccessFlagBits.VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX;
2537 enum VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = VkAccessFlagBits.VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX;
2538 enum VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = VkAccessFlagBits.VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT;
2539 enum VK_ACCESS_FLAG_BITS_MAX_ENUM = VkAccessFlagBits.VK_ACCESS_FLAG_BITS_MAX_ENUM;
2540 alias VkAccessFlags = VkFlags;
2541 
2542 enum VkDependencyFlagBits {
2543 	VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
2544 	VK_DEPENDENCY_VIEW_LOCAL_BIT_KHX = 0x00000002,
2545 	VK_DEPENDENCY_DEVICE_GROUP_BIT_KHX = 0x00000004,
2546 	VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2547 }
2548 
2549 // VkDependencyFlagBits global enums
2550 enum VK_DEPENDENCY_BY_REGION_BIT = VkDependencyFlagBits.VK_DEPENDENCY_BY_REGION_BIT;
2551 enum VK_DEPENDENCY_VIEW_LOCAL_BIT_KHX = VkDependencyFlagBits.VK_DEPENDENCY_VIEW_LOCAL_BIT_KHX;
2552 enum VK_DEPENDENCY_DEVICE_GROUP_BIT_KHX = VkDependencyFlagBits.VK_DEPENDENCY_DEVICE_GROUP_BIT_KHX;
2553 enum VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = VkDependencyFlagBits.VK_DEPENDENCY_FLAG_BITS_MAX_ENUM;
2554 alias VkDependencyFlags = VkFlags;
2555 
2556 enum VkCommandPoolCreateFlagBits {
2557 	VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
2558 	VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
2559 	VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2560 }
2561 
2562 // VkCommandPoolCreateFlagBits global enums
2563 enum VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_TRANSIENT_BIT;
2564 enum VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
2565 enum VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = VkCommandPoolCreateFlagBits.VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM;
2566 alias VkCommandPoolCreateFlags = VkFlags;
2567 
2568 enum VkCommandPoolResetFlagBits {
2569 	VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2570 	VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2571 }
2572 
2573 // VkCommandPoolResetFlagBits global enums
2574 enum VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = VkCommandPoolResetFlagBits.VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT;
2575 enum VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = VkCommandPoolResetFlagBits.VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM;
2576 alias VkCommandPoolResetFlags = VkFlags;
2577 
2578 enum VkCommandBufferUsageFlagBits {
2579 	VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
2580 	VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
2581 	VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
2582 	VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2583 }
2584 
2585 // VkCommandBufferUsageFlagBits global enums
2586 enum VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
2587 enum VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT;
2588 enum VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
2589 enum VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = VkCommandBufferUsageFlagBits.VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM;
2590 alias VkCommandBufferUsageFlags = VkFlags;
2591 
2592 enum VkQueryControlFlagBits {
2593 	VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
2594 	VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2595 }
2596 
2597 // VkQueryControlFlagBits global enums
2598 enum VK_QUERY_CONTROL_PRECISE_BIT = VkQueryControlFlagBits.VK_QUERY_CONTROL_PRECISE_BIT;
2599 enum VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = VkQueryControlFlagBits.VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM;
2600 alias VkQueryControlFlags = VkFlags;
2601 
2602 enum VkCommandBufferResetFlagBits {
2603 	VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2604 	VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2605 }
2606 
2607 // VkCommandBufferResetFlagBits global enums
2608 enum VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = VkCommandBufferResetFlagBits.VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT;
2609 enum VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = VkCommandBufferResetFlagBits.VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM;
2610 alias VkCommandBufferResetFlags = VkFlags;
2611 
2612 enum VkStencilFaceFlagBits {
2613 	VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
2614 	VK_STENCIL_FACE_BACK_BIT = 0x00000002,
2615 	VK_STENCIL_FRONT_AND_BACK = 0x00000003,
2616 	VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2617 }
2618 
2619 // VkStencilFaceFlagBits global enums
2620 enum VK_STENCIL_FACE_FRONT_BIT = VkStencilFaceFlagBits.VK_STENCIL_FACE_FRONT_BIT;
2621 enum VK_STENCIL_FACE_BACK_BIT = VkStencilFaceFlagBits.VK_STENCIL_FACE_BACK_BIT;
2622 enum VK_STENCIL_FRONT_AND_BACK = VkStencilFaceFlagBits.VK_STENCIL_FRONT_AND_BACK;
2623 enum VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = VkStencilFaceFlagBits.VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM;
2624 alias VkStencilFaceFlags = VkFlags;
2625 
2626 alias PFN_vkAllocationFunction = void* function( void* pUserData, size_t size, size_t alignment, VkSystemAllocationScope allocationScope);
2627 alias PFN_vkReallocationFunction = void* function( void* pUserData, void* pOriginal, size_t size, size_t alignment, VkSystemAllocationScope allocationScope);
2628 alias PFN_vkFreeFunction = void function( void* pUserData, void* pMemory);
2629 alias PFN_vkInternalAllocationNotification = void function( void* pUserData, size_t size, VkInternalAllocationType allocationType, VkSystemAllocationScope allocationScope);
2630 alias PFN_vkInternalFreeNotification = void function( void* pUserData, size_t size, VkInternalAllocationType allocationType, VkSystemAllocationScope allocationScope);
2631 alias PFN_vkVoidFunction = void function( );
2632 
2633 struct VkApplicationInfo {
2634 	VkStructureType  sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
2635 	const( void )*   pNext;
2636 	const( char )*   pApplicationName;
2637 	uint32_t         applicationVersion;
2638 	const( char )*   pEngineName;
2639 	uint32_t         engineVersion;
2640 	uint32_t         apiVersion;
2641 }
2642 
2643 struct VkInstanceCreateInfo {
2644 	VkStructureType              sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
2645 	const( void )*               pNext;
2646 	VkInstanceCreateFlags        flags;
2647 	const( VkApplicationInfo )*  pApplicationInfo;
2648 	uint32_t                     enabledLayerCount;
2649 	const( char* )*              ppEnabledLayerNames;
2650 	uint32_t                     enabledExtensionCount;
2651 	const( char* )*              ppEnabledExtensionNames;
2652 }
2653 
2654 struct VkAllocationCallbacks {
2655 	void*                                 pUserData;
2656 	PFN_vkAllocationFunction              pfnAllocation;
2657 	PFN_vkReallocationFunction            pfnReallocation;
2658 	PFN_vkFreeFunction                    pfnFree;
2659 	PFN_vkInternalAllocationNotification  pfnInternalAllocation;
2660 	PFN_vkInternalFreeNotification        pfnInternalFree;
2661 }
2662 
2663 struct VkPhysicalDeviceFeatures {
2664 	VkBool32  robustBufferAccess;
2665 	VkBool32  fullDrawIndexUint32;
2666 	VkBool32  imageCubeArray;
2667 	VkBool32  independentBlend;
2668 	VkBool32  geometryShader;
2669 	VkBool32  tessellationShader;
2670 	VkBool32  sampleRateShading;
2671 	VkBool32  dualSrcBlend;
2672 	VkBool32  logicOp;
2673 	VkBool32  multiDrawIndirect;
2674 	VkBool32  drawIndirectFirstInstance;
2675 	VkBool32  depthClamp;
2676 	VkBool32  depthBiasClamp;
2677 	VkBool32  fillModeNonSolid;
2678 	VkBool32  depthBounds;
2679 	VkBool32  wideLines;
2680 	VkBool32  largePoints;
2681 	VkBool32  alphaToOne;
2682 	VkBool32  multiViewport;
2683 	VkBool32  samplerAnisotropy;
2684 	VkBool32  textureCompressionETC2;
2685 	VkBool32  textureCompressionASTC_LDR;
2686 	VkBool32  textureCompressionBC;
2687 	VkBool32  occlusionQueryPrecise;
2688 	VkBool32  pipelineStatisticsQuery;
2689 	VkBool32  vertexPipelineStoresAndAtomics;
2690 	VkBool32  fragmentStoresAndAtomics;
2691 	VkBool32  shaderTessellationAndGeometryPointSize;
2692 	VkBool32  shaderImageGatherExtended;
2693 	VkBool32  shaderStorageImageExtendedFormats;
2694 	VkBool32  shaderStorageImageMultisample;
2695 	VkBool32  shaderStorageImageReadWithoutFormat;
2696 	VkBool32  shaderStorageImageWriteWithoutFormat;
2697 	VkBool32  shaderUniformBufferArrayDynamicIndexing;
2698 	VkBool32  shaderSampledImageArrayDynamicIndexing;
2699 	VkBool32  shaderStorageBufferArrayDynamicIndexing;
2700 	VkBool32  shaderStorageImageArrayDynamicIndexing;
2701 	VkBool32  shaderClipDistance;
2702 	VkBool32  shaderCullDistance;
2703 	VkBool32  shaderFloat64;
2704 	VkBool32  shaderInt64;
2705 	VkBool32  shaderInt16;
2706 	VkBool32  shaderResourceResidency;
2707 	VkBool32  shaderResourceMinLod;
2708 	VkBool32  sparseBinding;
2709 	VkBool32  sparseResidencyBuffer;
2710 	VkBool32  sparseResidencyImage2D;
2711 	VkBool32  sparseResidencyImage3D;
2712 	VkBool32  sparseResidency2Samples;
2713 	VkBool32  sparseResidency4Samples;
2714 	VkBool32  sparseResidency8Samples;
2715 	VkBool32  sparseResidency16Samples;
2716 	VkBool32  sparseResidencyAliased;
2717 	VkBool32  variableMultisampleRate;
2718 	VkBool32  inheritedQueries;
2719 }
2720 
2721 struct VkFormatProperties {
2722 	VkFormatFeatureFlags  linearTilingFeatures;
2723 	VkFormatFeatureFlags  optimalTilingFeatures;
2724 	VkFormatFeatureFlags  bufferFeatures;
2725 }
2726 
2727 struct VkExtent3D {
2728 	uint32_t  width;
2729 	uint32_t  height;
2730 	uint32_t  depth;
2731 }
2732 
2733 struct VkImageFormatProperties {
2734 	VkExtent3D          maxExtent;
2735 	uint32_t            maxMipLevels;
2736 	uint32_t            maxArrayLayers;
2737 	VkSampleCountFlags  sampleCounts;
2738 	VkDeviceSize        maxResourceSize;
2739 }
2740 
2741 struct VkPhysicalDeviceLimits {
2742 	uint32_t            maxImageDimension1D;
2743 	uint32_t            maxImageDimension2D;
2744 	uint32_t            maxImageDimension3D;
2745 	uint32_t            maxImageDimensionCube;
2746 	uint32_t            maxImageArrayLayers;
2747 	uint32_t            maxTexelBufferElements;
2748 	uint32_t            maxUniformBufferRange;
2749 	uint32_t            maxStorageBufferRange;
2750 	uint32_t            maxPushConstantsSize;
2751 	uint32_t            maxMemoryAllocationCount;
2752 	uint32_t            maxSamplerAllocationCount;
2753 	VkDeviceSize        bufferImageGranularity;
2754 	VkDeviceSize        sparseAddressSpaceSize;
2755 	uint32_t            maxBoundDescriptorSets;
2756 	uint32_t            maxPerStageDescriptorSamplers;
2757 	uint32_t            maxPerStageDescriptorUniformBuffers;
2758 	uint32_t            maxPerStageDescriptorStorageBuffers;
2759 	uint32_t            maxPerStageDescriptorSampledImages;
2760 	uint32_t            maxPerStageDescriptorStorageImages;
2761 	uint32_t            maxPerStageDescriptorInputAttachments;
2762 	uint32_t            maxPerStageResources;
2763 	uint32_t            maxDescriptorSetSamplers;
2764 	uint32_t            maxDescriptorSetUniformBuffers;
2765 	uint32_t            maxDescriptorSetUniformBuffersDynamic;
2766 	uint32_t            maxDescriptorSetStorageBuffers;
2767 	uint32_t            maxDescriptorSetStorageBuffersDynamic;
2768 	uint32_t            maxDescriptorSetSampledImages;
2769 	uint32_t            maxDescriptorSetStorageImages;
2770 	uint32_t            maxDescriptorSetInputAttachments;
2771 	uint32_t            maxVertexInputAttributes;
2772 	uint32_t            maxVertexInputBindings;
2773 	uint32_t            maxVertexInputAttributeOffset;
2774 	uint32_t            maxVertexInputBindingStride;
2775 	uint32_t            maxVertexOutputComponents;
2776 	uint32_t            maxTessellationGenerationLevel;
2777 	uint32_t            maxTessellationPatchSize;
2778 	uint32_t            maxTessellationControlPerVertexInputComponents;
2779 	uint32_t            maxTessellationControlPerVertexOutputComponents;
2780 	uint32_t            maxTessellationControlPerPatchOutputComponents;
2781 	uint32_t            maxTessellationControlTotalOutputComponents;
2782 	uint32_t            maxTessellationEvaluationInputComponents;
2783 	uint32_t            maxTessellationEvaluationOutputComponents;
2784 	uint32_t            maxGeometryShaderInvocations;
2785 	uint32_t            maxGeometryInputComponents;
2786 	uint32_t            maxGeometryOutputComponents;
2787 	uint32_t            maxGeometryOutputVertices;
2788 	uint32_t            maxGeometryTotalOutputComponents;
2789 	uint32_t            maxFragmentInputComponents;
2790 	uint32_t            maxFragmentOutputAttachments;
2791 	uint32_t            maxFragmentDualSrcAttachments;
2792 	uint32_t            maxFragmentCombinedOutputResources;
2793 	uint32_t            maxComputeSharedMemorySize;
2794 	uint32_t[3]         maxComputeWorkGroupCount;
2795 	uint32_t            maxComputeWorkGroupInvocations;
2796 	uint32_t[3]         maxComputeWorkGroupSize;
2797 	uint32_t            subPixelPrecisionBits;
2798 	uint32_t            subTexelPrecisionBits;
2799 	uint32_t            mipmapPrecisionBits;
2800 	uint32_t            maxDrawIndexedIndexValue;
2801 	uint32_t            maxDrawIndirectCount;
2802 	float               maxSamplerLodBias;
2803 	float               maxSamplerAnisotropy;
2804 	uint32_t            maxViewports;
2805 	uint32_t[2]         maxViewportDimensions;
2806 	float[2]            viewportBoundsRange;
2807 	uint32_t            viewportSubPixelBits;
2808 	size_t              minMemoryMapAlignment;
2809 	VkDeviceSize        minTexelBufferOffsetAlignment;
2810 	VkDeviceSize        minUniformBufferOffsetAlignment;
2811 	VkDeviceSize        minStorageBufferOffsetAlignment;
2812 	int32_t             minTexelOffset;
2813 	uint32_t            maxTexelOffset;
2814 	int32_t             minTexelGatherOffset;
2815 	uint32_t            maxTexelGatherOffset;
2816 	float               minInterpolationOffset;
2817 	float               maxInterpolationOffset;
2818 	uint32_t            subPixelInterpolationOffsetBits;
2819 	uint32_t            maxFramebufferWidth;
2820 	uint32_t            maxFramebufferHeight;
2821 	uint32_t            maxFramebufferLayers;
2822 	VkSampleCountFlags  framebufferColorSampleCounts;
2823 	VkSampleCountFlags  framebufferDepthSampleCounts;
2824 	VkSampleCountFlags  framebufferStencilSampleCounts;
2825 	VkSampleCountFlags  framebufferNoAttachmentsSampleCounts;
2826 	uint32_t            maxColorAttachments;
2827 	VkSampleCountFlags  sampledImageColorSampleCounts;
2828 	VkSampleCountFlags  sampledImageIntegerSampleCounts;
2829 	VkSampleCountFlags  sampledImageDepthSampleCounts;
2830 	VkSampleCountFlags  sampledImageStencilSampleCounts;
2831 	VkSampleCountFlags  storageImageSampleCounts;
2832 	uint32_t            maxSampleMaskWords;
2833 	VkBool32            timestampComputeAndGraphics;
2834 	float               timestampPeriod;
2835 	uint32_t            maxClipDistances;
2836 	uint32_t            maxCullDistances;
2837 	uint32_t            maxCombinedClipAndCullDistances;
2838 	uint32_t            discreteQueuePriorities;
2839 	float[2]            pointSizeRange;
2840 	float[2]            lineWidthRange;
2841 	float               pointSizeGranularity;
2842 	float               lineWidthGranularity;
2843 	VkBool32            strictLines;
2844 	VkBool32            standardSampleLocations;
2845 	VkDeviceSize        optimalBufferCopyOffsetAlignment;
2846 	VkDeviceSize        optimalBufferCopyRowPitchAlignment;
2847 	VkDeviceSize        nonCoherentAtomSize;
2848 }
2849 
2850 struct VkPhysicalDeviceSparseProperties {
2851 	VkBool32  residencyStandard2DBlockShape;
2852 	VkBool32  residencyStandard2DMultisampleBlockShape;
2853 	VkBool32  residencyStandard3DBlockShape;
2854 	VkBool32  residencyAlignedMipSize;
2855 	VkBool32  residencyNonResidentStrict;
2856 }
2857 
2858 struct VkPhysicalDeviceProperties {
2859 	uint32_t                                  apiVersion;
2860 	uint32_t                                  driverVersion;
2861 	uint32_t                                  vendorID;
2862 	uint32_t                                  deviceID;
2863 	VkPhysicalDeviceType                      deviceType;
2864 	char[ VK_MAX_PHYSICAL_DEVICE_NAME_SIZE ]  deviceName;
2865 	uint8_t[ VK_UUID_SIZE ]                   pipelineCacheUUID;
2866 	VkPhysicalDeviceLimits                    limits;
2867 	VkPhysicalDeviceSparseProperties          sparseProperties;
2868 }
2869 
2870 struct VkQueueFamilyProperties {
2871 	VkQueueFlags  queueFlags;
2872 	uint32_t      queueCount;
2873 	uint32_t      timestampValidBits;
2874 	VkExtent3D    minImageTransferGranularity;
2875 }
2876 
2877 struct VkMemoryType {
2878 	VkMemoryPropertyFlags  propertyFlags;
2879 	uint32_t               heapIndex;
2880 }
2881 
2882 struct VkMemoryHeap {
2883 	VkDeviceSize       size;
2884 	VkMemoryHeapFlags  flags;
2885 }
2886 
2887 struct VkPhysicalDeviceMemoryProperties {
2888 	uint32_t                             memoryTypeCount;
2889 	VkMemoryType[ VK_MAX_MEMORY_TYPES ]  memoryTypes;
2890 	uint32_t                             memoryHeapCount;
2891 	VkMemoryHeap[ VK_MAX_MEMORY_HEAPS ]  memoryHeaps;
2892 }
2893 
2894 struct VkDeviceQueueCreateInfo {
2895 	VkStructureType           sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
2896 	const( void )*            pNext;
2897 	VkDeviceQueueCreateFlags  flags;
2898 	uint32_t                  queueFamilyIndex;
2899 	uint32_t                  queueCount;
2900 	const( float )*           pQueuePriorities;
2901 }
2902 
2903 struct VkDeviceCreateInfo {
2904 	VkStructureType                     sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
2905 	const( void )*                      pNext;
2906 	VkDeviceCreateFlags                 flags;
2907 	uint32_t                            queueCreateInfoCount;
2908 	const( VkDeviceQueueCreateInfo )*   pQueueCreateInfos;
2909 	uint32_t                            enabledLayerCount;
2910 	const( char* )*                     ppEnabledLayerNames;
2911 	uint32_t                            enabledExtensionCount;
2912 	const( char* )*                     ppEnabledExtensionNames;
2913 	const( VkPhysicalDeviceFeatures )*  pEnabledFeatures;
2914 }
2915 
2916 struct VkExtensionProperties {
2917 	char[ VK_MAX_EXTENSION_NAME_SIZE ]  extensionName;
2918 	uint32_t                            specVersion;
2919 }
2920 
2921 struct VkLayerProperties {
2922 	char[ VK_MAX_EXTENSION_NAME_SIZE ]  layerName;
2923 	uint32_t                            specVersion;
2924 	uint32_t                            implementationVersion;
2925 	char[ VK_MAX_DESCRIPTION_SIZE ]     description;
2926 }
2927 
2928 struct VkSubmitInfo {
2929 	VkStructureType                 sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
2930 	const( void )*                  pNext;
2931 	uint32_t                        waitSemaphoreCount;
2932 	const( VkSemaphore )*           pWaitSemaphores;
2933 	const( VkPipelineStageFlags )*  pWaitDstStageMask;
2934 	uint32_t                        commandBufferCount;
2935 	const( VkCommandBuffer )*       pCommandBuffers;
2936 	uint32_t                        signalSemaphoreCount;
2937 	const( VkSemaphore )*           pSignalSemaphores;
2938 }
2939 
2940 struct VkMemoryAllocateInfo {
2941 	VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
2942 	const( void )*   pNext;
2943 	VkDeviceSize     allocationSize;
2944 	uint32_t         memoryTypeIndex;
2945 }
2946 
2947 struct VkMappedMemoryRange {
2948 	VkStructureType  sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
2949 	const( void )*   pNext;
2950 	VkDeviceMemory   memory;
2951 	VkDeviceSize     offset;
2952 	VkDeviceSize     size;
2953 }
2954 
2955 struct VkMemoryRequirements {
2956 	VkDeviceSize  size;
2957 	VkDeviceSize  alignment;
2958 	uint32_t      memoryTypeBits;
2959 }
2960 
2961 struct VkSparseImageFormatProperties {
2962 	VkImageAspectFlags        aspectMask;
2963 	VkExtent3D                imageGranularity;
2964 	VkSparseImageFormatFlags  flags;
2965 }
2966 
2967 struct VkSparseImageMemoryRequirements {
2968 	VkSparseImageFormatProperties  formatProperties;
2969 	uint32_t                       imageMipTailFirstLod;
2970 	VkDeviceSize                   imageMipTailSize;
2971 	VkDeviceSize                   imageMipTailOffset;
2972 	VkDeviceSize                   imageMipTailStride;
2973 }
2974 
2975 struct VkSparseMemoryBind {
2976 	VkDeviceSize             resourceOffset;
2977 	VkDeviceSize             size;
2978 	VkDeviceMemory           memory;
2979 	VkDeviceSize             memoryOffset;
2980 	VkSparseMemoryBindFlags  flags;
2981 }
2982 
2983 struct VkSparseBufferMemoryBindInfo {
2984 	VkBuffer                      buffer;
2985 	uint32_t                      bindCount;
2986 	const( VkSparseMemoryBind )*  pBinds;
2987 }
2988 
2989 struct VkSparseImageOpaqueMemoryBindInfo {
2990 	VkImage                       image;
2991 	uint32_t                      bindCount;
2992 	const( VkSparseMemoryBind )*  pBinds;
2993 }
2994 
2995 struct VkImageSubresource {
2996 	VkImageAspectFlags  aspectMask;
2997 	uint32_t            mipLevel;
2998 	uint32_t            arrayLayer;
2999 }
3000 
3001 struct VkOffset3D {
3002 	int32_t  x;
3003 	int32_t  y;
3004 	int32_t  z;
3005 }
3006 
3007 struct VkSparseImageMemoryBind {
3008 	VkImageSubresource       subresource;
3009 	VkOffset3D               offset;
3010 	VkExtent3D               extent;
3011 	VkDeviceMemory           memory;
3012 	VkDeviceSize             memoryOffset;
3013 	VkSparseMemoryBindFlags  flags;
3014 }
3015 
3016 struct VkSparseImageMemoryBindInfo {
3017 	VkImage                            image;
3018 	uint32_t                           bindCount;
3019 	const( VkSparseImageMemoryBind )*  pBinds;
3020 }
3021 
3022 struct VkBindSparseInfo {
3023 	VkStructureType                              sType = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO;
3024 	const( void )*                               pNext;
3025 	uint32_t                                     waitSemaphoreCount;
3026 	const( VkSemaphore )*                        pWaitSemaphores;
3027 	uint32_t                                     bufferBindCount;
3028 	const( VkSparseBufferMemoryBindInfo )*       pBufferBinds;
3029 	uint32_t                                     imageOpaqueBindCount;
3030 	const( VkSparseImageOpaqueMemoryBindInfo )*  pImageOpaqueBinds;
3031 	uint32_t                                     imageBindCount;
3032 	const( VkSparseImageMemoryBindInfo )*        pImageBinds;
3033 	uint32_t                                     signalSemaphoreCount;
3034 	const( VkSemaphore )*                        pSignalSemaphores;
3035 }
3036 
3037 struct VkFenceCreateInfo {
3038 	VkStructureType     sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
3039 	const( void )*      pNext;
3040 	VkFenceCreateFlags  flags;
3041 }
3042 
3043 struct VkSemaphoreCreateInfo {
3044 	VkStructureType         sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
3045 	const( void )*          pNext;
3046 	VkSemaphoreCreateFlags  flags;
3047 }
3048 
3049 struct VkEventCreateInfo {
3050 	VkStructureType     sType = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO;
3051 	const( void )*      pNext;
3052 	VkEventCreateFlags  flags;
3053 }
3054 
3055 struct VkQueryPoolCreateInfo {
3056 	VkStructureType                sType = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO;
3057 	const( void )*                 pNext;
3058 	VkQueryPoolCreateFlags         flags;
3059 	VkQueryType                    queryType;
3060 	uint32_t                       queryCount;
3061 	VkQueryPipelineStatisticFlags  pipelineStatistics;
3062 }
3063 
3064 struct VkBufferCreateInfo {
3065 	VkStructureType      sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
3066 	const( void )*       pNext;
3067 	VkBufferCreateFlags  flags;
3068 	VkDeviceSize         size;
3069 	VkBufferUsageFlags   usage;
3070 	VkSharingMode        sharingMode;
3071 	uint32_t             queueFamilyIndexCount;
3072 	const( uint32_t )*   pQueueFamilyIndices;
3073 }
3074 
3075 struct VkBufferViewCreateInfo {
3076 	VkStructureType          sType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
3077 	const( void )*           pNext;
3078 	VkBufferViewCreateFlags  flags;
3079 	VkBuffer                 buffer;
3080 	VkFormat                 format;
3081 	VkDeviceSize             offset;
3082 	VkDeviceSize             range;
3083 }
3084 
3085 struct VkImageCreateInfo {
3086 	VkStructureType        sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
3087 	const( void )*         pNext;
3088 	VkImageCreateFlags     flags;
3089 	VkImageType            imageType;
3090 	VkFormat               format;
3091 	VkExtent3D             extent;
3092 	uint32_t               mipLevels;
3093 	uint32_t               arrayLayers;
3094 	VkSampleCountFlagBits  samples;
3095 	VkImageTiling          tiling;
3096 	VkImageUsageFlags      usage;
3097 	VkSharingMode          sharingMode;
3098 	uint32_t               queueFamilyIndexCount;
3099 	const( uint32_t )*     pQueueFamilyIndices;
3100 	VkImageLayout          initialLayout;
3101 }
3102 
3103 struct VkSubresourceLayout {
3104 	VkDeviceSize  offset;
3105 	VkDeviceSize  size;
3106 	VkDeviceSize  rowPitch;
3107 	VkDeviceSize  arrayPitch;
3108 	VkDeviceSize  depthPitch;
3109 }
3110 
3111 struct VkComponentMapping {
3112 	VkComponentSwizzle  r;
3113 	VkComponentSwizzle  g;
3114 	VkComponentSwizzle  b;
3115 	VkComponentSwizzle  a;
3116 }
3117 
3118 struct VkImageSubresourceRange {
3119 	VkImageAspectFlags  aspectMask;
3120 	uint32_t            baseMipLevel;
3121 	uint32_t            levelCount;
3122 	uint32_t            baseArrayLayer;
3123 	uint32_t            layerCount;
3124 }
3125 
3126 struct VkImageViewCreateInfo {
3127 	VkStructureType          sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
3128 	const( void )*           pNext;
3129 	VkImageViewCreateFlags   flags;
3130 	VkImage                  image;
3131 	VkImageViewType          viewType;
3132 	VkFormat                 format;
3133 	VkComponentMapping       components;
3134 	VkImageSubresourceRange  subresourceRange;
3135 }
3136 
3137 struct VkShaderModuleCreateInfo {
3138 	VkStructureType            sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
3139 	const( void )*             pNext;
3140 	VkShaderModuleCreateFlags  flags;
3141 	size_t                     codeSize;
3142 	const( uint32_t )*         pCode;
3143 }
3144 
3145 struct VkPipelineCacheCreateInfo {
3146 	VkStructureType             sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
3147 	const( void )*              pNext;
3148 	VkPipelineCacheCreateFlags  flags;
3149 	size_t                      initialDataSize;
3150 	const( void )*              pInitialData;
3151 }
3152 
3153 struct VkSpecializationMapEntry {
3154 	uint32_t  constantID;
3155 	uint32_t  offset;
3156 	size_t    size;
3157 }
3158 
3159 struct VkSpecializationInfo {
3160 	uint32_t                            mapEntryCount;
3161 	const( VkSpecializationMapEntry )*  pMapEntries;
3162 	size_t                              dataSize;
3163 	const( void )*                      pData;
3164 }
3165 
3166 struct VkPipelineShaderStageCreateInfo {
3167 	VkStructureType                   sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
3168 	const( void )*                    pNext;
3169 	VkPipelineShaderStageCreateFlags  flags;
3170 	VkShaderStageFlagBits             stage;
3171 	VkShaderModule                    _module;
3172 	const( char )*                    pName;
3173 	const( VkSpecializationInfo )*    pSpecializationInfo;
3174 }
3175 
3176 struct VkVertexInputBindingDescription {
3177 	uint32_t           binding;
3178 	uint32_t           stride;
3179 	VkVertexInputRate  inputRate;
3180 }
3181 
3182 struct VkVertexInputAttributeDescription {
3183 	uint32_t  location;
3184 	uint32_t  binding;
3185 	VkFormat  format;
3186 	uint32_t  offset;
3187 }
3188 
3189 struct VkPipelineVertexInputStateCreateInfo {
3190 	VkStructureType                              sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
3191 	const( void )*                               pNext;
3192 	VkPipelineVertexInputStateCreateFlags        flags;
3193 	uint32_t                                     vertexBindingDescriptionCount;
3194 	const( VkVertexInputBindingDescription )*    pVertexBindingDescriptions;
3195 	uint32_t                                     vertexAttributeDescriptionCount;
3196 	const( VkVertexInputAttributeDescription )*  pVertexAttributeDescriptions;
3197 }
3198 
3199 struct VkPipelineInputAssemblyStateCreateInfo {
3200 	VkStructureType                          sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
3201 	const( void )*                           pNext;
3202 	VkPipelineInputAssemblyStateCreateFlags  flags;
3203 	VkPrimitiveTopology                      topology;
3204 	VkBool32                                 primitiveRestartEnable;
3205 }
3206 
3207 struct VkPipelineTessellationStateCreateInfo {
3208 	VkStructureType                         sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO;
3209 	const( void )*                          pNext;
3210 	VkPipelineTessellationStateCreateFlags  flags;
3211 	uint32_t                                patchControlPoints;
3212 }
3213 
3214 struct VkViewport {
3215 	float  x;
3216 	float  y;
3217 	float  width;
3218 	float  height;
3219 	float  minDepth;
3220 	float  maxDepth;
3221 }
3222 
3223 struct VkOffset2D {
3224 	int32_t  x;
3225 	int32_t  y;
3226 }
3227 
3228 struct VkExtent2D {
3229 	uint32_t  width;
3230 	uint32_t  height;
3231 }
3232 
3233 struct VkRect2D {
3234 	VkOffset2D  offset;
3235 	VkExtent2D  extent;
3236 }
3237 
3238 struct VkPipelineViewportStateCreateInfo {
3239 	VkStructureType                     sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
3240 	const( void )*                      pNext;
3241 	VkPipelineViewportStateCreateFlags  flags;
3242 	uint32_t                            viewportCount;
3243 	const( VkViewport )*                pViewports;
3244 	uint32_t                            scissorCount;
3245 	const( VkRect2D )*                  pScissors;
3246 }
3247 
3248 struct VkPipelineRasterizationStateCreateInfo {
3249 	VkStructureType                          sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
3250 	const( void )*                           pNext;
3251 	VkPipelineRasterizationStateCreateFlags  flags;
3252 	VkBool32                                 depthClampEnable;
3253 	VkBool32                                 rasterizerDiscardEnable;
3254 	VkPolygonMode                            polygonMode;
3255 	VkCullModeFlags                          cullMode;
3256 	VkFrontFace                              frontFace;
3257 	VkBool32                                 depthBiasEnable;
3258 	float                                    depthBiasConstantFactor;
3259 	float                                    depthBiasClamp;
3260 	float                                    depthBiasSlopeFactor;
3261 	float                                    lineWidth;
3262 }
3263 
3264 struct VkPipelineMultisampleStateCreateInfo {
3265 	VkStructureType                        sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
3266 	const( void )*                         pNext;
3267 	VkPipelineMultisampleStateCreateFlags  flags;
3268 	VkSampleCountFlagBits                  rasterizationSamples;
3269 	VkBool32                               sampleShadingEnable;
3270 	float                                  minSampleShading;
3271 	const( VkSampleMask )*                 pSampleMask;
3272 	VkBool32                               alphaToCoverageEnable;
3273 	VkBool32                               alphaToOneEnable;
3274 }
3275 
3276 struct VkStencilOpState {
3277 	VkStencilOp  failOp;
3278 	VkStencilOp  passOp;
3279 	VkStencilOp  depthFailOp;
3280 	VkCompareOp  compareOp;
3281 	uint32_t     compareMask;
3282 	uint32_t     writeMask;
3283 	uint32_t     reference;
3284 }
3285 
3286 struct VkPipelineDepthStencilStateCreateInfo {
3287 	VkStructureType                         sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
3288 	const( void )*                          pNext;
3289 	VkPipelineDepthStencilStateCreateFlags  flags;
3290 	VkBool32                                depthTestEnable;
3291 	VkBool32                                depthWriteEnable;
3292 	VkCompareOp                             depthCompareOp;
3293 	VkBool32                                depthBoundsTestEnable;
3294 	VkBool32                                stencilTestEnable;
3295 	VkStencilOpState                        front;
3296 	VkStencilOpState                        back;
3297 	float                                   minDepthBounds;
3298 	float                                   maxDepthBounds;
3299 }
3300 
3301 struct VkPipelineColorBlendAttachmentState {
3302 	VkBool32               blendEnable;
3303 	VkBlendFactor          srcColorBlendFactor;
3304 	VkBlendFactor          dstColorBlendFactor;
3305 	VkBlendOp              colorBlendOp;
3306 	VkBlendFactor          srcAlphaBlendFactor;
3307 	VkBlendFactor          dstAlphaBlendFactor;
3308 	VkBlendOp              alphaBlendOp;
3309 	VkColorComponentFlags  colorWriteMask;
3310 }
3311 
3312 struct VkPipelineColorBlendStateCreateInfo {
3313 	VkStructureType                                sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
3314 	const( void )*                                 pNext;
3315 	VkPipelineColorBlendStateCreateFlags           flags;
3316 	VkBool32                                       logicOpEnable;
3317 	VkLogicOp                                      logicOp;
3318 	uint32_t                                       attachmentCount;
3319 	const( VkPipelineColorBlendAttachmentState )*  pAttachments;
3320 	float[4]                                       blendConstants;
3321 }
3322 
3323 struct VkPipelineDynamicStateCreateInfo {
3324 	VkStructureType                    sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
3325 	const( void )*                     pNext;
3326 	VkPipelineDynamicStateCreateFlags  flags;
3327 	uint32_t                           dynamicStateCount;
3328 	const( VkDynamicState )*           pDynamicStates;
3329 }
3330 
3331 struct VkGraphicsPipelineCreateInfo {
3332 	VkStructureType                                   sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
3333 	const( void )*                                    pNext;
3334 	VkPipelineCreateFlags                             flags;
3335 	uint32_t                                          stageCount;
3336 	const( VkPipelineShaderStageCreateInfo )*         pStages;
3337 	const( VkPipelineVertexInputStateCreateInfo )*    pVertexInputState;
3338 	const( VkPipelineInputAssemblyStateCreateInfo )*  pInputAssemblyState;
3339 	const( VkPipelineTessellationStateCreateInfo )*   pTessellationState;
3340 	const( VkPipelineViewportStateCreateInfo )*       pViewportState;
3341 	const( VkPipelineRasterizationStateCreateInfo )*  pRasterizationState;
3342 	const( VkPipelineMultisampleStateCreateInfo )*    pMultisampleState;
3343 	const( VkPipelineDepthStencilStateCreateInfo )*   pDepthStencilState;
3344 	const( VkPipelineColorBlendStateCreateInfo )*     pColorBlendState;
3345 	const( VkPipelineDynamicStateCreateInfo )*        pDynamicState;
3346 	VkPipelineLayout                                  layout;
3347 	VkRenderPass                                      renderPass;
3348 	uint32_t                                          subpass;
3349 	VkPipeline                                        basePipelineHandle;
3350 	int32_t                                           basePipelineIndex;
3351 }
3352 
3353 struct VkComputePipelineCreateInfo {
3354 	VkStructureType                  sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
3355 	const( void )*                   pNext;
3356 	VkPipelineCreateFlags            flags;
3357 	VkPipelineShaderStageCreateInfo  stage;
3358 	VkPipelineLayout                 layout;
3359 	VkPipeline                       basePipelineHandle;
3360 	int32_t                          basePipelineIndex;
3361 }
3362 
3363 struct VkPushConstantRange {
3364 	VkShaderStageFlags  stageFlags;
3365 	uint32_t            offset;
3366 	uint32_t            size;
3367 }
3368 
3369 struct VkPipelineLayoutCreateInfo {
3370 	VkStructureType                  sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
3371 	const( void )*                   pNext;
3372 	VkPipelineLayoutCreateFlags      flags;
3373 	uint32_t                         setLayoutCount;
3374 	const( VkDescriptorSetLayout )*  pSetLayouts;
3375 	uint32_t                         pushConstantRangeCount;
3376 	const( VkPushConstantRange )*    pPushConstantRanges;
3377 }
3378 
3379 struct VkSamplerCreateInfo {
3380 	VkStructureType       sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
3381 	const( void )*        pNext;
3382 	VkSamplerCreateFlags  flags;
3383 	VkFilter              magFilter;
3384 	VkFilter              minFilter;
3385 	VkSamplerMipmapMode   mipmapMode;
3386 	VkSamplerAddressMode  addressModeU;
3387 	VkSamplerAddressMode  addressModeV;
3388 	VkSamplerAddressMode  addressModeW;
3389 	float                 mipLodBias;
3390 	VkBool32              anisotropyEnable;
3391 	float                 maxAnisotropy;
3392 	VkBool32              compareEnable;
3393 	VkCompareOp           compareOp;
3394 	float                 minLod;
3395 	float                 maxLod;
3396 	VkBorderColor         borderColor;
3397 	VkBool32              unnormalizedCoordinates;
3398 }
3399 
3400 struct VkDescriptorSetLayoutBinding {
3401 	uint32_t             binding;
3402 	VkDescriptorType     descriptorType;
3403 	uint32_t             descriptorCount;
3404 	VkShaderStageFlags   stageFlags;
3405 	const( VkSampler )*  pImmutableSamplers;
3406 }
3407 
3408 struct VkDescriptorSetLayoutCreateInfo {
3409 	VkStructureType                         sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
3410 	const( void )*                          pNext;
3411 	VkDescriptorSetLayoutCreateFlags        flags;
3412 	uint32_t                                bindingCount;
3413 	const( VkDescriptorSetLayoutBinding )*  pBindings;
3414 }
3415 
3416 struct VkDescriptorPoolSize {
3417 	VkDescriptorType  type;
3418 	uint32_t          descriptorCount;
3419 }
3420 
3421 struct VkDescriptorPoolCreateInfo {
3422 	VkStructureType                 sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
3423 	const( void )*                  pNext;
3424 	VkDescriptorPoolCreateFlags     flags;
3425 	uint32_t                        maxSets;
3426 	uint32_t                        poolSizeCount;
3427 	const( VkDescriptorPoolSize )*  pPoolSizes;
3428 }
3429 
3430 struct VkDescriptorSetAllocateInfo {
3431 	VkStructureType                  sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
3432 	const( void )*                   pNext;
3433 	VkDescriptorPool                 descriptorPool;
3434 	uint32_t                         descriptorSetCount;
3435 	const( VkDescriptorSetLayout )*  pSetLayouts;
3436 }
3437 
3438 struct VkDescriptorImageInfo {
3439 	VkSampler      sampler;
3440 	VkImageView    imageView;
3441 	VkImageLayout  imageLayout;
3442 }
3443 
3444 struct VkDescriptorBufferInfo {
3445 	VkBuffer      buffer;
3446 	VkDeviceSize  offset;
3447 	VkDeviceSize  range;
3448 }
3449 
3450 struct VkWriteDescriptorSet {
3451 	VkStructureType                   sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
3452 	const( void )*                    pNext;
3453 	VkDescriptorSet                   dstSet;
3454 	uint32_t                          dstBinding;
3455 	uint32_t                          dstArrayElement;
3456 	uint32_t                          descriptorCount;
3457 	VkDescriptorType                  descriptorType;
3458 	const( VkDescriptorImageInfo )*   pImageInfo;
3459 	const( VkDescriptorBufferInfo )*  pBufferInfo;
3460 	const( VkBufferView )*            pTexelBufferView;
3461 }
3462 
3463 struct VkCopyDescriptorSet {
3464 	VkStructureType  sType = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET;
3465 	const( void )*   pNext;
3466 	VkDescriptorSet  srcSet;
3467 	uint32_t         srcBinding;
3468 	uint32_t         srcArrayElement;
3469 	VkDescriptorSet  dstSet;
3470 	uint32_t         dstBinding;
3471 	uint32_t         dstArrayElement;
3472 	uint32_t         descriptorCount;
3473 }
3474 
3475 struct VkFramebufferCreateInfo {
3476 	VkStructureType           sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
3477 	const( void )*            pNext;
3478 	VkFramebufferCreateFlags  flags;
3479 	VkRenderPass              renderPass;
3480 	uint32_t                  attachmentCount;
3481 	const( VkImageView )*     pAttachments;
3482 	uint32_t                  width;
3483 	uint32_t                  height;
3484 	uint32_t                  layers;
3485 }
3486 
3487 struct VkAttachmentDescription {
3488 	VkAttachmentDescriptionFlags  flags;
3489 	VkFormat                      format;
3490 	VkSampleCountFlagBits         samples;
3491 	VkAttachmentLoadOp            loadOp;
3492 	VkAttachmentStoreOp           storeOp;
3493 	VkAttachmentLoadOp            stencilLoadOp;
3494 	VkAttachmentStoreOp           stencilStoreOp;
3495 	VkImageLayout                 initialLayout;
3496 	VkImageLayout                 finalLayout;
3497 }
3498 
3499 struct VkAttachmentReference {
3500 	uint32_t       attachment;
3501 	VkImageLayout  layout;
3502 }
3503 
3504 struct VkSubpassDescription {
3505 	VkSubpassDescriptionFlags        flags;
3506 	VkPipelineBindPoint              pipelineBindPoint;
3507 	uint32_t                         inputAttachmentCount;
3508 	const( VkAttachmentReference )*  pInputAttachments;
3509 	uint32_t                         colorAttachmentCount;
3510 	const( VkAttachmentReference )*  pColorAttachments;
3511 	const( VkAttachmentReference )*  pResolveAttachments;
3512 	const( VkAttachmentReference )*  pDepthStencilAttachment;
3513 	uint32_t                         preserveAttachmentCount;
3514 	const( uint32_t )*               pPreserveAttachments;
3515 }
3516 
3517 struct VkSubpassDependency {
3518 	uint32_t              srcSubpass;
3519 	uint32_t              dstSubpass;
3520 	VkPipelineStageFlags  srcStageMask;
3521 	VkPipelineStageFlags  dstStageMask;
3522 	VkAccessFlags         srcAccessMask;
3523 	VkAccessFlags         dstAccessMask;
3524 	VkDependencyFlags     dependencyFlags;
3525 }
3526 
3527 struct VkRenderPassCreateInfo {
3528 	VkStructureType                    sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
3529 	const( void )*                     pNext;
3530 	VkRenderPassCreateFlags            flags;
3531 	uint32_t                           attachmentCount;
3532 	const( VkAttachmentDescription )*  pAttachments;
3533 	uint32_t                           subpassCount;
3534 	const( VkSubpassDescription )*     pSubpasses;
3535 	uint32_t                           dependencyCount;
3536 	const( VkSubpassDependency )*      pDependencies;
3537 }
3538 
3539 struct VkCommandPoolCreateInfo {
3540 	VkStructureType           sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
3541 	const( void )*            pNext;
3542 	VkCommandPoolCreateFlags  flags;
3543 	uint32_t                  queueFamilyIndex;
3544 }
3545 
3546 struct VkCommandBufferAllocateInfo {
3547 	VkStructureType       sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
3548 	const( void )*        pNext;
3549 	VkCommandPool         commandPool;
3550 	VkCommandBufferLevel  level;
3551 	uint32_t              commandBufferCount;
3552 }
3553 
3554 struct VkCommandBufferInheritanceInfo {
3555 	VkStructureType                sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
3556 	const( void )*                 pNext;
3557 	VkRenderPass                   renderPass;
3558 	uint32_t                       subpass;
3559 	VkFramebuffer                  framebuffer;
3560 	VkBool32                       occlusionQueryEnable;
3561 	VkQueryControlFlags            queryFlags;
3562 	VkQueryPipelineStatisticFlags  pipelineStatistics;
3563 }
3564 
3565 struct VkCommandBufferBeginInfo {
3566 	VkStructureType                           sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
3567 	const( void )*                            pNext;
3568 	VkCommandBufferUsageFlags                 flags;
3569 	const( VkCommandBufferInheritanceInfo )*  pInheritanceInfo;
3570 }
3571 
3572 struct VkBufferCopy {
3573 	VkDeviceSize  srcOffset;
3574 	VkDeviceSize  dstOffset;
3575 	VkDeviceSize  size;
3576 }
3577 
3578 struct VkImageSubresourceLayers {
3579 	VkImageAspectFlags  aspectMask;
3580 	uint32_t            mipLevel;
3581 	uint32_t            baseArrayLayer;
3582 	uint32_t            layerCount;
3583 }
3584 
3585 struct VkImageCopy {
3586 	VkImageSubresourceLayers  srcSubresource;
3587 	VkOffset3D                srcOffset;
3588 	VkImageSubresourceLayers  dstSubresource;
3589 	VkOffset3D                dstOffset;
3590 	VkExtent3D                extent;
3591 }
3592 
3593 struct VkImageBlit {
3594 	VkImageSubresourceLayers  srcSubresource;
3595 	VkOffset3D[2]             srcOffsets;
3596 	VkImageSubresourceLayers  dstSubresource;
3597 	VkOffset3D[2]             dstOffsets;
3598 }
3599 
3600 struct VkBufferImageCopy {
3601 	VkDeviceSize              bufferOffset;
3602 	uint32_t                  bufferRowLength;
3603 	uint32_t                  bufferImageHeight;
3604 	VkImageSubresourceLayers  imageSubresource;
3605 	VkOffset3D                imageOffset;
3606 	VkExtent3D                imageExtent;
3607 }
3608 
3609 union VkClearColorValue {
3610 	float[4]     float32;
3611 	int32_t[4]   int32;
3612 	uint32_t[4]  uint32;
3613 }
3614 
3615 struct VkClearDepthStencilValue {
3616 	float     depth;
3617 	uint32_t  stencil;
3618 }
3619 
3620 union VkClearValue {
3621 	VkClearColorValue         color;
3622 	VkClearDepthStencilValue  depthStencil;
3623 }
3624 
3625 struct VkClearAttachment {
3626 	VkImageAspectFlags  aspectMask;
3627 	uint32_t            colorAttachment;
3628 	VkClearValue        clearValue;
3629 }
3630 
3631 struct VkClearRect {
3632 	VkRect2D  rect;
3633 	uint32_t  baseArrayLayer;
3634 	uint32_t  layerCount;
3635 }
3636 
3637 struct VkImageResolve {
3638 	VkImageSubresourceLayers  srcSubresource;
3639 	VkOffset3D                srcOffset;
3640 	VkImageSubresourceLayers  dstSubresource;
3641 	VkOffset3D                dstOffset;
3642 	VkExtent3D                extent;
3643 }
3644 
3645 struct VkMemoryBarrier {
3646 	VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER;
3647 	const( void )*   pNext;
3648 	VkAccessFlags    srcAccessMask;
3649 	VkAccessFlags    dstAccessMask;
3650 }
3651 
3652 struct VkBufferMemoryBarrier {
3653 	VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
3654 	const( void )*   pNext;
3655 	VkAccessFlags    srcAccessMask;
3656 	VkAccessFlags    dstAccessMask;
3657 	uint32_t         srcQueueFamilyIndex;
3658 	uint32_t         dstQueueFamilyIndex;
3659 	VkBuffer         buffer;
3660 	VkDeviceSize     offset;
3661 	VkDeviceSize     size;
3662 }
3663 
3664 struct VkImageMemoryBarrier {
3665 	VkStructureType          sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
3666 	const( void )*           pNext;
3667 	VkAccessFlags            srcAccessMask;
3668 	VkAccessFlags            dstAccessMask;
3669 	VkImageLayout            oldLayout;
3670 	VkImageLayout            newLayout;
3671 	uint32_t                 srcQueueFamilyIndex;
3672 	uint32_t                 dstQueueFamilyIndex;
3673 	VkImage                  image;
3674 	VkImageSubresourceRange  subresourceRange;
3675 }
3676 
3677 struct VkRenderPassBeginInfo {
3678 	VkStructureType         sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
3679 	const( void )*          pNext;
3680 	VkRenderPass            renderPass;
3681 	VkFramebuffer           framebuffer;
3682 	VkRect2D                renderArea;
3683 	uint32_t                clearValueCount;
3684 	const( VkClearValue )*  pClearValues;
3685 }
3686 
3687 struct VkDispatchIndirectCommand {
3688 	uint32_t  x;
3689 	uint32_t  y;
3690 	uint32_t  z;
3691 }
3692 
3693 struct VkDrawIndexedIndirectCommand {
3694 	uint32_t  indexCount;
3695 	uint32_t  instanceCount;
3696 	uint32_t  firstIndex;
3697 	int32_t   vertexOffset;
3698 	uint32_t  firstInstance;
3699 }
3700 
3701 struct VkDrawIndirectCommand {
3702 	uint32_t  vertexCount;
3703 	uint32_t  instanceCount;
3704 	uint32_t  firstVertex;
3705 	uint32_t  firstInstance;
3706 }
3707 
3708 // VK_KHR_surface
3709 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSurfaceKHR} );
3710 
3711 enum VK_KHR_SURFACE_SPEC_VERSION = 25;
3712 enum VK_KHR_SURFACE_EXTENSION_NAME = "VK_KHR_surface";
3713 enum VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR;
3714 
3715 
3716 enum VkColorSpaceKHR {
3717 	VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
3718 	VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
3719 	VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
3720 	VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003,
3721 	VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
3722 	VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
3723 	VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
3724 	VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
3725 	VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
3726 	VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
3727 	VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
3728 	VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
3729 	VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
3730 	VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
3731 	VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
3732 	VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
3733 	VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
3734 	VK_COLOR_SPACE_RANGE_SIZE_KHR = ( VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1 ),
3735 	VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
3736 }
3737 
3738 // VkColorSpaceKHR global enums
3739 enum VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = VkColorSpaceKHR.VK_COLOR_SPACE_SRGB_NONLINEAR_KHR;
3740 enum VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT;
3741 enum VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT;
3742 enum VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_DCI_P3_LINEAR_EXT;
3743 enum VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT;
3744 enum VK_COLOR_SPACE_BT709_LINEAR_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_BT709_LINEAR_EXT;
3745 enum VK_COLOR_SPACE_BT709_NONLINEAR_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_BT709_NONLINEAR_EXT;
3746 enum VK_COLOR_SPACE_BT2020_LINEAR_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_BT2020_LINEAR_EXT;
3747 enum VK_COLOR_SPACE_HDR10_ST2084_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_HDR10_ST2084_EXT;
3748 enum VK_COLOR_SPACE_DOLBYVISION_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_DOLBYVISION_EXT;
3749 enum VK_COLOR_SPACE_HDR10_HLG_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_HDR10_HLG_EXT;
3750 enum VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT;
3751 enum VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT;
3752 enum VK_COLOR_SPACE_PASS_THROUGH_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_PASS_THROUGH_EXT;
3753 enum VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = VkColorSpaceKHR.VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT;
3754 enum VK_COLOR_SPACE_BEGIN_RANGE_KHR = VkColorSpaceKHR.VK_COLOR_SPACE_BEGIN_RANGE_KHR;
3755 enum VK_COLOR_SPACE_END_RANGE_KHR = VkColorSpaceKHR.VK_COLOR_SPACE_END_RANGE_KHR;
3756 enum VK_COLOR_SPACE_RANGE_SIZE_KHR = VkColorSpaceKHR.VK_COLOR_SPACE_RANGE_SIZE_KHR;
3757 enum VK_COLOR_SPACE_MAX_ENUM_KHR = VkColorSpaceKHR.VK_COLOR_SPACE_MAX_ENUM_KHR;
3758 
3759 enum VkPresentModeKHR {
3760 	VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
3761 	VK_PRESENT_MODE_MAILBOX_KHR = 1,
3762 	VK_PRESENT_MODE_FIFO_KHR = 2,
3763 	VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
3764 	VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
3765 	VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
3766 	VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR,
3767 	VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
3768 	VK_PRESENT_MODE_RANGE_SIZE_KHR = ( VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1 ),
3769 	VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
3770 }
3771 
3772 // VkPresentModeKHR global enums
3773 enum VK_PRESENT_MODE_IMMEDIATE_KHR = VkPresentModeKHR.VK_PRESENT_MODE_IMMEDIATE_KHR;
3774 enum VK_PRESENT_MODE_MAILBOX_KHR = VkPresentModeKHR.VK_PRESENT_MODE_MAILBOX_KHR;
3775 enum VK_PRESENT_MODE_FIFO_KHR = VkPresentModeKHR.VK_PRESENT_MODE_FIFO_KHR;
3776 enum VK_PRESENT_MODE_FIFO_RELAXED_KHR = VkPresentModeKHR.VK_PRESENT_MODE_FIFO_RELAXED_KHR;
3777 enum VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = VkPresentModeKHR.VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR;
3778 enum VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = VkPresentModeKHR.VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR;
3779 enum VK_PRESENT_MODE_BEGIN_RANGE_KHR = VkPresentModeKHR.VK_PRESENT_MODE_BEGIN_RANGE_KHR;
3780 enum VK_PRESENT_MODE_END_RANGE_KHR = VkPresentModeKHR.VK_PRESENT_MODE_END_RANGE_KHR;
3781 enum VK_PRESENT_MODE_RANGE_SIZE_KHR = VkPresentModeKHR.VK_PRESENT_MODE_RANGE_SIZE_KHR;
3782 enum VK_PRESENT_MODE_MAX_ENUM_KHR = VkPresentModeKHR.VK_PRESENT_MODE_MAX_ENUM_KHR;
3783 
3784 
3785 enum VkSurfaceTransformFlagBitsKHR {
3786 	VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
3787 	VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
3788 	VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
3789 	VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
3790 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
3791 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
3792 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
3793 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
3794 	VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
3795 	VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
3796 }
3797 
3798 // VkSurfaceTransformFlagBitsKHR global enums
3799 enum VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
3800 enum VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR;
3801 enum VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR;
3802 enum VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR;
3803 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR;
3804 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR;
3805 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR;
3806 enum VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR;
3807 enum VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR;
3808 enum VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = VkSurfaceTransformFlagBitsKHR.VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR;
3809 alias VkSurfaceTransformFlagsKHR = VkFlags;
3810 
3811 enum VkCompositeAlphaFlagBitsKHR {
3812 	VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
3813 	VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
3814 	VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
3815 	VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
3816 	VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
3817 }
3818 
3819 // VkCompositeAlphaFlagBitsKHR global enums
3820 enum VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
3821 enum VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR;
3822 enum VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR;
3823 enum VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR;
3824 enum VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = VkCompositeAlphaFlagBitsKHR.VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR;
3825 alias VkCompositeAlphaFlagsKHR = VkFlags;
3826 
3827 struct VkSurfaceCapabilitiesKHR {
3828 	uint32_t                       minImageCount;
3829 	uint32_t                       maxImageCount;
3830 	VkExtent2D                     currentExtent;
3831 	VkExtent2D                     minImageExtent;
3832 	VkExtent2D                     maxImageExtent;
3833 	uint32_t                       maxImageArrayLayers;
3834 	VkSurfaceTransformFlagsKHR     supportedTransforms;
3835 	VkSurfaceTransformFlagBitsKHR  currentTransform;
3836 	VkCompositeAlphaFlagsKHR       supportedCompositeAlpha;
3837 	VkImageUsageFlags              supportedUsageFlags;
3838 }
3839 
3840 struct VkSurfaceFormatKHR {
3841 	VkFormat         format;
3842 	VkColorSpaceKHR  colorSpace;
3843 }
3844 
3845 // VK_KHR_swapchain
3846 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSwapchainKHR} );
3847 
3848 enum VK_KHR_SWAPCHAIN_SPEC_VERSION = 68;
3849 enum VK_KHR_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_swapchain";
3850 
3851 
3852 enum VkSwapchainCreateFlagBitsKHR {
3853 	VK_SWAPCHAIN_CREATE_BIND_SFR_BIT_KHX = 0x00000001,
3854 	VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
3855 }
3856 
3857 // VkSwapchainCreateFlagBitsKHR global enums
3858 enum VK_SWAPCHAIN_CREATE_BIND_SFR_BIT_KHX = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_BIND_SFR_BIT_KHX;
3859 enum VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = VkSwapchainCreateFlagBitsKHR.VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR;
3860 alias VkSwapchainCreateFlagsKHR = VkFlags;
3861 
3862 struct VkSwapchainCreateInfoKHR {
3863 	VkStructureType                sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
3864 	const( void )*                 pNext;
3865 	VkSwapchainCreateFlagsKHR      flags;
3866 	VkSurfaceKHR                   surface;
3867 	uint32_t                       minImageCount;
3868 	VkFormat                       imageFormat;
3869 	VkColorSpaceKHR                imageColorSpace;
3870 	VkExtent2D                     imageExtent;
3871 	uint32_t                       imageArrayLayers;
3872 	VkImageUsageFlags              imageUsage;
3873 	VkSharingMode                  imageSharingMode;
3874 	uint32_t                       queueFamilyIndexCount;
3875 	const( uint32_t )*             pQueueFamilyIndices;
3876 	VkSurfaceTransformFlagBitsKHR  preTransform;
3877 	VkCompositeAlphaFlagBitsKHR    compositeAlpha;
3878 	VkPresentModeKHR               presentMode;
3879 	VkBool32                       clipped;
3880 	VkSwapchainKHR                 oldSwapchain;
3881 }
3882 
3883 struct VkPresentInfoKHR {
3884 	VkStructureType           sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;
3885 	const( void )*            pNext;
3886 	uint32_t                  waitSemaphoreCount;
3887 	const( VkSemaphore )*     pWaitSemaphores;
3888 	uint32_t                  swapchainCount;
3889 	const( VkSwapchainKHR )*  pSwapchains;
3890 	const( uint32_t )*        pImageIndices;
3891 	VkResult*                 pResults;
3892 }
3893 
3894 // VK_KHR_display
3895 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDisplayKHR} );
3896 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDisplayModeKHR} );
3897 
3898 enum VK_KHR_DISPLAY_SPEC_VERSION = 21;
3899 enum VK_KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display";
3900 
3901 
3902 enum VkDisplayPlaneAlphaFlagBitsKHR {
3903 	VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
3904 	VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
3905 	VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
3906 	VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
3907 	VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
3908 }
3909 
3910 // VkDisplayPlaneAlphaFlagBitsKHR global enums
3911 enum VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR;
3912 enum VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR;
3913 enum VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR;
3914 enum VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR;
3915 enum VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = VkDisplayPlaneAlphaFlagBitsKHR.VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR;
3916 alias VkDisplayPlaneAlphaFlagsKHR = VkFlags;
3917 alias VkDisplayModeCreateFlagsKHR = VkFlags;
3918 alias VkDisplaySurfaceCreateFlagsKHR = VkFlags;
3919 
3920 struct VkDisplayPropertiesKHR {
3921 	VkDisplayKHR                display;
3922 	const( char )*              displayName;
3923 	VkExtent2D                  physicalDimensions;
3924 	VkExtent2D                  physicalResolution;
3925 	VkSurfaceTransformFlagsKHR  supportedTransforms;
3926 	VkBool32                    planeReorderPossible;
3927 	VkBool32                    persistentContent;
3928 }
3929 
3930 struct VkDisplayModeParametersKHR {
3931 	VkExtent2D  visibleRegion;
3932 	uint32_t    refreshRate;
3933 }
3934 
3935 struct VkDisplayModePropertiesKHR {
3936 	VkDisplayModeKHR            displayMode;
3937 	VkDisplayModeParametersKHR  parameters;
3938 }
3939 
3940 struct VkDisplayModeCreateInfoKHR {
3941 	VkStructureType              sType = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR;
3942 	const( void )*               pNext;
3943 	VkDisplayModeCreateFlagsKHR  flags;
3944 	VkDisplayModeParametersKHR   parameters;
3945 }
3946 
3947 struct VkDisplayPlaneCapabilitiesKHR {
3948 	VkDisplayPlaneAlphaFlagsKHR  supportedAlpha;
3949 	VkOffset2D                   minSrcPosition;
3950 	VkOffset2D                   maxSrcPosition;
3951 	VkExtent2D                   minSrcExtent;
3952 	VkExtent2D                   maxSrcExtent;
3953 	VkOffset2D                   minDstPosition;
3954 	VkOffset2D                   maxDstPosition;
3955 	VkExtent2D                   minDstExtent;
3956 	VkExtent2D                   maxDstExtent;
3957 }
3958 
3959 struct VkDisplayPlanePropertiesKHR {
3960 	VkDisplayKHR  currentDisplay;
3961 	uint32_t      currentStackIndex;
3962 }
3963 
3964 struct VkDisplaySurfaceCreateInfoKHR {
3965 	VkStructureType                 sType = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR;
3966 	const( void )*                  pNext;
3967 	VkDisplaySurfaceCreateFlagsKHR  flags;
3968 	VkDisplayModeKHR                displayMode;
3969 	uint32_t                        planeIndex;
3970 	uint32_t                        planeStackIndex;
3971 	VkSurfaceTransformFlagBitsKHR   transform;
3972 	float                           globalAlpha;
3973 	VkDisplayPlaneAlphaFlagBitsKHR  alphaMode;
3974 	VkExtent2D                      imageExtent;
3975 }
3976 
3977 // VK_KHR_display_swapchain
3978 enum VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION = 9;
3979 enum VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_display_swapchain";
3980 
3981 struct VkDisplayPresentInfoKHR {
3982 	VkStructureType  sType = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR;
3983 	const( void )*   pNext;
3984 	VkRect2D         srcRect;
3985 	VkRect2D         dstRect;
3986 	VkBool32         persistent;
3987 }
3988 
3989 // VK_KHR_xlib_surface
3990 version( VK_USE_PLATFORM_XLIB_KHR ) {
3991 	public import X11.Xlib;
3992 
3993 	enum VK_KHR_XLIB_SURFACE_SPEC_VERSION = 6;
3994 	enum VK_KHR_XLIB_SURFACE_EXTENSION_NAME = "VK_KHR_xlib_surface";
3995 
3996 	alias VkXlibSurfaceCreateFlagsKHR = VkFlags;
3997 	
3998 	struct VkXlibSurfaceCreateInfoKHR {
3999 		VkStructureType              sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
4000 		const( void )*               pNext;
4001 		VkXlibSurfaceCreateFlagsKHR  flags;
4002 		Display*                     dpy;
4003 		Window                       window;
4004 	}
4005 }
4006 
4007 // VK_KHR_xcb_surface
4008 version( VK_USE_PLATFORM_XCB_KHR ) {
4009 	public import xcb.xcb;
4010 
4011 	enum VK_KHR_XCB_SURFACE_SPEC_VERSION = 6;
4012 	enum VK_KHR_XCB_SURFACE_EXTENSION_NAME = "VK_KHR_xcb_surface";
4013 
4014 	alias VkXcbSurfaceCreateFlagsKHR = VkFlags;
4015 	
4016 	struct VkXcbSurfaceCreateInfoKHR {
4017 		VkStructureType             sType = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
4018 		const( void )*              pNext;
4019 		VkXcbSurfaceCreateFlagsKHR  flags;
4020 		xcb_connection_t*           connection;
4021 		xcb_window_t                window;
4022 	}
4023 }
4024 
4025 // VK_KHR_wayland_surface
4026 version( VK_USE_PLATFORM_WAYLAND_KHR ) {
4027 	public import wayland.client;
4028 
4029 	enum VK_KHR_WAYLAND_SURFACE_SPEC_VERSION = 6;
4030 	enum VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME = "VK_KHR_wayland_surface";
4031 
4032 	alias VkWaylandSurfaceCreateFlagsKHR = VkFlags;
4033 	struct wl_surface;
4034 	struct wl_display;
4035 
4036 	
4037 	struct VkWaylandSurfaceCreateInfoKHR {
4038 		VkStructureType                 sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
4039 		const( void )*                  pNext;
4040 		VkWaylandSurfaceCreateFlagsKHR  flags;
4041 		wl_display*                     display;
4042 		wl_surface*                     surface;
4043 	}
4044 }
4045 
4046 // VK_KHR_mir_surface
4047 version( VK_USE_PLATFORM_MIR_KHR ) {
4048 	public import mir_toolkit.client_types;
4049 
4050 	enum VK_KHR_MIR_SURFACE_SPEC_VERSION = 4;
4051 	enum VK_KHR_MIR_SURFACE_EXTENSION_NAME = "VK_KHR_mir_surface";
4052 
4053 	alias VkMirSurfaceCreateFlagsKHR = VkFlags;
4054 	
4055 	struct VkMirSurfaceCreateInfoKHR {
4056 		VkStructureType             sType = VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR;
4057 		const( void )*              pNext;
4058 		VkMirSurfaceCreateFlagsKHR  flags;
4059 		MirConnection*              connection;
4060 		MirSurface*                 mirSurface;
4061 	}
4062 }
4063 
4064 // VK_KHR_android_surface
4065 version( VK_USE_PLATFORM_ANDROID_KHR ) {
4066 	public import android.native_window;
4067 
4068 	enum VK_KHR_ANDROID_SURFACE_SPEC_VERSION = 6;
4069 	enum VK_KHR_ANDROID_SURFACE_EXTENSION_NAME = "VK_KHR_android_surface";
4070 
4071 	alias VkAndroidSurfaceCreateFlagsKHR = VkFlags;
4072 	
4073 	struct VkAndroidSurfaceCreateInfoKHR {
4074 		VkStructureType                 sType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
4075 		const( void )*                  pNext;
4076 		VkAndroidSurfaceCreateFlagsKHR  flags;
4077 		ANativeWindow*                  window;
4078 	}
4079 }
4080 
4081 // VK_KHR_win32_surface
4082 version( VK_USE_PLATFORM_WIN32_KHR ) {
4083 	public import core.sys.windows.windows;
4084 
4085 	enum VK_KHR_WIN32_SURFACE_SPEC_VERSION = 6;
4086 	enum VK_KHR_WIN32_SURFACE_EXTENSION_NAME = "VK_KHR_win32_surface";
4087 
4088 	alias VkWin32SurfaceCreateFlagsKHR = VkFlags;
4089 	
4090 	struct VkWin32SurfaceCreateInfoKHR {
4091 		VkStructureType               sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
4092 		const( void )*                pNext;
4093 		VkWin32SurfaceCreateFlagsKHR  flags;
4094 		HINSTANCE                     hinstance;
4095 		HWND                          hwnd;
4096 	}
4097 }
4098 
4099 // VK_KHR_sampler_mirror_clamp_to_edge
4100 enum VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 1;
4101 enum VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge";
4102 
4103 // VK_KHR_get_physical_device_properties2
4104 enum VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION = 1;
4105 enum VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_physical_device_properties2";
4106 
4107 struct VkPhysicalDeviceFeatures2KHR {
4108 	VkStructureType           sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR;
4109 	void*                     pNext;
4110 	VkPhysicalDeviceFeatures  features;
4111 }
4112 
4113 struct VkPhysicalDeviceProperties2KHR {
4114 	VkStructureType             sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR;
4115 	void*                       pNext;
4116 	VkPhysicalDeviceProperties  properties;
4117 }
4118 
4119 struct VkFormatProperties2KHR {
4120 	VkStructureType     sType = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR;
4121 	void*               pNext;
4122 	VkFormatProperties  formatProperties;
4123 }
4124 
4125 struct VkImageFormatProperties2KHR {
4126 	VkStructureType          sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR;
4127 	void*                    pNext;
4128 	VkImageFormatProperties  imageFormatProperties;
4129 }
4130 
4131 struct VkPhysicalDeviceImageFormatInfo2KHR {
4132 	VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR;
4133 	const( void )*      pNext;
4134 	VkFormat            format;
4135 	VkImageType         type;
4136 	VkImageTiling       tiling;
4137 	VkImageUsageFlags   usage;
4138 	VkImageCreateFlags  flags;
4139 }
4140 
4141 struct VkQueueFamilyProperties2KHR {
4142 	VkStructureType          sType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR;
4143 	void*                    pNext;
4144 	VkQueueFamilyProperties  queueFamilyProperties;
4145 }
4146 
4147 struct VkPhysicalDeviceMemoryProperties2KHR {
4148 	VkStructureType                   sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR;
4149 	void*                             pNext;
4150 	VkPhysicalDeviceMemoryProperties  memoryProperties;
4151 }
4152 
4153 struct VkSparseImageFormatProperties2KHR {
4154 	VkStructureType                sType = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR;
4155 	void*                          pNext;
4156 	VkSparseImageFormatProperties  properties;
4157 }
4158 
4159 struct VkPhysicalDeviceSparseImageFormatInfo2KHR {
4160 	VkStructureType        sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR;
4161 	const( void )*         pNext;
4162 	VkFormat               format;
4163 	VkImageType            type;
4164 	VkSampleCountFlagBits  samples;
4165 	VkImageUsageFlags      usage;
4166 	VkImageTiling          tiling;
4167 }
4168 
4169 // VK_KHR_shader_draw_parameters
4170 enum VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION = 1;
4171 enum VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_parameters";
4172 
4173 // VK_KHR_maintenance1
4174 enum VK_KHR_MAINTENANCE1_SPEC_VERSION = 1;
4175 enum VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1";
4176 
4177 alias VkCommandPoolTrimFlagsKHR = VkFlags;
4178 
4179 // VK_KHR_external_memory_capabilities
4180 enum VK_LUID_SIZE_KHR = 8;
4181 enum VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1;
4182 enum VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_memory_capabilities";
4183 
4184 
4185 enum VkExternalMemoryHandleTypeFlagBitsKHR {
4186 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 0x00000001,
4187 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 0x00000002,
4188 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 0x00000004,
4189 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = 0x00000008,
4190 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = 0x00000010,
4191 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = 0x00000020,
4192 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = 0x00000040,
4193 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4194 }
4195 
4196 // VkExternalMemoryHandleTypeFlagBitsKHR global enums
4197 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VkExternalMemoryHandleTypeFlagBitsKHR.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
4198 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VkExternalMemoryHandleTypeFlagBitsKHR.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
4199 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VkExternalMemoryHandleTypeFlagBitsKHR.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
4200 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VkExternalMemoryHandleTypeFlagBitsKHR.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR;
4201 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VkExternalMemoryHandleTypeFlagBitsKHR.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR;
4202 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VkExternalMemoryHandleTypeFlagBitsKHR.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR;
4203 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VkExternalMemoryHandleTypeFlagBitsKHR.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR;
4204 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR = VkExternalMemoryHandleTypeFlagBitsKHR.VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR;
4205 alias VkExternalMemoryHandleTypeFlagsKHR = VkFlags;
4206 
4207 enum VkExternalMemoryFeatureFlagBitsKHR {
4208 	VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = 0x00000001,
4209 	VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = 0x00000002,
4210 	VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = 0x00000004,
4211 	VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4212 }
4213 
4214 // VkExternalMemoryFeatureFlagBitsKHR global enums
4215 enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VkExternalMemoryFeatureFlagBitsKHR.VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR;
4216 enum VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VkExternalMemoryFeatureFlagBitsKHR.VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR;
4217 enum VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VkExternalMemoryFeatureFlagBitsKHR.VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR;
4218 enum VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHR = VkExternalMemoryFeatureFlagBitsKHR.VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHR;
4219 alias VkExternalMemoryFeatureFlagsKHR = VkFlags;
4220 
4221 struct VkExternalMemoryPropertiesKHR {
4222 	VkExternalMemoryFeatureFlagsKHR     externalMemoryFeatures;
4223 	VkExternalMemoryHandleTypeFlagsKHR  exportFromImportedHandleTypes;
4224 	VkExternalMemoryHandleTypeFlagsKHR  compatibleHandleTypes;
4225 }
4226 
4227 struct VkPhysicalDeviceExternalImageFormatInfoKHR {
4228 	VkStructureType                        sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR;
4229 	const( void )*                         pNext;
4230 	VkExternalMemoryHandleTypeFlagBitsKHR  handleType;
4231 }
4232 
4233 struct VkExternalImageFormatPropertiesKHR {
4234 	VkStructureType                sType = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR;
4235 	void*                          pNext;
4236 	VkExternalMemoryPropertiesKHR  externalMemoryProperties;
4237 }
4238 
4239 struct VkPhysicalDeviceExternalBufferInfoKHR {
4240 	VkStructureType                        sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR;
4241 	const( void )*                         pNext;
4242 	VkBufferCreateFlags                    flags;
4243 	VkBufferUsageFlags                     usage;
4244 	VkExternalMemoryHandleTypeFlagBitsKHR  handleType;
4245 }
4246 
4247 struct VkExternalBufferPropertiesKHR {
4248 	VkStructureType                sType = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR;
4249 	void*                          pNext;
4250 	VkExternalMemoryPropertiesKHR  externalMemoryProperties;
4251 }
4252 
4253 struct VkPhysicalDeviceIDPropertiesKHR {
4254 	VkStructureType              sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR;
4255 	void*                        pNext;
4256 	uint8_t[ VK_UUID_SIZE ]      deviceUUID;
4257 	uint8_t[ VK_UUID_SIZE ]      driverUUID;
4258 	uint8_t[ VK_LUID_SIZE_KHR ]  deviceLUID;
4259 	uint32_t                     deviceNodeMask;
4260 	VkBool32                     deviceLUIDValid;
4261 }
4262 
4263 // VK_KHR_external_memory
4264 enum VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION = 1;
4265 enum VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_KHR_external_memory";
4266 enum VK_QUEUE_FAMILY_EXTERNAL_KHR = (~0U-1);
4267 
4268 struct VkExternalMemoryImageCreateInfoKHR {
4269 	VkStructureType                     sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR;
4270 	const( void )*                      pNext;
4271 	VkExternalMemoryHandleTypeFlagsKHR  handleTypes;
4272 }
4273 
4274 struct VkExternalMemoryBufferCreateInfoKHR {
4275 	VkStructureType                     sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR;
4276 	const( void )*                      pNext;
4277 	VkExternalMemoryHandleTypeFlagsKHR  handleTypes;
4278 }
4279 
4280 struct VkExportMemoryAllocateInfoKHR {
4281 	VkStructureType                     sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR;
4282 	const( void )*                      pNext;
4283 	VkExternalMemoryHandleTypeFlagsKHR  handleTypes;
4284 }
4285 
4286 // VK_KHR_external_memory_win32
4287 version( VK_USE_PLATFORM_WIN32_KHR ) {
4288 	
4289 	enum VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION = 1;
4290 	enum VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME = "VK_KHR_external_memory_win32";
4291 	
4292 	struct VkImportMemoryWin32HandleInfoKHR {
4293 		VkStructureType                        sType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
4294 		const( void )*                         pNext;
4295 		VkExternalMemoryHandleTypeFlagBitsKHR  handleType;
4296 		HANDLE                                 handle;
4297 		LPCWSTR                                name;
4298 	}
4299 	
4300 	struct VkExportMemoryWin32HandleInfoKHR {
4301 		VkStructureType                sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
4302 		const( void )*                 pNext;
4303 		const( SECURITY_ATTRIBUTES )*  pAttributes;
4304 		DWORD                          dwAccess;
4305 		LPCWSTR                        name;
4306 	}
4307 	
4308 	struct VkMemoryWin32HandlePropertiesKHR {
4309 		VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR;
4310 		void*            pNext;
4311 		uint32_t         memoryTypeBits;
4312 	}
4313 	
4314 	struct VkMemoryGetWin32HandleInfoKHR {
4315 		VkStructureType                        sType = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR;
4316 		const( void )*                         pNext;
4317 		VkDeviceMemory                         memory;
4318 		VkExternalMemoryHandleTypeFlagBitsKHR  handleType;
4319 	}
4320 }
4321 
4322 // VK_KHR_external_memory_fd
4323 enum VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION = 1;
4324 enum VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME = "VK_KHR_external_memory_fd";
4325 
4326 struct VkImportMemoryFdInfoKHR {
4327 	VkStructureType                        sType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR;
4328 	const( void )*                         pNext;
4329 	VkExternalMemoryHandleTypeFlagBitsKHR  handleType;
4330 	int                                    fd;
4331 }
4332 
4333 struct VkMemoryFdPropertiesKHR {
4334 	VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR;
4335 	void*            pNext;
4336 	uint32_t         memoryTypeBits;
4337 }
4338 
4339 struct VkMemoryGetFdInfoKHR {
4340 	VkStructureType                        sType = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR;
4341 	const( void )*                         pNext;
4342 	VkDeviceMemory                         memory;
4343 	VkExternalMemoryHandleTypeFlagBitsKHR  handleType;
4344 }
4345 
4346 // VK_KHR_win32_keyed_mutex
4347 enum VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION = 1;
4348 enum VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME = "VK_KHR_win32_keyed_mutex";
4349 
4350 struct VkWin32KeyedMutexAcquireReleaseInfoKHR {
4351 	VkStructureType           sType = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR;
4352 	const( void )*            pNext;
4353 	uint32_t                  acquireCount;
4354 	const( VkDeviceMemory )*  pAcquireSyncs;
4355 	const( uint64_t )*        pAcquireKeys;
4356 	const( uint32_t )*        pAcquireTimeouts;
4357 	uint32_t                  releaseCount;
4358 	const( VkDeviceMemory )*  pReleaseSyncs;
4359 	const( uint64_t )*        pReleaseKeys;
4360 }
4361 
4362 // VK_KHR_external_semaphore_capabilities
4363 enum VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION = 1;
4364 enum VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_semaphore_capabilities";
4365 
4366 
4367 enum VkExternalSemaphoreHandleTypeFlagBitsKHR {
4368 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 0x00000001,
4369 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 0x00000002,
4370 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 0x00000004,
4371 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = 0x00000008,
4372 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = 0x00000010,
4373 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4374 }
4375 
4376 // VkExternalSemaphoreHandleTypeFlagBitsKHR global enums
4377 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VkExternalSemaphoreHandleTypeFlagBitsKHR.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
4378 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VkExternalSemaphoreHandleTypeFlagBitsKHR.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
4379 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VkExternalSemaphoreHandleTypeFlagBitsKHR.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
4380 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VkExternalSemaphoreHandleTypeFlagBitsKHR.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR;
4381 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VkExternalSemaphoreHandleTypeFlagBitsKHR.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
4382 enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR = VkExternalSemaphoreHandleTypeFlagBitsKHR.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR;
4383 alias VkExternalSemaphoreHandleTypeFlagsKHR = VkFlags;
4384 
4385 enum VkExternalSemaphoreFeatureFlagBitsKHR {
4386 	VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = 0x00000001,
4387 	VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = 0x00000002,
4388 	VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4389 }
4390 
4391 // VkExternalSemaphoreFeatureFlagBitsKHR global enums
4392 enum VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VkExternalSemaphoreFeatureFlagBitsKHR.VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR;
4393 enum VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VkExternalSemaphoreFeatureFlagBitsKHR.VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR;
4394 enum VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM_KHR = VkExternalSemaphoreFeatureFlagBitsKHR.VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM_KHR;
4395 alias VkExternalSemaphoreFeatureFlagsKHR = VkFlags;
4396 
4397 struct VkPhysicalDeviceExternalSemaphoreInfoKHR {
4398 	VkStructureType                           sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR;
4399 	const( void )*                            pNext;
4400 	VkExternalSemaphoreHandleTypeFlagBitsKHR  handleType;
4401 }
4402 
4403 struct VkExternalSemaphorePropertiesKHR {
4404 	VkStructureType                        sType = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR;
4405 	void*                                  pNext;
4406 	VkExternalSemaphoreHandleTypeFlagsKHR  exportFromImportedHandleTypes;
4407 	VkExternalSemaphoreHandleTypeFlagsKHR  compatibleHandleTypes;
4408 	VkExternalSemaphoreFeatureFlagsKHR     externalSemaphoreFeatures;
4409 }
4410 
4411 // VK_KHR_external_semaphore
4412 enum VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION = 1;
4413 enum VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME = "VK_KHR_external_semaphore";
4414 
4415 
4416 enum VkSemaphoreImportFlagBitsKHR {
4417 	VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = 0x00000001,
4418 	VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4419 }
4420 
4421 // VkSemaphoreImportFlagBitsKHR global enums
4422 enum VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VkSemaphoreImportFlagBitsKHR.VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR;
4423 enum VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM_KHR = VkSemaphoreImportFlagBitsKHR.VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM_KHR;
4424 alias VkSemaphoreImportFlagsKHR = VkFlags;
4425 
4426 struct VkExportSemaphoreCreateInfoKHR {
4427 	VkStructureType                        sType = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR;
4428 	const( void )*                         pNext;
4429 	VkExternalSemaphoreHandleTypeFlagsKHR  handleTypes;
4430 }
4431 
4432 // VK_KHR_external_semaphore_win32
4433 version( VK_USE_PLATFORM_WIN32_KHR ) {
4434 	
4435 	enum VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION = 1;
4436 	enum VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME = "VK_KHR_external_semaphore_win32";
4437 	
4438 	struct VkImportSemaphoreWin32HandleInfoKHR {
4439 		VkStructureType                           sType = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
4440 		const( void )*                            pNext;
4441 		VkSemaphore                               semaphore;
4442 		VkSemaphoreImportFlagsKHR                 flags;
4443 		VkExternalSemaphoreHandleTypeFlagBitsKHR  handleType;
4444 		HANDLE                                    handle;
4445 		LPCWSTR                                   name;
4446 	}
4447 	
4448 	struct VkExportSemaphoreWin32HandleInfoKHR {
4449 		VkStructureType                sType = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
4450 		const( void )*                 pNext;
4451 		const( SECURITY_ATTRIBUTES )*  pAttributes;
4452 		DWORD                          dwAccess;
4453 		LPCWSTR                        name;
4454 	}
4455 	
4456 	struct VkD3D12FenceSubmitInfoKHR {
4457 		VkStructureType     sType = VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR;
4458 		const( void )*      pNext;
4459 		uint32_t            waitSemaphoreValuesCount;
4460 		const( uint64_t )*  pWaitSemaphoreValues;
4461 		uint32_t            signalSemaphoreValuesCount;
4462 		const( uint64_t )*  pSignalSemaphoreValues;
4463 	}
4464 	
4465 	struct VkSemaphoreGetWin32HandleInfoKHR {
4466 		VkStructureType                           sType = VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR;
4467 		const( void )*                            pNext;
4468 		VkSemaphore                               semaphore;
4469 		VkExternalSemaphoreHandleTypeFlagBitsKHR  handleType;
4470 	}
4471 }
4472 
4473 // VK_KHR_external_semaphore_fd
4474 enum VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION = 1;
4475 enum VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME = "VK_KHR_external_semaphore_fd";
4476 
4477 struct VkImportSemaphoreFdInfoKHR {
4478 	VkStructureType                           sType = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR;
4479 	const( void )*                            pNext;
4480 	VkSemaphore                               semaphore;
4481 	VkSemaphoreImportFlagsKHR                 flags;
4482 	VkExternalSemaphoreHandleTypeFlagBitsKHR  handleType;
4483 	int                                       fd;
4484 }
4485 
4486 struct VkSemaphoreGetFdInfoKHR {
4487 	VkStructureType                           sType = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR;
4488 	const( void )*                            pNext;
4489 	VkSemaphore                               semaphore;
4490 	VkExternalSemaphoreHandleTypeFlagBitsKHR  handleType;
4491 }
4492 
4493 // VK_KHR_push_descriptor
4494 enum VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 1;
4495 enum VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME = "VK_KHR_push_descriptor";
4496 
4497 struct VkPhysicalDevicePushDescriptorPropertiesKHR {
4498 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR;
4499 	void*            pNext;
4500 	uint32_t         maxPushDescriptors;
4501 }
4502 
4503 // VK_KHR_extension_82
4504 enum VK_KHR_EXTENSION_82_SPEC_VERSION = 0;
4505 enum VK_KHR_EXTENSION_82_EXTENSION_NAME = "VK_KHR_extension_82";
4506 
4507 // VK_KHR_extension_83
4508 enum VK_KHR_EXTENSION_83_SPEC_VERSION = 0;
4509 enum VK_KHR_EXTENSION_83_EXTENSION_NAME = "VK_KHR_extension_83";
4510 
4511 // VK_KHR_16bit_storage
4512 enum VK_KHR_16BIT_STORAGE_SPEC_VERSION = 1;
4513 enum VK_KHR_16BIT_STORAGE_EXTENSION_NAME = "VK_KHR_16bit_storage";
4514 
4515 struct VkPhysicalDevice16BitStorageFeaturesKHR {
4516 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR;
4517 	void*            pNext;
4518 	VkBool32         storageBuffer16BitAccess;
4519 	VkBool32         uniformAndStorageBuffer16BitAccess;
4520 	VkBool32         storagePushConstant16;
4521 	VkBool32         storageInputOutput16;
4522 }
4523 
4524 // VK_KHR_incremental_present
4525 enum VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION = 1;
4526 enum VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME = "VK_KHR_incremental_present";
4527 
4528 struct VkRectLayerKHR {
4529 	VkOffset2D  offset;
4530 	VkExtent2D  extent;
4531 	uint32_t    layer;
4532 }
4533 
4534 struct VkPresentRegionKHR {
4535 	uint32_t                  rectangleCount;
4536 	const( VkRectLayerKHR )*  pRectangles;
4537 }
4538 
4539 struct VkPresentRegionsKHR {
4540 	VkStructureType               sType = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR;
4541 	const( void )*                pNext;
4542 	uint32_t                      swapchainCount;
4543 	const( VkPresentRegionKHR )*  pRegions;
4544 }
4545 
4546 // VK_KHR_descriptor_update_template
4547 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDescriptorUpdateTemplateKHR} );
4548 
4549 enum VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION = 1;
4550 enum VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME = "VK_KHR_descriptor_update_template";
4551 
4552 
4553 enum VkDescriptorUpdateTemplateTypeKHR {
4554 	VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = 0,
4555 	VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4556 	VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR,
4557 	VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR,
4558 	VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE_KHR = ( VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR + 1 ),
4559 	VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
4560 }
4561 
4562 // VkDescriptorUpdateTemplateTypeKHR global enums
4563 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VkDescriptorUpdateTemplateTypeKHR.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR;
4564 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = VkDescriptorUpdateTemplateTypeKHR.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR;
4565 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE_KHR = VkDescriptorUpdateTemplateTypeKHR.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE_KHR;
4566 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE_KHR = VkDescriptorUpdateTemplateTypeKHR.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE_KHR;
4567 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE_KHR = VkDescriptorUpdateTemplateTypeKHR.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE_KHR;
4568 enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM_KHR = VkDescriptorUpdateTemplateTypeKHR.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM_KHR;
4569 
4570 alias VkDescriptorUpdateTemplateCreateFlagsKHR = VkFlags;
4571 
4572 struct VkDescriptorUpdateTemplateEntryKHR {
4573 	uint32_t          dstBinding;
4574 	uint32_t          dstArrayElement;
4575 	uint32_t          descriptorCount;
4576 	VkDescriptorType  descriptorType;
4577 	size_t            offset;
4578 	size_t            stride;
4579 }
4580 
4581 struct VkDescriptorUpdateTemplateCreateInfoKHR {
4582 	VkStructureType                               sType = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR;
4583 	void*                                         pNext;
4584 	VkDescriptorUpdateTemplateCreateFlagsKHR      flags;
4585 	uint32_t                                      descriptorUpdateEntryCount;
4586 	const( VkDescriptorUpdateTemplateEntryKHR )*  pDescriptorUpdateEntries;
4587 	VkDescriptorUpdateTemplateTypeKHR             templateType;
4588 	VkDescriptorSetLayout                         descriptorSetLayout;
4589 	VkPipelineBindPoint                           pipelineBindPoint;
4590 	VkPipelineLayout                              pipelineLayout;
4591 	uint32_t                                      set;
4592 }
4593 
4594 // VK_KHR_extension_94
4595 enum VK_KHR_EXTENSION_94_SPEC_VERSION = 0;
4596 enum VK_KHR_EXTENSION_94_EXTENSION_NAME = "VK_KHR_extension_94";
4597 
4598 // VK_KHR_shared_presentable_image
4599 enum VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION = 1;
4600 enum VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME = "VK_KHR_shared_presentable_image";
4601 
4602 struct VkSharedPresentSurfaceCapabilitiesKHR {
4603 	VkStructureType    sType = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR;
4604 	void*              pNext;
4605 	VkImageUsageFlags  sharedPresentSupportedUsageFlags;
4606 }
4607 
4608 // VK_KHR_external_fence_capabilities
4609 enum VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION = 1;
4610 enum VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_fence_capabilities";
4611 
4612 
4613 enum VkExternalFenceHandleTypeFlagBitsKHR {
4614 	VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 0x00000001,
4615 	VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 0x00000002,
4616 	VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 0x00000004,
4617 	VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = 0x00000008,
4618 	VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4619 }
4620 
4621 // VkExternalFenceHandleTypeFlagBitsKHR global enums
4622 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VkExternalFenceHandleTypeFlagBitsKHR.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;
4623 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VkExternalFenceHandleTypeFlagBitsKHR.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;
4624 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VkExternalFenceHandleTypeFlagBitsKHR.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR;
4625 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VkExternalFenceHandleTypeFlagBitsKHR.VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
4626 enum VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR = VkExternalFenceHandleTypeFlagBitsKHR.VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR;
4627 alias VkExternalFenceHandleTypeFlagsKHR = VkFlags;
4628 
4629 enum VkExternalFenceFeatureFlagBitsKHR {
4630 	VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = 0x00000001,
4631 	VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = 0x00000002,
4632 	VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4633 }
4634 
4635 // VkExternalFenceFeatureFlagBitsKHR global enums
4636 enum VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VkExternalFenceFeatureFlagBitsKHR.VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR;
4637 enum VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VkExternalFenceFeatureFlagBitsKHR.VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR;
4638 enum VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM_KHR = VkExternalFenceFeatureFlagBitsKHR.VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM_KHR;
4639 alias VkExternalFenceFeatureFlagsKHR = VkFlags;
4640 
4641 struct VkPhysicalDeviceExternalFenceInfoKHR {
4642 	VkStructureType                       sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR;
4643 	const( void )*                        pNext;
4644 	VkExternalFenceHandleTypeFlagBitsKHR  handleType;
4645 }
4646 
4647 struct VkExternalFencePropertiesKHR {
4648 	VkStructureType                    sType = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR;
4649 	void*                              pNext;
4650 	VkExternalFenceHandleTypeFlagsKHR  exportFromImportedHandleTypes;
4651 	VkExternalFenceHandleTypeFlagsKHR  compatibleHandleTypes;
4652 	VkExternalFenceFeatureFlagsKHR     externalFenceFeatures;
4653 }
4654 
4655 // VK_KHR_external_fence
4656 enum VK_KHR_EXTERNAL_FENCE_SPEC_VERSION = 1;
4657 enum VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME = "VK_KHR_external_fence";
4658 
4659 
4660 enum VkFenceImportFlagBitsKHR {
4661 	VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = 0x00000001,
4662 	VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4663 }
4664 
4665 // VkFenceImportFlagBitsKHR global enums
4666 enum VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VkFenceImportFlagBitsKHR.VK_FENCE_IMPORT_TEMPORARY_BIT_KHR;
4667 enum VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM_KHR = VkFenceImportFlagBitsKHR.VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM_KHR;
4668 alias VkFenceImportFlagsKHR = VkFlags;
4669 
4670 struct VkExportFenceCreateInfoKHR {
4671 	VkStructureType                    sType = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR;
4672 	const( void )*                     pNext;
4673 	VkExternalFenceHandleTypeFlagsKHR  handleTypes;
4674 }
4675 
4676 // VK_KHR_external_fence_win32
4677 version( VK_USE_PLATFORM_WIN32_KHR ) {
4678 	
4679 	enum VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION = 1;
4680 	enum VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME = "VK_KHR_external_fence_win32";
4681 	
4682 	struct VkImportFenceWin32HandleInfoKHR {
4683 		VkStructureType                       sType = VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR;
4684 		const( void )*                        pNext;
4685 		VkFence                               fence;
4686 		VkFenceImportFlagsKHR                 flags;
4687 		VkExternalFenceHandleTypeFlagBitsKHR  handleType;
4688 		HANDLE                                handle;
4689 		LPCWSTR                               name;
4690 	}
4691 	
4692 	struct VkExportFenceWin32HandleInfoKHR {
4693 		VkStructureType                sType = VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR;
4694 		const( void )*                 pNext;
4695 		const( SECURITY_ATTRIBUTES )*  pAttributes;
4696 		DWORD                          dwAccess;
4697 		LPCWSTR                        name;
4698 	}
4699 	
4700 	struct VkFenceGetWin32HandleInfoKHR {
4701 		VkStructureType                       sType = VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR;
4702 		const( void )*                        pNext;
4703 		VkFence                               fence;
4704 		VkExternalFenceHandleTypeFlagBitsKHR  handleType;
4705 	}
4706 }
4707 
4708 // VK_KHR_external_fence_fd
4709 enum VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION = 1;
4710 enum VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME = "VK_KHR_external_fence_fd";
4711 
4712 struct VkImportFenceFdInfoKHR {
4713 	VkStructureType                       sType = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR;
4714 	const( void )*                        pNext;
4715 	VkFence                               fence;
4716 	VkFenceImportFlagsKHR                 flags;
4717 	VkExternalFenceHandleTypeFlagBitsKHR  handleType;
4718 	int                                   fd;
4719 }
4720 
4721 struct VkFenceGetFdInfoKHR {
4722 	VkStructureType                       sType = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR;
4723 	const( void )*                        pNext;
4724 	VkFence                               fence;
4725 	VkExternalFenceHandleTypeFlagBitsKHR  handleType;
4726 }
4727 
4728 // VK_KHR_extension_117
4729 enum VK_KHR_EXTENSION_117_SPEC_VERSION = 0;
4730 enum VK_KHR_EXTENSION_117_EXTENSION_NAME = "VK_KHR_extension_117";
4731 
4732 // VK_KHR_maintenance2
4733 enum VK_KHR_MAINTENANCE2_SPEC_VERSION = 1;
4734 enum VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2";
4735 
4736 
4737 enum VkPointClippingBehaviorKHR {
4738 	VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = 0,
4739 	VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = 1,
4740 	VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR,
4741 	VK_POINT_CLIPPING_BEHAVIOR_END_RANGE_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR,
4742 	VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE_KHR = ( VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR - VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR + 1 ),
4743 	VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM_KHR = 0x7FFFFFFF
4744 }
4745 
4746 // VkPointClippingBehaviorKHR global enums
4747 enum VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VkPointClippingBehaviorKHR.VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR;
4748 enum VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VkPointClippingBehaviorKHR.VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR;
4749 enum VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE_KHR = VkPointClippingBehaviorKHR.VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE_KHR;
4750 enum VK_POINT_CLIPPING_BEHAVIOR_END_RANGE_KHR = VkPointClippingBehaviorKHR.VK_POINT_CLIPPING_BEHAVIOR_END_RANGE_KHR;
4751 enum VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE_KHR = VkPointClippingBehaviorKHR.VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE_KHR;
4752 enum VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM_KHR = VkPointClippingBehaviorKHR.VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM_KHR;
4753 
4754 enum VkTessellationDomainOriginKHR {
4755 	VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = 0,
4756 	VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = 1,
4757 	VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR,
4758 	VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR,
4759 	VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE_KHR = ( VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR - VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR + 1 ),
4760 	VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM_KHR = 0x7FFFFFFF
4761 }
4762 
4763 // VkTessellationDomainOriginKHR global enums
4764 enum VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VkTessellationDomainOriginKHR.VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR;
4765 enum VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VkTessellationDomainOriginKHR.VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR;
4766 enum VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE_KHR = VkTessellationDomainOriginKHR.VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE_KHR;
4767 enum VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE_KHR = VkTessellationDomainOriginKHR.VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE_KHR;
4768 enum VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE_KHR = VkTessellationDomainOriginKHR.VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE_KHR;
4769 enum VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM_KHR = VkTessellationDomainOriginKHR.VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM_KHR;
4770 
4771 struct VkPhysicalDevicePointClippingPropertiesKHR {
4772 	VkStructureType             sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR;
4773 	void*                       pNext;
4774 	VkPointClippingBehaviorKHR  pointClippingBehavior;
4775 }
4776 
4777 struct VkInputAttachmentAspectReferenceKHR {
4778 	uint32_t            subpass;
4779 	uint32_t            inputAttachmentIndex;
4780 	VkImageAspectFlags  aspectMask;
4781 }
4782 
4783 struct VkRenderPassInputAttachmentAspectCreateInfoKHR {
4784 	VkStructureType                                sType = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR;
4785 	const( void )*                                 pNext;
4786 	uint32_t                                       aspectReferenceCount;
4787 	const( VkInputAttachmentAspectReferenceKHR )*  pAspectReferences;
4788 }
4789 
4790 struct VkImageViewUsageCreateInfoKHR {
4791 	VkStructureType    sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR;
4792 	const( void )*     pNext;
4793 	VkImageUsageFlags  usage;
4794 }
4795 
4796 struct VkPipelineTessellationDomainOriginStateCreateInfoKHR {
4797 	VkStructureType                sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR;
4798 	const( void )*                 pNext;
4799 	VkTessellationDomainOriginKHR  domainOrigin;
4800 }
4801 
4802 // VK_KHR_extension_119
4803 enum VK_KHR_EXTENSION_119_SPEC_VERSION = 0;
4804 enum VK_KHR_EXTENSION_119_EXTENSION_NAME = "VK_KHR_extension_119";
4805 
4806 // VK_KHR_get_surface_capabilities2
4807 enum VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION = 1;
4808 enum VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME = "VK_KHR_get_surface_capabilities2";
4809 
4810 struct VkPhysicalDeviceSurfaceInfo2KHR {
4811 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
4812 	const( void )*   pNext;
4813 	VkSurfaceKHR     surface;
4814 }
4815 
4816 struct VkSurfaceCapabilities2KHR {
4817 	VkStructureType           sType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR;
4818 	void*                     pNext;
4819 	VkSurfaceCapabilitiesKHR  surfaceCapabilities;
4820 }
4821 
4822 struct VkSurfaceFormat2KHR {
4823 	VkStructureType     sType = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR;
4824 	void*               pNext;
4825 	VkSurfaceFormatKHR  surfaceFormat;
4826 }
4827 
4828 // VK_KHR_variable_pointers
4829 enum VK_KHR_VARIABLE_POINTERS_SPEC_VERSION = 1;
4830 enum VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME = "VK_KHR_variable_pointers";
4831 
4832 struct VkPhysicalDeviceVariablePointerFeaturesKHR {
4833 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR;
4834 	void*            pNext;
4835 	VkBool32         variablePointersStorageBuffer;
4836 	VkBool32         variablePointers;
4837 }
4838 
4839 // VK_KHR_extension_122
4840 enum VK_KHR_EXTENSION_122_SPEC_VERSION = 0;
4841 enum VK_KHR_EXTENSION_122_EXTENSION_NAME = "VK_KHR_extension_122";
4842 
4843 // VK_KHR_dedicated_allocation
4844 enum VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION = 3;
4845 enum VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_KHR_dedicated_allocation";
4846 
4847 struct VkMemoryDedicatedRequirementsKHR {
4848 	VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR;
4849 	void*            pNext;
4850 	VkBool32         prefersDedicatedAllocation;
4851 	VkBool32         requiresDedicatedAllocation;
4852 }
4853 
4854 struct VkMemoryDedicatedAllocateInfoKHR {
4855 	VkStructureType  sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR;
4856 	const( void )*   pNext;
4857 	VkImage          image;
4858 	VkBuffer         buffer;
4859 }
4860 
4861 // VK_KHR_extension_130
4862 enum VK_KHR_EXTENSION_130_SPEC_VERSION = 0;
4863 enum VK_KHR_EXTENSION_130_EXTENSION_NAME = "VK_KHR_extension_130";
4864 
4865 // VK_KHR_storage_buffer_storage_class
4866 enum VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION = 1;
4867 enum VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME = "VK_KHR_storage_buffer_storage_class";
4868 
4869 // VK_KHR_relaxed_block_layout
4870 enum VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION = 1;
4871 enum VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME = "VK_KHR_relaxed_block_layout";
4872 
4873 // VK_KHR_extension_146
4874 enum VK_KHR_extension_146_SPEC_VERSION = 0;
4875 enum VK_KHR_extension_146_EXTENSION_NAME = "VK_KHR_extension_146";
4876 
4877 // VK_KHR_get_memory_requirements2
4878 enum VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION = 1;
4879 enum VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME = "VK_KHR_get_memory_requirements2";
4880 
4881 struct VkBufferMemoryRequirementsInfo2KHR {
4882 	VkStructureType  sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR;
4883 	const( void )*   pNext;
4884 	VkBuffer         buffer;
4885 }
4886 
4887 struct VkImageMemoryRequirementsInfo2KHR {
4888 	VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR;
4889 	const( void )*   pNext;
4890 	VkImage          image;
4891 }
4892 
4893 struct VkImageSparseMemoryRequirementsInfo2KHR {
4894 	VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR;
4895 	const( void )*   pNext;
4896 	VkImage          image;
4897 }
4898 
4899 struct VkMemoryRequirements2KHR {
4900 	VkStructureType       sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR;
4901 	void*                 pNext;
4902 	VkMemoryRequirements  memoryRequirements;
4903 }
4904 
4905 struct VkSparseImageMemoryRequirements2KHR {
4906 	VkStructureType                  sType = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR;
4907 	void*                            pNext;
4908 	VkSparseImageMemoryRequirements  memoryRequirements;
4909 }
4910 
4911 // VK_KHR_image_format_list
4912 enum VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION = 1;
4913 enum VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME = "VK_KHR_image_format_list";
4914 
4915 struct VkImageFormatListCreateInfoKHR {
4916 	VkStructureType     sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR;
4917 	const( void )*      pNext;
4918 	uint32_t            viewFormatCount;
4919 	const( VkFormat )*  pViewFormats;
4920 }
4921 
4922 // VK_KHR_sampler_ycbcr_conversion
4923 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkSamplerYcbcrConversionKHR} );
4924 
4925 enum VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION = 1;
4926 enum VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME = "VK_KHR_sampler_ycbcr_conversion";
4927 
4928 
4929 enum VkSamplerYcbcrModelConversionKHR {
4930 	VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = 0,
4931 	VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = 1,
4932 	VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = 2,
4933 	VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = 3,
4934 	VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = 4,
4935 	VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR,
4936 	VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR,
4937 	VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE_KHR = ( VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR - VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR + 1 ),
4938 	VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM_KHR = 0x7FFFFFFF
4939 }
4940 
4941 // VkSamplerYcbcrModelConversionKHR global enums
4942 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VkSamplerYcbcrModelConversionKHR.VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR;
4943 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VkSamplerYcbcrModelConversionKHR.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR;
4944 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VkSamplerYcbcrModelConversionKHR.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR;
4945 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VkSamplerYcbcrModelConversionKHR.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR;
4946 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VkSamplerYcbcrModelConversionKHR.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR;
4947 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE_KHR = VkSamplerYcbcrModelConversionKHR.VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE_KHR;
4948 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE_KHR = VkSamplerYcbcrModelConversionKHR.VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE_KHR;
4949 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE_KHR = VkSamplerYcbcrModelConversionKHR.VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE_KHR;
4950 enum VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM_KHR = VkSamplerYcbcrModelConversionKHR.VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM_KHR;
4951 
4952 enum VkSamplerYcbcrRangeKHR {
4953 	VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = 0,
4954 	VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = 1,
4955 	VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR,
4956 	VK_SAMPLER_YCBCR_RANGE_END_RANGE_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR,
4957 	VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE_KHR = ( VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR - VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR + 1 ),
4958 	VK_SAMPLER_YCBCR_RANGE_MAX_ENUM_KHR = 0x7FFFFFFF
4959 }
4960 
4961 // VkSamplerYcbcrRangeKHR global enums
4962 enum VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VkSamplerYcbcrRangeKHR.VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR;
4963 enum VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VkSamplerYcbcrRangeKHR.VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR;
4964 enum VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE_KHR = VkSamplerYcbcrRangeKHR.VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE_KHR;
4965 enum VK_SAMPLER_YCBCR_RANGE_END_RANGE_KHR = VkSamplerYcbcrRangeKHR.VK_SAMPLER_YCBCR_RANGE_END_RANGE_KHR;
4966 enum VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE_KHR = VkSamplerYcbcrRangeKHR.VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE_KHR;
4967 enum VK_SAMPLER_YCBCR_RANGE_MAX_ENUM_KHR = VkSamplerYcbcrRangeKHR.VK_SAMPLER_YCBCR_RANGE_MAX_ENUM_KHR;
4968 
4969 enum VkChromaLocationKHR {
4970 	VK_CHROMA_LOCATION_COSITED_EVEN_KHR = 0,
4971 	VK_CHROMA_LOCATION_MIDPOINT_KHR = 1,
4972 	VK_CHROMA_LOCATION_BEGIN_RANGE_KHR = VK_CHROMA_LOCATION_COSITED_EVEN_KHR,
4973 	VK_CHROMA_LOCATION_END_RANGE_KHR = VK_CHROMA_LOCATION_MIDPOINT_KHR,
4974 	VK_CHROMA_LOCATION_RANGE_SIZE_KHR = ( VK_CHROMA_LOCATION_MIDPOINT_KHR - VK_CHROMA_LOCATION_COSITED_EVEN_KHR + 1 ),
4975 	VK_CHROMA_LOCATION_MAX_ENUM_KHR = 0x7FFFFFFF
4976 }
4977 
4978 // VkChromaLocationKHR global enums
4979 enum VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VkChromaLocationKHR.VK_CHROMA_LOCATION_COSITED_EVEN_KHR;
4980 enum VK_CHROMA_LOCATION_MIDPOINT_KHR = VkChromaLocationKHR.VK_CHROMA_LOCATION_MIDPOINT_KHR;
4981 enum VK_CHROMA_LOCATION_BEGIN_RANGE_KHR = VkChromaLocationKHR.VK_CHROMA_LOCATION_BEGIN_RANGE_KHR;
4982 enum VK_CHROMA_LOCATION_END_RANGE_KHR = VkChromaLocationKHR.VK_CHROMA_LOCATION_END_RANGE_KHR;
4983 enum VK_CHROMA_LOCATION_RANGE_SIZE_KHR = VkChromaLocationKHR.VK_CHROMA_LOCATION_RANGE_SIZE_KHR;
4984 enum VK_CHROMA_LOCATION_MAX_ENUM_KHR = VkChromaLocationKHR.VK_CHROMA_LOCATION_MAX_ENUM_KHR;
4985 
4986 struct VkSamplerYcbcrConversionCreateInfoKHR {
4987 	VkStructureType                   sType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR;
4988 	const( void )*                    pNext;
4989 	VkFormat                          format;
4990 	VkSamplerYcbcrModelConversionKHR  ycbcrModel;
4991 	VkSamplerYcbcrRangeKHR            ycbcrRange;
4992 	VkComponentMapping                components;
4993 	VkChromaLocationKHR               xChromaOffset;
4994 	VkChromaLocationKHR               yChromaOffset;
4995 	VkFilter                          chromaFilter;
4996 	VkBool32                          forceExplicitReconstruction;
4997 }
4998 
4999 struct VkSamplerYcbcrConversionInfoKHR {
5000 	VkStructureType              sType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR;
5001 	const( void )*               pNext;
5002 	VkSamplerYcbcrConversionKHR  conversion;
5003 }
5004 
5005 struct VkBindImagePlaneMemoryInfoKHR {
5006 	VkStructureType        sType = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR;
5007 	const( void )*         pNext;
5008 	VkImageAspectFlagBits  planeAspect;
5009 }
5010 
5011 struct VkImagePlaneMemoryRequirementsInfoKHR {
5012 	VkStructureType        sType = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR;
5013 	const( void )*         pNext;
5014 	VkImageAspectFlagBits  planeAspect;
5015 }
5016 
5017 struct VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR {
5018 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR;
5019 	void*            pNext;
5020 	VkBool32         samplerYcbcrConversion;
5021 }
5022 
5023 struct VkSamplerYcbcrConversionImageFormatPropertiesKHR {
5024 	VkStructureType  sType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR;
5025 	void*            pNext;
5026 	uint32_t         combinedImageSamplerDescriptorCount;
5027 }
5028 
5029 // VK_KHR_bind_memory2
5030 enum VK_KHR_BIND_MEMORY_2_SPEC_VERSION = 1;
5031 enum VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2";
5032 
5033 struct VkBindBufferMemoryInfoKHR {
5034 	VkStructureType  sType = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR;
5035 	const( void )*   pNext;
5036 	VkBuffer         buffer;
5037 	VkDeviceMemory   memory;
5038 	VkDeviceSize     memoryOffset;
5039 }
5040 
5041 struct VkBindImageMemoryInfoKHR {
5042 	VkStructureType  sType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR;
5043 	const( void )*   pNext;
5044 	VkImage          image;
5045 	VkDeviceMemory   memory;
5046 	VkDeviceSize     memoryOffset;
5047 }
5048 
5049 // VK_KHR_extension_169
5050 enum VK_KHR_EXTENSION_169_SPEC_VERSION = 0;
5051 enum VK_KHR_EXTENSION_169_EXTENSION_NAME = "VK_KHR_extension_169";
5052 
5053 // VK_ANDROID_native_buffer
5054 enum VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION = 5;
5055 enum VK_ANDROID_NATIVE_BUFFER_NUMBER = 11;
5056 enum VK_ANDROID_NATIVE_BUFFER_NAME = "VK_ANDROID_native_buffer";
5057 
5058 struct VkNativeBufferANDROID {
5059 	VkStructureType  sType = VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID;
5060 	const( void )*   pNext;
5061 	const( void )*   handle;
5062 	int              stride;
5063 	int              format;
5064 	int              usage;
5065 }
5066 
5067 // VK_EXT_debug_report
5068 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkDebugReportCallbackEXT} );
5069 
5070 enum VK_EXT_DEBUG_REPORT_SPEC_VERSION = 8;
5071 enum VK_EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report";
5072 enum VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VkStructureType.VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
5073 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT;
5074 
5075 
5076 enum VkDebugReportObjectTypeEXT {
5077 	VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
5078 	VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
5079 	VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
5080 	VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
5081 	VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
5082 	VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
5083 	VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
5084 	VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
5085 	VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
5086 	VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
5087 	VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
5088 	VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
5089 	VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
5090 	VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
5091 	VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
5092 	VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
5093 	VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
5094 	VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
5095 	VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
5096 	VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
5097 	VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
5098 	VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
5099 	VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
5100 	VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
5101 	VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
5102 	VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
5103 	VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
5104 	VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
5105 	VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
5106 	VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
5107 	VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
5108 	VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,
5109 	VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,
5110 	VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33,
5111 	VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000,
5112 	VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = 1000156000,
5113 	VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
5114 	VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT,
5115 	VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = ( VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1 ),
5116 	VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
5117 }
5118 
5119 // VkDebugReportObjectTypeEXT global enums
5120 enum VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;
5121 enum VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT;
5122 enum VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT;
5123 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT;
5124 enum VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT;
5125 enum VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT;
5126 enum VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT;
5127 enum VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT;
5128 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT;
5129 enum VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT;
5130 enum VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT;
5131 enum VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT;
5132 enum VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT;
5133 enum VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT;
5134 enum VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT;
5135 enum VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT;
5136 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT;
5137 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT;
5138 enum VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT;
5139 enum VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT;
5140 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT;
5141 enum VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT;
5142 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT;
5143 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT;
5144 enum VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT;
5145 enum VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT;
5146 enum VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT;
5147 enum VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT;
5148 enum VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT;
5149 enum VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT;
5150 enum VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT;
5151 enum VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT;
5152 enum VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT;
5153 enum VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT;
5154 enum VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT;
5155 enum VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT;
5156 enum VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT;
5157 enum VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT;
5158 enum VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT;
5159 enum VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = VkDebugReportObjectTypeEXT.VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT;
5160 
5161 
5162 enum VkDebugReportFlagBitsEXT {
5163 	VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
5164 	VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
5165 	VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
5166 	VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
5167 	VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
5168 	VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
5169 }
5170 
5171 // VkDebugReportFlagBitsEXT global enums
5172 enum VK_DEBUG_REPORT_INFORMATION_BIT_EXT = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_INFORMATION_BIT_EXT;
5173 enum VK_DEBUG_REPORT_WARNING_BIT_EXT = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_WARNING_BIT_EXT;
5174 enum VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT;
5175 enum VK_DEBUG_REPORT_ERROR_BIT_EXT = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_ERROR_BIT_EXT;
5176 enum VK_DEBUG_REPORT_DEBUG_BIT_EXT = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_DEBUG_BIT_EXT;
5177 enum VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = VkDebugReportFlagBitsEXT.VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT;
5178 alias VkDebugReportFlagsEXT = VkFlags;
5179 
5180 alias PFN_vkDebugReportCallbackEXT = VkBool32 function( VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const( char )* pLayerPrefix, const( char )* pMessage, void* pUserData);
5181 
5182 struct VkDebugReportCallbackCreateInfoEXT {
5183 	VkStructureType               sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
5184 	const( void )*                pNext;
5185 	VkDebugReportFlagsEXT         flags;
5186 	PFN_vkDebugReportCallbackEXT  pfnCallback;
5187 	void*                         pUserData;
5188 }
5189 
5190 // VK_NV_glsl_shader
5191 enum VK_NV_GLSL_SHADER_SPEC_VERSION = 1;
5192 enum VK_NV_GLSL_SHADER_EXTENSION_NAME = "VK_NV_glsl_shader";
5193 
5194 // VK_EXT_depth_range_unrestricted
5195 enum VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION = 1;
5196 enum VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME = "VK_EXT_depth_range_unrestricted";
5197 
5198 // VK_IMG_filter_cubic
5199 enum VK_IMG_FILTER_CUBIC_SPEC_VERSION = 1;
5200 enum VK_IMG_FILTER_CUBIC_EXTENSION_NAME = "VK_IMG_filter_cubic";
5201 
5202 // VK_AMD_extension_17
5203 enum VK_AMD_EXTENSION_17_SPEC_VERSION = 0;
5204 enum VK_AMD_EXTENSION_17_EXTENSION_NAME = "VK_AMD_extension_17";
5205 
5206 // VK_AMD_extension_18
5207 enum VK_AMD_EXTENSION_18_SPEC_VERSION = 0;
5208 enum VK_AMD_EXTENSION_18_EXTENSION_NAME = "VK_AMD_extension_18";
5209 
5210 // VK_AMD_rasterization_order
5211 enum VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION = 1;
5212 enum VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME = "VK_AMD_rasterization_order";
5213 
5214 
5215 enum VkRasterizationOrderAMD {
5216 	VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
5217 	VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
5218 	VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD,
5219 	VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD,
5220 	VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = ( VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1 ),
5221 	VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
5222 }
5223 
5224 // VkRasterizationOrderAMD global enums
5225 enum VK_RASTERIZATION_ORDER_STRICT_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_STRICT_AMD;
5226 enum VK_RASTERIZATION_ORDER_RELAXED_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_RELAXED_AMD;
5227 enum VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD;
5228 enum VK_RASTERIZATION_ORDER_END_RANGE_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_END_RANGE_AMD;
5229 enum VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD;
5230 enum VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = VkRasterizationOrderAMD.VK_RASTERIZATION_ORDER_MAX_ENUM_AMD;
5231 
5232 struct VkPipelineRasterizationStateRasterizationOrderAMD {
5233 	VkStructureType          sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
5234 	const( void )*           pNext;
5235 	VkRasterizationOrderAMD  rasterizationOrder;
5236 }
5237 
5238 // VK_AMD_extension_20
5239 enum VK_AMD_EXTENSION_20_SPEC_VERSION = 0;
5240 enum VK_AMD_EXTENSION_20_EXTENSION_NAME = "VK_AMD_extension_20";
5241 
5242 // VK_AMD_shader_trinary_minmax
5243 enum VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION = 1;
5244 enum VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME = "VK_AMD_shader_trinary_minmax";
5245 
5246 // VK_AMD_shader_explicit_vertex_parameter
5247 enum VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION = 1;
5248 enum VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME = "VK_AMD_shader_explicit_vertex_parameter";
5249 
5250 // VK_EXT_debug_marker
5251 enum VK_EXT_DEBUG_MARKER_SPEC_VERSION = 4;
5252 enum VK_EXT_DEBUG_MARKER_EXTENSION_NAME = "VK_EXT_debug_marker";
5253 
5254 struct VkDebugMarkerObjectNameInfoEXT {
5255 	VkStructureType             sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT;
5256 	const( void )*              pNext;
5257 	VkDebugReportObjectTypeEXT  objectType;
5258 	uint64_t                    object;
5259 	const( char )*              pObjectName;
5260 }
5261 
5262 struct VkDebugMarkerObjectTagInfoEXT {
5263 	VkStructureType             sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT;
5264 	const( void )*              pNext;
5265 	VkDebugReportObjectTypeEXT  objectType;
5266 	uint64_t                    object;
5267 	uint64_t                    tagName;
5268 	size_t                      tagSize;
5269 	const( void )*              pTag;
5270 }
5271 
5272 struct VkDebugMarkerMarkerInfoEXT {
5273 	VkStructureType  sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
5274 	const( void )*   pNext;
5275 	const( char )*   pMarkerName;
5276 	float[4]         color;
5277 }
5278 
5279 // VK_AMD_extension_24
5280 enum VK_AMD_EXTENSION_24_SPEC_VERSION = 0;
5281 enum VK_AMD_EXTENSION_24_EXTENSION_NAME = "VK_AMD_extension_24";
5282 
5283 // VK_AMD_extension_25
5284 enum VK_AMD_EXTENSION_25_SPEC_VERSION = 0;
5285 enum VK_AMD_EXTENSION_25_EXTENSION_NAME = "VK_AMD_extension_25";
5286 
5287 // VK_AMD_gcn_shader
5288 enum VK_AMD_GCN_SHADER_SPEC_VERSION = 1;
5289 enum VK_AMD_GCN_SHADER_EXTENSION_NAME = "VK_AMD_gcn_shader";
5290 
5291 // VK_NV_dedicated_allocation
5292 enum VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION = 1;
5293 enum VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_NV_dedicated_allocation";
5294 
5295 struct VkDedicatedAllocationImageCreateInfoNV {
5296 	VkStructureType  sType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV;
5297 	const( void )*   pNext;
5298 	VkBool32         dedicatedAllocation;
5299 }
5300 
5301 struct VkDedicatedAllocationBufferCreateInfoNV {
5302 	VkStructureType  sType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV;
5303 	const( void )*   pNext;
5304 	VkBool32         dedicatedAllocation;
5305 }
5306 
5307 struct VkDedicatedAllocationMemoryAllocateInfoNV {
5308 	VkStructureType  sType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV;
5309 	const( void )*   pNext;
5310 	VkImage          image;
5311 	VkBuffer         buffer;
5312 }
5313 
5314 // VK_EXT_extension_28
5315 enum VK_EXT_EXTENSION_28_SPEC_VERSION = 0;
5316 enum VK_EXT_EXTENSION_28_EXTENSION_NAME = "VK_NV_extension_28";
5317 
5318 // VK_NVX_extension_29
5319 enum VK_NVX_EXTENSION_29_SPEC_VERSION = 0;
5320 enum VK_NVX_EXTENSION_29_EXTENSION_NAME = "VK_NVX_extension_29";
5321 
5322 // VK_NVX_extension_30
5323 enum VK_NVX_EXTENSION_30_SPEC_VERSION = 0;
5324 enum VK_NVX_EXTENSION_30_EXTENSION_NAME = "VK_NVX_extension_30";
5325 
5326 // VK_NVX_extension_31
5327 enum VK_NVX_EXTENSION_31_SPEC_VERSION = 0;
5328 enum VK_NVX_EXTENSION_31_EXTENSION_NAME = "VK_NVX_extension_31";
5329 
5330 // VK_AMD_extension_32
5331 enum VK_AMD_EXTENSION_32_SPEC_VERSION = 0;
5332 enum VK_AMD_EXTENSION_32_EXTENSION_NAME = "VK_AMD_extension_32";
5333 
5334 // VK_AMD_extension_33
5335 enum VK_AMD_EXTENSION_33_SPEC_VERSION = 0;
5336 enum VK_AMD_EXTENSION_33_EXTENSION_NAME = "VK_AMD_extension_33";
5337 
5338 // VK_AMD_draw_indirect_count
5339 enum VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1;
5340 enum VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_AMD_draw_indirect_count";
5341 
5342 // VK_AMD_extension_35
5343 enum VK_AMD_EXTENSION_35_SPEC_VERSION = 0;
5344 enum VK_AMD_EXTENSION_35_EXTENSION_NAME = "VK_AMD_extension_35";
5345 
5346 // VK_AMD_negative_viewport_height
5347 enum VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION = 1;
5348 enum VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME = "VK_AMD_negative_viewport_height";
5349 
5350 // VK_AMD_gpu_shader_half_float
5351 enum VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION = 1;
5352 enum VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME = "VK_AMD_gpu_shader_half_float";
5353 
5354 // VK_AMD_shader_ballot
5355 enum VK_AMD_SHADER_BALLOT_SPEC_VERSION = 1;
5356 enum VK_AMD_SHADER_BALLOT_EXTENSION_NAME = "VK_AMD_shader_ballot";
5357 
5358 // VK_AMD_extension_39
5359 enum VK_AMD_EXTENSION_39_SPEC_VERSION = 0;
5360 enum VK_AMD_EXTENSION_39_EXTENSION_NAME = "VK_AMD_extension_39";
5361 
5362 // VK_AMD_extension_40
5363 enum VK_AMD_EXTENSION_40_SPEC_VERSION = 0;
5364 enum VK_AMD_EXTENSION_40_EXTENSION_NAME = "VK_AMD_extension_40";
5365 
5366 // VK_AMD_extension_41
5367 enum VK_AMD_EXTENSION_41_SPEC_VERSION = 0;
5368 enum VK_AMD_EXTENSION_41_EXTENSION_NAME = "VK_AMD_extension_41";
5369 
5370 // VK_AMD_texture_gather_bias_lod
5371 enum VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION = 1;
5372 enum VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME = "VK_AMD_texture_gather_bias_lod";
5373 
5374 struct VkTextureLODGatherFormatPropertiesAMD {
5375 	VkStructureType  sType = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
5376 	void*            pNext;
5377 	VkBool32         supportsTextureGatherLODBiasAMD;
5378 }
5379 
5380 // VK_AMD_extension_43
5381 enum VK_AMD_EXTENSION_43_SPEC_VERSION = 0;
5382 enum VK_AMD_EXTENSION_43_EXTENSION_NAME = "VK_AMD_extension_43";
5383 
5384 // VK_AMD_extension_44
5385 enum VK_AMD_EXTENSION_44_SPEC_VERSION = 0;
5386 enum VK_AMD_EXTENSION_44_EXTENSION_NAME = "VK_AMD_extension_44";
5387 
5388 // VK_AMD_extension_45
5389 enum VK_AMD_EXTENSION_45_SPEC_VERSION = 0;
5390 enum VK_AMD_EXTENSION_45_EXTENSION_NAME = "VK_AMD_extension_45";
5391 
5392 // VK_AMD_extension_46
5393 enum VK_AMD_EXTENSION_46_SPEC_VERSION = 0;
5394 enum VK_AMD_EXTENSION_46_EXTENSION_NAME = "VK_AMD_extension_46";
5395 
5396 // VK_AMD_shader_image_load_store_lod
5397 enum VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION = 1;
5398 enum VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME = "VK_AMD_shader_image_load_store_lod";
5399 
5400 // VK_NVX_extension_48
5401 enum VK_NVX_EXTENSION_48_SPEC_VERSION = 0;
5402 enum VK_NVX_EXTENSION_48_EXTENSION_NAME = "VK_NVX_extension_48";
5403 
5404 // VK_GOOGLE_extension_49
5405 enum VK_GOOGLE_EXTENSION_49_SPEC_VERSION = 0;
5406 enum VK_GOOGLE_EXTENSION_49_EXTENSION_NAME = "VK_GOOGLE_extension_49";
5407 
5408 // VK_GOOGLE_extension_50
5409 enum VK_GOOGLE_EXTENSION_50_SPEC_VERSION = 0;
5410 enum VK_GOOGLE_EXTENSION_50_EXTENSION_NAME = "VK_GOOGLE_extension_50";
5411 
5412 // VK_NVX_extension_51
5413 enum VK_NVX_EXTENSION_51_SPEC_VERSION = 0;
5414 enum VK_NVX_EXTENSION_51_EXTENSION_NAME = "VK_NVX_extension_51";
5415 
5416 // VK_NVX_extension_52
5417 enum VK_NVX_EXTENSION_52_SPEC_VERSION = 0;
5418 enum VK_NVX_EXTENSION_52_EXTENSION_NAME = "VK_NVX_extension_52";
5419 
5420 // VK_NV_extension_53
5421 enum VK_NV_EXTENSION_53_SPEC_VERSION = 0;
5422 enum VK_NV_EXTENSION_53_EXTENSION_NAME = "VK_NV_extension_53";
5423 
5424 // VK_KHX_multiview
5425 enum VK_KHX_MULTIVIEW_SPEC_VERSION = 1;
5426 enum VK_KHX_MULTIVIEW_EXTENSION_NAME = "VK_KHX_multiview";
5427 
5428 struct VkRenderPassMultiviewCreateInfoKHX {
5429 	VkStructureType     sType = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHX;
5430 	const( void )*      pNext;
5431 	uint32_t            subpassCount;
5432 	const( uint32_t )*  pViewMasks;
5433 	uint32_t            dependencyCount;
5434 	const( int32_t )*   pViewOffsets;
5435 	uint32_t            correlationMaskCount;
5436 	const( uint32_t )*  pCorrelationMasks;
5437 }
5438 
5439 struct VkPhysicalDeviceMultiviewFeaturesKHX {
5440 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX;
5441 	void*            pNext;
5442 	VkBool32         multiview;
5443 	VkBool32         multiviewGeometryShader;
5444 	VkBool32         multiviewTessellationShader;
5445 }
5446 
5447 struct VkPhysicalDeviceMultiviewPropertiesKHX {
5448 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX;
5449 	void*            pNext;
5450 	uint32_t         maxMultiviewViewCount;
5451 	uint32_t         maxMultiviewInstanceIndex;
5452 }
5453 
5454 // VK_IMG_format_pvrtc
5455 enum VK_IMG_FORMAT_PVRTC_SPEC_VERSION = 1;
5456 enum VK_IMG_FORMAT_PVRTC_EXTENSION_NAME = "VK_IMG_format_pvrtc";
5457 
5458 // VK_NV_external_memory_capabilities
5459 enum VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1;
5460 enum VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_NV_external_memory_capabilities";
5461 
5462 
5463 enum VkExternalMemoryHandleTypeFlagBitsNV {
5464 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
5465 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
5466 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
5467 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
5468 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
5469 }
5470 
5471 // VkExternalMemoryHandleTypeFlagBitsNV global enums
5472 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV;
5473 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV;
5474 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV;
5475 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV;
5476 enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = VkExternalMemoryHandleTypeFlagBitsNV.VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV;
5477 alias VkExternalMemoryHandleTypeFlagsNV = VkFlags;
5478 
5479 enum VkExternalMemoryFeatureFlagBitsNV {
5480 	VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
5481 	VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
5482 	VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
5483 	VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
5484 }
5485 
5486 // VkExternalMemoryFeatureFlagBitsNV global enums
5487 enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV;
5488 enum VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV;
5489 enum VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV;
5490 enum VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = VkExternalMemoryFeatureFlagBitsNV.VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV;
5491 alias VkExternalMemoryFeatureFlagsNV = VkFlags;
5492 
5493 struct VkExternalImageFormatPropertiesNV {
5494 	VkImageFormatProperties            imageFormatProperties;
5495 	VkExternalMemoryFeatureFlagsNV     externalMemoryFeatures;
5496 	VkExternalMemoryHandleTypeFlagsNV  exportFromImportedHandleTypes;
5497 	VkExternalMemoryHandleTypeFlagsNV  compatibleHandleTypes;
5498 }
5499 
5500 // VK_NV_external_memory
5501 enum VK_NV_EXTERNAL_MEMORY_SPEC_VERSION = 1;
5502 enum VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_NV_external_memory";
5503 
5504 struct VkExternalMemoryImageCreateInfoNV {
5505 	VkStructureType                    sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
5506 	const( void )*                     pNext;
5507 	VkExternalMemoryHandleTypeFlagsNV  handleTypes;
5508 }
5509 
5510 struct VkExportMemoryAllocateInfoNV {
5511 	VkStructureType                    sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV;
5512 	const( void )*                     pNext;
5513 	VkExternalMemoryHandleTypeFlagsNV  handleTypes;
5514 }
5515 
5516 // VK_NV_external_memory_win32
5517 version( VK_USE_PLATFORM_WIN32_KHR ) {
5518 	public import core.sys.windows.winnt;
5519 
5520 	enum VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION = 1;
5521 	enum VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME = "VK_NV_external_memory_win32";
5522 	
5523 	struct VkImportMemoryWin32HandleInfoNV {
5524 		VkStructureType                    sType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV;
5525 		const( void )*                     pNext;
5526 		VkExternalMemoryHandleTypeFlagsNV  handleType;
5527 		HANDLE                             handle;
5528 	}
5529 	
5530 	struct VkExportMemoryWin32HandleInfoNV {
5531 		VkStructureType                sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV;
5532 		const( void )*                 pNext;
5533 		const( SECURITY_ATTRIBUTES )*  pAttributes;
5534 		DWORD                          dwAccess;
5535 	}
5536 }
5537 
5538 // VK_NV_win32_keyed_mutex
5539 version( VK_USE_PLATFORM_WIN32_KHR ) {
5540 	
5541 	enum VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION = 1;
5542 	enum VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME = "VK_NV_win32_keyed_mutex";
5543 	
5544 	struct VkWin32KeyedMutexAcquireReleaseInfoNV {
5545 		VkStructureType           sType = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV;
5546 		const( void )*            pNext;
5547 		uint32_t                  acquireCount;
5548 		const( VkDeviceMemory )*  pAcquireSyncs;
5549 		const( uint64_t )*        pAcquireKeys;
5550 		const( uint32_t )*        pAcquireTimeoutMilliseconds;
5551 		uint32_t                  releaseCount;
5552 		const( VkDeviceMemory )*  pReleaseSyncs;
5553 		const( uint64_t )*        pReleaseKeys;
5554 	}
5555 }
5556 
5557 // VK_KHX_device_group
5558 enum VK_KHX_DEVICE_GROUP_SPEC_VERSION = 2;
5559 enum VK_KHX_DEVICE_GROUP_EXTENSION_NAME = "VK_KHX_device_group";
5560 enum VK_MAX_DEVICE_GROUP_SIZE_KHX = 32;
5561 
5562 
5563 enum VkPeerMemoryFeatureFlagBitsKHX {
5564 	VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX = 0x00000001,
5565 	VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX = 0x00000002,
5566 	VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX = 0x00000004,
5567 	VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX = 0x00000008,
5568 	VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF
5569 }
5570 
5571 // VkPeerMemoryFeatureFlagBitsKHX global enums
5572 enum VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX = VkPeerMemoryFeatureFlagBitsKHX.VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX;
5573 enum VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX = VkPeerMemoryFeatureFlagBitsKHX.VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX;
5574 enum VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX = VkPeerMemoryFeatureFlagBitsKHX.VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX;
5575 enum VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX = VkPeerMemoryFeatureFlagBitsKHX.VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX;
5576 enum VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHX = VkPeerMemoryFeatureFlagBitsKHX.VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHX;
5577 alias VkPeerMemoryFeatureFlagsKHX = VkFlags;
5578 
5579 enum VkMemoryAllocateFlagBitsKHX {
5580 	VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX = 0x00000001,
5581 	VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF
5582 }
5583 
5584 // VkMemoryAllocateFlagBitsKHX global enums
5585 enum VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX = VkMemoryAllocateFlagBitsKHX.VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX;
5586 enum VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM_KHX = VkMemoryAllocateFlagBitsKHX.VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM_KHX;
5587 alias VkMemoryAllocateFlagsKHX = VkFlags;
5588 
5589 enum VkDeviceGroupPresentModeFlagBitsKHX {
5590 	VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX = 0x00000001,
5591 	VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX = 0x00000002,
5592 	VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX = 0x00000004,
5593 	VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX = 0x00000008,
5594 	VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF
5595 }
5596 
5597 // VkDeviceGroupPresentModeFlagBitsKHX global enums
5598 enum VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX = VkDeviceGroupPresentModeFlagBitsKHX.VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX;
5599 enum VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX = VkDeviceGroupPresentModeFlagBitsKHX.VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX;
5600 enum VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX = VkDeviceGroupPresentModeFlagBitsKHX.VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX;
5601 enum VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX = VkDeviceGroupPresentModeFlagBitsKHX.VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX;
5602 enum VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHX = VkDeviceGroupPresentModeFlagBitsKHX.VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHX;
5603 alias VkDeviceGroupPresentModeFlagsKHX = VkFlags;
5604 
5605 struct VkMemoryAllocateFlagsInfoKHX {
5606 	VkStructureType           sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHX;
5607 	const( void )*            pNext;
5608 	VkMemoryAllocateFlagsKHX  flags;
5609 	uint32_t                  deviceMask;
5610 }
5611 
5612 struct VkDeviceGroupRenderPassBeginInfoKHX {
5613 	VkStructureType     sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHX;
5614 	const( void )*      pNext;
5615 	uint32_t            deviceMask;
5616 	uint32_t            deviceRenderAreaCount;
5617 	const( VkRect2D )*  pDeviceRenderAreas;
5618 }
5619 
5620 struct VkDeviceGroupCommandBufferBeginInfoKHX {
5621 	VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHX;
5622 	const( void )*   pNext;
5623 	uint32_t         deviceMask;
5624 }
5625 
5626 struct VkDeviceGroupSubmitInfoKHX {
5627 	VkStructureType     sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHX;
5628 	const( void )*      pNext;
5629 	uint32_t            waitSemaphoreCount;
5630 	const( uint32_t )*  pWaitSemaphoreDeviceIndices;
5631 	uint32_t            commandBufferCount;
5632 	const( uint32_t )*  pCommandBufferDeviceMasks;
5633 	uint32_t            signalSemaphoreCount;
5634 	const( uint32_t )*  pSignalSemaphoreDeviceIndices;
5635 }
5636 
5637 struct VkDeviceGroupBindSparseInfoKHX {
5638 	VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHX;
5639 	const( void )*   pNext;
5640 	uint32_t         resourceDeviceIndex;
5641 	uint32_t         memoryDeviceIndex;
5642 }
5643 
5644 struct VkBindBufferMemoryDeviceGroupInfoKHX {
5645 	VkStructureType     sType = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHX;
5646 	const( void )*      pNext;
5647 	uint32_t            deviceIndexCount;
5648 	const( uint32_t )*  pDeviceIndices;
5649 }
5650 
5651 struct VkBindImageMemoryDeviceGroupInfoKHX {
5652 	VkStructureType     sType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHX;
5653 	const( void )*      pNext;
5654 	uint32_t            deviceIndexCount;
5655 	const( uint32_t )*  pDeviceIndices;
5656 	uint32_t            SFRRectCount;
5657 	const( VkRect2D )*  pSFRRects;
5658 }
5659 
5660 struct VkDeviceGroupPresentCapabilitiesKHX {
5661 	VkStructureType                           sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHX;
5662 	const( void )*                            pNext;
5663 	uint32_t[ VK_MAX_DEVICE_GROUP_SIZE_KHX ]  presentMask;
5664 	VkDeviceGroupPresentModeFlagsKHX          modes;
5665 }
5666 
5667 struct VkImageSwapchainCreateInfoKHX {
5668 	VkStructureType  sType = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHX;
5669 	const( void )*   pNext;
5670 	VkSwapchainKHR   swapchain;
5671 }
5672 
5673 struct VkBindImageMemorySwapchainInfoKHX {
5674 	VkStructureType  sType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHX;
5675 	const( void )*   pNext;
5676 	VkSwapchainKHR   swapchain;
5677 	uint32_t         imageIndex;
5678 }
5679 
5680 struct VkAcquireNextImageInfoKHX {
5681 	VkStructureType  sType = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHX;
5682 	const( void )*   pNext;
5683 	VkSwapchainKHR   swapchain;
5684 	uint64_t         timeout;
5685 	VkSemaphore      semaphore;
5686 	VkFence          fence;
5687 	uint32_t         deviceMask;
5688 }
5689 
5690 struct VkDeviceGroupPresentInfoKHX {
5691 	VkStructureType                      sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHX;
5692 	const( void )*                       pNext;
5693 	uint32_t                             swapchainCount;
5694 	const( uint32_t )*                   pDeviceMasks;
5695 	VkDeviceGroupPresentModeFlagBitsKHX  mode;
5696 }
5697 
5698 struct VkDeviceGroupSwapchainCreateInfoKHX {
5699 	VkStructureType                   sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHX;
5700 	const( void )*                    pNext;
5701 	VkDeviceGroupPresentModeFlagsKHX  modes;
5702 }
5703 
5704 // VK_EXT_validation_flags
5705 enum VK_EXT_VALIDATION_FLAGS_SPEC_VERSION = 1;
5706 enum VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME = "VK_EXT_validation_flags";
5707 
5708 
5709 enum VkValidationCheckEXT {
5710 	VK_VALIDATION_CHECK_ALL_EXT = 0,
5711 	VK_VALIDATION_CHECK_SHADERS_EXT = 1,
5712 	VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT,
5713 	VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_SHADERS_EXT,
5714 	VK_VALIDATION_CHECK_RANGE_SIZE_EXT = ( VK_VALIDATION_CHECK_SHADERS_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1 ),
5715 	VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
5716 }
5717 
5718 // VkValidationCheckEXT global enums
5719 enum VK_VALIDATION_CHECK_ALL_EXT = VkValidationCheckEXT.VK_VALIDATION_CHECK_ALL_EXT;
5720 enum VK_VALIDATION_CHECK_SHADERS_EXT = VkValidationCheckEXT.VK_VALIDATION_CHECK_SHADERS_EXT;
5721 enum VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VkValidationCheckEXT.VK_VALIDATION_CHECK_BEGIN_RANGE_EXT;
5722 enum VK_VALIDATION_CHECK_END_RANGE_EXT = VkValidationCheckEXT.VK_VALIDATION_CHECK_END_RANGE_EXT;
5723 enum VK_VALIDATION_CHECK_RANGE_SIZE_EXT = VkValidationCheckEXT.VK_VALIDATION_CHECK_RANGE_SIZE_EXT;
5724 enum VK_VALIDATION_CHECK_MAX_ENUM_EXT = VkValidationCheckEXT.VK_VALIDATION_CHECK_MAX_ENUM_EXT;
5725 
5726 struct VkValidationFlagsEXT {
5727 	VkStructureType        sType = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT;
5728 	const( void )*         pNext;
5729 	uint32_t               disabledValidationCheckCount;
5730 	VkValidationCheckEXT*  pDisabledValidationChecks;
5731 }
5732 
5733 // VK_NN_vi_surface
5734 enum VK_NN_VI_SURFACE_SPEC_VERSION = 1;
5735 enum VK_NN_VI_SURFACE_EXTENSION_NAME = "VK_NN_vi_surface";
5736 
5737 alias VkViSurfaceCreateFlagsNN = VkFlags;
5738 
5739 struct VkViSurfaceCreateInfoNN {
5740 	VkStructureType           sType = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN;
5741 	const( void )*            pNext;
5742 	VkViSurfaceCreateFlagsNN  flags;
5743 	void*                     window;
5744 }
5745 
5746 // VK_EXT_shader_subgroup_ballot
5747 enum VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION = 1;
5748 enum VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME = "VK_EXT_shader_subgroup_ballot";
5749 
5750 // VK_EXT_shader_subgroup_vote
5751 enum VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION = 1;
5752 enum VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME = "VK_EXT_shader_subgroup_vote";
5753 
5754 // VK_ARM_extension_01
5755 enum VK_ARM_EXTENSION_01_SPEC_VERSION = 0;
5756 enum VK_ARM_EXTENSION_01_EXTENSION_NAME = "VK_ARM_extension_01";
5757 
5758 // VK_ARM_extension_02
5759 enum VK_ARM_EXTENSION_02_SPEC_VERSION = 0;
5760 enum VK_ARM_EXTENSION_02_EXTENSION_NAME = "VK_ARM_extension_02";
5761 
5762 // VK_IMG_extension_69
5763 enum VK_IMG_EXTENSION_69_SPEC_VERSION = 0;
5764 enum VK_IMG_EXTENSION_69_EXTENSION_NAME = "VK_IMG_extension_69";
5765 
5766 // VK_KHX_device_group_creation
5767 enum VK_KHX_DEVICE_GROUP_CREATION_SPEC_VERSION = 1;
5768 enum VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME = "VK_KHX_device_group_creation";
5769 
5770 struct VkPhysicalDeviceGroupPropertiesKHX {
5771 	VkStructureType                                   sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHX;
5772 	void*                                             pNext;
5773 	uint32_t                                          physicalDeviceCount;
5774 	VkPhysicalDevice[ VK_MAX_DEVICE_GROUP_SIZE_KHX ]  physicalDevices;
5775 	VkBool32                                          subsetAllocation;
5776 }
5777 
5778 struct VkDeviceGroupDeviceCreateInfoKHX {
5779 	VkStructureType             sType = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHX;
5780 	const( void )*              pNext;
5781 	uint32_t                    physicalDeviceCount;
5782 	const( VkPhysicalDevice )*  pPhysicalDevices;
5783 }
5784 
5785 // VK_NVX_device_generated_commands
5786 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkObjectTableNVX} );
5787 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkIndirectCommandsLayoutNVX} );
5788 
5789 enum VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION = 3;
5790 enum VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME = "VK_NVX_device_generated_commands";
5791 
5792 
5793 enum VkIndirectCommandsTokenTypeNVX {
5794 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX = 0,
5795 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX = 1,
5796 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX = 2,
5797 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX = 3,
5798 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX = 4,
5799 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX = 5,
5800 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX = 6,
5801 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX = 7,
5802 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,
5803 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX,
5804 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = ( VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX + 1 ),
5805 	VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
5806 }
5807 
5808 // VkIndirectCommandsTokenTypeNVX global enums
5809 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX;
5810 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX;
5811 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX;
5812 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX;
5813 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX;
5814 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX;
5815 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX;
5816 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX;
5817 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX;
5818 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX;
5819 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX;
5820 enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = VkIndirectCommandsTokenTypeNVX.VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX;
5821 
5822 enum VkObjectEntryTypeNVX {
5823 	VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX = 0,
5824 	VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = 1,
5825 	VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX = 2,
5826 	VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX = 3,
5827 	VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX = 4,
5828 	VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,
5829 	VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX,
5830 	VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = ( VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX + 1 ),
5831 	VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
5832 }
5833 
5834 // VkObjectEntryTypeNVX global enums
5835 enum VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX;
5836 enum VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX;
5837 enum VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX;
5838 enum VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX;
5839 enum VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX;
5840 enum VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX;
5841 enum VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX;
5842 enum VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX;
5843 enum VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = VkObjectEntryTypeNVX.VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX;
5844 
5845 
5846 enum VkIndirectCommandsLayoutUsageFlagBitsNVX {
5847 	VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001,
5848 	VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002,
5849 	VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004,
5850 	VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008,
5851 	VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
5852 }
5853 
5854 // VkIndirectCommandsLayoutUsageFlagBitsNVX global enums
5855 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = VkIndirectCommandsLayoutUsageFlagBitsNVX.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX;
5856 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = VkIndirectCommandsLayoutUsageFlagBitsNVX.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX;
5857 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = VkIndirectCommandsLayoutUsageFlagBitsNVX.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX;
5858 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = VkIndirectCommandsLayoutUsageFlagBitsNVX.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX;
5859 enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = VkIndirectCommandsLayoutUsageFlagBitsNVX.VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX;
5860 alias VkIndirectCommandsLayoutUsageFlagsNVX = VkFlags;
5861 
5862 enum VkObjectEntryUsageFlagBitsNVX {
5863 	VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001,
5864 	VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002,
5865 	VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
5866 }
5867 
5868 // VkObjectEntryUsageFlagBitsNVX global enums
5869 enum VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = VkObjectEntryUsageFlagBitsNVX.VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX;
5870 enum VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = VkObjectEntryUsageFlagBitsNVX.VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX;
5871 enum VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = VkObjectEntryUsageFlagBitsNVX.VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX;
5872 alias VkObjectEntryUsageFlagsNVX = VkFlags;
5873 
5874 struct VkDeviceGeneratedCommandsFeaturesNVX {
5875 	VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX;
5876 	const( void )*   pNext;
5877 	VkBool32         computeBindingPointSupport;
5878 }
5879 
5880 struct VkDeviceGeneratedCommandsLimitsNVX {
5881 	VkStructureType  sType = VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX;
5882 	const( void )*   pNext;
5883 	uint32_t         maxIndirectCommandsLayoutTokenCount;
5884 	uint32_t         maxObjectEntryCounts;
5885 	uint32_t         minSequenceCountBufferOffsetAlignment;
5886 	uint32_t         minSequenceIndexBufferOffsetAlignment;
5887 	uint32_t         minCommandsTokenBufferOffsetAlignment;
5888 }
5889 
5890 struct VkIndirectCommandsTokenNVX {
5891 	VkIndirectCommandsTokenTypeNVX  tokenType;
5892 	VkBuffer                        buffer;
5893 	VkDeviceSize                    offset;
5894 }
5895 
5896 struct VkIndirectCommandsLayoutTokenNVX {
5897 	VkIndirectCommandsTokenTypeNVX  tokenType;
5898 	uint32_t                        bindingUnit;
5899 	uint32_t                        dynamicCount;
5900 	uint32_t                        divisor;
5901 }
5902 
5903 struct VkIndirectCommandsLayoutCreateInfoNVX {
5904 	VkStructureType                             sType = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX;
5905 	const( void )*                              pNext;
5906 	VkPipelineBindPoint                         pipelineBindPoint;
5907 	VkIndirectCommandsLayoutUsageFlagsNVX       flags;
5908 	uint32_t                                    tokenCount;
5909 	const( VkIndirectCommandsLayoutTokenNVX )*  pTokens;
5910 }
5911 
5912 struct VkCmdProcessCommandsInfoNVX {
5913 	VkStructureType                       sType = VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX;
5914 	const( void )*                        pNext;
5915 	VkObjectTableNVX                      objectTable;
5916 	VkIndirectCommandsLayoutNVX           indirectCommandsLayout;
5917 	uint32_t                              indirectCommandsTokenCount;
5918 	const( VkIndirectCommandsTokenNVX )*  pIndirectCommandsTokens;
5919 	uint32_t                              maxSequencesCount;
5920 	VkCommandBuffer                       targetCommandBuffer;
5921 	VkBuffer                              sequencesCountBuffer;
5922 	VkDeviceSize                          sequencesCountOffset;
5923 	VkBuffer                              sequencesIndexBuffer;
5924 	VkDeviceSize                          sequencesIndexOffset;
5925 }
5926 
5927 struct VkCmdReserveSpaceForCommandsInfoNVX {
5928 	VkStructureType              sType = VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX;
5929 	const( void )*               pNext;
5930 	VkObjectTableNVX             objectTable;
5931 	VkIndirectCommandsLayoutNVX  indirectCommandsLayout;
5932 	uint32_t                     maxSequencesCount;
5933 }
5934 
5935 struct VkObjectTableCreateInfoNVX {
5936 	VkStructureType                       sType = VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX;
5937 	const( void )*                        pNext;
5938 	uint32_t                              objectCount;
5939 	const( VkObjectEntryTypeNVX )*        pObjectEntryTypes;
5940 	const( uint32_t )*                    pObjectEntryCounts;
5941 	const( VkObjectEntryUsageFlagsNVX )*  pObjectEntryUsageFlags;
5942 	uint32_t                              maxUniformBuffersPerDescriptor;
5943 	uint32_t                              maxStorageBuffersPerDescriptor;
5944 	uint32_t                              maxStorageImagesPerDescriptor;
5945 	uint32_t                              maxSampledImagesPerDescriptor;
5946 	uint32_t                              maxPipelineLayouts;
5947 }
5948 
5949 struct VkObjectTableEntryNVX {
5950 	VkObjectEntryTypeNVX        type;
5951 	VkObjectEntryUsageFlagsNVX  flags;
5952 }
5953 
5954 struct VkObjectTablePipelineEntryNVX {
5955 	VkObjectEntryTypeNVX        type;
5956 	VkObjectEntryUsageFlagsNVX  flags;
5957 	VkPipeline                  pipeline;
5958 }
5959 
5960 struct VkObjectTableDescriptorSetEntryNVX {
5961 	VkObjectEntryTypeNVX        type;
5962 	VkObjectEntryUsageFlagsNVX  flags;
5963 	VkPipelineLayout            pipelineLayout;
5964 	VkDescriptorSet             descriptorSet;
5965 }
5966 
5967 struct VkObjectTableVertexBufferEntryNVX {
5968 	VkObjectEntryTypeNVX        type;
5969 	VkObjectEntryUsageFlagsNVX  flags;
5970 	VkBuffer                    buffer;
5971 }
5972 
5973 struct VkObjectTableIndexBufferEntryNVX {
5974 	VkObjectEntryTypeNVX        type;
5975 	VkObjectEntryUsageFlagsNVX  flags;
5976 	VkBuffer                    buffer;
5977 	VkIndexType                 indexType;
5978 }
5979 
5980 struct VkObjectTablePushConstantEntryNVX {
5981 	VkObjectEntryTypeNVX        type;
5982 	VkObjectEntryUsageFlagsNVX  flags;
5983 	VkPipelineLayout            pipelineLayout;
5984 	VkShaderStageFlags          stageFlags;
5985 }
5986 
5987 // VK_NV_clip_space_w_scaling
5988 enum VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION = 1;
5989 enum VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME = "VK_NV_clip_space_w_scaling";
5990 
5991 struct VkViewportWScalingNV {
5992 	float  xcoeff;
5993 	float  ycoeff;
5994 }
5995 
5996 struct VkPipelineViewportWScalingStateCreateInfoNV {
5997 	VkStructureType                 sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV;
5998 	const( void )*                  pNext;
5999 	VkBool32                        viewportWScalingEnable;
6000 	uint32_t                        viewportCount;
6001 	const( VkViewportWScalingNV )*  pViewportWScalings;
6002 }
6003 
6004 // VK_EXT_direct_mode_display
6005 enum VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION = 1;
6006 enum VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME = "VK_EXT_direct_mode_display";
6007 
6008 // VK_EXT_acquire_xlib_display
6009 version( VK_USE_PLATFORM_XLIB_KHR ) {
6010 	
6011 	enum VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION = 1;
6012 	enum VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_xlib_display";
6013 }
6014 
6015 // VK_EXT_display_surface_counter
6016 enum VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION = 1;
6017 enum VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME = "VK_EXT_display_surface_counter";
6018 enum VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
6019 
6020 
6021 enum VkSurfaceCounterFlagBitsEXT {
6022 	VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,
6023 	VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
6024 }
6025 
6026 // VkSurfaceCounterFlagBitsEXT global enums
6027 enum VK_SURFACE_COUNTER_VBLANK_EXT = VkSurfaceCounterFlagBitsEXT.VK_SURFACE_COUNTER_VBLANK_EXT;
6028 enum VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = VkSurfaceCounterFlagBitsEXT.VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT;
6029 alias VkSurfaceCounterFlagsEXT = VkFlags;
6030 
6031 struct VkSurfaceCapabilities2EXT {
6032 	VkStructureType                sType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
6033 	void*                          pNext;
6034 	uint32_t                       minImageCount;
6035 	uint32_t                       maxImageCount;
6036 	VkExtent2D                     currentExtent;
6037 	VkExtent2D                     minImageExtent;
6038 	VkExtent2D                     maxImageExtent;
6039 	uint32_t                       maxImageArrayLayers;
6040 	VkSurfaceTransformFlagsKHR     supportedTransforms;
6041 	VkSurfaceTransformFlagBitsKHR  currentTransform;
6042 	VkCompositeAlphaFlagsKHR       supportedCompositeAlpha;
6043 	VkImageUsageFlags              supportedUsageFlags;
6044 	VkSurfaceCounterFlagsEXT       supportedSurfaceCounters;
6045 }
6046 
6047 // VK_EXT_display_control
6048 enum VK_EXT_DISPLAY_CONTROL_SPEC_VERSION = 1;
6049 enum VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME = "VK_EXT_display_control";
6050 
6051 
6052 enum VkDisplayPowerStateEXT {
6053 	VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
6054 	VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
6055 	VK_DISPLAY_POWER_STATE_ON_EXT = 2,
6056 	VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT,
6057 	VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT,
6058 	VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = ( VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1 ),
6059 	VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
6060 }
6061 
6062 // VkDisplayPowerStateEXT global enums
6063 enum VK_DISPLAY_POWER_STATE_OFF_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_OFF_EXT;
6064 enum VK_DISPLAY_POWER_STATE_SUSPEND_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_SUSPEND_EXT;
6065 enum VK_DISPLAY_POWER_STATE_ON_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_ON_EXT;
6066 enum VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT;
6067 enum VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_END_RANGE_EXT;
6068 enum VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT;
6069 enum VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = VkDisplayPowerStateEXT.VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT;
6070 
6071 enum VkDeviceEventTypeEXT {
6072 	VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
6073 	VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
6074 	VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
6075 	VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = ( VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1 ),
6076 	VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
6077 }
6078 
6079 // VkDeviceEventTypeEXT global enums
6080 enum VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT;
6081 enum VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT;
6082 enum VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_END_RANGE_EXT;
6083 enum VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT;
6084 enum VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = VkDeviceEventTypeEXT.VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT;
6085 
6086 enum VkDisplayEventTypeEXT {
6087 	VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
6088 	VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
6089 	VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
6090 	VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = ( VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1 ),
6091 	VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
6092 }
6093 
6094 // VkDisplayEventTypeEXT global enums
6095 enum VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT;
6096 enum VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT;
6097 enum VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT;
6098 enum VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT;
6099 enum VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = VkDisplayEventTypeEXT.VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT;
6100 
6101 struct VkDisplayPowerInfoEXT {
6102 	VkStructureType         sType = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT;
6103 	const( void )*          pNext;
6104 	VkDisplayPowerStateEXT  powerState;
6105 }
6106 
6107 struct VkDeviceEventInfoEXT {
6108 	VkStructureType       sType = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT;
6109 	const( void )*        pNext;
6110 	VkDeviceEventTypeEXT  deviceEvent;
6111 }
6112 
6113 struct VkDisplayEventInfoEXT {
6114 	VkStructureType        sType = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT;
6115 	const( void )*         pNext;
6116 	VkDisplayEventTypeEXT  displayEvent;
6117 }
6118 
6119 struct VkSwapchainCounterCreateInfoEXT {
6120 	VkStructureType           sType = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT;
6121 	const( void )*            pNext;
6122 	VkSurfaceCounterFlagsEXT  surfaceCounters;
6123 }
6124 
6125 // VK_GOOGLE_display_timing
6126 enum VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION = 1;
6127 enum VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME = "VK_GOOGLE_display_timing";
6128 
6129 struct VkRefreshCycleDurationGOOGLE {
6130 	uint64_t  refreshDuration;
6131 }
6132 
6133 struct VkPastPresentationTimingGOOGLE {
6134 	uint32_t  presentID;
6135 	uint64_t  desiredPresentTime;
6136 	uint64_t  actualPresentTime;
6137 	uint64_t  earliestPresentTime;
6138 	uint64_t  presentMargin;
6139 }
6140 
6141 struct VkPresentTimeGOOGLE {
6142 	uint32_t  presentID;
6143 	uint64_t  desiredPresentTime;
6144 }
6145 
6146 struct VkPresentTimesInfoGOOGLE {
6147 	VkStructureType                sType = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE;
6148 	const( void )*                 pNext;
6149 	uint32_t                       swapchainCount;
6150 	const( VkPresentTimeGOOGLE )*  pTimes;
6151 }
6152 
6153 // VK_NV_sample_mask_override_coverage
6154 enum VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION = 1;
6155 enum VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME = "VK_NV_sample_mask_override_coverage";
6156 
6157 // VK_NV_geometry_shader_passthrough
6158 enum VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION = 1;
6159 enum VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_passthrough";
6160 
6161 // VK_NV_viewport_array2
6162 enum VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1;
6163 enum VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2";
6164 
6165 // VK_NVX_multiview_per_view_attributes
6166 enum VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION = 1;
6167 enum VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME = "VK_NVX_multiview_per_view_attributes";
6168 
6169 struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
6170 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX;
6171 	void*            pNext;
6172 	VkBool32         perViewPositionAllComponents;
6173 }
6174 
6175 // VK_NV_viewport_swizzle
6176 enum VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION = 1;
6177 enum VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME = "VK_NV_viewport_swizzle";
6178 
6179 
6180 enum VkViewportCoordinateSwizzleNV {
6181 	VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
6182 	VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
6183 	VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
6184 	VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
6185 	VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
6186 	VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
6187 	VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
6188 	VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
6189 	VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
6190 	VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV,
6191 	VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = ( VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1 ),
6192 	VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
6193 }
6194 
6195 // VkViewportCoordinateSwizzleNV global enums
6196 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV;
6197 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV;
6198 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV;
6199 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV;
6200 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV;
6201 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV;
6202 enum VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV;
6203 enum VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV;
6204 enum VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV;
6205 enum VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV;
6206 enum VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV;
6207 enum VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = VkViewportCoordinateSwizzleNV.VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV;
6208 
6209 alias VkPipelineViewportSwizzleStateCreateFlagsNV = VkFlags;
6210 
6211 struct VkViewportSwizzleNV {
6212 	VkViewportCoordinateSwizzleNV  x;
6213 	VkViewportCoordinateSwizzleNV  y;
6214 	VkViewportCoordinateSwizzleNV  z;
6215 	VkViewportCoordinateSwizzleNV  w;
6216 }
6217 
6218 struct VkPipelineViewportSwizzleStateCreateInfoNV {
6219 	VkStructureType                              sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV;
6220 	const( void )*                               pNext;
6221 	VkPipelineViewportSwizzleStateCreateFlagsNV  flags;
6222 	uint32_t                                     viewportCount;
6223 	const( VkViewportSwizzleNV )*                pViewportSwizzles;
6224 }
6225 
6226 // VK_EXT_discard_rectangles
6227 enum VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION = 1;
6228 enum VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME = "VK_EXT_discard_rectangles";
6229 
6230 
6231 enum VkDiscardRectangleModeEXT {
6232 	VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
6233 	VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
6234 	VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
6235 	VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT,
6236 	VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = ( VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT + 1 ),
6237 	VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
6238 }
6239 
6240 // VkDiscardRectangleModeEXT global enums
6241 enum VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT;
6242 enum VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT;
6243 enum VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT;
6244 enum VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT;
6245 enum VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT;
6246 enum VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = VkDiscardRectangleModeEXT.VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT;
6247 
6248 alias VkPipelineDiscardRectangleStateCreateFlagsEXT = VkFlags;
6249 
6250 struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
6251 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT;
6252 	void*            pNext;
6253 	uint32_t         maxDiscardRectangles;
6254 }
6255 
6256 struct VkPipelineDiscardRectangleStateCreateInfoEXT {
6257 	VkStructureType                                sType = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT;
6258 	const( void )*                                 pNext;
6259 	VkPipelineDiscardRectangleStateCreateFlagsEXT  flags;
6260 	VkDiscardRectangleModeEXT                      discardRectangleMode;
6261 	uint32_t                                       discardRectangleCount;
6262 	const( VkRect2D )*                             pDiscardRectangles;
6263 }
6264 
6265 // VK_NV_extension_101
6266 enum VK_NV_EXTENSION_101_SPEC_VERSION = 0;
6267 enum VK_NV_EXTENSION_101_EXTENSION_NAME = "VK_NV_extension_101";
6268 
6269 // VK_NV_extension_102
6270 enum VK_NV_EXTENSION_102_SPEC_VERSION = 0;
6271 enum VK_NV_EXTENSION_102_EXTENSION_NAME = "VK_NV_extension_102";
6272 
6273 // VK_NV_extension_103
6274 enum VK_NV_EXTENSION_103_SPEC_VERSION = 0;
6275 enum VK_NV_EXTENSION_103_EXTENSION_NAME = "VK_NV_extension_103";
6276 
6277 // VK_NV_extension_104
6278 enum VK_NV_EXTENSION_104_SPEC_VERSION = 0;
6279 enum VK_NV_EXTENSION_104_EXTENSION_NAME = "VK_NV_extension_104";
6280 
6281 // VK_EXT_swapchain_colorspace
6282 enum VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION = 3;
6283 enum VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME = "VK_EXT_swapchain_colorspace";
6284 
6285 // VK_EXT_hdr_metadata
6286 enum VK_EXT_HDR_METADATA_SPEC_VERSION = 1;
6287 enum VK_EXT_HDR_METADATA_EXTENSION_NAME = "VK_EXT_hdr_metadata";
6288 
6289 struct VkXYColorEXT {
6290 	float  x;
6291 	float  y;
6292 }
6293 
6294 struct VkHdrMetadataEXT {
6295 	VkStructureType  sType = VK_STRUCTURE_TYPE_HDR_METADATA_EXT;
6296 	const( void )*   pNext;
6297 	VkXYColorEXT     displayPrimaryRed;
6298 	VkXYColorEXT     displayPrimaryGreen;
6299 	VkXYColorEXT     displayPrimaryBlue;
6300 	VkXYColorEXT     whitePoint;
6301 	float            maxLuminance;
6302 	float            minLuminance;
6303 	float            maxContentLightLevel;
6304 	float            maxFrameAverageLightLevel;
6305 }
6306 
6307 // VK_IMG_extension_107
6308 enum VK_IMG_EXTENSION_107_SPEC_VERSION = 0;
6309 enum VK_IMG_EXTENSION_107_EXTENSION_NAME = "VK_IMG_extension_107";
6310 
6311 // VK_IMG_extension_108
6312 enum VK_IMG_EXTENSION_108_SPEC_VERSION = 0;
6313 enum VK_IMG_EXTENSION_108_EXTENSION_NAME = "VK_IMG_extension_108";
6314 
6315 // VK_IMG_extension_109
6316 enum VK_IMG_EXTENSION_109_SPEC_VERSION = 0;
6317 enum VK_IMG_EXTENSION_109_EXTENSION_NAME = "VK_IMG_extension_109";
6318 
6319 // VK_IMG_extension_110
6320 enum VK_IMG_EXTENSION_110_SPEC_VERSION = 0;
6321 enum VK_IMG_EXTENSION_110_EXTENSION_NAME = "VK_IMG_extension_110";
6322 
6323 // VK_IMG_extension_111
6324 enum VK_IMG_EXTENSION_111_SPEC_VERSION = 0;
6325 enum VK_IMG_EXTENSION_111_EXTENSION_NAME = "VK_IMG_extension_111";
6326 
6327 // VK_MVK_ios_surface
6328 enum VK_MVK_IOS_SURFACE_SPEC_VERSION = 2;
6329 enum VK_MVK_IOS_SURFACE_EXTENSION_NAME = "VK_MVK_ios_surface";
6330 
6331 alias VkIOSSurfaceCreateFlagsMVK = VkFlags;
6332 
6333 struct VkIOSSurfaceCreateInfoMVK {
6334 	VkStructureType             sType = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK;
6335 	const( void )*              pNext;
6336 	VkIOSSurfaceCreateFlagsMVK  flags;
6337 	const( void )*              pView;
6338 }
6339 
6340 // VK_MVK_macos_surface
6341 enum VK_MVK_MACOS_SURFACE_SPEC_VERSION = 2;
6342 enum VK_MVK_MACOS_SURFACE_EXTENSION_NAME = "VK_MVK_macos_surface";
6343 
6344 alias VkMacOSSurfaceCreateFlagsMVK = VkFlags;
6345 
6346 struct VkMacOSSurfaceCreateInfoMVK {
6347 	VkStructureType               sType = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK;
6348 	const( void )*                pNext;
6349 	VkMacOSSurfaceCreateFlagsMVK  flags;
6350 	const( void )*                pView;
6351 }
6352 
6353 // VK_MVK_moltenvk
6354 enum VK_MVK_MOLTENVK_SPEC_VERSION = 0;
6355 enum VK_MVK_MOLTENVK_EXTENSION_NAME = "VK_MVK_moltenvk";
6356 
6357 // VK_MESA_extension_126
6358 enum VK_MESA_EXTENSION_126_SPEC_VERSION = 0;
6359 enum VK_MESA_EXTENSION_126_EXTENSION_NAME = "VK_MESA_extension_126";
6360 
6361 // VK_MESA_extension_127
6362 enum VK_MESA_EXTENSION_127_SPEC_VERSION = 0;
6363 enum VK_MESA_EXTENSION_127_EXTENSION_NAME = "VK_MESA_extension_127";
6364 
6365 // VK_EXT_extension_129
6366 enum VK_KHR_EXTENSION_129_SPEC_VERSION = 0;
6367 enum VK_KHR_EXTENSION_129_EXTENSION_NAME = "VK_EXT_extension_129";
6368 
6369 // VK_EXT_sampler_filter_minmax
6370 enum VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION = 1;
6371 enum VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME = "VK_EXT_sampler_filter_minmax";
6372 
6373 
6374 enum VkSamplerReductionModeEXT {
6375 	VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = 0,
6376 	VK_SAMPLER_REDUCTION_MODE_MIN_EXT = 1,
6377 	VK_SAMPLER_REDUCTION_MODE_MAX_EXT = 2,
6378 	VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT,
6379 	VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_MAX_EXT,
6380 	VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT = ( VK_SAMPLER_REDUCTION_MODE_MAX_EXT - VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT + 1 ),
6381 	VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
6382 }
6383 
6384 // VkSamplerReductionModeEXT global enums
6385 enum VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT;
6386 enum VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_MIN_EXT;
6387 enum VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_MAX_EXT;
6388 enum VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT;
6389 enum VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT;
6390 enum VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT;
6391 enum VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT = VkSamplerReductionModeEXT.VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT;
6392 
6393 struct VkSamplerReductionModeCreateInfoEXT {
6394 	VkStructureType            sType = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT;
6395 	const( void )*             pNext;
6396 	VkSamplerReductionModeEXT  reductionMode;
6397 }
6398 
6399 struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
6400 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT;
6401 	void*            pNext;
6402 	VkBool32         filterMinmaxSingleComponentFormats;
6403 	VkBool32         filterMinmaxImageComponentMapping;
6404 }
6405 
6406 // VK_AMD_gpu_shader_int16
6407 enum VK_AMD_GPU_SHADER_INT16_SPEC_VERSION = 1;
6408 enum VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME = "VK_AMD_gpu_shader_int16";
6409 
6410 // VK_AMD_extension_134
6411 enum VK_AMD_EXTENSION_134_SPEC_VERSION = 0;
6412 enum VK_AMD_EXTENSION_134_EXTENSION_NAME = "VK_AMD_extension_134";
6413 
6414 // VK_AMD_extension_135
6415 enum VK_AMD_EXTENSION_135_SPEC_VERSION = 0;
6416 enum VK_AMD_EXTENSION_135_EXTENSION_NAME = "VK_AMD_extension_135";
6417 
6418 // VK_AMD_extension_136
6419 enum VK_AMD_EXTENSION_136_SPEC_VERSION = 0;
6420 enum VK_AMD_EXTENSION_136_EXTENSION_NAME = "VK_AMD_extension_136";
6421 
6422 // VK_AMD_mixed_attachment_samples
6423 enum VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION = 1;
6424 enum VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME = "VK_AMD_mixed_attachment_samples";
6425 
6426 // VK_AMD_shader_fragment_mask
6427 enum VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION = 1;
6428 enum VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME = "VK_AMD_shader_fragment_mask";
6429 
6430 // VK_AMD_extension_139
6431 enum VK_AMD_EXTENSION_139_SPEC_VERSION = 0;
6432 enum VK_AMD_EXTENSION_139_EXTENSION_NAME = "VK_AMD_extension_139";
6433 
6434 // VK_AMD_extension_140
6435 enum VK_AMD_EXTENSION_140_SPEC_VERSION = 0;
6436 enum VK_AMD_EXTENSION_140_EXTENSION_NAME = "VK_AMD_extension_140";
6437 
6438 // VK_EXT_shader_stencil_export
6439 enum VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION = 1;
6440 enum VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME = "VK_EXT_shader_stencil_export";
6441 
6442 // VK_AMD_extension_142
6443 enum VK_AMD_EXTENSION_142_SPEC_VERSION = 0;
6444 enum VK_AMD_EXTENSION_142_EXTENSION_NAME = "VK_AMD_extension_142";
6445 
6446 // VK_AMD_extension_143
6447 enum VK_AMD_EXTENSION_143_SPEC_VERSION = 0;
6448 enum VK_AMD_EXTENSION_143_EXTENSION_NAME = "VK_AMD_extension_143";
6449 
6450 // VK_EXT_sample_locations
6451 enum VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION = 1;
6452 enum VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME = "VK_EXT_sample_locations";
6453 
6454 struct VkSampleLocationEXT {
6455 	float  x;
6456 	float  y;
6457 }
6458 
6459 struct VkSampleLocationsInfoEXT {
6460 	VkStructureType                sType = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT;
6461 	const( void )*                 pNext;
6462 	VkSampleCountFlagBits          sampleLocationsPerPixel;
6463 	VkExtent2D                     sampleLocationGridSize;
6464 	uint32_t                       sampleLocationsCount;
6465 	const( VkSampleLocationEXT )*  pSampleLocations;
6466 }
6467 
6468 struct VkAttachmentSampleLocationsEXT {
6469 	uint32_t                  attachmentIndex;
6470 	VkSampleLocationsInfoEXT  sampleLocationsInfo;
6471 }
6472 
6473 struct VkSubpassSampleLocationsEXT {
6474 	uint32_t                  subpassIndex;
6475 	VkSampleLocationsInfoEXT  sampleLocationsInfo;
6476 }
6477 
6478 struct VkRenderPassSampleLocationsBeginInfoEXT {
6479 	VkStructureType                           sType = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT;
6480 	const( void )*                            pNext;
6481 	uint32_t                                  attachmentInitialSampleLocationsCount;
6482 	const( VkAttachmentSampleLocationsEXT )*  pAttachmentInitialSampleLocations;
6483 	uint32_t                                  postSubpassSampleLocationsCount;
6484 	const( VkSubpassSampleLocationsEXT )*     pPostSubpassSampleLocations;
6485 }
6486 
6487 struct VkPipelineSampleLocationsStateCreateInfoEXT {
6488 	VkStructureType           sType = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT;
6489 	const( void )*            pNext;
6490 	VkBool32                  sampleLocationsEnable;
6491 	VkSampleLocationsInfoEXT  sampleLocationsInfo;
6492 }
6493 
6494 struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
6495 	VkStructureType     sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT;
6496 	void*               pNext;
6497 	VkSampleCountFlags  sampleLocationSampleCounts;
6498 	VkExtent2D          maxSampleLocationGridSize;
6499 	float[2]            sampleLocationCoordinateRange;
6500 	uint32_t            sampleLocationSubPixelBits;
6501 	VkBool32            variableSampleLocations;
6502 }
6503 
6504 struct VkMultisamplePropertiesEXT {
6505 	VkStructureType  sType = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT;
6506 	void*            pNext;
6507 	VkExtent2D       maxSampleLocationGridSize;
6508 }
6509 
6510 // VK_EXT_blend_operation_advanced
6511 enum VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION = 2;
6512 enum VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME = "VK_EXT_blend_operation_advanced";
6513 
6514 
6515 enum VkBlendOverlapEXT {
6516 	VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
6517 	VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
6518 	VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
6519 	VK_BLEND_OVERLAP_BEGIN_RANGE_EXT = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
6520 	VK_BLEND_OVERLAP_END_RANGE_EXT = VK_BLEND_OVERLAP_CONJOINT_EXT,
6521 	VK_BLEND_OVERLAP_RANGE_SIZE_EXT = ( VK_BLEND_OVERLAP_CONJOINT_EXT - VK_BLEND_OVERLAP_UNCORRELATED_EXT + 1 ),
6522 	VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
6523 }
6524 
6525 // VkBlendOverlapEXT global enums
6526 enum VK_BLEND_OVERLAP_UNCORRELATED_EXT = VkBlendOverlapEXT.VK_BLEND_OVERLAP_UNCORRELATED_EXT;
6527 enum VK_BLEND_OVERLAP_DISJOINT_EXT = VkBlendOverlapEXT.VK_BLEND_OVERLAP_DISJOINT_EXT;
6528 enum VK_BLEND_OVERLAP_CONJOINT_EXT = VkBlendOverlapEXT.VK_BLEND_OVERLAP_CONJOINT_EXT;
6529 enum VK_BLEND_OVERLAP_BEGIN_RANGE_EXT = VkBlendOverlapEXT.VK_BLEND_OVERLAP_BEGIN_RANGE_EXT;
6530 enum VK_BLEND_OVERLAP_END_RANGE_EXT = VkBlendOverlapEXT.VK_BLEND_OVERLAP_END_RANGE_EXT;
6531 enum VK_BLEND_OVERLAP_RANGE_SIZE_EXT = VkBlendOverlapEXT.VK_BLEND_OVERLAP_RANGE_SIZE_EXT;
6532 enum VK_BLEND_OVERLAP_MAX_ENUM_EXT = VkBlendOverlapEXT.VK_BLEND_OVERLAP_MAX_ENUM_EXT;
6533 
6534 struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
6535 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT;
6536 	void*            pNext;
6537 	VkBool32         advancedBlendCoherentOperations;
6538 }
6539 
6540 struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
6541 	VkStructureType  sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT;
6542 	void*            pNext;
6543 	uint32_t         advancedBlendMaxColorAttachments;
6544 	VkBool32         advancedBlendIndependentBlend;
6545 	VkBool32         advancedBlendNonPremultipliedSrcColor;
6546 	VkBool32         advancedBlendNonPremultipliedDstColor;
6547 	VkBool32         advancedBlendCorrelatedOverlap;
6548 	VkBool32         advancedBlendAllOperations;
6549 }
6550 
6551 struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
6552 	VkStructureType    sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT;
6553 	const( void )*     pNext;
6554 	VkBool32           srcPremultiplied;
6555 	VkBool32           dstPremultiplied;
6556 	VkBlendOverlapEXT  blendOverlap;
6557 }
6558 
6559 // VK_NV_fragment_coverage_to_color
6560 enum VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION = 1;
6561 enum VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME = "VK_NV_fragment_coverage_to_color";
6562 
6563 alias VkPipelineCoverageToColorStateCreateFlagsNV = VkFlags;
6564 
6565 struct VkPipelineCoverageToColorStateCreateInfoNV {
6566 	VkStructureType                              sType = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV;
6567 	const( void )*                               pNext;
6568 	VkPipelineCoverageToColorStateCreateFlagsNV  flags;
6569 	VkBool32                                     coverageToColorEnable;
6570 	uint32_t                                     coverageToColorLocation;
6571 }
6572 
6573 // VK_NV_extension_151
6574 enum VK_NV_EXTENSION_151_SPEC_VERSION = 0;
6575 enum VK_NV_EXTENSION_151_EXTENSION_NAME = "VK_NV_extension_151";
6576 
6577 // VK_NV_extension_152
6578 enum VK_NV_EXTENSION_152_SPEC_VERSION = 0;
6579 enum VK_NV_EXTENSION_152_EXTENSION_NAME = "VK_NV_extension_152";
6580 
6581 // VK_NV_framebuffer_mixed_samples
6582 enum VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION = 1;
6583 enum VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME = "VK_NV_framebuffer_mixed_samples";
6584 
6585 
6586 enum VkCoverageModulationModeNV {
6587 	VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
6588 	VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
6589 	VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
6590 	VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
6591 	VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_MODULATION_MODE_NONE_NV,
6592 	VK_COVERAGE_MODULATION_MODE_END_RANGE_NV = VK_COVERAGE_MODULATION_MODE_RGBA_NV,
6593 	VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV = ( VK_COVERAGE_MODULATION_MODE_RGBA_NV - VK_COVERAGE_MODULATION_MODE_NONE_NV + 1 ),
6594 	VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
6595 }
6596 
6597 // VkCoverageModulationModeNV global enums
6598 enum VK_COVERAGE_MODULATION_MODE_NONE_NV = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_NONE_NV;
6599 enum VK_COVERAGE_MODULATION_MODE_RGB_NV = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_RGB_NV;
6600 enum VK_COVERAGE_MODULATION_MODE_ALPHA_NV = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_ALPHA_NV;
6601 enum VK_COVERAGE_MODULATION_MODE_RGBA_NV = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_RGBA_NV;
6602 enum VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV;
6603 enum VK_COVERAGE_MODULATION_MODE_END_RANGE_NV = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_END_RANGE_NV;
6604 enum VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV;
6605 enum VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = VkCoverageModulationModeNV.VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV;
6606 
6607 alias VkPipelineCoverageModulationStateCreateFlagsNV = VkFlags;
6608 
6609 struct VkPipelineCoverageModulationStateCreateInfoNV {
6610 	VkStructureType                                 sType = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV;
6611 	const( void )*                                  pNext;
6612 	VkPipelineCoverageModulationStateCreateFlagsNV  flags;
6613 	VkCoverageModulationModeNV                      coverageModulationMode;
6614 	VkBool32                                        coverageModulationTableEnable;
6615 	uint32_t                                        coverageModulationTableCount;
6616 	const( float )*                                 pCoverageModulationTable;
6617 }
6618 
6619 // VK_NV_fill_rectangle
6620 enum VK_NV_FILL_RECTANGLE_SPEC_VERSION = 1;
6621 enum VK_NV_FILL_RECTANGLE_EXTENSION_NAME = "VK_NV_fill_rectangle";
6622 
6623 // VK_NV_extension_155
6624 enum VK_NV_EXTENSION_155_SPEC_VERSION = 0;
6625 enum VK_NV_EXTENSION_155_EXTENSION_NAME = "VK_NV_extension_155";
6626 
6627 // VK_EXT_post_depth_coverage
6628 enum VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION = 1;
6629 enum VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage";
6630 
6631 // VK_EXT_extension_159
6632 enum VK_EXT_EXTENSION_159_SPEC_VERSION = 0;
6633 enum VK_EXT_EXTENSION_159_EXTENSION_NAME = "VK_EXT_extension_159";
6634 
6635 // VK_EXT_extension_160
6636 enum VK_EXT_EXTENSION_160_SPEC_VERSION = 0;
6637 enum VK_EXT_EXTENSION_160_EXTENSION_NAME = "VK_EXT_extension_160";
6638 
6639 // VK_EXT_validation_cache
6640 mixin( VK_DEFINE_NON_DISPATCHABLE_HANDLE!q{VkValidationCacheEXT} );
6641 
6642 enum VK_EXT_VALIDATION_CACHE_SPEC_VERSION = 1;
6643 enum VK_EXT_VALIDATION_CACHE_EXTENSION_NAME = "VK_EXT_validation_cache";
6644 
6645 
6646 enum VkValidationCacheHeaderVersionEXT {
6647 	VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
6648 	VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
6649 	VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
6650 	VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT = ( VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT - VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT + 1 ),
6651 	VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
6652 }
6653 
6654 // VkValidationCacheHeaderVersionEXT global enums
6655 enum VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT;
6656 enum VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT;
6657 enum VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT;
6658 enum VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT;
6659 enum VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = VkValidationCacheHeaderVersionEXT.VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT;
6660 
6661 alias VkValidationCacheCreateFlagsEXT = VkFlags;
6662 
6663 struct VkValidationCacheCreateInfoEXT {
6664 	VkStructureType                  sType = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT;
6665 	const( void )*                   pNext;
6666 	VkValidationCacheCreateFlagsEXT  flags;
6667 	size_t                           initialDataSize;
6668 	const( void )*                   pInitialData;
6669 }
6670 
6671 struct VkShaderModuleValidationCacheCreateInfoEXT {
6672 	VkStructureType       sType = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT;
6673 	const( void )*        pNext;
6674 	VkValidationCacheEXT  validationCache;
6675 }
6676 
6677 // VK_EXT_extension_162
6678 enum VK_EXT_EXTENSION_162_SPEC_VERSION = 0;
6679 enum VK_EXT_EXTENSION_162_EXTENSION_NAME = "VK_EXT_extension_162";
6680 
6681 // VK_EXT_shader_viewport_index_layer
6682 enum VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION = 1;
6683 enum VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME = "VK_EXT_shader_viewport_index_layer";
6684 
6685 // VK_NV_extension_164
6686 enum VK_EXT_EXTENSION_164_SPEC_VERSION = 0;
6687 enum VK_EXT_EXTENSION_164_EXTENSION_NAME = "VK_NV_extension_164";
6688 
6689 // VK_NV_extension_165
6690 enum VK_EXT_EXTENSION_165_SPEC_VERSION = 0;
6691 enum VK_EXT_EXTENSION_165_EXTENSION_NAME = "VK_NV_extension_165";
6692 
6693 // VK_NV_extension_166
6694 enum VK_EXT_EXTENSION_166_SPEC_VERSION = 0;
6695 enum VK_EXT_EXTENSION_166_EXTENSION_NAME = "VK_NV_extension_166";
6696 
6697 // VK_NV_extension_167
6698 enum VK_EXT_EXTENSION_167_SPEC_VERSION = 0;
6699 enum VK_EXT_EXTENSION_167_EXTENSION_NAME = "VK_NV_extension_167";
6700 
6701 // VK_NV_extension_168
6702 enum VK_EXT_EXTENSION_168_SPEC_VERSION = 0;
6703 enum VK_EXT_EXTENSION_168_EXTENSION_NAME = "VK_NV_extension_168";
6704 
6705 // VK_EXT_extension_170
6706 enum VK_EXT_EXTENSION_170_SPEC_VERSION = 0;
6707 enum VK_EXT_EXTENSION_170_EXTENSION_NAME = "VK_EXT_extension_170";
6708 
6709 // VK_QCOM_extension_171
6710 enum VK_QCOM_extension_171_SPEC_VERSION = 0;
6711 enum VK_QCOM_extension_171_EXTENSION_NAME = "VK_QCOM_extension_171";
6712 
6713 // VK_QCOM_extension_172
6714 enum VK_QCOM_extension_172_SPEC_VERSION = 0;
6715 enum VK_QCOM_extension_172_EXTENSION_NAME = "VK_QCOM_extension_172";
6716 
6717 // VK_QCOM_extension_173
6718 enum VK_QCOM_extension_173_SPEC_VERSION = 0;
6719 enum VK_QCOM_extension_173_EXTENSION_NAME = "VK_QCOM_extension_173";
6720 
6721 // VK_QCOM_extension_174
6722 enum VK_QCOM_extension_174_SPEC_VERSION = 0;
6723 enum VK_QCOM_extension_174_EXTENSION_NAME = "VK_QCOM_extension_174";
6724 
6725 // VK_EXT_extension_175
6726 enum VK_KHR_EXTENSION_175_SPEC_VERSION = 0;
6727 enum VK_KHR_EXTENSION_175_EXTENSION_NAME = "VK_KHR_extension_175";
6728 
6729 // VK_EXT_extension_176
6730 enum VK_KHR_EXTENSION_176_SPEC_VERSION = 0;
6731 enum VK_KHR_EXTENSION_176_EXTENSION_NAME = "VK_KHR_extension_176";
6732 
6733 // VK_EXT_extension_177
6734 enum VK_KHR_EXTENSION_177_SPEC_VERSION = 0;
6735 enum VK_KHR_EXTENSION_177_EXTENSION_NAME = "VK_KHR_extension_177";
6736 
6737 // VK_EXT_extension_178
6738 enum VK_KHR_EXTENSION_178_SPEC_VERSION = 0;
6739 enum VK_KHR_EXTENSION_178_EXTENSION_NAME = "VK_KHR_extension_178";
6740