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