1/* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
3 */
4enum { VK_API_VERSION					= VK_MAKE_VERSION(1, 0, 5)	};
5enum { VK_MAX_PHYSICAL_DEVICE_NAME_SIZE	= 256						};
6enum { VK_MAX_EXTENSION_NAME_SIZE		= 256						};
7enum { VK_UUID_SIZE						= 16						};
8enum { VK_MAX_MEMORY_TYPES				= 32						};
9enum { VK_MAX_MEMORY_HEAPS				= 16						};
10enum { VK_MAX_DESCRIPTION_SIZE			= 256						};
11enum { VK_ATTACHMENT_UNUSED				= (~0U)						};
12enum { VK_SUBPASS_EXTERNAL				= (~0U)						};
13
14VK_DEFINE_HANDLE					(VkInstance,				HANDLE_TYPE_INSTANCE);
15VK_DEFINE_HANDLE					(VkPhysicalDevice,			HANDLE_TYPE_PHYSICAL_DEVICE);
16VK_DEFINE_HANDLE					(VkDevice,					HANDLE_TYPE_DEVICE);
17VK_DEFINE_HANDLE					(VkQueue,					HANDLE_TYPE_QUEUE);
18VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkSemaphore,				HANDLE_TYPE_SEMAPHORE);
19VK_DEFINE_HANDLE					(VkCommandBuffer,			HANDLE_TYPE_COMMAND_BUFFER);
20VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkFence,					HANDLE_TYPE_FENCE);
21VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkDeviceMemory,			HANDLE_TYPE_DEVICE_MEMORY);
22VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkBuffer,					HANDLE_TYPE_BUFFER);
23VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkImage,					HANDLE_TYPE_IMAGE);
24VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkEvent,					HANDLE_TYPE_EVENT);
25VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkQueryPool,				HANDLE_TYPE_QUERY_POOL);
26VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkBufferView,				HANDLE_TYPE_BUFFER_VIEW);
27VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkImageView,				HANDLE_TYPE_IMAGE_VIEW);
28VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkShaderModule,			HANDLE_TYPE_SHADER_MODULE);
29VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkPipelineCache,			HANDLE_TYPE_PIPELINE_CACHE);
30VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkPipelineLayout,			HANDLE_TYPE_PIPELINE_LAYOUT);
31VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkRenderPass,				HANDLE_TYPE_RENDER_PASS);
32VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkPipeline,				HANDLE_TYPE_PIPELINE);
33VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkDescriptorSetLayout,		HANDLE_TYPE_DESCRIPTOR_SET_LAYOUT);
34VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkSampler,					HANDLE_TYPE_SAMPLER);
35VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkDescriptorPool,			HANDLE_TYPE_DESCRIPTOR_POOL);
36VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkDescriptorSet,			HANDLE_TYPE_DESCRIPTOR_SET);
37VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkFramebuffer,				HANDLE_TYPE_FRAMEBUFFER);
38VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkCommandPool,				HANDLE_TYPE_COMMAND_POOL);
39VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkSurfaceKHR,				HANDLE_TYPE_SURFACE_KHR);
40VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkSwapchainKHR,			HANDLE_TYPE_SWAPCHAIN_KHR);
41VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkDisplayKHR,				HANDLE_TYPE_DISPLAY_KHR);
42VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkDisplayModeKHR,			HANDLE_TYPE_DISPLAY_MODE_KHR);
43VK_DEFINE_NON_DISPATCHABLE_HANDLE	(VkDebugReportCallbackEXT,	HANDLE_TYPE_DEBUG_REPORT_CALLBACK_EXT);
44
45enum VkPipelineCacheHeaderVersion
46{
47	VK_PIPELINE_CACHE_HEADER_VERSION_ONE	= 1,
48};
49
50enum VkResult
51{
52	VK_SUCCESS							= 0,
53	VK_NOT_READY						= 1,
54	VK_TIMEOUT							= 2,
55	VK_EVENT_SET						= 3,
56	VK_EVENT_RESET						= 4,
57	VK_INCOMPLETE						= 5,
58	VK_ERROR_OUT_OF_HOST_MEMORY			= -1,
59	VK_ERROR_OUT_OF_DEVICE_MEMORY		= -2,
60	VK_ERROR_INITIALIZATION_FAILED		= -3,
61	VK_ERROR_DEVICE_LOST				= -4,
62	VK_ERROR_MEMORY_MAP_FAILED			= -5,
63	VK_ERROR_LAYER_NOT_PRESENT			= -6,
64	VK_ERROR_EXTENSION_NOT_PRESENT		= -7,
65	VK_ERROR_FEATURE_NOT_PRESENT		= -8,
66	VK_ERROR_INCOMPATIBLE_DRIVER		= -9,
67	VK_ERROR_TOO_MANY_OBJECTS			= -10,
68	VK_ERROR_FORMAT_NOT_SUPPORTED		= -11,
69	VK_ERROR_SURFACE_LOST_KHR			= -1000000000,
70	VK_ERROR_NATIVE_WINDOW_IN_USE_KHR	= -1000000001,
71	VK_SUBOPTIMAL_KHR					= 1000001003,
72	VK_ERROR_OUT_OF_DATE_KHR			= -1000001004,
73	VK_ERROR_INCOMPATIBLE_DISPLAY_KHR	= -1000003001,
74	VK_ERROR_VALIDATION_FAILED_EXT		= -1000011001,
75	VK_ERROR_INVALID_SHADER_NV			= -1000012000,
76};
77
78enum VkStructureType
79{
80	VK_STRUCTURE_TYPE_APPLICATION_INFO							= 0,
81	VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO						= 1,
82	VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO					= 2,
83	VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO						= 3,
84	VK_STRUCTURE_TYPE_SUBMIT_INFO								= 4,
85	VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO						= 5,
86	VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE						= 6,
87	VK_STRUCTURE_TYPE_BIND_SPARSE_INFO							= 7,
88	VK_STRUCTURE_TYPE_FENCE_CREATE_INFO							= 8,
89	VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO						= 9,
90	VK_STRUCTURE_TYPE_EVENT_CREATE_INFO							= 10,
91	VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO					= 11,
92	VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO						= 12,
93	VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO					= 13,
94	VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO							= 14,
95	VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO					= 15,
96	VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO					= 16,
97	VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO				= 17,
98	VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO			= 18,
99	VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO	= 19,
100	VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO	= 20,
101	VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO	= 21,
102	VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO		= 22,
103	VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO	= 23,
104	VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO	= 24,
105	VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO	= 25,
106	VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO	= 26,
107	VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO		= 27,
108	VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO				= 28,
109	VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO				= 29,
110	VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO				= 30,
111	VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO						= 31,
112	VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO			= 32,
113	VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO				= 33,
114	VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO				= 34,
115	VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET						= 35,
116	VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET						= 36,
117	VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO					= 37,
118	VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO					= 38,
119	VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO					= 39,
120	VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO				= 40,
121	VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO			= 41,
122	VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO					= 42,
123	VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO					= 43,
124	VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER						= 44,
125	VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER						= 45,
126	VK_STRUCTURE_TYPE_MEMORY_BARRIER							= 46,
127	VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO				= 47,
128	VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO					= 48,
129	VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR					= 1000001000,
130	VK_STRUCTURE_TYPE_PRESENT_INFO_KHR							= 1000001001,
131	VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR				= 1000002000,
132	VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR			= 1000002001,
133	VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR					= 1000003000,
134	VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR				= 1000004000,
135	VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR				= 1000005000,
136	VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR			= 1000006000,
137	VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR				= 1000007000,
138	VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR			= 1000008000,
139	VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR				= 1000009000,
140	VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT		= 1000011000,
141};
142
143enum VkSystemAllocationScope
144{
145	VK_SYSTEM_ALLOCATION_SCOPE_COMMAND	= 0,
146	VK_SYSTEM_ALLOCATION_SCOPE_OBJECT	= 1,
147	VK_SYSTEM_ALLOCATION_SCOPE_CACHE	= 2,
148	VK_SYSTEM_ALLOCATION_SCOPE_DEVICE	= 3,
149	VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE	= 4,
150
151	VK_SYSTEM_ALLOCATION_SCOPE_LAST
152};
153
154enum VkInternalAllocationType
155{
156	VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE	= 0,
157
158	VK_INTERNAL_ALLOCATION_TYPE_LAST
159};
160
161enum VkFormat
162{
163	VK_FORMAT_UNDEFINED						= 0,
164	VK_FORMAT_R4G4_UNORM_PACK8				= 1,
165	VK_FORMAT_R4G4B4A4_UNORM_PACK16			= 2,
166	VK_FORMAT_B4G4R4A4_UNORM_PACK16			= 3,
167	VK_FORMAT_R5G6B5_UNORM_PACK16			= 4,
168	VK_FORMAT_B5G6R5_UNORM_PACK16			= 5,
169	VK_FORMAT_R5G5B5A1_UNORM_PACK16			= 6,
170	VK_FORMAT_B5G5R5A1_UNORM_PACK16			= 7,
171	VK_FORMAT_A1R5G5B5_UNORM_PACK16			= 8,
172	VK_FORMAT_R8_UNORM						= 9,
173	VK_FORMAT_R8_SNORM						= 10,
174	VK_FORMAT_R8_USCALED					= 11,
175	VK_FORMAT_R8_SSCALED					= 12,
176	VK_FORMAT_R8_UINT						= 13,
177	VK_FORMAT_R8_SINT						= 14,
178	VK_FORMAT_R8_SRGB						= 15,
179	VK_FORMAT_R8G8_UNORM					= 16,
180	VK_FORMAT_R8G8_SNORM					= 17,
181	VK_FORMAT_R8G8_USCALED					= 18,
182	VK_FORMAT_R8G8_SSCALED					= 19,
183	VK_FORMAT_R8G8_UINT						= 20,
184	VK_FORMAT_R8G8_SINT						= 21,
185	VK_FORMAT_R8G8_SRGB						= 22,
186	VK_FORMAT_R8G8B8_UNORM					= 23,
187	VK_FORMAT_R8G8B8_SNORM					= 24,
188	VK_FORMAT_R8G8B8_USCALED				= 25,
189	VK_FORMAT_R8G8B8_SSCALED				= 26,
190	VK_FORMAT_R8G8B8_UINT					= 27,
191	VK_FORMAT_R8G8B8_SINT					= 28,
192	VK_FORMAT_R8G8B8_SRGB					= 29,
193	VK_FORMAT_B8G8R8_UNORM					= 30,
194	VK_FORMAT_B8G8R8_SNORM					= 31,
195	VK_FORMAT_B8G8R8_USCALED				= 32,
196	VK_FORMAT_B8G8R8_SSCALED				= 33,
197	VK_FORMAT_B8G8R8_UINT					= 34,
198	VK_FORMAT_B8G8R8_SINT					= 35,
199	VK_FORMAT_B8G8R8_SRGB					= 36,
200	VK_FORMAT_R8G8B8A8_UNORM				= 37,
201	VK_FORMAT_R8G8B8A8_SNORM				= 38,
202	VK_FORMAT_R8G8B8A8_USCALED				= 39,
203	VK_FORMAT_R8G8B8A8_SSCALED				= 40,
204	VK_FORMAT_R8G8B8A8_UINT					= 41,
205	VK_FORMAT_R8G8B8A8_SINT					= 42,
206	VK_FORMAT_R8G8B8A8_SRGB					= 43,
207	VK_FORMAT_B8G8R8A8_UNORM				= 44,
208	VK_FORMAT_B8G8R8A8_SNORM				= 45,
209	VK_FORMAT_B8G8R8A8_USCALED				= 46,
210	VK_FORMAT_B8G8R8A8_SSCALED				= 47,
211	VK_FORMAT_B8G8R8A8_UINT					= 48,
212	VK_FORMAT_B8G8R8A8_SINT					= 49,
213	VK_FORMAT_B8G8R8A8_SRGB					= 50,
214	VK_FORMAT_A8B8G8R8_UNORM_PACK32			= 51,
215	VK_FORMAT_A8B8G8R8_SNORM_PACK32			= 52,
216	VK_FORMAT_A8B8G8R8_USCALED_PACK32		= 53,
217	VK_FORMAT_A8B8G8R8_SSCALED_PACK32		= 54,
218	VK_FORMAT_A8B8G8R8_UINT_PACK32			= 55,
219	VK_FORMAT_A8B8G8R8_SINT_PACK32			= 56,
220	VK_FORMAT_A8B8G8R8_SRGB_PACK32			= 57,
221	VK_FORMAT_A2R10G10B10_UNORM_PACK32		= 58,
222	VK_FORMAT_A2R10G10B10_SNORM_PACK32		= 59,
223	VK_FORMAT_A2R10G10B10_USCALED_PACK32	= 60,
224	VK_FORMAT_A2R10G10B10_SSCALED_PACK32	= 61,
225	VK_FORMAT_A2R10G10B10_UINT_PACK32		= 62,
226	VK_FORMAT_A2R10G10B10_SINT_PACK32		= 63,
227	VK_FORMAT_A2B10G10R10_UNORM_PACK32		= 64,
228	VK_FORMAT_A2B10G10R10_SNORM_PACK32		= 65,
229	VK_FORMAT_A2B10G10R10_USCALED_PACK32	= 66,
230	VK_FORMAT_A2B10G10R10_SSCALED_PACK32	= 67,
231	VK_FORMAT_A2B10G10R10_UINT_PACK32		= 68,
232	VK_FORMAT_A2B10G10R10_SINT_PACK32		= 69,
233	VK_FORMAT_R16_UNORM						= 70,
234	VK_FORMAT_R16_SNORM						= 71,
235	VK_FORMAT_R16_USCALED					= 72,
236	VK_FORMAT_R16_SSCALED					= 73,
237	VK_FORMAT_R16_UINT						= 74,
238	VK_FORMAT_R16_SINT						= 75,
239	VK_FORMAT_R16_SFLOAT					= 76,
240	VK_FORMAT_R16G16_UNORM					= 77,
241	VK_FORMAT_R16G16_SNORM					= 78,
242	VK_FORMAT_R16G16_USCALED				= 79,
243	VK_FORMAT_R16G16_SSCALED				= 80,
244	VK_FORMAT_R16G16_UINT					= 81,
245	VK_FORMAT_R16G16_SINT					= 82,
246	VK_FORMAT_R16G16_SFLOAT					= 83,
247	VK_FORMAT_R16G16B16_UNORM				= 84,
248	VK_FORMAT_R16G16B16_SNORM				= 85,
249	VK_FORMAT_R16G16B16_USCALED				= 86,
250	VK_FORMAT_R16G16B16_SSCALED				= 87,
251	VK_FORMAT_R16G16B16_UINT				= 88,
252	VK_FORMAT_R16G16B16_SINT				= 89,
253	VK_FORMAT_R16G16B16_SFLOAT				= 90,
254	VK_FORMAT_R16G16B16A16_UNORM			= 91,
255	VK_FORMAT_R16G16B16A16_SNORM			= 92,
256	VK_FORMAT_R16G16B16A16_USCALED			= 93,
257	VK_FORMAT_R16G16B16A16_SSCALED			= 94,
258	VK_FORMAT_R16G16B16A16_UINT				= 95,
259	VK_FORMAT_R16G16B16A16_SINT				= 96,
260	VK_FORMAT_R16G16B16A16_SFLOAT			= 97,
261	VK_FORMAT_R32_UINT						= 98,
262	VK_FORMAT_R32_SINT						= 99,
263	VK_FORMAT_R32_SFLOAT					= 100,
264	VK_FORMAT_R32G32_UINT					= 101,
265	VK_FORMAT_R32G32_SINT					= 102,
266	VK_FORMAT_R32G32_SFLOAT					= 103,
267	VK_FORMAT_R32G32B32_UINT				= 104,
268	VK_FORMAT_R32G32B32_SINT				= 105,
269	VK_FORMAT_R32G32B32_SFLOAT				= 106,
270	VK_FORMAT_R32G32B32A32_UINT				= 107,
271	VK_FORMAT_R32G32B32A32_SINT				= 108,
272	VK_FORMAT_R32G32B32A32_SFLOAT			= 109,
273	VK_FORMAT_R64_UINT						= 110,
274	VK_FORMAT_R64_SINT						= 111,
275	VK_FORMAT_R64_SFLOAT					= 112,
276	VK_FORMAT_R64G64_UINT					= 113,
277	VK_FORMAT_R64G64_SINT					= 114,
278	VK_FORMAT_R64G64_SFLOAT					= 115,
279	VK_FORMAT_R64G64B64_UINT				= 116,
280	VK_FORMAT_R64G64B64_SINT				= 117,
281	VK_FORMAT_R64G64B64_SFLOAT				= 118,
282	VK_FORMAT_R64G64B64A64_UINT				= 119,
283	VK_FORMAT_R64G64B64A64_SINT				= 120,
284	VK_FORMAT_R64G64B64A64_SFLOAT			= 121,
285	VK_FORMAT_B10G11R11_UFLOAT_PACK32		= 122,
286	VK_FORMAT_E5B9G9R9_UFLOAT_PACK32		= 123,
287	VK_FORMAT_D16_UNORM						= 124,
288	VK_FORMAT_X8_D24_UNORM_PACK32			= 125,
289	VK_FORMAT_D32_SFLOAT					= 126,
290	VK_FORMAT_S8_UINT						= 127,
291	VK_FORMAT_D16_UNORM_S8_UINT				= 128,
292	VK_FORMAT_D24_UNORM_S8_UINT				= 129,
293	VK_FORMAT_D32_SFLOAT_S8_UINT			= 130,
294	VK_FORMAT_BC1_RGB_UNORM_BLOCK			= 131,
295	VK_FORMAT_BC1_RGB_SRGB_BLOCK			= 132,
296	VK_FORMAT_BC1_RGBA_UNORM_BLOCK			= 133,
297	VK_FORMAT_BC1_RGBA_SRGB_BLOCK			= 134,
298	VK_FORMAT_BC2_UNORM_BLOCK				= 135,
299	VK_FORMAT_BC2_SRGB_BLOCK				= 136,
300	VK_FORMAT_BC3_UNORM_BLOCK				= 137,
301	VK_FORMAT_BC3_SRGB_BLOCK				= 138,
302	VK_FORMAT_BC4_UNORM_BLOCK				= 139,
303	VK_FORMAT_BC4_SNORM_BLOCK				= 140,
304	VK_FORMAT_BC5_UNORM_BLOCK				= 141,
305	VK_FORMAT_BC5_SNORM_BLOCK				= 142,
306	VK_FORMAT_BC6H_UFLOAT_BLOCK				= 143,
307	VK_FORMAT_BC6H_SFLOAT_BLOCK				= 144,
308	VK_FORMAT_BC7_UNORM_BLOCK				= 145,
309	VK_FORMAT_BC7_SRGB_BLOCK				= 146,
310	VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK		= 147,
311	VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK		= 148,
312	VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK		= 149,
313	VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK		= 150,
314	VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK		= 151,
315	VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK		= 152,
316	VK_FORMAT_EAC_R11_UNORM_BLOCK			= 153,
317	VK_FORMAT_EAC_R11_SNORM_BLOCK			= 154,
318	VK_FORMAT_EAC_R11G11_UNORM_BLOCK		= 155,
319	VK_FORMAT_EAC_R11G11_SNORM_BLOCK		= 156,
320	VK_FORMAT_ASTC_4x4_UNORM_BLOCK			= 157,
321	VK_FORMAT_ASTC_4x4_SRGB_BLOCK			= 158,
322	VK_FORMAT_ASTC_5x4_UNORM_BLOCK			= 159,
323	VK_FORMAT_ASTC_5x4_SRGB_BLOCK			= 160,
324	VK_FORMAT_ASTC_5x5_UNORM_BLOCK			= 161,
325	VK_FORMAT_ASTC_5x5_SRGB_BLOCK			= 162,
326	VK_FORMAT_ASTC_6x5_UNORM_BLOCK			= 163,
327	VK_FORMAT_ASTC_6x5_SRGB_BLOCK			= 164,
328	VK_FORMAT_ASTC_6x6_UNORM_BLOCK			= 165,
329	VK_FORMAT_ASTC_6x6_SRGB_BLOCK			= 166,
330	VK_FORMAT_ASTC_8x5_UNORM_BLOCK			= 167,
331	VK_FORMAT_ASTC_8x5_SRGB_BLOCK			= 168,
332	VK_FORMAT_ASTC_8x6_UNORM_BLOCK			= 169,
333	VK_FORMAT_ASTC_8x6_SRGB_BLOCK			= 170,
334	VK_FORMAT_ASTC_8x8_UNORM_BLOCK			= 171,
335	VK_FORMAT_ASTC_8x8_SRGB_BLOCK			= 172,
336	VK_FORMAT_ASTC_10x5_UNORM_BLOCK			= 173,
337	VK_FORMAT_ASTC_10x5_SRGB_BLOCK			= 174,
338	VK_FORMAT_ASTC_10x6_UNORM_BLOCK			= 175,
339	VK_FORMAT_ASTC_10x6_SRGB_BLOCK			= 176,
340	VK_FORMAT_ASTC_10x8_UNORM_BLOCK			= 177,
341	VK_FORMAT_ASTC_10x8_SRGB_BLOCK			= 178,
342	VK_FORMAT_ASTC_10x10_UNORM_BLOCK		= 179,
343	VK_FORMAT_ASTC_10x10_SRGB_BLOCK			= 180,
344	VK_FORMAT_ASTC_12x10_UNORM_BLOCK		= 181,
345	VK_FORMAT_ASTC_12x10_SRGB_BLOCK			= 182,
346	VK_FORMAT_ASTC_12x12_UNORM_BLOCK		= 183,
347	VK_FORMAT_ASTC_12x12_SRGB_BLOCK			= 184,
348
349	VK_FORMAT_LAST
350};
351
352enum VkImageType
353{
354	VK_IMAGE_TYPE_1D	= 0,
355	VK_IMAGE_TYPE_2D	= 1,
356	VK_IMAGE_TYPE_3D	= 2,
357
358	VK_IMAGE_TYPE_LAST
359};
360
361enum VkImageTiling
362{
363	VK_IMAGE_TILING_OPTIMAL	= 0,
364	VK_IMAGE_TILING_LINEAR	= 1,
365
366	VK_IMAGE_TILING_LAST
367};
368
369enum VkPhysicalDeviceType
370{
371	VK_PHYSICAL_DEVICE_TYPE_OTHER			= 0,
372	VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU	= 1,
373	VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU	= 2,
374	VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU		= 3,
375	VK_PHYSICAL_DEVICE_TYPE_CPU				= 4,
376
377	VK_PHYSICAL_DEVICE_TYPE_LAST
378};
379
380enum VkQueryType
381{
382	VK_QUERY_TYPE_OCCLUSION				= 0,
383	VK_QUERY_TYPE_PIPELINE_STATISTICS	= 1,
384	VK_QUERY_TYPE_TIMESTAMP				= 2,
385
386	VK_QUERY_TYPE_LAST
387};
388
389enum VkSharingMode
390{
391	VK_SHARING_MODE_EXCLUSIVE	= 0,
392	VK_SHARING_MODE_CONCURRENT	= 1,
393
394	VK_SHARING_MODE_LAST
395};
396
397enum VkImageLayout
398{
399	VK_IMAGE_LAYOUT_UNDEFINED							= 0,
400	VK_IMAGE_LAYOUT_GENERAL								= 1,
401	VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL			= 2,
402	VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL	= 3,
403	VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL		= 4,
404	VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL			= 5,
405	VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL				= 6,
406	VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL				= 7,
407	VK_IMAGE_LAYOUT_PREINITIALIZED						= 8,
408	VK_IMAGE_LAYOUT_PRESENT_SRC_KHR						= 1000001002,
409};
410
411enum VkImageViewType
412{
413	VK_IMAGE_VIEW_TYPE_1D			= 0,
414	VK_IMAGE_VIEW_TYPE_2D			= 1,
415	VK_IMAGE_VIEW_TYPE_3D			= 2,
416	VK_IMAGE_VIEW_TYPE_CUBE			= 3,
417	VK_IMAGE_VIEW_TYPE_1D_ARRAY		= 4,
418	VK_IMAGE_VIEW_TYPE_2D_ARRAY		= 5,
419	VK_IMAGE_VIEW_TYPE_CUBE_ARRAY	= 6,
420
421	VK_IMAGE_VIEW_TYPE_LAST
422};
423
424enum VkComponentSwizzle
425{
426	VK_COMPONENT_SWIZZLE_IDENTITY	= 0,
427	VK_COMPONENT_SWIZZLE_ZERO		= 1,
428	VK_COMPONENT_SWIZZLE_ONE		= 2,
429	VK_COMPONENT_SWIZZLE_R			= 3,
430	VK_COMPONENT_SWIZZLE_G			= 4,
431	VK_COMPONENT_SWIZZLE_B			= 5,
432	VK_COMPONENT_SWIZZLE_A			= 6,
433
434	VK_COMPONENT_SWIZZLE_LAST
435};
436
437enum VkVertexInputRate
438{
439	VK_VERTEX_INPUT_RATE_VERTEX		= 0,
440	VK_VERTEX_INPUT_RATE_INSTANCE	= 1,
441
442	VK_VERTEX_INPUT_RATE_LAST
443};
444
445enum VkPrimitiveTopology
446{
447	VK_PRIMITIVE_TOPOLOGY_POINT_LIST					= 0,
448	VK_PRIMITIVE_TOPOLOGY_LINE_LIST						= 1,
449	VK_PRIMITIVE_TOPOLOGY_LINE_STRIP					= 2,
450	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST					= 3,
451	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP				= 4,
452	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN					= 5,
453	VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY		= 6,
454	VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY		= 7,
455	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY	= 8,
456	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY	= 9,
457	VK_PRIMITIVE_TOPOLOGY_PATCH_LIST					= 10,
458
459	VK_PRIMITIVE_TOPOLOGY_LAST
460};
461
462enum VkPolygonMode
463{
464	VK_POLYGON_MODE_FILL	= 0,
465	VK_POLYGON_MODE_LINE	= 1,
466	VK_POLYGON_MODE_POINT	= 2,
467
468	VK_POLYGON_MODE_LAST
469};
470
471enum VkFrontFace
472{
473	VK_FRONT_FACE_COUNTER_CLOCKWISE	= 0,
474	VK_FRONT_FACE_CLOCKWISE			= 1,
475
476	VK_FRONT_FACE_LAST
477};
478
479enum VkCompareOp
480{
481	VK_COMPARE_OP_NEVER				= 0,
482	VK_COMPARE_OP_LESS				= 1,
483	VK_COMPARE_OP_EQUAL				= 2,
484	VK_COMPARE_OP_LESS_OR_EQUAL		= 3,
485	VK_COMPARE_OP_GREATER			= 4,
486	VK_COMPARE_OP_NOT_EQUAL			= 5,
487	VK_COMPARE_OP_GREATER_OR_EQUAL	= 6,
488	VK_COMPARE_OP_ALWAYS			= 7,
489
490	VK_COMPARE_OP_LAST
491};
492
493enum VkStencilOp
494{
495	VK_STENCIL_OP_KEEP					= 0,
496	VK_STENCIL_OP_ZERO					= 1,
497	VK_STENCIL_OP_REPLACE				= 2,
498	VK_STENCIL_OP_INCREMENT_AND_CLAMP	= 3,
499	VK_STENCIL_OP_DECREMENT_AND_CLAMP	= 4,
500	VK_STENCIL_OP_INVERT				= 5,
501	VK_STENCIL_OP_INCREMENT_AND_WRAP	= 6,
502	VK_STENCIL_OP_DECREMENT_AND_WRAP	= 7,
503
504	VK_STENCIL_OP_LAST
505};
506
507enum VkLogicOp
508{
509	VK_LOGIC_OP_CLEAR			= 0,
510	VK_LOGIC_OP_AND				= 1,
511	VK_LOGIC_OP_AND_REVERSE		= 2,
512	VK_LOGIC_OP_COPY			= 3,
513	VK_LOGIC_OP_AND_INVERTED	= 4,
514	VK_LOGIC_OP_NO_OP			= 5,
515	VK_LOGIC_OP_XOR				= 6,
516	VK_LOGIC_OP_OR				= 7,
517	VK_LOGIC_OP_NOR				= 8,
518	VK_LOGIC_OP_EQUIVALENT		= 9,
519	VK_LOGIC_OP_INVERT			= 10,
520	VK_LOGIC_OP_OR_REVERSE		= 11,
521	VK_LOGIC_OP_COPY_INVERTED	= 12,
522	VK_LOGIC_OP_OR_INVERTED		= 13,
523	VK_LOGIC_OP_NAND			= 14,
524	VK_LOGIC_OP_SET				= 15,
525
526	VK_LOGIC_OP_LAST
527};
528
529enum VkBlendFactor
530{
531	VK_BLEND_FACTOR_ZERO						= 0,
532	VK_BLEND_FACTOR_ONE							= 1,
533	VK_BLEND_FACTOR_SRC_COLOR					= 2,
534	VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR			= 3,
535	VK_BLEND_FACTOR_DST_COLOR					= 4,
536	VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR			= 5,
537	VK_BLEND_FACTOR_SRC_ALPHA					= 6,
538	VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA			= 7,
539	VK_BLEND_FACTOR_DST_ALPHA					= 8,
540	VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA			= 9,
541	VK_BLEND_FACTOR_CONSTANT_COLOR				= 10,
542	VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR	= 11,
543	VK_BLEND_FACTOR_CONSTANT_ALPHA				= 12,
544	VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA	= 13,
545	VK_BLEND_FACTOR_SRC_ALPHA_SATURATE			= 14,
546	VK_BLEND_FACTOR_SRC1_COLOR					= 15,
547	VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR		= 16,
548	VK_BLEND_FACTOR_SRC1_ALPHA					= 17,
549	VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA		= 18,
550
551	VK_BLEND_FACTOR_LAST
552};
553
554enum VkBlendOp
555{
556	VK_BLEND_OP_ADD					= 0,
557	VK_BLEND_OP_SUBTRACT			= 1,
558	VK_BLEND_OP_REVERSE_SUBTRACT	= 2,
559	VK_BLEND_OP_MIN					= 3,
560	VK_BLEND_OP_MAX					= 4,
561
562	VK_BLEND_OP_LAST
563};
564
565enum VkDynamicState
566{
567	VK_DYNAMIC_STATE_VIEWPORT				= 0,
568	VK_DYNAMIC_STATE_SCISSOR				= 1,
569	VK_DYNAMIC_STATE_LINE_WIDTH				= 2,
570	VK_DYNAMIC_STATE_DEPTH_BIAS				= 3,
571	VK_DYNAMIC_STATE_BLEND_CONSTANTS		= 4,
572	VK_DYNAMIC_STATE_DEPTH_BOUNDS			= 5,
573	VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK	= 6,
574	VK_DYNAMIC_STATE_STENCIL_WRITE_MASK		= 7,
575	VK_DYNAMIC_STATE_STENCIL_REFERENCE		= 8,
576
577	VK_DYNAMIC_STATE_LAST
578};
579
580enum VkFilter
581{
582	VK_FILTER_NEAREST	= 0,
583	VK_FILTER_LINEAR	= 1,
584
585	VK_FILTER_LAST
586};
587
588enum VkSamplerMipmapMode
589{
590	VK_SAMPLER_MIPMAP_MODE_NEAREST	= 0,
591	VK_SAMPLER_MIPMAP_MODE_LINEAR	= 1,
592
593	VK_SAMPLER_MIPMAP_MODE_LAST
594};
595
596enum VkSamplerAddressMode
597{
598	VK_SAMPLER_ADDRESS_MODE_REPEAT					= 0,
599	VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT			= 1,
600	VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE			= 2,
601	VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER			= 3,
602	VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE	= 4,
603
604	VK_SAMPLER_ADDRESS_MODE_LAST
605};
606
607enum VkBorderColor
608{
609	VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK	= 0,
610	VK_BORDER_COLOR_INT_TRANSPARENT_BLACK	= 1,
611	VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK		= 2,
612	VK_BORDER_COLOR_INT_OPAQUE_BLACK		= 3,
613	VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE		= 4,
614	VK_BORDER_COLOR_INT_OPAQUE_WHITE		= 5,
615
616	VK_BORDER_COLOR_LAST
617};
618
619enum VkDescriptorType
620{
621	VK_DESCRIPTOR_TYPE_SAMPLER					= 0,
622	VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER	= 1,
623	VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE			= 2,
624	VK_DESCRIPTOR_TYPE_STORAGE_IMAGE			= 3,
625	VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER		= 4,
626	VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER		= 5,
627	VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER			= 6,
628	VK_DESCRIPTOR_TYPE_STORAGE_BUFFER			= 7,
629	VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC	= 8,
630	VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC	= 9,
631	VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT			= 10,
632
633	VK_DESCRIPTOR_TYPE_LAST
634};
635
636enum VkAttachmentLoadOp
637{
638	VK_ATTACHMENT_LOAD_OP_LOAD		= 0,
639	VK_ATTACHMENT_LOAD_OP_CLEAR		= 1,
640	VK_ATTACHMENT_LOAD_OP_DONT_CARE	= 2,
641
642	VK_ATTACHMENT_LOAD_OP_LAST
643};
644
645enum VkAttachmentStoreOp
646{
647	VK_ATTACHMENT_STORE_OP_STORE		= 0,
648	VK_ATTACHMENT_STORE_OP_DONT_CARE	= 1,
649
650	VK_ATTACHMENT_STORE_OP_LAST
651};
652
653enum VkPipelineBindPoint
654{
655	VK_PIPELINE_BIND_POINT_GRAPHICS	= 0,
656	VK_PIPELINE_BIND_POINT_COMPUTE	= 1,
657
658	VK_PIPELINE_BIND_POINT_LAST
659};
660
661enum VkCommandBufferLevel
662{
663	VK_COMMAND_BUFFER_LEVEL_PRIMARY		= 0,
664	VK_COMMAND_BUFFER_LEVEL_SECONDARY	= 1,
665
666	VK_COMMAND_BUFFER_LEVEL_LAST
667};
668
669enum VkIndexType
670{
671	VK_INDEX_TYPE_UINT16	= 0,
672	VK_INDEX_TYPE_UINT32	= 1,
673
674	VK_INDEX_TYPE_LAST
675};
676
677enum VkSubpassContents
678{
679	VK_SUBPASS_CONTENTS_INLINE						= 0,
680	VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS	= 1,
681
682	VK_SUBPASS_CONTENTS_LAST
683};
684
685enum VkColorSpaceKHR
686{
687	VK_COLORSPACE_SRGB_NONLINEAR_KHR	= 0,
688
689	VK_COLOR_SPACE_KHR_LAST
690};
691
692enum VkPresentModeKHR
693{
694	VK_PRESENT_MODE_IMMEDIATE_KHR		= 0,
695	VK_PRESENT_MODE_MAILBOX_KHR			= 1,
696	VK_PRESENT_MODE_FIFO_KHR			= 2,
697	VK_PRESENT_MODE_FIFO_RELAXED_KHR	= 3,
698
699	VK_PRESENT_MODE_KHR_LAST
700};
701
702enum VkDebugReportObjectTypeEXT
703{
704	VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT					= 0,
705	VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT				= 1,
706	VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT			= 2,
707	VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT					= 3,
708	VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT					= 4,
709	VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT				= 5,
710	VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT			= 6,
711	VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT					= 7,
712	VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT			= 8,
713	VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT					= 9,
714	VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT					= 10,
715	VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT					= 11,
716	VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT				= 12,
717	VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT				= 13,
718	VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT				= 14,
719	VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT			= 15,
720	VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT			= 16,
721	VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT			= 17,
722	VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT				= 18,
723	VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT				= 19,
724	VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT	= 20,
725	VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT					= 21,
726	VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT			= 22,
727	VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT			= 23,
728	VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT				= 24,
729	VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT			= 25,
730	VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT				= 26,
731	VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT			= 27,
732	VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT			= 28,
733
734	VK_DEBUG_REPORT_OBJECT_TYPE_EXT_LAST
735};
736
737enum VkDebugReportErrorEXT
738{
739	VK_DEBUG_REPORT_ERROR_NONE_EXT			= 0,
740	VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT	= 1,
741
742	VK_DEBUG_REPORT_ERROR_EXT_LAST
743};
744
745enum VkFormatFeatureFlagBits
746{
747	VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT					= 0x00000001,
748	VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT					= 0x00000002,
749	VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT			= 0x00000004,
750	VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT			= 0x00000008,
751	VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT			= 0x00000010,
752	VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT	= 0x00000020,
753	VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT					= 0x00000040,
754	VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT				= 0x00000080,
755	VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT		= 0x00000100,
756	VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT		= 0x00000200,
757	VK_FORMAT_FEATURE_BLIT_SRC_BIT						= 0x00000400,
758	VK_FORMAT_FEATURE_BLIT_DST_BIT						= 0x00000800,
759	VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT	= 0x00001000,
760};
761typedef deUint32 VkFormatFeatureFlags;
762
763enum VkImageUsageFlagBits
764{
765	VK_IMAGE_USAGE_TRANSFER_SRC_BIT				= 0x00000001,
766	VK_IMAGE_USAGE_TRANSFER_DST_BIT				= 0x00000002,
767	VK_IMAGE_USAGE_SAMPLED_BIT					= 0x00000004,
768	VK_IMAGE_USAGE_STORAGE_BIT					= 0x00000008,
769	VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT			= 0x00000010,
770	VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT	= 0x00000020,
771	VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT		= 0x00000040,
772	VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT			= 0x00000080,
773};
774typedef deUint32 VkImageUsageFlags;
775
776enum VkImageCreateFlagBits
777{
778	VK_IMAGE_CREATE_SPARSE_BINDING_BIT		= 0x00000001,
779	VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT	= 0x00000002,
780	VK_IMAGE_CREATE_SPARSE_ALIASED_BIT		= 0x00000004,
781	VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT		= 0x00000008,
782	VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT		= 0x00000010,
783};
784typedef deUint32 VkImageCreateFlags;
785
786enum VkSampleCountFlagBits
787{
788	VK_SAMPLE_COUNT_1_BIT	= 0x00000001,
789	VK_SAMPLE_COUNT_2_BIT	= 0x00000002,
790	VK_SAMPLE_COUNT_4_BIT	= 0x00000004,
791	VK_SAMPLE_COUNT_8_BIT	= 0x00000008,
792	VK_SAMPLE_COUNT_16_BIT	= 0x00000010,
793	VK_SAMPLE_COUNT_32_BIT	= 0x00000020,
794	VK_SAMPLE_COUNT_64_BIT	= 0x00000040,
795};
796typedef deUint32 VkSampleCountFlags;
797
798enum VkQueueFlagBits
799{
800	VK_QUEUE_GRAPHICS_BIT		= 0x00000001,
801	VK_QUEUE_COMPUTE_BIT		= 0x00000002,
802	VK_QUEUE_TRANSFER_BIT		= 0x00000004,
803	VK_QUEUE_SPARSE_BINDING_BIT	= 0x00000008,
804};
805typedef deUint32 VkQueueFlags;
806
807enum VkMemoryPropertyFlagBits
808{
809	VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT		= 0x00000001,
810	VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT		= 0x00000002,
811	VK_MEMORY_PROPERTY_HOST_COHERENT_BIT	= 0x00000004,
812	VK_MEMORY_PROPERTY_HOST_CACHED_BIT		= 0x00000008,
813	VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT	= 0x00000010,
814};
815typedef deUint32 VkMemoryPropertyFlags;
816
817enum VkMemoryHeapFlagBits
818{
819	VK_MEMORY_HEAP_DEVICE_LOCAL_BIT	= 0x00000001,
820};
821typedef deUint32 VkMemoryHeapFlags;
822
823enum VkPipelineStageFlagBits
824{
825	VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT						= 0x00000001,
826	VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT						= 0x00000002,
827	VK_PIPELINE_STAGE_VERTEX_INPUT_BIT						= 0x00000004,
828	VK_PIPELINE_STAGE_VERTEX_SHADER_BIT						= 0x00000008,
829	VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT		= 0x00000010,
830	VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT	= 0x00000020,
831	VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT					= 0x00000040,
832	VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT					= 0x00000080,
833	VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT				= 0x00000100,
834	VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT				= 0x00000200,
835	VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT			= 0x00000400,
836	VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT					= 0x00000800,
837	VK_PIPELINE_STAGE_TRANSFER_BIT							= 0x00001000,
838	VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT					= 0x00002000,
839	VK_PIPELINE_STAGE_HOST_BIT								= 0x00004000,
840	VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT						= 0x00008000,
841	VK_PIPELINE_STAGE_ALL_COMMANDS_BIT						= 0x00010000,
842};
843typedef deUint32 VkPipelineStageFlags;
844
845enum VkImageAspectFlagBits
846{
847	VK_IMAGE_ASPECT_COLOR_BIT		= 0x00000001,
848	VK_IMAGE_ASPECT_DEPTH_BIT		= 0x00000002,
849	VK_IMAGE_ASPECT_STENCIL_BIT		= 0x00000004,
850	VK_IMAGE_ASPECT_METADATA_BIT	= 0x00000008,
851};
852typedef deUint32 VkImageAspectFlags;
853
854enum VkSparseImageFormatFlagBits
855{
856	VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT			= 0x00000001,
857	VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT			= 0x00000002,
858	VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT	= 0x00000004,
859};
860typedef deUint32 VkSparseImageFormatFlags;
861
862enum VkSparseMemoryBindFlagBits
863{
864	VK_SPARSE_MEMORY_BIND_METADATA_BIT	= 0x00000001,
865};
866typedef deUint32 VkSparseMemoryBindFlags;
867
868enum VkFenceCreateFlagBits
869{
870	VK_FENCE_CREATE_SIGNALED_BIT	= 0x00000001,
871};
872typedef deUint32 VkFenceCreateFlags;
873
874enum VkQueryPipelineStatisticFlagBits
875{
876	VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT						= 0x00000001,
877	VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT					= 0x00000002,
878	VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT					= 0x00000004,
879	VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT					= 0x00000008,
880	VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT					= 0x00000010,
881	VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT						= 0x00000020,
882	VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT							= 0x00000040,
883	VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT					= 0x00000080,
884	VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT			= 0x00000100,
885	VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT	= 0x00000200,
886	VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT					= 0x00000400,
887};
888typedef deUint32 VkQueryPipelineStatisticFlags;
889
890enum VkQueryResultFlagBits
891{
892	VK_QUERY_RESULT_64_BIT					= 0x00000001,
893	VK_QUERY_RESULT_WAIT_BIT				= 0x00000002,
894	VK_QUERY_RESULT_WITH_AVAILABILITY_BIT	= 0x00000004,
895	VK_QUERY_RESULT_PARTIAL_BIT				= 0x00000008,
896};
897typedef deUint32 VkQueryResultFlags;
898
899enum VkBufferCreateFlagBits
900{
901	VK_BUFFER_CREATE_SPARSE_BINDING_BIT		= 0x00000001,
902	VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT	= 0x00000002,
903	VK_BUFFER_CREATE_SPARSE_ALIASED_BIT		= 0x00000004,
904};
905typedef deUint32 VkBufferCreateFlags;
906
907enum VkBufferUsageFlagBits
908{
909	VK_BUFFER_USAGE_TRANSFER_SRC_BIT			= 0x00000001,
910	VK_BUFFER_USAGE_TRANSFER_DST_BIT			= 0x00000002,
911	VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT	= 0x00000004,
912	VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT	= 0x00000008,
913	VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT			= 0x00000010,
914	VK_BUFFER_USAGE_STORAGE_BUFFER_BIT			= 0x00000020,
915	VK_BUFFER_USAGE_INDEX_BUFFER_BIT			= 0x00000040,
916	VK_BUFFER_USAGE_VERTEX_BUFFER_BIT			= 0x00000080,
917	VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT			= 0x00000100,
918};
919typedef deUint32 VkBufferUsageFlags;
920
921enum VkPipelineCreateFlagBits
922{
923	VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT	= 0x00000001,
924	VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT	= 0x00000002,
925	VK_PIPELINE_CREATE_DERIVATIVE_BIT			= 0x00000004,
926};
927typedef deUint32 VkPipelineCreateFlags;
928
929enum VkShaderStageFlagBits
930{
931	VK_SHADER_STAGE_VERTEX_BIT					= 0x00000001,
932	VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT	= 0x00000002,
933	VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT	= 0x00000004,
934	VK_SHADER_STAGE_GEOMETRY_BIT				= 0x00000008,
935	VK_SHADER_STAGE_FRAGMENT_BIT				= 0x00000010,
936	VK_SHADER_STAGE_COMPUTE_BIT					= 0x00000020,
937	VK_SHADER_STAGE_ALL_GRAPHICS				= 0x0000001F,
938	VK_SHADER_STAGE_ALL							= 0x7FFFFFFF,
939};
940typedef deUint32 VkShaderStageFlags;
941
942enum VkCullModeFlagBits
943{
944	VK_CULL_MODE_NONE			= 0,
945	VK_CULL_MODE_FRONT_BIT		= 0x00000001,
946	VK_CULL_MODE_BACK_BIT		= 0x00000002,
947	VK_CULL_MODE_FRONT_AND_BACK	= 0x00000003,
948};
949typedef deUint32 VkCullModeFlags;
950
951enum VkColorComponentFlagBits
952{
953	VK_COLOR_COMPONENT_R_BIT	= 0x00000001,
954	VK_COLOR_COMPONENT_G_BIT	= 0x00000002,
955	VK_COLOR_COMPONENT_B_BIT	= 0x00000004,
956	VK_COLOR_COMPONENT_A_BIT	= 0x00000008,
957};
958typedef deUint32 VkColorComponentFlags;
959
960enum VkDescriptorPoolCreateFlagBits
961{
962	VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT	= 0x00000001,
963};
964typedef deUint32 VkDescriptorPoolCreateFlags;
965
966enum VkAttachmentDescriptionFlagBits
967{
968	VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT	= 0x00000001,
969};
970typedef deUint32 VkAttachmentDescriptionFlags;
971
972enum VkAccessFlagBits
973{
974	VK_ACCESS_INDIRECT_COMMAND_READ_BIT				= 0x00000001,
975	VK_ACCESS_INDEX_READ_BIT						= 0x00000002,
976	VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT				= 0x00000004,
977	VK_ACCESS_UNIFORM_READ_BIT						= 0x00000008,
978	VK_ACCESS_INPUT_ATTACHMENT_READ_BIT				= 0x00000010,
979	VK_ACCESS_SHADER_READ_BIT						= 0x00000020,
980	VK_ACCESS_SHADER_WRITE_BIT						= 0x00000040,
981	VK_ACCESS_COLOR_ATTACHMENT_READ_BIT				= 0x00000080,
982	VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT			= 0x00000100,
983	VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT		= 0x00000200,
984	VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT	= 0x00000400,
985	VK_ACCESS_TRANSFER_READ_BIT						= 0x00000800,
986	VK_ACCESS_TRANSFER_WRITE_BIT					= 0x00001000,
987	VK_ACCESS_HOST_READ_BIT							= 0x00002000,
988	VK_ACCESS_HOST_WRITE_BIT						= 0x00004000,
989	VK_ACCESS_MEMORY_READ_BIT						= 0x00008000,
990	VK_ACCESS_MEMORY_WRITE_BIT						= 0x00010000,
991};
992typedef deUint32 VkAccessFlags;
993
994enum VkDependencyFlagBits
995{
996	VK_DEPENDENCY_BY_REGION_BIT	= 0x00000001,
997};
998typedef deUint32 VkDependencyFlags;
999
1000enum VkCommandPoolCreateFlagBits
1001{
1002	VK_COMMAND_POOL_CREATE_TRANSIENT_BIT			= 0x00000001,
1003	VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT	= 0x00000002,
1004};
1005typedef deUint32 VkCommandPoolCreateFlags;
1006
1007enum VkCommandPoolResetFlagBits
1008{
1009	VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT	= 0x00000001,
1010};
1011typedef deUint32 VkCommandPoolResetFlags;
1012
1013enum VkCommandBufferUsageFlagBits
1014{
1015	VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT			= 0x00000001,
1016	VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT	= 0x00000002,
1017	VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT		= 0x00000004,
1018};
1019typedef deUint32 VkCommandBufferUsageFlags;
1020
1021enum VkQueryControlFlagBits
1022{
1023	VK_QUERY_CONTROL_PRECISE_BIT	= 0x00000001,
1024};
1025typedef deUint32 VkQueryControlFlags;
1026
1027enum VkCommandBufferResetFlagBits
1028{
1029	VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT	= 0x00000001,
1030};
1031typedef deUint32 VkCommandBufferResetFlags;
1032
1033enum VkStencilFaceFlagBits
1034{
1035	VK_STENCIL_FACE_FRONT_BIT	= 0x00000001,
1036	VK_STENCIL_FACE_BACK_BIT	= 0x00000002,
1037	VK_STENCIL_FRONT_AND_BACK	= 0x00000003,
1038};
1039typedef deUint32 VkStencilFaceFlags;
1040
1041enum VkSurfaceTransformFlagBitsKHR
1042{
1043	VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR						= 0x00000001,
1044	VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR						= 0x00000002,
1045	VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR						= 0x00000004,
1046	VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR						= 0x00000008,
1047	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR				= 0x00000010,
1048	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR	= 0x00000020,
1049	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR	= 0x00000040,
1050	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR	= 0x00000080,
1051	VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR						= 0x00000100,
1052};
1053typedef deUint32 VkSurfaceTransformFlagsKHR;
1054
1055enum VkCompositeAlphaFlagBitsKHR
1056{
1057	VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR			= 0x00000001,
1058	VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR	= 0x00000002,
1059	VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR	= 0x00000004,
1060	VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR			= 0x00000008,
1061};
1062typedef deUint32 VkCompositeAlphaFlagsKHR;
1063
1064enum VkDisplayPlaneAlphaFlagBitsKHR
1065{
1066	VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR					= 0x00000001,
1067	VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR					= 0x00000002,
1068	VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR				= 0x00000004,
1069	VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR	= 0x00000008,
1070};
1071typedef deUint32 VkDisplayPlaneAlphaFlagsKHR;
1072
1073enum VkDebugReportFlagBitsEXT
1074{
1075	VK_DEBUG_REPORT_INFORMATION_BIT_EXT			= 0x00000001,
1076	VK_DEBUG_REPORT_WARNING_BIT_EXT				= 0x00000002,
1077	VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT	= 0x00000004,
1078	VK_DEBUG_REPORT_ERROR_BIT_EXT				= 0x00000008,
1079	VK_DEBUG_REPORT_DEBUG_BIT_EXT				= 0x00000010,
1080};
1081typedef deUint32 VkDebugReportFlagsEXT;
1082
1083typedef deUint32 VkInstanceCreateFlags;
1084
1085typedef deUint32 VkDeviceCreateFlags;
1086
1087typedef deUint32 VkDeviceQueueCreateFlags;
1088
1089typedef deUint32 VkMemoryMapFlags;
1090
1091typedef deUint32 VkSemaphoreCreateFlags;
1092
1093typedef deUint32 VkEventCreateFlags;
1094
1095typedef deUint32 VkQueryPoolCreateFlags;
1096
1097typedef deUint32 VkBufferViewCreateFlags;
1098
1099typedef deUint32 VkImageViewCreateFlags;
1100
1101typedef deUint32 VkShaderModuleCreateFlags;
1102
1103typedef deUint32 VkPipelineCacheCreateFlags;
1104
1105typedef deUint32 VkPipelineShaderStageCreateFlags;
1106
1107typedef deUint32 VkPipelineVertexInputStateCreateFlags;
1108
1109typedef deUint32 VkPipelineInputAssemblyStateCreateFlags;
1110
1111typedef deUint32 VkPipelineTessellationStateCreateFlags;
1112
1113typedef deUint32 VkPipelineViewportStateCreateFlags;
1114
1115typedef deUint32 VkPipelineRasterizationStateCreateFlags;
1116
1117typedef deUint32 VkPipelineMultisampleStateCreateFlags;
1118
1119typedef deUint32 VkPipelineDepthStencilStateCreateFlags;
1120
1121typedef deUint32 VkPipelineColorBlendStateCreateFlags;
1122
1123typedef deUint32 VkPipelineDynamicStateCreateFlags;
1124
1125typedef deUint32 VkPipelineLayoutCreateFlags;
1126
1127typedef deUint32 VkSamplerCreateFlags;
1128
1129typedef deUint32 VkDescriptorSetLayoutCreateFlags;
1130
1131typedef deUint32 VkDescriptorPoolResetFlags;
1132
1133typedef deUint32 VkFramebufferCreateFlags;
1134
1135typedef deUint32 VkRenderPassCreateFlags;
1136
1137typedef deUint32 VkSubpassDescriptionFlags;
1138
1139typedef deUint32 VkSwapchainCreateFlagsKHR;
1140
1141typedef deUint32 VkDisplayModeCreateFlagsKHR;
1142
1143typedef deUint32 VkDisplaySurfaceCreateFlagsKHR;
1144
1145typedef deUint32 VkXlibSurfaceCreateFlagsKHR;
1146
1147typedef deUint32 VkXcbSurfaceCreateFlagsKHR;
1148
1149typedef deUint32 VkWaylandSurfaceCreateFlagsKHR;
1150
1151typedef deUint32 VkMirSurfaceCreateFlagsKHR;
1152
1153typedef deUint32 VkAndroidSurfaceCreateFlagsKHR;
1154
1155typedef deUint32 VkWin32SurfaceCreateFlagsKHR;
1156
1157VK_DEFINE_PLATFORM_TYPE(XlibDisplayPtr,			void*);
1158VK_DEFINE_PLATFORM_TYPE(XlibWindow,				deUintptr);
1159VK_DEFINE_PLATFORM_TYPE(XlibVisualID,			deUint32);
1160VK_DEFINE_PLATFORM_TYPE(XcbConnectionPtr,		void*);
1161VK_DEFINE_PLATFORM_TYPE(XcbWindow,				deUintptr);
1162VK_DEFINE_PLATFORM_TYPE(XcbVisualid,			deUint32);
1163VK_DEFINE_PLATFORM_TYPE(WaylandDisplayPtr,		void*);
1164VK_DEFINE_PLATFORM_TYPE(WaylandSurfacePtr,		void*);
1165VK_DEFINE_PLATFORM_TYPE(MirConnectionPtr,		void*);
1166VK_DEFINE_PLATFORM_TYPE(MirSurfacePtr,			void*);
1167VK_DEFINE_PLATFORM_TYPE(AndroidNativeWindowPtr,	void*);
1168VK_DEFINE_PLATFORM_TYPE(Win32InstanceHandle,	void*);
1169VK_DEFINE_PLATFORM_TYPE(Win32WindowHandle,		void*);
1170