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