2 #define __mock_icd_h_ 1
5 ** Copyright (c) 2015-2018 The Khronos Group Inc.
7 ** Licensed under the Apache License, Version 2.0 (the "License");
8 ** you may not use this file except in compliance with the License.
9 ** You may obtain a copy of the License at
11 ** http://www.apache.org/licenses/LICENSE-2.0
13 ** Unless required by applicable law or agreed to in writing, software
14 ** distributed under the License is distributed on an "AS IS" BASIS,
15 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 ** See the License for the specific language governing permissions and
17 ** limitations under the License.
21 ** This header is generated from the Khronos Vulkan XML API Registry.
25 #include <unordered_map>
29 #include "vulkan/vk_icd.h"
33 using mutex_t = std::mutex;
34 using lock_guard_t = std::lock_guard<mutex_t>;
35 using unique_lock_t = std::unique_lock<mutex_t>;
37 static mutex_t global_lock;
38 static uint64_t global_unique_handle = 1;
39 static const uint32_t SUPPORTED_LOADER_ICD_INTERFACE_VERSION = 5;
40 static uint32_t loader_interface_version = 0;
41 static bool negotiate_loader_icd_interface_called = false;
42 static void* CreateDispObjHandle() {
43 auto handle = new VK_LOADER_DATA;
44 set_loader_magic_value(handle);
47 static void DestroyDispObjHandle(void* handle) {
48 delete reinterpret_cast<VK_LOADER_DATA*>(handle);
51 // Map of instance extension name to version
52 static const std::unordered_map<std::string, uint32_t> instance_extension_map = {
53 {"VK_KHR_surface", 25},
54 {"VK_KHR_display", 23},
55 {"VK_KHR_xlib_surface", 6},
56 {"VK_KHR_xcb_surface", 6},
57 {"VK_KHR_wayland_surface", 6},
58 {"VK_KHR_android_surface", 6},
59 {"VK_KHR_win32_surface", 6},
60 {"VK_EXT_debug_report", 9},
61 {"VK_GGP_stream_descriptor_surface", 1},
62 {"VK_NV_external_memory_capabilities", 1},
63 {"VK_KHR_get_physical_device_properties2", 2},
64 {"VK_EXT_validation_flags", 2},
65 {"VK_NN_vi_surface", 1},
66 {"VK_KHR_device_group_creation", 1},
67 {"VK_KHR_external_memory_capabilities", 1},
68 {"VK_KHR_external_semaphore_capabilities", 1},
69 {"VK_EXT_direct_mode_display", 1},
70 {"VK_EXT_acquire_xlib_display", 1},
71 {"VK_EXT_display_surface_counter", 1},
72 {"VK_EXT_swapchain_colorspace", 4},
73 {"VK_KHR_external_fence_capabilities", 1},
74 {"VK_KHR_get_surface_capabilities2", 1},
75 {"VK_KHR_get_display_properties2", 1},
76 {"VK_MVK_ios_surface", 2},
77 {"VK_MVK_macos_surface", 2},
78 {"VK_EXT_debug_utils", 1},
79 {"VK_FUCHSIA_imagepipe_surface", 1},
80 {"VK_EXT_metal_surface", 1},
81 {"VK_KHR_surface_protected_capabilities", 1},
82 {"VK_EXT_validation_features", 2},
83 {"VK_EXT_headless_surface", 1},
85 // Map of device extension name to version
86 static const std::unordered_map<std::string, uint32_t> device_extension_map = {
87 {"VK_KHR_swapchain", 70},
88 {"VK_KHR_display_swapchain", 10},
89 {"VK_NV_glsl_shader", 1},
90 {"VK_EXT_depth_range_unrestricted", 1},
91 {"VK_KHR_sampler_mirror_clamp_to_edge", 3},
92 {"VK_IMG_filter_cubic", 1},
93 {"VK_AMD_rasterization_order", 1},
94 {"VK_AMD_shader_trinary_minmax", 1},
95 {"VK_AMD_shader_explicit_vertex_parameter", 1},
96 {"VK_EXT_debug_marker", 4},
97 {"VK_AMD_gcn_shader", 1},
98 {"VK_NV_dedicated_allocation", 1},
99 {"VK_EXT_transform_feedback", 1},
100 {"VK_NVX_image_view_handle", 1},
101 {"VK_AMD_draw_indirect_count", 2},
102 {"VK_AMD_negative_viewport_height", 1},
103 {"VK_AMD_gpu_shader_half_float", 2},
104 {"VK_AMD_shader_ballot", 1},
105 {"VK_AMD_texture_gather_bias_lod", 1},
106 {"VK_AMD_shader_info", 1},
107 {"VK_AMD_shader_image_load_store_lod", 1},
108 {"VK_NV_corner_sampled_image", 2},
109 {"VK_KHR_multiview", 1},
110 {"VK_IMG_format_pvrtc", 1},
111 {"VK_NV_external_memory", 1},
112 {"VK_NV_external_memory_win32", 1},
113 {"VK_NV_win32_keyed_mutex", 2},
114 {"VK_KHR_device_group", 4},
115 {"VK_KHR_shader_draw_parameters", 1},
116 {"VK_EXT_shader_subgroup_ballot", 1},
117 {"VK_EXT_shader_subgroup_vote", 1},
118 {"VK_EXT_texture_compression_astc_hdr", 1},
119 {"VK_EXT_astc_decode_mode", 1},
120 {"VK_KHR_maintenance1", 2},
121 {"VK_KHR_external_memory", 1},
122 {"VK_KHR_external_memory_win32", 1},
123 {"VK_KHR_external_memory_fd", 1},
124 {"VK_KHR_win32_keyed_mutex", 1},
125 {"VK_KHR_external_semaphore", 1},
126 {"VK_KHR_external_semaphore_win32", 1},
127 {"VK_KHR_external_semaphore_fd", 1},
128 {"VK_KHR_push_descriptor", 2},
129 {"VK_EXT_conditional_rendering", 2},
130 {"VK_KHR_shader_float16_int8", 1},
131 {"VK_KHR_16bit_storage", 1},
132 {"VK_KHR_incremental_present", 1},
133 {"VK_KHR_descriptor_update_template", 1},
134 {"VK_NVX_device_generated_commands", 3},
135 {"VK_NV_clip_space_w_scaling", 1},
136 {"VK_EXT_display_control", 1},
137 {"VK_GOOGLE_display_timing", 1},
138 {"VK_NV_sample_mask_override_coverage", 1},
139 {"VK_NV_geometry_shader_passthrough", 1},
140 {"VK_NV_viewport_array2", 1},
141 {"VK_NVX_multiview_per_view_attributes", 1},
142 {"VK_NV_viewport_swizzle", 1},
143 {"VK_EXT_discard_rectangles", 1},
144 {"VK_EXT_conservative_rasterization", 1},
145 {"VK_EXT_depth_clip_enable", 1},
146 {"VK_EXT_hdr_metadata", 2},
147 {"VK_KHR_imageless_framebuffer", 1},
148 {"VK_KHR_create_renderpass2", 1},
149 {"VK_KHR_shared_presentable_image", 1},
150 {"VK_KHR_external_fence", 1},
151 {"VK_KHR_external_fence_win32", 1},
152 {"VK_KHR_external_fence_fd", 1},
153 {"VK_KHR_maintenance2", 1},
154 {"VK_KHR_variable_pointers", 1},
155 {"VK_EXT_external_memory_dma_buf", 1},
156 {"VK_EXT_queue_family_foreign", 1},
157 {"VK_KHR_dedicated_allocation", 3},
158 {"VK_ANDROID_external_memory_android_hardware_buffer", 3},
159 {"VK_EXT_sampler_filter_minmax", 2},
160 {"VK_KHR_storage_buffer_storage_class", 1},
161 {"VK_AMD_gpu_shader_int16", 2},
162 {"VK_AMD_mixed_attachment_samples", 1},
163 {"VK_AMD_shader_fragment_mask", 1},
164 {"VK_EXT_inline_uniform_block", 1},
165 {"VK_EXT_shader_stencil_export", 1},
166 {"VK_EXT_sample_locations", 1},
167 {"VK_KHR_relaxed_block_layout", 1},
168 {"VK_KHR_get_memory_requirements2", 1},
169 {"VK_KHR_image_format_list", 1},
170 {"VK_EXT_blend_operation_advanced", 2},
171 {"VK_NV_fragment_coverage_to_color", 1},
172 {"VK_NV_framebuffer_mixed_samples", 1},
173 {"VK_NV_fill_rectangle", 1},
174 {"VK_NV_shader_sm_builtins", 1},
175 {"VK_EXT_post_depth_coverage", 1},
176 {"VK_KHR_sampler_ycbcr_conversion", 14},
177 {"VK_KHR_bind_memory2", 1},
178 {"VK_EXT_image_drm_format_modifier", 1},
179 {"VK_EXT_descriptor_indexing", 2},
180 {"VK_EXT_shader_viewport_index_layer", 1},
181 {"VK_NV_shading_rate_image", 3},
182 {"VK_NV_ray_tracing", 3},
183 {"VK_NV_representative_fragment_test", 2},
184 {"VK_KHR_maintenance3", 1},
185 {"VK_KHR_draw_indirect_count", 1},
186 {"VK_EXT_filter_cubic", 2},
187 {"VK_EXT_global_priority", 2},
188 {"VK_KHR_shader_subgroup_extended_types", 1},
189 {"VK_KHR_8bit_storage", 1},
190 {"VK_EXT_external_memory_host", 1},
191 {"VK_AMD_buffer_marker", 1},
192 {"VK_KHR_shader_atomic_int64", 1},
193 {"VK_KHR_shader_clock", 1},
194 {"VK_AMD_pipeline_compiler_control", 1},
195 {"VK_EXT_calibrated_timestamps", 1},
196 {"VK_AMD_shader_core_properties", 2},
197 {"VK_AMD_memory_overallocation_behavior", 1},
198 {"VK_EXT_vertex_attribute_divisor", 3},
199 {"VK_GGP_frame_token", 1},
200 {"VK_EXT_pipeline_creation_feedback", 1},
201 {"VK_KHR_driver_properties", 1},
202 {"VK_KHR_shader_float_controls", 4},
203 {"VK_NV_shader_subgroup_partitioned", 1},
204 {"VK_KHR_depth_stencil_resolve", 1},
205 {"VK_KHR_swapchain_mutable_format", 1},
206 {"VK_NV_compute_shader_derivatives", 1},
207 {"VK_NV_mesh_shader", 1},
208 {"VK_NV_fragment_shader_barycentric", 1},
209 {"VK_NV_shader_image_footprint", 2},
210 {"VK_NV_scissor_exclusive", 1},
211 {"VK_NV_device_diagnostic_checkpoints", 2},
212 {"VK_KHR_timeline_semaphore", 2},
213 {"VK_INTEL_shader_integer_functions2", 1},
214 {"VK_INTEL_performance_query", 1},
215 {"VK_KHR_vulkan_memory_model", 3},
216 {"VK_EXT_pci_bus_info", 2},
217 {"VK_AMD_display_native_hdr", 1},
218 {"VK_EXT_fragment_density_map", 1},
219 {"VK_EXT_scalar_block_layout", 1},
220 {"VK_GOOGLE_hlsl_functionality1", 1},
221 {"VK_GOOGLE_decorate_string", 1},
222 {"VK_EXT_subgroup_size_control", 2},
223 {"VK_AMD_shader_core_properties2", 1},
224 {"VK_AMD_device_coherent_memory", 1},
225 {"VK_EXT_memory_budget", 1},
226 {"VK_EXT_memory_priority", 1},
227 {"VK_NV_dedicated_allocation_image_aliasing", 1},
228 {"VK_EXT_buffer_device_address", 2},
229 {"VK_EXT_separate_stencil_usage", 1},
230 {"VK_NV_cooperative_matrix", 1},
231 {"VK_NV_coverage_reduction_mode", 1},
232 {"VK_EXT_fragment_shader_interlock", 1},
233 {"VK_EXT_ycbcr_image_arrays", 1},
234 {"VK_KHR_uniform_buffer_standard_layout", 1},
235 {"VK_EXT_full_screen_exclusive", 4},
236 {"VK_EXT_line_rasterization", 1},
237 {"VK_EXT_host_query_reset", 1},
238 {"VK_EXT_index_type_uint8", 1},
239 {"VK_KHR_pipeline_executable_properties", 1},
240 {"VK_EXT_shader_demote_to_helper_invocation", 1},
241 {"VK_EXT_texel_buffer_alignment", 1},
242 {"VK_GOOGLE_user_type", 1},
246 static VKAPI_ATTR VkResult VKAPI_CALL CreateInstance(
247 const VkInstanceCreateInfo* pCreateInfo,
248 const VkAllocationCallbacks* pAllocator,
249 VkInstance* pInstance);
251 static VKAPI_ATTR void VKAPI_CALL DestroyInstance(
253 const VkAllocationCallbacks* pAllocator);
255 static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDevices(
257 uint32_t* pPhysicalDeviceCount,
258 VkPhysicalDevice* pPhysicalDevices);
260 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures(
261 VkPhysicalDevice physicalDevice,
262 VkPhysicalDeviceFeatures* pFeatures);
264 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties(
265 VkPhysicalDevice physicalDevice,
267 VkFormatProperties* pFormatProperties);
269 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties(
270 VkPhysicalDevice physicalDevice,
273 VkImageTiling tiling,
274 VkImageUsageFlags usage,
275 VkImageCreateFlags flags,
276 VkImageFormatProperties* pImageFormatProperties);
278 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties(
279 VkPhysicalDevice physicalDevice,
280 VkPhysicalDeviceProperties* pProperties);
282 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties(
283 VkPhysicalDevice physicalDevice,
284 uint32_t* pQueueFamilyPropertyCount,
285 VkQueueFamilyProperties* pQueueFamilyProperties);
287 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties(
288 VkPhysicalDevice physicalDevice,
289 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
291 static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetInstanceProcAddr(
295 static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetDeviceProcAddr(
299 static VKAPI_ATTR VkResult VKAPI_CALL CreateDevice(
300 VkPhysicalDevice physicalDevice,
301 const VkDeviceCreateInfo* pCreateInfo,
302 const VkAllocationCallbacks* pAllocator,
305 static VKAPI_ATTR void VKAPI_CALL DestroyDevice(
307 const VkAllocationCallbacks* pAllocator);
309 static VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceExtensionProperties(
310 const char* pLayerName,
311 uint32_t* pPropertyCount,
312 VkExtensionProperties* pProperties);
314 static VKAPI_ATTR VkResult VKAPI_CALL EnumerateDeviceExtensionProperties(
315 VkPhysicalDevice physicalDevice,
316 const char* pLayerName,
317 uint32_t* pPropertyCount,
318 VkExtensionProperties* pProperties);
320 static VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceLayerProperties(
321 uint32_t* pPropertyCount,
322 VkLayerProperties* pProperties);
324 static VKAPI_ATTR VkResult VKAPI_CALL EnumerateDeviceLayerProperties(
325 VkPhysicalDevice physicalDevice,
326 uint32_t* pPropertyCount,
327 VkLayerProperties* pProperties);
329 static VKAPI_ATTR void VKAPI_CALL GetDeviceQueue(
331 uint32_t queueFamilyIndex,
335 static VKAPI_ATTR VkResult VKAPI_CALL QueueSubmit(
337 uint32_t submitCount,
338 const VkSubmitInfo* pSubmits,
341 static VKAPI_ATTR VkResult VKAPI_CALL QueueWaitIdle(
344 static VKAPI_ATTR VkResult VKAPI_CALL DeviceWaitIdle(
347 static VKAPI_ATTR VkResult VKAPI_CALL AllocateMemory(
349 const VkMemoryAllocateInfo* pAllocateInfo,
350 const VkAllocationCallbacks* pAllocator,
351 VkDeviceMemory* pMemory);
353 static VKAPI_ATTR void VKAPI_CALL FreeMemory(
355 VkDeviceMemory memory,
356 const VkAllocationCallbacks* pAllocator);
358 static VKAPI_ATTR VkResult VKAPI_CALL MapMemory(
360 VkDeviceMemory memory,
363 VkMemoryMapFlags flags,
366 static VKAPI_ATTR void VKAPI_CALL UnmapMemory(
368 VkDeviceMemory memory);
370 static VKAPI_ATTR VkResult VKAPI_CALL FlushMappedMemoryRanges(
372 uint32_t memoryRangeCount,
373 const VkMappedMemoryRange* pMemoryRanges);
375 static VKAPI_ATTR VkResult VKAPI_CALL InvalidateMappedMemoryRanges(
377 uint32_t memoryRangeCount,
378 const VkMappedMemoryRange* pMemoryRanges);
380 static VKAPI_ATTR void VKAPI_CALL GetDeviceMemoryCommitment(
382 VkDeviceMemory memory,
383 VkDeviceSize* pCommittedMemoryInBytes);
385 static VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory(
388 VkDeviceMemory memory,
389 VkDeviceSize memoryOffset);
391 static VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory(
394 VkDeviceMemory memory,
395 VkDeviceSize memoryOffset);
397 static VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements(
400 VkMemoryRequirements* pMemoryRequirements);
402 static VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements(
405 VkMemoryRequirements* pMemoryRequirements);
407 static VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements(
410 uint32_t* pSparseMemoryRequirementCount,
411 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
413 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties(
414 VkPhysicalDevice physicalDevice,
417 VkSampleCountFlagBits samples,
418 VkImageUsageFlags usage,
419 VkImageTiling tiling,
420 uint32_t* pPropertyCount,
421 VkSparseImageFormatProperties* pProperties);
423 static VKAPI_ATTR VkResult VKAPI_CALL QueueBindSparse(
425 uint32_t bindInfoCount,
426 const VkBindSparseInfo* pBindInfo,
429 static VKAPI_ATTR VkResult VKAPI_CALL CreateFence(
431 const VkFenceCreateInfo* pCreateInfo,
432 const VkAllocationCallbacks* pAllocator,
435 static VKAPI_ATTR void VKAPI_CALL DestroyFence(
438 const VkAllocationCallbacks* pAllocator);
440 static VKAPI_ATTR VkResult VKAPI_CALL ResetFences(
443 const VkFence* pFences);
445 static VKAPI_ATTR VkResult VKAPI_CALL GetFenceStatus(
449 static VKAPI_ATTR VkResult VKAPI_CALL WaitForFences(
452 const VkFence* pFences,
456 static VKAPI_ATTR VkResult VKAPI_CALL CreateSemaphore(
458 const VkSemaphoreCreateInfo* pCreateInfo,
459 const VkAllocationCallbacks* pAllocator,
460 VkSemaphore* pSemaphore);
462 static VKAPI_ATTR void VKAPI_CALL DestroySemaphore(
464 VkSemaphore semaphore,
465 const VkAllocationCallbacks* pAllocator);
467 static VKAPI_ATTR VkResult VKAPI_CALL CreateEvent(
469 const VkEventCreateInfo* pCreateInfo,
470 const VkAllocationCallbacks* pAllocator,
473 static VKAPI_ATTR void VKAPI_CALL DestroyEvent(
476 const VkAllocationCallbacks* pAllocator);
478 static VKAPI_ATTR VkResult VKAPI_CALL GetEventStatus(
482 static VKAPI_ATTR VkResult VKAPI_CALL SetEvent(
486 static VKAPI_ATTR VkResult VKAPI_CALL ResetEvent(
490 static VKAPI_ATTR VkResult VKAPI_CALL CreateQueryPool(
492 const VkQueryPoolCreateInfo* pCreateInfo,
493 const VkAllocationCallbacks* pAllocator,
494 VkQueryPool* pQueryPool);
496 static VKAPI_ATTR void VKAPI_CALL DestroyQueryPool(
498 VkQueryPool queryPool,
499 const VkAllocationCallbacks* pAllocator);
501 static VKAPI_ATTR VkResult VKAPI_CALL GetQueryPoolResults(
503 VkQueryPool queryPool,
509 VkQueryResultFlags flags);
511 static VKAPI_ATTR VkResult VKAPI_CALL CreateBuffer(
513 const VkBufferCreateInfo* pCreateInfo,
514 const VkAllocationCallbacks* pAllocator,
517 static VKAPI_ATTR void VKAPI_CALL DestroyBuffer(
520 const VkAllocationCallbacks* pAllocator);
522 static VKAPI_ATTR VkResult VKAPI_CALL CreateBufferView(
524 const VkBufferViewCreateInfo* pCreateInfo,
525 const VkAllocationCallbacks* pAllocator,
526 VkBufferView* pView);
528 static VKAPI_ATTR void VKAPI_CALL DestroyBufferView(
530 VkBufferView bufferView,
531 const VkAllocationCallbacks* pAllocator);
533 static VKAPI_ATTR VkResult VKAPI_CALL CreateImage(
535 const VkImageCreateInfo* pCreateInfo,
536 const VkAllocationCallbacks* pAllocator,
539 static VKAPI_ATTR void VKAPI_CALL DestroyImage(
542 const VkAllocationCallbacks* pAllocator);
544 static VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout(
547 const VkImageSubresource* pSubresource,
548 VkSubresourceLayout* pLayout);
550 static VKAPI_ATTR VkResult VKAPI_CALL CreateImageView(
552 const VkImageViewCreateInfo* pCreateInfo,
553 const VkAllocationCallbacks* pAllocator,
556 static VKAPI_ATTR void VKAPI_CALL DestroyImageView(
558 VkImageView imageView,
559 const VkAllocationCallbacks* pAllocator);
561 static VKAPI_ATTR VkResult VKAPI_CALL CreateShaderModule(
563 const VkShaderModuleCreateInfo* pCreateInfo,
564 const VkAllocationCallbacks* pAllocator,
565 VkShaderModule* pShaderModule);
567 static VKAPI_ATTR void VKAPI_CALL DestroyShaderModule(
569 VkShaderModule shaderModule,
570 const VkAllocationCallbacks* pAllocator);
572 static VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineCache(
574 const VkPipelineCacheCreateInfo* pCreateInfo,
575 const VkAllocationCallbacks* pAllocator,
576 VkPipelineCache* pPipelineCache);
578 static VKAPI_ATTR void VKAPI_CALL DestroyPipelineCache(
580 VkPipelineCache pipelineCache,
581 const VkAllocationCallbacks* pAllocator);
583 static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineCacheData(
585 VkPipelineCache pipelineCache,
589 static VKAPI_ATTR VkResult VKAPI_CALL MergePipelineCaches(
591 VkPipelineCache dstCache,
592 uint32_t srcCacheCount,
593 const VkPipelineCache* pSrcCaches);
595 static VKAPI_ATTR VkResult VKAPI_CALL CreateGraphicsPipelines(
597 VkPipelineCache pipelineCache,
598 uint32_t createInfoCount,
599 const VkGraphicsPipelineCreateInfo* pCreateInfos,
600 const VkAllocationCallbacks* pAllocator,
601 VkPipeline* pPipelines);
603 static VKAPI_ATTR VkResult VKAPI_CALL CreateComputePipelines(
605 VkPipelineCache pipelineCache,
606 uint32_t createInfoCount,
607 const VkComputePipelineCreateInfo* pCreateInfos,
608 const VkAllocationCallbacks* pAllocator,
609 VkPipeline* pPipelines);
611 static VKAPI_ATTR void VKAPI_CALL DestroyPipeline(
614 const VkAllocationCallbacks* pAllocator);
616 static VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineLayout(
618 const VkPipelineLayoutCreateInfo* pCreateInfo,
619 const VkAllocationCallbacks* pAllocator,
620 VkPipelineLayout* pPipelineLayout);
622 static VKAPI_ATTR void VKAPI_CALL DestroyPipelineLayout(
624 VkPipelineLayout pipelineLayout,
625 const VkAllocationCallbacks* pAllocator);
627 static VKAPI_ATTR VkResult VKAPI_CALL CreateSampler(
629 const VkSamplerCreateInfo* pCreateInfo,
630 const VkAllocationCallbacks* pAllocator,
631 VkSampler* pSampler);
633 static VKAPI_ATTR void VKAPI_CALL DestroySampler(
636 const VkAllocationCallbacks* pAllocator);
638 static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorSetLayout(
640 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
641 const VkAllocationCallbacks* pAllocator,
642 VkDescriptorSetLayout* pSetLayout);
644 static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorSetLayout(
646 VkDescriptorSetLayout descriptorSetLayout,
647 const VkAllocationCallbacks* pAllocator);
649 static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorPool(
651 const VkDescriptorPoolCreateInfo* pCreateInfo,
652 const VkAllocationCallbacks* pAllocator,
653 VkDescriptorPool* pDescriptorPool);
655 static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorPool(
657 VkDescriptorPool descriptorPool,
658 const VkAllocationCallbacks* pAllocator);
660 static VKAPI_ATTR VkResult VKAPI_CALL ResetDescriptorPool(
662 VkDescriptorPool descriptorPool,
663 VkDescriptorPoolResetFlags flags);
665 static VKAPI_ATTR VkResult VKAPI_CALL AllocateDescriptorSets(
667 const VkDescriptorSetAllocateInfo* pAllocateInfo,
668 VkDescriptorSet* pDescriptorSets);
670 static VKAPI_ATTR VkResult VKAPI_CALL FreeDescriptorSets(
672 VkDescriptorPool descriptorPool,
673 uint32_t descriptorSetCount,
674 const VkDescriptorSet* pDescriptorSets);
676 static VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSets(
678 uint32_t descriptorWriteCount,
679 const VkWriteDescriptorSet* pDescriptorWrites,
680 uint32_t descriptorCopyCount,
681 const VkCopyDescriptorSet* pDescriptorCopies);
683 static VKAPI_ATTR VkResult VKAPI_CALL CreateFramebuffer(
685 const VkFramebufferCreateInfo* pCreateInfo,
686 const VkAllocationCallbacks* pAllocator,
687 VkFramebuffer* pFramebuffer);
689 static VKAPI_ATTR void VKAPI_CALL DestroyFramebuffer(
691 VkFramebuffer framebuffer,
692 const VkAllocationCallbacks* pAllocator);
694 static VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass(
696 const VkRenderPassCreateInfo* pCreateInfo,
697 const VkAllocationCallbacks* pAllocator,
698 VkRenderPass* pRenderPass);
700 static VKAPI_ATTR void VKAPI_CALL DestroyRenderPass(
702 VkRenderPass renderPass,
703 const VkAllocationCallbacks* pAllocator);
705 static VKAPI_ATTR void VKAPI_CALL GetRenderAreaGranularity(
707 VkRenderPass renderPass,
708 VkExtent2D* pGranularity);
710 static VKAPI_ATTR VkResult VKAPI_CALL CreateCommandPool(
712 const VkCommandPoolCreateInfo* pCreateInfo,
713 const VkAllocationCallbacks* pAllocator,
714 VkCommandPool* pCommandPool);
716 static VKAPI_ATTR void VKAPI_CALL DestroyCommandPool(
718 VkCommandPool commandPool,
719 const VkAllocationCallbacks* pAllocator);
721 static VKAPI_ATTR VkResult VKAPI_CALL ResetCommandPool(
723 VkCommandPool commandPool,
724 VkCommandPoolResetFlags flags);
726 static VKAPI_ATTR VkResult VKAPI_CALL AllocateCommandBuffers(
728 const VkCommandBufferAllocateInfo* pAllocateInfo,
729 VkCommandBuffer* pCommandBuffers);
731 static VKAPI_ATTR void VKAPI_CALL FreeCommandBuffers(
733 VkCommandPool commandPool,
734 uint32_t commandBufferCount,
735 const VkCommandBuffer* pCommandBuffers);
737 static VKAPI_ATTR VkResult VKAPI_CALL BeginCommandBuffer(
738 VkCommandBuffer commandBuffer,
739 const VkCommandBufferBeginInfo* pBeginInfo);
741 static VKAPI_ATTR VkResult VKAPI_CALL EndCommandBuffer(
742 VkCommandBuffer commandBuffer);
744 static VKAPI_ATTR VkResult VKAPI_CALL ResetCommandBuffer(
745 VkCommandBuffer commandBuffer,
746 VkCommandBufferResetFlags flags);
748 static VKAPI_ATTR void VKAPI_CALL CmdBindPipeline(
749 VkCommandBuffer commandBuffer,
750 VkPipelineBindPoint pipelineBindPoint,
751 VkPipeline pipeline);
753 static VKAPI_ATTR void VKAPI_CALL CmdSetViewport(
754 VkCommandBuffer commandBuffer,
755 uint32_t firstViewport,
756 uint32_t viewportCount,
757 const VkViewport* pViewports);
759 static VKAPI_ATTR void VKAPI_CALL CmdSetScissor(
760 VkCommandBuffer commandBuffer,
761 uint32_t firstScissor,
762 uint32_t scissorCount,
763 const VkRect2D* pScissors);
765 static VKAPI_ATTR void VKAPI_CALL CmdSetLineWidth(
766 VkCommandBuffer commandBuffer,
769 static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBias(
770 VkCommandBuffer commandBuffer,
771 float depthBiasConstantFactor,
772 float depthBiasClamp,
773 float depthBiasSlopeFactor);
775 static VKAPI_ATTR void VKAPI_CALL CmdSetBlendConstants(
776 VkCommandBuffer commandBuffer,
777 const float blendConstants[4]);
779 static VKAPI_ATTR void VKAPI_CALL CmdSetDepthBounds(
780 VkCommandBuffer commandBuffer,
781 float minDepthBounds,
782 float maxDepthBounds);
784 static VKAPI_ATTR void VKAPI_CALL CmdSetStencilCompareMask(
785 VkCommandBuffer commandBuffer,
786 VkStencilFaceFlags faceMask,
787 uint32_t compareMask);
789 static VKAPI_ATTR void VKAPI_CALL CmdSetStencilWriteMask(
790 VkCommandBuffer commandBuffer,
791 VkStencilFaceFlags faceMask,
794 static VKAPI_ATTR void VKAPI_CALL CmdSetStencilReference(
795 VkCommandBuffer commandBuffer,
796 VkStencilFaceFlags faceMask,
799 static VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets(
800 VkCommandBuffer commandBuffer,
801 VkPipelineBindPoint pipelineBindPoint,
802 VkPipelineLayout layout,
804 uint32_t descriptorSetCount,
805 const VkDescriptorSet* pDescriptorSets,
806 uint32_t dynamicOffsetCount,
807 const uint32_t* pDynamicOffsets);
809 static VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer(
810 VkCommandBuffer commandBuffer,
813 VkIndexType indexType);
815 static VKAPI_ATTR void VKAPI_CALL CmdBindVertexBuffers(
816 VkCommandBuffer commandBuffer,
817 uint32_t firstBinding,
818 uint32_t bindingCount,
819 const VkBuffer* pBuffers,
820 const VkDeviceSize* pOffsets);
822 static VKAPI_ATTR void VKAPI_CALL CmdDraw(
823 VkCommandBuffer commandBuffer,
824 uint32_t vertexCount,
825 uint32_t instanceCount,
826 uint32_t firstVertex,
827 uint32_t firstInstance);
829 static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexed(
830 VkCommandBuffer commandBuffer,
832 uint32_t instanceCount,
834 int32_t vertexOffset,
835 uint32_t firstInstance);
837 static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirect(
838 VkCommandBuffer commandBuffer,
844 static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirect(
845 VkCommandBuffer commandBuffer,
851 static VKAPI_ATTR void VKAPI_CALL CmdDispatch(
852 VkCommandBuffer commandBuffer,
853 uint32_t groupCountX,
854 uint32_t groupCountY,
855 uint32_t groupCountZ);
857 static VKAPI_ATTR void VKAPI_CALL CmdDispatchIndirect(
858 VkCommandBuffer commandBuffer,
860 VkDeviceSize offset);
862 static VKAPI_ATTR void VKAPI_CALL CmdCopyBuffer(
863 VkCommandBuffer commandBuffer,
866 uint32_t regionCount,
867 const VkBufferCopy* pRegions);
869 static VKAPI_ATTR void VKAPI_CALL CmdCopyImage(
870 VkCommandBuffer commandBuffer,
872 VkImageLayout srcImageLayout,
874 VkImageLayout dstImageLayout,
875 uint32_t regionCount,
876 const VkImageCopy* pRegions);
878 static VKAPI_ATTR void VKAPI_CALL CmdBlitImage(
879 VkCommandBuffer commandBuffer,
881 VkImageLayout srcImageLayout,
883 VkImageLayout dstImageLayout,
884 uint32_t regionCount,
885 const VkImageBlit* pRegions,
888 static VKAPI_ATTR void VKAPI_CALL CmdCopyBufferToImage(
889 VkCommandBuffer commandBuffer,
892 VkImageLayout dstImageLayout,
893 uint32_t regionCount,
894 const VkBufferImageCopy* pRegions);
896 static VKAPI_ATTR void VKAPI_CALL CmdCopyImageToBuffer(
897 VkCommandBuffer commandBuffer,
899 VkImageLayout srcImageLayout,
901 uint32_t regionCount,
902 const VkBufferImageCopy* pRegions);
904 static VKAPI_ATTR void VKAPI_CALL CmdUpdateBuffer(
905 VkCommandBuffer commandBuffer,
907 VkDeviceSize dstOffset,
908 VkDeviceSize dataSize,
911 static VKAPI_ATTR void VKAPI_CALL CmdFillBuffer(
912 VkCommandBuffer commandBuffer,
914 VkDeviceSize dstOffset,
918 static VKAPI_ATTR void VKAPI_CALL CmdClearColorImage(
919 VkCommandBuffer commandBuffer,
921 VkImageLayout imageLayout,
922 const VkClearColorValue* pColor,
924 const VkImageSubresourceRange* pRanges);
926 static VKAPI_ATTR void VKAPI_CALL CmdClearDepthStencilImage(
927 VkCommandBuffer commandBuffer,
929 VkImageLayout imageLayout,
930 const VkClearDepthStencilValue* pDepthStencil,
932 const VkImageSubresourceRange* pRanges);
934 static VKAPI_ATTR void VKAPI_CALL CmdClearAttachments(
935 VkCommandBuffer commandBuffer,
936 uint32_t attachmentCount,
937 const VkClearAttachment* pAttachments,
939 const VkClearRect* pRects);
941 static VKAPI_ATTR void VKAPI_CALL CmdResolveImage(
942 VkCommandBuffer commandBuffer,
944 VkImageLayout srcImageLayout,
946 VkImageLayout dstImageLayout,
947 uint32_t regionCount,
948 const VkImageResolve* pRegions);
950 static VKAPI_ATTR void VKAPI_CALL CmdSetEvent(
951 VkCommandBuffer commandBuffer,
953 VkPipelineStageFlags stageMask);
955 static VKAPI_ATTR void VKAPI_CALL CmdResetEvent(
956 VkCommandBuffer commandBuffer,
958 VkPipelineStageFlags stageMask);
960 static VKAPI_ATTR void VKAPI_CALL CmdWaitEvents(
961 VkCommandBuffer commandBuffer,
963 const VkEvent* pEvents,
964 VkPipelineStageFlags srcStageMask,
965 VkPipelineStageFlags dstStageMask,
966 uint32_t memoryBarrierCount,
967 const VkMemoryBarrier* pMemoryBarriers,
968 uint32_t bufferMemoryBarrierCount,
969 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
970 uint32_t imageMemoryBarrierCount,
971 const VkImageMemoryBarrier* pImageMemoryBarriers);
973 static VKAPI_ATTR void VKAPI_CALL CmdPipelineBarrier(
974 VkCommandBuffer commandBuffer,
975 VkPipelineStageFlags srcStageMask,
976 VkPipelineStageFlags dstStageMask,
977 VkDependencyFlags dependencyFlags,
978 uint32_t memoryBarrierCount,
979 const VkMemoryBarrier* pMemoryBarriers,
980 uint32_t bufferMemoryBarrierCount,
981 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
982 uint32_t imageMemoryBarrierCount,
983 const VkImageMemoryBarrier* pImageMemoryBarriers);
985 static VKAPI_ATTR void VKAPI_CALL CmdBeginQuery(
986 VkCommandBuffer commandBuffer,
987 VkQueryPool queryPool,
989 VkQueryControlFlags flags);
991 static VKAPI_ATTR void VKAPI_CALL CmdEndQuery(
992 VkCommandBuffer commandBuffer,
993 VkQueryPool queryPool,
996 static VKAPI_ATTR void VKAPI_CALL CmdResetQueryPool(
997 VkCommandBuffer commandBuffer,
998 VkQueryPool queryPool,
1000 uint32_t queryCount);
1002 static VKAPI_ATTR void VKAPI_CALL CmdWriteTimestamp(
1003 VkCommandBuffer commandBuffer,
1004 VkPipelineStageFlagBits pipelineStage,
1005 VkQueryPool queryPool,
1008 static VKAPI_ATTR void VKAPI_CALL CmdCopyQueryPoolResults(
1009 VkCommandBuffer commandBuffer,
1010 VkQueryPool queryPool,
1011 uint32_t firstQuery,
1012 uint32_t queryCount,
1014 VkDeviceSize dstOffset,
1015 VkDeviceSize stride,
1016 VkQueryResultFlags flags);
1018 static VKAPI_ATTR void VKAPI_CALL CmdPushConstants(
1019 VkCommandBuffer commandBuffer,
1020 VkPipelineLayout layout,
1021 VkShaderStageFlags stageFlags,
1024 const void* pValues);
1026 static VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass(
1027 VkCommandBuffer commandBuffer,
1028 const VkRenderPassBeginInfo* pRenderPassBegin,
1029 VkSubpassContents contents);
1031 static VKAPI_ATTR void VKAPI_CALL CmdNextSubpass(
1032 VkCommandBuffer commandBuffer,
1033 VkSubpassContents contents);
1035 static VKAPI_ATTR void VKAPI_CALL CmdEndRenderPass(
1036 VkCommandBuffer commandBuffer);
1038 static VKAPI_ATTR void VKAPI_CALL CmdExecuteCommands(
1039 VkCommandBuffer commandBuffer,
1040 uint32_t commandBufferCount,
1041 const VkCommandBuffer* pCommandBuffers);
1044 static VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceVersion(
1045 uint32_t* pApiVersion);
1047 static VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory2(
1049 uint32_t bindInfoCount,
1050 const VkBindBufferMemoryInfo* pBindInfos);
1052 static VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory2(
1054 uint32_t bindInfoCount,
1055 const VkBindImageMemoryInfo* pBindInfos);
1057 static VKAPI_ATTR void VKAPI_CALL GetDeviceGroupPeerMemoryFeatures(
1060 uint32_t localDeviceIndex,
1061 uint32_t remoteDeviceIndex,
1062 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
1064 static VKAPI_ATTR void VKAPI_CALL CmdSetDeviceMask(
1065 VkCommandBuffer commandBuffer,
1066 uint32_t deviceMask);
1068 static VKAPI_ATTR void VKAPI_CALL CmdDispatchBase(
1069 VkCommandBuffer commandBuffer,
1070 uint32_t baseGroupX,
1071 uint32_t baseGroupY,
1072 uint32_t baseGroupZ,
1073 uint32_t groupCountX,
1074 uint32_t groupCountY,
1075 uint32_t groupCountZ);
1077 static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceGroups(
1078 VkInstance instance,
1079 uint32_t* pPhysicalDeviceGroupCount,
1080 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
1082 static VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements2(
1084 const VkImageMemoryRequirementsInfo2* pInfo,
1085 VkMemoryRequirements2* pMemoryRequirements);
1087 static VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements2(
1089 const VkBufferMemoryRequirementsInfo2* pInfo,
1090 VkMemoryRequirements2* pMemoryRequirements);
1092 static VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements2(
1094 const VkImageSparseMemoryRequirementsInfo2* pInfo,
1095 uint32_t* pSparseMemoryRequirementCount,
1096 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
1098 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures2(
1099 VkPhysicalDevice physicalDevice,
1100 VkPhysicalDeviceFeatures2* pFeatures);
1102 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties2(
1103 VkPhysicalDevice physicalDevice,
1104 VkPhysicalDeviceProperties2* pProperties);
1106 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties2(
1107 VkPhysicalDevice physicalDevice,
1109 VkFormatProperties2* pFormatProperties);
1111 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties2(
1112 VkPhysicalDevice physicalDevice,
1113 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
1114 VkImageFormatProperties2* pImageFormatProperties);
1116 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties2(
1117 VkPhysicalDevice physicalDevice,
1118 uint32_t* pQueueFamilyPropertyCount,
1119 VkQueueFamilyProperties2* pQueueFamilyProperties);
1121 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties2(
1122 VkPhysicalDevice physicalDevice,
1123 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
1125 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2(
1126 VkPhysicalDevice physicalDevice,
1127 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
1128 uint32_t* pPropertyCount,
1129 VkSparseImageFormatProperties2* pProperties);
1131 static VKAPI_ATTR void VKAPI_CALL TrimCommandPool(
1133 VkCommandPool commandPool,
1134 VkCommandPoolTrimFlags flags);
1136 static VKAPI_ATTR void VKAPI_CALL GetDeviceQueue2(
1138 const VkDeviceQueueInfo2* pQueueInfo,
1141 static VKAPI_ATTR VkResult VKAPI_CALL CreateSamplerYcbcrConversion(
1143 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
1144 const VkAllocationCallbacks* pAllocator,
1145 VkSamplerYcbcrConversion* pYcbcrConversion);
1147 static VKAPI_ATTR void VKAPI_CALL DestroySamplerYcbcrConversion(
1149 VkSamplerYcbcrConversion ycbcrConversion,
1150 const VkAllocationCallbacks* pAllocator);
1152 static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorUpdateTemplate(
1154 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
1155 const VkAllocationCallbacks* pAllocator,
1156 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
1158 static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorUpdateTemplate(
1160 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1161 const VkAllocationCallbacks* pAllocator);
1163 static VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSetWithTemplate(
1165 VkDescriptorSet descriptorSet,
1166 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1169 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalBufferProperties(
1170 VkPhysicalDevice physicalDevice,
1171 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
1172 VkExternalBufferProperties* pExternalBufferProperties);
1174 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalFenceProperties(
1175 VkPhysicalDevice physicalDevice,
1176 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
1177 VkExternalFenceProperties* pExternalFenceProperties);
1179 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalSemaphoreProperties(
1180 VkPhysicalDevice physicalDevice,
1181 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
1182 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
1184 static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSupport(
1186 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
1187 VkDescriptorSetLayoutSupport* pSupport);
1190 static VKAPI_ATTR void VKAPI_CALL DestroySurfaceKHR(
1191 VkInstance instance,
1192 VkSurfaceKHR surface,
1193 const VkAllocationCallbacks* pAllocator);
1195 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceSupportKHR(
1196 VkPhysicalDevice physicalDevice,
1197 uint32_t queueFamilyIndex,
1198 VkSurfaceKHR surface,
1199 VkBool32* pSupported);
1201 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilitiesKHR(
1202 VkPhysicalDevice physicalDevice,
1203 VkSurfaceKHR surface,
1204 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
1206 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormatsKHR(
1207 VkPhysicalDevice physicalDevice,
1208 VkSurfaceKHR surface,
1209 uint32_t* pSurfaceFormatCount,
1210 VkSurfaceFormatKHR* pSurfaceFormats);
1212 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModesKHR(
1213 VkPhysicalDevice physicalDevice,
1214 VkSurfaceKHR surface,
1215 uint32_t* pPresentModeCount,
1216 VkPresentModeKHR* pPresentModes);
1219 static VKAPI_ATTR VkResult VKAPI_CALL CreateSwapchainKHR(
1221 const VkSwapchainCreateInfoKHR* pCreateInfo,
1222 const VkAllocationCallbacks* pAllocator,
1223 VkSwapchainKHR* pSwapchain);
1225 static VKAPI_ATTR void VKAPI_CALL DestroySwapchainKHR(
1227 VkSwapchainKHR swapchain,
1228 const VkAllocationCallbacks* pAllocator);
1230 static VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainImagesKHR(
1232 VkSwapchainKHR swapchain,
1233 uint32_t* pSwapchainImageCount,
1234 VkImage* pSwapchainImages);
1236 static VKAPI_ATTR VkResult VKAPI_CALL AcquireNextImageKHR(
1238 VkSwapchainKHR swapchain,
1240 VkSemaphore semaphore,
1242 uint32_t* pImageIndex);
1244 static VKAPI_ATTR VkResult VKAPI_CALL QueuePresentKHR(
1246 const VkPresentInfoKHR* pPresentInfo);
1248 static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupPresentCapabilitiesKHR(
1250 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
1252 static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModesKHR(
1254 VkSurfaceKHR surface,
1255 VkDeviceGroupPresentModeFlagsKHR* pModes);
1257 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDevicePresentRectanglesKHR(
1258 VkPhysicalDevice physicalDevice,
1259 VkSurfaceKHR surface,
1260 uint32_t* pRectCount,
1263 static VKAPI_ATTR VkResult VKAPI_CALL AcquireNextImage2KHR(
1265 const VkAcquireNextImageInfoKHR* pAcquireInfo,
1266 uint32_t* pImageIndex);
1269 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPropertiesKHR(
1270 VkPhysicalDevice physicalDevice,
1271 uint32_t* pPropertyCount,
1272 VkDisplayPropertiesKHR* pProperties);
1274 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPlanePropertiesKHR(
1275 VkPhysicalDevice physicalDevice,
1276 uint32_t* pPropertyCount,
1277 VkDisplayPlanePropertiesKHR* pProperties);
1279 static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneSupportedDisplaysKHR(
1280 VkPhysicalDevice physicalDevice,
1281 uint32_t planeIndex,
1282 uint32_t* pDisplayCount,
1283 VkDisplayKHR* pDisplays);
1285 static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayModePropertiesKHR(
1286 VkPhysicalDevice physicalDevice,
1287 VkDisplayKHR display,
1288 uint32_t* pPropertyCount,
1289 VkDisplayModePropertiesKHR* pProperties);
1291 static VKAPI_ATTR VkResult VKAPI_CALL CreateDisplayModeKHR(
1292 VkPhysicalDevice physicalDevice,
1293 VkDisplayKHR display,
1294 const VkDisplayModeCreateInfoKHR* pCreateInfo,
1295 const VkAllocationCallbacks* pAllocator,
1296 VkDisplayModeKHR* pMode);
1298 static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilitiesKHR(
1299 VkPhysicalDevice physicalDevice,
1300 VkDisplayModeKHR mode,
1301 uint32_t planeIndex,
1302 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
1304 static VKAPI_ATTR VkResult VKAPI_CALL CreateDisplayPlaneSurfaceKHR(
1305 VkInstance instance,
1306 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
1307 const VkAllocationCallbacks* pAllocator,
1308 VkSurfaceKHR* pSurface);
1311 static VKAPI_ATTR VkResult VKAPI_CALL CreateSharedSwapchainsKHR(
1313 uint32_t swapchainCount,
1314 const VkSwapchainCreateInfoKHR* pCreateInfos,
1315 const VkAllocationCallbacks* pAllocator,
1316 VkSwapchainKHR* pSwapchains);
1318 #ifdef VK_USE_PLATFORM_XLIB_KHR
1320 static VKAPI_ATTR VkResult VKAPI_CALL CreateXlibSurfaceKHR(
1321 VkInstance instance,
1322 const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
1323 const VkAllocationCallbacks* pAllocator,
1324 VkSurfaceKHR* pSurface);
1326 static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXlibPresentationSupportKHR(
1327 VkPhysicalDevice physicalDevice,
1328 uint32_t queueFamilyIndex,
1331 #endif /* VK_USE_PLATFORM_XLIB_KHR */
1333 #ifdef VK_USE_PLATFORM_XCB_KHR
1335 static VKAPI_ATTR VkResult VKAPI_CALL CreateXcbSurfaceKHR(
1336 VkInstance instance,
1337 const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
1338 const VkAllocationCallbacks* pAllocator,
1339 VkSurfaceKHR* pSurface);
1341 static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXcbPresentationSupportKHR(
1342 VkPhysicalDevice physicalDevice,
1343 uint32_t queueFamilyIndex,
1344 xcb_connection_t* connection,
1345 xcb_visualid_t visual_id);
1346 #endif /* VK_USE_PLATFORM_XCB_KHR */
1348 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1350 static VKAPI_ATTR VkResult VKAPI_CALL CreateWaylandSurfaceKHR(
1351 VkInstance instance,
1352 const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
1353 const VkAllocationCallbacks* pAllocator,
1354 VkSurfaceKHR* pSurface);
1356 static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWaylandPresentationSupportKHR(
1357 VkPhysicalDevice physicalDevice,
1358 uint32_t queueFamilyIndex,
1359 struct wl_display* display);
1360 #endif /* VK_USE_PLATFORM_WAYLAND_KHR */
1362 #ifdef VK_USE_PLATFORM_ANDROID_KHR
1364 static VKAPI_ATTR VkResult VKAPI_CALL CreateAndroidSurfaceKHR(
1365 VkInstance instance,
1366 const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
1367 const VkAllocationCallbacks* pAllocator,
1368 VkSurfaceKHR* pSurface);
1369 #endif /* VK_USE_PLATFORM_ANDROID_KHR */
1371 #ifdef VK_USE_PLATFORM_WIN32_KHR
1373 static VKAPI_ATTR VkResult VKAPI_CALL CreateWin32SurfaceKHR(
1374 VkInstance instance,
1375 const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
1376 const VkAllocationCallbacks* pAllocator,
1377 VkSurfaceKHR* pSurface);
1379 static VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWin32PresentationSupportKHR(
1380 VkPhysicalDevice physicalDevice,
1381 uint32_t queueFamilyIndex);
1382 #endif /* VK_USE_PLATFORM_WIN32_KHR */
1387 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures2KHR(
1388 VkPhysicalDevice physicalDevice,
1389 VkPhysicalDeviceFeatures2* pFeatures);
1391 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties2KHR(
1392 VkPhysicalDevice physicalDevice,
1393 VkPhysicalDeviceProperties2* pProperties);
1395 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties2KHR(
1396 VkPhysicalDevice physicalDevice,
1398 VkFormatProperties2* pFormatProperties);
1400 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties2KHR(
1401 VkPhysicalDevice physicalDevice,
1402 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
1403 VkImageFormatProperties2* pImageFormatProperties);
1405 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties2KHR(
1406 VkPhysicalDevice physicalDevice,
1407 uint32_t* pQueueFamilyPropertyCount,
1408 VkQueueFamilyProperties2* pQueueFamilyProperties);
1410 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties2KHR(
1411 VkPhysicalDevice physicalDevice,
1412 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
1414 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2KHR(
1415 VkPhysicalDevice physicalDevice,
1416 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
1417 uint32_t* pPropertyCount,
1418 VkSparseImageFormatProperties2* pProperties);
1421 static VKAPI_ATTR void VKAPI_CALL GetDeviceGroupPeerMemoryFeaturesKHR(
1424 uint32_t localDeviceIndex,
1425 uint32_t remoteDeviceIndex,
1426 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
1428 static VKAPI_ATTR void VKAPI_CALL CmdSetDeviceMaskKHR(
1429 VkCommandBuffer commandBuffer,
1430 uint32_t deviceMask);
1432 static VKAPI_ATTR void VKAPI_CALL CmdDispatchBaseKHR(
1433 VkCommandBuffer commandBuffer,
1434 uint32_t baseGroupX,
1435 uint32_t baseGroupY,
1436 uint32_t baseGroupZ,
1437 uint32_t groupCountX,
1438 uint32_t groupCountY,
1439 uint32_t groupCountZ);
1443 static VKAPI_ATTR void VKAPI_CALL TrimCommandPoolKHR(
1445 VkCommandPool commandPool,
1446 VkCommandPoolTrimFlags flags);
1449 static VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceGroupsKHR(
1450 VkInstance instance,
1451 uint32_t* pPhysicalDeviceGroupCount,
1452 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
1455 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalBufferPropertiesKHR(
1456 VkPhysicalDevice physicalDevice,
1457 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
1458 VkExternalBufferProperties* pExternalBufferProperties);
1461 #ifdef VK_USE_PLATFORM_WIN32_KHR
1463 static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleKHR(
1465 const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
1468 static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandlePropertiesKHR(
1470 VkExternalMemoryHandleTypeFlagBits handleType,
1472 VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
1473 #endif /* VK_USE_PLATFORM_WIN32_KHR */
1476 static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdKHR(
1478 const VkMemoryGetFdInfoKHR* pGetFdInfo,
1481 static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdPropertiesKHR(
1483 VkExternalMemoryHandleTypeFlagBits handleType,
1485 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
1487 #ifdef VK_USE_PLATFORM_WIN32_KHR
1488 #endif /* VK_USE_PLATFORM_WIN32_KHR */
1491 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalSemaphorePropertiesKHR(
1492 VkPhysicalDevice physicalDevice,
1493 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
1494 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
1497 #ifdef VK_USE_PLATFORM_WIN32_KHR
1499 static VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreWin32HandleKHR(
1501 const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
1503 static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreWin32HandleKHR(
1505 const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
1507 #endif /* VK_USE_PLATFORM_WIN32_KHR */
1510 static VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreFdKHR(
1512 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
1514 static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreFdKHR(
1516 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
1520 static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetKHR(
1521 VkCommandBuffer commandBuffer,
1522 VkPipelineBindPoint pipelineBindPoint,
1523 VkPipelineLayout layout,
1525 uint32_t descriptorWriteCount,
1526 const VkWriteDescriptorSet* pDescriptorWrites);
1528 static VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplateKHR(
1529 VkCommandBuffer commandBuffer,
1530 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1531 VkPipelineLayout layout,
1539 static VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorUpdateTemplateKHR(
1541 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
1542 const VkAllocationCallbacks* pAllocator,
1543 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
1545 static VKAPI_ATTR void VKAPI_CALL DestroyDescriptorUpdateTemplateKHR(
1547 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1548 const VkAllocationCallbacks* pAllocator);
1550 static VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSetWithTemplateKHR(
1552 VkDescriptorSet descriptorSet,
1553 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1558 static VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass2KHR(
1560 const VkRenderPassCreateInfo2KHR* pCreateInfo,
1561 const VkAllocationCallbacks* pAllocator,
1562 VkRenderPass* pRenderPass);
1564 static VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass2KHR(
1565 VkCommandBuffer commandBuffer,
1566 const VkRenderPassBeginInfo* pRenderPassBegin,
1567 const VkSubpassBeginInfoKHR* pSubpassBeginInfo);
1569 static VKAPI_ATTR void VKAPI_CALL CmdNextSubpass2KHR(
1570 VkCommandBuffer commandBuffer,
1571 const VkSubpassBeginInfoKHR* pSubpassBeginInfo,
1572 const VkSubpassEndInfoKHR* pSubpassEndInfo);
1574 static VKAPI_ATTR void VKAPI_CALL CmdEndRenderPass2KHR(
1575 VkCommandBuffer commandBuffer,
1576 const VkSubpassEndInfoKHR* pSubpassEndInfo);
1579 static VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainStatusKHR(
1581 VkSwapchainKHR swapchain);
1584 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalFencePropertiesKHR(
1585 VkPhysicalDevice physicalDevice,
1586 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
1587 VkExternalFenceProperties* pExternalFenceProperties);
1590 #ifdef VK_USE_PLATFORM_WIN32_KHR
1592 static VKAPI_ATTR VkResult VKAPI_CALL ImportFenceWin32HandleKHR(
1594 const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
1596 static VKAPI_ATTR VkResult VKAPI_CALL GetFenceWin32HandleKHR(
1598 const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
1600 #endif /* VK_USE_PLATFORM_WIN32_KHR */
1603 static VKAPI_ATTR VkResult VKAPI_CALL ImportFenceFdKHR(
1605 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
1607 static VKAPI_ATTR VkResult VKAPI_CALL GetFenceFdKHR(
1609 const VkFenceGetFdInfoKHR* pGetFdInfo,
1614 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2KHR(
1615 VkPhysicalDevice physicalDevice,
1616 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
1617 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
1619 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormats2KHR(
1620 VkPhysicalDevice physicalDevice,
1621 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
1622 uint32_t* pSurfaceFormatCount,
1623 VkSurfaceFormat2KHR* pSurfaceFormats);
1627 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayProperties2KHR(
1628 VkPhysicalDevice physicalDevice,
1629 uint32_t* pPropertyCount,
1630 VkDisplayProperties2KHR* pProperties);
1632 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPlaneProperties2KHR(
1633 VkPhysicalDevice physicalDevice,
1634 uint32_t* pPropertyCount,
1635 VkDisplayPlaneProperties2KHR* pProperties);
1637 static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayModeProperties2KHR(
1638 VkPhysicalDevice physicalDevice,
1639 VkDisplayKHR display,
1640 uint32_t* pPropertyCount,
1641 VkDisplayModeProperties2KHR* pProperties);
1643 static VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilities2KHR(
1644 VkPhysicalDevice physicalDevice,
1645 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
1646 VkDisplayPlaneCapabilities2KHR* pCapabilities);
1652 static VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements2KHR(
1654 const VkImageMemoryRequirementsInfo2* pInfo,
1655 VkMemoryRequirements2* pMemoryRequirements);
1657 static VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements2KHR(
1659 const VkBufferMemoryRequirementsInfo2* pInfo,
1660 VkMemoryRequirements2* pMemoryRequirements);
1662 static VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements2KHR(
1664 const VkImageSparseMemoryRequirementsInfo2* pInfo,
1665 uint32_t* pSparseMemoryRequirementCount,
1666 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
1670 static VKAPI_ATTR VkResult VKAPI_CALL CreateSamplerYcbcrConversionKHR(
1672 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
1673 const VkAllocationCallbacks* pAllocator,
1674 VkSamplerYcbcrConversion* pYcbcrConversion);
1676 static VKAPI_ATTR void VKAPI_CALL DestroySamplerYcbcrConversionKHR(
1678 VkSamplerYcbcrConversion ycbcrConversion,
1679 const VkAllocationCallbacks* pAllocator);
1682 static VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory2KHR(
1684 uint32_t bindInfoCount,
1685 const VkBindBufferMemoryInfo* pBindInfos);
1687 static VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory2KHR(
1689 uint32_t bindInfoCount,
1690 const VkBindImageMemoryInfo* pBindInfos);
1693 static VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSupportKHR(
1695 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
1696 VkDescriptorSetLayoutSupport* pSupport);
1699 static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountKHR(
1700 VkCommandBuffer commandBuffer,
1702 VkDeviceSize offset,
1703 VkBuffer countBuffer,
1704 VkDeviceSize countBufferOffset,
1705 uint32_t maxDrawCount,
1708 static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountKHR(
1709 VkCommandBuffer commandBuffer,
1711 VkDeviceSize offset,
1712 VkBuffer countBuffer,
1713 VkDeviceSize countBufferOffset,
1714 uint32_t maxDrawCount,
1726 static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreCounterValueKHR(
1728 VkSemaphore semaphore,
1731 static VKAPI_ATTR VkResult VKAPI_CALL WaitSemaphoresKHR(
1733 const VkSemaphoreWaitInfoKHR* pWaitInfo,
1736 static VKAPI_ATTR VkResult VKAPI_CALL SignalSemaphoreKHR(
1738 const VkSemaphoreSignalInfoKHR* pSignalInfo);
1744 static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutablePropertiesKHR(
1746 const VkPipelineInfoKHR* pPipelineInfo,
1747 uint32_t* pExecutableCount,
1748 VkPipelineExecutablePropertiesKHR* pProperties);
1750 static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableStatisticsKHR(
1752 const VkPipelineExecutableInfoKHR* pExecutableInfo,
1753 uint32_t* pStatisticCount,
1754 VkPipelineExecutableStatisticKHR* pStatistics);
1756 static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableInternalRepresentationsKHR(
1758 const VkPipelineExecutableInfoKHR* pExecutableInfo,
1759 uint32_t* pInternalRepresentationCount,
1760 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
1763 static VKAPI_ATTR VkResult VKAPI_CALL CreateDebugReportCallbackEXT(
1764 VkInstance instance,
1765 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
1766 const VkAllocationCallbacks* pAllocator,
1767 VkDebugReportCallbackEXT* pCallback);
1769 static VKAPI_ATTR void VKAPI_CALL DestroyDebugReportCallbackEXT(
1770 VkInstance instance,
1771 VkDebugReportCallbackEXT callback,
1772 const VkAllocationCallbacks* pAllocator);
1774 static VKAPI_ATTR void VKAPI_CALL DebugReportMessageEXT(
1775 VkInstance instance,
1776 VkDebugReportFlagsEXT flags,
1777 VkDebugReportObjectTypeEXT objectType,
1780 int32_t messageCode,
1781 const char* pLayerPrefix,
1782 const char* pMessage);
1791 static VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT(
1793 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
1795 static VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectNameEXT(
1797 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
1799 static VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerBeginEXT(
1800 VkCommandBuffer commandBuffer,
1801 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
1803 static VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerEndEXT(
1804 VkCommandBuffer commandBuffer);
1806 static VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerInsertEXT(
1807 VkCommandBuffer commandBuffer,
1808 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
1813 static VKAPI_ATTR void VKAPI_CALL CmdBindTransformFeedbackBuffersEXT(
1814 VkCommandBuffer commandBuffer,
1815 uint32_t firstBinding,
1816 uint32_t bindingCount,
1817 const VkBuffer* pBuffers,
1818 const VkDeviceSize* pOffsets,
1819 const VkDeviceSize* pSizes);
1821 static VKAPI_ATTR void VKAPI_CALL CmdBeginTransformFeedbackEXT(
1822 VkCommandBuffer commandBuffer,
1823 uint32_t firstCounterBuffer,
1824 uint32_t counterBufferCount,
1825 const VkBuffer* pCounterBuffers,
1826 const VkDeviceSize* pCounterBufferOffsets);
1828 static VKAPI_ATTR void VKAPI_CALL CmdEndTransformFeedbackEXT(
1829 VkCommandBuffer commandBuffer,
1830 uint32_t firstCounterBuffer,
1831 uint32_t counterBufferCount,
1832 const VkBuffer* pCounterBuffers,
1833 const VkDeviceSize* pCounterBufferOffsets);
1835 static VKAPI_ATTR void VKAPI_CALL CmdBeginQueryIndexedEXT(
1836 VkCommandBuffer commandBuffer,
1837 VkQueryPool queryPool,
1839 VkQueryControlFlags flags,
1842 static VKAPI_ATTR void VKAPI_CALL CmdEndQueryIndexedEXT(
1843 VkCommandBuffer commandBuffer,
1844 VkQueryPool queryPool,
1848 static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectByteCountEXT(
1849 VkCommandBuffer commandBuffer,
1850 uint32_t instanceCount,
1851 uint32_t firstInstance,
1852 VkBuffer counterBuffer,
1853 VkDeviceSize counterBufferOffset,
1854 uint32_t counterOffset,
1855 uint32_t vertexStride);
1858 static VKAPI_ATTR uint32_t VKAPI_CALL GetImageViewHandleNVX(
1860 const VkImageViewHandleInfoNVX* pInfo);
1863 static VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountAMD(
1864 VkCommandBuffer commandBuffer,
1866 VkDeviceSize offset,
1867 VkBuffer countBuffer,
1868 VkDeviceSize countBufferOffset,
1869 uint32_t maxDrawCount,
1872 static VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountAMD(
1873 VkCommandBuffer commandBuffer,
1875 VkDeviceSize offset,
1876 VkBuffer countBuffer,
1877 VkDeviceSize countBufferOffset,
1878 uint32_t maxDrawCount,
1886 static VKAPI_ATTR VkResult VKAPI_CALL GetShaderInfoAMD(
1888 VkPipeline pipeline,
1889 VkShaderStageFlagBits shaderStage,
1890 VkShaderInfoTypeAMD infoType,
1895 #ifdef VK_USE_PLATFORM_GGP
1897 static VKAPI_ATTR VkResult VKAPI_CALL CreateStreamDescriptorSurfaceGGP(
1898 VkInstance instance,
1899 const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo,
1900 const VkAllocationCallbacks* pAllocator,
1901 VkSurfaceKHR* pSurface);
1902 #endif /* VK_USE_PLATFORM_GGP */
1907 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceExternalImageFormatPropertiesNV(
1908 VkPhysicalDevice physicalDevice,
1911 VkImageTiling tiling,
1912 VkImageUsageFlags usage,
1913 VkImageCreateFlags flags,
1914 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
1915 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
1918 #ifdef VK_USE_PLATFORM_WIN32_KHR
1920 static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleNV(
1922 VkDeviceMemory memory,
1923 VkExternalMemoryHandleTypeFlagsNV handleType,
1925 #endif /* VK_USE_PLATFORM_WIN32_KHR */
1927 #ifdef VK_USE_PLATFORM_WIN32_KHR
1928 #endif /* VK_USE_PLATFORM_WIN32_KHR */
1931 #ifdef VK_USE_PLATFORM_VI_NN
1933 static VKAPI_ATTR VkResult VKAPI_CALL CreateViSurfaceNN(
1934 VkInstance instance,
1935 const VkViSurfaceCreateInfoNN* pCreateInfo,
1936 const VkAllocationCallbacks* pAllocator,
1937 VkSurfaceKHR* pSurface);
1938 #endif /* VK_USE_PLATFORM_VI_NN */
1945 static VKAPI_ATTR void VKAPI_CALL CmdBeginConditionalRenderingEXT(
1946 VkCommandBuffer commandBuffer,
1947 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
1949 static VKAPI_ATTR void VKAPI_CALL CmdEndConditionalRenderingEXT(
1950 VkCommandBuffer commandBuffer);
1953 static VKAPI_ATTR void VKAPI_CALL CmdProcessCommandsNVX(
1954 VkCommandBuffer commandBuffer,
1955 const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
1957 static VKAPI_ATTR void VKAPI_CALL CmdReserveSpaceForCommandsNVX(
1958 VkCommandBuffer commandBuffer,
1959 const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
1961 static VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectCommandsLayoutNVX(
1963 const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
1964 const VkAllocationCallbacks* pAllocator,
1965 VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
1967 static VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutNVX(
1969 VkIndirectCommandsLayoutNVX indirectCommandsLayout,
1970 const VkAllocationCallbacks* pAllocator);
1972 static VKAPI_ATTR VkResult VKAPI_CALL CreateObjectTableNVX(
1974 const VkObjectTableCreateInfoNVX* pCreateInfo,
1975 const VkAllocationCallbacks* pAllocator,
1976 VkObjectTableNVX* pObjectTable);
1978 static VKAPI_ATTR void VKAPI_CALL DestroyObjectTableNVX(
1980 VkObjectTableNVX objectTable,
1981 const VkAllocationCallbacks* pAllocator);
1983 static VKAPI_ATTR VkResult VKAPI_CALL RegisterObjectsNVX(
1985 VkObjectTableNVX objectTable,
1986 uint32_t objectCount,
1987 const VkObjectTableEntryNVX* const* ppObjectTableEntries,
1988 const uint32_t* pObjectIndices);
1990 static VKAPI_ATTR VkResult VKAPI_CALL UnregisterObjectsNVX(
1992 VkObjectTableNVX objectTable,
1993 uint32_t objectCount,
1994 const VkObjectEntryTypeNVX* pObjectEntryTypes,
1995 const uint32_t* pObjectIndices);
1997 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceGeneratedCommandsPropertiesNVX(
1998 VkPhysicalDevice physicalDevice,
1999 VkDeviceGeneratedCommandsFeaturesNVX* pFeatures,
2000 VkDeviceGeneratedCommandsLimitsNVX* pLimits);
2003 static VKAPI_ATTR void VKAPI_CALL CmdSetViewportWScalingNV(
2004 VkCommandBuffer commandBuffer,
2005 uint32_t firstViewport,
2006 uint32_t viewportCount,
2007 const VkViewportWScalingNV* pViewportWScalings);
2010 static VKAPI_ATTR VkResult VKAPI_CALL ReleaseDisplayEXT(
2011 VkPhysicalDevice physicalDevice,
2012 VkDisplayKHR display);
2014 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
2016 static VKAPI_ATTR VkResult VKAPI_CALL AcquireXlibDisplayEXT(
2017 VkPhysicalDevice physicalDevice,
2019 VkDisplayKHR display);
2021 static VKAPI_ATTR VkResult VKAPI_CALL GetRandROutputDisplayEXT(
2022 VkPhysicalDevice physicalDevice,
2025 VkDisplayKHR* pDisplay);
2026 #endif /* VK_USE_PLATFORM_XLIB_XRANDR_EXT */
2029 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2EXT(
2030 VkPhysicalDevice physicalDevice,
2031 VkSurfaceKHR surface,
2032 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
2035 static VKAPI_ATTR VkResult VKAPI_CALL DisplayPowerControlEXT(
2037 VkDisplayKHR display,
2038 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
2040 static VKAPI_ATTR VkResult VKAPI_CALL RegisterDeviceEventEXT(
2042 const VkDeviceEventInfoEXT* pDeviceEventInfo,
2043 const VkAllocationCallbacks* pAllocator,
2046 static VKAPI_ATTR VkResult VKAPI_CALL RegisterDisplayEventEXT(
2048 VkDisplayKHR display,
2049 const VkDisplayEventInfoEXT* pDisplayEventInfo,
2050 const VkAllocationCallbacks* pAllocator,
2053 static VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainCounterEXT(
2055 VkSwapchainKHR swapchain,
2056 VkSurfaceCounterFlagBitsEXT counter,
2057 uint64_t* pCounterValue);
2060 static VKAPI_ATTR VkResult VKAPI_CALL GetRefreshCycleDurationGOOGLE(
2062 VkSwapchainKHR swapchain,
2063 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
2065 static VKAPI_ATTR VkResult VKAPI_CALL GetPastPresentationTimingGOOGLE(
2067 VkSwapchainKHR swapchain,
2068 uint32_t* pPresentationTimingCount,
2069 VkPastPresentationTimingGOOGLE* pPresentationTimings);
2077 static VKAPI_ATTR void VKAPI_CALL CmdSetDiscardRectangleEXT(
2078 VkCommandBuffer commandBuffer,
2079 uint32_t firstDiscardRectangle,
2080 uint32_t discardRectangleCount,
2081 const VkRect2D* pDiscardRectangles);
2087 static VKAPI_ATTR void VKAPI_CALL SetHdrMetadataEXT(
2089 uint32_t swapchainCount,
2090 const VkSwapchainKHR* pSwapchains,
2091 const VkHdrMetadataEXT* pMetadata);
2093 #ifdef VK_USE_PLATFORM_IOS_MVK
2095 static VKAPI_ATTR VkResult VKAPI_CALL CreateIOSSurfaceMVK(
2096 VkInstance instance,
2097 const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
2098 const VkAllocationCallbacks* pAllocator,
2099 VkSurfaceKHR* pSurface);
2100 #endif /* VK_USE_PLATFORM_IOS_MVK */
2102 #ifdef VK_USE_PLATFORM_MACOS_MVK
2104 static VKAPI_ATTR VkResult VKAPI_CALL CreateMacOSSurfaceMVK(
2105 VkInstance instance,
2106 const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
2107 const VkAllocationCallbacks* pAllocator,
2108 VkSurfaceKHR* pSurface);
2109 #endif /* VK_USE_PLATFORM_MACOS_MVK */
2114 static VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectNameEXT(
2116 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
2118 static VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectTagEXT(
2120 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
2122 static VKAPI_ATTR void VKAPI_CALL QueueBeginDebugUtilsLabelEXT(
2124 const VkDebugUtilsLabelEXT* pLabelInfo);
2126 static VKAPI_ATTR void VKAPI_CALL QueueEndDebugUtilsLabelEXT(
2129 static VKAPI_ATTR void VKAPI_CALL QueueInsertDebugUtilsLabelEXT(
2131 const VkDebugUtilsLabelEXT* pLabelInfo);
2133 static VKAPI_ATTR void VKAPI_CALL CmdBeginDebugUtilsLabelEXT(
2134 VkCommandBuffer commandBuffer,
2135 const VkDebugUtilsLabelEXT* pLabelInfo);
2137 static VKAPI_ATTR void VKAPI_CALL CmdEndDebugUtilsLabelEXT(
2138 VkCommandBuffer commandBuffer);
2140 static VKAPI_ATTR void VKAPI_CALL CmdInsertDebugUtilsLabelEXT(
2141 VkCommandBuffer commandBuffer,
2142 const VkDebugUtilsLabelEXT* pLabelInfo);
2144 static VKAPI_ATTR VkResult VKAPI_CALL CreateDebugUtilsMessengerEXT(
2145 VkInstance instance,
2146 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
2147 const VkAllocationCallbacks* pAllocator,
2148 VkDebugUtilsMessengerEXT* pMessenger);
2150 static VKAPI_ATTR void VKAPI_CALL DestroyDebugUtilsMessengerEXT(
2151 VkInstance instance,
2152 VkDebugUtilsMessengerEXT messenger,
2153 const VkAllocationCallbacks* pAllocator);
2155 static VKAPI_ATTR void VKAPI_CALL SubmitDebugUtilsMessageEXT(
2156 VkInstance instance,
2157 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
2158 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
2159 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
2161 #ifdef VK_USE_PLATFORM_ANDROID_KHR
2163 static VKAPI_ATTR VkResult VKAPI_CALL GetAndroidHardwareBufferPropertiesANDROID(
2165 const struct AHardwareBuffer* buffer,
2166 VkAndroidHardwareBufferPropertiesANDROID* pProperties);
2168 static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryAndroidHardwareBufferANDROID(
2170 const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
2171 struct AHardwareBuffer** pBuffer);
2172 #endif /* VK_USE_PLATFORM_ANDROID_KHR */
2181 static VKAPI_ATTR void VKAPI_CALL CmdSetSampleLocationsEXT(
2182 VkCommandBuffer commandBuffer,
2183 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
2185 static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMultisamplePropertiesEXT(
2186 VkPhysicalDevice physicalDevice,
2187 VkSampleCountFlagBits samples,
2188 VkMultisamplePropertiesEXT* pMultisampleProperties);
2197 static VKAPI_ATTR VkResult VKAPI_CALL GetImageDrmFormatModifierPropertiesEXT(
2200 VkImageDrmFormatModifierPropertiesEXT* pProperties);
2203 static VKAPI_ATTR VkResult VKAPI_CALL CreateValidationCacheEXT(
2205 const VkValidationCacheCreateInfoEXT* pCreateInfo,
2206 const VkAllocationCallbacks* pAllocator,
2207 VkValidationCacheEXT* pValidationCache);
2209 static VKAPI_ATTR void VKAPI_CALL DestroyValidationCacheEXT(
2211 VkValidationCacheEXT validationCache,
2212 const VkAllocationCallbacks* pAllocator);
2214 static VKAPI_ATTR VkResult VKAPI_CALL MergeValidationCachesEXT(
2216 VkValidationCacheEXT dstCache,
2217 uint32_t srcCacheCount,
2218 const VkValidationCacheEXT* pSrcCaches);
2220 static VKAPI_ATTR VkResult VKAPI_CALL GetValidationCacheDataEXT(
2222 VkValidationCacheEXT validationCache,
2229 static VKAPI_ATTR void VKAPI_CALL CmdBindShadingRateImageNV(
2230 VkCommandBuffer commandBuffer,
2231 VkImageView imageView,
2232 VkImageLayout imageLayout);
2234 static VKAPI_ATTR void VKAPI_CALL CmdSetViewportShadingRatePaletteNV(
2235 VkCommandBuffer commandBuffer,
2236 uint32_t firstViewport,
2237 uint32_t viewportCount,
2238 const VkShadingRatePaletteNV* pShadingRatePalettes);
2240 static VKAPI_ATTR void VKAPI_CALL CmdSetCoarseSampleOrderNV(
2241 VkCommandBuffer commandBuffer,
2242 VkCoarseSampleOrderTypeNV sampleOrderType,
2243 uint32_t customSampleOrderCount,
2244 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
2247 static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureNV(
2249 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
2250 const VkAllocationCallbacks* pAllocator,
2251 VkAccelerationStructureNV* pAccelerationStructure);
2253 static VKAPI_ATTR void VKAPI_CALL DestroyAccelerationStructureNV(
2255 VkAccelerationStructureNV accelerationStructure,
2256 const VkAllocationCallbacks* pAllocator);
2258 static VKAPI_ATTR void VKAPI_CALL GetAccelerationStructureMemoryRequirementsNV(
2260 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
2261 VkMemoryRequirements2KHR* pMemoryRequirements);
2263 static VKAPI_ATTR VkResult VKAPI_CALL BindAccelerationStructureMemoryNV(
2265 uint32_t bindInfoCount,
2266 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
2268 static VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructureNV(
2269 VkCommandBuffer commandBuffer,
2270 const VkAccelerationStructureInfoNV* pInfo,
2271 VkBuffer instanceData,
2272 VkDeviceSize instanceOffset,
2274 VkAccelerationStructureNV dst,
2275 VkAccelerationStructureNV src,
2277 VkDeviceSize scratchOffset);
2279 static VKAPI_ATTR void VKAPI_CALL CmdCopyAccelerationStructureNV(
2280 VkCommandBuffer commandBuffer,
2281 VkAccelerationStructureNV dst,
2282 VkAccelerationStructureNV src,
2283 VkCopyAccelerationStructureModeNV mode);
2285 static VKAPI_ATTR void VKAPI_CALL CmdTraceRaysNV(
2286 VkCommandBuffer commandBuffer,
2287 VkBuffer raygenShaderBindingTableBuffer,
2288 VkDeviceSize raygenShaderBindingOffset,
2289 VkBuffer missShaderBindingTableBuffer,
2290 VkDeviceSize missShaderBindingOffset,
2291 VkDeviceSize missShaderBindingStride,
2292 VkBuffer hitShaderBindingTableBuffer,
2293 VkDeviceSize hitShaderBindingOffset,
2294 VkDeviceSize hitShaderBindingStride,
2295 VkBuffer callableShaderBindingTableBuffer,
2296 VkDeviceSize callableShaderBindingOffset,
2297 VkDeviceSize callableShaderBindingStride,
2302 static VKAPI_ATTR VkResult VKAPI_CALL CreateRayTracingPipelinesNV(
2304 VkPipelineCache pipelineCache,
2305 uint32_t createInfoCount,
2306 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
2307 const VkAllocationCallbacks* pAllocator,
2308 VkPipeline* pPipelines);
2310 static VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingShaderGroupHandlesNV(
2312 VkPipeline pipeline,
2313 uint32_t firstGroup,
2314 uint32_t groupCount,
2318 static VKAPI_ATTR VkResult VKAPI_CALL GetAccelerationStructureHandleNV(
2320 VkAccelerationStructureNV accelerationStructure,
2324 static VKAPI_ATTR void VKAPI_CALL CmdWriteAccelerationStructuresPropertiesNV(
2325 VkCommandBuffer commandBuffer,
2326 uint32_t accelerationStructureCount,
2327 const VkAccelerationStructureNV* pAccelerationStructures,
2328 VkQueryType queryType,
2329 VkQueryPool queryPool,
2330 uint32_t firstQuery);
2332 static VKAPI_ATTR VkResult VKAPI_CALL CompileDeferredNV(
2334 VkPipeline pipeline,
2341 static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryHostPointerPropertiesEXT(
2343 VkExternalMemoryHandleTypeFlagBits handleType,
2344 const void* pHostPointer,
2345 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
2348 static VKAPI_ATTR void VKAPI_CALL CmdWriteBufferMarkerAMD(
2349 VkCommandBuffer commandBuffer,
2350 VkPipelineStageFlagBits pipelineStage,
2352 VkDeviceSize dstOffset,
2357 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsEXT(
2358 VkPhysicalDevice physicalDevice,
2359 uint32_t* pTimeDomainCount,
2360 VkTimeDomainEXT* pTimeDomains);
2362 static VKAPI_ATTR VkResult VKAPI_CALL GetCalibratedTimestampsEXT(
2364 uint32_t timestampCount,
2365 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
2366 uint64_t* pTimestamps,
2367 uint64_t* pMaxDeviation);
2372 #ifdef VK_USE_PLATFORM_GGP
2373 #endif /* VK_USE_PLATFORM_GGP */
2379 static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksNV(
2380 VkCommandBuffer commandBuffer,
2382 uint32_t firstTask);
2384 static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectNV(
2385 VkCommandBuffer commandBuffer,
2387 VkDeviceSize offset,
2391 static VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountNV(
2392 VkCommandBuffer commandBuffer,
2394 VkDeviceSize offset,
2395 VkBuffer countBuffer,
2396 VkDeviceSize countBufferOffset,
2397 uint32_t maxDrawCount,
2403 static VKAPI_ATTR void VKAPI_CALL CmdSetExclusiveScissorNV(
2404 VkCommandBuffer commandBuffer,
2405 uint32_t firstExclusiveScissor,
2406 uint32_t exclusiveScissorCount,
2407 const VkRect2D* pExclusiveScissors);
2410 static VKAPI_ATTR void VKAPI_CALL CmdSetCheckpointNV(
2411 VkCommandBuffer commandBuffer,
2412 const void* pCheckpointMarker);
2414 static VKAPI_ATTR void VKAPI_CALL GetQueueCheckpointDataNV(
2416 uint32_t* pCheckpointDataCount,
2417 VkCheckpointDataNV* pCheckpointData);
2421 static VKAPI_ATTR VkResult VKAPI_CALL InitializePerformanceApiINTEL(
2423 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
2425 static VKAPI_ATTR void VKAPI_CALL UninitializePerformanceApiINTEL(
2428 static VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceMarkerINTEL(
2429 VkCommandBuffer commandBuffer,
2430 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
2432 static VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceStreamMarkerINTEL(
2433 VkCommandBuffer commandBuffer,
2434 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
2436 static VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceOverrideINTEL(
2437 VkCommandBuffer commandBuffer,
2438 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
2440 static VKAPI_ATTR VkResult VKAPI_CALL AcquirePerformanceConfigurationINTEL(
2442 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
2443 VkPerformanceConfigurationINTEL* pConfiguration);
2445 static VKAPI_ATTR VkResult VKAPI_CALL ReleasePerformanceConfigurationINTEL(
2447 VkPerformanceConfigurationINTEL configuration);
2449 static VKAPI_ATTR VkResult VKAPI_CALL QueueSetPerformanceConfigurationINTEL(
2451 VkPerformanceConfigurationINTEL configuration);
2453 static VKAPI_ATTR VkResult VKAPI_CALL GetPerformanceParameterINTEL(
2455 VkPerformanceParameterTypeINTEL parameter,
2456 VkPerformanceValueINTEL* pValue);
2460 static VKAPI_ATTR void VKAPI_CALL SetLocalDimmingAMD(
2462 VkSwapchainKHR swapChain,
2463 VkBool32 localDimmingEnable);
2465 #ifdef VK_USE_PLATFORM_FUCHSIA
2467 static VKAPI_ATTR VkResult VKAPI_CALL CreateImagePipeSurfaceFUCHSIA(
2468 VkInstance instance,
2469 const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
2470 const VkAllocationCallbacks* pAllocator,
2471 VkSurfaceKHR* pSurface);
2472 #endif /* VK_USE_PLATFORM_FUCHSIA */
2474 #ifdef VK_USE_PLATFORM_METAL_EXT
2476 static VKAPI_ATTR VkResult VKAPI_CALL CreateMetalSurfaceEXT(
2477 VkInstance instance,
2478 const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
2479 const VkAllocationCallbacks* pAllocator,
2480 VkSurfaceKHR* pSurface);
2481 #endif /* VK_USE_PLATFORM_METAL_EXT */
2494 static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressEXT(
2496 const VkBufferDeviceAddressInfoEXT* pInfo);
2501 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesNV(
2502 VkPhysicalDevice physicalDevice,
2503 uint32_t* pPropertyCount,
2504 VkCooperativeMatrixPropertiesNV* pProperties);
2507 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
2508 VkPhysicalDevice physicalDevice,
2509 uint32_t* pCombinationCount,
2510 VkFramebufferMixedSamplesCombinationNV* pCombinations);
2514 #ifdef VK_USE_PLATFORM_WIN32_KHR
2516 static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModes2EXT(
2517 VkPhysicalDevice physicalDevice,
2518 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
2519 uint32_t* pPresentModeCount,
2520 VkPresentModeKHR* pPresentModes);
2522 static VKAPI_ATTR VkResult VKAPI_CALL AcquireFullScreenExclusiveModeEXT(
2524 VkSwapchainKHR swapchain);
2526 static VKAPI_ATTR VkResult VKAPI_CALL ReleaseFullScreenExclusiveModeEXT(
2528 VkSwapchainKHR swapchain);
2530 static VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModes2EXT(
2532 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
2533 VkDeviceGroupPresentModeFlagsKHR* pModes);
2534 #endif /* VK_USE_PLATFORM_WIN32_KHR */
2537 static VKAPI_ATTR VkResult VKAPI_CALL CreateHeadlessSurfaceEXT(
2538 VkInstance instance,
2539 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
2540 const VkAllocationCallbacks* pAllocator,
2541 VkSurfaceKHR* pSurface);
2544 static VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleEXT(
2545 VkCommandBuffer commandBuffer,
2546 uint32_t lineStippleFactor,
2547 uint16_t lineStipplePattern);
2550 static VKAPI_ATTR void VKAPI_CALL ResetQueryPoolEXT(
2552 VkQueryPool queryPool,
2553 uint32_t firstQuery,
2554 uint32_t queryCount);
2560 // Map of all APIs to be intercepted by this layer
2561 static const std::unordered_map<std::string, void*> name_to_funcptr_map = {
2562 {"vkCreateInstance", (void*)CreateInstance},
2563 {"vkDestroyInstance", (void*)DestroyInstance},
2564 {"vkEnumeratePhysicalDevices", (void*)EnumeratePhysicalDevices},
2565 {"vkGetPhysicalDeviceFeatures", (void*)GetPhysicalDeviceFeatures},
2566 {"vkGetPhysicalDeviceFormatProperties", (void*)GetPhysicalDeviceFormatProperties},
2567 {"vkGetPhysicalDeviceImageFormatProperties", (void*)GetPhysicalDeviceImageFormatProperties},
2568 {"vkGetPhysicalDeviceProperties", (void*)GetPhysicalDeviceProperties},
2569 {"vkGetPhysicalDeviceQueueFamilyProperties", (void*)GetPhysicalDeviceQueueFamilyProperties},
2570 {"vkGetPhysicalDeviceMemoryProperties", (void*)GetPhysicalDeviceMemoryProperties},
2571 {"vkGetInstanceProcAddr", (void*)GetInstanceProcAddr},
2572 {"vkGetDeviceProcAddr", (void*)GetDeviceProcAddr},
2573 {"vkCreateDevice", (void*)CreateDevice},
2574 {"vkDestroyDevice", (void*)DestroyDevice},
2575 {"vkEnumerateInstanceExtensionProperties", (void*)EnumerateInstanceExtensionProperties},
2576 {"vkEnumerateDeviceExtensionProperties", (void*)EnumerateDeviceExtensionProperties},
2577 {"vkEnumerateInstanceLayerProperties", (void*)EnumerateInstanceLayerProperties},
2578 {"vkEnumerateDeviceLayerProperties", (void*)EnumerateDeviceLayerProperties},
2579 {"vkGetDeviceQueue", (void*)GetDeviceQueue},
2580 {"vkQueueSubmit", (void*)QueueSubmit},
2581 {"vkQueueWaitIdle", (void*)QueueWaitIdle},
2582 {"vkDeviceWaitIdle", (void*)DeviceWaitIdle},
2583 {"vkAllocateMemory", (void*)AllocateMemory},
2584 {"vkFreeMemory", (void*)FreeMemory},
2585 {"vkMapMemory", (void*)MapMemory},
2586 {"vkUnmapMemory", (void*)UnmapMemory},
2587 {"vkFlushMappedMemoryRanges", (void*)FlushMappedMemoryRanges},
2588 {"vkInvalidateMappedMemoryRanges", (void*)InvalidateMappedMemoryRanges},
2589 {"vkGetDeviceMemoryCommitment", (void*)GetDeviceMemoryCommitment},
2590 {"vkBindBufferMemory", (void*)BindBufferMemory},
2591 {"vkBindImageMemory", (void*)BindImageMemory},
2592 {"vkGetBufferMemoryRequirements", (void*)GetBufferMemoryRequirements},
2593 {"vkGetImageMemoryRequirements", (void*)GetImageMemoryRequirements},
2594 {"vkGetImageSparseMemoryRequirements", (void*)GetImageSparseMemoryRequirements},
2595 {"vkGetPhysicalDeviceSparseImageFormatProperties", (void*)GetPhysicalDeviceSparseImageFormatProperties},
2596 {"vkQueueBindSparse", (void*)QueueBindSparse},
2597 {"vkCreateFence", (void*)CreateFence},
2598 {"vkDestroyFence", (void*)DestroyFence},
2599 {"vkResetFences", (void*)ResetFences},
2600 {"vkGetFenceStatus", (void*)GetFenceStatus},
2601 {"vkWaitForFences", (void*)WaitForFences},
2602 {"vkCreateSemaphore", (void*)CreateSemaphore},
2603 {"vkDestroySemaphore", (void*)DestroySemaphore},
2604 {"vkCreateEvent", (void*)CreateEvent},
2605 {"vkDestroyEvent", (void*)DestroyEvent},
2606 {"vkGetEventStatus", (void*)GetEventStatus},
2607 {"vkSetEvent", (void*)SetEvent},
2608 {"vkResetEvent", (void*)ResetEvent},
2609 {"vkCreateQueryPool", (void*)CreateQueryPool},
2610 {"vkDestroyQueryPool", (void*)DestroyQueryPool},
2611 {"vkGetQueryPoolResults", (void*)GetQueryPoolResults},
2612 {"vkCreateBuffer", (void*)CreateBuffer},
2613 {"vkDestroyBuffer", (void*)DestroyBuffer},
2614 {"vkCreateBufferView", (void*)CreateBufferView},
2615 {"vkDestroyBufferView", (void*)DestroyBufferView},
2616 {"vkCreateImage", (void*)CreateImage},
2617 {"vkDestroyImage", (void*)DestroyImage},
2618 {"vkGetImageSubresourceLayout", (void*)GetImageSubresourceLayout},
2619 {"vkCreateImageView", (void*)CreateImageView},
2620 {"vkDestroyImageView", (void*)DestroyImageView},
2621 {"vkCreateShaderModule", (void*)CreateShaderModule},
2622 {"vkDestroyShaderModule", (void*)DestroyShaderModule},
2623 {"vkCreatePipelineCache", (void*)CreatePipelineCache},
2624 {"vkDestroyPipelineCache", (void*)DestroyPipelineCache},
2625 {"vkGetPipelineCacheData", (void*)GetPipelineCacheData},
2626 {"vkMergePipelineCaches", (void*)MergePipelineCaches},
2627 {"vkCreateGraphicsPipelines", (void*)CreateGraphicsPipelines},
2628 {"vkCreateComputePipelines", (void*)CreateComputePipelines},
2629 {"vkDestroyPipeline", (void*)DestroyPipeline},
2630 {"vkCreatePipelineLayout", (void*)CreatePipelineLayout},
2631 {"vkDestroyPipelineLayout", (void*)DestroyPipelineLayout},
2632 {"vkCreateSampler", (void*)CreateSampler},
2633 {"vkDestroySampler", (void*)DestroySampler},
2634 {"vkCreateDescriptorSetLayout", (void*)CreateDescriptorSetLayout},
2635 {"vkDestroyDescriptorSetLayout", (void*)DestroyDescriptorSetLayout},
2636 {"vkCreateDescriptorPool", (void*)CreateDescriptorPool},
2637 {"vkDestroyDescriptorPool", (void*)DestroyDescriptorPool},
2638 {"vkResetDescriptorPool", (void*)ResetDescriptorPool},
2639 {"vkAllocateDescriptorSets", (void*)AllocateDescriptorSets},
2640 {"vkFreeDescriptorSets", (void*)FreeDescriptorSets},
2641 {"vkUpdateDescriptorSets", (void*)UpdateDescriptorSets},
2642 {"vkCreateFramebuffer", (void*)CreateFramebuffer},
2643 {"vkDestroyFramebuffer", (void*)DestroyFramebuffer},
2644 {"vkCreateRenderPass", (void*)CreateRenderPass},
2645 {"vkDestroyRenderPass", (void*)DestroyRenderPass},
2646 {"vkGetRenderAreaGranularity", (void*)GetRenderAreaGranularity},
2647 {"vkCreateCommandPool", (void*)CreateCommandPool},
2648 {"vkDestroyCommandPool", (void*)DestroyCommandPool},
2649 {"vkResetCommandPool", (void*)ResetCommandPool},
2650 {"vkAllocateCommandBuffers", (void*)AllocateCommandBuffers},
2651 {"vkFreeCommandBuffers", (void*)FreeCommandBuffers},
2652 {"vkBeginCommandBuffer", (void*)BeginCommandBuffer},
2653 {"vkEndCommandBuffer", (void*)EndCommandBuffer},
2654 {"vkResetCommandBuffer", (void*)ResetCommandBuffer},
2655 {"vkCmdBindPipeline", (void*)CmdBindPipeline},
2656 {"vkCmdSetViewport", (void*)CmdSetViewport},
2657 {"vkCmdSetScissor", (void*)CmdSetScissor},
2658 {"vkCmdSetLineWidth", (void*)CmdSetLineWidth},
2659 {"vkCmdSetDepthBias", (void*)CmdSetDepthBias},
2660 {"vkCmdSetBlendConstants", (void*)CmdSetBlendConstants},
2661 {"vkCmdSetDepthBounds", (void*)CmdSetDepthBounds},
2662 {"vkCmdSetStencilCompareMask", (void*)CmdSetStencilCompareMask},
2663 {"vkCmdSetStencilWriteMask", (void*)CmdSetStencilWriteMask},
2664 {"vkCmdSetStencilReference", (void*)CmdSetStencilReference},
2665 {"vkCmdBindDescriptorSets", (void*)CmdBindDescriptorSets},
2666 {"vkCmdBindIndexBuffer", (void*)CmdBindIndexBuffer},
2667 {"vkCmdBindVertexBuffers", (void*)CmdBindVertexBuffers},
2668 {"vkCmdDraw", (void*)CmdDraw},
2669 {"vkCmdDrawIndexed", (void*)CmdDrawIndexed},
2670 {"vkCmdDrawIndirect", (void*)CmdDrawIndirect},
2671 {"vkCmdDrawIndexedIndirect", (void*)CmdDrawIndexedIndirect},
2672 {"vkCmdDispatch", (void*)CmdDispatch},
2673 {"vkCmdDispatchIndirect", (void*)CmdDispatchIndirect},
2674 {"vkCmdCopyBuffer", (void*)CmdCopyBuffer},
2675 {"vkCmdCopyImage", (void*)CmdCopyImage},
2676 {"vkCmdBlitImage", (void*)CmdBlitImage},
2677 {"vkCmdCopyBufferToImage", (void*)CmdCopyBufferToImage},
2678 {"vkCmdCopyImageToBuffer", (void*)CmdCopyImageToBuffer},
2679 {"vkCmdUpdateBuffer", (void*)CmdUpdateBuffer},
2680 {"vkCmdFillBuffer", (void*)CmdFillBuffer},
2681 {"vkCmdClearColorImage", (void*)CmdClearColorImage},
2682 {"vkCmdClearDepthStencilImage", (void*)CmdClearDepthStencilImage},
2683 {"vkCmdClearAttachments", (void*)CmdClearAttachments},
2684 {"vkCmdResolveImage", (void*)CmdResolveImage},
2685 {"vkCmdSetEvent", (void*)CmdSetEvent},
2686 {"vkCmdResetEvent", (void*)CmdResetEvent},
2687 {"vkCmdWaitEvents", (void*)CmdWaitEvents},
2688 {"vkCmdPipelineBarrier", (void*)CmdPipelineBarrier},
2689 {"vkCmdBeginQuery", (void*)CmdBeginQuery},
2690 {"vkCmdEndQuery", (void*)CmdEndQuery},
2691 {"vkCmdResetQueryPool", (void*)CmdResetQueryPool},
2692 {"vkCmdWriteTimestamp", (void*)CmdWriteTimestamp},
2693 {"vkCmdCopyQueryPoolResults", (void*)CmdCopyQueryPoolResults},
2694 {"vkCmdPushConstants", (void*)CmdPushConstants},
2695 {"vkCmdBeginRenderPass", (void*)CmdBeginRenderPass},
2696 {"vkCmdNextSubpass", (void*)CmdNextSubpass},
2697 {"vkCmdEndRenderPass", (void*)CmdEndRenderPass},
2698 {"vkCmdExecuteCommands", (void*)CmdExecuteCommands},
2699 {"vkEnumerateInstanceVersion", (void*)EnumerateInstanceVersion},
2700 {"vkBindBufferMemory2", (void*)BindBufferMemory2},
2701 {"vkBindImageMemory2", (void*)BindImageMemory2},
2702 {"vkGetDeviceGroupPeerMemoryFeatures", (void*)GetDeviceGroupPeerMemoryFeatures},
2703 {"vkCmdSetDeviceMask", (void*)CmdSetDeviceMask},
2704 {"vkCmdDispatchBase", (void*)CmdDispatchBase},
2705 {"vkEnumeratePhysicalDeviceGroups", (void*)EnumeratePhysicalDeviceGroups},
2706 {"vkGetImageMemoryRequirements2", (void*)GetImageMemoryRequirements2},
2707 {"vkGetBufferMemoryRequirements2", (void*)GetBufferMemoryRequirements2},
2708 {"vkGetImageSparseMemoryRequirements2", (void*)GetImageSparseMemoryRequirements2},
2709 {"vkGetPhysicalDeviceFeatures2", (void*)GetPhysicalDeviceFeatures2},
2710 {"vkGetPhysicalDeviceProperties2", (void*)GetPhysicalDeviceProperties2},
2711 {"vkGetPhysicalDeviceFormatProperties2", (void*)GetPhysicalDeviceFormatProperties2},
2712 {"vkGetPhysicalDeviceImageFormatProperties2", (void*)GetPhysicalDeviceImageFormatProperties2},
2713 {"vkGetPhysicalDeviceQueueFamilyProperties2", (void*)GetPhysicalDeviceQueueFamilyProperties2},
2714 {"vkGetPhysicalDeviceMemoryProperties2", (void*)GetPhysicalDeviceMemoryProperties2},
2715 {"vkGetPhysicalDeviceSparseImageFormatProperties2", (void*)GetPhysicalDeviceSparseImageFormatProperties2},
2716 {"vkTrimCommandPool", (void*)TrimCommandPool},
2717 {"vkGetDeviceQueue2", (void*)GetDeviceQueue2},
2718 {"vkCreateSamplerYcbcrConversion", (void*)CreateSamplerYcbcrConversion},
2719 {"vkDestroySamplerYcbcrConversion", (void*)DestroySamplerYcbcrConversion},
2720 {"vkCreateDescriptorUpdateTemplate", (void*)CreateDescriptorUpdateTemplate},
2721 {"vkDestroyDescriptorUpdateTemplate", (void*)DestroyDescriptorUpdateTemplate},
2722 {"vkUpdateDescriptorSetWithTemplate", (void*)UpdateDescriptorSetWithTemplate},
2723 {"vkGetPhysicalDeviceExternalBufferProperties", (void*)GetPhysicalDeviceExternalBufferProperties},
2724 {"vkGetPhysicalDeviceExternalFenceProperties", (void*)GetPhysicalDeviceExternalFenceProperties},
2725 {"vkGetPhysicalDeviceExternalSemaphoreProperties", (void*)GetPhysicalDeviceExternalSemaphoreProperties},
2726 {"vkGetDescriptorSetLayoutSupport", (void*)GetDescriptorSetLayoutSupport},
2727 {"vkDestroySurfaceKHR", (void*)DestroySurfaceKHR},
2728 {"vkGetPhysicalDeviceSurfaceSupportKHR", (void*)GetPhysicalDeviceSurfaceSupportKHR},
2729 {"vkGetPhysicalDeviceSurfaceCapabilitiesKHR", (void*)GetPhysicalDeviceSurfaceCapabilitiesKHR},
2730 {"vkGetPhysicalDeviceSurfaceFormatsKHR", (void*)GetPhysicalDeviceSurfaceFormatsKHR},
2731 {"vkGetPhysicalDeviceSurfacePresentModesKHR", (void*)GetPhysicalDeviceSurfacePresentModesKHR},
2732 {"vkCreateSwapchainKHR", (void*)CreateSwapchainKHR},
2733 {"vkDestroySwapchainKHR", (void*)DestroySwapchainKHR},
2734 {"vkGetSwapchainImagesKHR", (void*)GetSwapchainImagesKHR},
2735 {"vkAcquireNextImageKHR", (void*)AcquireNextImageKHR},
2736 {"vkQueuePresentKHR", (void*)QueuePresentKHR},
2737 {"vkGetDeviceGroupPresentCapabilitiesKHR", (void*)GetDeviceGroupPresentCapabilitiesKHR},
2738 {"vkGetDeviceGroupSurfacePresentModesKHR", (void*)GetDeviceGroupSurfacePresentModesKHR},
2739 {"vkGetPhysicalDevicePresentRectanglesKHR", (void*)GetPhysicalDevicePresentRectanglesKHR},
2740 {"vkAcquireNextImage2KHR", (void*)AcquireNextImage2KHR},
2741 {"vkGetPhysicalDeviceDisplayPropertiesKHR", (void*)GetPhysicalDeviceDisplayPropertiesKHR},
2742 {"vkGetPhysicalDeviceDisplayPlanePropertiesKHR", (void*)GetPhysicalDeviceDisplayPlanePropertiesKHR},
2743 {"vkGetDisplayPlaneSupportedDisplaysKHR", (void*)GetDisplayPlaneSupportedDisplaysKHR},
2744 {"vkGetDisplayModePropertiesKHR", (void*)GetDisplayModePropertiesKHR},
2745 {"vkCreateDisplayModeKHR", (void*)CreateDisplayModeKHR},
2746 {"vkGetDisplayPlaneCapabilitiesKHR", (void*)GetDisplayPlaneCapabilitiesKHR},
2747 {"vkCreateDisplayPlaneSurfaceKHR", (void*)CreateDisplayPlaneSurfaceKHR},
2748 {"vkCreateSharedSwapchainsKHR", (void*)CreateSharedSwapchainsKHR},
2749 #ifdef VK_USE_PLATFORM_XLIB_KHR
2750 {"vkCreateXlibSurfaceKHR", (void*)CreateXlibSurfaceKHR},
2752 #ifdef VK_USE_PLATFORM_XLIB_KHR
2753 {"vkGetPhysicalDeviceXlibPresentationSupportKHR", (void*)GetPhysicalDeviceXlibPresentationSupportKHR},
2755 #ifdef VK_USE_PLATFORM_XCB_KHR
2756 {"vkCreateXcbSurfaceKHR", (void*)CreateXcbSurfaceKHR},
2758 #ifdef VK_USE_PLATFORM_XCB_KHR
2759 {"vkGetPhysicalDeviceXcbPresentationSupportKHR", (void*)GetPhysicalDeviceXcbPresentationSupportKHR},
2761 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2762 {"vkCreateWaylandSurfaceKHR", (void*)CreateWaylandSurfaceKHR},
2764 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2765 {"vkGetPhysicalDeviceWaylandPresentationSupportKHR", (void*)GetPhysicalDeviceWaylandPresentationSupportKHR},
2767 #ifdef VK_USE_PLATFORM_ANDROID_KHR
2768 {"vkCreateAndroidSurfaceKHR", (void*)CreateAndroidSurfaceKHR},
2770 #ifdef VK_USE_PLATFORM_WIN32_KHR
2771 {"vkCreateWin32SurfaceKHR", (void*)CreateWin32SurfaceKHR},
2773 #ifdef VK_USE_PLATFORM_WIN32_KHR
2774 {"vkGetPhysicalDeviceWin32PresentationSupportKHR", (void*)GetPhysicalDeviceWin32PresentationSupportKHR},
2776 {"vkGetPhysicalDeviceFeatures2KHR", (void*)GetPhysicalDeviceFeatures2KHR},
2777 {"vkGetPhysicalDeviceProperties2KHR", (void*)GetPhysicalDeviceProperties2KHR},
2778 {"vkGetPhysicalDeviceFormatProperties2KHR", (void*)GetPhysicalDeviceFormatProperties2KHR},
2779 {"vkGetPhysicalDeviceImageFormatProperties2KHR", (void*)GetPhysicalDeviceImageFormatProperties2KHR},
2780 {"vkGetPhysicalDeviceQueueFamilyProperties2KHR", (void*)GetPhysicalDeviceQueueFamilyProperties2KHR},
2781 {"vkGetPhysicalDeviceMemoryProperties2KHR", (void*)GetPhysicalDeviceMemoryProperties2KHR},
2782 {"vkGetPhysicalDeviceSparseImageFormatProperties2KHR", (void*)GetPhysicalDeviceSparseImageFormatProperties2KHR},
2783 {"vkGetDeviceGroupPeerMemoryFeaturesKHR", (void*)GetDeviceGroupPeerMemoryFeaturesKHR},
2784 {"vkCmdSetDeviceMaskKHR", (void*)CmdSetDeviceMaskKHR},
2785 {"vkCmdDispatchBaseKHR", (void*)CmdDispatchBaseKHR},
2786 {"vkTrimCommandPoolKHR", (void*)TrimCommandPoolKHR},
2787 {"vkEnumeratePhysicalDeviceGroupsKHR", (void*)EnumeratePhysicalDeviceGroupsKHR},
2788 {"vkGetPhysicalDeviceExternalBufferPropertiesKHR", (void*)GetPhysicalDeviceExternalBufferPropertiesKHR},
2789 #ifdef VK_USE_PLATFORM_WIN32_KHR
2790 {"vkGetMemoryWin32HandleKHR", (void*)GetMemoryWin32HandleKHR},
2792 #ifdef VK_USE_PLATFORM_WIN32_KHR
2793 {"vkGetMemoryWin32HandlePropertiesKHR", (void*)GetMemoryWin32HandlePropertiesKHR},
2795 {"vkGetMemoryFdKHR", (void*)GetMemoryFdKHR},
2796 {"vkGetMemoryFdPropertiesKHR", (void*)GetMemoryFdPropertiesKHR},
2797 {"vkGetPhysicalDeviceExternalSemaphorePropertiesKHR", (void*)GetPhysicalDeviceExternalSemaphorePropertiesKHR},
2798 #ifdef VK_USE_PLATFORM_WIN32_KHR
2799 {"vkImportSemaphoreWin32HandleKHR", (void*)ImportSemaphoreWin32HandleKHR},
2801 #ifdef VK_USE_PLATFORM_WIN32_KHR
2802 {"vkGetSemaphoreWin32HandleKHR", (void*)GetSemaphoreWin32HandleKHR},
2804 {"vkImportSemaphoreFdKHR", (void*)ImportSemaphoreFdKHR},
2805 {"vkGetSemaphoreFdKHR", (void*)GetSemaphoreFdKHR},
2806 {"vkCmdPushDescriptorSetKHR", (void*)CmdPushDescriptorSetKHR},
2807 {"vkCmdPushDescriptorSetWithTemplateKHR", (void*)CmdPushDescriptorSetWithTemplateKHR},
2808 {"vkCreateDescriptorUpdateTemplateKHR", (void*)CreateDescriptorUpdateTemplateKHR},
2809 {"vkDestroyDescriptorUpdateTemplateKHR", (void*)DestroyDescriptorUpdateTemplateKHR},
2810 {"vkUpdateDescriptorSetWithTemplateKHR", (void*)UpdateDescriptorSetWithTemplateKHR},
2811 {"vkCreateRenderPass2KHR", (void*)CreateRenderPass2KHR},
2812 {"vkCmdBeginRenderPass2KHR", (void*)CmdBeginRenderPass2KHR},
2813 {"vkCmdNextSubpass2KHR", (void*)CmdNextSubpass2KHR},
2814 {"vkCmdEndRenderPass2KHR", (void*)CmdEndRenderPass2KHR},
2815 {"vkGetSwapchainStatusKHR", (void*)GetSwapchainStatusKHR},
2816 {"vkGetPhysicalDeviceExternalFencePropertiesKHR", (void*)GetPhysicalDeviceExternalFencePropertiesKHR},
2817 #ifdef VK_USE_PLATFORM_WIN32_KHR
2818 {"vkImportFenceWin32HandleKHR", (void*)ImportFenceWin32HandleKHR},
2820 #ifdef VK_USE_PLATFORM_WIN32_KHR
2821 {"vkGetFenceWin32HandleKHR", (void*)GetFenceWin32HandleKHR},
2823 {"vkImportFenceFdKHR", (void*)ImportFenceFdKHR},
2824 {"vkGetFenceFdKHR", (void*)GetFenceFdKHR},
2825 {"vkGetPhysicalDeviceSurfaceCapabilities2KHR", (void*)GetPhysicalDeviceSurfaceCapabilities2KHR},
2826 {"vkGetPhysicalDeviceSurfaceFormats2KHR", (void*)GetPhysicalDeviceSurfaceFormats2KHR},
2827 {"vkGetPhysicalDeviceDisplayProperties2KHR", (void*)GetPhysicalDeviceDisplayProperties2KHR},
2828 {"vkGetPhysicalDeviceDisplayPlaneProperties2KHR", (void*)GetPhysicalDeviceDisplayPlaneProperties2KHR},
2829 {"vkGetDisplayModeProperties2KHR", (void*)GetDisplayModeProperties2KHR},
2830 {"vkGetDisplayPlaneCapabilities2KHR", (void*)GetDisplayPlaneCapabilities2KHR},
2831 {"vkGetImageMemoryRequirements2KHR", (void*)GetImageMemoryRequirements2KHR},
2832 {"vkGetBufferMemoryRequirements2KHR", (void*)GetBufferMemoryRequirements2KHR},
2833 {"vkGetImageSparseMemoryRequirements2KHR", (void*)GetImageSparseMemoryRequirements2KHR},
2834 {"vkCreateSamplerYcbcrConversionKHR", (void*)CreateSamplerYcbcrConversionKHR},
2835 {"vkDestroySamplerYcbcrConversionKHR", (void*)DestroySamplerYcbcrConversionKHR},
2836 {"vkBindBufferMemory2KHR", (void*)BindBufferMemory2KHR},
2837 {"vkBindImageMemory2KHR", (void*)BindImageMemory2KHR},
2838 {"vkGetDescriptorSetLayoutSupportKHR", (void*)GetDescriptorSetLayoutSupportKHR},
2839 {"vkCmdDrawIndirectCountKHR", (void*)CmdDrawIndirectCountKHR},
2840 {"vkCmdDrawIndexedIndirectCountKHR", (void*)CmdDrawIndexedIndirectCountKHR},
2841 {"vkGetSemaphoreCounterValueKHR", (void*)GetSemaphoreCounterValueKHR},
2842 {"vkWaitSemaphoresKHR", (void*)WaitSemaphoresKHR},
2843 {"vkSignalSemaphoreKHR", (void*)SignalSemaphoreKHR},
2844 {"vkGetPipelineExecutablePropertiesKHR", (void*)GetPipelineExecutablePropertiesKHR},
2845 {"vkGetPipelineExecutableStatisticsKHR", (void*)GetPipelineExecutableStatisticsKHR},
2846 {"vkGetPipelineExecutableInternalRepresentationsKHR", (void*)GetPipelineExecutableInternalRepresentationsKHR},
2847 {"vkCreateDebugReportCallbackEXT", (void*)CreateDebugReportCallbackEXT},
2848 {"vkDestroyDebugReportCallbackEXT", (void*)DestroyDebugReportCallbackEXT},
2849 {"vkDebugReportMessageEXT", (void*)DebugReportMessageEXT},
2850 {"vkDebugMarkerSetObjectTagEXT", (void*)DebugMarkerSetObjectTagEXT},
2851 {"vkDebugMarkerSetObjectNameEXT", (void*)DebugMarkerSetObjectNameEXT},
2852 {"vkCmdDebugMarkerBeginEXT", (void*)CmdDebugMarkerBeginEXT},
2853 {"vkCmdDebugMarkerEndEXT", (void*)CmdDebugMarkerEndEXT},
2854 {"vkCmdDebugMarkerInsertEXT", (void*)CmdDebugMarkerInsertEXT},
2855 {"vkCmdBindTransformFeedbackBuffersEXT", (void*)CmdBindTransformFeedbackBuffersEXT},
2856 {"vkCmdBeginTransformFeedbackEXT", (void*)CmdBeginTransformFeedbackEXT},
2857 {"vkCmdEndTransformFeedbackEXT", (void*)CmdEndTransformFeedbackEXT},
2858 {"vkCmdBeginQueryIndexedEXT", (void*)CmdBeginQueryIndexedEXT},
2859 {"vkCmdEndQueryIndexedEXT", (void*)CmdEndQueryIndexedEXT},
2860 {"vkCmdDrawIndirectByteCountEXT", (void*)CmdDrawIndirectByteCountEXT},
2861 {"vkGetImageViewHandleNVX", (void*)GetImageViewHandleNVX},
2862 {"vkCmdDrawIndirectCountAMD", (void*)CmdDrawIndirectCountAMD},
2863 {"vkCmdDrawIndexedIndirectCountAMD", (void*)CmdDrawIndexedIndirectCountAMD},
2864 {"vkGetShaderInfoAMD", (void*)GetShaderInfoAMD},
2865 #ifdef VK_USE_PLATFORM_GGP
2866 {"vkCreateStreamDescriptorSurfaceGGP", (void*)CreateStreamDescriptorSurfaceGGP},
2868 {"vkGetPhysicalDeviceExternalImageFormatPropertiesNV", (void*)GetPhysicalDeviceExternalImageFormatPropertiesNV},
2869 #ifdef VK_USE_PLATFORM_WIN32_KHR
2870 {"vkGetMemoryWin32HandleNV", (void*)GetMemoryWin32HandleNV},
2872 #ifdef VK_USE_PLATFORM_VI_NN
2873 {"vkCreateViSurfaceNN", (void*)CreateViSurfaceNN},
2875 {"vkCmdBeginConditionalRenderingEXT", (void*)CmdBeginConditionalRenderingEXT},
2876 {"vkCmdEndConditionalRenderingEXT", (void*)CmdEndConditionalRenderingEXT},
2877 {"vkCmdProcessCommandsNVX", (void*)CmdProcessCommandsNVX},
2878 {"vkCmdReserveSpaceForCommandsNVX", (void*)CmdReserveSpaceForCommandsNVX},
2879 {"vkCreateIndirectCommandsLayoutNVX", (void*)CreateIndirectCommandsLayoutNVX},
2880 {"vkDestroyIndirectCommandsLayoutNVX", (void*)DestroyIndirectCommandsLayoutNVX},
2881 {"vkCreateObjectTableNVX", (void*)CreateObjectTableNVX},
2882 {"vkDestroyObjectTableNVX", (void*)DestroyObjectTableNVX},
2883 {"vkRegisterObjectsNVX", (void*)RegisterObjectsNVX},
2884 {"vkUnregisterObjectsNVX", (void*)UnregisterObjectsNVX},
2885 {"vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX", (void*)GetPhysicalDeviceGeneratedCommandsPropertiesNVX},
2886 {"vkCmdSetViewportWScalingNV", (void*)CmdSetViewportWScalingNV},
2887 {"vkReleaseDisplayEXT", (void*)ReleaseDisplayEXT},
2888 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
2889 {"vkAcquireXlibDisplayEXT", (void*)AcquireXlibDisplayEXT},
2891 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
2892 {"vkGetRandROutputDisplayEXT", (void*)GetRandROutputDisplayEXT},
2894 {"vkGetPhysicalDeviceSurfaceCapabilities2EXT", (void*)GetPhysicalDeviceSurfaceCapabilities2EXT},
2895 {"vkDisplayPowerControlEXT", (void*)DisplayPowerControlEXT},
2896 {"vkRegisterDeviceEventEXT", (void*)RegisterDeviceEventEXT},
2897 {"vkRegisterDisplayEventEXT", (void*)RegisterDisplayEventEXT},
2898 {"vkGetSwapchainCounterEXT", (void*)GetSwapchainCounterEXT},
2899 {"vkGetRefreshCycleDurationGOOGLE", (void*)GetRefreshCycleDurationGOOGLE},
2900 {"vkGetPastPresentationTimingGOOGLE", (void*)GetPastPresentationTimingGOOGLE},
2901 {"vkCmdSetDiscardRectangleEXT", (void*)CmdSetDiscardRectangleEXT},
2902 {"vkSetHdrMetadataEXT", (void*)SetHdrMetadataEXT},
2903 #ifdef VK_USE_PLATFORM_IOS_MVK
2904 {"vkCreateIOSSurfaceMVK", (void*)CreateIOSSurfaceMVK},
2906 #ifdef VK_USE_PLATFORM_MACOS_MVK
2907 {"vkCreateMacOSSurfaceMVK", (void*)CreateMacOSSurfaceMVK},
2909 {"vkSetDebugUtilsObjectNameEXT", (void*)SetDebugUtilsObjectNameEXT},
2910 {"vkSetDebugUtilsObjectTagEXT", (void*)SetDebugUtilsObjectTagEXT},
2911 {"vkQueueBeginDebugUtilsLabelEXT", (void*)QueueBeginDebugUtilsLabelEXT},
2912 {"vkQueueEndDebugUtilsLabelEXT", (void*)QueueEndDebugUtilsLabelEXT},
2913 {"vkQueueInsertDebugUtilsLabelEXT", (void*)QueueInsertDebugUtilsLabelEXT},
2914 {"vkCmdBeginDebugUtilsLabelEXT", (void*)CmdBeginDebugUtilsLabelEXT},
2915 {"vkCmdEndDebugUtilsLabelEXT", (void*)CmdEndDebugUtilsLabelEXT},
2916 {"vkCmdInsertDebugUtilsLabelEXT", (void*)CmdInsertDebugUtilsLabelEXT},
2917 {"vkCreateDebugUtilsMessengerEXT", (void*)CreateDebugUtilsMessengerEXT},
2918 {"vkDestroyDebugUtilsMessengerEXT", (void*)DestroyDebugUtilsMessengerEXT},
2919 {"vkSubmitDebugUtilsMessageEXT", (void*)SubmitDebugUtilsMessageEXT},
2920 #ifdef VK_USE_PLATFORM_ANDROID_KHR
2921 {"vkGetAndroidHardwareBufferPropertiesANDROID", (void*)GetAndroidHardwareBufferPropertiesANDROID},
2923 #ifdef VK_USE_PLATFORM_ANDROID_KHR
2924 {"vkGetMemoryAndroidHardwareBufferANDROID", (void*)GetMemoryAndroidHardwareBufferANDROID},
2926 {"vkCmdSetSampleLocationsEXT", (void*)CmdSetSampleLocationsEXT},
2927 {"vkGetPhysicalDeviceMultisamplePropertiesEXT", (void*)GetPhysicalDeviceMultisamplePropertiesEXT},
2928 {"vkGetImageDrmFormatModifierPropertiesEXT", (void*)GetImageDrmFormatModifierPropertiesEXT},
2929 {"vkCreateValidationCacheEXT", (void*)CreateValidationCacheEXT},
2930 {"vkDestroyValidationCacheEXT", (void*)DestroyValidationCacheEXT},
2931 {"vkMergeValidationCachesEXT", (void*)MergeValidationCachesEXT},
2932 {"vkGetValidationCacheDataEXT", (void*)GetValidationCacheDataEXT},
2933 {"vkCmdBindShadingRateImageNV", (void*)CmdBindShadingRateImageNV},
2934 {"vkCmdSetViewportShadingRatePaletteNV", (void*)CmdSetViewportShadingRatePaletteNV},
2935 {"vkCmdSetCoarseSampleOrderNV", (void*)CmdSetCoarseSampleOrderNV},
2936 {"vkCreateAccelerationStructureNV", (void*)CreateAccelerationStructureNV},
2937 {"vkDestroyAccelerationStructureNV", (void*)DestroyAccelerationStructureNV},
2938 {"vkGetAccelerationStructureMemoryRequirementsNV", (void*)GetAccelerationStructureMemoryRequirementsNV},
2939 {"vkBindAccelerationStructureMemoryNV", (void*)BindAccelerationStructureMemoryNV},
2940 {"vkCmdBuildAccelerationStructureNV", (void*)CmdBuildAccelerationStructureNV},
2941 {"vkCmdCopyAccelerationStructureNV", (void*)CmdCopyAccelerationStructureNV},
2942 {"vkCmdTraceRaysNV", (void*)CmdTraceRaysNV},
2943 {"vkCreateRayTracingPipelinesNV", (void*)CreateRayTracingPipelinesNV},
2944 {"vkGetRayTracingShaderGroupHandlesNV", (void*)GetRayTracingShaderGroupHandlesNV},
2945 {"vkGetAccelerationStructureHandleNV", (void*)GetAccelerationStructureHandleNV},
2946 {"vkCmdWriteAccelerationStructuresPropertiesNV", (void*)CmdWriteAccelerationStructuresPropertiesNV},
2947 {"vkCompileDeferredNV", (void*)CompileDeferredNV},
2948 {"vkGetMemoryHostPointerPropertiesEXT", (void*)GetMemoryHostPointerPropertiesEXT},
2949 {"vkCmdWriteBufferMarkerAMD", (void*)CmdWriteBufferMarkerAMD},
2950 {"vkGetPhysicalDeviceCalibrateableTimeDomainsEXT", (void*)GetPhysicalDeviceCalibrateableTimeDomainsEXT},
2951 {"vkGetCalibratedTimestampsEXT", (void*)GetCalibratedTimestampsEXT},
2952 {"vkCmdDrawMeshTasksNV", (void*)CmdDrawMeshTasksNV},
2953 {"vkCmdDrawMeshTasksIndirectNV", (void*)CmdDrawMeshTasksIndirectNV},
2954 {"vkCmdDrawMeshTasksIndirectCountNV", (void*)CmdDrawMeshTasksIndirectCountNV},
2955 {"vkCmdSetExclusiveScissorNV", (void*)CmdSetExclusiveScissorNV},
2956 {"vkCmdSetCheckpointNV", (void*)CmdSetCheckpointNV},
2957 {"vkGetQueueCheckpointDataNV", (void*)GetQueueCheckpointDataNV},
2958 {"vkInitializePerformanceApiINTEL", (void*)InitializePerformanceApiINTEL},
2959 {"vkUninitializePerformanceApiINTEL", (void*)UninitializePerformanceApiINTEL},
2960 {"vkCmdSetPerformanceMarkerINTEL", (void*)CmdSetPerformanceMarkerINTEL},
2961 {"vkCmdSetPerformanceStreamMarkerINTEL", (void*)CmdSetPerformanceStreamMarkerINTEL},
2962 {"vkCmdSetPerformanceOverrideINTEL", (void*)CmdSetPerformanceOverrideINTEL},
2963 {"vkAcquirePerformanceConfigurationINTEL", (void*)AcquirePerformanceConfigurationINTEL},
2964 {"vkReleasePerformanceConfigurationINTEL", (void*)ReleasePerformanceConfigurationINTEL},
2965 {"vkQueueSetPerformanceConfigurationINTEL", (void*)QueueSetPerformanceConfigurationINTEL},
2966 {"vkGetPerformanceParameterINTEL", (void*)GetPerformanceParameterINTEL},
2967 {"vkSetLocalDimmingAMD", (void*)SetLocalDimmingAMD},
2968 #ifdef VK_USE_PLATFORM_FUCHSIA
2969 {"vkCreateImagePipeSurfaceFUCHSIA", (void*)CreateImagePipeSurfaceFUCHSIA},
2971 #ifdef VK_USE_PLATFORM_METAL_EXT
2972 {"vkCreateMetalSurfaceEXT", (void*)CreateMetalSurfaceEXT},
2974 {"vkGetBufferDeviceAddressEXT", (void*)GetBufferDeviceAddressEXT},
2975 {"vkGetPhysicalDeviceCooperativeMatrixPropertiesNV", (void*)GetPhysicalDeviceCooperativeMatrixPropertiesNV},
2976 {"vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV", (void*)GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV},
2977 #ifdef VK_USE_PLATFORM_WIN32_KHR
2978 {"vkGetPhysicalDeviceSurfacePresentModes2EXT", (void*)GetPhysicalDeviceSurfacePresentModes2EXT},
2980 #ifdef VK_USE_PLATFORM_WIN32_KHR
2981 {"vkAcquireFullScreenExclusiveModeEXT", (void*)AcquireFullScreenExclusiveModeEXT},
2983 #ifdef VK_USE_PLATFORM_WIN32_KHR
2984 {"vkReleaseFullScreenExclusiveModeEXT", (void*)ReleaseFullScreenExclusiveModeEXT},
2986 #ifdef VK_USE_PLATFORM_WIN32_KHR
2987 {"vkGetDeviceGroupSurfacePresentModes2EXT", (void*)GetDeviceGroupSurfacePresentModes2EXT},
2989 {"vkCreateHeadlessSurfaceEXT", (void*)CreateHeadlessSurfaceEXT},
2990 {"vkCmdSetLineStippleEXT", (void*)CmdSetLineStippleEXT},
2991 {"vkResetQueryPoolEXT", (void*)ResetQueryPoolEXT},
2995 } // namespace vkmock