msi: Make MsiViewGetColumnInfo() RPC-compatible.
[wine.git] / include / wine / vulkan.h
blob7c938cd88fb279e0b8132154ed26e3c6bc1ab8e8
1 /* Automatically generated from Vulkan vk.xml; DO NOT EDIT! */
3 #ifndef __WINE_VULKAN_H
4 #define __WINE_VULKAN_H
6 #include <windef.h>
7 #include <stdint.h>
9 #ifndef VKAPI_CALL
10 #define VKAPI_CALL __stdcall
11 #endif
13 #ifndef VKAPI_PTR
14 #define VKAPI_PTR VKAPI_CALL
15 #endif
17 /* Callers can override WINE_VK_ALIGN if they want 'host' headers. */
18 #ifndef WINE_VK_ALIGN
19 #define WINE_VK_ALIGN DECLSPEC_ALIGN
20 #endif
22 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
23 #define VK_UUID_SIZE 16
24 #define VK_LUID_SIZE_KHX 8
25 #define VK_MAX_EXTENSION_NAME_SIZE 256
26 #define VK_MAX_DESCRIPTION_SIZE 256
27 #define VK_MAX_MEMORY_TYPES 32
28 #define VK_MAX_MEMORY_HEAPS 16
29 #define VK_LOD_CLAMP_NONE 1000.0f
30 #define VK_REMAINING_MIP_LEVELS (~0U)
31 #define VK_REMAINING_ARRAY_LAYERS (~0U)
32 #define VK_WHOLE_SIZE (~0ULL)
33 #define VK_ATTACHMENT_UNUSED (~0U)
34 #define VK_TRUE 1
35 #define VK_FALSE 0
36 #define VK_QUEUE_FAMILY_IGNORED (~0U)
37 #define VK_QUEUE_FAMILY_EXTERNAL_KHX (~0U-1)
38 #define VK_SUBPASS_EXTERNAL (~0U)
39 #define VK_MAX_DEVICE_GROUP_SIZE_KHX 32
40 #define VK_KHR_SURFACE_SPEC_VERSION 25
41 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
42 #define VK_COLORSPACE_SRGB_NONLINEAR_KHR VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
43 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 68
44 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
45 #define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6
46 #define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"
47 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
48 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
49 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1
50 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
51 #define VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE 4
52 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
53 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
54 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
55 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
56 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
57 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
58 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
59 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
60 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
61 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
62 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
63 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
64 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
65 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
66 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
67 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
68 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1
69 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
70 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
71 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
72 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
73 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
74 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
75 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
76 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
77 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
78 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1
79 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
80 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
81 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
82 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
83 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
84 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
85 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
86 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 1
87 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
88 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 1
89 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
90 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
91 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
92 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
93 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
94 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
95 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
96 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
97 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
98 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
99 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
100 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
101 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
102 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
103 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
104 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
105 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
107 #define VK_MAKE_VERSION(major, minor, patch) \
108 (((major) << 22) | ((minor) << 12) | (patch))
109 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
110 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
111 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
113 #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)
114 #define VK_HEADER_VERSION 51
115 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
116 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
117 #define VK_NULL_HANDLE 0
119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
121 VK_DEFINE_HANDLE(VkCommandBuffer)
122 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
123 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
124 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
125 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
126 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplateKHR)
127 VK_DEFINE_HANDLE(VkDevice)
128 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
129 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
130 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
131 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
132 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
133 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
134 VK_DEFINE_HANDLE(VkInstance)
135 VK_DEFINE_HANDLE(VkPhysicalDevice)
136 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
137 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
138 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
139 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
140 VK_DEFINE_HANDLE(VkQueue)
141 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
142 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
143 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
144 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
145 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
146 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
148 typedef uint32_t VkBool32;
149 typedef uint64_t VkDeviceSize;
150 typedef uint32_t VkFlags;
151 typedef uint32_t VkSampleMask;
153 typedef VkFlags VkAccessFlags;
154 typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;
155 typedef VkFlags VkAttachmentDescriptionFlags;
156 typedef VkFlags VkBufferCreateFlags;
157 typedef VkFlags VkBufferUsageFlags;
158 typedef VkFlags VkBufferViewCreateFlags;
159 typedef VkFlags VkColorComponentFlags;
160 typedef VkFlags VkCommandBufferResetFlags;
161 typedef VkFlags VkCommandBufferUsageFlags;
162 typedef VkFlags VkCommandPoolCreateFlags;
163 typedef VkFlags VkCommandPoolResetFlags;
164 typedef VkFlags VkCommandPoolTrimFlagsKHR;
165 typedef VkFlags VkCompositeAlphaFlagsKHR;
166 typedef VkFlags VkCullModeFlags;
167 typedef VkFlags VkDebugReportFlagsEXT;
168 typedef VkFlags VkDependencyFlags;
169 typedef VkFlags VkDescriptorPoolCreateFlags;
170 typedef VkFlags VkDescriptorPoolResetFlags;
171 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
172 typedef VkFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
173 typedef VkFlags VkDeviceCreateFlags;
174 typedef VkFlags VkDeviceGroupPresentModeFlagsKHX;
175 typedef VkFlags VkDeviceQueueCreateFlags;
176 typedef VkFlags VkDisplayModeCreateFlagsKHR;
177 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
178 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
179 typedef VkFlags VkEventCreateFlags;
180 typedef VkFlags VkExternalMemoryFeatureFlagsKHX;
181 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
182 typedef VkFlags VkExternalMemoryHandleTypeFlagsKHX;
183 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
184 typedef VkFlags VkExternalSemaphoreFeatureFlagsKHX;
185 typedef VkFlags VkExternalSemaphoreHandleTypeFlagsKHX;
186 typedef VkFlags VkFenceCreateFlags;
187 typedef VkFlags VkFormatFeatureFlags;
188 typedef VkFlags VkFramebufferCreateFlags;
189 typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
190 typedef VkFlags VkImageAspectFlags;
191 typedef VkFlags VkImageCreateFlags;
192 typedef VkFlags VkImageUsageFlags;
193 typedef VkFlags VkImageViewCreateFlags;
194 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX;
195 typedef VkFlags VkInstanceCreateFlags;
196 typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
197 typedef VkFlags VkMemoryAllocateFlagsKHX;
198 typedef VkFlags VkMemoryHeapFlags;
199 typedef VkFlags VkMemoryMapFlags;
200 typedef VkFlags VkMemoryPropertyFlags;
201 typedef VkFlags VkMirSurfaceCreateFlagsKHR;
202 typedef VkFlags VkObjectEntryUsageFlagsNVX;
203 typedef VkFlags VkPeerMemoryFeatureFlagsKHX;
204 typedef VkFlags VkPipelineCacheCreateFlags;
205 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
206 typedef VkFlags VkPipelineCreateFlags;
207 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
208 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
209 typedef VkFlags VkPipelineDynamicStateCreateFlags;
210 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
211 typedef VkFlags VkPipelineLayoutCreateFlags;
212 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
213 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
214 typedef VkFlags VkPipelineShaderStageCreateFlags;
215 typedef VkFlags VkPipelineStageFlags;
216 typedef VkFlags VkPipelineTessellationStateCreateFlags;
217 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
218 typedef VkFlags VkPipelineViewportStateCreateFlags;
219 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
220 typedef VkFlags VkQueryControlFlags;
221 typedef VkFlags VkQueryPipelineStatisticFlags;
222 typedef VkFlags VkQueryPoolCreateFlags;
223 typedef VkFlags VkQueryResultFlags;
224 typedef VkFlags VkQueueFlags;
225 typedef VkFlags VkRenderPassCreateFlags;
226 typedef VkFlags VkSampleCountFlags;
227 typedef VkFlags VkSamplerCreateFlags;
228 typedef VkFlags VkSemaphoreCreateFlags;
229 typedef VkFlags VkShaderModuleCreateFlags;
230 typedef VkFlags VkShaderStageFlags;
231 typedef VkFlags VkSparseImageFormatFlags;
232 typedef VkFlags VkSparseMemoryBindFlags;
233 typedef VkFlags VkStencilFaceFlags;
234 typedef VkFlags VkSubpassDescriptionFlags;
235 typedef VkFlags VkSurfaceCounterFlagsEXT;
236 typedef VkFlags VkSurfaceTransformFlagsKHR;
237 typedef VkFlags VkSwapchainCreateFlagsKHR;
238 typedef VkFlags VkViSurfaceCreateFlagsNN;
239 typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
240 typedef VkFlags VkWin32SurfaceCreateFlagsKHR;
241 typedef VkFlags VkXcbSurfaceCreateFlagsKHR;
242 typedef VkFlags VkXlibSurfaceCreateFlagsKHR;
244 typedef enum VkAccessFlagBits
246 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
247 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
248 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
249 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
250 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
251 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
252 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
253 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
254 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
255 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
256 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
257 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
258 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
259 VK_ACCESS_HOST_READ_BIT = 0x00002000,
260 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
261 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
262 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
263 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7fffffff,
264 } VkAccessFlagBits;
266 typedef enum VkAttachmentDescriptionFlagBits
268 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
269 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7fffffff,
270 } VkAttachmentDescriptionFlagBits;
272 typedef enum VkAttachmentLoadOp
274 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
275 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
276 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
277 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7fffffff,
278 } VkAttachmentLoadOp;
280 typedef enum VkAttachmentStoreOp
282 VK_ATTACHMENT_STORE_OP_STORE = 0,
283 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
284 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7fffffff,
285 } VkAttachmentStoreOp;
287 typedef enum VkBlendFactor
289 VK_BLEND_FACTOR_ZERO = 0,
290 VK_BLEND_FACTOR_ONE = 1,
291 VK_BLEND_FACTOR_SRC_COLOR = 2,
292 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
293 VK_BLEND_FACTOR_DST_COLOR = 4,
294 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
295 VK_BLEND_FACTOR_SRC_ALPHA = 6,
296 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
297 VK_BLEND_FACTOR_DST_ALPHA = 8,
298 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
299 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
300 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
301 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
302 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
303 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
304 VK_BLEND_FACTOR_SRC1_COLOR = 15,
305 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
306 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
307 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
308 VK_BLEND_FACTOR_MAX_ENUM = 0x7fffffff,
309 } VkBlendFactor;
311 typedef enum VkBlendOp
313 VK_BLEND_OP_ADD = 0,
314 VK_BLEND_OP_SUBTRACT = 1,
315 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
316 VK_BLEND_OP_MIN = 3,
317 VK_BLEND_OP_MAX = 4,
318 VK_BLEND_OP_MAX_ENUM = 0x7fffffff,
319 } VkBlendOp;
321 typedef enum VkBorderColor
323 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
324 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
325 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
326 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
327 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
328 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
329 VK_BORDER_COLOR_MAX_ENUM = 0x7fffffff,
330 } VkBorderColor;
332 typedef enum VkBufferCreateFlagBits
334 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
335 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
336 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
337 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
338 } VkBufferCreateFlagBits;
340 typedef enum VkBufferUsageFlagBits
342 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
343 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
344 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
345 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
346 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
347 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
348 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
349 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
350 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
351 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
352 } VkBufferUsageFlagBits;
354 typedef enum VkColorComponentFlagBits
356 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
357 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
358 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
359 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
360 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7fffffff,
361 } VkColorComponentFlagBits;
363 typedef enum VkColorSpaceKHR
365 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
366 VK_COLOR_SPACE_KHR_MAX_ENUM = 0x7fffffff,
367 } VkColorSpaceKHR;
369 typedef enum VkCommandBufferLevel
371 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
372 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
373 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7fffffff,
374 } VkCommandBufferLevel;
376 typedef enum VkCommandBufferUsageFlagBits
378 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
379 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
380 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
381 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
382 } VkCommandBufferUsageFlagBits;
384 typedef enum VkCommandPoolCreateFlagBits
386 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
387 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
388 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
389 } VkCommandPoolCreateFlagBits;
391 typedef enum VkCompareOp
393 VK_COMPARE_OP_NEVER = 0,
394 VK_COMPARE_OP_LESS = 1,
395 VK_COMPARE_OP_EQUAL = 2,
396 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
397 VK_COMPARE_OP_GREATER = 4,
398 VK_COMPARE_OP_NOT_EQUAL = 5,
399 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
400 VK_COMPARE_OP_ALWAYS = 7,
401 VK_COMPARE_OP_MAX_ENUM = 0x7fffffff,
402 } VkCompareOp;
404 typedef enum VkComponentSwizzle
406 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
407 VK_COMPONENT_SWIZZLE_ZERO = 1,
408 VK_COMPONENT_SWIZZLE_ONE = 2,
409 VK_COMPONENT_SWIZZLE_R = 3,
410 VK_COMPONENT_SWIZZLE_G = 4,
411 VK_COMPONENT_SWIZZLE_B = 5,
412 VK_COMPONENT_SWIZZLE_A = 6,
413 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7fffffff,
414 } VkComponentSwizzle;
416 typedef enum VkCompositeAlphaFlagBitsKHR
418 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
419 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
420 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
421 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
422 VK_COMPOSITE_ALPHA_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff,
423 } VkCompositeAlphaFlagBitsKHR;
425 typedef enum VkCullModeFlagBits
427 VK_CULL_MODE_NONE = 0,
428 VK_CULL_MODE_FRONT_BIT = 0x00000001,
429 VK_CULL_MODE_BACK_BIT = 0x00000002,
430 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
431 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
432 } VkCullModeFlagBits;
434 typedef enum VkDependencyFlagBits
436 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
437 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7fffffff,
438 } VkDependencyFlagBits;
440 typedef enum VkDescriptorPoolCreateFlagBits
442 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
443 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
444 } VkDescriptorPoolCreateFlagBits;
446 typedef enum VkDescriptorSetLayoutCreateFlagBits
448 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
449 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
450 } VkDescriptorSetLayoutCreateFlagBits;
452 typedef enum VkDescriptorType
454 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
455 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
456 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
457 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
458 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
459 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
460 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
461 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
462 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
463 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
464 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
465 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7fffffff,
466 } VkDescriptorType;
468 typedef enum VkDescriptorUpdateTemplateTypeKHR
470 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = 0,
471 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
472 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_KHR_MAX_ENUM = 0x7fffffff,
473 } VkDescriptorUpdateTemplateTypeKHR;
475 typedef enum VkDynamicState
477 VK_DYNAMIC_STATE_VIEWPORT = 0,
478 VK_DYNAMIC_STATE_SCISSOR = 1,
479 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
480 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
481 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
482 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
483 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
484 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
485 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
486 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
487 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
488 VK_DYNAMIC_STATE_MAX_ENUM = 0x7fffffff,
489 } VkDynamicState;
491 typedef enum VkFenceCreateFlagBits
493 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
494 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
495 } VkFenceCreateFlagBits;
497 typedef enum VkFilter
499 VK_FILTER_NEAREST = 0,
500 VK_FILTER_LINEAR = 1,
501 VK_FILTER_CUBIC_IMG = 1000015000,
502 VK_FILTER_MAX_ENUM = 0x7fffffff,
503 } VkFilter;
505 typedef enum VkFormat
507 VK_FORMAT_UNDEFINED = 0,
508 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
509 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
510 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
511 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
512 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
513 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
514 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
515 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
516 VK_FORMAT_R8_UNORM = 9,
517 VK_FORMAT_R8_SNORM = 10,
518 VK_FORMAT_R8_USCALED = 11,
519 VK_FORMAT_R8_SSCALED = 12,
520 VK_FORMAT_R8_UINT = 13,
521 VK_FORMAT_R8_SINT = 14,
522 VK_FORMAT_R8_SRGB = 15,
523 VK_FORMAT_R8G8_UNORM = 16,
524 VK_FORMAT_R8G8_SNORM = 17,
525 VK_FORMAT_R8G8_USCALED = 18,
526 VK_FORMAT_R8G8_SSCALED = 19,
527 VK_FORMAT_R8G8_UINT = 20,
528 VK_FORMAT_R8G8_SINT = 21,
529 VK_FORMAT_R8G8_SRGB = 22,
530 VK_FORMAT_R8G8B8_UNORM = 23,
531 VK_FORMAT_R8G8B8_SNORM = 24,
532 VK_FORMAT_R8G8B8_USCALED = 25,
533 VK_FORMAT_R8G8B8_SSCALED = 26,
534 VK_FORMAT_R8G8B8_UINT = 27,
535 VK_FORMAT_R8G8B8_SINT = 28,
536 VK_FORMAT_R8G8B8_SRGB = 29,
537 VK_FORMAT_B8G8R8_UNORM = 30,
538 VK_FORMAT_B8G8R8_SNORM = 31,
539 VK_FORMAT_B8G8R8_USCALED = 32,
540 VK_FORMAT_B8G8R8_SSCALED = 33,
541 VK_FORMAT_B8G8R8_UINT = 34,
542 VK_FORMAT_B8G8R8_SINT = 35,
543 VK_FORMAT_B8G8R8_SRGB = 36,
544 VK_FORMAT_R8G8B8A8_UNORM = 37,
545 VK_FORMAT_R8G8B8A8_SNORM = 38,
546 VK_FORMAT_R8G8B8A8_USCALED = 39,
547 VK_FORMAT_R8G8B8A8_SSCALED = 40,
548 VK_FORMAT_R8G8B8A8_UINT = 41,
549 VK_FORMAT_R8G8B8A8_SINT = 42,
550 VK_FORMAT_R8G8B8A8_SRGB = 43,
551 VK_FORMAT_B8G8R8A8_UNORM = 44,
552 VK_FORMAT_B8G8R8A8_SNORM = 45,
553 VK_FORMAT_B8G8R8A8_USCALED = 46,
554 VK_FORMAT_B8G8R8A8_SSCALED = 47,
555 VK_FORMAT_B8G8R8A8_UINT = 48,
556 VK_FORMAT_B8G8R8A8_SINT = 49,
557 VK_FORMAT_B8G8R8A8_SRGB = 50,
558 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
559 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
560 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
561 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
562 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
563 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
564 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
565 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
566 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
567 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
568 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
569 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
570 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
571 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
572 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
573 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
574 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
575 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
576 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
577 VK_FORMAT_R16_UNORM = 70,
578 VK_FORMAT_R16_SNORM = 71,
579 VK_FORMAT_R16_USCALED = 72,
580 VK_FORMAT_R16_SSCALED = 73,
581 VK_FORMAT_R16_UINT = 74,
582 VK_FORMAT_R16_SINT = 75,
583 VK_FORMAT_R16_SFLOAT = 76,
584 VK_FORMAT_R16G16_UNORM = 77,
585 VK_FORMAT_R16G16_SNORM = 78,
586 VK_FORMAT_R16G16_USCALED = 79,
587 VK_FORMAT_R16G16_SSCALED = 80,
588 VK_FORMAT_R16G16_UINT = 81,
589 VK_FORMAT_R16G16_SINT = 82,
590 VK_FORMAT_R16G16_SFLOAT = 83,
591 VK_FORMAT_R16G16B16_UNORM = 84,
592 VK_FORMAT_R16G16B16_SNORM = 85,
593 VK_FORMAT_R16G16B16_USCALED = 86,
594 VK_FORMAT_R16G16B16_SSCALED = 87,
595 VK_FORMAT_R16G16B16_UINT = 88,
596 VK_FORMAT_R16G16B16_SINT = 89,
597 VK_FORMAT_R16G16B16_SFLOAT = 90,
598 VK_FORMAT_R16G16B16A16_UNORM = 91,
599 VK_FORMAT_R16G16B16A16_SNORM = 92,
600 VK_FORMAT_R16G16B16A16_USCALED = 93,
601 VK_FORMAT_R16G16B16A16_SSCALED = 94,
602 VK_FORMAT_R16G16B16A16_UINT = 95,
603 VK_FORMAT_R16G16B16A16_SINT = 96,
604 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
605 VK_FORMAT_R32_UINT = 98,
606 VK_FORMAT_R32_SINT = 99,
607 VK_FORMAT_R32_SFLOAT = 100,
608 VK_FORMAT_R32G32_UINT = 101,
609 VK_FORMAT_R32G32_SINT = 102,
610 VK_FORMAT_R32G32_SFLOAT = 103,
611 VK_FORMAT_R32G32B32_UINT = 104,
612 VK_FORMAT_R32G32B32_SINT = 105,
613 VK_FORMAT_R32G32B32_SFLOAT = 106,
614 VK_FORMAT_R32G32B32A32_UINT = 107,
615 VK_FORMAT_R32G32B32A32_SINT = 108,
616 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
617 VK_FORMAT_R64_UINT = 110,
618 VK_FORMAT_R64_SINT = 111,
619 VK_FORMAT_R64_SFLOAT = 112,
620 VK_FORMAT_R64G64_UINT = 113,
621 VK_FORMAT_R64G64_SINT = 114,
622 VK_FORMAT_R64G64_SFLOAT = 115,
623 VK_FORMAT_R64G64B64_UINT = 116,
624 VK_FORMAT_R64G64B64_SINT = 117,
625 VK_FORMAT_R64G64B64_SFLOAT = 118,
626 VK_FORMAT_R64G64B64A64_UINT = 119,
627 VK_FORMAT_R64G64B64A64_SINT = 120,
628 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
629 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
630 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
631 VK_FORMAT_D16_UNORM = 124,
632 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
633 VK_FORMAT_D32_SFLOAT = 126,
634 VK_FORMAT_S8_UINT = 127,
635 VK_FORMAT_D16_UNORM_S8_UINT = 128,
636 VK_FORMAT_D24_UNORM_S8_UINT = 129,
637 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
638 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
639 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
640 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
641 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
642 VK_FORMAT_BC2_UNORM_BLOCK = 135,
643 VK_FORMAT_BC2_SRGB_BLOCK = 136,
644 VK_FORMAT_BC3_UNORM_BLOCK = 137,
645 VK_FORMAT_BC3_SRGB_BLOCK = 138,
646 VK_FORMAT_BC4_UNORM_BLOCK = 139,
647 VK_FORMAT_BC4_SNORM_BLOCK = 140,
648 VK_FORMAT_BC5_UNORM_BLOCK = 141,
649 VK_FORMAT_BC5_SNORM_BLOCK = 142,
650 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
651 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
652 VK_FORMAT_BC7_UNORM_BLOCK = 145,
653 VK_FORMAT_BC7_SRGB_BLOCK = 146,
654 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
655 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
656 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
657 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
658 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
659 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
660 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
661 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
662 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
663 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
664 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
665 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
666 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
667 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
668 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
669 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
670 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
671 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
672 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
673 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
674 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
675 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
676 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
677 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
678 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
679 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
680 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
681 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
682 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
683 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
684 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
685 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
686 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
687 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
688 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
689 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
690 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
691 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
692 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
693 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
694 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
695 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
696 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
697 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
698 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
699 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
700 VK_FORMAT_MAX_ENUM = 0x7fffffff,
701 } VkFormat;
703 typedef enum VkFormatFeatureFlagBits
705 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
706 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
707 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
708 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
709 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
710 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
711 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
712 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
713 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
714 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
715 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
716 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
717 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
718 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
719 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = 0x00004000,
720 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = 0x00008000,
721 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
722 } VkFormatFeatureFlagBits;
724 typedef enum VkFrontFace
726 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
727 VK_FRONT_FACE_CLOCKWISE = 1,
728 VK_FRONT_FACE_MAX_ENUM = 0x7fffffff,
729 } VkFrontFace;
731 typedef enum VkImageAspectFlagBits
733 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
734 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
735 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
736 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
737 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7fffffff,
738 } VkImageAspectFlagBits;
740 typedef enum VkImageCreateFlagBits
742 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
743 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
744 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
745 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
746 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
747 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 0x00000020,
748 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
749 } VkImageCreateFlagBits;
751 typedef enum VkImageLayout
753 VK_IMAGE_LAYOUT_UNDEFINED = 0,
754 VK_IMAGE_LAYOUT_GENERAL = 1,
755 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
756 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
757 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
758 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
759 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
760 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
761 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
762 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
763 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7fffffff,
764 } VkImageLayout;
766 typedef enum VkImageTiling
768 VK_IMAGE_TILING_OPTIMAL = 0,
769 VK_IMAGE_TILING_LINEAR = 1,
770 VK_IMAGE_TILING_MAX_ENUM = 0x7fffffff,
771 } VkImageTiling;
773 typedef enum VkImageType
775 VK_IMAGE_TYPE_1D = 0,
776 VK_IMAGE_TYPE_2D = 1,
777 VK_IMAGE_TYPE_3D = 2,
778 VK_IMAGE_TYPE_MAX_ENUM = 0x7fffffff,
779 } VkImageType;
781 typedef enum VkImageUsageFlagBits
783 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
784 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
785 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
786 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
787 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
788 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
789 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
790 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
791 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
792 } VkImageUsageFlagBits;
794 typedef enum VkImageViewType
796 VK_IMAGE_VIEW_TYPE_1D = 0,
797 VK_IMAGE_VIEW_TYPE_2D = 1,
798 VK_IMAGE_VIEW_TYPE_3D = 2,
799 VK_IMAGE_VIEW_TYPE_CUBE = 3,
800 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
801 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
802 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
803 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7fffffff,
804 } VkImageViewType;
806 typedef enum VkIndexType
808 VK_INDEX_TYPE_UINT16 = 0,
809 VK_INDEX_TYPE_UINT32 = 1,
810 VK_INDEX_TYPE_MAX_ENUM = 0x7fffffff,
811 } VkIndexType;
813 typedef enum VkInternalAllocationType
815 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
816 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7fffffff,
817 } VkInternalAllocationType;
819 typedef enum VkLogicOp
821 VK_LOGIC_OP_CLEAR = 0,
822 VK_LOGIC_OP_AND = 1,
823 VK_LOGIC_OP_AND_REVERSE = 2,
824 VK_LOGIC_OP_COPY = 3,
825 VK_LOGIC_OP_AND_INVERTED = 4,
826 VK_LOGIC_OP_NO_OP = 5,
827 VK_LOGIC_OP_XOR = 6,
828 VK_LOGIC_OP_OR = 7,
829 VK_LOGIC_OP_NOR = 8,
830 VK_LOGIC_OP_EQUIVALENT = 9,
831 VK_LOGIC_OP_INVERT = 10,
832 VK_LOGIC_OP_OR_REVERSE = 11,
833 VK_LOGIC_OP_COPY_INVERTED = 12,
834 VK_LOGIC_OP_OR_INVERTED = 13,
835 VK_LOGIC_OP_NAND = 14,
836 VK_LOGIC_OP_SET = 15,
837 VK_LOGIC_OP_MAX_ENUM = 0x7fffffff,
838 } VkLogicOp;
840 typedef enum VkMemoryHeapFlagBits
842 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
843 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7fffffff,
844 } VkMemoryHeapFlagBits;
846 typedef enum VkMemoryPropertyFlagBits
848 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
849 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
850 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
851 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
852 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
853 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7fffffff,
854 } VkMemoryPropertyFlagBits;
856 typedef enum VkObjectType
858 VK_OBJECT_TYPE_UNKNOWN = 0,
859 VK_OBJECT_TYPE_INSTANCE = 1,
860 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
861 VK_OBJECT_TYPE_DEVICE = 3,
862 VK_OBJECT_TYPE_QUEUE = 4,
863 VK_OBJECT_TYPE_SEMAPHORE = 5,
864 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
865 VK_OBJECT_TYPE_FENCE = 7,
866 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
867 VK_OBJECT_TYPE_BUFFER = 9,
868 VK_OBJECT_TYPE_IMAGE = 10,
869 VK_OBJECT_TYPE_EVENT = 11,
870 VK_OBJECT_TYPE_QUERY_POOL = 12,
871 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
872 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
873 VK_OBJECT_TYPE_SHADER_MODULE = 15,
874 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
875 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
876 VK_OBJECT_TYPE_RENDER_PASS = 18,
877 VK_OBJECT_TYPE_PIPELINE = 19,
878 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
879 VK_OBJECT_TYPE_SAMPLER = 21,
880 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
881 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
882 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
883 VK_OBJECT_TYPE_COMMAND_POOL = 25,
884 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
885 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
886 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = 1000085000,
887 VK_OBJECT_TYPE_MAX_ENUM = 0x7fffffff,
888 } VkObjectType;
890 typedef enum VkPhysicalDeviceType
892 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
893 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
894 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
895 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
896 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
897 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7fffffff,
898 } VkPhysicalDeviceType;
900 typedef enum VkPipelineBindPoint
902 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
903 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
904 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7fffffff,
905 } VkPipelineBindPoint;
907 typedef enum VkPipelineCacheHeaderVersion
909 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
910 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7fffffff,
911 } VkPipelineCacheHeaderVersion;
913 typedef enum VkPipelineCreateFlagBits
915 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
916 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
917 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
918 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
919 } VkPipelineCreateFlagBits;
921 typedef enum VkPipelineStageFlagBits
923 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
924 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
925 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
926 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
927 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
928 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
929 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
930 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
931 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
932 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
933 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
934 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
935 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
936 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
937 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
938 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
939 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
940 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
941 } VkPipelineStageFlagBits;
943 typedef enum VkPolygonMode
945 VK_POLYGON_MODE_FILL = 0,
946 VK_POLYGON_MODE_LINE = 1,
947 VK_POLYGON_MODE_POINT = 2,
948 VK_POLYGON_MODE_MAX_ENUM = 0x7fffffff,
949 } VkPolygonMode;
951 typedef enum VkPresentModeKHR
953 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
954 VK_PRESENT_MODE_MAILBOX_KHR = 1,
955 VK_PRESENT_MODE_FIFO_KHR = 2,
956 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
957 VK_PRESENT_MODE_KHR_MAX_ENUM = 0x7fffffff,
958 } VkPresentModeKHR;
960 typedef enum VkPrimitiveTopology
962 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
963 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
964 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
965 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
966 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
967 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
968 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
969 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
970 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
971 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
972 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
973 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7fffffff,
974 } VkPrimitiveTopology;
976 typedef enum VkQueryControlFlagBits
978 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
979 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7fffffff,
980 } VkQueryControlFlagBits;
982 typedef enum VkQueryPipelineStatisticFlagBits
984 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
985 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
986 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
987 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
988 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
989 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
990 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
991 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
992 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
993 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
994 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
995 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7fffffff,
996 } VkQueryPipelineStatisticFlagBits;
998 typedef enum VkQueryType
1000 VK_QUERY_TYPE_OCCLUSION = 0,
1001 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1002 VK_QUERY_TYPE_TIMESTAMP = 2,
1003 VK_QUERY_TYPE_MAX_ENUM = 0x7fffffff,
1004 } VkQueryType;
1006 typedef enum VkQueueFlagBits
1008 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1009 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1010 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1011 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1012 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1013 } VkQueueFlagBits;
1015 typedef enum VkResult
1017 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = -1000069000,
1018 VK_ERROR_INVALID_SHADER_NV = -1000012000,
1019 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
1020 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
1021 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
1022 VK_ERROR_FRAGMENTED_POOL = -12,
1023 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
1024 VK_ERROR_TOO_MANY_OBJECTS = -10,
1025 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
1026 VK_ERROR_FEATURE_NOT_PRESENT = -8,
1027 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
1028 VK_ERROR_LAYER_NOT_PRESENT = -6,
1029 VK_ERROR_MEMORY_MAP_FAILED = -5,
1030 VK_ERROR_DEVICE_LOST = -4,
1031 VK_ERROR_INITIALIZATION_FAILED = -3,
1032 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
1033 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
1034 VK_SUCCESS = 0,
1035 VK_NOT_READY = 1,
1036 VK_TIMEOUT = 2,
1037 VK_EVENT_SET = 3,
1038 VK_EVENT_RESET = 4,
1039 VK_INCOMPLETE = 5,
1040 VK_SUBOPTIMAL_KHR = 1000001003,
1041 VK_RESULT_MAX_ENUM = 0x7fffffff,
1042 } VkResult;
1044 typedef enum VkSampleCountFlagBits
1046 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1047 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1048 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1049 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1050 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1051 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1052 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1053 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1054 } VkSampleCountFlagBits;
1056 typedef enum VkSamplerAddressMode
1058 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1059 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1060 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1061 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1062 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7fffffff,
1063 } VkSamplerAddressMode;
1065 typedef enum VkSamplerMipmapMode
1067 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1068 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1069 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7fffffff,
1070 } VkSamplerMipmapMode;
1072 typedef enum VkShaderStageFlagBits
1074 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
1075 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
1076 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
1077 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
1078 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
1079 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001f,
1080 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
1081 VK_SHADER_STAGE_ALL = 0x7fffffff,
1082 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1083 } VkShaderStageFlagBits;
1085 typedef enum VkSharingMode
1087 VK_SHARING_MODE_EXCLUSIVE = 0,
1088 VK_SHARING_MODE_CONCURRENT = 1,
1089 VK_SHARING_MODE_MAX_ENUM = 0x7fffffff,
1090 } VkSharingMode;
1092 typedef enum VkSparseImageFormatFlagBits
1094 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
1095 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
1096 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
1097 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1098 } VkSparseImageFormatFlagBits;
1100 typedef enum VkSparseMemoryBindFlagBits
1102 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
1103 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1104 } VkSparseMemoryBindFlagBits;
1106 typedef enum VkStencilOp
1108 VK_STENCIL_OP_KEEP = 0,
1109 VK_STENCIL_OP_ZERO = 1,
1110 VK_STENCIL_OP_REPLACE = 2,
1111 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1112 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1113 VK_STENCIL_OP_INVERT = 5,
1114 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1115 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1116 VK_STENCIL_OP_MAX_ENUM = 0x7fffffff,
1117 } VkStencilOp;
1119 typedef enum VkStructureType
1121 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
1122 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
1123 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
1124 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
1125 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
1126 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
1127 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
1128 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
1129 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
1130 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
1131 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
1132 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
1133 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
1134 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
1135 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
1136 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
1137 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
1138 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
1139 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
1140 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
1141 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
1142 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
1143 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
1144 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
1145 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
1146 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
1147 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
1148 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
1149 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
1150 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
1151 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
1152 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
1153 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
1154 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
1155 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
1156 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
1157 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
1158 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
1159 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
1160 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
1161 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
1162 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
1163 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
1164 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
1165 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
1166 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
1167 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
1168 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
1169 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
1170 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1171 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1172 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
1173 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
1174 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1175 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1176 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1177 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1178 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1179 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = 1000059000,
1181 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = 1000059001,
1182 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = 1000059002,
1183 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059003,
1184 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = 1000059004,
1185 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000059005,
1186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = 1000059006,
1187 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059007,
1188 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = 1000059008,
1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1190 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1191 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = 1000085000,
1192 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1193 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1194 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1195 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1196 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7fffffff,
1197 } VkStructureType;
1199 typedef enum VkSubpassContents
1201 VK_SUBPASS_CONTENTS_INLINE = 0,
1202 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1203 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7fffffff,
1204 } VkSubpassContents;
1206 typedef enum VkSubpassDescriptionFlagBits
1208 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1209 } VkSubpassDescriptionFlagBits;
1211 typedef enum VkSurfaceTransformFlagBitsKHR
1213 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
1214 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
1215 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
1216 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
1217 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
1218 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
1219 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
1220 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
1221 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
1222 VK_SURFACE_TRANSFORM_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff,
1223 } VkSurfaceTransformFlagBitsKHR;
1225 typedef enum VkSwapchainCreateFlagBitsKHR
1227 VK_SWAPCHAIN_CREATE_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff,
1228 } VkSwapchainCreateFlagBitsKHR;
1230 typedef enum VkSystemAllocationScope
1232 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1233 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1234 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1235 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1236 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1237 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7fffffff,
1238 } VkSystemAllocationScope;
1240 typedef enum VkVertexInputRate
1242 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1243 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1244 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7fffffff,
1245 } VkVertexInputRate;
1247 typedef void* (VKAPI_PTR * PFN_vkAllocationFunction)(
1248 void *pUserData,
1249 const size_t size,
1250 const size_t alignment,
1251 const VkSystemAllocationScope allocationScope);
1252 typedef void (VKAPI_PTR * PFN_vkFreeFunction)(
1253 void *pUserData,
1254 const void *pMemory);
1255 typedef void (VKAPI_PTR * PFN_vkInternalAllocationNotification)(
1256 void *pUserData,
1257 const size_t size,
1258 const VkInternalAllocationType allocationType,
1259 const VkSystemAllocationScope allocationScope);
1260 typedef void (VKAPI_PTR * PFN_vkInternalFreeNotification)(
1261 void *pUserData,
1262 const size_t size,
1263 const VkInternalAllocationType allocationType,
1264 const VkSystemAllocationScope allocationScope);
1265 typedef void* (VKAPI_PTR * PFN_vkReallocationFunction)(
1266 void *pUserData,
1267 const void *pOriginal,
1268 const size_t size,
1269 const size_t alignment,
1270 const VkSystemAllocationScope allocationScope);
1271 typedef void (VKAPI_PTR * PFN_vkVoidFunction)(
1272 void);
1274 typedef struct VkAttachmentDescription
1276 VkAttachmentDescriptionFlags flags;
1277 VkFormat format;
1278 VkSampleCountFlagBits samples;
1279 VkAttachmentLoadOp loadOp;
1280 VkAttachmentStoreOp storeOp;
1281 VkAttachmentLoadOp stencilLoadOp;
1282 VkAttachmentStoreOp stencilStoreOp;
1283 VkImageLayout initialLayout;
1284 VkImageLayout finalLayout;
1285 } VkAttachmentDescription;
1287 typedef struct VkBufferCopy
1289 VkDeviceSize WINE_VK_ALIGN(8) srcOffset;
1290 VkDeviceSize WINE_VK_ALIGN(8) dstOffset;
1291 VkDeviceSize WINE_VK_ALIGN(8) size;
1292 } VkBufferCopy;
1294 typedef struct VkBufferMemoryBarrier
1296 VkStructureType sType;
1297 const void *pNext;
1298 VkAccessFlags srcAccessMask;
1299 VkAccessFlags dstAccessMask;
1300 uint32_t srcQueueFamilyIndex;
1301 uint32_t dstQueueFamilyIndex;
1302 VkBuffer WINE_VK_ALIGN(8) buffer;
1303 VkDeviceSize WINE_VK_ALIGN(8) offset;
1304 VkDeviceSize WINE_VK_ALIGN(8) size;
1305 } VkBufferMemoryBarrier;
1307 typedef union VkClearColorValue
1309 float float32[4];
1310 int32_t int32[4];
1311 uint32_t uint32[4];
1312 } VkClearColorValue;
1314 typedef struct VkCommandBufferAllocateInfo
1316 VkStructureType sType;
1317 const void *pNext;
1318 VkCommandPool WINE_VK_ALIGN(8) commandPool;
1319 VkCommandBufferLevel level;
1320 uint32_t commandBufferCount;
1321 } VkCommandBufferAllocateInfo;
1323 typedef struct VkCommandBufferInheritanceInfo
1325 VkStructureType sType;
1326 const void *pNext;
1327 VkRenderPass WINE_VK_ALIGN(8) renderPass;
1328 uint32_t subpass;
1329 VkFramebuffer WINE_VK_ALIGN(8) framebuffer;
1330 VkBool32 occlusionQueryEnable;
1331 VkQueryControlFlags queryFlags;
1332 VkQueryPipelineStatisticFlags pipelineStatistics;
1333 } VkCommandBufferInheritanceInfo;
1335 typedef struct VkComponentMapping
1337 VkComponentSwizzle r;
1338 VkComponentSwizzle g;
1339 VkComponentSwizzle b;
1340 VkComponentSwizzle a;
1341 } VkComponentMapping;
1343 typedef struct VkCopyDescriptorSet
1345 VkStructureType sType;
1346 const void *pNext;
1347 VkDescriptorSet WINE_VK_ALIGN(8) srcSet;
1348 uint32_t srcBinding;
1349 uint32_t srcArrayElement;
1350 VkDescriptorSet WINE_VK_ALIGN(8) dstSet;
1351 uint32_t dstBinding;
1352 uint32_t dstArrayElement;
1353 uint32_t descriptorCount;
1354 } VkCopyDescriptorSet;
1356 typedef struct VkDescriptorImageInfo
1358 VkSampler WINE_VK_ALIGN(8) sampler;
1359 VkImageView WINE_VK_ALIGN(8) imageView;
1360 VkImageLayout imageLayout;
1361 } VkDescriptorImageInfo;
1363 typedef struct VkDescriptorPoolSize
1365 VkDescriptorType type;
1366 uint32_t descriptorCount;
1367 } VkDescriptorPoolSize;
1369 typedef struct VkDescriptorSetLayoutBinding
1371 uint32_t binding;
1372 VkDescriptorType descriptorType;
1373 uint32_t descriptorCount;
1374 VkShaderStageFlags stageFlags;
1375 const VkSampler *pImmutableSamplers;
1376 } VkDescriptorSetLayoutBinding;
1378 typedef struct VkDescriptorUpdateTemplateEntryKHR
1380 uint32_t dstBinding;
1381 uint32_t dstArrayElement;
1382 uint32_t descriptorCount;
1383 VkDescriptorType descriptorType;
1384 size_t offset;
1385 size_t stride;
1386 } VkDescriptorUpdateTemplateEntryKHR;
1388 typedef struct VkDispatchIndirectCommand
1390 uint32_t x;
1391 uint32_t y;
1392 uint32_t z;
1393 } VkDispatchIndirectCommand;
1395 typedef struct VkDrawIndirectCommand
1397 uint32_t vertexCount;
1398 uint32_t instanceCount;
1399 uint32_t firstVertex;
1400 uint32_t firstInstance;
1401 } VkDrawIndirectCommand;
1403 typedef struct VkExtensionProperties
1405 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
1406 uint32_t specVersion;
1407 } VkExtensionProperties;
1409 typedef struct VkExtent3D
1411 uint32_t width;
1412 uint32_t height;
1413 uint32_t depth;
1414 } VkExtent3D;
1416 typedef struct VkFormatProperties
1418 VkFormatFeatureFlags linearTilingFeatures;
1419 VkFormatFeatureFlags optimalTilingFeatures;
1420 VkFormatFeatureFlags bufferFeatures;
1421 } VkFormatProperties;
1423 typedef struct VkFramebufferCreateInfo
1425 VkStructureType sType;
1426 const void *pNext;
1427 VkFramebufferCreateFlags flags;
1428 VkRenderPass WINE_VK_ALIGN(8) renderPass;
1429 uint32_t attachmentCount;
1430 const VkImageView *pAttachments;
1431 uint32_t width;
1432 uint32_t height;
1433 uint32_t layers;
1434 } VkFramebufferCreateInfo;
1436 typedef struct VkImageCreateInfo
1438 VkStructureType sType;
1439 const void *pNext;
1440 VkImageCreateFlags flags;
1441 VkImageType imageType;
1442 VkFormat format;
1443 VkExtent3D extent;
1444 uint32_t mipLevels;
1445 uint32_t arrayLayers;
1446 VkSampleCountFlagBits samples;
1447 VkImageTiling tiling;
1448 VkImageUsageFlags usage;
1449 VkSharingMode sharingMode;
1450 uint32_t queueFamilyIndexCount;
1451 const uint32_t *pQueueFamilyIndices;
1452 VkImageLayout initialLayout;
1453 } VkImageCreateInfo;
1455 typedef struct VkImageSubresource
1457 VkImageAspectFlags aspectMask;
1458 uint32_t mipLevel;
1459 uint32_t arrayLayer;
1460 } VkImageSubresource;
1462 typedef struct VkImageSubresourceRange
1464 VkImageAspectFlags aspectMask;
1465 uint32_t baseMipLevel;
1466 uint32_t levelCount;
1467 uint32_t baseArrayLayer;
1468 uint32_t layerCount;
1469 } VkImageSubresourceRange;
1471 typedef struct VkImageViewCreateInfo
1473 VkStructureType sType;
1474 const void *pNext;
1475 VkImageViewCreateFlags flags;
1476 VkImage WINE_VK_ALIGN(8) image;
1477 VkImageViewType viewType;
1478 VkFormat format;
1479 VkComponentMapping components;
1480 VkImageSubresourceRange subresourceRange;
1481 } VkImageViewCreateInfo;
1483 typedef struct VkLayerProperties
1485 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
1486 uint32_t specVersion;
1487 uint32_t implementationVersion;
1488 char description[VK_MAX_DESCRIPTION_SIZE];
1489 } VkLayerProperties;
1491 typedef struct VkMappedMemoryRange
1493 VkStructureType sType;
1494 const void *pNext;
1495 VkDeviceMemory WINE_VK_ALIGN(8) memory;
1496 VkDeviceSize WINE_VK_ALIGN(8) offset;
1497 VkDeviceSize WINE_VK_ALIGN(8) size;
1498 } VkMappedMemoryRange;
1500 typedef struct VkMemoryAllocateInfo
1502 VkStructureType sType;
1503 const void *pNext;
1504 VkDeviceSize WINE_VK_ALIGN(8) allocationSize;
1505 uint32_t memoryTypeIndex;
1506 } VkMemoryAllocateInfo;
1508 typedef struct VkMemoryRequirements
1510 VkDeviceSize WINE_VK_ALIGN(8) size;
1511 VkDeviceSize WINE_VK_ALIGN(8) alignment;
1512 uint32_t memoryTypeBits;
1513 } VkMemoryRequirements;
1515 typedef struct VkOffset3D
1517 int32_t x;
1518 int32_t y;
1519 int32_t z;
1520 } VkOffset3D;
1522 typedef struct VkPhysicalDeviceFeatures
1524 VkBool32 robustBufferAccess;
1525 VkBool32 fullDrawIndexUint32;
1526 VkBool32 imageCubeArray;
1527 VkBool32 independentBlend;
1528 VkBool32 geometryShader;
1529 VkBool32 tessellationShader;
1530 VkBool32 sampleRateShading;
1531 VkBool32 dualSrcBlend;
1532 VkBool32 logicOp;
1533 VkBool32 multiDrawIndirect;
1534 VkBool32 drawIndirectFirstInstance;
1535 VkBool32 depthClamp;
1536 VkBool32 depthBiasClamp;
1537 VkBool32 fillModeNonSolid;
1538 VkBool32 depthBounds;
1539 VkBool32 wideLines;
1540 VkBool32 largePoints;
1541 VkBool32 alphaToOne;
1542 VkBool32 multiViewport;
1543 VkBool32 samplerAnisotropy;
1544 VkBool32 textureCompressionETC2;
1545 VkBool32 textureCompressionASTC_LDR;
1546 VkBool32 textureCompressionBC;
1547 VkBool32 occlusionQueryPrecise;
1548 VkBool32 pipelineStatisticsQuery;
1549 VkBool32 vertexPipelineStoresAndAtomics;
1550 VkBool32 fragmentStoresAndAtomics;
1551 VkBool32 shaderTessellationAndGeometryPointSize;
1552 VkBool32 shaderImageGatherExtended;
1553 VkBool32 shaderStorageImageExtendedFormats;
1554 VkBool32 shaderStorageImageMultisample;
1555 VkBool32 shaderStorageImageReadWithoutFormat;
1556 VkBool32 shaderStorageImageWriteWithoutFormat;
1557 VkBool32 shaderUniformBufferArrayDynamicIndexing;
1558 VkBool32 shaderSampledImageArrayDynamicIndexing;
1559 VkBool32 shaderStorageBufferArrayDynamicIndexing;
1560 VkBool32 shaderStorageImageArrayDynamicIndexing;
1561 VkBool32 shaderClipDistance;
1562 VkBool32 shaderCullDistance;
1563 VkBool32 shaderFloat64;
1564 VkBool32 shaderInt64;
1565 VkBool32 shaderInt16;
1566 VkBool32 shaderResourceResidency;
1567 VkBool32 shaderResourceMinLod;
1568 VkBool32 sparseBinding;
1569 VkBool32 sparseResidencyBuffer;
1570 VkBool32 sparseResidencyImage2D;
1571 VkBool32 sparseResidencyImage3D;
1572 VkBool32 sparseResidency2Samples;
1573 VkBool32 sparseResidency4Samples;
1574 VkBool32 sparseResidency8Samples;
1575 VkBool32 sparseResidency16Samples;
1576 VkBool32 sparseResidencyAliased;
1577 VkBool32 variableMultisampleRate;
1578 VkBool32 inheritedQueries;
1579 } VkPhysicalDeviceFeatures;
1581 typedef struct VkPhysicalDeviceImageFormatInfo2KHR
1583 VkStructureType sType;
1584 const void *pNext;
1585 VkFormat format;
1586 VkImageType type;
1587 VkImageTiling tiling;
1588 VkImageUsageFlags usage;
1589 VkImageCreateFlags flags;
1590 } VkPhysicalDeviceImageFormatInfo2KHR;
1592 typedef struct VkPhysicalDeviceSparseProperties
1594 VkBool32 residencyStandard2DBlockShape;
1595 VkBool32 residencyStandard2DMultisampleBlockShape;
1596 VkBool32 residencyStandard3DBlockShape;
1597 VkBool32 residencyAlignedMipSize;
1598 VkBool32 residencyNonResidentStrict;
1599 } VkPhysicalDeviceSparseProperties;
1601 typedef struct VkPipelineCacheCreateInfo
1603 VkStructureType sType;
1604 const void *pNext;
1605 VkPipelineCacheCreateFlags flags;
1606 size_t initialDataSize;
1607 const void *pInitialData;
1608 } VkPipelineCacheCreateInfo;
1610 typedef struct VkPipelineInputAssemblyStateCreateInfo
1612 VkStructureType sType;
1613 const void *pNext;
1614 VkPipelineInputAssemblyStateCreateFlags flags;
1615 VkPrimitiveTopology topology;
1616 VkBool32 primitiveRestartEnable;
1617 } VkPipelineInputAssemblyStateCreateInfo;
1619 typedef struct VkPipelineMultisampleStateCreateInfo
1621 VkStructureType sType;
1622 const void *pNext;
1623 VkPipelineMultisampleStateCreateFlags flags;
1624 VkSampleCountFlagBits rasterizationSamples;
1625 VkBool32 sampleShadingEnable;
1626 float minSampleShading;
1627 const VkSampleMask *pSampleMask;
1628 VkBool32 alphaToCoverageEnable;
1629 VkBool32 alphaToOneEnable;
1630 } VkPipelineMultisampleStateCreateInfo;
1632 typedef struct VkPipelineTessellationStateCreateInfo
1634 VkStructureType sType;
1635 const void *pNext;
1636 VkPipelineTessellationStateCreateFlags flags;
1637 uint32_t patchControlPoints;
1638 } VkPipelineTessellationStateCreateInfo;
1640 typedef struct VkPresentInfoKHR
1642 VkStructureType sType;
1643 const void *pNext;
1644 uint32_t waitSemaphoreCount;
1645 const VkSemaphore *pWaitSemaphores;
1646 uint32_t swapchainCount;
1647 const VkSwapchainKHR *pSwapchains;
1648 const uint32_t *pImageIndices;
1649 VkResult *pResults;
1650 } VkPresentInfoKHR;
1652 typedef struct VkQueryPoolCreateInfo
1654 VkStructureType sType;
1655 const void *pNext;
1656 VkQueryPoolCreateFlags flags;
1657 VkQueryType queryType;
1658 uint32_t queryCount;
1659 VkQueryPipelineStatisticFlags pipelineStatistics;
1660 } VkQueryPoolCreateInfo;
1662 typedef struct VkSemaphoreCreateInfo
1664 VkStructureType sType;
1665 const void *pNext;
1666 VkSemaphoreCreateFlags flags;
1667 } VkSemaphoreCreateInfo;
1669 typedef struct VkSparseImageFormatProperties
1671 VkImageAspectFlags aspectMask;
1672 VkExtent3D imageGranularity;
1673 VkSparseImageFormatFlags flags;
1674 } VkSparseImageFormatProperties;
1676 typedef struct VkSparseImageMemoryBind
1678 VkImageSubresource subresource;
1679 VkOffset3D offset;
1680 VkExtent3D extent;
1681 VkDeviceMemory WINE_VK_ALIGN(8) memory;
1682 VkDeviceSize WINE_VK_ALIGN(8) memoryOffset;
1683 VkSparseMemoryBindFlags flags;
1684 } VkSparseImageMemoryBind;
1686 typedef struct VkSparseImageMemoryRequirements
1688 VkSparseImageFormatProperties formatProperties;
1689 uint32_t imageMipTailFirstLod;
1690 VkDeviceSize WINE_VK_ALIGN(8) imageMipTailSize;
1691 VkDeviceSize WINE_VK_ALIGN(8) imageMipTailOffset;
1692 VkDeviceSize WINE_VK_ALIGN(8) imageMipTailStride;
1693 } VkSparseImageMemoryRequirements;
1695 typedef struct VkSparseMemoryBind
1697 VkDeviceSize WINE_VK_ALIGN(8) resourceOffset;
1698 VkDeviceSize WINE_VK_ALIGN(8) size;
1699 VkDeviceMemory WINE_VK_ALIGN(8) memory;
1700 VkDeviceSize WINE_VK_ALIGN(8) memoryOffset;
1701 VkSparseMemoryBindFlags flags;
1702 } VkSparseMemoryBind;
1704 typedef struct VkSpecializationMapEntry
1706 uint32_t constantID;
1707 uint32_t offset;
1708 size_t size;
1709 } VkSpecializationMapEntry;
1711 typedef struct VkSubmitInfo
1713 VkStructureType sType;
1714 const void *pNext;
1715 uint32_t waitSemaphoreCount;
1716 const VkSemaphore *pWaitSemaphores;
1717 const VkPipelineStageFlags *pWaitDstStageMask;
1718 uint32_t commandBufferCount;
1719 const VkCommandBuffer *pCommandBuffers;
1720 uint32_t signalSemaphoreCount;
1721 const VkSemaphore *pSignalSemaphores;
1722 } VkSubmitInfo;
1724 typedef struct VkSubresourceLayout
1726 VkDeviceSize WINE_VK_ALIGN(8) offset;
1727 VkDeviceSize WINE_VK_ALIGN(8) size;
1728 VkDeviceSize WINE_VK_ALIGN(8) rowPitch;
1729 VkDeviceSize WINE_VK_ALIGN(8) arrayPitch;
1730 VkDeviceSize WINE_VK_ALIGN(8) depthPitch;
1731 } VkSubresourceLayout;
1733 typedef struct VkVertexInputAttributeDescription
1735 uint32_t location;
1736 uint32_t binding;
1737 VkFormat format;
1738 uint32_t offset;
1739 } VkVertexInputAttributeDescription;
1741 typedef struct VkAllocationCallbacks
1743 void *pUserData;
1744 PFN_vkAllocationFunction pfnAllocation;
1745 PFN_vkReallocationFunction pfnReallocation;
1746 PFN_vkFreeFunction pfnFree;
1747 PFN_vkInternalAllocationNotification pfnInternalAllocation;
1748 PFN_vkInternalFreeNotification pfnInternalFree;
1749 } VkAllocationCallbacks;
1751 typedef struct VkAttachmentReference
1753 uint32_t attachment;
1754 VkImageLayout layout;
1755 } VkAttachmentReference;
1757 typedef struct VkBufferCreateInfo
1759 VkStructureType sType;
1760 const void *pNext;
1761 VkBufferCreateFlags flags;
1762 VkDeviceSize WINE_VK_ALIGN(8) size;
1763 VkBufferUsageFlags usage;
1764 VkSharingMode sharingMode;
1765 uint32_t queueFamilyIndexCount;
1766 const uint32_t *pQueueFamilyIndices;
1767 } VkBufferCreateInfo;
1769 typedef struct VkBufferViewCreateInfo
1771 VkStructureType sType;
1772 const void *pNext;
1773 VkBufferViewCreateFlags flags;
1774 VkBuffer WINE_VK_ALIGN(8) buffer;
1775 VkFormat format;
1776 VkDeviceSize WINE_VK_ALIGN(8) offset;
1777 VkDeviceSize WINE_VK_ALIGN(8) range;
1778 } VkBufferViewCreateInfo;
1780 typedef struct VkClearDepthStencilValue
1782 float depth;
1783 uint32_t stencil;
1784 } VkClearDepthStencilValue;
1786 typedef union VkClearValue
1788 VkClearColorValue color;
1789 VkClearDepthStencilValue depthStencil;
1790 } VkClearValue;
1792 typedef struct VkCommandBufferBeginInfo
1794 VkStructureType sType;
1795 const void *pNext;
1796 VkCommandBufferUsageFlags flags;
1797 const VkCommandBufferInheritanceInfo *pInheritanceInfo;
1798 } VkCommandBufferBeginInfo;
1800 typedef struct VkDescriptorBufferInfo
1802 VkBuffer WINE_VK_ALIGN(8) buffer;
1803 VkDeviceSize WINE_VK_ALIGN(8) offset;
1804 VkDeviceSize WINE_VK_ALIGN(8) range;
1805 } VkDescriptorBufferInfo;
1807 typedef struct VkDescriptorSetAllocateInfo
1809 VkStructureType sType;
1810 const void *pNext;
1811 VkDescriptorPool WINE_VK_ALIGN(8) descriptorPool;
1812 uint32_t descriptorSetCount;
1813 const VkDescriptorSetLayout *pSetLayouts;
1814 } VkDescriptorSetAllocateInfo;
1816 typedef struct VkDescriptorUpdateTemplateCreateInfoKHR
1818 VkStructureType sType;
1819 void *pNext;
1820 VkDescriptorUpdateTemplateCreateFlagsKHR flags;
1821 uint32_t descriptorUpdateEntryCount;
1822 const VkDescriptorUpdateTemplateEntryKHR *pDescriptorUpdateEntries;
1823 VkDescriptorUpdateTemplateTypeKHR templateType;
1824 VkDescriptorSetLayout WINE_VK_ALIGN(8) descriptorSetLayout;
1825 VkPipelineBindPoint pipelineBindPoint;
1826 VkPipelineLayout WINE_VK_ALIGN(8) pipelineLayout;
1827 uint32_t set;
1828 } VkDescriptorUpdateTemplateCreateInfoKHR;
1830 typedef struct VkEventCreateInfo
1832 VkStructureType sType;
1833 const void *pNext;
1834 VkEventCreateFlags flags;
1835 } VkEventCreateInfo;
1837 typedef struct VkExtent2D
1839 uint32_t width;
1840 uint32_t height;
1841 } VkExtent2D;
1843 typedef struct VkFormatProperties2KHR
1845 VkStructureType sType;
1846 void *pNext;
1847 VkFormatProperties formatProperties;
1848 } VkFormatProperties2KHR;
1850 typedef struct VkImageFormatProperties
1852 VkExtent3D maxExtent;
1853 uint32_t maxMipLevels;
1854 uint32_t maxArrayLayers;
1855 VkSampleCountFlags sampleCounts;
1856 VkDeviceSize WINE_VK_ALIGN(8) maxResourceSize;
1857 } VkImageFormatProperties;
1859 typedef struct VkImageMemoryBarrier
1861 VkStructureType sType;
1862 const void *pNext;
1863 VkAccessFlags srcAccessMask;
1864 VkAccessFlags dstAccessMask;
1865 VkImageLayout oldLayout;
1866 VkImageLayout newLayout;
1867 uint32_t srcQueueFamilyIndex;
1868 uint32_t dstQueueFamilyIndex;
1869 VkImage WINE_VK_ALIGN(8) image;
1870 VkImageSubresourceRange subresourceRange;
1871 } VkImageMemoryBarrier;
1873 typedef struct VkImageSubresourceLayers
1875 VkImageAspectFlags aspectMask;
1876 uint32_t mipLevel;
1877 uint32_t baseArrayLayer;
1878 uint32_t layerCount;
1879 } VkImageSubresourceLayers;
1881 typedef struct VkMemoryBarrier
1883 VkStructureType sType;
1884 const void *pNext;
1885 VkAccessFlags srcAccessMask;
1886 VkAccessFlags dstAccessMask;
1887 } VkMemoryBarrier;
1889 typedef struct VkMemoryType
1891 VkMemoryPropertyFlags propertyFlags;
1892 uint32_t heapIndex;
1893 } VkMemoryType;
1895 typedef struct VkPhysicalDeviceSparseImageFormatInfo2KHR
1897 VkStructureType sType;
1898 const void *pNext;
1899 VkFormat format;
1900 VkImageType type;
1901 VkSampleCountFlagBits samples;
1902 VkImageUsageFlags usage;
1903 VkImageTiling tiling;
1904 } VkPhysicalDeviceSparseImageFormatInfo2KHR;
1906 typedef struct VkPipelineColorBlendAttachmentState
1908 VkBool32 blendEnable;
1909 VkBlendFactor srcColorBlendFactor;
1910 VkBlendFactor dstColorBlendFactor;
1911 VkBlendOp colorBlendOp;
1912 VkBlendFactor srcAlphaBlendFactor;
1913 VkBlendFactor dstAlphaBlendFactor;
1914 VkBlendOp alphaBlendOp;
1915 VkColorComponentFlags colorWriteMask;
1916 } VkPipelineColorBlendAttachmentState;
1918 typedef struct VkPipelineDynamicStateCreateInfo
1920 VkStructureType sType;
1921 const void *pNext;
1922 VkPipelineDynamicStateCreateFlags flags;
1923 uint32_t dynamicStateCount;
1924 const VkDynamicState *pDynamicStates;
1925 } VkPipelineDynamicStateCreateInfo;
1927 typedef struct VkPipelineRasterizationStateCreateInfo
1929 VkStructureType sType;
1930 const void *pNext;
1931 VkPipelineRasterizationStateCreateFlags flags;
1932 VkBool32 depthClampEnable;
1933 VkBool32 rasterizerDiscardEnable;
1934 VkPolygonMode polygonMode;
1935 VkCullModeFlags cullMode;
1936 VkFrontFace frontFace;
1937 VkBool32 depthBiasEnable;
1938 float depthBiasConstantFactor;
1939 float depthBiasClamp;
1940 float depthBiasSlopeFactor;
1941 float lineWidth;
1942 } VkPipelineRasterizationStateCreateInfo;
1944 typedef struct VkQueueFamilyProperties
1946 VkQueueFlags queueFlags;
1947 uint32_t queueCount;
1948 uint32_t timestampValidBits;
1949 VkExtent3D minImageTransferGranularity;
1950 } VkQueueFamilyProperties;
1952 typedef struct VkSamplerCreateInfo
1954 VkStructureType sType;
1955 const void *pNext;
1956 VkSamplerCreateFlags flags;
1957 VkFilter magFilter;
1958 VkFilter minFilter;
1959 VkSamplerMipmapMode mipmapMode;
1960 VkSamplerAddressMode addressModeU;
1961 VkSamplerAddressMode addressModeV;
1962 VkSamplerAddressMode addressModeW;
1963 float mipLodBias;
1964 VkBool32 anisotropyEnable;
1965 float maxAnisotropy;
1966 VkBool32 compareEnable;
1967 VkCompareOp compareOp;
1968 float minLod;
1969 float maxLod;
1970 VkBorderColor borderColor;
1971 VkBool32 unnormalizedCoordinates;
1972 } VkSamplerCreateInfo;
1974 typedef struct VkSparseBufferMemoryBindInfo
1976 VkBuffer WINE_VK_ALIGN(8) buffer;
1977 uint32_t bindCount;
1978 const VkSparseMemoryBind *pBinds;
1979 } VkSparseBufferMemoryBindInfo;
1981 typedef struct VkSparseImageMemoryBindInfo
1983 VkImage WINE_VK_ALIGN(8) image;
1984 uint32_t bindCount;
1985 const VkSparseImageMemoryBind *pBinds;
1986 } VkSparseImageMemoryBindInfo;
1988 typedef struct VkSpecializationInfo
1990 uint32_t mapEntryCount;
1991 const VkSpecializationMapEntry *pMapEntries;
1992 size_t dataSize;
1993 const void *pData;
1994 } VkSpecializationInfo;
1996 typedef struct VkSubpassDependency
1998 uint32_t srcSubpass;
1999 uint32_t dstSubpass;
2000 VkPipelineStageFlags srcStageMask;
2001 VkPipelineStageFlags dstStageMask;
2002 VkAccessFlags srcAccessMask;
2003 VkAccessFlags dstAccessMask;
2004 VkDependencyFlags dependencyFlags;
2005 } VkSubpassDependency;
2007 typedef struct VkSurfaceFormatKHR
2009 VkFormat format;
2010 VkColorSpaceKHR colorSpace;
2011 } VkSurfaceFormatKHR;
2013 typedef struct VkViewport
2015 float x;
2016 float y;
2017 float width;
2018 float height;
2019 float minDepth;
2020 float maxDepth;
2021 } VkViewport;
2023 typedef struct VkWriteDescriptorSet
2025 VkStructureType sType;
2026 const void *pNext;
2027 VkDescriptorSet WINE_VK_ALIGN(8) dstSet;
2028 uint32_t dstBinding;
2029 uint32_t dstArrayElement;
2030 uint32_t descriptorCount;
2031 VkDescriptorType descriptorType;
2032 const VkDescriptorImageInfo *pImageInfo;
2033 const VkDescriptorBufferInfo *pBufferInfo;
2034 const VkBufferView *pTexelBufferView;
2035 } VkWriteDescriptorSet;
2037 typedef struct VkApplicationInfo
2039 VkStructureType sType;
2040 const void *pNext;
2041 const char *pApplicationName;
2042 uint32_t applicationVersion;
2043 const char *pEngineName;
2044 uint32_t engineVersion;
2045 uint32_t apiVersion;
2046 } VkApplicationInfo;
2048 typedef struct VkBufferImageCopy
2050 VkDeviceSize WINE_VK_ALIGN(8) bufferOffset;
2051 uint32_t bufferRowLength;
2052 uint32_t bufferImageHeight;
2053 VkImageSubresourceLayers imageSubresource;
2054 VkOffset3D imageOffset;
2055 VkExtent3D imageExtent;
2056 } VkBufferImageCopy;
2058 typedef struct VkDescriptorPoolCreateInfo
2060 VkStructureType sType;
2061 const void *pNext;
2062 VkDescriptorPoolCreateFlags flags;
2063 uint32_t maxSets;
2064 uint32_t poolSizeCount;
2065 const VkDescriptorPoolSize *pPoolSizes;
2066 } VkDescriptorPoolCreateInfo;
2068 typedef struct VkDeviceQueueCreateInfo
2070 VkStructureType sType;
2071 const void *pNext;
2072 VkDeviceQueueCreateFlags flags;
2073 uint32_t queueFamilyIndex;
2074 uint32_t queueCount;
2075 const float *pQueuePriorities;
2076 } VkDeviceQueueCreateInfo;
2078 typedef struct VkFenceCreateInfo
2080 VkStructureType sType;
2081 const void *pNext;
2082 VkFenceCreateFlags flags;
2083 } VkFenceCreateInfo;
2085 typedef struct VkImageBlit
2087 VkImageSubresourceLayers srcSubresource;
2088 VkOffset3D srcOffsets[2];
2089 VkImageSubresourceLayers dstSubresource;
2090 VkOffset3D dstOffsets[2];
2091 } VkImageBlit;
2093 typedef struct VkImageFormatProperties2KHR
2095 VkStructureType sType;
2096 void *pNext;
2097 VkImageFormatProperties WINE_VK_ALIGN(8) imageFormatProperties;
2098 } VkImageFormatProperties2KHR;
2100 typedef struct VkOffset2D
2102 int32_t x;
2103 int32_t y;
2104 } VkOffset2D;
2106 typedef struct VkPhysicalDeviceFeatures2KHR
2108 VkStructureType sType;
2109 void *pNext;
2110 VkPhysicalDeviceFeatures features;
2111 } VkPhysicalDeviceFeatures2KHR;
2113 typedef struct VkPipelineShaderStageCreateInfo
2115 VkStructureType sType;
2116 const void *pNext;
2117 VkPipelineShaderStageCreateFlags flags;
2118 VkShaderStageFlagBits stage;
2119 VkShaderModule WINE_VK_ALIGN(8) module;
2120 const char *pName;
2121 const VkSpecializationInfo *pSpecializationInfo;
2122 } VkPipelineShaderStageCreateInfo;
2124 typedef struct VkQueueFamilyProperties2KHR
2126 VkStructureType sType;
2127 void *pNext;
2128 VkQueueFamilyProperties queueFamilyProperties;
2129 } VkQueueFamilyProperties2KHR;
2131 typedef struct VkShaderModuleCreateInfo
2133 VkStructureType sType;
2134 const void *pNext;
2135 VkShaderModuleCreateFlags flags;
2136 size_t codeSize;
2137 const uint32_t *pCode;
2138 } VkShaderModuleCreateInfo;
2140 typedef struct VkSparseImageOpaqueMemoryBindInfo
2142 VkImage WINE_VK_ALIGN(8) image;
2143 uint32_t bindCount;
2144 const VkSparseMemoryBind *pBinds;
2145 } VkSparseImageOpaqueMemoryBindInfo;
2147 typedef struct VkSubpassDescription
2149 VkSubpassDescriptionFlags flags;
2150 VkPipelineBindPoint pipelineBindPoint;
2151 uint32_t inputAttachmentCount;
2152 const VkAttachmentReference *pInputAttachments;
2153 uint32_t colorAttachmentCount;
2154 const VkAttachmentReference *pColorAttachments;
2155 const VkAttachmentReference *pResolveAttachments;
2156 const VkAttachmentReference *pDepthStencilAttachment;
2157 uint32_t preserveAttachmentCount;
2158 const uint32_t *pPreserveAttachments;
2159 } VkSubpassDescription;
2161 typedef struct VkSwapchainCreateInfoKHR
2163 VkStructureType sType;
2164 const void *pNext;
2165 VkSwapchainCreateFlagsKHR flags;
2166 VkSurfaceKHR WINE_VK_ALIGN(8) surface;
2167 uint32_t minImageCount;
2168 VkFormat imageFormat;
2169 VkColorSpaceKHR imageColorSpace;
2170 VkExtent2D imageExtent;
2171 uint32_t imageArrayLayers;
2172 VkImageUsageFlags imageUsage;
2173 VkSharingMode imageSharingMode;
2174 uint32_t queueFamilyIndexCount;
2175 const uint32_t *pQueueFamilyIndices;
2176 VkSurfaceTransformFlagBitsKHR preTransform;
2177 VkCompositeAlphaFlagBitsKHR compositeAlpha;
2178 VkPresentModeKHR presentMode;
2179 VkBool32 clipped;
2180 VkSwapchainKHR WINE_VK_ALIGN(8) oldSwapchain;
2181 } VkSwapchainCreateInfoKHR;
2183 typedef struct VkViewportWScalingNV
2185 float xcoeff;
2186 float ycoeff;
2187 } VkViewportWScalingNV;
2189 typedef struct VkClearAttachment
2191 VkImageAspectFlags aspectMask;
2192 uint32_t colorAttachment;
2193 VkClearValue clearValue;
2194 } VkClearAttachment;
2196 typedef struct VkCommandPoolCreateInfo
2198 VkStructureType sType;
2199 const void *pNext;
2200 VkCommandPoolCreateFlags flags;
2201 uint32_t queueFamilyIndex;
2202 } VkCommandPoolCreateInfo;
2204 typedef struct VkDeviceCreateInfo
2206 VkStructureType sType;
2207 const void *pNext;
2208 VkDeviceCreateFlags flags;
2209 uint32_t queueCreateInfoCount;
2210 const VkDeviceQueueCreateInfo *pQueueCreateInfos;
2211 uint32_t enabledLayerCount;
2212 const char * const*ppEnabledLayerNames;
2213 uint32_t enabledExtensionCount;
2214 const char * const*ppEnabledExtensionNames;
2215 const VkPhysicalDeviceFeatures *pEnabledFeatures;
2216 } VkDeviceCreateInfo;
2218 typedef struct VkImageCopy
2220 VkImageSubresourceLayers srcSubresource;
2221 VkOffset3D srcOffset;
2222 VkImageSubresourceLayers dstSubresource;
2223 VkOffset3D dstOffset;
2224 VkExtent3D extent;
2225 } VkImageCopy;
2227 typedef struct VkMemoryHeap
2229 VkDeviceSize WINE_VK_ALIGN(8) size;
2230 VkMemoryHeapFlags flags;
2231 } VkMemoryHeap;
2233 typedef struct VkPhysicalDeviceMemoryProperties
2235 uint32_t memoryTypeCount;
2236 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2237 uint32_t memoryHeapCount;
2238 VkMemoryHeap WINE_VK_ALIGN(8) memoryHeaps[VK_MAX_MEMORY_HEAPS];
2239 } VkPhysicalDeviceMemoryProperties;
2241 typedef struct VkPipelineColorBlendStateCreateInfo
2243 VkStructureType sType;
2244 const void *pNext;
2245 VkPipelineColorBlendStateCreateFlags flags;
2246 VkBool32 logicOpEnable;
2247 VkLogicOp logicOp;
2248 uint32_t attachmentCount;
2249 const VkPipelineColorBlendAttachmentState *pAttachments;
2250 float blendConstants[4];
2251 } VkPipelineColorBlendStateCreateInfo;
2253 typedef struct VkPushConstantRange
2255 VkShaderStageFlags stageFlags;
2256 uint32_t offset;
2257 uint32_t size;
2258 } VkPushConstantRange;
2260 typedef struct VkRenderPassCreateInfo
2262 VkStructureType sType;
2263 const void *pNext;
2264 VkRenderPassCreateFlags flags;
2265 uint32_t attachmentCount;
2266 const VkAttachmentDescription *pAttachments;
2267 uint32_t subpassCount;
2268 const VkSubpassDescription *pSubpasses;
2269 uint32_t dependencyCount;
2270 const VkSubpassDependency *pDependencies;
2271 } VkRenderPassCreateInfo;
2273 typedef struct VkStencilOpState
2275 VkStencilOp failOp;
2276 VkStencilOp passOp;
2277 VkStencilOp depthFailOp;
2278 VkCompareOp compareOp;
2279 uint32_t compareMask;
2280 uint32_t writeMask;
2281 uint32_t reference;
2282 } VkStencilOpState;
2284 typedef struct VkVertexInputBindingDescription
2286 uint32_t binding;
2287 uint32_t stride;
2288 VkVertexInputRate inputRate;
2289 } VkVertexInputBindingDescription;
2291 typedef struct VkBindSparseInfo
2293 VkStructureType sType;
2294 const void *pNext;
2295 uint32_t waitSemaphoreCount;
2296 const VkSemaphore *pWaitSemaphores;
2297 uint32_t bufferBindCount;
2298 const VkSparseBufferMemoryBindInfo *pBufferBinds;
2299 uint32_t imageOpaqueBindCount;
2300 const VkSparseImageOpaqueMemoryBindInfo *pImageOpaqueBinds;
2301 uint32_t imageBindCount;
2302 const VkSparseImageMemoryBindInfo *pImageBinds;
2303 uint32_t signalSemaphoreCount;
2304 const VkSemaphore *pSignalSemaphores;
2305 } VkBindSparseInfo;
2307 typedef struct VkComputePipelineCreateInfo
2309 VkStructureType sType;
2310 const void *pNext;
2311 VkPipelineCreateFlags flags;
2312 VkPipelineShaderStageCreateInfo WINE_VK_ALIGN(8) stage;
2313 VkPipelineLayout WINE_VK_ALIGN(8) layout;
2314 VkPipeline WINE_VK_ALIGN(8) basePipelineHandle;
2315 int32_t basePipelineIndex;
2316 } VkComputePipelineCreateInfo;
2318 typedef struct VkImageResolve
2320 VkImageSubresourceLayers srcSubresource;
2321 VkOffset3D srcOffset;
2322 VkImageSubresourceLayers dstSubresource;
2323 VkOffset3D dstOffset;
2324 VkExtent3D extent;
2325 } VkImageResolve;
2327 typedef struct VkPhysicalDeviceMemoryProperties2KHR
2329 VkStructureType sType;
2330 void *pNext;
2331 VkPhysicalDeviceMemoryProperties WINE_VK_ALIGN(8) memoryProperties;
2332 } VkPhysicalDeviceMemoryProperties2KHR;
2334 typedef struct VkPipelineDepthStencilStateCreateInfo
2336 VkStructureType sType;
2337 const void *pNext;
2338 VkPipelineDepthStencilStateCreateFlags flags;
2339 VkBool32 depthTestEnable;
2340 VkBool32 depthWriteEnable;
2341 VkCompareOp depthCompareOp;
2342 VkBool32 depthBoundsTestEnable;
2343 VkBool32 stencilTestEnable;
2344 VkStencilOpState front;
2345 VkStencilOpState back;
2346 float minDepthBounds;
2347 float maxDepthBounds;
2348 } VkPipelineDepthStencilStateCreateInfo;
2350 typedef struct VkPipelineVertexInputStateCreateInfo
2352 VkStructureType sType;
2353 const void *pNext;
2354 VkPipelineVertexInputStateCreateFlags flags;
2355 uint32_t vertexBindingDescriptionCount;
2356 const VkVertexInputBindingDescription *pVertexBindingDescriptions;
2357 uint32_t vertexAttributeDescriptionCount;
2358 const VkVertexInputAttributeDescription *pVertexAttributeDescriptions;
2359 } VkPipelineVertexInputStateCreateInfo;
2361 typedef struct VkRect2D
2363 VkOffset2D offset;
2364 VkExtent2D extent;
2365 } VkRect2D;
2367 typedef struct VkSparseImageFormatProperties2KHR
2369 VkStructureType sType;
2370 void *pNext;
2371 VkSparseImageFormatProperties properties;
2372 } VkSparseImageFormatProperties2KHR;
2374 typedef struct VkWin32SurfaceCreateInfoKHR
2376 VkStructureType sType;
2377 const void *pNext;
2378 VkWin32SurfaceCreateFlagsKHR flags;
2379 HINSTANCE hinstance;
2380 HWND hwnd;
2381 } VkWin32SurfaceCreateInfoKHR;
2383 typedef struct VkClearRect
2385 VkRect2D rect;
2386 uint32_t baseArrayLayer;
2387 uint32_t layerCount;
2388 } VkClearRect;
2390 typedef struct VkDrawIndexedIndirectCommand
2392 uint32_t indexCount;
2393 uint32_t instanceCount;
2394 uint32_t firstIndex;
2395 int32_t vertexOffset;
2396 uint32_t firstInstance;
2397 } VkDrawIndexedIndirectCommand;
2399 typedef struct VkInstanceCreateInfo
2401 VkStructureType sType;
2402 const void *pNext;
2403 VkInstanceCreateFlags flags;
2404 const VkApplicationInfo *pApplicationInfo;
2405 uint32_t enabledLayerCount;
2406 const char * const*ppEnabledLayerNames;
2407 uint32_t enabledExtensionCount;
2408 const char * const*ppEnabledExtensionNames;
2409 } VkInstanceCreateInfo;
2411 typedef struct VkPipelineLayoutCreateInfo
2413 VkStructureType sType;
2414 const void *pNext;
2415 VkPipelineLayoutCreateFlags flags;
2416 uint32_t setLayoutCount;
2417 const VkDescriptorSetLayout *pSetLayouts;
2418 uint32_t pushConstantRangeCount;
2419 const VkPushConstantRange *pPushConstantRanges;
2420 } VkPipelineLayoutCreateInfo;
2422 typedef struct VkRenderPassBeginInfo
2424 VkStructureType sType;
2425 const void *pNext;
2426 VkRenderPass WINE_VK_ALIGN(8) renderPass;
2427 VkFramebuffer WINE_VK_ALIGN(8) framebuffer;
2428 VkRect2D renderArea;
2429 uint32_t clearValueCount;
2430 const VkClearValue *pClearValues;
2431 } VkRenderPassBeginInfo;
2433 typedef struct VkDescriptorSetLayoutCreateInfo
2435 VkStructureType sType;
2436 const void *pNext;
2437 VkDescriptorSetLayoutCreateFlags flags;
2438 uint32_t bindingCount;
2439 const VkDescriptorSetLayoutBinding *pBindings;
2440 } VkDescriptorSetLayoutCreateInfo;
2442 typedef struct VkPhysicalDeviceLimits
2444 uint32_t maxImageDimension1D;
2445 uint32_t maxImageDimension2D;
2446 uint32_t maxImageDimension3D;
2447 uint32_t maxImageDimensionCube;
2448 uint32_t maxImageArrayLayers;
2449 uint32_t maxTexelBufferElements;
2450 uint32_t maxUniformBufferRange;
2451 uint32_t maxStorageBufferRange;
2452 uint32_t maxPushConstantsSize;
2453 uint32_t maxMemoryAllocationCount;
2454 uint32_t maxSamplerAllocationCount;
2455 VkDeviceSize WINE_VK_ALIGN(8) bufferImageGranularity;
2456 VkDeviceSize WINE_VK_ALIGN(8) sparseAddressSpaceSize;
2457 uint32_t maxBoundDescriptorSets;
2458 uint32_t maxPerStageDescriptorSamplers;
2459 uint32_t maxPerStageDescriptorUniformBuffers;
2460 uint32_t maxPerStageDescriptorStorageBuffers;
2461 uint32_t maxPerStageDescriptorSampledImages;
2462 uint32_t maxPerStageDescriptorStorageImages;
2463 uint32_t maxPerStageDescriptorInputAttachments;
2464 uint32_t maxPerStageResources;
2465 uint32_t maxDescriptorSetSamplers;
2466 uint32_t maxDescriptorSetUniformBuffers;
2467 uint32_t maxDescriptorSetUniformBuffersDynamic;
2468 uint32_t maxDescriptorSetStorageBuffers;
2469 uint32_t maxDescriptorSetStorageBuffersDynamic;
2470 uint32_t maxDescriptorSetSampledImages;
2471 uint32_t maxDescriptorSetStorageImages;
2472 uint32_t maxDescriptorSetInputAttachments;
2473 uint32_t maxVertexInputAttributes;
2474 uint32_t maxVertexInputBindings;
2475 uint32_t maxVertexInputAttributeOffset;
2476 uint32_t maxVertexInputBindingStride;
2477 uint32_t maxVertexOutputComponents;
2478 uint32_t maxTessellationGenerationLevel;
2479 uint32_t maxTessellationPatchSize;
2480 uint32_t maxTessellationControlPerVertexInputComponents;
2481 uint32_t maxTessellationControlPerVertexOutputComponents;
2482 uint32_t maxTessellationControlPerPatchOutputComponents;
2483 uint32_t maxTessellationControlTotalOutputComponents;
2484 uint32_t maxTessellationEvaluationInputComponents;
2485 uint32_t maxTessellationEvaluationOutputComponents;
2486 uint32_t maxGeometryShaderInvocations;
2487 uint32_t maxGeometryInputComponents;
2488 uint32_t maxGeometryOutputComponents;
2489 uint32_t maxGeometryOutputVertices;
2490 uint32_t maxGeometryTotalOutputComponents;
2491 uint32_t maxFragmentInputComponents;
2492 uint32_t maxFragmentOutputAttachments;
2493 uint32_t maxFragmentDualSrcAttachments;
2494 uint32_t maxFragmentCombinedOutputResources;
2495 uint32_t maxComputeSharedMemorySize;
2496 uint32_t maxComputeWorkGroupCount[3];
2497 uint32_t maxComputeWorkGroupInvocations;
2498 uint32_t maxComputeWorkGroupSize[3];
2499 uint32_t subPixelPrecisionBits;
2500 uint32_t subTexelPrecisionBits;
2501 uint32_t mipmapPrecisionBits;
2502 uint32_t maxDrawIndexedIndexValue;
2503 uint32_t maxDrawIndirectCount;
2504 float maxSamplerLodBias;
2505 float maxSamplerAnisotropy;
2506 uint32_t maxViewports;
2507 uint32_t maxViewportDimensions[2];
2508 float viewportBoundsRange[2];
2509 uint32_t viewportSubPixelBits;
2510 size_t minMemoryMapAlignment;
2511 VkDeviceSize WINE_VK_ALIGN(8) minTexelBufferOffsetAlignment;
2512 VkDeviceSize WINE_VK_ALIGN(8) minUniformBufferOffsetAlignment;
2513 VkDeviceSize WINE_VK_ALIGN(8) minStorageBufferOffsetAlignment;
2514 int32_t minTexelOffset;
2515 uint32_t maxTexelOffset;
2516 int32_t minTexelGatherOffset;
2517 uint32_t maxTexelGatherOffset;
2518 float minInterpolationOffset;
2519 float maxInterpolationOffset;
2520 uint32_t subPixelInterpolationOffsetBits;
2521 uint32_t maxFramebufferWidth;
2522 uint32_t maxFramebufferHeight;
2523 uint32_t maxFramebufferLayers;
2524 VkSampleCountFlags framebufferColorSampleCounts;
2525 VkSampleCountFlags framebufferDepthSampleCounts;
2526 VkSampleCountFlags framebufferStencilSampleCounts;
2527 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2528 uint32_t maxColorAttachments;
2529 VkSampleCountFlags sampledImageColorSampleCounts;
2530 VkSampleCountFlags sampledImageIntegerSampleCounts;
2531 VkSampleCountFlags sampledImageDepthSampleCounts;
2532 VkSampleCountFlags sampledImageStencilSampleCounts;
2533 VkSampleCountFlags storageImageSampleCounts;
2534 uint32_t maxSampleMaskWords;
2535 VkBool32 timestampComputeAndGraphics;
2536 float timestampPeriod;
2537 uint32_t maxClipDistances;
2538 uint32_t maxCullDistances;
2539 uint32_t maxCombinedClipAndCullDistances;
2540 uint32_t discreteQueuePriorities;
2541 float pointSizeRange[2];
2542 float lineWidthRange[2];
2543 float pointSizeGranularity;
2544 float lineWidthGranularity;
2545 VkBool32 strictLines;
2546 VkBool32 standardSampleLocations;
2547 VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyOffsetAlignment;
2548 VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyRowPitchAlignment;
2549 VkDeviceSize WINE_VK_ALIGN(8) nonCoherentAtomSize;
2550 } VkPhysicalDeviceLimits;
2552 typedef struct VkPipelineViewportStateCreateInfo
2554 VkStructureType sType;
2555 const void *pNext;
2556 VkPipelineViewportStateCreateFlags flags;
2557 uint32_t viewportCount;
2558 const VkViewport *pViewports;
2559 uint32_t scissorCount;
2560 const VkRect2D *pScissors;
2561 } VkPipelineViewportStateCreateInfo;
2563 typedef struct VkGraphicsPipelineCreateInfo
2565 VkStructureType sType;
2566 const void *pNext;
2567 VkPipelineCreateFlags flags;
2568 uint32_t stageCount;
2569 const VkPipelineShaderStageCreateInfo *pStages;
2570 const VkPipelineVertexInputStateCreateInfo *pVertexInputState;
2571 const VkPipelineInputAssemblyStateCreateInfo *pInputAssemblyState;
2572 const VkPipelineTessellationStateCreateInfo *pTessellationState;
2573 const VkPipelineViewportStateCreateInfo *pViewportState;
2574 const VkPipelineRasterizationStateCreateInfo *pRasterizationState;
2575 const VkPipelineMultisampleStateCreateInfo *pMultisampleState;
2576 const VkPipelineDepthStencilStateCreateInfo *pDepthStencilState;
2577 const VkPipelineColorBlendStateCreateInfo *pColorBlendState;
2578 const VkPipelineDynamicStateCreateInfo *pDynamicState;
2579 VkPipelineLayout WINE_VK_ALIGN(8) layout;
2580 VkRenderPass WINE_VK_ALIGN(8) renderPass;
2581 uint32_t subpass;
2582 VkPipeline WINE_VK_ALIGN(8) basePipelineHandle;
2583 int32_t basePipelineIndex;
2584 } VkGraphicsPipelineCreateInfo;
2586 typedef struct VkSurfaceCapabilitiesKHR
2588 uint32_t minImageCount;
2589 uint32_t maxImageCount;
2590 VkExtent2D currentExtent;
2591 VkExtent2D minImageExtent;
2592 VkExtent2D maxImageExtent;
2593 uint32_t maxImageArrayLayers;
2594 VkSurfaceTransformFlagsKHR supportedTransforms;
2595 VkSurfaceTransformFlagBitsKHR currentTransform;
2596 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
2597 VkImageUsageFlags supportedUsageFlags;
2598 } VkSurfaceCapabilitiesKHR;
2600 typedef struct VkPhysicalDeviceProperties
2602 uint32_t apiVersion;
2603 uint32_t driverVersion;
2604 uint32_t vendorID;
2605 uint32_t deviceID;
2606 VkPhysicalDeviceType deviceType;
2607 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2608 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2609 VkPhysicalDeviceLimits WINE_VK_ALIGN(8) limits;
2610 VkPhysicalDeviceSparseProperties sparseProperties;
2611 } VkPhysicalDeviceProperties;
2613 typedef struct VkPhysicalDeviceProperties2KHR
2615 VkStructureType sType;
2616 void *pNext;
2617 VkPhysicalDeviceProperties WINE_VK_ALIGN(8) properties;
2618 } VkPhysicalDeviceProperties2KHR;
2620 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice, VkSwapchainKHR, uint64_t, VkSemaphore, VkFence, uint32_t *);
2621 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice, const VkCommandBufferAllocateInfo *, VkCommandBuffer *);
2622 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice, const VkDescriptorSetAllocateInfo *, VkDescriptorSet *);
2623 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice, const VkMemoryAllocateInfo *, const VkAllocationCallbacks *, VkDeviceMemory *);
2624 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer, const VkCommandBufferBeginInfo *);
2625 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice, VkBuffer, VkDeviceMemory, VkDeviceSize);
2626 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice, VkImage, VkDeviceMemory, VkDeviceSize);
2627 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer, VkQueryPool, uint32_t, VkQueryControlFlags);
2628 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer, const VkRenderPassBeginInfo *, VkSubpassContents);
2629 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkDescriptorSet *, uint32_t, const uint32_t *);
2630 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkIndexType);
2631 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer, VkPipelineBindPoint, VkPipeline);
2632 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *);
2633 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageBlit *, VkFilter);
2634 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer, uint32_t, const VkClearAttachment *, uint32_t, const VkClearRect *);
2635 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer, VkImage, VkImageLayout, const VkClearColorValue *, uint32_t, const VkImageSubresourceRange *);
2636 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer, VkImage, VkImageLayout, const VkClearDepthStencilValue *, uint32_t, const VkImageSubresourceRange *);
2637 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer, VkBuffer, VkBuffer, uint32_t, const VkBufferCopy *);
2638 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer, VkBuffer, VkImage, VkImageLayout, uint32_t, const VkBufferImageCopy *);
2639 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageCopy *);
2640 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer, VkImage, VkImageLayout, VkBuffer, uint32_t, const VkBufferImageCopy *);
2641 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t, VkBuffer, VkDeviceSize, VkDeviceSize, VkQueryResultFlags);
2642 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer, uint32_t, uint32_t, uint32_t);
2643 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize);
2644 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t);
2645 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, int32_t, uint32_t);
2646 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
2647 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
2648 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
2649 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
2650 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer, VkQueryPool, uint32_t);
2651 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer);
2652 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer, uint32_t, const VkCommandBuffer *);
2653 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, uint32_t);
2654 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer, VkSubpassContents);
2655 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer, VkPipelineStageFlags, VkPipelineStageFlags, VkDependencyFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier *, uint32_t, const VkImageMemoryBarrier *);
2656 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer, VkPipelineLayout, VkShaderStageFlags, uint32_t, uint32_t, const void *);
2657 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkWriteDescriptorSet *);
2658 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer, VkDescriptorUpdateTemplateKHR, VkPipelineLayout, uint32_t, const void *);
2659 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
2660 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t);
2661 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageResolve *);
2662 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer, const float[4]);
2663 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer, float, float, float);
2664 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer, float, float);
2665 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
2666 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
2667 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer, float);
2668 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
2669 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
2670 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
2671 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
2672 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer, uint32_t, uint32_t, const VkViewport *);
2673 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer, uint32_t, uint32_t, const VkViewportWScalingNV *);
2674 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, const void *);
2675 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer, uint32_t, const VkEvent *, VkPipelineStageFlags, VkPipelineStageFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier *, uint32_t, const VkImageMemoryBarrier *);
2676 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer, VkPipelineStageFlagBits, VkQueryPool, uint32_t);
2677 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice, const VkBufferCreateInfo *, const VkAllocationCallbacks *, VkBuffer *);
2678 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice, const VkBufferViewCreateInfo *, const VkAllocationCallbacks *, VkBufferView *);
2679 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice, const VkCommandPoolCreateInfo *, const VkAllocationCallbacks *, VkCommandPool *);
2680 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice, VkPipelineCache, uint32_t, const VkComputePipelineCreateInfo *, const VkAllocationCallbacks *, VkPipeline *);
2681 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice, const VkDescriptorPoolCreateInfo *, const VkAllocationCallbacks *, VkDescriptorPool *);
2682 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, const VkAllocationCallbacks *, VkDescriptorSetLayout *);
2683 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice, const VkDescriptorUpdateTemplateCreateInfoKHR *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplateKHR *);
2684 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice, const VkDeviceCreateInfo *, const VkAllocationCallbacks *, VkDevice *);
2685 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice, const VkEventCreateInfo *, const VkAllocationCallbacks *, VkEvent *);
2686 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice, const VkFenceCreateInfo *, const VkAllocationCallbacks *, VkFence *);
2687 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice, const VkFramebufferCreateInfo *, const VkAllocationCallbacks *, VkFramebuffer *);
2688 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice, VkPipelineCache, uint32_t, const VkGraphicsPipelineCreateInfo *, const VkAllocationCallbacks *, VkPipeline *);
2689 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice, const VkImageCreateInfo *, const VkAllocationCallbacks *, VkImage *);
2690 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice, const VkImageViewCreateInfo *, const VkAllocationCallbacks *, VkImageView *);
2691 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo *, const VkAllocationCallbacks *, VkInstance *);
2692 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice, const VkPipelineCacheCreateInfo *, const VkAllocationCallbacks *, VkPipelineCache *);
2693 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice, const VkPipelineLayoutCreateInfo *, const VkAllocationCallbacks *, VkPipelineLayout *);
2694 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice, const VkQueryPoolCreateInfo *, const VkAllocationCallbacks *, VkQueryPool *);
2695 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice, const VkRenderPassCreateInfo *, const VkAllocationCallbacks *, VkRenderPass *);
2696 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice, const VkSamplerCreateInfo *, const VkAllocationCallbacks *, VkSampler *);
2697 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice, const VkSemaphoreCreateInfo *, const VkAllocationCallbacks *, VkSemaphore *);
2698 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice, const VkShaderModuleCreateInfo *, const VkAllocationCallbacks *, VkShaderModule *);
2699 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *);
2700 typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance, const VkWin32SurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *);
2701 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice, VkBuffer, const VkAllocationCallbacks *);
2702 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice, VkBufferView, const VkAllocationCallbacks *);
2703 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice, VkCommandPool, const VkAllocationCallbacks *);
2704 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice, VkDescriptorPool, const VkAllocationCallbacks *);
2705 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice, VkDescriptorSetLayout, const VkAllocationCallbacks *);
2706 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice, VkDescriptorUpdateTemplateKHR, const VkAllocationCallbacks *);
2707 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice, const VkAllocationCallbacks *);
2708 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice, VkEvent, const VkAllocationCallbacks *);
2709 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice, VkFence, const VkAllocationCallbacks *);
2710 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice, VkFramebuffer, const VkAllocationCallbacks *);
2711 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice, VkImage, const VkAllocationCallbacks *);
2712 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice, VkImageView, const VkAllocationCallbacks *);
2713 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance, const VkAllocationCallbacks *);
2714 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice, VkPipeline, const VkAllocationCallbacks *);
2715 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice, VkPipelineCache, const VkAllocationCallbacks *);
2716 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice, VkPipelineLayout, const VkAllocationCallbacks *);
2717 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice, VkQueryPool, const VkAllocationCallbacks *);
2718 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice, VkRenderPass, const VkAllocationCallbacks *);
2719 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice, VkSampler, const VkAllocationCallbacks *);
2720 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice, VkSemaphore, const VkAllocationCallbacks *);
2721 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice, VkShaderModule, const VkAllocationCallbacks *);
2722 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
2723 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
2724 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice);
2725 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer);
2726 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice, const char *, uint32_t *, VkExtensionProperties *);
2727 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice, uint32_t *, VkLayerProperties *);
2728 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char *, uint32_t *, VkExtensionProperties *);
2729 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t *, VkLayerProperties *);
2730 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance, uint32_t *, VkPhysicalDevice *);
2731 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange *);
2732 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice, VkCommandPool, uint32_t, const VkCommandBuffer *);
2733 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice, VkDescriptorPool, uint32_t, const VkDescriptorSet *);
2734 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice, VkDeviceMemory, const VkAllocationCallbacks *);
2735 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice, VkBuffer, VkMemoryRequirements *);
2736 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice, VkDeviceMemory, VkDeviceSize *);
2737 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice, const char *);
2738 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice, uint32_t, uint32_t, VkQueue *);
2739 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice, VkEvent);
2740 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice, VkFence);
2741 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice, VkImage, VkMemoryRequirements *);
2742 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice, VkImage, uint32_t *, VkSparseImageMemoryRequirements *);
2743 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice, VkImage, const VkImageSubresource *, VkSubresourceLayout *);
2744 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance, const char *);
2745 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice, VkPhysicalDeviceFeatures *);
2746 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice, VkPhysicalDeviceFeatures2KHR *);
2747 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice, VkFormat, VkFormatProperties *);
2748 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice, VkFormat, VkFormatProperties2KHR *);
2749 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkImageTiling, VkImageUsageFlags, VkImageCreateFlags, VkImageFormatProperties *);
2750 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR *, VkImageFormatProperties2KHR *);
2751 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties *);
2752 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2KHR *);
2753 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice, VkPhysicalDeviceProperties *);
2754 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceProperties2KHR *);
2755 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties *);
2756 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties2KHR *);
2757 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkSampleCountFlagBits, VkImageUsageFlags, VkImageTiling, uint32_t *, VkSparseImageFormatProperties *);
2758 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR *, uint32_t *, VkSparseImageFormatProperties2KHR *);
2759 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice, VkSurfaceKHR, VkSurfaceCapabilitiesKHR *);
2760 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkSurfaceFormatKHR *);
2761 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkPresentModeKHR *);
2762 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice, uint32_t, VkSurfaceKHR, VkBool32 *);
2763 typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice, uint32_t);
2764 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice, VkPipelineCache, size_t *, void *);
2765 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice, VkQueryPool, uint32_t, uint32_t, size_t, void *, VkDeviceSize, VkQueryResultFlags);
2766 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice, VkRenderPass, VkExtent2D *);
2767 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice, VkSwapchainKHR, uint32_t *, VkImage *);
2768 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange *);
2769 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice, VkDeviceMemory, VkDeviceSize, VkDeviceSize, VkMemoryMapFlags, void **);
2770 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice, VkPipelineCache, uint32_t, const VkPipelineCache *);
2771 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo *, VkFence);
2772 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
2773 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue, uint32_t, const VkSubmitInfo *, VkFence);
2774 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue);
2775 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer, VkCommandBufferResetFlags);
2776 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice, VkCommandPool, VkCommandPoolResetFlags);
2777 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice, VkDescriptorPool, VkDescriptorPoolResetFlags);
2778 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice, VkEvent);
2779 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice, uint32_t, const VkFence *);
2780 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice, VkEvent);
2781 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice, VkCommandPool, VkCommandPoolTrimFlagsKHR);
2782 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice, VkDeviceMemory);
2783 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplateKHR, const void *);
2784 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice, uint32_t, const VkWriteDescriptorSet *, uint32_t, const VkCopyDescriptorSet *);
2785 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice, uint32_t, const VkFence *, VkBool32, uint64_t);
2787 #ifndef VK_NO_PROTOTYPES
2788 VkResult VKAPI_CALL vkAcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t *pImageIndex);
2789 VkResult VKAPI_CALL vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers);
2790 VkResult VKAPI_CALL vkAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo *pAllocateInfo, VkDescriptorSet *pDescriptorSets);
2791 VkResult VKAPI_CALL vkAllocateMemory(VkDevice device, const VkMemoryAllocateInfo *pAllocateInfo, const VkAllocationCallbacks *pAllocator, VkDeviceMemory *pMemory);
2792 VkResult VKAPI_CALL vkBeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo *pBeginInfo);
2793 VkResult VKAPI_CALL vkBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
2794 VkResult VKAPI_CALL vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
2795 void VKAPI_CALL vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
2796 void VKAPI_CALL vkCmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo *pRenderPassBegin, VkSubpassContents contents);
2797 void VKAPI_CALL vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t *pDynamicOffsets);
2798 void VKAPI_CALL vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
2799 void VKAPI_CALL vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
2800 void VKAPI_CALL vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer *pBuffers, const VkDeviceSize *pOffsets);
2801 void VKAPI_CALL vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit *pRegions, VkFilter filter);
2802 void VKAPI_CALL vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment *pAttachments, uint32_t rectCount, const VkClearRect *pRects);
2803 void VKAPI_CALL vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue *pColor, uint32_t rangeCount, const VkImageSubresourceRange *pRanges);
2804 void VKAPI_CALL vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue *pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange *pRanges);
2805 void VKAPI_CALL vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy *pRegions);
2806 void VKAPI_CALL vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy *pRegions);
2807 void VKAPI_CALL vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy *pRegions);
2808 void VKAPI_CALL vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy *pRegions);
2809 void VKAPI_CALL vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
2810 void VKAPI_CALL vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
2811 void VKAPI_CALL vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
2812 void VKAPI_CALL vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
2813 void VKAPI_CALL vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
2814 void VKAPI_CALL vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
2815 void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
2816 void VKAPI_CALL vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
2817 void VKAPI_CALL vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
2818 void VKAPI_CALL vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
2819 void VKAPI_CALL vkCmdEndRenderPass(VkCommandBuffer commandBuffer);
2820 void VKAPI_CALL vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers);
2821 void VKAPI_CALL vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
2822 void VKAPI_CALL vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents);
2823 void VKAPI_CALL vkCmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier *pImageMemoryBarriers);
2824 void VKAPI_CALL vkCmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void *pValues);
2825 void VKAPI_CALL vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites);
2826 void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void *pData);
2827 void VKAPI_CALL vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
2828 void VKAPI_CALL vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
2829 void VKAPI_CALL vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve *pRegions);
2830 void VKAPI_CALL vkCmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]);
2831 void VKAPI_CALL vkCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
2832 void VKAPI_CALL vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
2833 void VKAPI_CALL vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D *pDiscardRectangles);
2834 void VKAPI_CALL vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
2835 void VKAPI_CALL vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth);
2836 void VKAPI_CALL vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D *pScissors);
2837 void VKAPI_CALL vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
2838 void VKAPI_CALL vkCmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
2839 void VKAPI_CALL vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
2840 void VKAPI_CALL vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport *pViewports);
2841 void VKAPI_CALL vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV *pViewportWScalings);
2842 void VKAPI_CALL vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void *pData);
2843 void VKAPI_CALL vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent *pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier *pImageMemoryBarriers);
2844 void VKAPI_CALL vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
2845 VkResult VKAPI_CALL vkCreateBuffer(VkDevice device, const VkBufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBuffer *pBuffer);
2846 VkResult VKAPI_CALL vkCreateBufferView(VkDevice device, const VkBufferViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBufferView *pView);
2847 VkResult VKAPI_CALL vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkCommandPool *pCommandPool);
2848 VkResult VKAPI_CALL vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines);
2849 VkResult VKAPI_CALL vkCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorPool *pDescriptorPool);
2850 VkResult VKAPI_CALL vkCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorSetLayout *pSetLayout);
2851 VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplateKHR *pDescriptorUpdateTemplate);
2852 VkResult VKAPI_CALL vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice);
2853 VkResult VKAPI_CALL vkCreateEvent(VkDevice device, const VkEventCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkEvent *pEvent);
2854 VkResult VKAPI_CALL vkCreateFence(VkDevice device, const VkFenceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence);
2855 VkResult VKAPI_CALL vkCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFramebuffer *pFramebuffer);
2856 VkResult VKAPI_CALL vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines);
2857 VkResult VKAPI_CALL vkCreateImage(VkDevice device, const VkImageCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImage *pImage);
2858 VkResult VKAPI_CALL vkCreateImageView(VkDevice device, const VkImageViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImageView *pView);
2859 VkResult VKAPI_CALL vkCreateInstance(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkInstance *pInstance);
2860 VkResult VKAPI_CALL vkCreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineCache *pPipelineCache);
2861 VkResult VKAPI_CALL vkCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineLayout *pPipelineLayout);
2862 VkResult VKAPI_CALL vkCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkQueryPool *pQueryPool);
2863 VkResult VKAPI_CALL vkCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass);
2864 VkResult VKAPI_CALL vkCreateSampler(VkDevice device, const VkSamplerCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSampler *pSampler);
2865 VkResult VKAPI_CALL vkCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSemaphore *pSemaphore);
2866 VkResult VKAPI_CALL vkCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkShaderModule *pShaderModule);
2867 VkResult VKAPI_CALL vkCreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSwapchainKHR *pSwapchain);
2868 VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface);
2869 void VKAPI_CALL vkDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks *pAllocator);
2870 void VKAPI_CALL vkDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks *pAllocator);
2871 void VKAPI_CALL vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks *pAllocator);
2872 void VKAPI_CALL vkDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks *pAllocator);
2873 void VKAPI_CALL vkDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks *pAllocator);
2874 void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator);
2875 void VKAPI_CALL vkDestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator);
2876 void VKAPI_CALL vkDestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks *pAllocator);
2877 void VKAPI_CALL vkDestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks *pAllocator);
2878 void VKAPI_CALL vkDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks *pAllocator);
2879 void VKAPI_CALL vkDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks *pAllocator);
2880 void VKAPI_CALL vkDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks *pAllocator);
2881 void VKAPI_CALL vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks *pAllocator);
2882 void VKAPI_CALL vkDestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks *pAllocator);
2883 void VKAPI_CALL vkDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks *pAllocator);
2884 void VKAPI_CALL vkDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks *pAllocator);
2885 void VKAPI_CALL vkDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks *pAllocator);
2886 void VKAPI_CALL vkDestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks *pAllocator);
2887 void VKAPI_CALL vkDestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks *pAllocator);
2888 void VKAPI_CALL vkDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks *pAllocator);
2889 void VKAPI_CALL vkDestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks *pAllocator);
2890 void VKAPI_CALL vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks *pAllocator);
2891 void VKAPI_CALL vkDestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks *pAllocator);
2892 VkResult VKAPI_CALL vkDeviceWaitIdle(VkDevice device);
2893 VkResult VKAPI_CALL vkEndCommandBuffer(VkCommandBuffer commandBuffer);
2894 VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties);
2895 VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkLayerProperties *pProperties);
2896 VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties);
2897 VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(uint32_t *pPropertyCount, VkLayerProperties *pProperties);
2898 VkResult VKAPI_CALL vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices);
2899 VkResult VKAPI_CALL vkFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges);
2900 void VKAPI_CALL vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers);
2901 VkResult VKAPI_CALL vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets);
2902 void VKAPI_CALL vkFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks *pAllocator);
2903 void VKAPI_CALL vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements *pMemoryRequirements);
2904 void VKAPI_CALL vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize *pCommittedMemoryInBytes);
2905 PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDevice device, const char *pName);
2906 void VKAPI_CALL vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue);
2907 VkResult VKAPI_CALL vkGetEventStatus(VkDevice device, VkEvent event);
2908 VkResult VKAPI_CALL vkGetFenceStatus(VkDevice device, VkFence fence);
2909 void VKAPI_CALL vkGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements *pMemoryRequirements);
2910 void VKAPI_CALL vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements *pSparseMemoryRequirements);
2911 void VKAPI_CALL vkGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource *pSubresource, VkSubresourceLayout *pLayout);
2912 PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkInstance instance, const char *pName);
2913 void VKAPI_CALL vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures *pFeatures);
2914 void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR *pFeatures);
2915 void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties *pFormatProperties);
2916 void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR *pFormatProperties);
2917 VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties *pImageFormatProperties);
2918 VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR *pImageFormatInfo, VkImageFormatProperties2KHR *pImageFormatProperties);
2919 void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties *pMemoryProperties);
2920 void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR *pMemoryProperties);
2921 void VKAPI_CALL vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties *pProperties);
2922 void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR *pProperties);
2923 void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties *pQueueFamilyProperties);
2924 void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR *pQueueFamilyProperties);
2925 void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t *pPropertyCount, VkSparseImageFormatProperties *pProperties);
2926 void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2KHR *pProperties);
2927 VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR *pSurfaceCapabilities);
2928 VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pSurfaceFormatCount, VkSurfaceFormatKHR *pSurfaceFormats);
2929 VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes);
2930 VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32 *pSupported);
2931 VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
2932 VkResult VKAPI_CALL vkGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t *pDataSize, void *pData);
2933 VkResult VKAPI_CALL vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void *pData, VkDeviceSize stride, VkQueryResultFlags flags);
2934 void VKAPI_CALL vkGetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D *pGranularity);
2935 VkResult VKAPI_CALL vkGetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t *pSwapchainImageCount, VkImage *pSwapchainImages);
2936 VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges);
2937 VkResult VKAPI_CALL vkMapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void **ppData);
2938 VkResult VKAPI_CALL vkMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache *pSrcCaches);
2939 VkResult VKAPI_CALL vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo *pBindInfo, VkFence fence);
2940 VkResult VKAPI_CALL vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *pPresentInfo);
2941 VkResult VKAPI_CALL vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo *pSubmits, VkFence fence);
2942 VkResult VKAPI_CALL vkQueueWaitIdle(VkQueue queue);
2943 VkResult VKAPI_CALL vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
2944 VkResult VKAPI_CALL vkResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
2945 VkResult VKAPI_CALL vkResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
2946 VkResult VKAPI_CALL vkResetEvent(VkDevice device, VkEvent event);
2947 VkResult VKAPI_CALL vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences);
2948 VkResult VKAPI_CALL vkSetEvent(VkDevice device, VkEvent event);
2949 void VKAPI_CALL vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags);
2950 void VKAPI_CALL vkUnmapMemory(VkDevice device, VkDeviceMemory memory);
2951 void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void *pData);
2952 void VKAPI_CALL vkUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet *pDescriptorCopies);
2953 VkResult VKAPI_CALL vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences, VkBool32 waitAll, uint64_t timeout);
2954 #endif /* VK_NO_PROTOTYPES */
2956 #endif /* __WINE_VULKAN_H */