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