d3d8: Translate E_INVALIDARG to D3DERR_INVALIDCALL in d3d8_surface_LockRect().
[wine.git] / include / wine / vulkan.h
blobd483249f54aa83ccef0e1fc3e80643ebab5d3110
1 /* Automatically generated from Vulkan vk.xml; DO NOT EDIT!
3 * This file is generated from Vulkan vk.xml file covered
4 * by the following copyright and permission notice:
6 * Copyright (c) 2015-2018 The Khronos Group Inc.
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
20 * ---- Exceptions to the Apache 2.0 License: ----
22 * As an exception, if you use this Software to generate code and portions of
23 * this Software are embedded into the generated code as a result, you may
24 * redistribute such product without providing attribution as would otherwise
25 * be required by Sections 4(a), 4(b) and 4(d) of the License.
27 * In addition, if you combine or link code generated by this Software with
28 * software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1
29 * ("`Combined Software`") and if a court of competent jurisdiction determines
30 * that the patent provision (Section 3), the indemnity provision (Section 9)
31 * or other Section of the License conflicts with the conditions of the
32 * applicable GPL or LGPL license, you may retroactively and prospectively
33 * choose to deem waived or otherwise exclude such Section(s) of the License,
34 * but only in their entirety and only with respect to the Combined Software.
38 #ifndef __WINE_VULKAN_H
39 #define __WINE_VULKAN_H
41 #include <windef.h>
42 #include <stdint.h>
44 /* Define WINE_VK_HOST to get 'host' headers. */
45 #ifdef WINE_VK_HOST
46 #define VKAPI_CALL
47 #define WINE_VK_ALIGN(x)
48 #endif
50 #ifndef VKAPI_CALL
51 #define VKAPI_CALL __stdcall
52 #endif
54 #ifndef VKAPI_PTR
55 #define VKAPI_PTR VKAPI_CALL
56 #endif
58 #ifndef WINE_VK_ALIGN
59 #define WINE_VK_ALIGN DECLSPEC_ALIGN
60 #endif
62 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
63 #define VK_UUID_SIZE 16
64 #define VK_LUID_SIZE 8
65 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
66 #define VK_MAX_EXTENSION_NAME_SIZE 256
67 #define VK_MAX_DESCRIPTION_SIZE 256
68 #define VK_MAX_MEMORY_TYPES 32
69 #define VK_MAX_MEMORY_HEAPS 16
70 #define VK_LOD_CLAMP_NONE 1000.0f
71 #define VK_REMAINING_MIP_LEVELS (~0U)
72 #define VK_REMAINING_ARRAY_LAYERS (~0U)
73 #define VK_WHOLE_SIZE (~0ULL)
74 #define VK_ATTACHMENT_UNUSED (~0U)
75 #define VK_TRUE 1
76 #define VK_FALSE 0
77 #define VK_QUEUE_FAMILY_IGNORED (~0U)
78 #define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
79 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
80 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~0U-2)
81 #define VK_SUBPASS_EXTERNAL (~0U)
82 #define VK_MAX_DEVICE_GROUP_SIZE 32
83 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
84 #define VK_MAX_DRIVER_NAME_SIZE_KHR 256
85 #define VK_MAX_DRIVER_INFO_SIZE_KHR 256
86 #define VK_KHR_SURFACE_SPEC_VERSION 25
87 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
88 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
89 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
90 #define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6
91 #define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"
92 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
93 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
94 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
95 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
96 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1
97 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
98 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
99 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
100 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
101 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
102 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
103 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
104 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
105 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
106 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
107 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
108 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
109 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
110 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
111 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
112 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
113 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
114 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
115 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
116 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1
117 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
118 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
119 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
120 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
121 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
122 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
123 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
124 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
125 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
126 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
127 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
128 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
129 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
130 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
131 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
132 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
133 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
134 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1
135 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
136 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 3
137 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
138 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
139 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
140 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
141 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
142 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
143 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
144 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
145 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
146 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
147 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
148 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
149 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
150 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
151 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
152 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 1
153 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
154 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
155 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
156 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
157 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
158 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
159 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
160 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
161 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
162 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
163 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
164 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
165 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
166 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
167 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
168 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
169 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
170 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
171 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
172 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
173 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
174 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
175 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
176 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
177 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
178 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
179 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
180 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
181 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
182 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 1
183 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
184 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
185 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
186 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 1
187 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
188 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
189 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
190 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
191 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
192 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
193 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
194 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
195 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
196 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
197 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
198 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
199 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
200 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
201 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
202 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
203 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
204 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
205 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
206 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
207 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
208 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
209 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
210 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
211 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
212 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
213 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
214 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 1
215 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
216 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
217 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
218 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
219 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
220 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
221 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
222 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
223 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
224 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
225 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
226 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 1
227 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
228 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
229 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
230 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
231 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
232 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
233 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
234 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
235 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
236 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
237 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
238 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
239 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
240 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 1
241 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
242 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
243 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
244 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
245 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
246 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
247 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
248 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
249 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
250 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
251 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
252 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
253 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
254 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 1
255 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
256 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
257 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
258 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
259 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
260 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 2
261 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
262 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 1
263 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
264 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 0
265 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
266 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 0
267 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
269 #define VK_MAKE_VERSION(major, minor, patch) \
270 (((major) << 22) | ((minor) << 12) | (patch))
271 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
272 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
273 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
274 #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)
275 #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)
276 #define VK_HEADER_VERSION 88
277 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
278 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
279 #define VK_NULL_HANDLE 0
281 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
282 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
283 VK_DEFINE_HANDLE(VkCommandBuffer)
284 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
285 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
286 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
287 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
288 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
289 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
290 VK_DEFINE_HANDLE(VkDevice)
291 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
292 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
293 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
294 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
295 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
296 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
297 VK_DEFINE_HANDLE(VkInstance)
298 VK_DEFINE_HANDLE(VkPhysicalDevice)
299 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
300 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
301 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
302 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
303 VK_DEFINE_HANDLE(VkQueue)
304 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
305 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
306 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
307 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
308 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
309 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
310 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
311 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
312 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
314 typedef uint32_t VkBool32;
315 typedef uint64_t VkDeviceSize;
316 typedef uint32_t VkFlags;
317 typedef uint32_t VkSampleMask;
319 typedef VkFlags VkAccessFlags;
320 typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;
321 typedef VkFlags VkAttachmentDescriptionFlags;
322 typedef VkFlags VkBufferCreateFlags;
323 typedef VkFlags VkBufferUsageFlags;
324 typedef VkFlags VkBufferViewCreateFlags;
325 typedef VkFlags VkBuildAccelerationStructureFlagsNVX;
326 typedef VkFlags VkColorComponentFlags;
327 typedef VkFlags VkCommandBufferResetFlags;
328 typedef VkFlags VkCommandBufferUsageFlags;
329 typedef VkFlags VkCommandPoolCreateFlags;
330 typedef VkFlags VkCommandPoolResetFlags;
331 typedef VkFlags VkCommandPoolTrimFlags;
332 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
333 typedef VkFlags VkCompositeAlphaFlagsKHR;
334 typedef VkFlags VkConditionalRenderingFlagsEXT;
335 typedef VkFlags VkCullModeFlags;
336 typedef VkFlags VkDebugReportFlagsEXT;
337 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
338 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
339 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
340 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
341 typedef VkFlags VkDependencyFlags;
342 typedef VkFlags VkDescriptorBindingFlagsEXT;
343 typedef VkFlags VkDescriptorPoolCreateFlags;
344 typedef VkFlags VkDescriptorPoolResetFlags;
345 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
346 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
347 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
348 typedef VkFlags VkDeviceCreateFlags;
349 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
350 typedef VkFlags VkDeviceQueueCreateFlags;
351 typedef VkFlags VkDisplayModeCreateFlagsKHR;
352 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
353 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
354 typedef VkFlags VkEventCreateFlags;
355 typedef VkFlags VkExternalFenceFeatureFlags;
356 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
357 typedef VkFlags VkExternalFenceHandleTypeFlags;
358 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
359 typedef VkFlags VkExternalMemoryFeatureFlags;
360 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
361 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
362 typedef VkFlags VkExternalMemoryHandleTypeFlags;
363 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
364 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
365 typedef VkFlags VkExternalSemaphoreFeatureFlags;
366 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
367 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
368 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
369 typedef VkFlags VkFenceCreateFlags;
370 typedef VkFlags VkFenceImportFlags;
371 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
372 typedef VkFlags VkFormatFeatureFlags;
373 typedef VkFlags VkFramebufferCreateFlags;
374 typedef VkFlags VkGeometryFlagsNVX;
375 typedef VkFlags VkGeometryInstanceFlagsNVX;
376 typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
377 typedef VkFlags VkImageAspectFlags;
378 typedef VkFlags VkImageCreateFlags;
379 typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA;
380 typedef VkFlags VkImageUsageFlags;
381 typedef VkFlags VkImageViewCreateFlags;
382 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX;
383 typedef VkFlags VkInstanceCreateFlags;
384 typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
385 typedef VkFlags VkMemoryAllocateFlags;
386 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
387 typedef VkFlags VkMemoryHeapFlags;
388 typedef VkFlags VkMemoryMapFlags;
389 typedef VkFlags VkMemoryPropertyFlags;
390 typedef VkFlags VkMirSurfaceCreateFlagsKHR;
391 typedef VkFlags VkObjectEntryUsageFlagsNVX;
392 typedef VkFlags VkPeerMemoryFeatureFlags;
393 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
394 typedef VkFlags VkPipelineCacheCreateFlags;
395 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
396 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
397 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
398 typedef VkFlags VkPipelineCreateFlags;
399 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
400 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
401 typedef VkFlags VkPipelineDynamicStateCreateFlags;
402 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
403 typedef VkFlags VkPipelineLayoutCreateFlags;
404 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
405 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
406 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
407 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
408 typedef VkFlags VkPipelineShaderStageCreateFlags;
409 typedef VkFlags VkPipelineStageFlags;
410 typedef VkFlags VkPipelineTessellationStateCreateFlags;
411 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
412 typedef VkFlags VkPipelineViewportStateCreateFlags;
413 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
414 typedef VkFlags VkQueryControlFlags;
415 typedef VkFlags VkQueryPipelineStatisticFlags;
416 typedef VkFlags VkQueryPoolCreateFlags;
417 typedef VkFlags VkQueryResultFlags;
418 typedef VkFlags VkQueueFlags;
419 typedef VkFlags VkRenderPassCreateFlags;
420 typedef VkFlags VkSampleCountFlags;
421 typedef VkFlags VkSamplerCreateFlags;
422 typedef VkFlags VkSemaphoreCreateFlags;
423 typedef VkFlags VkSemaphoreImportFlags;
424 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
425 typedef VkFlags VkShaderModuleCreateFlags;
426 typedef VkFlags VkShaderStageFlags;
427 typedef VkFlags VkSparseImageFormatFlags;
428 typedef VkFlags VkSparseMemoryBindFlags;
429 typedef VkFlags VkStencilFaceFlags;
430 typedef VkFlags VkSubgroupFeatureFlags;
431 typedef VkFlags VkSubpassDescriptionFlags;
432 typedef VkFlags VkSurfaceCounterFlagsEXT;
433 typedef VkFlags VkSurfaceTransformFlagsKHR;
434 typedef VkFlags VkSwapchainCreateFlagsKHR;
435 typedef VkFlags VkValidationCacheCreateFlagsEXT;
436 typedef VkFlags VkViSurfaceCreateFlagsNN;
437 typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
438 typedef VkFlags VkWin32SurfaceCreateFlagsKHR;
439 typedef VkFlags VkXcbSurfaceCreateFlagsKHR;
440 typedef VkFlags VkXlibSurfaceCreateFlagsKHR;
442 typedef enum VkAccessFlagBits
444 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
445 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
446 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
447 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
448 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
449 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
450 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
451 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
452 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
453 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
454 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
455 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
456 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
457 VK_ACCESS_HOST_READ_BIT = 0x00002000,
458 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
459 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
460 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
461 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
462 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
463 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
464 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
465 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
466 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
467 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7fffffff,
468 } VkAccessFlagBits;
470 typedef enum VkAttachmentDescriptionFlagBits
472 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
473 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7fffffff,
474 } VkAttachmentDescriptionFlagBits;
476 typedef enum VkAttachmentLoadOp
478 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
479 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
480 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
481 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7fffffff,
482 } VkAttachmentLoadOp;
484 typedef enum VkAttachmentStoreOp
486 VK_ATTACHMENT_STORE_OP_STORE = 0,
487 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
488 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7fffffff,
489 } VkAttachmentStoreOp;
491 typedef enum VkBlendFactor
493 VK_BLEND_FACTOR_ZERO = 0,
494 VK_BLEND_FACTOR_ONE = 1,
495 VK_BLEND_FACTOR_SRC_COLOR = 2,
496 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
497 VK_BLEND_FACTOR_DST_COLOR = 4,
498 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
499 VK_BLEND_FACTOR_SRC_ALPHA = 6,
500 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
501 VK_BLEND_FACTOR_DST_ALPHA = 8,
502 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
503 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
504 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
505 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
506 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
507 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
508 VK_BLEND_FACTOR_SRC1_COLOR = 15,
509 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
510 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
511 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
512 VK_BLEND_FACTOR_MAX_ENUM = 0x7fffffff,
513 } VkBlendFactor;
515 typedef enum VkBlendOp
517 VK_BLEND_OP_ADD = 0,
518 VK_BLEND_OP_SUBTRACT = 1,
519 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
520 VK_BLEND_OP_MIN = 3,
521 VK_BLEND_OP_MAX = 4,
522 VK_BLEND_OP_ZERO_EXT = 1000148000,
523 VK_BLEND_OP_SRC_EXT = 1000148001,
524 VK_BLEND_OP_DST_EXT = 1000148002,
525 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
526 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
527 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
528 VK_BLEND_OP_DST_IN_EXT = 1000148006,
529 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
530 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
531 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
532 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
533 VK_BLEND_OP_XOR_EXT = 1000148011,
534 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
535 VK_BLEND_OP_SCREEN_EXT = 1000148013,
536 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
537 VK_BLEND_OP_DARKEN_EXT = 1000148015,
538 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
539 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
540 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
541 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
542 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
543 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
544 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
545 VK_BLEND_OP_INVERT_EXT = 1000148023,
546 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
547 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
548 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
549 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
550 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
551 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
552 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
553 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
554 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
555 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
556 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
557 VK_BLEND_OP_PLUS_EXT = 1000148035,
558 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
559 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
560 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
561 VK_BLEND_OP_MINUS_EXT = 1000148039,
562 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
563 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
564 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
565 VK_BLEND_OP_RED_EXT = 1000148043,
566 VK_BLEND_OP_GREEN_EXT = 1000148044,
567 VK_BLEND_OP_BLUE_EXT = 1000148045,
568 VK_BLEND_OP_MAX_ENUM = 0x7fffffff,
569 } VkBlendOp;
571 typedef enum VkBlendOverlapEXT
573 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
574 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
575 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
576 VK_BLEND_OVERLAP_EXT_MAX_ENUM = 0x7fffffff,
577 } VkBlendOverlapEXT;
579 typedef enum VkBorderColor
581 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
582 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
583 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
584 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
585 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
586 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
587 VK_BORDER_COLOR_MAX_ENUM = 0x7fffffff,
588 } VkBorderColor;
590 typedef enum VkBufferCreateFlagBits
592 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
593 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
594 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
595 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
596 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
597 } VkBufferCreateFlagBits;
599 typedef enum VkBufferUsageFlagBits
601 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
602 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
603 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
604 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
605 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
606 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
607 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
608 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
609 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
610 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
611 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
612 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
613 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
614 } VkBufferUsageFlagBits;
616 typedef enum VkChromaLocation
618 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
619 VK_CHROMA_LOCATION_MIDPOINT = 1,
620 VK_CHROMA_LOCATION_MAX_ENUM = 0x7fffffff,
621 } VkChromaLocation;
623 typedef enum VkCoarseSampleOrderTypeNV
625 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
626 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
627 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
628 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
629 VK_COARSE_SAMPLE_ORDER_TYPE_NV_MAX_ENUM = 0x7fffffff,
630 } VkCoarseSampleOrderTypeNV;
632 typedef enum VkColorComponentFlagBits
634 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
635 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
636 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
637 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
638 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7fffffff,
639 } VkColorComponentFlagBits;
641 typedef enum VkColorSpaceKHR
643 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
644 VK_COLORSPACE_SRGB_NONLINEAR_KHR = 0,
645 VK_COLOR_SPACE_KHR_MAX_ENUM = 0x7fffffff,
646 } VkColorSpaceKHR;
648 typedef enum VkCommandBufferLevel
650 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
651 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
652 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7fffffff,
653 } VkCommandBufferLevel;
655 typedef enum VkCommandBufferUsageFlagBits
657 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
658 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
659 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
660 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
661 } VkCommandBufferUsageFlagBits;
663 typedef enum VkCommandPoolCreateFlagBits
665 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
666 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
667 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
668 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
669 } VkCommandPoolCreateFlagBits;
671 typedef enum VkCompareOp
673 VK_COMPARE_OP_NEVER = 0,
674 VK_COMPARE_OP_LESS = 1,
675 VK_COMPARE_OP_EQUAL = 2,
676 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
677 VK_COMPARE_OP_GREATER = 4,
678 VK_COMPARE_OP_NOT_EQUAL = 5,
679 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
680 VK_COMPARE_OP_ALWAYS = 7,
681 VK_COMPARE_OP_MAX_ENUM = 0x7fffffff,
682 } VkCompareOp;
684 typedef enum VkComponentSwizzle
686 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
687 VK_COMPONENT_SWIZZLE_ZERO = 1,
688 VK_COMPONENT_SWIZZLE_ONE = 2,
689 VK_COMPONENT_SWIZZLE_R = 3,
690 VK_COMPONENT_SWIZZLE_G = 4,
691 VK_COMPONENT_SWIZZLE_B = 5,
692 VK_COMPONENT_SWIZZLE_A = 6,
693 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7fffffff,
694 } VkComponentSwizzle;
696 typedef enum VkCompositeAlphaFlagBitsKHR
698 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
699 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
700 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
701 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
702 VK_COMPOSITE_ALPHA_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff,
703 } VkCompositeAlphaFlagBitsKHR;
705 typedef enum VkConditionalRenderingFlagBitsEXT
707 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
708 VK_CONDITIONAL_RENDERING_FLAG_BITS_EXT_MAX_ENUM = 0x7fffffff,
709 } VkConditionalRenderingFlagBitsEXT;
711 typedef enum VkConservativeRasterizationModeEXT
713 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
714 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
715 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
716 VK_CONSERVATIVE_RASTERIZATION_MODE_EXT_MAX_ENUM = 0x7fffffff,
717 } VkConservativeRasterizationModeEXT;
719 typedef enum VkCoverageModulationModeNV
721 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
722 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
723 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
724 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
725 VK_COVERAGE_MODULATION_MODE_NV_MAX_ENUM = 0x7fffffff,
726 } VkCoverageModulationModeNV;
728 typedef enum VkCullModeFlagBits
730 VK_CULL_MODE_NONE = 0,
731 VK_CULL_MODE_FRONT_BIT = 0x00000001,
732 VK_CULL_MODE_BACK_BIT = 0x00000002,
733 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
734 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
735 } VkCullModeFlagBits;
737 typedef enum VkDependencyFlagBits
739 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
740 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
741 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
742 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7fffffff,
743 } VkDependencyFlagBits;
745 typedef enum VkDescriptorPoolCreateFlagBits
747 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
748 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = 0x00000002,
749 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
750 } VkDescriptorPoolCreateFlagBits;
752 typedef enum VkDescriptorSetLayoutCreateFlagBits
754 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
755 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = 0x00000002,
756 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
757 } VkDescriptorSetLayoutCreateFlagBits;
759 typedef enum VkDescriptorType
761 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
762 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
763 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
764 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
765 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
766 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
767 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
768 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
769 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
770 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
771 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
772 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
773 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7fffffff,
774 } VkDescriptorType;
776 typedef enum VkDescriptorUpdateTemplateType
778 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
779 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
780 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7fffffff,
781 } VkDescriptorUpdateTemplateType;
783 typedef enum VkDeviceGroupPresentModeFlagBitsKHR
785 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
786 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
787 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
788 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
789 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff,
790 } VkDeviceGroupPresentModeFlagBitsKHR;
792 typedef enum VkDeviceQueueCreateFlagBits
794 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
795 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
796 } VkDeviceQueueCreateFlagBits;
798 typedef enum VkDiscardRectangleModeEXT
800 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
801 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
802 VK_DISCARD_RECTANGLE_MODE_EXT_MAX_ENUM = 0x7fffffff,
803 } VkDiscardRectangleModeEXT;
805 typedef enum VkDriverIdKHR
807 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1,
808 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2,
809 VK_DRIVER_ID_MESA_RADV_KHR = 3,
810 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = 4,
811 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = 5,
812 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = 6,
813 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = 7,
814 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = 8,
815 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = 9,
816 VK_DRIVER_ID_KHR_MAX_ENUM = 0x7fffffff,
817 } VkDriverIdKHR;
819 typedef enum VkDynamicState
821 VK_DYNAMIC_STATE_VIEWPORT = 0,
822 VK_DYNAMIC_STATE_SCISSOR = 1,
823 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
824 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
825 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
826 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
827 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
828 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
829 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
830 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
831 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
832 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
833 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
834 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
835 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
836 VK_DYNAMIC_STATE_MAX_ENUM = 0x7fffffff,
837 } VkDynamicState;
839 typedef enum VkExternalFenceFeatureFlagBits
841 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
842 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
843 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
844 } VkExternalFenceFeatureFlagBits;
846 typedef enum VkExternalFenceHandleTypeFlagBits
848 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
849 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
850 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
851 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
852 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
853 } VkExternalFenceHandleTypeFlagBits;
855 typedef enum VkExternalMemoryFeatureFlagBits
857 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
858 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
859 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
860 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
861 } VkExternalMemoryFeatureFlagBits;
863 typedef enum VkExternalMemoryHandleTypeFlagBits
865 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
866 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
867 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
868 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
869 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
870 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
871 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
872 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
873 } VkExternalMemoryHandleTypeFlagBits;
875 typedef enum VkExternalSemaphoreFeatureFlagBits
877 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
878 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
879 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
880 } VkExternalSemaphoreFeatureFlagBits;
882 typedef enum VkExternalSemaphoreHandleTypeFlagBits
884 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
885 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
886 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
887 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
888 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
889 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
890 } VkExternalSemaphoreHandleTypeFlagBits;
892 typedef enum VkFenceCreateFlagBits
894 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
895 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
896 } VkFenceCreateFlagBits;
898 typedef enum VkFenceImportFlagBits
900 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
901 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7fffffff,
902 } VkFenceImportFlagBits;
904 typedef enum VkFilter
906 VK_FILTER_NEAREST = 0,
907 VK_FILTER_LINEAR = 1,
908 VK_FILTER_CUBIC_IMG = 1000015000,
909 VK_FILTER_MAX_ENUM = 0x7fffffff,
910 } VkFilter;
912 typedef enum VkFormat
914 VK_FORMAT_UNDEFINED = 0,
915 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
916 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
917 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
918 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
919 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
920 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
921 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
922 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
923 VK_FORMAT_R8_UNORM = 9,
924 VK_FORMAT_R8_SNORM = 10,
925 VK_FORMAT_R8_USCALED = 11,
926 VK_FORMAT_R8_SSCALED = 12,
927 VK_FORMAT_R8_UINT = 13,
928 VK_FORMAT_R8_SINT = 14,
929 VK_FORMAT_R8_SRGB = 15,
930 VK_FORMAT_R8G8_UNORM = 16,
931 VK_FORMAT_R8G8_SNORM = 17,
932 VK_FORMAT_R8G8_USCALED = 18,
933 VK_FORMAT_R8G8_SSCALED = 19,
934 VK_FORMAT_R8G8_UINT = 20,
935 VK_FORMAT_R8G8_SINT = 21,
936 VK_FORMAT_R8G8_SRGB = 22,
937 VK_FORMAT_R8G8B8_UNORM = 23,
938 VK_FORMAT_R8G8B8_SNORM = 24,
939 VK_FORMAT_R8G8B8_USCALED = 25,
940 VK_FORMAT_R8G8B8_SSCALED = 26,
941 VK_FORMAT_R8G8B8_UINT = 27,
942 VK_FORMAT_R8G8B8_SINT = 28,
943 VK_FORMAT_R8G8B8_SRGB = 29,
944 VK_FORMAT_B8G8R8_UNORM = 30,
945 VK_FORMAT_B8G8R8_SNORM = 31,
946 VK_FORMAT_B8G8R8_USCALED = 32,
947 VK_FORMAT_B8G8R8_SSCALED = 33,
948 VK_FORMAT_B8G8R8_UINT = 34,
949 VK_FORMAT_B8G8R8_SINT = 35,
950 VK_FORMAT_B8G8R8_SRGB = 36,
951 VK_FORMAT_R8G8B8A8_UNORM = 37,
952 VK_FORMAT_R8G8B8A8_SNORM = 38,
953 VK_FORMAT_R8G8B8A8_USCALED = 39,
954 VK_FORMAT_R8G8B8A8_SSCALED = 40,
955 VK_FORMAT_R8G8B8A8_UINT = 41,
956 VK_FORMAT_R8G8B8A8_SINT = 42,
957 VK_FORMAT_R8G8B8A8_SRGB = 43,
958 VK_FORMAT_B8G8R8A8_UNORM = 44,
959 VK_FORMAT_B8G8R8A8_SNORM = 45,
960 VK_FORMAT_B8G8R8A8_USCALED = 46,
961 VK_FORMAT_B8G8R8A8_SSCALED = 47,
962 VK_FORMAT_B8G8R8A8_UINT = 48,
963 VK_FORMAT_B8G8R8A8_SINT = 49,
964 VK_FORMAT_B8G8R8A8_SRGB = 50,
965 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
966 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
967 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
968 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
969 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
970 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
971 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
972 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
973 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
974 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
975 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
976 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
977 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
978 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
979 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
980 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
981 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
982 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
983 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
984 VK_FORMAT_R16_UNORM = 70,
985 VK_FORMAT_R16_SNORM = 71,
986 VK_FORMAT_R16_USCALED = 72,
987 VK_FORMAT_R16_SSCALED = 73,
988 VK_FORMAT_R16_UINT = 74,
989 VK_FORMAT_R16_SINT = 75,
990 VK_FORMAT_R16_SFLOAT = 76,
991 VK_FORMAT_R16G16_UNORM = 77,
992 VK_FORMAT_R16G16_SNORM = 78,
993 VK_FORMAT_R16G16_USCALED = 79,
994 VK_FORMAT_R16G16_SSCALED = 80,
995 VK_FORMAT_R16G16_UINT = 81,
996 VK_FORMAT_R16G16_SINT = 82,
997 VK_FORMAT_R16G16_SFLOAT = 83,
998 VK_FORMAT_R16G16B16_UNORM = 84,
999 VK_FORMAT_R16G16B16_SNORM = 85,
1000 VK_FORMAT_R16G16B16_USCALED = 86,
1001 VK_FORMAT_R16G16B16_SSCALED = 87,
1002 VK_FORMAT_R16G16B16_UINT = 88,
1003 VK_FORMAT_R16G16B16_SINT = 89,
1004 VK_FORMAT_R16G16B16_SFLOAT = 90,
1005 VK_FORMAT_R16G16B16A16_UNORM = 91,
1006 VK_FORMAT_R16G16B16A16_SNORM = 92,
1007 VK_FORMAT_R16G16B16A16_USCALED = 93,
1008 VK_FORMAT_R16G16B16A16_SSCALED = 94,
1009 VK_FORMAT_R16G16B16A16_UINT = 95,
1010 VK_FORMAT_R16G16B16A16_SINT = 96,
1011 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
1012 VK_FORMAT_R32_UINT = 98,
1013 VK_FORMAT_R32_SINT = 99,
1014 VK_FORMAT_R32_SFLOAT = 100,
1015 VK_FORMAT_R32G32_UINT = 101,
1016 VK_FORMAT_R32G32_SINT = 102,
1017 VK_FORMAT_R32G32_SFLOAT = 103,
1018 VK_FORMAT_R32G32B32_UINT = 104,
1019 VK_FORMAT_R32G32B32_SINT = 105,
1020 VK_FORMAT_R32G32B32_SFLOAT = 106,
1021 VK_FORMAT_R32G32B32A32_UINT = 107,
1022 VK_FORMAT_R32G32B32A32_SINT = 108,
1023 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
1024 VK_FORMAT_R64_UINT = 110,
1025 VK_FORMAT_R64_SINT = 111,
1026 VK_FORMAT_R64_SFLOAT = 112,
1027 VK_FORMAT_R64G64_UINT = 113,
1028 VK_FORMAT_R64G64_SINT = 114,
1029 VK_FORMAT_R64G64_SFLOAT = 115,
1030 VK_FORMAT_R64G64B64_UINT = 116,
1031 VK_FORMAT_R64G64B64_SINT = 117,
1032 VK_FORMAT_R64G64B64_SFLOAT = 118,
1033 VK_FORMAT_R64G64B64A64_UINT = 119,
1034 VK_FORMAT_R64G64B64A64_SINT = 120,
1035 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
1036 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
1037 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
1038 VK_FORMAT_D16_UNORM = 124,
1039 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
1040 VK_FORMAT_D32_SFLOAT = 126,
1041 VK_FORMAT_S8_UINT = 127,
1042 VK_FORMAT_D16_UNORM_S8_UINT = 128,
1043 VK_FORMAT_D24_UNORM_S8_UINT = 129,
1044 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
1045 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
1046 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
1047 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
1048 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
1049 VK_FORMAT_BC2_UNORM_BLOCK = 135,
1050 VK_FORMAT_BC2_SRGB_BLOCK = 136,
1051 VK_FORMAT_BC3_UNORM_BLOCK = 137,
1052 VK_FORMAT_BC3_SRGB_BLOCK = 138,
1053 VK_FORMAT_BC4_UNORM_BLOCK = 139,
1054 VK_FORMAT_BC4_SNORM_BLOCK = 140,
1055 VK_FORMAT_BC5_UNORM_BLOCK = 141,
1056 VK_FORMAT_BC5_SNORM_BLOCK = 142,
1057 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
1058 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
1059 VK_FORMAT_BC7_UNORM_BLOCK = 145,
1060 VK_FORMAT_BC7_SRGB_BLOCK = 146,
1061 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
1062 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
1063 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
1064 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
1065 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
1066 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
1067 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
1068 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
1069 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
1070 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
1071 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
1072 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
1073 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
1074 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
1075 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
1076 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
1077 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
1078 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
1079 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
1080 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
1081 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
1082 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
1083 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
1084 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
1085 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
1086 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
1087 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
1088 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
1089 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
1090 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1091 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1092 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1093 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1094 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1095 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1096 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1097 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1098 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1099 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
1100 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
1101 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
1102 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
1103 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
1104 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
1105 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
1106 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
1107 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1108 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1109 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1110 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1111 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1112 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1113 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1114 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1115 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1116 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1117 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1118 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1119 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1120 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1121 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1122 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1123 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1124 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1125 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1126 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1127 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1128 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1129 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1130 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1131 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1132 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1133 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1134 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1135 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1136 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1137 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1138 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1139 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1140 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1141 VK_FORMAT_MAX_ENUM = 0x7fffffff,
1142 } VkFormat;
1144 typedef enum VkFormatFeatureFlagBits
1146 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1147 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1148 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1149 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1150 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1151 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1152 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1153 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1154 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1155 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1156 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1157 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1158 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1159 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1160 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1161 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1162 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = 0x00010000,
1163 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1164 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1165 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1166 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1167 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1168 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1169 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1170 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1171 } VkFormatFeatureFlagBits;
1173 typedef enum VkFrontFace
1175 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1176 VK_FRONT_FACE_CLOCKWISE = 1,
1177 VK_FRONT_FACE_MAX_ENUM = 0x7fffffff,
1178 } VkFrontFace;
1180 typedef enum VkImageAspectFlagBits
1182 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1183 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1184 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1185 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1186 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1187 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1188 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1189 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1190 } VkImageAspectFlagBits;
1192 typedef enum VkImageCreateFlagBits
1194 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1195 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1196 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1197 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1198 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1199 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1200 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1201 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1202 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1203 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1204 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1205 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1206 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1207 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1208 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1209 } VkImageCreateFlagBits;
1211 typedef enum VkImageLayout
1213 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1214 VK_IMAGE_LAYOUT_GENERAL = 1,
1215 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1216 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1217 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1218 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1219 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1220 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1221 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1222 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1223 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1224 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1225 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
1226 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7fffffff,
1227 } VkImageLayout;
1229 typedef enum VkImageTiling
1231 VK_IMAGE_TILING_OPTIMAL = 0,
1232 VK_IMAGE_TILING_LINEAR = 1,
1233 VK_IMAGE_TILING_MAX_ENUM = 0x7fffffff,
1234 } VkImageTiling;
1236 typedef enum VkImageType
1238 VK_IMAGE_TYPE_1D = 0,
1239 VK_IMAGE_TYPE_2D = 1,
1240 VK_IMAGE_TYPE_3D = 2,
1241 VK_IMAGE_TYPE_MAX_ENUM = 0x7fffffff,
1242 } VkImageType;
1244 typedef enum VkImageUsageFlagBits
1246 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1247 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1248 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1249 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1250 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1251 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1252 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1253 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1254 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
1255 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1256 } VkImageUsageFlagBits;
1258 typedef enum VkImageViewType
1260 VK_IMAGE_VIEW_TYPE_1D = 0,
1261 VK_IMAGE_VIEW_TYPE_2D = 1,
1262 VK_IMAGE_VIEW_TYPE_3D = 2,
1263 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1264 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1265 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1266 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1267 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7fffffff,
1268 } VkImageViewType;
1270 typedef enum VkIndexType
1272 VK_INDEX_TYPE_UINT16 = 0,
1273 VK_INDEX_TYPE_UINT32 = 1,
1274 VK_INDEX_TYPE_MAX_ENUM = 0x7fffffff,
1275 } VkIndexType;
1277 typedef enum VkInternalAllocationType
1279 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1280 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7fffffff,
1281 } VkInternalAllocationType;
1283 typedef enum VkLogicOp
1285 VK_LOGIC_OP_CLEAR = 0,
1286 VK_LOGIC_OP_AND = 1,
1287 VK_LOGIC_OP_AND_REVERSE = 2,
1288 VK_LOGIC_OP_COPY = 3,
1289 VK_LOGIC_OP_AND_INVERTED = 4,
1290 VK_LOGIC_OP_NO_OP = 5,
1291 VK_LOGIC_OP_XOR = 6,
1292 VK_LOGIC_OP_OR = 7,
1293 VK_LOGIC_OP_NOR = 8,
1294 VK_LOGIC_OP_EQUIVALENT = 9,
1295 VK_LOGIC_OP_INVERT = 10,
1296 VK_LOGIC_OP_OR_REVERSE = 11,
1297 VK_LOGIC_OP_COPY_INVERTED = 12,
1298 VK_LOGIC_OP_OR_INVERTED = 13,
1299 VK_LOGIC_OP_NAND = 14,
1300 VK_LOGIC_OP_SET = 15,
1301 VK_LOGIC_OP_MAX_ENUM = 0x7fffffff,
1302 } VkLogicOp;
1304 typedef enum VkMemoryAllocateFlagBits
1306 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
1307 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1308 } VkMemoryAllocateFlagBits;
1310 typedef enum VkMemoryHeapFlagBits
1312 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1313 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1314 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1315 } VkMemoryHeapFlagBits;
1317 typedef enum VkMemoryPropertyFlagBits
1319 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1320 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1321 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1322 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1323 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1324 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1325 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1326 } VkMemoryPropertyFlagBits;
1328 typedef enum VkObjectType
1330 VK_OBJECT_TYPE_UNKNOWN = 0,
1331 VK_OBJECT_TYPE_INSTANCE = 1,
1332 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1333 VK_OBJECT_TYPE_DEVICE = 3,
1334 VK_OBJECT_TYPE_QUEUE = 4,
1335 VK_OBJECT_TYPE_SEMAPHORE = 5,
1336 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1337 VK_OBJECT_TYPE_FENCE = 7,
1338 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1339 VK_OBJECT_TYPE_BUFFER = 9,
1340 VK_OBJECT_TYPE_IMAGE = 10,
1341 VK_OBJECT_TYPE_EVENT = 11,
1342 VK_OBJECT_TYPE_QUERY_POOL = 12,
1343 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1344 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1345 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1346 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1347 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1348 VK_OBJECT_TYPE_RENDER_PASS = 18,
1349 VK_OBJECT_TYPE_PIPELINE = 19,
1350 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1351 VK_OBJECT_TYPE_SAMPLER = 21,
1352 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1353 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1354 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1355 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1356 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1357 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1358 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1359 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1360 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1361 VK_OBJECT_TYPE_MAX_ENUM = 0x7fffffff,
1362 } VkObjectType;
1364 typedef enum VkPeerMemoryFeatureFlagBits
1366 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
1367 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
1368 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
1369 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
1370 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1371 } VkPeerMemoryFeatureFlagBits;
1373 typedef enum VkPhysicalDeviceType
1375 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1376 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1377 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1378 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1379 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1380 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7fffffff,
1381 } VkPhysicalDeviceType;
1383 typedef enum VkPipelineBindPoint
1385 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1386 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1387 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7fffffff,
1388 } VkPipelineBindPoint;
1390 typedef enum VkPipelineCacheHeaderVersion
1392 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1393 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7fffffff,
1394 } VkPipelineCacheHeaderVersion;
1396 typedef enum VkPipelineCreateFlagBits
1398 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
1399 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
1400 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
1401 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
1402 VK_PIPELINE_CREATE_DISPATCH_BASE = 0x00000010,
1403 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1404 } VkPipelineCreateFlagBits;
1406 typedef enum VkPipelineStageFlagBits
1408 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1409 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1410 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1411 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1412 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1413 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1414 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1415 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1416 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1417 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1418 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1419 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1420 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1421 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1422 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1423 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1424 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1425 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1426 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
1427 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
1428 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
1429 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
1430 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1431 } VkPipelineStageFlagBits;
1433 typedef enum VkPointClippingBehavior
1435 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
1436 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
1437 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7fffffff,
1438 } VkPointClippingBehavior;
1440 typedef enum VkPolygonMode
1442 VK_POLYGON_MODE_FILL = 0,
1443 VK_POLYGON_MODE_LINE = 1,
1444 VK_POLYGON_MODE_POINT = 2,
1445 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1446 VK_POLYGON_MODE_MAX_ENUM = 0x7fffffff,
1447 } VkPolygonMode;
1449 typedef enum VkPresentModeKHR
1451 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
1452 VK_PRESENT_MODE_MAILBOX_KHR = 1,
1453 VK_PRESENT_MODE_FIFO_KHR = 2,
1454 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
1455 VK_PRESENT_MODE_KHR_MAX_ENUM = 0x7fffffff,
1456 } VkPresentModeKHR;
1458 typedef enum VkPrimitiveTopology
1460 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1461 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1462 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1463 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1464 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1465 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1466 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1467 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1468 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1469 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1470 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1471 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7fffffff,
1472 } VkPrimitiveTopology;
1474 typedef enum VkQueryControlFlagBits
1476 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
1477 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1478 } VkQueryControlFlagBits;
1480 typedef enum VkQueryPipelineStatisticFlagBits
1482 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
1483 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
1484 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
1485 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
1486 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
1487 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
1488 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
1489 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
1490 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
1491 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
1492 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
1493 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1494 } VkQueryPipelineStatisticFlagBits;
1496 typedef enum VkQueryType
1498 VK_QUERY_TYPE_OCCLUSION = 0,
1499 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1500 VK_QUERY_TYPE_TIMESTAMP = 2,
1501 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1502 VK_QUERY_TYPE_MAX_ENUM = 0x7fffffff,
1503 } VkQueryType;
1505 typedef enum VkQueueFlagBits
1507 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1508 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1509 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1510 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1511 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1512 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1513 } VkQueueFlagBits;
1515 typedef enum VkQueueGlobalPriorityEXT
1517 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
1518 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
1519 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
1520 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
1521 VK_QUEUE_GLOBAL_PRIORITY_EXT_MAX_ENUM = 0x7fffffff,
1522 } VkQueueGlobalPriorityEXT;
1524 typedef enum VkRasterizationOrderAMD
1526 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
1527 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
1528 VK_RASTERIZATION_ORDER_AMD_MAX_ENUM = 0x7fffffff,
1529 } VkRasterizationOrderAMD;
1531 typedef enum VkResult
1533 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
1534 VK_ERROR_FRAGMENTATION_EXT = -1000161000,
1535 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
1536 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
1537 VK_ERROR_INVALID_SHADER_NV = -1000012000,
1538 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
1539 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
1540 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
1541 VK_ERROR_FRAGMENTED_POOL = -12,
1542 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
1543 VK_ERROR_TOO_MANY_OBJECTS = -10,
1544 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
1545 VK_ERROR_FEATURE_NOT_PRESENT = -8,
1546 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
1547 VK_ERROR_LAYER_NOT_PRESENT = -6,
1548 VK_ERROR_MEMORY_MAP_FAILED = -5,
1549 VK_ERROR_DEVICE_LOST = -4,
1550 VK_ERROR_INITIALIZATION_FAILED = -3,
1551 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
1552 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
1553 VK_SUCCESS = 0,
1554 VK_NOT_READY = 1,
1555 VK_TIMEOUT = 2,
1556 VK_EVENT_SET = 3,
1557 VK_EVENT_RESET = 4,
1558 VK_INCOMPLETE = 5,
1559 VK_SUBOPTIMAL_KHR = 1000001003,
1560 VK_RESULT_MAX_ENUM = 0x7fffffff,
1561 } VkResult;
1563 typedef enum VkSampleCountFlagBits
1565 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1566 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1567 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1568 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1569 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1570 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1571 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1572 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1573 } VkSampleCountFlagBits;
1575 typedef enum VkSamplerAddressMode
1577 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1578 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1579 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1580 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1581 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1582 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7fffffff,
1583 } VkSamplerAddressMode;
1585 typedef enum VkSamplerMipmapMode
1587 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1588 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1589 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7fffffff,
1590 } VkSamplerMipmapMode;
1592 typedef enum VkSamplerReductionModeEXT
1594 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = 0,
1595 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = 1,
1596 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = 2,
1597 VK_SAMPLER_REDUCTION_MODE_EXT_MAX_ENUM = 0x7fffffff,
1598 } VkSamplerReductionModeEXT;
1600 typedef enum VkSamplerYcbcrModelConversion
1602 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
1603 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
1604 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
1605 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
1606 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
1607 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7fffffff,
1608 } VkSamplerYcbcrModelConversion;
1610 typedef enum VkSamplerYcbcrRange
1612 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
1613 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
1614 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7fffffff,
1615 } VkSamplerYcbcrRange;
1617 typedef enum VkSemaphoreImportFlagBits
1619 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
1620 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1621 } VkSemaphoreImportFlagBits;
1623 typedef enum VkShaderInfoTypeAMD
1625 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
1626 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
1627 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
1628 VK_SHADER_INFO_TYPE_AMD_MAX_ENUM = 0x7fffffff,
1629 } VkShaderInfoTypeAMD;
1631 typedef enum VkShaderStageFlagBits
1633 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
1634 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
1635 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
1636 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
1637 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
1638 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001f,
1639 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
1640 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
1641 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
1642 VK_SHADER_STAGE_ALL = 0x7fffffff,
1643 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1644 } VkShaderStageFlagBits;
1646 typedef enum VkShadingRatePaletteEntryNV
1648 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
1649 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
1650 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
1651 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
1652 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
1653 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
1654 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
1655 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
1656 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
1657 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
1658 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
1659 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
1660 VK_SHADING_RATE_PALETTE_ENTRY_NV_MAX_ENUM = 0x7fffffff,
1661 } VkShadingRatePaletteEntryNV;
1663 typedef enum VkSharingMode
1665 VK_SHARING_MODE_EXCLUSIVE = 0,
1666 VK_SHARING_MODE_CONCURRENT = 1,
1667 VK_SHARING_MODE_MAX_ENUM = 0x7fffffff,
1668 } VkSharingMode;
1670 typedef enum VkSparseImageFormatFlagBits
1672 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
1673 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
1674 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
1675 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1676 } VkSparseImageFormatFlagBits;
1678 typedef enum VkSparseMemoryBindFlagBits
1680 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
1681 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1682 } VkSparseMemoryBindFlagBits;
1684 typedef enum VkStencilOp
1686 VK_STENCIL_OP_KEEP = 0,
1687 VK_STENCIL_OP_ZERO = 1,
1688 VK_STENCIL_OP_REPLACE = 2,
1689 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1690 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1691 VK_STENCIL_OP_INVERT = 5,
1692 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1693 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1694 VK_STENCIL_OP_MAX_ENUM = 0x7fffffff,
1695 } VkStencilOp;
1697 typedef enum VkStructureType
1699 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
1700 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
1701 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
1702 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
1703 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
1704 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
1705 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
1706 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
1707 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
1708 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
1709 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
1710 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
1711 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
1712 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
1713 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
1714 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
1715 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
1716 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
1717 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
1718 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
1719 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
1720 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
1721 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
1722 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
1723 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
1724 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
1725 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
1726 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
1727 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
1728 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
1729 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
1730 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
1731 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
1732 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
1733 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
1734 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
1735 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
1736 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
1737 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
1738 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
1739 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
1740 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
1741 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
1742 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
1743 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
1744 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
1745 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
1746 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
1747 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
1748 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1749 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1750 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
1751 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
1752 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1753 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1754 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1755 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
1756 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
1757 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
1758 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1760 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
1761 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
1762 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
1763 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1764 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1765 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
1766 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
1767 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
1768 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
1769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
1770 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
1771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
1772 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
1773 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
1774 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
1775 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
1776 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
1777 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
1778 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
1779 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
1780 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
1781 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
1782 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
1783 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
1784 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
1785 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
1786 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
1787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000,
1788 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1790 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
1791 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
1792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
1793 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
1794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
1795 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
1796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
1797 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
1798 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
1799 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
1800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
1801 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
1802 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
1803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1804 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1805 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1806 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
1808 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1809 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
1810 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1811 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
1812 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1813 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1814 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1815 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1816 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1817 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = 1000109000,
1818 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = 1000109001,
1819 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = 1000109002,
1820 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = 1000109003,
1821 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = 1000109004,
1822 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = 1000109005,
1823 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = 1000109006,
1824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
1825 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
1826 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
1827 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
1828 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
1829 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
1830 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
1831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000,
1832 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
1833 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
1834 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000,
1835 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001,
1836 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
1837 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
1838 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
1839 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
1840 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1841 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1842 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1843 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1844 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1845 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
1846 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
1847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
1848 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
1849 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
1850 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
1851 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
1852 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
1853 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
1854 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = 1000147000,
1855 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1856 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1857 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1858 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1859 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1860 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
1861 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
1862 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
1863 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
1864 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
1865 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
1866 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
1867 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
1868 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1869 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1870 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = 1000161000,
1871 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = 1000161001,
1872 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = 1000161002,
1873 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = 1000161003,
1874 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004,
1875 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1876 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1877 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1878 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1879 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1880 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1881 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
1882 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
1883 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
1884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000,
1885 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000,
1886 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1887 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1888 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1889 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1890 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000,
1891 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1892 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1893 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1894 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
1895 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1896 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1897 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1898 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1899 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1900 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000,
1901 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1902 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7fffffff,
1903 } VkStructureType;
1905 typedef enum VkSubgroupFeatureFlagBits
1907 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
1908 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
1909 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
1910 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
1911 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
1912 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
1913 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
1914 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
1915 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
1916 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1917 } VkSubgroupFeatureFlagBits;
1919 typedef enum VkSubpassContents
1921 VK_SUBPASS_CONTENTS_INLINE = 0,
1922 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1923 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7fffffff,
1924 } VkSubpassContents;
1926 typedef enum VkSubpassDescriptionFlagBits
1928 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7fffffff,
1929 } VkSubpassDescriptionFlagBits;
1931 typedef enum VkSurfaceTransformFlagBitsKHR
1933 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
1934 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
1935 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
1936 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
1937 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
1938 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
1939 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
1940 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
1941 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
1942 VK_SURFACE_TRANSFORM_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff,
1943 } VkSurfaceTransformFlagBitsKHR;
1945 typedef enum VkSwapchainCreateFlagBitsKHR
1947 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
1948 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
1949 VK_SWAPCHAIN_CREATE_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff,
1950 } VkSwapchainCreateFlagBitsKHR;
1952 typedef enum VkSystemAllocationScope
1954 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1955 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1956 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1957 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1958 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1959 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7fffffff,
1960 } VkSystemAllocationScope;
1962 typedef enum VkTessellationDomainOrigin
1964 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
1965 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
1966 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7fffffff,
1967 } VkTessellationDomainOrigin;
1969 typedef enum VkValidationCacheHeaderVersionEXT
1971 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
1972 VK_VALIDATION_CACHE_HEADER_VERSION_EXT_MAX_ENUM = 0x7fffffff,
1973 } VkValidationCacheHeaderVersionEXT;
1975 typedef enum VkVendorId
1977 VK_VENDOR_ID_VIV = 0x00010001,
1978 VK_VENDOR_ID_VSI = 0x00010002,
1979 VK_VENDOR_ID_KAZAN = 0x00010003,
1980 VK_VENDOR_ID_MAX_ENUM = 0x7fffffff,
1981 } VkVendorId;
1983 typedef enum VkVertexInputRate
1985 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1986 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1987 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7fffffff,
1988 } VkVertexInputRate;
1990 typedef enum VkViewportCoordinateSwizzleNV
1992 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
1993 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
1994 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
1995 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
1996 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
1997 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
1998 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
1999 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
2000 VK_VIEWPORT_COORDINATE_SWIZZLE_NV_MAX_ENUM = 0x7fffffff,
2001 } VkViewportCoordinateSwizzleNV;
2003 typedef void* (VKAPI_PTR * PFN_vkAllocationFunction)(
2004 void *pUserData,
2005 size_t size,
2006 size_t alignment,
2007 VkSystemAllocationScope allocationScope);
2008 typedef void (VKAPI_PTR * PFN_vkFreeFunction)(
2009 void *pUserData,
2010 void *pMemory);
2011 typedef void (VKAPI_PTR * PFN_vkInternalAllocationNotification)(
2012 void *pUserData,
2013 size_t size,
2014 VkInternalAllocationType allocationType,
2015 VkSystemAllocationScope allocationScope);
2016 typedef void (VKAPI_PTR * PFN_vkInternalFreeNotification)(
2017 void *pUserData,
2018 size_t size,
2019 VkInternalAllocationType allocationType,
2020 VkSystemAllocationScope allocationScope);
2021 typedef void* (VKAPI_PTR * PFN_vkReallocationFunction)(
2022 void *pUserData,
2023 void *pOriginal,
2024 size_t size,
2025 size_t alignment,
2026 VkSystemAllocationScope allocationScope);
2027 typedef void (VKAPI_PTR * PFN_vkVoidFunction)(
2028 void);
2030 typedef struct VkAcquireNextImageInfoKHR
2032 VkStructureType sType;
2033 const void *pNext;
2034 VkSwapchainKHR WINE_VK_ALIGN(8) swapchain;
2035 uint64_t WINE_VK_ALIGN(8) timeout;
2036 VkSemaphore WINE_VK_ALIGN(8) semaphore;
2037 VkFence WINE_VK_ALIGN(8) fence;
2038 uint32_t deviceMask;
2039 } VkAcquireNextImageInfoKHR;
2041 typedef struct VkApplicationInfo
2043 VkStructureType sType;
2044 const void *pNext;
2045 const char *pApplicationName;
2046 uint32_t applicationVersion;
2047 const char *pEngineName;
2048 uint32_t engineVersion;
2049 uint32_t apiVersion;
2050 } VkApplicationInfo;
2052 typedef struct VkAttachmentDescription2KHR
2054 VkStructureType sType;
2055 const void *pNext;
2056 VkAttachmentDescriptionFlags flags;
2057 VkFormat format;
2058 VkSampleCountFlagBits samples;
2059 VkAttachmentLoadOp loadOp;
2060 VkAttachmentStoreOp storeOp;
2061 VkAttachmentLoadOp stencilLoadOp;
2062 VkAttachmentStoreOp stencilStoreOp;
2063 VkImageLayout initialLayout;
2064 VkImageLayout finalLayout;
2065 } VkAttachmentDescription2KHR;
2067 typedef struct VkAttachmentReference2KHR
2069 VkStructureType sType;
2070 const void *pNext;
2071 uint32_t attachment;
2072 VkImageLayout layout;
2073 VkImageAspectFlags aspectMask;
2074 } VkAttachmentReference2KHR;
2076 typedef struct VkBaseInStructure
2078 VkStructureType sType;
2079 const struct VkBaseInStructure *pNext;
2080 } VkBaseInStructure;
2082 typedef struct VkBindImagePlaneMemoryInfo
2084 VkStructureType sType;
2085 const void *pNext;
2086 VkImageAspectFlagBits planeAspect;
2087 } VkBindImagePlaneMemoryInfo;
2089 typedef struct VkBufferCopy
2091 VkDeviceSize WINE_VK_ALIGN(8) srcOffset;
2092 VkDeviceSize WINE_VK_ALIGN(8) dstOffset;
2093 VkDeviceSize WINE_VK_ALIGN(8) size;
2094 } VkBufferCopy;
2096 typedef struct VkBufferMemoryBarrier
2098 VkStructureType sType;
2099 const void *pNext;
2100 VkAccessFlags srcAccessMask;
2101 VkAccessFlags dstAccessMask;
2102 uint32_t srcQueueFamilyIndex;
2103 uint32_t dstQueueFamilyIndex;
2104 VkBuffer WINE_VK_ALIGN(8) buffer;
2105 VkDeviceSize WINE_VK_ALIGN(8) offset;
2106 VkDeviceSize WINE_VK_ALIGN(8) size;
2107 } VkBufferMemoryBarrier;
2109 typedef union VkClearColorValue
2111 float float32[4];
2112 int32_t int32[4];
2113 uint32_t uint32[4];
2114 } VkClearColorValue;
2116 typedef struct VkCoarseSampleLocationNV
2118 uint32_t pixelX;
2119 uint32_t pixelY;
2120 uint32_t sample;
2121 } VkCoarseSampleLocationNV;
2123 typedef struct VkCommandBufferAllocateInfo
2125 VkStructureType sType;
2126 const void *pNext;
2127 VkCommandPool WINE_VK_ALIGN(8) commandPool;
2128 VkCommandBufferLevel level;
2129 uint32_t commandBufferCount;
2130 } VkCommandBufferAllocateInfo;
2132 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT
2134 VkStructureType sType;
2135 const void *pNext;
2136 VkBool32 conditionalRenderingEnable;
2137 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
2139 typedef struct VkCommandPoolCreateInfo
2141 VkStructureType sType;
2142 const void *pNext;
2143 VkCommandPoolCreateFlags flags;
2144 uint32_t queueFamilyIndex;
2145 } VkCommandPoolCreateInfo;
2147 typedef struct VkConditionalRenderingBeginInfoEXT
2149 VkStructureType sType;
2150 const void *pNext;
2151 VkBuffer WINE_VK_ALIGN(8) buffer;
2152 VkDeviceSize WINE_VK_ALIGN(8) offset;
2153 VkConditionalRenderingFlagsEXT flags;
2154 } VkConditionalRenderingBeginInfoEXT;
2156 typedef struct VkCopyDescriptorSet
2158 VkStructureType sType;
2159 const void *pNext;
2160 VkDescriptorSet WINE_VK_ALIGN(8) srcSet;
2161 uint32_t srcBinding;
2162 uint32_t srcArrayElement;
2163 VkDescriptorSet WINE_VK_ALIGN(8) dstSet;
2164 uint32_t dstBinding;
2165 uint32_t dstArrayElement;
2166 uint32_t descriptorCount;
2167 } VkCopyDescriptorSet;
2169 typedef struct VkDedicatedAllocationImageCreateInfoNV
2171 VkStructureType sType;
2172 const void *pNext;
2173 VkBool32 dedicatedAllocation;
2174 } VkDedicatedAllocationImageCreateInfoNV;
2176 typedef struct VkDescriptorImageInfo
2178 VkSampler WINE_VK_ALIGN(8) sampler;
2179 VkImageView WINE_VK_ALIGN(8) imageView;
2180 VkImageLayout imageLayout;
2181 } VkDescriptorImageInfo;
2183 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT
2185 VkStructureType sType;
2186 const void *pNext;
2187 uint32_t maxInlineUniformBlockBindings;
2188 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
2190 typedef struct VkDescriptorSetAllocateInfo
2192 VkStructureType sType;
2193 const void *pNext;
2194 VkDescriptorPool WINE_VK_ALIGN(8) descriptorPool;
2195 uint32_t descriptorSetCount;
2196 const VkDescriptorSetLayout *pSetLayouts;
2197 } VkDescriptorSetAllocateInfo;
2199 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
2201 VkStructureType sType;
2202 const void *pNext;
2203 uint32_t bindingCount;
2204 const VkDescriptorBindingFlagsEXT *pBindingFlags;
2205 } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
2207 typedef struct VkDescriptorSetLayoutSupport
2209 VkStructureType sType;
2210 void *pNext;
2211 VkBool32 supported;
2212 } VkDescriptorSetLayoutSupport;
2214 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
2216 VkStructureType sType;
2217 const void *pNext;
2218 uint32_t descriptorSetCount;
2219 const uint32_t *pDescriptorCounts;
2220 } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
2222 typedef struct VkDeviceGroupPresentInfoKHR
2224 VkStructureType sType;
2225 const void *pNext;
2226 uint32_t swapchainCount;
2227 const uint32_t *pDeviceMasks;
2228 VkDeviceGroupPresentModeFlagBitsKHR mode;
2229 } VkDeviceGroupPresentInfoKHR;
2231 typedef struct VkDeviceQueueCreateInfo
2233 VkStructureType sType;
2234 const void *pNext;
2235 VkDeviceQueueCreateFlags flags;
2236 uint32_t queueFamilyIndex;
2237 uint32_t queueCount;
2238 const float *pQueuePriorities;
2239 } VkDeviceQueueCreateInfo;
2241 typedef struct VkDeviceQueueInfo2
2243 VkStructureType sType;
2244 const void *pNext;
2245 VkDeviceQueueCreateFlags flags;
2246 uint32_t queueFamilyIndex;
2247 uint32_t queueIndex;
2248 } VkDeviceQueueInfo2;
2250 typedef struct VkDrawIndirectCommand
2252 uint32_t vertexCount;
2253 uint32_t instanceCount;
2254 uint32_t firstVertex;
2255 uint32_t firstInstance;
2256 } VkDrawIndirectCommand;
2258 typedef struct VkEventCreateInfo
2260 VkStructureType sType;
2261 const void *pNext;
2262 VkEventCreateFlags flags;
2263 } VkEventCreateInfo;
2265 typedef struct VkExportMemoryAllocateInfo
2267 VkStructureType sType;
2268 const void *pNext;
2269 VkExternalMemoryHandleTypeFlags handleTypes;
2270 } VkExportMemoryAllocateInfo;
2272 typedef struct VkExportMemoryAllocateInfoNV
2274 VkStructureType sType;
2275 const void *pNext;
2276 VkExternalMemoryHandleTypeFlagsNV handleTypes;
2277 } VkExportMemoryAllocateInfoNV;
2279 typedef struct VkExtensionProperties
2281 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2282 uint32_t specVersion;
2283 } VkExtensionProperties;
2285 typedef struct VkExtent3D
2287 uint32_t width;
2288 uint32_t height;
2289 uint32_t depth;
2290 } VkExtent3D;
2292 typedef struct VkExternalMemoryBufferCreateInfo
2294 VkStructureType sType;
2295 const void *pNext;
2296 VkExternalMemoryHandleTypeFlags handleTypes;
2297 } VkExternalMemoryBufferCreateInfo;
2299 typedef struct VkExternalMemoryImageCreateInfo
2301 VkStructureType sType;
2302 const void *pNext;
2303 VkExternalMemoryHandleTypeFlags handleTypes;
2304 } VkExternalMemoryImageCreateInfo;
2306 typedef struct VkExternalMemoryImageCreateInfoNV
2308 VkStructureType sType;
2309 const void *pNext;
2310 VkExternalMemoryHandleTypeFlagsNV handleTypes;
2311 } VkExternalMemoryImageCreateInfoNV;
2313 typedef struct VkFormatProperties
2315 VkFormatFeatureFlags linearTilingFeatures;
2316 VkFormatFeatureFlags optimalTilingFeatures;
2317 VkFormatFeatureFlags bufferFeatures;
2318 } VkFormatProperties;
2320 typedef struct VkImageCreateInfo
2322 VkStructureType sType;
2323 const void *pNext;
2324 VkImageCreateFlags flags;
2325 VkImageType imageType;
2326 VkFormat format;
2327 VkExtent3D extent;
2328 uint32_t mipLevels;
2329 uint32_t arrayLayers;
2330 VkSampleCountFlagBits samples;
2331 VkImageTiling tiling;
2332 VkImageUsageFlags usage;
2333 VkSharingMode sharingMode;
2334 uint32_t queueFamilyIndexCount;
2335 const uint32_t *pQueueFamilyIndices;
2336 VkImageLayout initialLayout;
2337 } VkImageCreateInfo;
2339 typedef struct VkImageFormatListCreateInfoKHR
2341 VkStructureType sType;
2342 const void *pNext;
2343 uint32_t viewFormatCount;
2344 const VkFormat *pViewFormats;
2345 } VkImageFormatListCreateInfoKHR;
2347 typedef struct VkImageMemoryRequirementsInfo2
2349 VkStructureType sType;
2350 const void *pNext;
2351 VkImage WINE_VK_ALIGN(8) image;
2352 } VkImageMemoryRequirementsInfo2;
2354 typedef struct VkImageSparseMemoryRequirementsInfo2
2356 VkStructureType sType;
2357 const void *pNext;
2358 VkImage WINE_VK_ALIGN(8) image;
2359 } VkImageSparseMemoryRequirementsInfo2;
2361 typedef struct VkImageSubresource
2363 VkImageAspectFlags aspectMask;
2364 uint32_t mipLevel;
2365 uint32_t arrayLayer;
2366 } VkImageSubresource;
2368 typedef struct VkImageSubresourceRange
2370 VkImageAspectFlags aspectMask;
2371 uint32_t baseMipLevel;
2372 uint32_t levelCount;
2373 uint32_t baseArrayLayer;
2374 uint32_t layerCount;
2375 } VkImageSubresourceRange;
2377 typedef struct VkImageViewASTCDecodeModeEXT
2379 VkStructureType sType;
2380 const void *pNext;
2381 VkFormat decodeMode;
2382 } VkImageViewASTCDecodeModeEXT;
2384 typedef struct VkImageViewUsageCreateInfo
2386 VkStructureType sType;
2387 const void *pNext;
2388 VkImageUsageFlags usage;
2389 } VkImageViewUsageCreateInfo;
2391 typedef struct VkInputAttachmentAspectReference
2393 uint32_t subpass;
2394 uint32_t inputAttachmentIndex;
2395 VkImageAspectFlags aspectMask;
2396 } VkInputAttachmentAspectReference;
2398 typedef struct VkInstanceCreateInfo
2400 VkStructureType sType;
2401 const void *pNext;
2402 VkInstanceCreateFlags flags;
2403 const VkApplicationInfo *pApplicationInfo;
2404 uint32_t enabledLayerCount;
2405 const char * const*ppEnabledLayerNames;
2406 uint32_t enabledExtensionCount;
2407 const char * const*ppEnabledExtensionNames;
2408 } VkInstanceCreateInfo;
2410 typedef struct VkMemoryAllocateFlagsInfo
2412 VkStructureType sType;
2413 const void *pNext;
2414 VkMemoryAllocateFlags flags;
2415 uint32_t deviceMask;
2416 } VkMemoryAllocateFlagsInfo;
2418 typedef struct VkMemoryAllocateInfo
2420 VkStructureType sType;
2421 const void *pNext;
2422 VkDeviceSize WINE_VK_ALIGN(8) allocationSize;
2423 uint32_t memoryTypeIndex;
2424 } VkMemoryAllocateInfo;
2426 typedef struct VkMemoryDedicatedAllocateInfo
2428 VkStructureType sType;
2429 const void *pNext;
2430 VkImage WINE_VK_ALIGN(8) image;
2431 VkBuffer WINE_VK_ALIGN(8) buffer;
2432 } VkMemoryDedicatedAllocateInfo;
2434 typedef struct VkMemoryDedicatedRequirements
2436 VkStructureType sType;
2437 void *pNext;
2438 VkBool32 prefersDedicatedAllocation;
2439 VkBool32 requiresDedicatedAllocation;
2440 } VkMemoryDedicatedRequirements;
2442 typedef struct VkMemoryHeap
2444 VkDeviceSize WINE_VK_ALIGN(8) size;
2445 VkMemoryHeapFlags flags;
2446 } VkMemoryHeap;
2448 typedef struct VkMemoryRequirements
2450 VkDeviceSize WINE_VK_ALIGN(8) size;
2451 VkDeviceSize WINE_VK_ALIGN(8) alignment;
2452 uint32_t memoryTypeBits;
2453 } VkMemoryRequirements;
2455 typedef struct VkMemoryRequirements2KHR
2457 VkStructureType sType;
2458 void *pNext;
2459 VkMemoryRequirements WINE_VK_ALIGN(8) memoryRequirements;
2460 } VkMemoryRequirements2KHR;
2462 typedef struct VkOffset2D
2464 int32_t x;
2465 int32_t y;
2466 } VkOffset2D;
2468 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT
2470 VkStructureType sType;
2471 void *pNext;
2472 VkBool32 decodeModeSharedExponent;
2473 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
2475 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
2477 VkStructureType sType;
2478 void *pNext;
2479 uint32_t advancedBlendMaxColorAttachments;
2480 VkBool32 advancedBlendIndependentBlend;
2481 VkBool32 advancedBlendNonPremultipliedSrcColor;
2482 VkBool32 advancedBlendNonPremultipliedDstColor;
2483 VkBool32 advancedBlendCorrelatedOverlap;
2484 VkBool32 advancedBlendAllOperations;
2485 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
2487 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT
2489 VkStructureType sType;
2490 void *pNext;
2491 VkBool32 conditionalRendering;
2492 VkBool32 inheritedConditionalRendering;
2493 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
2495 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV
2497 VkStructureType sType;
2498 void *pNext;
2499 VkBool32 cornerSampledImage;
2500 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
2502 typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT
2504 VkStructureType sType;
2505 void *pNext;
2506 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
2507 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
2508 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
2509 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
2510 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
2511 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
2512 VkBool32 robustBufferAccessUpdateAfterBind;
2513 VkBool32 quadDivergentImplicitLod;
2514 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
2515 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
2516 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
2517 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
2518 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
2519 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
2520 uint32_t maxPerStageUpdateAfterBindResources;
2521 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
2522 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
2523 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
2524 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
2525 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
2526 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
2527 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
2528 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
2529 } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
2531 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV
2533 VkStructureType sType;
2534 void *pNext;
2535 VkBool32 exclusiveScissor;
2536 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
2538 typedef struct VkPhysicalDeviceExternalSemaphoreInfo
2540 VkStructureType sType;
2541 const void *pNext;
2542 VkExternalSemaphoreHandleTypeFlagBits handleType;
2543 } VkPhysicalDeviceExternalSemaphoreInfo;
2545 typedef struct VkPhysicalDeviceFeatures
2547 VkBool32 robustBufferAccess;
2548 VkBool32 fullDrawIndexUint32;
2549 VkBool32 imageCubeArray;
2550 VkBool32 independentBlend;
2551 VkBool32 geometryShader;
2552 VkBool32 tessellationShader;
2553 VkBool32 sampleRateShading;
2554 VkBool32 dualSrcBlend;
2555 VkBool32 logicOp;
2556 VkBool32 multiDrawIndirect;
2557 VkBool32 drawIndirectFirstInstance;
2558 VkBool32 depthClamp;
2559 VkBool32 depthBiasClamp;
2560 VkBool32 fillModeNonSolid;
2561 VkBool32 depthBounds;
2562 VkBool32 wideLines;
2563 VkBool32 largePoints;
2564 VkBool32 alphaToOne;
2565 VkBool32 multiViewport;
2566 VkBool32 samplerAnisotropy;
2567 VkBool32 textureCompressionETC2;
2568 VkBool32 textureCompressionASTC_LDR;
2569 VkBool32 textureCompressionBC;
2570 VkBool32 occlusionQueryPrecise;
2571 VkBool32 pipelineStatisticsQuery;
2572 VkBool32 vertexPipelineStoresAndAtomics;
2573 VkBool32 fragmentStoresAndAtomics;
2574 VkBool32 shaderTessellationAndGeometryPointSize;
2575 VkBool32 shaderImageGatherExtended;
2576 VkBool32 shaderStorageImageExtendedFormats;
2577 VkBool32 shaderStorageImageMultisample;
2578 VkBool32 shaderStorageImageReadWithoutFormat;
2579 VkBool32 shaderStorageImageWriteWithoutFormat;
2580 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2581 VkBool32 shaderSampledImageArrayDynamicIndexing;
2582 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2583 VkBool32 shaderStorageImageArrayDynamicIndexing;
2584 VkBool32 shaderClipDistance;
2585 VkBool32 shaderCullDistance;
2586 VkBool32 shaderFloat64;
2587 VkBool32 shaderInt64;
2588 VkBool32 shaderInt16;
2589 VkBool32 shaderResourceResidency;
2590 VkBool32 shaderResourceMinLod;
2591 VkBool32 sparseBinding;
2592 VkBool32 sparseResidencyBuffer;
2593 VkBool32 sparseResidencyImage2D;
2594 VkBool32 sparseResidencyImage3D;
2595 VkBool32 sparseResidency2Samples;
2596 VkBool32 sparseResidency4Samples;
2597 VkBool32 sparseResidency8Samples;
2598 VkBool32 sparseResidency16Samples;
2599 VkBool32 sparseResidencyAliased;
2600 VkBool32 variableMultisampleRate;
2601 VkBool32 inheritedQueries;
2602 } VkPhysicalDeviceFeatures;
2604 typedef struct VkPhysicalDeviceGroupProperties
2606 VkStructureType sType;
2607 void *pNext;
2608 uint32_t physicalDeviceCount;
2609 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
2610 VkBool32 subsetAllocation;
2611 } VkPhysicalDeviceGroupProperties;
2613 typedef struct VkPhysicalDeviceIDProperties
2615 VkStructureType sType;
2616 void *pNext;
2617 uint8_t deviceUUID[VK_UUID_SIZE];
2618 uint8_t driverUUID[VK_UUID_SIZE];
2619 uint8_t deviceLUID[VK_LUID_SIZE];
2620 uint32_t deviceNodeMask;
2621 VkBool32 deviceLUIDValid;
2622 } VkPhysicalDeviceIDProperties;
2624 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT
2626 VkStructureType sType;
2627 void *pNext;
2628 uint32_t maxInlineUniformBlockSize;
2629 uint32_t maxPerStageDescriptorInlineUniformBlocks;
2630 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
2631 uint32_t maxDescriptorSetInlineUniformBlocks;
2632 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
2633 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
2635 typedef struct VkPhysicalDeviceMaintenance3Properties
2637 VkStructureType sType;
2638 void *pNext;
2639 uint32_t maxPerSetDescriptors;
2640 VkDeviceSize WINE_VK_ALIGN(8) maxMemoryAllocationSize;
2641 } VkPhysicalDeviceMaintenance3Properties;
2643 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV
2645 VkStructureType sType;
2646 void *pNext;
2647 uint32_t maxDrawMeshTasksCount;
2648 uint32_t maxTaskWorkGroupInvocations;
2649 uint32_t maxTaskWorkGroupSize[3];
2650 uint32_t maxTaskTotalMemorySize;
2651 uint32_t maxTaskOutputCount;
2652 uint32_t maxMeshWorkGroupInvocations;
2653 uint32_t maxMeshWorkGroupSize[3];
2654 uint32_t maxMeshTotalMemorySize;
2655 uint32_t maxMeshOutputVertices;
2656 uint32_t maxMeshOutputPrimitives;
2657 uint32_t maxMeshMultiviewViewCount;
2658 uint32_t meshOutputPerVertexGranularity;
2659 uint32_t meshOutputPerPrimitiveGranularity;
2660 } VkPhysicalDeviceMeshShaderPropertiesNV;
2662 typedef struct VkPhysicalDeviceMultiviewProperties
2664 VkStructureType sType;
2665 void *pNext;
2666 uint32_t maxMultiviewViewCount;
2667 uint32_t maxMultiviewInstanceIndex;
2668 } VkPhysicalDeviceMultiviewProperties;
2670 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT
2672 VkStructureType sType;
2673 void *pNext;
2674 uint16_t pciDomain;
2675 uint8_t pciBus;
2676 uint8_t pciDevice;
2677 uint8_t pciFunction;
2678 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
2680 typedef struct VkPhysicalDeviceProtectedMemoryProperties
2682 VkStructureType sType;
2683 void *pNext;
2684 VkBool32 protectedNoFault;
2685 } VkPhysicalDeviceProtectedMemoryProperties;
2687 typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT
2689 VkStructureType sType;
2690 void *pNext;
2691 VkBool32 filterMinmaxSingleComponentFormats;
2692 VkBool32 filterMinmaxImageComponentMapping;
2693 } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
2695 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD
2697 VkStructureType sType;
2698 void *pNext;
2699 uint32_t shaderEngineCount;
2700 uint32_t shaderArraysPerEngineCount;
2701 uint32_t computeUnitsPerShaderArray;
2702 uint32_t simdPerComputeUnit;
2703 uint32_t wavefrontsPerSimd;
2704 uint32_t wavefrontSize;
2705 uint32_t sgprsPerSimd;
2706 uint32_t minSgprAllocation;
2707 uint32_t maxSgprAllocation;
2708 uint32_t sgprAllocationGranularity;
2709 uint32_t vgprsPerSimd;
2710 uint32_t minVgprAllocation;
2711 uint32_t maxVgprAllocation;
2712 uint32_t vgprAllocationGranularity;
2713 } VkPhysicalDeviceShaderCorePropertiesAMD;
2715 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV
2717 VkStructureType sType;
2718 void *pNext;
2719 VkBool32 imageFootprint;
2720 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
2722 typedef struct VkPhysicalDeviceSparseImageFormatInfo2
2724 VkStructureType sType;
2725 const void *pNext;
2726 VkFormat format;
2727 VkImageType type;
2728 VkSampleCountFlagBits samples;
2729 VkImageUsageFlags usage;
2730 VkImageTiling tiling;
2731 } VkPhysicalDeviceSparseImageFormatInfo2;
2733 typedef struct VkPhysicalDeviceSparseProperties
2735 VkBool32 residencyStandard2DBlockShape;
2736 VkBool32 residencyStandard2DMultisampleBlockShape;
2737 VkBool32 residencyStandard3DBlockShape;
2738 VkBool32 residencyAlignedMipSize;
2739 VkBool32 residencyNonResidentStrict;
2740 } VkPhysicalDeviceSparseProperties;
2742 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT
2744 VkStructureType sType;
2745 void *pNext;
2746 uint32_t maxTransformFeedbackStreams;
2747 uint32_t maxTransformFeedbackBuffers;
2748 VkDeviceSize WINE_VK_ALIGN(8) maxTransformFeedbackBufferSize;
2749 uint32_t maxTransformFeedbackStreamDataSize;
2750 uint32_t maxTransformFeedbackBufferDataSize;
2751 uint32_t maxTransformFeedbackBufferDataStride;
2752 VkBool32 transformFeedbackQueries;
2753 VkBool32 transformFeedbackStreamsLinesTriangles;
2754 VkBool32 transformFeedbackRasterizationStreamSelect;
2755 VkBool32 transformFeedbackDraw;
2756 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
2758 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
2760 VkStructureType sType;
2761 void *pNext;
2762 uint32_t maxVertexAttribDivisor;
2763 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
2765 typedef struct VkPipelineCacheCreateInfo
2767 VkStructureType sType;
2768 const void *pNext;
2769 VkPipelineCacheCreateFlags flags;
2770 size_t initialDataSize;
2771 const void *pInitialData;
2772 } VkPipelineCacheCreateInfo;
2774 typedef struct VkPipelineColorBlendAttachmentState
2776 VkBool32 blendEnable;
2777 VkBlendFactor srcColorBlendFactor;
2778 VkBlendFactor dstColorBlendFactor;
2779 VkBlendOp colorBlendOp;
2780 VkBlendFactor srcAlphaBlendFactor;
2781 VkBlendFactor dstAlphaBlendFactor;
2782 VkBlendOp alphaBlendOp;
2783 VkColorComponentFlags colorWriteMask;
2784 } VkPipelineColorBlendAttachmentState;
2786 typedef struct VkPipelineCoverageModulationStateCreateInfoNV
2788 VkStructureType sType;
2789 const void *pNext;
2790 VkPipelineCoverageModulationStateCreateFlagsNV flags;
2791 VkCoverageModulationModeNV coverageModulationMode;
2792 VkBool32 coverageModulationTableEnable;
2793 uint32_t coverageModulationTableCount;
2794 const float *pCoverageModulationTable;
2795 } VkPipelineCoverageModulationStateCreateInfoNV;
2797 typedef struct VkPipelineDynamicStateCreateInfo
2799 VkStructureType sType;
2800 const void *pNext;
2801 VkPipelineDynamicStateCreateFlags flags;
2802 uint32_t dynamicStateCount;
2803 const VkDynamicState *pDynamicStates;
2804 } VkPipelineDynamicStateCreateInfo;
2806 typedef struct VkPipelineMultisampleStateCreateInfo
2808 VkStructureType sType;
2809 const void *pNext;
2810 VkPipelineMultisampleStateCreateFlags flags;
2811 VkSampleCountFlagBits rasterizationSamples;
2812 VkBool32 sampleShadingEnable;
2813 float minSampleShading;
2814 const VkSampleMask *pSampleMask;
2815 VkBool32 alphaToCoverageEnable;
2816 VkBool32 alphaToOneEnable;
2817 } VkPipelineMultisampleStateCreateInfo;
2819 typedef struct VkPipelineRasterizationStateCreateInfo
2821 VkStructureType sType;
2822 const void *pNext;
2823 VkPipelineRasterizationStateCreateFlags flags;
2824 VkBool32 depthClampEnable;
2825 VkBool32 rasterizerDiscardEnable;
2826 VkPolygonMode polygonMode;
2827 VkCullModeFlags cullMode;
2828 VkFrontFace frontFace;
2829 VkBool32 depthBiasEnable;
2830 float depthBiasConstantFactor;
2831 float depthBiasClamp;
2832 float depthBiasSlopeFactor;
2833 float lineWidth;
2834 } VkPipelineRasterizationStateCreateInfo;
2836 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT
2838 VkStructureType sType;
2839 const void *pNext;
2840 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
2841 uint32_t rasterizationStream;
2842 } VkPipelineRasterizationStateStreamCreateInfoEXT;
2844 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo
2846 VkStructureType sType;
2847 const void *pNext;
2848 VkTessellationDomainOrigin domainOrigin;
2849 } VkPipelineTessellationDomainOriginStateCreateInfo;
2851 typedef struct VkPipelineTessellationStateCreateInfo
2853 VkStructureType sType;
2854 const void *pNext;
2855 VkPipelineTessellationStateCreateFlags flags;
2856 uint32_t patchControlPoints;
2857 } VkPipelineTessellationStateCreateInfo;
2859 typedef struct VkPresentInfoKHR
2861 VkStructureType sType;
2862 const void *pNext;
2863 uint32_t waitSemaphoreCount;
2864 const VkSemaphore *pWaitSemaphores;
2865 uint32_t swapchainCount;
2866 const VkSwapchainKHR *pSwapchains;
2867 const uint32_t *pImageIndices;
2868 VkResult *pResults;
2869 } VkPresentInfoKHR;
2871 typedef struct VkProtectedSubmitInfo
2873 VkStructureType sType;
2874 const void *pNext;
2875 VkBool32 protectedSubmit;
2876 } VkProtectedSubmitInfo;
2878 typedef struct VkQueryPoolCreateInfo
2880 VkStructureType sType;
2881 const void *pNext;
2882 VkQueryPoolCreateFlags flags;
2883 VkQueryType queryType;
2884 uint32_t queryCount;
2885 VkQueryPipelineStatisticFlags pipelineStatistics;
2886 } VkQueryPoolCreateInfo;
2888 typedef struct VkQueueFamilyProperties
2890 VkQueueFlags queueFlags;
2891 uint32_t queueCount;
2892 uint32_t timestampValidBits;
2893 VkExtent3D minImageTransferGranularity;
2894 } VkQueueFamilyProperties;
2896 typedef struct VkRenderPassInputAttachmentAspectCreateInfo
2898 VkStructureType sType;
2899 const void *pNext;
2900 uint32_t aspectReferenceCount;
2901 const VkInputAttachmentAspectReference *pAspectReferences;
2902 } VkRenderPassInputAttachmentAspectCreateInfo;
2904 typedef struct VkRenderPassMultiviewCreateInfo
2906 VkStructureType sType;
2907 const void *pNext;
2908 uint32_t subpassCount;
2909 const uint32_t *pViewMasks;
2910 uint32_t dependencyCount;
2911 const int32_t *pViewOffsets;
2912 uint32_t correlationMaskCount;
2913 const uint32_t *pCorrelationMasks;
2914 } VkRenderPassMultiviewCreateInfo;
2916 typedef struct VkSampleLocationEXT
2918 float x;
2919 float y;
2920 } VkSampleLocationEXT;
2922 typedef struct VkSamplerCreateInfo
2924 VkStructureType sType;
2925 const void *pNext;
2926 VkSamplerCreateFlags flags;
2927 VkFilter magFilter;
2928 VkFilter minFilter;
2929 VkSamplerMipmapMode mipmapMode;
2930 VkSamplerAddressMode addressModeU;
2931 VkSamplerAddressMode addressModeV;
2932 VkSamplerAddressMode addressModeW;
2933 float mipLodBias;
2934 VkBool32 anisotropyEnable;
2935 float maxAnisotropy;
2936 VkBool32 compareEnable;
2937 VkCompareOp compareOp;
2938 float minLod;
2939 float maxLod;
2940 VkBorderColor borderColor;
2941 VkBool32 unnormalizedCoordinates;
2942 } VkSamplerCreateInfo;
2944 typedef struct VkShaderModuleCreateInfo
2946 VkStructureType sType;
2947 const void *pNext;
2948 VkShaderModuleCreateFlags flags;
2949 size_t codeSize;
2950 const uint32_t *pCode;
2951 } VkShaderModuleCreateInfo;
2953 typedef struct VkShaderResourceUsageAMD
2955 uint32_t numUsedVgprs;
2956 uint32_t numUsedSgprs;
2957 uint32_t ldsSizePerLocalWorkGroup;
2958 size_t ldsUsageSizeInBytes;
2959 size_t scratchMemUsageInBytes;
2960 } VkShaderResourceUsageAMD;
2962 typedef struct VkShadingRatePaletteNV
2964 uint32_t shadingRatePaletteEntryCount;
2965 const VkShadingRatePaletteEntryNV *pShadingRatePaletteEntries;
2966 } VkShadingRatePaletteNV;
2968 typedef struct VkSparseImageFormatProperties
2970 VkImageAspectFlags aspectMask;
2971 VkExtent3D imageGranularity;
2972 VkSparseImageFormatFlags flags;
2973 } VkSparseImageFormatProperties;
2975 typedef struct VkSparseImageMemoryRequirements
2977 VkSparseImageFormatProperties formatProperties;
2978 uint32_t imageMipTailFirstLod;
2979 VkDeviceSize WINE_VK_ALIGN(8) imageMipTailSize;
2980 VkDeviceSize WINE_VK_ALIGN(8) imageMipTailOffset;
2981 VkDeviceSize WINE_VK_ALIGN(8) imageMipTailStride;
2982 } VkSparseImageMemoryRequirements;
2984 typedef struct VkSparseMemoryBind
2986 VkDeviceSize WINE_VK_ALIGN(8) resourceOffset;
2987 VkDeviceSize WINE_VK_ALIGN(8) size;
2988 VkDeviceMemory WINE_VK_ALIGN(8) memory;
2989 VkDeviceSize WINE_VK_ALIGN(8) memoryOffset;
2990 VkSparseMemoryBindFlags flags;
2991 } VkSparseMemoryBind;
2993 typedef struct VkSpecializationMapEntry
2995 uint32_t constantID;
2996 uint32_t offset;
2997 size_t size;
2998 } VkSpecializationMapEntry;
3000 typedef struct VkSubmitInfo
3002 VkStructureType sType;
3003 const void *pNext;
3004 uint32_t waitSemaphoreCount;
3005 const VkSemaphore *pWaitSemaphores;
3006 const VkPipelineStageFlags *pWaitDstStageMask;
3007 uint32_t commandBufferCount;
3008 const VkCommandBuffer *pCommandBuffers;
3009 uint32_t signalSemaphoreCount;
3010 const VkSemaphore *pSignalSemaphores;
3011 } VkSubmitInfo;
3013 typedef struct VkSubpassDependency
3015 uint32_t srcSubpass;
3016 uint32_t dstSubpass;
3017 VkPipelineStageFlags srcStageMask;
3018 VkPipelineStageFlags dstStageMask;
3019 VkAccessFlags srcAccessMask;
3020 VkAccessFlags dstAccessMask;
3021 VkDependencyFlags dependencyFlags;
3022 } VkSubpassDependency;
3024 typedef struct VkSubpassDescription2KHR
3026 VkStructureType sType;
3027 const void *pNext;
3028 VkSubpassDescriptionFlags flags;
3029 VkPipelineBindPoint pipelineBindPoint;
3030 uint32_t viewMask;
3031 uint32_t inputAttachmentCount;
3032 const VkAttachmentReference2KHR *pInputAttachments;
3033 uint32_t colorAttachmentCount;
3034 const VkAttachmentReference2KHR *pColorAttachments;
3035 const VkAttachmentReference2KHR *pResolveAttachments;
3036 const VkAttachmentReference2KHR *pDepthStencilAttachment;
3037 uint32_t preserveAttachmentCount;
3038 const uint32_t *pPreserveAttachments;
3039 } VkSubpassDescription2KHR;
3041 typedef struct VkSubresourceLayout
3043 VkDeviceSize WINE_VK_ALIGN(8) offset;
3044 VkDeviceSize WINE_VK_ALIGN(8) size;
3045 VkDeviceSize WINE_VK_ALIGN(8) rowPitch;
3046 VkDeviceSize WINE_VK_ALIGN(8) arrayPitch;
3047 VkDeviceSize WINE_VK_ALIGN(8) depthPitch;
3048 } VkSubresourceLayout;
3050 typedef struct VkTextureLODGatherFormatPropertiesAMD
3052 VkStructureType sType;
3053 void *pNext;
3054 VkBool32 supportsTextureGatherLODBiasAMD;
3055 } VkTextureLODGatherFormatPropertiesAMD;
3057 typedef struct VkVertexInputBindingDescription
3059 uint32_t binding;
3060 uint32_t stride;
3061 VkVertexInputRate inputRate;
3062 } VkVertexInputBindingDescription;
3064 typedef struct VkViewportSwizzleNV
3066 VkViewportCoordinateSwizzleNV x;
3067 VkViewportCoordinateSwizzleNV y;
3068 VkViewportCoordinateSwizzleNV z;
3069 VkViewportCoordinateSwizzleNV w;
3070 } VkViewportSwizzleNV;
3072 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT
3074 VkStructureType sType;
3075 const void *pNext;
3076 uint32_t dataSize;
3077 const void *pData;
3078 } VkWriteDescriptorSetInlineUniformBlockEXT;
3080 typedef struct VkAttachmentDescription
3082 VkAttachmentDescriptionFlags flags;
3083 VkFormat format;
3084 VkSampleCountFlagBits samples;
3085 VkAttachmentLoadOp loadOp;
3086 VkAttachmentStoreOp storeOp;
3087 VkAttachmentLoadOp stencilLoadOp;
3088 VkAttachmentStoreOp stencilStoreOp;
3089 VkImageLayout initialLayout;
3090 VkImageLayout finalLayout;
3091 } VkAttachmentDescription;
3093 typedef struct VkBaseOutStructure
3095 VkStructureType sType;
3096 struct VkBaseOutStructure *pNext;
3097 } VkBaseOutStructure;
3099 typedef struct VkBindBufferMemoryInfo
3101 VkStructureType sType;
3102 const void *pNext;
3103 VkBuffer WINE_VK_ALIGN(8) buffer;
3104 VkDeviceMemory WINE_VK_ALIGN(8) memory;
3105 VkDeviceSize WINE_VK_ALIGN(8) memoryOffset;
3106 } VkBindBufferMemoryInfo;
3108 typedef struct VkBindImageMemoryInfo
3110 VkStructureType sType;
3111 const void *pNext;
3112 VkImage WINE_VK_ALIGN(8) image;
3113 VkDeviceMemory WINE_VK_ALIGN(8) memory;
3114 VkDeviceSize WINE_VK_ALIGN(8) memoryOffset;
3115 } VkBindImageMemoryInfo;
3117 typedef struct VkBufferCreateInfo
3119 VkStructureType sType;
3120 const void *pNext;
3121 VkBufferCreateFlags flags;
3122 VkDeviceSize WINE_VK_ALIGN(8) size;
3123 VkBufferUsageFlags usage;
3124 VkSharingMode sharingMode;
3125 uint32_t queueFamilyIndexCount;
3126 const uint32_t *pQueueFamilyIndices;
3127 } VkBufferCreateInfo;
3129 typedef struct VkBufferMemoryRequirementsInfo2
3131 VkStructureType sType;
3132 const void *pNext;
3133 VkBuffer WINE_VK_ALIGN(8) buffer;
3134 } VkBufferMemoryRequirementsInfo2;
3136 typedef struct VkCheckpointDataNV
3138 VkStructureType sType;
3139 void *pNext;
3140 VkPipelineStageFlagBits stage;
3141 void *pCheckpointMarker;
3142 } VkCheckpointDataNV;
3144 typedef struct VkClearDepthStencilValue
3146 float depth;
3147 uint32_t stencil;
3148 } VkClearDepthStencilValue;
3150 typedef union VkClearValue
3152 VkClearColorValue color;
3153 VkClearDepthStencilValue depthStencil;
3154 } VkClearValue;
3156 typedef struct VkCoarseSampleOrderCustomNV
3158 VkShadingRatePaletteEntryNV shadingRate;
3159 uint32_t sampleCount;
3160 uint32_t sampleLocationCount;
3161 const VkCoarseSampleLocationNV *pSampleLocations;
3162 } VkCoarseSampleOrderCustomNV;
3164 typedef struct VkCommandBufferInheritanceInfo
3166 VkStructureType sType;
3167 const void *pNext;
3168 VkRenderPass WINE_VK_ALIGN(8) renderPass;
3169 uint32_t subpass;
3170 VkFramebuffer WINE_VK_ALIGN(8) framebuffer;
3171 VkBool32 occlusionQueryEnable;
3172 VkQueryControlFlags queryFlags;
3173 VkQueryPipelineStatisticFlags pipelineStatistics;
3174 } VkCommandBufferInheritanceInfo;
3176 typedef struct VkConformanceVersionKHR
3178 uint8_t major;
3179 uint8_t minor;
3180 uint8_t subminor;
3181 uint8_t patch;
3182 } VkConformanceVersionKHR;
3184 typedef struct VkDedicatedAllocationBufferCreateInfoNV
3186 VkStructureType sType;
3187 const void *pNext;
3188 VkBool32 dedicatedAllocation;
3189 } VkDedicatedAllocationBufferCreateInfoNV;
3191 typedef struct VkDescriptorBufferInfo
3193 VkBuffer WINE_VK_ALIGN(8) buffer;
3194 VkDeviceSize WINE_VK_ALIGN(8) offset;
3195 VkDeviceSize WINE_VK_ALIGN(8) range;
3196 } VkDescriptorBufferInfo;
3198 typedef struct VkDescriptorPoolSize
3200 VkDescriptorType type;
3201 uint32_t descriptorCount;
3202 } VkDescriptorPoolSize;
3204 typedef struct VkDescriptorUpdateTemplateEntry
3206 uint32_t dstBinding;
3207 uint32_t dstArrayElement;
3208 uint32_t descriptorCount;
3209 VkDescriptorType descriptorType;
3210 size_t offset;
3211 size_t stride;
3212 } VkDescriptorUpdateTemplateEntry;
3214 typedef struct VkDeviceGroupCommandBufferBeginInfo
3216 VkStructureType sType;
3217 const void *pNext;
3218 uint32_t deviceMask;
3219 } VkDeviceGroupCommandBufferBeginInfo;
3221 typedef struct VkDeviceGroupPresentCapabilitiesKHR
3223 VkStructureType sType;
3224 const void *pNext;
3225 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
3226 VkDeviceGroupPresentModeFlagsKHR modes;
3227 } VkDeviceGroupPresentCapabilitiesKHR;
3229 typedef struct VkDeviceGroupSubmitInfo
3231 VkStructureType sType;
3232 const void *pNext;
3233 uint32_t waitSemaphoreCount;
3234 const uint32_t *pWaitSemaphoreDeviceIndices;
3235 uint32_t commandBufferCount;
3236 const uint32_t *pCommandBufferDeviceMasks;
3237 uint32_t signalSemaphoreCount;
3238 const uint32_t *pSignalSemaphoreDeviceIndices;
3239 } VkDeviceGroupSubmitInfo;
3241 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT
3243 VkStructureType sType;
3244 const void *pNext;
3245 VkQueueGlobalPriorityEXT globalPriority;
3246 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
3248 typedef struct VkDrawMeshTasksIndirectCommandNV
3250 uint32_t taskCount;
3251 uint32_t firstTask;
3252 } VkDrawMeshTasksIndirectCommandNV;
3254 typedef struct VkExportFenceCreateInfo
3256 VkStructureType sType;
3257 const void *pNext;
3258 VkExternalFenceHandleTypeFlags handleTypes;
3259 } VkExportFenceCreateInfo;
3261 typedef struct VkExportSemaphoreCreateInfo
3263 VkStructureType sType;
3264 const void *pNext;
3265 VkExternalSemaphoreHandleTypeFlags handleTypes;
3266 } VkExportSemaphoreCreateInfo;
3268 typedef struct VkExtent2D
3270 uint32_t width;
3271 uint32_t height;
3272 } VkExtent2D;
3274 typedef struct VkExternalFenceProperties
3276 VkStructureType sType;
3277 void *pNext;
3278 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
3279 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
3280 VkExternalFenceFeatureFlags externalFenceFeatures;
3281 } VkExternalFenceProperties;
3283 typedef struct VkExternalSemaphoreProperties
3285 VkStructureType sType;
3286 void *pNext;
3287 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
3288 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
3289 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
3290 } VkExternalSemaphoreProperties;
3292 typedef struct VkFramebufferCreateInfo
3294 VkStructureType sType;
3295 const void *pNext;
3296 VkFramebufferCreateFlags flags;
3297 VkRenderPass WINE_VK_ALIGN(8) renderPass;
3298 uint32_t attachmentCount;
3299 const VkImageView *pAttachments;
3300 uint32_t width;
3301 uint32_t height;
3302 uint32_t layers;
3303 } VkFramebufferCreateInfo;
3305 typedef struct VkImageFormatProperties
3307 VkExtent3D maxExtent;
3308 uint32_t maxMipLevels;
3309 uint32_t maxArrayLayers;
3310 VkSampleCountFlags sampleCounts;
3311 VkDeviceSize WINE_VK_ALIGN(8) maxResourceSize;
3312 } VkImageFormatProperties;
3314 typedef struct VkImageMemoryBarrier
3316 VkStructureType sType;
3317 const void *pNext;
3318 VkAccessFlags srcAccessMask;
3319 VkAccessFlags dstAccessMask;
3320 VkImageLayout oldLayout;
3321 VkImageLayout newLayout;
3322 uint32_t srcQueueFamilyIndex;
3323 uint32_t dstQueueFamilyIndex;
3324 VkImage WINE_VK_ALIGN(8) image;
3325 VkImageSubresourceRange subresourceRange;
3326 } VkImageMemoryBarrier;
3328 typedef struct VkImagePlaneMemoryRequirementsInfo
3330 VkStructureType sType;
3331 const void *pNext;
3332 VkImageAspectFlagBits planeAspect;
3333 } VkImagePlaneMemoryRequirementsInfo;
3335 typedef struct VkImageSwapchainCreateInfoKHR
3337 VkStructureType sType;
3338 const void *pNext;
3339 VkSwapchainKHR WINE_VK_ALIGN(8) swapchain;
3340 } VkImageSwapchainCreateInfoKHR;
3342 typedef struct VkLayerProperties
3344 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3345 uint32_t specVersion;
3346 uint32_t implementationVersion;
3347 char description[VK_MAX_DESCRIPTION_SIZE];
3348 } VkLayerProperties;
3350 typedef struct VkMemoryType
3352 VkMemoryPropertyFlags propertyFlags;
3353 uint32_t heapIndex;
3354 } VkMemoryType;
3356 typedef struct VkMultisamplePropertiesEXT
3358 VkStructureType sType;
3359 void *pNext;
3360 VkExtent2D maxSampleLocationGridSize;
3361 } VkMultisamplePropertiesEXT;
3363 typedef struct VkPhysicalDevice16BitStorageFeatures
3365 VkStructureType sType;
3366 void *pNext;
3367 VkBool32 storageBuffer16BitAccess;
3368 VkBool32 uniformAndStorageBuffer16BitAccess;
3369 VkBool32 storagePushConstant16;
3370 VkBool32 storageInputOutput16;
3371 } VkPhysicalDevice16BitStorageFeatures;
3373 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
3375 VkStructureType sType;
3376 void *pNext;
3377 VkBool32 advancedBlendCoherentOperations;
3378 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
3380 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT
3382 VkStructureType sType;
3383 void *pNext;
3384 float primitiveOverestimationSize;
3385 float maxExtraPrimitiveOverestimationSize;
3386 float extraPrimitiveOverestimationSizeGranularity;
3387 VkBool32 primitiveUnderestimation;
3388 VkBool32 conservativePointAndLineRasterization;
3389 VkBool32 degenerateTrianglesRasterized;
3390 VkBool32 degenerateLinesRasterized;
3391 VkBool32 fullyCoveredFragmentShaderInputVariable;
3392 VkBool32 conservativeRasterizationPostDepthCoverage;
3393 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
3395 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT
3397 VkStructureType sType;
3398 void *pNext;
3399 uint32_t maxDiscardRectangles;
3400 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
3402 typedef struct VkPhysicalDeviceExternalBufferInfo
3404 VkStructureType sType;
3405 const void *pNext;
3406 VkBufferCreateFlags flags;
3407 VkBufferUsageFlags usage;
3408 VkExternalMemoryHandleTypeFlagBits handleType;
3409 } VkPhysicalDeviceExternalBufferInfo;
3411 typedef struct VkPhysicalDeviceExternalImageFormatInfo
3413 VkStructureType sType;
3414 const void *pNext;
3415 VkExternalMemoryHandleTypeFlagBits handleType;
3416 } VkPhysicalDeviceExternalImageFormatInfo;
3418 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
3420 VkStructureType sType;
3421 void *pNext;
3422 VkBool32 fragmentShaderBarycentric;
3423 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
3425 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT
3427 VkStructureType sType;
3428 void *pNext;
3429 VkBool32 inlineUniformBlock;
3430 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
3431 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
3433 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV
3435 VkStructureType sType;
3436 void *pNext;
3437 VkBool32 taskShader;
3438 VkBool32 meshShader;
3439 } VkPhysicalDeviceMeshShaderFeaturesNV;
3441 typedef struct VkPhysicalDevicePointClippingProperties
3443 VkStructureType sType;
3444 void *pNext;
3445 VkPointClippingBehavior pointClippingBehavior;
3446 } VkPhysicalDevicePointClippingProperties;
3448 typedef struct VkPhysicalDeviceProtectedMemoryFeatures
3450 VkStructureType sType;
3451 void *pNext;
3452 VkBool32 protectedMemory;
3453 } VkPhysicalDeviceProtectedMemoryFeatures;
3455 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
3457 VkStructureType sType;
3458 void *pNext;
3459 VkBool32 representativeFragmentTest;
3460 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
3462 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures
3464 VkStructureType sType;
3465 void *pNext;
3466 VkBool32 samplerYcbcrConversion;
3467 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
3469 typedef struct VkPhysicalDeviceShaderDrawParameterFeatures
3471 VkStructureType sType;
3472 void *pNext;
3473 VkBool32 shaderDrawParameters;
3474 } VkPhysicalDeviceShaderDrawParameterFeatures;
3476 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV
3478 VkStructureType sType;
3479 void *pNext;
3480 VkExtent2D shadingRateTexelSize;
3481 uint32_t shadingRatePaletteSize;
3482 uint32_t shadingRateMaxCoarseSamples;
3483 } VkPhysicalDeviceShadingRateImagePropertiesNV;
3485 typedef struct VkPhysicalDeviceSubgroupProperties
3487 VkStructureType sType;
3488 void *pNext;
3489 uint32_t subgroupSize;
3490 VkShaderStageFlags supportedStages;
3491 VkSubgroupFeatureFlags supportedOperations;
3492 VkBool32 quadOperationsInAllStages;
3493 } VkPhysicalDeviceSubgroupProperties;
3495 typedef struct VkPhysicalDeviceVariablePointerFeatures
3497 VkStructureType sType;
3498 void *pNext;
3499 VkBool32 variablePointersStorageBuffer;
3500 VkBool32 variablePointers;
3501 } VkPhysicalDeviceVariablePointerFeatures;
3503 typedef struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR
3505 VkStructureType sType;
3506 void *pNext;
3507 VkBool32 vulkanMemoryModel;
3508 VkBool32 vulkanMemoryModelDeviceScope;
3509 } VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
3511 typedef struct VkPipelineColorBlendStateCreateInfo
3513 VkStructureType sType;
3514 const void *pNext;
3515 VkPipelineColorBlendStateCreateFlags flags;
3516 VkBool32 logicOpEnable;
3517 VkLogicOp logicOp;
3518 uint32_t attachmentCount;
3519 const VkPipelineColorBlendAttachmentState *pAttachments;
3520 float blendConstants[4];
3521 } VkPipelineColorBlendStateCreateInfo;
3523 typedef struct VkPipelineInputAssemblyStateCreateInfo
3525 VkStructureType sType;
3526 const void *pNext;
3527 VkPipelineInputAssemblyStateCreateFlags flags;
3528 VkPrimitiveTopology topology;
3529 VkBool32 primitiveRestartEnable;
3530 } VkPipelineInputAssemblyStateCreateInfo;
3532 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT
3534 VkStructureType sType;
3535 const void *pNext;
3536 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
3537 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
3538 float extraPrimitiveOverestimationSize;
3539 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
3541 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV
3543 VkStructureType sType;
3544 const void *pNext;
3545 VkBool32 representativeFragmentTestEnable;
3546 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
3548 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV
3550 VkStructureType sType;
3551 const void *pNext;
3552 VkCoarseSampleOrderTypeNV sampleOrderType;
3553 uint32_t customSampleOrderCount;
3554 const VkCoarseSampleOrderCustomNV *pCustomSampleOrders;
3555 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
3557 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV
3559 VkStructureType sType;
3560 const void *pNext;
3561 VkBool32 shadingRateImageEnable;
3562 uint32_t viewportCount;
3563 const VkShadingRatePaletteNV *pShadingRatePalettes;
3564 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
3566 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV
3568 VkStructureType sType;
3569 const void *pNext;
3570 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
3571 uint32_t viewportCount;
3572 const VkViewportSwizzleNV *pViewportSwizzles;
3573 } VkPipelineViewportSwizzleStateCreateInfoNV;
3575 typedef struct VkQueueFamilyCheckpointPropertiesNV
3577 VkStructureType sType;
3578 void *pNext;
3579 VkPipelineStageFlags checkpointExecutionStageMask;
3580 } VkQueueFamilyCheckpointPropertiesNV;
3582 typedef struct VkRectLayerKHR
3584 VkOffset2D offset;
3585 VkExtent2D extent;
3586 uint32_t layer;
3587 } VkRectLayerKHR;
3589 typedef struct VkSampleLocationsInfoEXT
3591 VkStructureType sType;
3592 const void *pNext;
3593 VkSampleCountFlagBits sampleLocationsPerPixel;
3594 VkExtent2D sampleLocationGridSize;
3595 uint32_t sampleLocationsCount;
3596 const VkSampleLocationEXT *pSampleLocations;
3597 } VkSampleLocationsInfoEXT;
3599 typedef struct VkSamplerYcbcrConversionImageFormatProperties
3601 VkStructureType sType;
3602 void *pNext;
3603 uint32_t combinedImageSamplerDescriptorCount;
3604 } VkSamplerYcbcrConversionImageFormatProperties;
3606 typedef struct VkSemaphoreCreateInfo
3608 VkStructureType sType;
3609 const void *pNext;
3610 VkSemaphoreCreateFlags flags;
3611 } VkSemaphoreCreateInfo;
3613 typedef struct VkShaderModuleValidationCacheCreateInfoEXT
3615 VkStructureType sType;
3616 const void *pNext;
3617 VkValidationCacheEXT WINE_VK_ALIGN(8) validationCache;
3618 } VkShaderModuleValidationCacheCreateInfoEXT;
3620 typedef struct VkSparseImageFormatProperties2
3622 VkStructureType sType;
3623 void *pNext;
3624 VkSparseImageFormatProperties properties;
3625 } VkSparseImageFormatProperties2;
3627 typedef struct VkSparseImageMemoryRequirements2
3629 VkStructureType sType;
3630 void *pNext;
3631 VkSparseImageMemoryRequirements WINE_VK_ALIGN(8) memoryRequirements;
3632 } VkSparseImageMemoryRequirements2;
3634 typedef struct VkSpecializationInfo
3636 uint32_t mapEntryCount;
3637 const VkSpecializationMapEntry *pMapEntries;
3638 size_t dataSize;
3639 const void *pData;
3640 } VkSpecializationInfo;
3642 typedef struct VkSubpassBeginInfoKHR
3644 VkStructureType sType;
3645 const void *pNext;
3646 VkSubpassContents contents;
3647 } VkSubpassBeginInfoKHR;
3649 typedef struct VkSubpassEndInfoKHR
3651 VkStructureType sType;
3652 const void *pNext;
3653 } VkSubpassEndInfoKHR;
3655 typedef struct VkSurfaceFormatKHR
3657 VkFormat format;
3658 VkColorSpaceKHR colorSpace;
3659 } VkSurfaceFormatKHR;
3661 typedef struct VkValidationCacheCreateInfoEXT
3663 VkStructureType sType;
3664 const void *pNext;
3665 VkValidationCacheCreateFlagsEXT flags;
3666 size_t initialDataSize;
3667 const void *pInitialData;
3668 } VkValidationCacheCreateInfoEXT;
3670 typedef struct VkVertexInputBindingDivisorDescriptionEXT
3672 uint32_t binding;
3673 uint32_t divisor;
3674 } VkVertexInputBindingDivisorDescriptionEXT;
3676 typedef struct VkViewportWScalingNV
3678 float xcoeff;
3679 float ycoeff;
3680 } VkViewportWScalingNV;
3682 typedef struct VkWin32SurfaceCreateInfoKHR
3684 VkStructureType sType;
3685 const void *pNext;
3686 VkWin32SurfaceCreateFlagsKHR flags;
3687 HINSTANCE hinstance;
3688 HWND hwnd;
3689 } VkWin32SurfaceCreateInfoKHR;
3691 typedef struct VkAllocationCallbacks
3693 void *pUserData;
3694 PFN_vkAllocationFunction pfnAllocation;
3695 PFN_vkReallocationFunction pfnReallocation;
3696 PFN_vkFreeFunction pfnFree;
3697 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3698 PFN_vkInternalFreeNotification pfnInternalFree;
3699 } VkAllocationCallbacks;
3701 typedef struct VkAttachmentReference
3703 uint32_t attachment;
3704 VkImageLayout layout;
3705 } VkAttachmentReference;
3707 typedef struct VkBindBufferMemoryDeviceGroupInfo
3709 VkStructureType sType;
3710 const void *pNext;
3711 uint32_t deviceIndexCount;
3712 const uint32_t *pDeviceIndices;
3713 } VkBindBufferMemoryDeviceGroupInfo;
3715 typedef struct VkBindImageMemorySwapchainInfoKHR
3717 VkStructureType sType;
3718 const void *pNext;
3719 VkSwapchainKHR WINE_VK_ALIGN(8) swapchain;
3720 uint32_t imageIndex;
3721 } VkBindImageMemorySwapchainInfoKHR;
3723 typedef struct VkBufferViewCreateInfo
3725 VkStructureType sType;
3726 const void *pNext;
3727 VkBufferViewCreateFlags flags;
3728 VkBuffer WINE_VK_ALIGN(8) buffer;
3729 VkFormat format;
3730 VkDeviceSize WINE_VK_ALIGN(8) offset;
3731 VkDeviceSize WINE_VK_ALIGN(8) range;
3732 } VkBufferViewCreateInfo;
3734 typedef struct VkComponentMapping
3736 VkComponentSwizzle r;
3737 VkComponentSwizzle g;
3738 VkComponentSwizzle b;
3739 VkComponentSwizzle a;
3740 } VkComponentMapping;
3742 typedef struct VkDescriptorPoolCreateInfo
3744 VkStructureType sType;
3745 const void *pNext;
3746 VkDescriptorPoolCreateFlags flags;
3747 uint32_t maxSets;
3748 uint32_t poolSizeCount;
3749 const VkDescriptorPoolSize *pPoolSizes;
3750 } VkDescriptorPoolCreateInfo;
3752 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
3754 VkStructureType sType;
3755 void *pNext;
3756 uint32_t maxVariableDescriptorCount;
3757 } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
3759 typedef struct VkDeviceCreateInfo
3761 VkStructureType sType;
3762 const void *pNext;
3763 VkDeviceCreateFlags flags;
3764 uint32_t queueCreateInfoCount;
3765 const VkDeviceQueueCreateInfo *pQueueCreateInfos;
3766 uint32_t enabledLayerCount;
3767 const char * const*ppEnabledLayerNames;
3768 uint32_t enabledExtensionCount;
3769 const char * const*ppEnabledExtensionNames;
3770 const VkPhysicalDeviceFeatures *pEnabledFeatures;
3771 } VkDeviceCreateInfo;
3773 typedef struct VkDeviceGroupDeviceCreateInfo
3775 VkStructureType sType;
3776 const void *pNext;
3777 uint32_t physicalDeviceCount;
3778 const VkPhysicalDevice *pPhysicalDevices;
3779 } VkDeviceGroupDeviceCreateInfo;
3781 typedef struct VkDeviceGroupSwapchainCreateInfoKHR
3783 VkStructureType sType;
3784 const void *pNext;
3785 VkDeviceGroupPresentModeFlagsKHR modes;
3786 } VkDeviceGroupSwapchainCreateInfoKHR;
3788 typedef struct VkFenceCreateInfo
3790 VkStructureType sType;
3791 const void *pNext;
3792 VkFenceCreateFlags flags;
3793 } VkFenceCreateInfo;
3795 typedef struct VkImageSubresourceLayers
3797 VkImageAspectFlags aspectMask;
3798 uint32_t mipLevel;
3799 uint32_t baseArrayLayer;
3800 uint32_t layerCount;
3801 } VkImageSubresourceLayers;
3803 typedef struct VkMappedMemoryRange
3805 VkStructureType sType;
3806 const void *pNext;
3807 VkDeviceMemory WINE_VK_ALIGN(8) memory;
3808 VkDeviceSize WINE_VK_ALIGN(8) offset;
3809 VkDeviceSize WINE_VK_ALIGN(8) size;
3810 } VkMappedMemoryRange;
3812 typedef struct VkMemoryRequirements2
3814 VkStructureType sType;
3815 void *pNext;
3816 VkMemoryRequirements WINE_VK_ALIGN(8) memoryRequirements;
3817 } VkMemoryRequirements2;
3819 typedef struct VkOffset3D
3821 int32_t x;
3822 int32_t y;
3823 int32_t z;
3824 } VkOffset3D;
3826 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
3828 VkStructureType sType;
3829 void *pNext;
3830 VkBool32 computeDerivativeGroupQuads;
3831 VkBool32 computeDerivativeGroupLinear;
3832 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
3834 typedef struct VkPhysicalDeviceDriverPropertiesKHR
3836 VkStructureType sType;
3837 void *pNext;
3838 VkDriverIdKHR driverID;
3839 char driverName[VK_MAX_DRIVER_NAME_SIZE_KHR];
3840 char driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR];
3841 VkConformanceVersionKHR conformanceVersion;
3842 } VkPhysicalDeviceDriverPropertiesKHR;
3844 typedef struct VkPhysicalDeviceLimits
3846 uint32_t maxImageDimension1D;
3847 uint32_t maxImageDimension2D;
3848 uint32_t maxImageDimension3D;
3849 uint32_t maxImageDimensionCube;
3850 uint32_t maxImageArrayLayers;
3851 uint32_t maxTexelBufferElements;
3852 uint32_t maxUniformBufferRange;
3853 uint32_t maxStorageBufferRange;
3854 uint32_t maxPushConstantsSize;
3855 uint32_t maxMemoryAllocationCount;
3856 uint32_t maxSamplerAllocationCount;
3857 VkDeviceSize WINE_VK_ALIGN(8) bufferImageGranularity;
3858 VkDeviceSize WINE_VK_ALIGN(8) sparseAddressSpaceSize;
3859 uint32_t maxBoundDescriptorSets;
3860 uint32_t maxPerStageDescriptorSamplers;
3861 uint32_t maxPerStageDescriptorUniformBuffers;
3862 uint32_t maxPerStageDescriptorStorageBuffers;
3863 uint32_t maxPerStageDescriptorSampledImages;
3864 uint32_t maxPerStageDescriptorStorageImages;
3865 uint32_t maxPerStageDescriptorInputAttachments;
3866 uint32_t maxPerStageResources;
3867 uint32_t maxDescriptorSetSamplers;
3868 uint32_t maxDescriptorSetUniformBuffers;
3869 uint32_t maxDescriptorSetUniformBuffersDynamic;
3870 uint32_t maxDescriptorSetStorageBuffers;
3871 uint32_t maxDescriptorSetStorageBuffersDynamic;
3872 uint32_t maxDescriptorSetSampledImages;
3873 uint32_t maxDescriptorSetStorageImages;
3874 uint32_t maxDescriptorSetInputAttachments;
3875 uint32_t maxVertexInputAttributes;
3876 uint32_t maxVertexInputBindings;
3877 uint32_t maxVertexInputAttributeOffset;
3878 uint32_t maxVertexInputBindingStride;
3879 uint32_t maxVertexOutputComponents;
3880 uint32_t maxTessellationGenerationLevel;
3881 uint32_t maxTessellationPatchSize;
3882 uint32_t maxTessellationControlPerVertexInputComponents;
3883 uint32_t maxTessellationControlPerVertexOutputComponents;
3884 uint32_t maxTessellationControlPerPatchOutputComponents;
3885 uint32_t maxTessellationControlTotalOutputComponents;
3886 uint32_t maxTessellationEvaluationInputComponents;
3887 uint32_t maxTessellationEvaluationOutputComponents;
3888 uint32_t maxGeometryShaderInvocations;
3889 uint32_t maxGeometryInputComponents;
3890 uint32_t maxGeometryOutputComponents;
3891 uint32_t maxGeometryOutputVertices;
3892 uint32_t maxGeometryTotalOutputComponents;
3893 uint32_t maxFragmentInputComponents;
3894 uint32_t maxFragmentOutputAttachments;
3895 uint32_t maxFragmentDualSrcAttachments;
3896 uint32_t maxFragmentCombinedOutputResources;
3897 uint32_t maxComputeSharedMemorySize;
3898 uint32_t maxComputeWorkGroupCount[3];
3899 uint32_t maxComputeWorkGroupInvocations;
3900 uint32_t maxComputeWorkGroupSize[3];
3901 uint32_t subPixelPrecisionBits;
3902 uint32_t subTexelPrecisionBits;
3903 uint32_t mipmapPrecisionBits;
3904 uint32_t maxDrawIndexedIndexValue;
3905 uint32_t maxDrawIndirectCount;
3906 float maxSamplerLodBias;
3907 float maxSamplerAnisotropy;
3908 uint32_t maxViewports;
3909 uint32_t maxViewportDimensions[2];
3910 float viewportBoundsRange[2];
3911 uint32_t viewportSubPixelBits;
3912 size_t minMemoryMapAlignment;
3913 VkDeviceSize WINE_VK_ALIGN(8) minTexelBufferOffsetAlignment;
3914 VkDeviceSize WINE_VK_ALIGN(8) minUniformBufferOffsetAlignment;
3915 VkDeviceSize WINE_VK_ALIGN(8) minStorageBufferOffsetAlignment;
3916 int32_t minTexelOffset;
3917 uint32_t maxTexelOffset;
3918 int32_t minTexelGatherOffset;
3919 uint32_t maxTexelGatherOffset;
3920 float minInterpolationOffset;
3921 float maxInterpolationOffset;
3922 uint32_t subPixelInterpolationOffsetBits;
3923 uint32_t maxFramebufferWidth;
3924 uint32_t maxFramebufferHeight;
3925 uint32_t maxFramebufferLayers;
3926 VkSampleCountFlags framebufferColorSampleCounts;
3927 VkSampleCountFlags framebufferDepthSampleCounts;
3928 VkSampleCountFlags framebufferStencilSampleCounts;
3929 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3930 uint32_t maxColorAttachments;
3931 VkSampleCountFlags sampledImageColorSampleCounts;
3932 VkSampleCountFlags sampledImageIntegerSampleCounts;
3933 VkSampleCountFlags sampledImageDepthSampleCounts;
3934 VkSampleCountFlags sampledImageStencilSampleCounts;
3935 VkSampleCountFlags storageImageSampleCounts;
3936 uint32_t maxSampleMaskWords;
3937 VkBool32 timestampComputeAndGraphics;
3938 float timestampPeriod;
3939 uint32_t maxClipDistances;
3940 uint32_t maxCullDistances;
3941 uint32_t maxCombinedClipAndCullDistances;
3942 uint32_t discreteQueuePriorities;
3943 float pointSizeRange[2];
3944 float lineWidthRange[2];
3945 float pointSizeGranularity;
3946 float lineWidthGranularity;
3947 VkBool32 strictLines;
3948 VkBool32 standardSampleLocations;
3949 VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyOffsetAlignment;
3950 VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyRowPitchAlignment;
3951 VkDeviceSize WINE_VK_ALIGN(8) nonCoherentAtomSize;
3952 } VkPhysicalDeviceLimits;
3954 typedef struct VkPhysicalDeviceMultiviewFeatures
3956 VkStructureType sType;
3957 void *pNext;
3958 VkBool32 multiview;
3959 VkBool32 multiviewGeometryShader;
3960 VkBool32 multiviewTessellationShader;
3961 } VkPhysicalDeviceMultiviewFeatures;
3963 typedef struct VkPhysicalDeviceProperties
3965 uint32_t apiVersion;
3966 uint32_t driverVersion;
3967 uint32_t vendorID;
3968 uint32_t deviceID;
3969 VkPhysicalDeviceType deviceType;
3970 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3971 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
3972 VkPhysicalDeviceLimits WINE_VK_ALIGN(8) limits;
3973 VkPhysicalDeviceSparseProperties sparseProperties;
3974 } VkPhysicalDeviceProperties;
3976 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR
3978 VkStructureType sType;
3979 void *pNext;
3980 uint32_t maxPushDescriptors;
3981 } VkPhysicalDevicePushDescriptorPropertiesKHR;
3983 typedef struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR
3985 VkStructureType sType;
3986 void *pNext;
3987 VkBool32 shaderBufferInt64Atomics;
3988 VkBool32 shaderSharedInt64Atomics;
3989 } VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
3991 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
3993 VkStructureType sType;
3994 void *pNext;
3995 VkBool32 vertexAttributeInstanceRateDivisor;
3996 VkBool32 vertexAttributeInstanceRateZeroDivisor;
3997 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
3999 typedef struct VkPipelineCoverageToColorStateCreateInfoNV
4001 VkStructureType sType;
4002 const void *pNext;
4003 VkPipelineCoverageToColorStateCreateFlagsNV flags;
4004 VkBool32 coverageToColorEnable;
4005 uint32_t coverageToColorLocation;
4006 } VkPipelineCoverageToColorStateCreateInfoNV;
4008 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD
4010 VkStructureType sType;
4011 const void *pNext;
4012 VkRasterizationOrderAMD rasterizationOrder;
4013 } VkPipelineRasterizationStateRasterizationOrderAMD;
4015 typedef struct VkPipelineShaderStageCreateInfo
4017 VkStructureType sType;
4018 const void *pNext;
4019 VkPipelineShaderStageCreateFlags flags;
4020 VkShaderStageFlagBits stage;
4021 VkShaderModule WINE_VK_ALIGN(8) module;
4022 const char *pName;
4023 const VkSpecializationInfo *pSpecializationInfo;
4024 } VkPipelineShaderStageCreateInfo;
4026 typedef struct VkPipelineViewportWScalingStateCreateInfoNV
4028 VkStructureType sType;
4029 const void *pNext;
4030 VkBool32 viewportWScalingEnable;
4031 uint32_t viewportCount;
4032 const VkViewportWScalingNV *pViewportWScalings;
4033 } VkPipelineViewportWScalingStateCreateInfoNV;
4035 typedef struct VkPushConstantRange
4037 VkShaderStageFlags stageFlags;
4038 uint32_t offset;
4039 uint32_t size;
4040 } VkPushConstantRange;
4042 typedef struct VkRect2D
4044 VkOffset2D offset;
4045 VkExtent2D extent;
4046 } VkRect2D;
4048 typedef struct VkSamplerReductionModeCreateInfoEXT
4050 VkStructureType sType;
4051 const void *pNext;
4052 VkSamplerReductionModeEXT reductionMode;
4053 } VkSamplerReductionModeCreateInfoEXT;
4055 typedef struct VkSamplerYcbcrConversionInfo
4057 VkStructureType sType;
4058 const void *pNext;
4059 VkSamplerYcbcrConversion WINE_VK_ALIGN(8) conversion;
4060 } VkSamplerYcbcrConversionInfo;
4062 typedef struct VkShaderStatisticsInfoAMD
4064 VkShaderStageFlags shaderStageMask;
4065 VkShaderResourceUsageAMD resourceUsage;
4066 uint32_t numPhysicalVgprs;
4067 uint32_t numPhysicalSgprs;
4068 uint32_t numAvailableVgprs;
4069 uint32_t numAvailableSgprs;
4070 uint32_t computeWorkGroupSize[3];
4071 } VkShaderStatisticsInfoAMD;
4073 typedef struct VkSparseImageMemoryBind
4075 VkImageSubresource subresource;
4076 VkOffset3D offset;
4077 VkExtent3D extent;
4078 VkDeviceMemory WINE_VK_ALIGN(8) memory;
4079 VkDeviceSize WINE_VK_ALIGN(8) memoryOffset;
4080 VkSparseMemoryBindFlags flags;
4081 } VkSparseImageMemoryBind;
4083 typedef struct VkSparseImageOpaqueMemoryBindInfo
4085 VkImage WINE_VK_ALIGN(8) image;
4086 uint32_t bindCount;
4087 const VkSparseMemoryBind *pBinds;
4088 } VkSparseImageOpaqueMemoryBindInfo;
4090 typedef struct VkSubpassDependency2KHR
4092 VkStructureType sType;
4093 const void *pNext;
4094 uint32_t srcSubpass;
4095 uint32_t dstSubpass;
4096 VkPipelineStageFlags srcStageMask;
4097 VkPipelineStageFlags dstStageMask;
4098 VkAccessFlags srcAccessMask;
4099 VkAccessFlags dstAccessMask;
4100 VkDependencyFlags dependencyFlags;
4101 int32_t viewOffset;
4102 } VkSubpassDependency2KHR;
4104 typedef struct VkSubpassSampleLocationsEXT
4106 uint32_t subpassIndex;
4107 VkSampleLocationsInfoEXT sampleLocationsInfo;
4108 } VkSubpassSampleLocationsEXT;
4110 typedef struct VkSwapchainCreateInfoKHR
4112 VkStructureType sType;
4113 const void *pNext;
4114 VkSwapchainCreateFlagsKHR flags;
4115 VkSurfaceKHR WINE_VK_ALIGN(8) surface;
4116 uint32_t minImageCount;
4117 VkFormat imageFormat;
4118 VkColorSpaceKHR imageColorSpace;
4119 VkExtent2D imageExtent;
4120 uint32_t imageArrayLayers;
4121 VkImageUsageFlags imageUsage;
4122 VkSharingMode imageSharingMode;
4123 uint32_t queueFamilyIndexCount;
4124 const uint32_t *pQueueFamilyIndices;
4125 VkSurfaceTransformFlagBitsKHR preTransform;
4126 VkCompositeAlphaFlagBitsKHR compositeAlpha;
4127 VkPresentModeKHR presentMode;
4128 VkBool32 clipped;
4129 VkSwapchainKHR WINE_VK_ALIGN(8) oldSwapchain;
4130 } VkSwapchainCreateInfoKHR;
4132 typedef struct VkViewport
4134 float x;
4135 float y;
4136 float width;
4137 float height;
4138 float minDepth;
4139 float maxDepth;
4140 } VkViewport;
4142 typedef struct VkWriteDescriptorSet
4144 VkStructureType sType;
4145 const void *pNext;
4146 VkDescriptorSet WINE_VK_ALIGN(8) dstSet;
4147 uint32_t dstBinding;
4148 uint32_t dstArrayElement;
4149 uint32_t descriptorCount;
4150 VkDescriptorType descriptorType;
4151 const VkDescriptorImageInfo *pImageInfo;
4152 const VkDescriptorBufferInfo *pBufferInfo;
4153 const VkBufferView *pTexelBufferView;
4154 } VkWriteDescriptorSet;
4156 typedef struct VkBindImageMemoryDeviceGroupInfo
4158 VkStructureType sType;
4159 const void *pNext;
4160 uint32_t deviceIndexCount;
4161 const uint32_t *pDeviceIndices;
4162 uint32_t splitInstanceBindRegionCount;
4163 const VkRect2D *pSplitInstanceBindRegions;
4164 } VkBindImageMemoryDeviceGroupInfo;
4166 typedef struct VkBufferImageCopy
4168 VkDeviceSize WINE_VK_ALIGN(8) bufferOffset;
4169 uint32_t bufferRowLength;
4170 uint32_t bufferImageHeight;
4171 VkImageSubresourceLayers imageSubresource;
4172 VkOffset3D imageOffset;
4173 VkExtent3D imageExtent;
4174 } VkBufferImageCopy;
4176 typedef struct VkClearRect
4178 VkRect2D rect;
4179 uint32_t baseArrayLayer;
4180 uint32_t layerCount;
4181 } VkClearRect;
4183 typedef struct VkComputePipelineCreateInfo
4185 VkStructureType sType;
4186 const void *pNext;
4187 VkPipelineCreateFlags flags;
4188 VkPipelineShaderStageCreateInfo WINE_VK_ALIGN(8) stage;
4189 VkPipelineLayout WINE_VK_ALIGN(8) layout;
4190 VkPipeline WINE_VK_ALIGN(8) basePipelineHandle;
4191 int32_t basePipelineIndex;
4192 } VkComputePipelineCreateInfo;
4194 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV
4196 VkStructureType sType;
4197 const void *pNext;
4198 VkImage WINE_VK_ALIGN(8) image;
4199 VkBuffer WINE_VK_ALIGN(8) buffer;
4200 } VkDedicatedAllocationMemoryAllocateInfoNV;
4202 typedef struct VkDescriptorUpdateTemplateCreateInfo
4204 VkStructureType sType;
4205 void *pNext;
4206 VkDescriptorUpdateTemplateCreateFlags flags;
4207 uint32_t descriptorUpdateEntryCount;
4208 const VkDescriptorUpdateTemplateEntry *pDescriptorUpdateEntries;
4209 VkDescriptorUpdateTemplateType templateType;
4210 VkDescriptorSetLayout WINE_VK_ALIGN(8) descriptorSetLayout;
4211 VkPipelineBindPoint pipelineBindPoint;
4212 VkPipelineLayout WINE_VK_ALIGN(8) pipelineLayout;
4213 uint32_t set;
4214 } VkDescriptorUpdateTemplateCreateInfo;
4216 typedef struct VkDeviceGroupRenderPassBeginInfo
4218 VkStructureType sType;
4219 const void *pNext;
4220 uint32_t deviceMask;
4221 uint32_t deviceRenderAreaCount;
4222 const VkRect2D *pDeviceRenderAreas;
4223 } VkDeviceGroupRenderPassBeginInfo;
4225 typedef struct VkExternalMemoryProperties
4227 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4228 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4229 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4230 } VkExternalMemoryProperties;
4232 typedef struct VkImageBlit
4234 VkImageSubresourceLayers srcSubresource;
4235 VkOffset3D srcOffsets[2];
4236 VkImageSubresourceLayers dstSubresource;
4237 VkOffset3D dstOffsets[2];
4238 } VkImageBlit;
4240 typedef struct VkImageFormatProperties2
4242 VkStructureType sType;
4243 void *pNext;
4244 VkImageFormatProperties WINE_VK_ALIGN(8) imageFormatProperties;
4245 } VkImageFormatProperties2;
4247 typedef struct VkImageViewCreateInfo
4249 VkStructureType sType;
4250 const void *pNext;
4251 VkImageViewCreateFlags flags;
4252 VkImage WINE_VK_ALIGN(8) image;
4253 VkImageViewType viewType;
4254 VkFormat format;
4255 VkComponentMapping components;
4256 VkImageSubresourceRange subresourceRange;
4257 } VkImageViewCreateInfo;
4259 typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT
4261 VkStructureType sType;
4262 void *pNext;
4263 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
4264 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
4265 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
4266 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
4267 VkBool32 shaderSampledImageArrayNonUniformIndexing;
4268 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
4269 VkBool32 shaderStorageImageArrayNonUniformIndexing;
4270 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
4271 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
4272 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
4273 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
4274 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
4275 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
4276 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
4277 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
4278 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
4279 VkBool32 descriptorBindingUpdateUnusedWhilePending;
4280 VkBool32 descriptorBindingPartiallyBound;
4281 VkBool32 descriptorBindingVariableDescriptorCount;
4282 VkBool32 runtimeDescriptorArray;
4283 } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
4285 typedef struct VkPhysicalDeviceFeatures2
4287 VkStructureType sType;
4288 void *pNext;
4289 VkPhysicalDeviceFeatures features;
4290 } VkPhysicalDeviceFeatures2;
4292 typedef struct VkPhysicalDeviceMemoryProperties
4294 uint32_t memoryTypeCount;
4295 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
4296 uint32_t memoryHeapCount;
4297 VkMemoryHeap WINE_VK_ALIGN(8) memoryHeaps[VK_MAX_MEMORY_HEAPS];
4298 } VkPhysicalDeviceMemoryProperties;
4300 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT
4302 VkStructureType sType;
4303 void *pNext;
4304 VkSampleCountFlags sampleLocationSampleCounts;
4305 VkExtent2D maxSampleLocationGridSize;
4306 float sampleLocationCoordinateRange[2];
4307 uint32_t sampleLocationSubPixelBits;
4308 VkBool32 variableSampleLocations;
4309 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
4311 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT
4313 VkStructureType sType;
4314 void *pNext;
4315 VkBool32 transformFeedback;
4316 VkBool32 geometryStreams;
4317 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
4319 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT
4321 VkStructureType sType;
4322 const void *pNext;
4323 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
4324 VkDiscardRectangleModeEXT discardRectangleMode;
4325 uint32_t discardRectangleCount;
4326 const VkRect2D *pDiscardRectangles;
4327 } VkPipelineDiscardRectangleStateCreateInfoEXT;
4329 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT
4331 VkStructureType sType;
4332 const void *pNext;
4333 VkBool32 sampleLocationsEnable;
4334 VkSampleLocationsInfoEXT sampleLocationsInfo;
4335 } VkPipelineSampleLocationsStateCreateInfoEXT;
4337 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV
4339 VkStructureType sType;
4340 const void *pNext;
4341 uint32_t exclusiveScissorCount;
4342 const VkRect2D *pExclusiveScissors;
4343 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
4345 typedef struct VkPresentRegionKHR
4347 uint32_t rectangleCount;
4348 const VkRectLayerKHR *pRectangles;
4349 } VkPresentRegionKHR;
4351 typedef struct VkQueueFamilyProperties2
4353 VkStructureType sType;
4354 void *pNext;
4355 VkQueueFamilyProperties queueFamilyProperties;
4356 } VkQueueFamilyProperties2;
4358 typedef struct VkRenderPassCreateInfo2KHR
4360 VkStructureType sType;
4361 const void *pNext;
4362 VkRenderPassCreateFlags flags;
4363 uint32_t attachmentCount;
4364 const VkAttachmentDescription2KHR *pAttachments;
4365 uint32_t subpassCount;
4366 const VkSubpassDescription2KHR *pSubpasses;
4367 uint32_t dependencyCount;
4368 const VkSubpassDependency2KHR *pDependencies;
4369 uint32_t correlatedViewMaskCount;
4370 const uint32_t *pCorrelatedViewMasks;
4371 } VkRenderPassCreateInfo2KHR;
4373 typedef struct VkSamplerYcbcrConversionCreateInfo
4375 VkStructureType sType;
4376 const void *pNext;
4377 VkFormat format;
4378 VkSamplerYcbcrModelConversion ycbcrModel;
4379 VkSamplerYcbcrRange ycbcrRange;
4380 VkComponentMapping components;
4381 VkChromaLocation xChromaOffset;
4382 VkChromaLocation yChromaOffset;
4383 VkFilter chromaFilter;
4384 VkBool32 forceExplicitReconstruction;
4385 } VkSamplerYcbcrConversionCreateInfo;
4387 typedef struct VkSparseBufferMemoryBindInfo
4389 VkBuffer WINE_VK_ALIGN(8) buffer;
4390 uint32_t bindCount;
4391 const VkSparseMemoryBind *pBinds;
4392 } VkSparseBufferMemoryBindInfo;
4394 typedef struct VkStencilOpState
4396 VkStencilOp failOp;
4397 VkStencilOp passOp;
4398 VkStencilOp depthFailOp;
4399 VkCompareOp compareOp;
4400 uint32_t compareMask;
4401 uint32_t writeMask;
4402 uint32_t reference;
4403 } VkStencilOpState;
4405 typedef struct VkSurfaceCapabilitiesKHR
4407 uint32_t minImageCount;
4408 uint32_t maxImageCount;
4409 VkExtent2D currentExtent;
4410 VkExtent2D minImageExtent;
4411 VkExtent2D maxImageExtent;
4412 uint32_t maxImageArrayLayers;
4413 VkSurfaceTransformFlagsKHR supportedTransforms;
4414 VkSurfaceTransformFlagBitsKHR currentTransform;
4415 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
4416 VkImageUsageFlags supportedUsageFlags;
4417 } VkSurfaceCapabilitiesKHR;
4419 typedef struct VkAttachmentSampleLocationsEXT
4421 uint32_t attachmentIndex;
4422 VkSampleLocationsInfoEXT sampleLocationsInfo;
4423 } VkAttachmentSampleLocationsEXT;
4425 typedef struct VkClearAttachment
4427 VkImageAspectFlags aspectMask;
4428 uint32_t colorAttachment;
4429 VkClearValue clearValue;
4430 } VkClearAttachment;
4432 typedef struct VkDeviceGroupBindSparseInfo
4434 VkStructureType sType;
4435 const void *pNext;
4436 uint32_t resourceDeviceIndex;
4437 uint32_t memoryDeviceIndex;
4438 } VkDeviceGroupBindSparseInfo;
4440 typedef struct VkDrawIndexedIndirectCommand
4442 uint32_t indexCount;
4443 uint32_t instanceCount;
4444 uint32_t firstIndex;
4445 int32_t vertexOffset;
4446 uint32_t firstInstance;
4447 } VkDrawIndexedIndirectCommand;
4449 typedef struct VkExternalBufferProperties
4451 VkStructureType sType;
4452 void *pNext;
4453 VkExternalMemoryProperties externalMemoryProperties;
4454 } VkExternalBufferProperties;
4456 typedef struct VkFormatProperties2
4458 VkStructureType sType;
4459 void *pNext;
4460 VkFormatProperties formatProperties;
4461 } VkFormatProperties2;
4463 typedef struct VkImageCopy
4465 VkImageSubresourceLayers srcSubresource;
4466 VkOffset3D srcOffset;
4467 VkImageSubresourceLayers dstSubresource;
4468 VkOffset3D dstOffset;
4469 VkExtent3D extent;
4470 } VkImageCopy;
4472 typedef struct VkPhysicalDeviceExternalFenceInfo
4474 VkStructureType sType;
4475 const void *pNext;
4476 VkExternalFenceHandleTypeFlagBits handleType;
4477 } VkPhysicalDeviceExternalFenceInfo;
4479 typedef struct VkPhysicalDeviceMemoryProperties2
4481 VkStructureType sType;
4482 void *pNext;
4483 VkPhysicalDeviceMemoryProperties WINE_VK_ALIGN(8) memoryProperties;
4484 } VkPhysicalDeviceMemoryProperties2;
4486 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV
4488 VkStructureType sType;
4489 void *pNext;
4490 VkBool32 shadingRateImage;
4491 VkBool32 shadingRateCoarseSampleOrder;
4492 } VkPhysicalDeviceShadingRateImageFeaturesNV;
4494 typedef struct VkPipelineDepthStencilStateCreateInfo
4496 VkStructureType sType;
4497 const void *pNext;
4498 VkPipelineDepthStencilStateCreateFlags flags;
4499 VkBool32 depthTestEnable;
4500 VkBool32 depthWriteEnable;
4501 VkCompareOp depthCompareOp;
4502 VkBool32 depthBoundsTestEnable;
4503 VkBool32 stencilTestEnable;
4504 VkStencilOpState front;
4505 VkStencilOpState back;
4506 float minDepthBounds;
4507 float maxDepthBounds;
4508 } VkPipelineDepthStencilStateCreateInfo;
4510 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT
4512 VkStructureType sType;
4513 const void *pNext;
4514 uint32_t vertexBindingDivisorCount;
4515 const VkVertexInputBindingDivisorDescriptionEXT *pVertexBindingDivisors;
4516 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
4518 typedef struct VkPipelineViewportStateCreateInfo
4520 VkStructureType sType;
4521 const void *pNext;
4522 VkPipelineViewportStateCreateFlags flags;
4523 uint32_t viewportCount;
4524 const VkViewport *pViewports;
4525 uint32_t scissorCount;
4526 const VkRect2D *pScissors;
4527 } VkPipelineViewportStateCreateInfo;
4529 typedef struct VkRenderPassBeginInfo
4531 VkStructureType sType;
4532 const void *pNext;
4533 VkRenderPass WINE_VK_ALIGN(8) renderPass;
4534 VkFramebuffer WINE_VK_ALIGN(8) framebuffer;
4535 VkRect2D renderArea;
4536 uint32_t clearValueCount;
4537 const VkClearValue *pClearValues;
4538 } VkRenderPassBeginInfo;
4540 typedef struct VkRenderPassSampleLocationsBeginInfoEXT
4542 VkStructureType sType;
4543 const void *pNext;
4544 uint32_t attachmentInitialSampleLocationsCount;
4545 const VkAttachmentSampleLocationsEXT *pAttachmentInitialSampleLocations;
4546 uint32_t postSubpassSampleLocationsCount;
4547 const VkSubpassSampleLocationsEXT *pPostSubpassSampleLocations;
4548 } VkRenderPassSampleLocationsBeginInfoEXT;
4550 typedef struct VkSparseImageMemoryBindInfo
4552 VkImage WINE_VK_ALIGN(8) image;
4553 uint32_t bindCount;
4554 const VkSparseImageMemoryBind *pBinds;
4555 } VkSparseImageMemoryBindInfo;
4557 typedef struct VkVertexInputAttributeDescription
4559 uint32_t location;
4560 uint32_t binding;
4561 VkFormat format;
4562 uint32_t offset;
4563 } VkVertexInputAttributeDescription;
4565 typedef struct VkBindSparseInfo
4567 VkStructureType sType;
4568 const void *pNext;
4569 uint32_t waitSemaphoreCount;
4570 const VkSemaphore *pWaitSemaphores;
4571 uint32_t bufferBindCount;
4572 const VkSparseBufferMemoryBindInfo *pBufferBinds;
4573 uint32_t imageOpaqueBindCount;
4574 const VkSparseImageOpaqueMemoryBindInfo *pImageOpaqueBinds;
4575 uint32_t imageBindCount;
4576 const VkSparseImageMemoryBindInfo *pImageBinds;
4577 uint32_t signalSemaphoreCount;
4578 const VkSemaphore *pSignalSemaphores;
4579 } VkBindSparseInfo;
4581 typedef struct VkDescriptorSetLayoutBinding
4583 uint32_t binding;
4584 VkDescriptorType descriptorType;
4585 uint32_t descriptorCount;
4586 VkShaderStageFlags stageFlags;
4587 const VkSampler *pImmutableSamplers;
4588 } VkDescriptorSetLayoutBinding;
4590 typedef struct VkDispatchIndirectCommand
4592 uint32_t x;
4593 uint32_t y;
4594 uint32_t z;
4595 } VkDispatchIndirectCommand;
4597 typedef struct VkExternalImageFormatProperties
4599 VkStructureType sType;
4600 void *pNext;
4601 VkExternalMemoryProperties externalMemoryProperties;
4602 } VkExternalImageFormatProperties;
4604 typedef struct VkImageResolve
4606 VkImageSubresourceLayers srcSubresource;
4607 VkOffset3D srcOffset;
4608 VkImageSubresourceLayers dstSubresource;
4609 VkOffset3D dstOffset;
4610 VkExtent3D extent;
4611 } VkImageResolve;
4613 typedef struct VkPhysicalDevice8BitStorageFeaturesKHR
4615 VkStructureType sType;
4616 void *pNext;
4617 VkBool32 storageBuffer8BitAccess;
4618 VkBool32 uniformAndStorageBuffer8BitAccess;
4619 VkBool32 storagePushConstant8;
4620 } VkPhysicalDevice8BitStorageFeaturesKHR;
4622 typedef struct VkPhysicalDeviceProperties2
4624 VkStructureType sType;
4625 void *pNext;
4626 VkPhysicalDeviceProperties WINE_VK_ALIGN(8) properties;
4627 } VkPhysicalDeviceProperties2;
4629 typedef struct VkPipelineLayoutCreateInfo
4631 VkStructureType sType;
4632 const void *pNext;
4633 VkPipelineLayoutCreateFlags flags;
4634 uint32_t setLayoutCount;
4635 const VkDescriptorSetLayout *pSetLayouts;
4636 uint32_t pushConstantRangeCount;
4637 const VkPushConstantRange *pPushConstantRanges;
4638 } VkPipelineLayoutCreateInfo;
4640 typedef struct VkPresentRegionsKHR
4642 VkStructureType sType;
4643 const void *pNext;
4644 uint32_t swapchainCount;
4645 const VkPresentRegionKHR *pRegions;
4646 } VkPresentRegionsKHR;
4648 typedef struct VkCommandBufferBeginInfo
4650 VkStructureType sType;
4651 const void *pNext;
4652 VkCommandBufferUsageFlags flags;
4653 const VkCommandBufferInheritanceInfo *pInheritanceInfo;
4654 } VkCommandBufferBeginInfo;
4656 typedef struct VkMemoryBarrier
4658 VkStructureType sType;
4659 const void *pNext;
4660 VkAccessFlags srcAccessMask;
4661 VkAccessFlags dstAccessMask;
4662 } VkMemoryBarrier;
4664 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT
4666 VkStructureType sType;
4667 const void *pNext;
4668 VkBool32 srcPremultiplied;
4669 VkBool32 dstPremultiplied;
4670 VkBlendOverlapEXT blendOverlap;
4671 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
4673 typedef struct VkSubpassDescription
4675 VkSubpassDescriptionFlags flags;
4676 VkPipelineBindPoint pipelineBindPoint;
4677 uint32_t inputAttachmentCount;
4678 const VkAttachmentReference *pInputAttachments;
4679 uint32_t colorAttachmentCount;
4680 const VkAttachmentReference *pColorAttachments;
4681 const VkAttachmentReference *pResolveAttachments;
4682 const VkAttachmentReference *pDepthStencilAttachment;
4683 uint32_t preserveAttachmentCount;
4684 const uint32_t *pPreserveAttachments;
4685 } VkSubpassDescription;
4687 typedef struct VkDescriptorSetLayoutCreateInfo
4689 VkStructureType sType;
4690 const void *pNext;
4691 VkDescriptorSetLayoutCreateFlags flags;
4692 uint32_t bindingCount;
4693 const VkDescriptorSetLayoutBinding *pBindings;
4694 } VkDescriptorSetLayoutCreateInfo;
4696 typedef struct VkPhysicalDeviceImageFormatInfo2
4698 VkStructureType sType;
4699 const void *pNext;
4700 VkFormat format;
4701 VkImageType type;
4702 VkImageTiling tiling;
4703 VkImageUsageFlags usage;
4704 VkImageCreateFlags flags;
4705 } VkPhysicalDeviceImageFormatInfo2;
4707 typedef struct VkRenderPassCreateInfo
4709 VkStructureType sType;
4710 const void *pNext;
4711 VkRenderPassCreateFlags flags;
4712 uint32_t attachmentCount;
4713 const VkAttachmentDescription *pAttachments;
4714 uint32_t subpassCount;
4715 const VkSubpassDescription *pSubpasses;
4716 uint32_t dependencyCount;
4717 const VkSubpassDependency *pDependencies;
4718 } VkRenderPassCreateInfo;
4720 typedef struct VkPipelineVertexInputStateCreateInfo
4722 VkStructureType sType;
4723 const void *pNext;
4724 VkPipelineVertexInputStateCreateFlags flags;
4725 uint32_t vertexBindingDescriptionCount;
4726 const VkVertexInputBindingDescription *pVertexBindingDescriptions;
4727 uint32_t vertexAttributeDescriptionCount;
4728 const VkVertexInputAttributeDescription *pVertexAttributeDescriptions;
4729 } VkPipelineVertexInputStateCreateInfo;
4731 typedef struct VkGraphicsPipelineCreateInfo
4733 VkStructureType sType;
4734 const void *pNext;
4735 VkPipelineCreateFlags flags;
4736 uint32_t stageCount;
4737 const VkPipelineShaderStageCreateInfo *pStages;
4738 const VkPipelineVertexInputStateCreateInfo *pVertexInputState;
4739 const VkPipelineInputAssemblyStateCreateInfo *pInputAssemblyState;
4740 const VkPipelineTessellationStateCreateInfo *pTessellationState;
4741 const VkPipelineViewportStateCreateInfo *pViewportState;
4742 const VkPipelineRasterizationStateCreateInfo *pRasterizationState;
4743 const VkPipelineMultisampleStateCreateInfo *pMultisampleState;
4744 const VkPipelineDepthStencilStateCreateInfo *pDepthStencilState;
4745 const VkPipelineColorBlendStateCreateInfo *pColorBlendState;
4746 const VkPipelineDynamicStateCreateInfo *pDynamicState;
4747 VkPipelineLayout WINE_VK_ALIGN(8) layout;
4748 VkRenderPass WINE_VK_ALIGN(8) renderPass;
4749 uint32_t subpass;
4750 VkPipeline WINE_VK_ALIGN(8) basePipelineHandle;
4751 int32_t basePipelineIndex;
4752 } VkGraphicsPipelineCreateInfo;
4754 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice, const VkAcquireNextImageInfoKHR *, uint32_t *);
4755 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice, VkSwapchainKHR, uint64_t, VkSemaphore, VkFence, uint32_t *);
4756 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice, const VkCommandBufferAllocateInfo *, VkCommandBuffer *);
4757 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice, const VkDescriptorSetAllocateInfo *, VkDescriptorSet *);
4758 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice, const VkMemoryAllocateInfo *, const VkAllocationCallbacks *, VkDeviceMemory *);
4759 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer, const VkCommandBufferBeginInfo *);
4760 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice, VkBuffer, VkDeviceMemory, VkDeviceSize);
4761 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice, uint32_t, const VkBindBufferMemoryInfo *);
4762 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice, uint32_t, const VkBindBufferMemoryInfo *);
4763 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice, VkImage, VkDeviceMemory, VkDeviceSize);
4764 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice, uint32_t, const VkBindImageMemoryInfo *);
4765 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice, uint32_t, const VkBindImageMemoryInfo *);
4766 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer, const VkConditionalRenderingBeginInfoEXT *);
4767 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer, VkQueryPool, uint32_t, VkQueryControlFlags);
4768 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer, VkQueryPool, uint32_t, VkQueryControlFlags, uint32_t);
4769 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer, const VkRenderPassBeginInfo *, VkSubpassContents);
4770 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer, const VkRenderPassBeginInfo *, const VkSubpassBeginInfoKHR *);
4771 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *);
4772 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkDescriptorSet *, uint32_t, const uint32_t *);
4773 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkIndexType);
4774 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer, VkPipelineBindPoint, VkPipeline);
4775 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer, VkImageView, VkImageLayout);
4776 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *, const VkDeviceSize *);
4777 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *);
4778 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageBlit *, VkFilter);
4779 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer, uint32_t, const VkClearAttachment *, uint32_t, const VkClearRect *);
4780 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer, VkImage, VkImageLayout, const VkClearColorValue *, uint32_t, const VkImageSubresourceRange *);
4781 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer, VkImage, VkImageLayout, const VkClearDepthStencilValue *, uint32_t, const VkImageSubresourceRange *);
4782 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer, VkBuffer, VkBuffer, uint32_t, const VkBufferCopy *);
4783 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer, VkBuffer, VkImage, VkImageLayout, uint32_t, const VkBufferImageCopy *);
4784 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageCopy *);
4785 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer, VkImage, VkImageLayout, VkBuffer, uint32_t, const VkBufferImageCopy *);
4786 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t, VkBuffer, VkDeviceSize, VkDeviceSize, VkQueryResultFlags);
4787 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer, uint32_t, uint32_t, uint32_t);
4788 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
4789 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
4790 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize);
4791 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t);
4792 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, int32_t, uint32_t);
4793 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
4794 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
4795 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
4796 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
4797 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer, uint32_t, uint32_t, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
4798 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
4799 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
4800 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
4801 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
4802 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer, uint32_t, uint32_t);
4803 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer);
4804 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer, VkQueryPool, uint32_t);
4805 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t);
4806 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer);
4807 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer, const VkSubpassEndInfoKHR *);
4808 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *);
4809 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer, uint32_t, const VkCommandBuffer *);
4810 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, uint32_t);
4811 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer, VkSubpassContents);
4812 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer, const VkSubpassBeginInfoKHR *, const VkSubpassEndInfoKHR *);
4813 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer, VkPipelineStageFlags, VkPipelineStageFlags, VkDependencyFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier *, uint32_t, const VkImageMemoryBarrier *);
4814 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer, VkPipelineLayout, VkShaderStageFlags, uint32_t, uint32_t, const void *);
4815 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkWriteDescriptorSet *);
4816 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer, VkDescriptorUpdateTemplate, VkPipelineLayout, uint32_t, const void *);
4817 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
4818 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t);
4819 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageResolve *);
4820 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer, const float[4]);
4821 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer, const void *);
4822 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer, VkCoarseSampleOrderTypeNV, uint32_t, const VkCoarseSampleOrderCustomNV *);
4823 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer, float, float, float);
4824 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer, float, float);
4825 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer, uint32_t);
4826 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer, uint32_t);
4827 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
4828 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
4829 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
4830 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer, float);
4831 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer, const VkSampleLocationsInfoEXT *);
4832 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
4833 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
4834 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
4835 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
4836 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer, uint32_t, uint32_t, const VkViewport *);
4837 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer, uint32_t, uint32_t, const VkShadingRatePaletteNV *);
4838 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer, uint32_t, uint32_t, const VkViewportWScalingNV *);
4839 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, const void *);
4840 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 *);
4841 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer, VkPipelineStageFlagBits, VkBuffer, VkDeviceSize, uint32_t);
4842 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer, VkPipelineStageFlagBits, VkQueryPool, uint32_t);
4843 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice, const VkBufferCreateInfo *, const VkAllocationCallbacks *, VkBuffer *);
4844 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice, const VkBufferViewCreateInfo *, const VkAllocationCallbacks *, VkBufferView *);
4845 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice, const VkCommandPoolCreateInfo *, const VkAllocationCallbacks *, VkCommandPool *);
4846 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice, VkPipelineCache, uint32_t, const VkComputePipelineCreateInfo *, const VkAllocationCallbacks *, VkPipeline *);
4847 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice, const VkDescriptorPoolCreateInfo *, const VkAllocationCallbacks *, VkDescriptorPool *);
4848 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, const VkAllocationCallbacks *, VkDescriptorSetLayout *);
4849 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice, const VkDescriptorUpdateTemplateCreateInfo *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplate *);
4850 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice, const VkDescriptorUpdateTemplateCreateInfo *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplate *);
4851 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice, const VkDeviceCreateInfo *, const VkAllocationCallbacks *, VkDevice *);
4852 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice, const VkEventCreateInfo *, const VkAllocationCallbacks *, VkEvent *);
4853 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice, const VkFenceCreateInfo *, const VkAllocationCallbacks *, VkFence *);
4854 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice, const VkFramebufferCreateInfo *, const VkAllocationCallbacks *, VkFramebuffer *);
4855 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice, VkPipelineCache, uint32_t, const VkGraphicsPipelineCreateInfo *, const VkAllocationCallbacks *, VkPipeline *);
4856 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice, const VkImageCreateInfo *, const VkAllocationCallbacks *, VkImage *);
4857 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice, const VkImageViewCreateInfo *, const VkAllocationCallbacks *, VkImageView *);
4858 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo *, const VkAllocationCallbacks *, VkInstance *);
4859 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice, const VkPipelineCacheCreateInfo *, const VkAllocationCallbacks *, VkPipelineCache *);
4860 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice, const VkPipelineLayoutCreateInfo *, const VkAllocationCallbacks *, VkPipelineLayout *);
4861 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice, const VkQueryPoolCreateInfo *, const VkAllocationCallbacks *, VkQueryPool *);
4862 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice, const VkRenderPassCreateInfo *, const VkAllocationCallbacks *, VkRenderPass *);
4863 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice, const VkRenderPassCreateInfo2KHR *, const VkAllocationCallbacks *, VkRenderPass *);
4864 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice, const VkSamplerCreateInfo *, const VkAllocationCallbacks *, VkSampler *);
4865 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice, const VkSamplerYcbcrConversionCreateInfo *, const VkAllocationCallbacks *, VkSamplerYcbcrConversion *);
4866 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice, const VkSamplerYcbcrConversionCreateInfo *, const VkAllocationCallbacks *, VkSamplerYcbcrConversion *);
4867 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice, const VkSemaphoreCreateInfo *, const VkAllocationCallbacks *, VkSemaphore *);
4868 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice, const VkShaderModuleCreateInfo *, const VkAllocationCallbacks *, VkShaderModule *);
4869 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *);
4870 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice, const VkValidationCacheCreateInfoEXT *, const VkAllocationCallbacks *, VkValidationCacheEXT *);
4871 typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance, const VkWin32SurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *);
4872 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice, VkBuffer, const VkAllocationCallbacks *);
4873 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice, VkBufferView, const VkAllocationCallbacks *);
4874 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice, VkCommandPool, const VkAllocationCallbacks *);
4875 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice, VkDescriptorPool, const VkAllocationCallbacks *);
4876 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice, VkDescriptorSetLayout, const VkAllocationCallbacks *);
4877 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice, VkDescriptorUpdateTemplate, const VkAllocationCallbacks *);
4878 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice, VkDescriptorUpdateTemplate, const VkAllocationCallbacks *);
4879 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice, const VkAllocationCallbacks *);
4880 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice, VkEvent, const VkAllocationCallbacks *);
4881 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice, VkFence, const VkAllocationCallbacks *);
4882 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice, VkFramebuffer, const VkAllocationCallbacks *);
4883 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice, VkImage, const VkAllocationCallbacks *);
4884 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice, VkImageView, const VkAllocationCallbacks *);
4885 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance, const VkAllocationCallbacks *);
4886 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice, VkPipeline, const VkAllocationCallbacks *);
4887 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice, VkPipelineCache, const VkAllocationCallbacks *);
4888 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice, VkPipelineLayout, const VkAllocationCallbacks *);
4889 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice, VkQueryPool, const VkAllocationCallbacks *);
4890 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice, VkRenderPass, const VkAllocationCallbacks *);
4891 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice, VkSampler, const VkAllocationCallbacks *);
4892 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice, VkSamplerYcbcrConversion, const VkAllocationCallbacks *);
4893 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice, VkSamplerYcbcrConversion, const VkAllocationCallbacks *);
4894 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice, VkSemaphore, const VkAllocationCallbacks *);
4895 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice, VkShaderModule, const VkAllocationCallbacks *);
4896 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
4897 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
4898 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice, VkValidationCacheEXT, const VkAllocationCallbacks *);
4899 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice);
4900 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer);
4901 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice, const char *, uint32_t *, VkExtensionProperties *);
4902 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice, uint32_t *, VkLayerProperties *);
4903 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char *, uint32_t *, VkExtensionProperties *);
4904 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t *, VkLayerProperties *);
4905 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t *);
4906 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance, uint32_t *, VkPhysicalDeviceGroupProperties *);
4907 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance, uint32_t *, VkPhysicalDeviceGroupProperties *);
4908 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance, uint32_t *, VkPhysicalDevice *);
4909 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange *);
4910 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice, VkCommandPool, uint32_t, const VkCommandBuffer *);
4911 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice, VkDescriptorPool, uint32_t, const VkDescriptorSet *);
4912 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice, VkDeviceMemory, const VkAllocationCallbacks *);
4913 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice, VkBuffer, VkMemoryRequirements *);
4914 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice, const VkBufferMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
4915 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice, const VkBufferMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
4916 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
4917 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
4918 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice, uint32_t, uint32_t, uint32_t, VkPeerMemoryFeatureFlags *);
4919 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice, uint32_t, uint32_t, uint32_t, VkPeerMemoryFeatureFlags *);
4920 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice, VkDeviceGroupPresentCapabilitiesKHR *);
4921 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice, VkSurfaceKHR, VkDeviceGroupPresentModeFlagsKHR *);
4922 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice, VkDeviceMemory, VkDeviceSize *);
4923 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice, const char *);
4924 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice, uint32_t, uint32_t, VkQueue *);
4925 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice, const VkDeviceQueueInfo2 *, VkQueue *);
4926 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice, VkEvent);
4927 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice, VkFence);
4928 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice, VkImage, VkMemoryRequirements *);
4929 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice, const VkImageMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
4930 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice, const VkImageMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
4931 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice, VkImage, uint32_t *, VkSparseImageMemoryRequirements *);
4932 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice, const VkImageSparseMemoryRequirementsInfo2 *, uint32_t *, VkSparseImageMemoryRequirements2 *);
4933 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice, const VkImageSparseMemoryRequirementsInfo2 *, uint32_t *, VkSparseImageMemoryRequirements2 *);
4934 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice, VkImage, const VkImageSubresource *, VkSubresourceLayout *);
4935 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance, const char *);
4936 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice, VkPhysicalDeviceFeatures *);
4937 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice, VkPhysicalDeviceFeatures2 *);
4938 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice, VkPhysicalDeviceFeatures2 *);
4939 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice, VkFormat, VkFormatProperties *);
4940 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice, VkFormat, VkFormatProperties2 *);
4941 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice, VkFormat, VkFormatProperties2 *);
4942 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkImageTiling, VkImageUsageFlags, VkImageCreateFlags, VkImageFormatProperties *);
4943 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2 *, VkImageFormatProperties2 *);
4944 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2 *, VkImageFormatProperties2 *);
4945 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties *);
4946 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2 *);
4947 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2 *);
4948 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice, VkSampleCountFlagBits, VkMultisamplePropertiesEXT *);
4949 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkRect2D *);
4950 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice, VkPhysicalDeviceProperties *);
4951 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice, VkPhysicalDeviceProperties2 *);
4952 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceProperties2 *);
4953 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties *);
4954 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties2 *);
4955 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties2 *);
4956 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkSampleCountFlagBits, VkImageUsageFlags, VkImageTiling, uint32_t *, VkSparseImageFormatProperties *);
4957 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *, uint32_t *, VkSparseImageFormatProperties2 *);
4958 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *, uint32_t *, VkSparseImageFormatProperties2 *);
4959 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice, VkSurfaceKHR, VkSurfaceCapabilitiesKHR *);
4960 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkSurfaceFormatKHR *);
4961 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkPresentModeKHR *);
4962 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice, uint32_t, VkSurfaceKHR, VkBool32 *);
4963 typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice, uint32_t);
4964 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice, VkPipelineCache, size_t *, void *);
4965 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice, VkQueryPool, uint32_t, uint32_t, size_t, void *, VkDeviceSize, VkQueryResultFlags);
4966 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue, uint32_t *, VkCheckpointDataNV *);
4967 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice, VkRenderPass, VkExtent2D *);
4968 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice, VkPipeline, VkShaderStageFlagBits, VkShaderInfoTypeAMD, size_t *, void *);
4969 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice, VkSwapchainKHR, uint32_t *, VkImage *);
4970 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice, VkValidationCacheEXT, size_t *, void *);
4971 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange *);
4972 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice, VkDeviceMemory, VkDeviceSize, VkDeviceSize, VkMemoryMapFlags, void **);
4973 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice, VkPipelineCache, uint32_t, const VkPipelineCache *);
4974 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice, VkValidationCacheEXT, uint32_t, const VkValidationCacheEXT *);
4975 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo *, VkFence);
4976 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
4977 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue, uint32_t, const VkSubmitInfo *, VkFence);
4978 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue);
4979 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer, VkCommandBufferResetFlags);
4980 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice, VkCommandPool, VkCommandPoolResetFlags);
4981 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice, VkDescriptorPool, VkDescriptorPoolResetFlags);
4982 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice, VkEvent);
4983 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice, uint32_t, const VkFence *);
4984 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice, VkEvent);
4985 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
4986 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
4987 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice, VkDeviceMemory);
4988 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplate, const void *);
4989 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplate, const void *);
4990 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice, uint32_t, const VkWriteDescriptorSet *, uint32_t, const VkCopyDescriptorSet *);
4991 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice, uint32_t, const VkFence *, VkBool32, uint64_t);
4993 #ifndef VK_NO_PROTOTYPES
4994 VkResult VKAPI_CALL vkAcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR *pAcquireInfo, uint32_t *pImageIndex);
4995 VkResult VKAPI_CALL vkAcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t *pImageIndex);
4996 VkResult VKAPI_CALL vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers);
4997 VkResult VKAPI_CALL vkAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo *pAllocateInfo, VkDescriptorSet *pDescriptorSets);
4998 VkResult VKAPI_CALL vkAllocateMemory(VkDevice device, const VkMemoryAllocateInfo *pAllocateInfo, const VkAllocationCallbacks *pAllocator, VkDeviceMemory *pMemory);
4999 VkResult VKAPI_CALL vkBeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo *pBeginInfo);
5000 VkResult VKAPI_CALL vkBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
5001 VkResult VKAPI_CALL vkBindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo *pBindInfos);
5002 VkResult VKAPI_CALL vkBindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo *pBindInfos);
5003 VkResult VKAPI_CALL vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
5004 VkResult VKAPI_CALL vkBindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos);
5005 VkResult VKAPI_CALL vkBindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos);
5006 void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT *pConditionalRenderingBegin);
5007 void VKAPI_CALL vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
5008 void VKAPI_CALL vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
5009 void VKAPI_CALL vkCmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo *pRenderPassBegin, VkSubpassContents contents);
5010 void VKAPI_CALL vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo *pRenderPassBegin, const VkSubpassBeginInfoKHR *pSubpassBeginInfo);
5011 void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer *pCounterBuffers, const VkDeviceSize *pCounterBufferOffsets);
5012 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);
5013 void VKAPI_CALL vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
5014 void VKAPI_CALL vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
5015 void VKAPI_CALL vkCmdBindShadingRateImageNV(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
5016 void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer *pBuffers, const VkDeviceSize *pOffsets, const VkDeviceSize *pSizes);
5017 void VKAPI_CALL vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer *pBuffers, const VkDeviceSize *pOffsets);
5018 void VKAPI_CALL vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit *pRegions, VkFilter filter);
5019 void VKAPI_CALL vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment *pAttachments, uint32_t rectCount, const VkClearRect *pRects);
5020 void VKAPI_CALL vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue *pColor, uint32_t rangeCount, const VkImageSubresourceRange *pRanges);
5021 void VKAPI_CALL vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue *pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange *pRanges);
5022 void VKAPI_CALL vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy *pRegions);
5023 void VKAPI_CALL vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy *pRegions);
5024 void VKAPI_CALL vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy *pRegions);
5025 void VKAPI_CALL vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy *pRegions);
5026 void VKAPI_CALL vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
5027 void VKAPI_CALL vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
5028 void VKAPI_CALL vkCmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
5029 void VKAPI_CALL vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
5030 void VKAPI_CALL vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
5031 void VKAPI_CALL vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
5032 void VKAPI_CALL vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
5033 void VKAPI_CALL vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
5034 void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5035 void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5036 void VKAPI_CALL vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
5037 void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
5038 void VKAPI_CALL vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5039 void VKAPI_CALL vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5040 void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5041 void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
5042 void VKAPI_CALL vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
5043 void VKAPI_CALL vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer);
5044 void VKAPI_CALL vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
5045 void VKAPI_CALL vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
5046 void VKAPI_CALL vkCmdEndRenderPass(VkCommandBuffer commandBuffer);
5047 void VKAPI_CALL vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR *pSubpassEndInfo);
5048 void VKAPI_CALL vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer *pCounterBuffers, const VkDeviceSize *pCounterBufferOffsets);
5049 void VKAPI_CALL vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers);
5050 void VKAPI_CALL vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
5051 void VKAPI_CALL vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents);
5052 void VKAPI_CALL vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR *pSubpassBeginInfo, const VkSubpassEndInfoKHR *pSubpassEndInfo);
5053 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);
5054 void VKAPI_CALL vkCmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void *pValues);
5055 void VKAPI_CALL vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites);
5056 void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void *pData);
5057 void VKAPI_CALL vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
5058 void VKAPI_CALL vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
5059 void VKAPI_CALL vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve *pRegions);
5060 void VKAPI_CALL vkCmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]);
5061 void VKAPI_CALL vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer, const void *pCheckpointMarker);
5062 void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV *pCustomSampleOrders);
5063 void VKAPI_CALL vkCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
5064 void VKAPI_CALL vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
5065 void VKAPI_CALL vkCmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask);
5066 void VKAPI_CALL vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer, uint32_t deviceMask);
5067 void VKAPI_CALL vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D *pDiscardRectangles);
5068 void VKAPI_CALL vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
5069 void VKAPI_CALL vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D *pExclusiveScissors);
5070 void VKAPI_CALL vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth);
5071 void VKAPI_CALL vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT *pSampleLocationsInfo);
5072 void VKAPI_CALL vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D *pScissors);
5073 void VKAPI_CALL vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
5074 void VKAPI_CALL vkCmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
5075 void VKAPI_CALL vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
5076 void VKAPI_CALL vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport *pViewports);
5077 void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV *pShadingRatePalettes);
5078 void VKAPI_CALL vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV *pViewportWScalings);
5079 void VKAPI_CALL vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void *pData);
5080 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);
5081 void VKAPI_CALL vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
5082 void VKAPI_CALL vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
5083 VkResult VKAPI_CALL vkCreateBuffer(VkDevice device, const VkBufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBuffer *pBuffer);
5084 VkResult VKAPI_CALL vkCreateBufferView(VkDevice device, const VkBufferViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBufferView *pView);
5085 VkResult VKAPI_CALL vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkCommandPool *pCommandPool);
5086 VkResult VKAPI_CALL vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines);
5087 VkResult VKAPI_CALL vkCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorPool *pDescriptorPool);
5088 VkResult VKAPI_CALL vkCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorSetLayout *pSetLayout);
5089 VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate);
5090 VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate);
5091 VkResult VKAPI_CALL vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice);
5092 VkResult VKAPI_CALL vkCreateEvent(VkDevice device, const VkEventCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkEvent *pEvent);
5093 VkResult VKAPI_CALL vkCreateFence(VkDevice device, const VkFenceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence);
5094 VkResult VKAPI_CALL vkCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFramebuffer *pFramebuffer);
5095 VkResult VKAPI_CALL vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines);
5096 VkResult VKAPI_CALL vkCreateImage(VkDevice device, const VkImageCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImage *pImage);
5097 VkResult VKAPI_CALL vkCreateImageView(VkDevice device, const VkImageViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImageView *pView);
5098 VkResult VKAPI_CALL vkCreateInstance(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkInstance *pInstance);
5099 VkResult VKAPI_CALL vkCreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineCache *pPipelineCache);
5100 VkResult VKAPI_CALL vkCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineLayout *pPipelineLayout);
5101 VkResult VKAPI_CALL vkCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkQueryPool *pQueryPool);
5102 VkResult VKAPI_CALL vkCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass);
5103 VkResult VKAPI_CALL vkCreateRenderPass2KHR(VkDevice device, const VkRenderPassCreateInfo2KHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass);
5104 VkResult VKAPI_CALL vkCreateSampler(VkDevice device, const VkSamplerCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSampler *pSampler);
5105 VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSamplerYcbcrConversion *pYcbcrConversion);
5106 VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSamplerYcbcrConversion *pYcbcrConversion);
5107 VkResult VKAPI_CALL vkCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSemaphore *pSemaphore);
5108 VkResult VKAPI_CALL vkCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkShaderModule *pShaderModule);
5109 VkResult VKAPI_CALL vkCreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSwapchainKHR *pSwapchain);
5110 VkResult VKAPI_CALL vkCreateValidationCacheEXT(VkDevice device, const VkValidationCacheCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkValidationCacheEXT *pValidationCache);
5111 VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface);
5112 void VKAPI_CALL vkDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks *pAllocator);
5113 void VKAPI_CALL vkDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks *pAllocator);
5114 void VKAPI_CALL vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks *pAllocator);
5115 void VKAPI_CALL vkDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks *pAllocator);
5116 void VKAPI_CALL vkDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks *pAllocator);
5117 void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator);
5118 void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator);
5119 void VKAPI_CALL vkDestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator);
5120 void VKAPI_CALL vkDestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks *pAllocator);
5121 void VKAPI_CALL vkDestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks *pAllocator);
5122 void VKAPI_CALL vkDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks *pAllocator);
5123 void VKAPI_CALL vkDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks *pAllocator);
5124 void VKAPI_CALL vkDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks *pAllocator);
5125 void VKAPI_CALL vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks *pAllocator);
5126 void VKAPI_CALL vkDestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks *pAllocator);
5127 void VKAPI_CALL vkDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks *pAllocator);
5128 void VKAPI_CALL vkDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks *pAllocator);
5129 void VKAPI_CALL vkDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks *pAllocator);
5130 void VKAPI_CALL vkDestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks *pAllocator);
5131 void VKAPI_CALL vkDestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks *pAllocator);
5132 void VKAPI_CALL vkDestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks *pAllocator);
5133 void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks *pAllocator);
5134 void VKAPI_CALL vkDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks *pAllocator);
5135 void VKAPI_CALL vkDestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks *pAllocator);
5136 void VKAPI_CALL vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks *pAllocator);
5137 void VKAPI_CALL vkDestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks *pAllocator);
5138 void VKAPI_CALL vkDestroyValidationCacheEXT(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks *pAllocator);
5139 VkResult VKAPI_CALL vkDeviceWaitIdle(VkDevice device);
5140 VkResult VKAPI_CALL vkEndCommandBuffer(VkCommandBuffer commandBuffer);
5141 VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties);
5142 VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkLayerProperties *pProperties);
5143 VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties);
5144 VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(uint32_t *pPropertyCount, VkLayerProperties *pProperties);
5145 VkResult VKAPI_CALL vkEnumerateInstanceVersion(uint32_t *pApiVersion);
5146 VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(VkInstance instance, uint32_t *pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties);
5147 VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance, uint32_t *pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties);
5148 VkResult VKAPI_CALL vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices);
5149 VkResult VKAPI_CALL vkFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges);
5150 void VKAPI_CALL vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers);
5151 VkResult VKAPI_CALL vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets);
5152 void VKAPI_CALL vkFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks *pAllocator);
5153 void VKAPI_CALL vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements *pMemoryRequirements);
5154 void VKAPI_CALL vkGetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements);
5155 void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements);
5156 void VKAPI_CALL vkGetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport);
5157 void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport);
5158 void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags *pPeerMemoryFeatures);
5159 void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags *pPeerMemoryFeatures);
5160 VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR *pDeviceGroupPresentCapabilities);
5161 VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR *pModes);
5162 void VKAPI_CALL vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize *pCommittedMemoryInBytes);
5163 PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDevice device, const char *pName);
5164 void VKAPI_CALL vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue);
5165 void VKAPI_CALL vkGetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2 *pQueueInfo, VkQueue *pQueue);
5166 VkResult VKAPI_CALL vkGetEventStatus(VkDevice device, VkEvent event);
5167 VkResult VKAPI_CALL vkGetFenceStatus(VkDevice device, VkFence fence);
5168 void VKAPI_CALL vkGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements *pMemoryRequirements);
5169 void VKAPI_CALL vkGetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements);
5170 void VKAPI_CALL vkGetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements);
5171 void VKAPI_CALL vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements *pSparseMemoryRequirements);
5172 void VKAPI_CALL vkGetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements);
5173 void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements);
5174 void VKAPI_CALL vkGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource *pSubresource, VkSubresourceLayout *pLayout);
5175 PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkInstance instance, const char *pName);
5176 void VKAPI_CALL vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures *pFeatures);
5177 void VKAPI_CALL vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 *pFeatures);
5178 void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 *pFeatures);
5179 void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties *pFormatProperties);
5180 void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 *pFormatProperties);
5181 void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 *pFormatProperties);
5182 VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties *pImageFormatProperties);
5183 VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties);
5184 VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties);
5185 void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties *pMemoryProperties);
5186 void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties);
5187 void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties);
5188 void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT *pMultisampleProperties);
5189 VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pRectCount, VkRect2D *pRects);
5190 void VKAPI_CALL vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties *pProperties);
5191 void VKAPI_CALL vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties);
5192 void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties);
5193 void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties *pQueueFamilyProperties);
5194 void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2 *pQueueFamilyProperties);
5195 void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2 *pQueueFamilyProperties);
5196 void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t *pPropertyCount, VkSparseImageFormatProperties *pProperties);
5197 void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2 *pProperties);
5198 void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2 *pProperties);
5199 VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR *pSurfaceCapabilities);
5200 VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pSurfaceFormatCount, VkSurfaceFormatKHR *pSurfaceFormats);
5201 VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes);
5202 VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32 *pSupported);
5203 VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
5204 VkResult VKAPI_CALL vkGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t *pDataSize, void *pData);
5205 VkResult VKAPI_CALL vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void *pData, VkDeviceSize stride, VkQueryResultFlags flags);
5206 void VKAPI_CALL vkGetQueueCheckpointDataNV(VkQueue queue, uint32_t *pCheckpointDataCount, VkCheckpointDataNV *pCheckpointData);
5207 void VKAPI_CALL vkGetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D *pGranularity);
5208 VkResult VKAPI_CALL vkGetShaderInfoAMD(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t *pInfoSize, void *pInfo);
5209 VkResult VKAPI_CALL vkGetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t *pSwapchainImageCount, VkImage *pSwapchainImages);
5210 VkResult VKAPI_CALL vkGetValidationCacheDataEXT(VkDevice device, VkValidationCacheEXT validationCache, size_t *pDataSize, void *pData);
5211 VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges);
5212 VkResult VKAPI_CALL vkMapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void **ppData);
5213 VkResult VKAPI_CALL vkMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache *pSrcCaches);
5214 VkResult VKAPI_CALL vkMergeValidationCachesEXT(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT *pSrcCaches);
5215 VkResult VKAPI_CALL vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo *pBindInfo, VkFence fence);
5216 VkResult VKAPI_CALL vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *pPresentInfo);
5217 VkResult VKAPI_CALL vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo *pSubmits, VkFence fence);
5218 VkResult VKAPI_CALL vkQueueWaitIdle(VkQueue queue);
5219 VkResult VKAPI_CALL vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
5220 VkResult VKAPI_CALL vkResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
5221 VkResult VKAPI_CALL vkResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
5222 VkResult VKAPI_CALL vkResetEvent(VkDevice device, VkEvent event);
5223 VkResult VKAPI_CALL vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences);
5224 VkResult VKAPI_CALL vkSetEvent(VkDevice device, VkEvent event);
5225 void VKAPI_CALL vkTrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5226 void VKAPI_CALL vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5227 void VKAPI_CALL vkUnmapMemory(VkDevice device, VkDeviceMemory memory);
5228 void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData);
5229 void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData);
5230 void VKAPI_CALL vkUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet *pDescriptorCopies);
5231 VkResult VKAPI_CALL vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences, VkBool32 waitAll, uint64_t timeout);
5232 #endif /* VK_NO_PROTOTYPES */
5234 #endif /* __WINE_VULKAN_H */