1 /** 2 * volk 3 * 4 * Copyright (C) 2018-2019, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com) 5 * Report bugs and download new versions at https://github.com/zeux/volk 6 * 7 * This library is distributed under the MIT License. See notice at the end of this file. 8 */ 9 /* clang-format off */ 10 #ifndef VOLK_H_ 11 #define VOLK_H_ 12 13 #if defined(VULKAN_H_) && !defined(VK_NO_PROTOTYPES) 14 # error To use volk, you need to define VK_NO_PROTOTYPES before including vulkan.h 15 #endif 16 17 /* VOLK_GENERATE_VERSION_DEFINE */ 18 #define VOLK_HEADER_VERSION 204 19 /* VOLK_GENERATE_VERSION_DEFINE */ 20 21 #ifndef VK_NO_PROTOTYPES 22 # define VK_NO_PROTOTYPES 23 #endif 24 25 #ifndef VULKAN_H_ 26 # ifdef VOLK_VULKAN_H_PATH 27 # include VOLK_VULKAN_H_PATH 28 # elif defined(VK_USE_PLATFORM_WIN32_KHR) 29 # include <vulkan/vk_platform.h> 30 # include <vulkan/vulkan_core.h> 31 32 /* When VK_USE_PLATFORM_WIN32_KHR is defined, instead of including vulkan.h directly, we include individual parts of the SDK 33 * This is necessary to avoid including <windows.h> which is very heavy - it takes 200ms to parse without WIN32_LEAN_AND_MEAN 34 * and 100ms to parse with it. vulkan_win32.h only needs a few symbols that are easy to redefine ourselves. 35 */ 36 typedef unsigned long DWORD; 37 typedef const wchar_t* LPCWSTR; 38 typedef void* HANDLE; 39 typedef struct HINSTANCE__* HINSTANCE; 40 typedef struct HWND__* HWND; 41 typedef struct HMONITOR__* HMONITOR; 42 typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES; 43 44 # include <vulkan/vulkan_win32.h> 45 46 # ifdef VK_ENABLE_BETA_EXTENSIONS 47 # include <vulkan/vulkan_beta.h> 48 # endif 49 # else 50 # include <vulkan/vulkan.h> 51 # endif 52 #endif 53 54 /* Disable several extensions on earlier SDKs because later SDKs introduce a backwards incompatible change to function signatures */ 55 #if VK_HEADER_VERSION < 140 56 # undef VK_NVX_image_view_handle 57 #endif 58 #if VK_HEADER_VERSION < 184 59 # undef VK_HUAWEI_subpass_shading 60 #endif 61 62 #ifdef __cplusplus 63 extern "C" { 64 #endif 65 66 struct VolkDeviceTable; 67 68 /** 69 * Initialize library by loading Vulkan loader; call this function before creating the Vulkan instance. 70 * 71 * Returns VK_SUCCESS on success and VK_ERROR_INITIALIZATION_FAILED otherwise. 72 */ 73 VkResult volkInitialize(void); 74 75 /** 76 * Initialize library by providing a custom handler to load global symbols. 77 * 78 * This function can be used instead of volkInitialize. 79 * The handler function pointer will be asked to load global Vulkan symbols which require no instance 80 * (such as vkCreateInstance, vkEnumerateInstance* and vkEnumerateInstanceVersion if available). 81 */ 82 void volkInitializeCustom(PFN_vkGetInstanceProcAddr handler); 83 84 /** 85 * Get Vulkan instance version supported by the Vulkan loader, or 0 if Vulkan isn't supported 86 * 87 * Returns 0 if volkInitialize wasn't called or failed. 88 */ 89 uint32_t volkGetInstanceVersion(void); 90 91 /** 92 * Load global function pointers using application-created VkInstance; call this function after creating the Vulkan instance. 93 */ 94 void volkLoadInstance(VkInstance instance); 95 96 /** 97 * Load global function pointers using application-created VkInstance; call this function after creating the Vulkan instance. 98 * Skips loading device-based function pointers, requires usage of volkLoadDevice afterwards. 99 */ 100 void volkLoadInstanceOnly(VkInstance instance); 101 102 /** 103 * Load global function pointers using application-created VkDevice; call this function after creating the Vulkan device. 104 * 105 * Note: this is not suitable for applications that want to use multiple VkDevice objects concurrently. 106 */ 107 void volkLoadDevice(VkDevice device); 108 109 /** 110 * Return last VkInstance for which global function pointers have been loaded via volkLoadInstance(), 111 * or VK_NULL_HANDLE if volkLoadInstance() has not been called. 112 */ 113 VkInstance volkGetLoadedInstance(void); 114 115 /** 116 * Return last VkDevice for which global function pointers have been loaded via volkLoadDevice(), 117 * or VK_NULL_HANDLE if volkLoadDevice() has not been called. 118 */ 119 VkDevice volkGetLoadedDevice(void); 120 121 /** 122 * Load function pointers using application-created VkDevice into a table. 123 * Application should use function pointers from that table instead of using global function pointers. 124 */ 125 void volkLoadDeviceTable(struct VolkDeviceTable* table, VkDevice device); 126 127 /** 128 * Device-specific function pointer table 129 */ 130 struct VolkDeviceTable 131 { 132 /* VOLK_GENERATE_DEVICE_TABLE */ 133 #if defined(VK_VERSION_1_0) 134 PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; 135 PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; 136 PFN_vkAllocateMemory vkAllocateMemory; 137 PFN_vkBeginCommandBuffer vkBeginCommandBuffer; 138 PFN_vkBindBufferMemory vkBindBufferMemory; 139 PFN_vkBindImageMemory vkBindImageMemory; 140 PFN_vkCmdBeginQuery vkCmdBeginQuery; 141 PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; 142 PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; 143 PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; 144 PFN_vkCmdBindPipeline vkCmdBindPipeline; 145 PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; 146 PFN_vkCmdBlitImage vkCmdBlitImage; 147 PFN_vkCmdClearAttachments vkCmdClearAttachments; 148 PFN_vkCmdClearColorImage vkCmdClearColorImage; 149 PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; 150 PFN_vkCmdCopyBuffer vkCmdCopyBuffer; 151 PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; 152 PFN_vkCmdCopyImage vkCmdCopyImage; 153 PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; 154 PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; 155 PFN_vkCmdDispatch vkCmdDispatch; 156 PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; 157 PFN_vkCmdDraw vkCmdDraw; 158 PFN_vkCmdDrawIndexed vkCmdDrawIndexed; 159 PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; 160 PFN_vkCmdDrawIndirect vkCmdDrawIndirect; 161 PFN_vkCmdEndQuery vkCmdEndQuery; 162 PFN_vkCmdEndRenderPass vkCmdEndRenderPass; 163 PFN_vkCmdExecuteCommands vkCmdExecuteCommands; 164 PFN_vkCmdFillBuffer vkCmdFillBuffer; 165 PFN_vkCmdNextSubpass vkCmdNextSubpass; 166 PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; 167 PFN_vkCmdPushConstants vkCmdPushConstants; 168 PFN_vkCmdResetEvent vkCmdResetEvent; 169 PFN_vkCmdResetQueryPool vkCmdResetQueryPool; 170 PFN_vkCmdResolveImage vkCmdResolveImage; 171 PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; 172 PFN_vkCmdSetDepthBias vkCmdSetDepthBias; 173 PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; 174 PFN_vkCmdSetEvent vkCmdSetEvent; 175 PFN_vkCmdSetLineWidth vkCmdSetLineWidth; 176 PFN_vkCmdSetScissor vkCmdSetScissor; 177 PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; 178 PFN_vkCmdSetStencilReference vkCmdSetStencilReference; 179 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; 180 PFN_vkCmdSetViewport vkCmdSetViewport; 181 PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; 182 PFN_vkCmdWaitEvents vkCmdWaitEvents; 183 PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; 184 PFN_vkCreateBuffer vkCreateBuffer; 185 PFN_vkCreateBufferView vkCreateBufferView; 186 PFN_vkCreateCommandPool vkCreateCommandPool; 187 PFN_vkCreateComputePipelines vkCreateComputePipelines; 188 PFN_vkCreateDescriptorPool vkCreateDescriptorPool; 189 PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; 190 PFN_vkCreateEvent vkCreateEvent; 191 PFN_vkCreateFence vkCreateFence; 192 PFN_vkCreateFramebuffer vkCreateFramebuffer; 193 PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; 194 PFN_vkCreateImage vkCreateImage; 195 PFN_vkCreateImageView vkCreateImageView; 196 PFN_vkCreatePipelineCache vkCreatePipelineCache; 197 PFN_vkCreatePipelineLayout vkCreatePipelineLayout; 198 PFN_vkCreateQueryPool vkCreateQueryPool; 199 PFN_vkCreateRenderPass vkCreateRenderPass; 200 PFN_vkCreateSampler vkCreateSampler; 201 PFN_vkCreateSemaphore vkCreateSemaphore; 202 PFN_vkCreateShaderModule vkCreateShaderModule; 203 PFN_vkDestroyBuffer vkDestroyBuffer; 204 PFN_vkDestroyBufferView vkDestroyBufferView; 205 PFN_vkDestroyCommandPool vkDestroyCommandPool; 206 PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; 207 PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; 208 PFN_vkDestroyDevice vkDestroyDevice; 209 PFN_vkDestroyEvent vkDestroyEvent; 210 PFN_vkDestroyFence vkDestroyFence; 211 PFN_vkDestroyFramebuffer vkDestroyFramebuffer; 212 PFN_vkDestroyImage vkDestroyImage; 213 PFN_vkDestroyImageView vkDestroyImageView; 214 PFN_vkDestroyPipeline vkDestroyPipeline; 215 PFN_vkDestroyPipelineCache vkDestroyPipelineCache; 216 PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; 217 PFN_vkDestroyQueryPool vkDestroyQueryPool; 218 PFN_vkDestroyRenderPass vkDestroyRenderPass; 219 PFN_vkDestroySampler vkDestroySampler; 220 PFN_vkDestroySemaphore vkDestroySemaphore; 221 PFN_vkDestroyShaderModule vkDestroyShaderModule; 222 PFN_vkDeviceWaitIdle vkDeviceWaitIdle; 223 PFN_vkEndCommandBuffer vkEndCommandBuffer; 224 PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; 225 PFN_vkFreeCommandBuffers vkFreeCommandBuffers; 226 PFN_vkFreeDescriptorSets vkFreeDescriptorSets; 227 PFN_vkFreeMemory vkFreeMemory; 228 PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; 229 PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; 230 PFN_vkGetDeviceQueue vkGetDeviceQueue; 231 PFN_vkGetEventStatus vkGetEventStatus; 232 PFN_vkGetFenceStatus vkGetFenceStatus; 233 PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; 234 PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; 235 PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; 236 PFN_vkGetPipelineCacheData vkGetPipelineCacheData; 237 PFN_vkGetQueryPoolResults vkGetQueryPoolResults; 238 PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; 239 PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; 240 PFN_vkMapMemory vkMapMemory; 241 PFN_vkMergePipelineCaches vkMergePipelineCaches; 242 PFN_vkQueueBindSparse vkQueueBindSparse; 243 PFN_vkQueueSubmit vkQueueSubmit; 244 PFN_vkQueueWaitIdle vkQueueWaitIdle; 245 PFN_vkResetCommandBuffer vkResetCommandBuffer; 246 PFN_vkResetCommandPool vkResetCommandPool; 247 PFN_vkResetDescriptorPool vkResetDescriptorPool; 248 PFN_vkResetEvent vkResetEvent; 249 PFN_vkResetFences vkResetFences; 250 PFN_vkSetEvent vkSetEvent; 251 PFN_vkUnmapMemory vkUnmapMemory; 252 PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; 253 PFN_vkWaitForFences vkWaitForFences; 254 #endif /* defined(VK_VERSION_1_0) */ 255 #if defined(VK_VERSION_1_1) 256 PFN_vkBindBufferMemory2 vkBindBufferMemory2; 257 PFN_vkBindImageMemory2 vkBindImageMemory2; 258 PFN_vkCmdDispatchBase vkCmdDispatchBase; 259 PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; 260 PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; 261 PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; 262 PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; 263 PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; 264 PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; 265 PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; 266 PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; 267 PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; 268 PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; 269 PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; 270 PFN_vkTrimCommandPool vkTrimCommandPool; 271 PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; 272 #endif /* defined(VK_VERSION_1_1) */ 273 #if defined(VK_VERSION_1_2) 274 PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2; 275 PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; 276 PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; 277 PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2; 278 PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; 279 PFN_vkCreateRenderPass2 vkCreateRenderPass2; 280 PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress; 281 PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress; 282 PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress; 283 PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue; 284 PFN_vkResetQueryPool vkResetQueryPool; 285 PFN_vkSignalSemaphore vkSignalSemaphore; 286 PFN_vkWaitSemaphores vkWaitSemaphores; 287 #endif /* defined(VK_VERSION_1_2) */ 288 #if defined(VK_VERSION_1_3) 289 PFN_vkCmdBeginRendering vkCmdBeginRendering; 290 PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2; 291 PFN_vkCmdBlitImage2 vkCmdBlitImage2; 292 PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2; 293 PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2; 294 PFN_vkCmdCopyImage2 vkCmdCopyImage2; 295 PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2; 296 PFN_vkCmdEndRendering vkCmdEndRendering; 297 PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2; 298 PFN_vkCmdResetEvent2 vkCmdResetEvent2; 299 PFN_vkCmdResolveImage2 vkCmdResolveImage2; 300 PFN_vkCmdSetCullMode vkCmdSetCullMode; 301 PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable; 302 PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable; 303 PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp; 304 PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable; 305 PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable; 306 PFN_vkCmdSetEvent2 vkCmdSetEvent2; 307 PFN_vkCmdSetFrontFace vkCmdSetFrontFace; 308 PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable; 309 PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology; 310 PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable; 311 PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount; 312 PFN_vkCmdSetStencilOp vkCmdSetStencilOp; 313 PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable; 314 PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount; 315 PFN_vkCmdWaitEvents2 vkCmdWaitEvents2; 316 PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2; 317 PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot; 318 PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot; 319 PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements; 320 PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements; 321 PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements; 322 PFN_vkGetPrivateData vkGetPrivateData; 323 PFN_vkQueueSubmit2 vkQueueSubmit2; 324 PFN_vkSetPrivateData vkSetPrivateData; 325 #endif /* defined(VK_VERSION_1_3) */ 326 #if defined(VK_AMD_buffer_marker) 327 PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD; 328 #endif /* defined(VK_AMD_buffer_marker) */ 329 #if defined(VK_AMD_display_native_hdr) 330 PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD; 331 #endif /* defined(VK_AMD_display_native_hdr) */ 332 #if defined(VK_AMD_draw_indirect_count) 333 PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD; 334 PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD; 335 #endif /* defined(VK_AMD_draw_indirect_count) */ 336 #if defined(VK_AMD_shader_info) 337 PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD; 338 #endif /* defined(VK_AMD_shader_info) */ 339 #if defined(VK_ANDROID_external_memory_android_hardware_buffer) 340 PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID; 341 PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID; 342 #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */ 343 #if defined(VK_EXT_buffer_device_address) 344 PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT; 345 #endif /* defined(VK_EXT_buffer_device_address) */ 346 #if defined(VK_EXT_calibrated_timestamps) 347 PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT; 348 #endif /* defined(VK_EXT_calibrated_timestamps) */ 349 #if defined(VK_EXT_color_write_enable) 350 PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT; 351 #endif /* defined(VK_EXT_color_write_enable) */ 352 #if defined(VK_EXT_conditional_rendering) 353 PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT; 354 PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT; 355 #endif /* defined(VK_EXT_conditional_rendering) */ 356 #if defined(VK_EXT_debug_marker) 357 PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT; 358 PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT; 359 PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT; 360 PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT; 361 PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT; 362 #endif /* defined(VK_EXT_debug_marker) */ 363 #if defined(VK_EXT_discard_rectangles) 364 PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT; 365 #endif /* defined(VK_EXT_discard_rectangles) */ 366 #if defined(VK_EXT_display_control) 367 PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT; 368 PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT; 369 PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT; 370 PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT; 371 #endif /* defined(VK_EXT_display_control) */ 372 #if defined(VK_EXT_extended_dynamic_state) 373 PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT; 374 PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT; 375 PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT; 376 PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT; 377 PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT; 378 PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT; 379 PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT; 380 PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT; 381 PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT; 382 PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT; 383 PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT; 384 PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT; 385 #endif /* defined(VK_EXT_extended_dynamic_state) */ 386 #if defined(VK_EXT_extended_dynamic_state2) 387 PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT; 388 PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT; 389 PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; 390 PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT; 391 PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; 392 #endif /* defined(VK_EXT_extended_dynamic_state2) */ 393 #if defined(VK_EXT_external_memory_host) 394 PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; 395 #endif /* defined(VK_EXT_external_memory_host) */ 396 #if defined(VK_EXT_full_screen_exclusive) 397 PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT; 398 PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT; 399 #endif /* defined(VK_EXT_full_screen_exclusive) */ 400 #if defined(VK_EXT_hdr_metadata) 401 PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT; 402 #endif /* defined(VK_EXT_hdr_metadata) */ 403 #if defined(VK_EXT_host_query_reset) 404 PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT; 405 #endif /* defined(VK_EXT_host_query_reset) */ 406 #if defined(VK_EXT_image_drm_format_modifier) 407 PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT; 408 #endif /* defined(VK_EXT_image_drm_format_modifier) */ 409 #if defined(VK_EXT_line_rasterization) 410 PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT; 411 #endif /* defined(VK_EXT_line_rasterization) */ 412 #if defined(VK_EXT_multi_draw) 413 PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT; 414 PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT; 415 #endif /* defined(VK_EXT_multi_draw) */ 416 #if defined(VK_EXT_pageable_device_local_memory) 417 PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT; 418 #endif /* defined(VK_EXT_pageable_device_local_memory) */ 419 #if defined(VK_EXT_private_data) 420 PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; 421 PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; 422 PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT; 423 PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT; 424 #endif /* defined(VK_EXT_private_data) */ 425 #if defined(VK_EXT_sample_locations) 426 PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT; 427 #endif /* defined(VK_EXT_sample_locations) */ 428 #if defined(VK_EXT_transform_feedback) 429 PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT; 430 PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; 431 PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; 432 PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; 433 PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT; 434 PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; 435 #endif /* defined(VK_EXT_transform_feedback) */ 436 #if defined(VK_EXT_validation_cache) 437 PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT; 438 PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT; 439 PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT; 440 PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT; 441 #endif /* defined(VK_EXT_validation_cache) */ 442 #if defined(VK_EXT_vertex_input_dynamic_state) 443 PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; 444 #endif /* defined(VK_EXT_vertex_input_dynamic_state) */ 445 #if defined(VK_FUCHSIA_buffer_collection) 446 PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA; 447 PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA; 448 PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA; 449 PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA; 450 PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA; 451 #endif /* defined(VK_FUCHSIA_buffer_collection) */ 452 #if defined(VK_FUCHSIA_external_memory) 453 PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA; 454 PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA; 455 #endif /* defined(VK_FUCHSIA_external_memory) */ 456 #if defined(VK_FUCHSIA_external_semaphore) 457 PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA; 458 PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA; 459 #endif /* defined(VK_FUCHSIA_external_semaphore) */ 460 #if defined(VK_GOOGLE_display_timing) 461 PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE; 462 PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE; 463 #endif /* defined(VK_GOOGLE_display_timing) */ 464 #if defined(VK_HUAWEI_invocation_mask) 465 PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI; 466 #endif /* defined(VK_HUAWEI_invocation_mask) */ 467 #if defined(VK_HUAWEI_subpass_shading) 468 PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; 469 PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; 470 #endif /* defined(VK_HUAWEI_subpass_shading) */ 471 #if defined(VK_INTEL_performance_query) 472 PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL; 473 PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL; 474 PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL; 475 PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL; 476 PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL; 477 PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL; 478 PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL; 479 PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL; 480 PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL; 481 #endif /* defined(VK_INTEL_performance_query) */ 482 #if defined(VK_KHR_acceleration_structure) 483 PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR; 484 PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR; 485 PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR; 486 PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR; 487 PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR; 488 PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR; 489 PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR; 490 PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR; 491 PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR; 492 PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR; 493 PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; 494 PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR; 495 PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR; 496 PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR; 497 PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR; 498 PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR; 499 #endif /* defined(VK_KHR_acceleration_structure) */ 500 #if defined(VK_KHR_bind_memory2) 501 PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; 502 PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; 503 #endif /* defined(VK_KHR_bind_memory2) */ 504 #if defined(VK_KHR_buffer_device_address) 505 PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; 506 PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; 507 PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; 508 #endif /* defined(VK_KHR_buffer_device_address) */ 509 #if defined(VK_KHR_copy_commands2) 510 PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR; 511 PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR; 512 PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR; 513 PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR; 514 PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR; 515 PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR; 516 #endif /* defined(VK_KHR_copy_commands2) */ 517 #if defined(VK_KHR_create_renderpass2) 518 PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR; 519 PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR; 520 PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR; 521 PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR; 522 #endif /* defined(VK_KHR_create_renderpass2) */ 523 #if defined(VK_KHR_deferred_host_operations) 524 PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR; 525 PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR; 526 PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR; 527 PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR; 528 PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR; 529 #endif /* defined(VK_KHR_deferred_host_operations) */ 530 #if defined(VK_KHR_descriptor_update_template) 531 PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; 532 PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; 533 PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; 534 #endif /* defined(VK_KHR_descriptor_update_template) */ 535 #if defined(VK_KHR_device_group) 536 PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; 537 PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR; 538 PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; 539 #endif /* defined(VK_KHR_device_group) */ 540 #if defined(VK_KHR_display_swapchain) 541 PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; 542 #endif /* defined(VK_KHR_display_swapchain) */ 543 #if defined(VK_KHR_draw_indirect_count) 544 PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR; 545 PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR; 546 #endif /* defined(VK_KHR_draw_indirect_count) */ 547 #if defined(VK_KHR_dynamic_rendering) 548 PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR; 549 PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR; 550 #endif /* defined(VK_KHR_dynamic_rendering) */ 551 #if defined(VK_KHR_external_fence_fd) 552 PFN_vkGetFenceFdKHR vkGetFenceFdKHR; 553 PFN_vkImportFenceFdKHR vkImportFenceFdKHR; 554 #endif /* defined(VK_KHR_external_fence_fd) */ 555 #if defined(VK_KHR_external_fence_win32) 556 PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR; 557 PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR; 558 #endif /* defined(VK_KHR_external_fence_win32) */ 559 #if defined(VK_KHR_external_memory_fd) 560 PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; 561 PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; 562 #endif /* defined(VK_KHR_external_memory_fd) */ 563 #if defined(VK_KHR_external_memory_win32) 564 PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; 565 PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; 566 #endif /* defined(VK_KHR_external_memory_win32) */ 567 #if defined(VK_KHR_external_semaphore_fd) 568 PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; 569 PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; 570 #endif /* defined(VK_KHR_external_semaphore_fd) */ 571 #if defined(VK_KHR_external_semaphore_win32) 572 PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; 573 PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; 574 #endif /* defined(VK_KHR_external_semaphore_win32) */ 575 #if defined(VK_KHR_fragment_shading_rate) 576 PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; 577 #endif /* defined(VK_KHR_fragment_shading_rate) */ 578 #if defined(VK_KHR_get_memory_requirements2) 579 PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; 580 PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; 581 PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; 582 #endif /* defined(VK_KHR_get_memory_requirements2) */ 583 #if defined(VK_KHR_maintenance1) 584 PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; 585 #endif /* defined(VK_KHR_maintenance1) */ 586 #if defined(VK_KHR_maintenance3) 587 PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; 588 #endif /* defined(VK_KHR_maintenance3) */ 589 #if defined(VK_KHR_maintenance4) 590 PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR; 591 PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR; 592 PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR; 593 #endif /* defined(VK_KHR_maintenance4) */ 594 #if defined(VK_KHR_performance_query) 595 PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR; 596 PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR; 597 #endif /* defined(VK_KHR_performance_query) */ 598 #if defined(VK_KHR_pipeline_executable_properties) 599 PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR; 600 PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR; 601 PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR; 602 #endif /* defined(VK_KHR_pipeline_executable_properties) */ 603 #if defined(VK_KHR_present_wait) 604 PFN_vkWaitForPresentKHR vkWaitForPresentKHR; 605 #endif /* defined(VK_KHR_present_wait) */ 606 #if defined(VK_KHR_push_descriptor) 607 PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; 608 #endif /* defined(VK_KHR_push_descriptor) */ 609 #if defined(VK_KHR_ray_tracing_pipeline) 610 PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; 611 PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; 612 PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; 613 PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR; 614 PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR; 615 PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR; 616 PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; 617 #endif /* defined(VK_KHR_ray_tracing_pipeline) */ 618 #if defined(VK_KHR_sampler_ycbcr_conversion) 619 PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; 620 PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; 621 #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */ 622 #if defined(VK_KHR_shared_presentable_image) 623 PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; 624 #endif /* defined(VK_KHR_shared_presentable_image) */ 625 #if defined(VK_KHR_swapchain) 626 PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; 627 PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; 628 PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; 629 PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; 630 PFN_vkQueuePresentKHR vkQueuePresentKHR; 631 #endif /* defined(VK_KHR_swapchain) */ 632 #if defined(VK_KHR_synchronization2) 633 PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR; 634 PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR; 635 PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR; 636 PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR; 637 PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR; 638 PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR; 639 #endif /* defined(VK_KHR_synchronization2) */ 640 #if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) 641 PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; 642 #endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */ 643 #if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) 644 PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV; 645 #endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */ 646 #if defined(VK_KHR_timeline_semaphore) 647 PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR; 648 PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; 649 PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR; 650 #endif /* defined(VK_KHR_timeline_semaphore) */ 651 #if defined(VK_KHR_video_decode_queue) 652 PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR; 653 #endif /* defined(VK_KHR_video_decode_queue) */ 654 #if defined(VK_KHR_video_encode_queue) 655 PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR; 656 #endif /* defined(VK_KHR_video_encode_queue) */ 657 #if defined(VK_KHR_video_queue) 658 PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR; 659 PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR; 660 PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR; 661 PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR; 662 PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR; 663 PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR; 664 PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR; 665 PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR; 666 PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR; 667 PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR; 668 #endif /* defined(VK_KHR_video_queue) */ 669 #if defined(VK_NVX_binary_import) 670 PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX; 671 PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX; 672 PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX; 673 PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX; 674 PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX; 675 #endif /* defined(VK_NVX_binary_import) */ 676 #if defined(VK_NVX_image_view_handle) 677 PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX; 678 PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX; 679 #endif /* defined(VK_NVX_image_view_handle) */ 680 #if defined(VK_NV_clip_space_w_scaling) 681 PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV; 682 #endif /* defined(VK_NV_clip_space_w_scaling) */ 683 #if defined(VK_NV_device_diagnostic_checkpoints) 684 PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV; 685 PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV; 686 #endif /* defined(VK_NV_device_diagnostic_checkpoints) */ 687 #if defined(VK_NV_device_generated_commands) 688 PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV; 689 PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; 690 PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV; 691 PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV; 692 PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV; 693 PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV; 694 #endif /* defined(VK_NV_device_generated_commands) */ 695 #if defined(VK_NV_external_memory_rdma) 696 PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV; 697 #endif /* defined(VK_NV_external_memory_rdma) */ 698 #if defined(VK_NV_external_memory_win32) 699 PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV; 700 #endif /* defined(VK_NV_external_memory_win32) */ 701 #if defined(VK_NV_fragment_shading_rate_enums) 702 PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV; 703 #endif /* defined(VK_NV_fragment_shading_rate_enums) */ 704 #if defined(VK_NV_mesh_shader) 705 PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV; 706 PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV; 707 PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV; 708 #endif /* defined(VK_NV_mesh_shader) */ 709 #if defined(VK_NV_ray_tracing) 710 PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV; 711 PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV; 712 PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV; 713 PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV; 714 PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV; 715 PFN_vkCompileDeferredNV vkCompileDeferredNV; 716 PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV; 717 PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV; 718 PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV; 719 PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV; 720 PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV; 721 PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV; 722 #endif /* defined(VK_NV_ray_tracing) */ 723 #if defined(VK_NV_scissor_exclusive) 724 PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV; 725 #endif /* defined(VK_NV_scissor_exclusive) */ 726 #if defined(VK_NV_shading_rate_image) 727 PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV; 728 PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV; 729 PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV; 730 #endif /* defined(VK_NV_shading_rate_image) */ 731 #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) 732 PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT; 733 #endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */ 734 #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) 735 PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; 736 #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */ 737 #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) 738 PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; 739 PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; 740 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ 741 #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) 742 PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; 743 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ 744 /* VOLK_GENERATE_DEVICE_TABLE */ 745 }; 746 747 /* VOLK_GENERATE_PROTOTYPES_H */ 748 #if defined(VK_VERSION_1_0) 749 extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; 750 extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; 751 extern PFN_vkAllocateMemory vkAllocateMemory; 752 extern PFN_vkBeginCommandBuffer vkBeginCommandBuffer; 753 extern PFN_vkBindBufferMemory vkBindBufferMemory; 754 extern PFN_vkBindImageMemory vkBindImageMemory; 755 extern PFN_vkCmdBeginQuery vkCmdBeginQuery; 756 extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; 757 extern PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; 758 extern PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; 759 extern PFN_vkCmdBindPipeline vkCmdBindPipeline; 760 extern PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; 761 extern PFN_vkCmdBlitImage vkCmdBlitImage; 762 extern PFN_vkCmdClearAttachments vkCmdClearAttachments; 763 extern PFN_vkCmdClearColorImage vkCmdClearColorImage; 764 extern PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; 765 extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer; 766 extern PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; 767 extern PFN_vkCmdCopyImage vkCmdCopyImage; 768 extern PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; 769 extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; 770 extern PFN_vkCmdDispatch vkCmdDispatch; 771 extern PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; 772 extern PFN_vkCmdDraw vkCmdDraw; 773 extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed; 774 extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; 775 extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect; 776 extern PFN_vkCmdEndQuery vkCmdEndQuery; 777 extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass; 778 extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands; 779 extern PFN_vkCmdFillBuffer vkCmdFillBuffer; 780 extern PFN_vkCmdNextSubpass vkCmdNextSubpass; 781 extern PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; 782 extern PFN_vkCmdPushConstants vkCmdPushConstants; 783 extern PFN_vkCmdResetEvent vkCmdResetEvent; 784 extern PFN_vkCmdResetQueryPool vkCmdResetQueryPool; 785 extern PFN_vkCmdResolveImage vkCmdResolveImage; 786 extern PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; 787 extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias; 788 extern PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; 789 extern PFN_vkCmdSetEvent vkCmdSetEvent; 790 extern PFN_vkCmdSetLineWidth vkCmdSetLineWidth; 791 extern PFN_vkCmdSetScissor vkCmdSetScissor; 792 extern PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; 793 extern PFN_vkCmdSetStencilReference vkCmdSetStencilReference; 794 extern PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; 795 extern PFN_vkCmdSetViewport vkCmdSetViewport; 796 extern PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; 797 extern PFN_vkCmdWaitEvents vkCmdWaitEvents; 798 extern PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; 799 extern PFN_vkCreateBuffer vkCreateBuffer; 800 extern PFN_vkCreateBufferView vkCreateBufferView; 801 extern PFN_vkCreateCommandPool vkCreateCommandPool; 802 extern PFN_vkCreateComputePipelines vkCreateComputePipelines; 803 extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool; 804 extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; 805 extern PFN_vkCreateDevice vkCreateDevice; 806 extern PFN_vkCreateEvent vkCreateEvent; 807 extern PFN_vkCreateFence vkCreateFence; 808 extern PFN_vkCreateFramebuffer vkCreateFramebuffer; 809 extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; 810 extern PFN_vkCreateImage vkCreateImage; 811 extern PFN_vkCreateImageView vkCreateImageView; 812 extern PFN_vkCreateInstance vkCreateInstance; 813 extern PFN_vkCreatePipelineCache vkCreatePipelineCache; 814 extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout; 815 extern PFN_vkCreateQueryPool vkCreateQueryPool; 816 extern PFN_vkCreateRenderPass vkCreateRenderPass; 817 extern PFN_vkCreateSampler vkCreateSampler; 818 extern PFN_vkCreateSemaphore vkCreateSemaphore; 819 extern PFN_vkCreateShaderModule vkCreateShaderModule; 820 extern PFN_vkDestroyBuffer vkDestroyBuffer; 821 extern PFN_vkDestroyBufferView vkDestroyBufferView; 822 extern PFN_vkDestroyCommandPool vkDestroyCommandPool; 823 extern PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; 824 extern PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; 825 extern PFN_vkDestroyDevice vkDestroyDevice; 826 extern PFN_vkDestroyEvent vkDestroyEvent; 827 extern PFN_vkDestroyFence vkDestroyFence; 828 extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer; 829 extern PFN_vkDestroyImage vkDestroyImage; 830 extern PFN_vkDestroyImageView vkDestroyImageView; 831 extern PFN_vkDestroyInstance vkDestroyInstance; 832 extern PFN_vkDestroyPipeline vkDestroyPipeline; 833 extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache; 834 extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; 835 extern PFN_vkDestroyQueryPool vkDestroyQueryPool; 836 extern PFN_vkDestroyRenderPass vkDestroyRenderPass; 837 extern PFN_vkDestroySampler vkDestroySampler; 838 extern PFN_vkDestroySemaphore vkDestroySemaphore; 839 extern PFN_vkDestroyShaderModule vkDestroyShaderModule; 840 extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle; 841 extern PFN_vkEndCommandBuffer vkEndCommandBuffer; 842 extern PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties; 843 extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties; 844 extern PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties; 845 extern PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties; 846 extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; 847 extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; 848 extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers; 849 extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets; 850 extern PFN_vkFreeMemory vkFreeMemory; 851 extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; 852 extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; 853 extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; 854 extern PFN_vkGetDeviceQueue vkGetDeviceQueue; 855 extern PFN_vkGetEventStatus vkGetEventStatus; 856 extern PFN_vkGetFenceStatus vkGetFenceStatus; 857 extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; 858 extern PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; 859 extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; 860 extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; 861 extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures; 862 extern PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; 863 extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; 864 extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; 865 extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; 866 extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties; 867 extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties; 868 extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData; 869 extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults; 870 extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; 871 extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; 872 extern PFN_vkMapMemory vkMapMemory; 873 extern PFN_vkMergePipelineCaches vkMergePipelineCaches; 874 extern PFN_vkQueueBindSparse vkQueueBindSparse; 875 extern PFN_vkQueueSubmit vkQueueSubmit; 876 extern PFN_vkQueueWaitIdle vkQueueWaitIdle; 877 extern PFN_vkResetCommandBuffer vkResetCommandBuffer; 878 extern PFN_vkResetCommandPool vkResetCommandPool; 879 extern PFN_vkResetDescriptorPool vkResetDescriptorPool; 880 extern PFN_vkResetEvent vkResetEvent; 881 extern PFN_vkResetFences vkResetFences; 882 extern PFN_vkSetEvent vkSetEvent; 883 extern PFN_vkUnmapMemory vkUnmapMemory; 884 extern PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; 885 extern PFN_vkWaitForFences vkWaitForFences; 886 #endif /* defined(VK_VERSION_1_0) */ 887 #if defined(VK_VERSION_1_1) 888 extern PFN_vkBindBufferMemory2 vkBindBufferMemory2; 889 extern PFN_vkBindImageMemory2 vkBindImageMemory2; 890 extern PFN_vkCmdDispatchBase vkCmdDispatchBase; 891 extern PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; 892 extern PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; 893 extern PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; 894 extern PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; 895 extern PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; 896 extern PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion; 897 extern PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups; 898 extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; 899 extern PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; 900 extern PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; 901 extern PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; 902 extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; 903 extern PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; 904 extern PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties; 905 extern PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties; 906 extern PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties; 907 extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; 908 extern PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2; 909 extern PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2; 910 extern PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2; 911 extern PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2; 912 extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2; 913 extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2; 914 extern PFN_vkTrimCommandPool vkTrimCommandPool; 915 extern PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; 916 #endif /* defined(VK_VERSION_1_1) */ 917 #if defined(VK_VERSION_1_2) 918 extern PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2; 919 extern PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; 920 extern PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; 921 extern PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2; 922 extern PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; 923 extern PFN_vkCreateRenderPass2 vkCreateRenderPass2; 924 extern PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress; 925 extern PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress; 926 extern PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress; 927 extern PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue; 928 extern PFN_vkResetQueryPool vkResetQueryPool; 929 extern PFN_vkSignalSemaphore vkSignalSemaphore; 930 extern PFN_vkWaitSemaphores vkWaitSemaphores; 931 #endif /* defined(VK_VERSION_1_2) */ 932 #if defined(VK_VERSION_1_3) 933 extern PFN_vkCmdBeginRendering vkCmdBeginRendering; 934 extern PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2; 935 extern PFN_vkCmdBlitImage2 vkCmdBlitImage2; 936 extern PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2; 937 extern PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2; 938 extern PFN_vkCmdCopyImage2 vkCmdCopyImage2; 939 extern PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2; 940 extern PFN_vkCmdEndRendering vkCmdEndRendering; 941 extern PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2; 942 extern PFN_vkCmdResetEvent2 vkCmdResetEvent2; 943 extern PFN_vkCmdResolveImage2 vkCmdResolveImage2; 944 extern PFN_vkCmdSetCullMode vkCmdSetCullMode; 945 extern PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable; 946 extern PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable; 947 extern PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp; 948 extern PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable; 949 extern PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable; 950 extern PFN_vkCmdSetEvent2 vkCmdSetEvent2; 951 extern PFN_vkCmdSetFrontFace vkCmdSetFrontFace; 952 extern PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable; 953 extern PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology; 954 extern PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable; 955 extern PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount; 956 extern PFN_vkCmdSetStencilOp vkCmdSetStencilOp; 957 extern PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable; 958 extern PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount; 959 extern PFN_vkCmdWaitEvents2 vkCmdWaitEvents2; 960 extern PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2; 961 extern PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot; 962 extern PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot; 963 extern PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements; 964 extern PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements; 965 extern PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements; 966 extern PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties; 967 extern PFN_vkGetPrivateData vkGetPrivateData; 968 extern PFN_vkQueueSubmit2 vkQueueSubmit2; 969 extern PFN_vkSetPrivateData vkSetPrivateData; 970 #endif /* defined(VK_VERSION_1_3) */ 971 #if defined(VK_AMD_buffer_marker) 972 extern PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD; 973 #endif /* defined(VK_AMD_buffer_marker) */ 974 #if defined(VK_AMD_display_native_hdr) 975 extern PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD; 976 #endif /* defined(VK_AMD_display_native_hdr) */ 977 #if defined(VK_AMD_draw_indirect_count) 978 extern PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD; 979 extern PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD; 980 #endif /* defined(VK_AMD_draw_indirect_count) */ 981 #if defined(VK_AMD_shader_info) 982 extern PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD; 983 #endif /* defined(VK_AMD_shader_info) */ 984 #if defined(VK_ANDROID_external_memory_android_hardware_buffer) 985 extern PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID; 986 extern PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID; 987 #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */ 988 #if defined(VK_EXT_acquire_drm_display) 989 extern PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT; 990 extern PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT; 991 #endif /* defined(VK_EXT_acquire_drm_display) */ 992 #if defined(VK_EXT_acquire_xlib_display) 993 extern PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT; 994 extern PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT; 995 #endif /* defined(VK_EXT_acquire_xlib_display) */ 996 #if defined(VK_EXT_buffer_device_address) 997 extern PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT; 998 #endif /* defined(VK_EXT_buffer_device_address) */ 999 #if defined(VK_EXT_calibrated_timestamps) 1000 extern PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT; 1001 extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT; 1002 #endif /* defined(VK_EXT_calibrated_timestamps) */ 1003 #if defined(VK_EXT_color_write_enable) 1004 extern PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT; 1005 #endif /* defined(VK_EXT_color_write_enable) */ 1006 #if defined(VK_EXT_conditional_rendering) 1007 extern PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT; 1008 extern PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT; 1009 #endif /* defined(VK_EXT_conditional_rendering) */ 1010 #if defined(VK_EXT_debug_marker) 1011 extern PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT; 1012 extern PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT; 1013 extern PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT; 1014 extern PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT; 1015 extern PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT; 1016 #endif /* defined(VK_EXT_debug_marker) */ 1017 #if defined(VK_EXT_debug_report) 1018 extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; 1019 extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; 1020 extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; 1021 #endif /* defined(VK_EXT_debug_report) */ 1022 #if defined(VK_EXT_debug_utils) 1023 extern PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; 1024 extern PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT; 1025 extern PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT; 1026 extern PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT; 1027 extern PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT; 1028 extern PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT; 1029 extern PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT; 1030 extern PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT; 1031 extern PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT; 1032 extern PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT; 1033 extern PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT; 1034 #endif /* defined(VK_EXT_debug_utils) */ 1035 #if defined(VK_EXT_direct_mode_display) 1036 extern PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT; 1037 #endif /* defined(VK_EXT_direct_mode_display) */ 1038 #if defined(VK_EXT_directfb_surface) 1039 extern PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT; 1040 extern PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT; 1041 #endif /* defined(VK_EXT_directfb_surface) */ 1042 #if defined(VK_EXT_discard_rectangles) 1043 extern PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT; 1044 #endif /* defined(VK_EXT_discard_rectangles) */ 1045 #if defined(VK_EXT_display_control) 1046 extern PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT; 1047 extern PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT; 1048 extern PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT; 1049 extern PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT; 1050 #endif /* defined(VK_EXT_display_control) */ 1051 #if defined(VK_EXT_display_surface_counter) 1052 extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT; 1053 #endif /* defined(VK_EXT_display_surface_counter) */ 1054 #if defined(VK_EXT_extended_dynamic_state) 1055 extern PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT; 1056 extern PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT; 1057 extern PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT; 1058 extern PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT; 1059 extern PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT; 1060 extern PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT; 1061 extern PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT; 1062 extern PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT; 1063 extern PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT; 1064 extern PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT; 1065 extern PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT; 1066 extern PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT; 1067 #endif /* defined(VK_EXT_extended_dynamic_state) */ 1068 #if defined(VK_EXT_extended_dynamic_state2) 1069 extern PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT; 1070 extern PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT; 1071 extern PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; 1072 extern PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT; 1073 extern PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; 1074 #endif /* defined(VK_EXT_extended_dynamic_state2) */ 1075 #if defined(VK_EXT_external_memory_host) 1076 extern PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; 1077 #endif /* defined(VK_EXT_external_memory_host) */ 1078 #if defined(VK_EXT_full_screen_exclusive) 1079 extern PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT; 1080 extern PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT; 1081 extern PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT; 1082 #endif /* defined(VK_EXT_full_screen_exclusive) */ 1083 #if defined(VK_EXT_hdr_metadata) 1084 extern PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT; 1085 #endif /* defined(VK_EXT_hdr_metadata) */ 1086 #if defined(VK_EXT_headless_surface) 1087 extern PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT; 1088 #endif /* defined(VK_EXT_headless_surface) */ 1089 #if defined(VK_EXT_host_query_reset) 1090 extern PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT; 1091 #endif /* defined(VK_EXT_host_query_reset) */ 1092 #if defined(VK_EXT_image_drm_format_modifier) 1093 extern PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT; 1094 #endif /* defined(VK_EXT_image_drm_format_modifier) */ 1095 #if defined(VK_EXT_line_rasterization) 1096 extern PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT; 1097 #endif /* defined(VK_EXT_line_rasterization) */ 1098 #if defined(VK_EXT_metal_surface) 1099 extern PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT; 1100 #endif /* defined(VK_EXT_metal_surface) */ 1101 #if defined(VK_EXT_multi_draw) 1102 extern PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT; 1103 extern PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT; 1104 #endif /* defined(VK_EXT_multi_draw) */ 1105 #if defined(VK_EXT_pageable_device_local_memory) 1106 extern PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT; 1107 #endif /* defined(VK_EXT_pageable_device_local_memory) */ 1108 #if defined(VK_EXT_private_data) 1109 extern PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; 1110 extern PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; 1111 extern PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT; 1112 extern PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT; 1113 #endif /* defined(VK_EXT_private_data) */ 1114 #if defined(VK_EXT_sample_locations) 1115 extern PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT; 1116 extern PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT; 1117 #endif /* defined(VK_EXT_sample_locations) */ 1118 #if defined(VK_EXT_tooling_info) 1119 extern PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT; 1120 #endif /* defined(VK_EXT_tooling_info) */ 1121 #if defined(VK_EXT_transform_feedback) 1122 extern PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT; 1123 extern PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; 1124 extern PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; 1125 extern PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; 1126 extern PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT; 1127 extern PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; 1128 #endif /* defined(VK_EXT_transform_feedback) */ 1129 #if defined(VK_EXT_validation_cache) 1130 extern PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT; 1131 extern PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT; 1132 extern PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT; 1133 extern PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT; 1134 #endif /* defined(VK_EXT_validation_cache) */ 1135 #if defined(VK_EXT_vertex_input_dynamic_state) 1136 extern PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; 1137 #endif /* defined(VK_EXT_vertex_input_dynamic_state) */ 1138 #if defined(VK_FUCHSIA_buffer_collection) 1139 extern PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA; 1140 extern PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA; 1141 extern PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA; 1142 extern PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA; 1143 extern PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA; 1144 #endif /* defined(VK_FUCHSIA_buffer_collection) */ 1145 #if defined(VK_FUCHSIA_external_memory) 1146 extern PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA; 1147 extern PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA; 1148 #endif /* defined(VK_FUCHSIA_external_memory) */ 1149 #if defined(VK_FUCHSIA_external_semaphore) 1150 extern PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA; 1151 extern PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA; 1152 #endif /* defined(VK_FUCHSIA_external_semaphore) */ 1153 #if defined(VK_FUCHSIA_imagepipe_surface) 1154 extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA; 1155 #endif /* defined(VK_FUCHSIA_imagepipe_surface) */ 1156 #if defined(VK_GGP_stream_descriptor_surface) 1157 extern PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP; 1158 #endif /* defined(VK_GGP_stream_descriptor_surface) */ 1159 #if defined(VK_GOOGLE_display_timing) 1160 extern PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE; 1161 extern PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE; 1162 #endif /* defined(VK_GOOGLE_display_timing) */ 1163 #if defined(VK_HUAWEI_invocation_mask) 1164 extern PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI; 1165 #endif /* defined(VK_HUAWEI_invocation_mask) */ 1166 #if defined(VK_HUAWEI_subpass_shading) 1167 extern PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; 1168 extern PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; 1169 #endif /* defined(VK_HUAWEI_subpass_shading) */ 1170 #if defined(VK_INTEL_performance_query) 1171 extern PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL; 1172 extern PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL; 1173 extern PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL; 1174 extern PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL; 1175 extern PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL; 1176 extern PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL; 1177 extern PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL; 1178 extern PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL; 1179 extern PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL; 1180 #endif /* defined(VK_INTEL_performance_query) */ 1181 #if defined(VK_KHR_acceleration_structure) 1182 extern PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR; 1183 extern PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR; 1184 extern PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR; 1185 extern PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR; 1186 extern PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR; 1187 extern PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR; 1188 extern PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR; 1189 extern PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR; 1190 extern PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR; 1191 extern PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR; 1192 extern PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; 1193 extern PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR; 1194 extern PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR; 1195 extern PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR; 1196 extern PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR; 1197 extern PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR; 1198 #endif /* defined(VK_KHR_acceleration_structure) */ 1199 #if defined(VK_KHR_android_surface) 1200 extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; 1201 #endif /* defined(VK_KHR_android_surface) */ 1202 #if defined(VK_KHR_bind_memory2) 1203 extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; 1204 extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; 1205 #endif /* defined(VK_KHR_bind_memory2) */ 1206 #if defined(VK_KHR_buffer_device_address) 1207 extern PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; 1208 extern PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; 1209 extern PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; 1210 #endif /* defined(VK_KHR_buffer_device_address) */ 1211 #if defined(VK_KHR_copy_commands2) 1212 extern PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR; 1213 extern PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR; 1214 extern PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR; 1215 extern PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR; 1216 extern PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR; 1217 extern PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR; 1218 #endif /* defined(VK_KHR_copy_commands2) */ 1219 #if defined(VK_KHR_create_renderpass2) 1220 extern PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR; 1221 extern PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR; 1222 extern PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR; 1223 extern PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR; 1224 #endif /* defined(VK_KHR_create_renderpass2) */ 1225 #if defined(VK_KHR_deferred_host_operations) 1226 extern PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR; 1227 extern PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR; 1228 extern PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR; 1229 extern PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR; 1230 extern PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR; 1231 #endif /* defined(VK_KHR_deferred_host_operations) */ 1232 #if defined(VK_KHR_descriptor_update_template) 1233 extern PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; 1234 extern PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; 1235 extern PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; 1236 #endif /* defined(VK_KHR_descriptor_update_template) */ 1237 #if defined(VK_KHR_device_group) 1238 extern PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; 1239 extern PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR; 1240 extern PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; 1241 #endif /* defined(VK_KHR_device_group) */ 1242 #if defined(VK_KHR_device_group_creation) 1243 extern PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR; 1244 #endif /* defined(VK_KHR_device_group_creation) */ 1245 #if defined(VK_KHR_display) 1246 extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR; 1247 extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR; 1248 extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR; 1249 extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR; 1250 extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR; 1251 extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR; 1252 extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR; 1253 #endif /* defined(VK_KHR_display) */ 1254 #if defined(VK_KHR_display_swapchain) 1255 extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; 1256 #endif /* defined(VK_KHR_display_swapchain) */ 1257 #if defined(VK_KHR_draw_indirect_count) 1258 extern PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR; 1259 extern PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR; 1260 #endif /* defined(VK_KHR_draw_indirect_count) */ 1261 #if defined(VK_KHR_dynamic_rendering) 1262 extern PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR; 1263 extern PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR; 1264 #endif /* defined(VK_KHR_dynamic_rendering) */ 1265 #if defined(VK_KHR_external_fence_capabilities) 1266 extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR; 1267 #endif /* defined(VK_KHR_external_fence_capabilities) */ 1268 #if defined(VK_KHR_external_fence_fd) 1269 extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR; 1270 extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR; 1271 #endif /* defined(VK_KHR_external_fence_fd) */ 1272 #if defined(VK_KHR_external_fence_win32) 1273 extern PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR; 1274 extern PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR; 1275 #endif /* defined(VK_KHR_external_fence_win32) */ 1276 #if defined(VK_KHR_external_memory_capabilities) 1277 extern PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR; 1278 #endif /* defined(VK_KHR_external_memory_capabilities) */ 1279 #if defined(VK_KHR_external_memory_fd) 1280 extern PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; 1281 extern PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; 1282 #endif /* defined(VK_KHR_external_memory_fd) */ 1283 #if defined(VK_KHR_external_memory_win32) 1284 extern PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; 1285 extern PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; 1286 #endif /* defined(VK_KHR_external_memory_win32) */ 1287 #if defined(VK_KHR_external_semaphore_capabilities) 1288 extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; 1289 #endif /* defined(VK_KHR_external_semaphore_capabilities) */ 1290 #if defined(VK_KHR_external_semaphore_fd) 1291 extern PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; 1292 extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; 1293 #endif /* defined(VK_KHR_external_semaphore_fd) */ 1294 #if defined(VK_KHR_external_semaphore_win32) 1295 extern PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; 1296 extern PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; 1297 #endif /* defined(VK_KHR_external_semaphore_win32) */ 1298 #if defined(VK_KHR_fragment_shading_rate) 1299 extern PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; 1300 extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR; 1301 #endif /* defined(VK_KHR_fragment_shading_rate) */ 1302 #if defined(VK_KHR_get_display_properties2) 1303 extern PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR; 1304 extern PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR; 1305 extern PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR; 1306 extern PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR; 1307 #endif /* defined(VK_KHR_get_display_properties2) */ 1308 #if defined(VK_KHR_get_memory_requirements2) 1309 extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; 1310 extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; 1311 extern PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; 1312 #endif /* defined(VK_KHR_get_memory_requirements2) */ 1313 #if defined(VK_KHR_get_physical_device_properties2) 1314 extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; 1315 extern PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR; 1316 extern PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR; 1317 extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR; 1318 extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; 1319 extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR; 1320 extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR; 1321 #endif /* defined(VK_KHR_get_physical_device_properties2) */ 1322 #if defined(VK_KHR_get_surface_capabilities2) 1323 extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR; 1324 extern PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR; 1325 #endif /* defined(VK_KHR_get_surface_capabilities2) */ 1326 #if defined(VK_KHR_maintenance1) 1327 extern PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; 1328 #endif /* defined(VK_KHR_maintenance1) */ 1329 #if defined(VK_KHR_maintenance3) 1330 extern PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; 1331 #endif /* defined(VK_KHR_maintenance3) */ 1332 #if defined(VK_KHR_maintenance4) 1333 extern PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR; 1334 extern PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR; 1335 extern PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR; 1336 #endif /* defined(VK_KHR_maintenance4) */ 1337 #if defined(VK_KHR_performance_query) 1338 extern PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR; 1339 extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR; 1340 extern PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR; 1341 extern PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR; 1342 #endif /* defined(VK_KHR_performance_query) */ 1343 #if defined(VK_KHR_pipeline_executable_properties) 1344 extern PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR; 1345 extern PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR; 1346 extern PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR; 1347 #endif /* defined(VK_KHR_pipeline_executable_properties) */ 1348 #if defined(VK_KHR_present_wait) 1349 extern PFN_vkWaitForPresentKHR vkWaitForPresentKHR; 1350 #endif /* defined(VK_KHR_present_wait) */ 1351 #if defined(VK_KHR_push_descriptor) 1352 extern PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; 1353 #endif /* defined(VK_KHR_push_descriptor) */ 1354 #if defined(VK_KHR_ray_tracing_pipeline) 1355 extern PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; 1356 extern PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; 1357 extern PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; 1358 extern PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR; 1359 extern PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR; 1360 extern PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR; 1361 extern PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; 1362 #endif /* defined(VK_KHR_ray_tracing_pipeline) */ 1363 #if defined(VK_KHR_sampler_ycbcr_conversion) 1364 extern PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; 1365 extern PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; 1366 #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */ 1367 #if defined(VK_KHR_shared_presentable_image) 1368 extern PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; 1369 #endif /* defined(VK_KHR_shared_presentable_image) */ 1370 #if defined(VK_KHR_surface) 1371 extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; 1372 extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; 1373 extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR; 1374 extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR; 1375 extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; 1376 #endif /* defined(VK_KHR_surface) */ 1377 #if defined(VK_KHR_swapchain) 1378 extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; 1379 extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; 1380 extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; 1381 extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; 1382 extern PFN_vkQueuePresentKHR vkQueuePresentKHR; 1383 #endif /* defined(VK_KHR_swapchain) */ 1384 #if defined(VK_KHR_synchronization2) 1385 extern PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR; 1386 extern PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR; 1387 extern PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR; 1388 extern PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR; 1389 extern PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR; 1390 extern PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR; 1391 #endif /* defined(VK_KHR_synchronization2) */ 1392 #if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) 1393 extern PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; 1394 #endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */ 1395 #if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) 1396 extern PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV; 1397 #endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */ 1398 #if defined(VK_KHR_timeline_semaphore) 1399 extern PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR; 1400 extern PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; 1401 extern PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR; 1402 #endif /* defined(VK_KHR_timeline_semaphore) */ 1403 #if defined(VK_KHR_video_decode_queue) 1404 extern PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR; 1405 #endif /* defined(VK_KHR_video_decode_queue) */ 1406 #if defined(VK_KHR_video_encode_queue) 1407 extern PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR; 1408 #endif /* defined(VK_KHR_video_encode_queue) */ 1409 #if defined(VK_KHR_video_queue) 1410 extern PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR; 1411 extern PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR; 1412 extern PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR; 1413 extern PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR; 1414 extern PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR; 1415 extern PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR; 1416 extern PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR; 1417 extern PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR; 1418 extern PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR; 1419 extern PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR; 1420 extern PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR; 1421 extern PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR; 1422 #endif /* defined(VK_KHR_video_queue) */ 1423 #if defined(VK_KHR_wayland_surface) 1424 extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR; 1425 extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR; 1426 #endif /* defined(VK_KHR_wayland_surface) */ 1427 #if defined(VK_KHR_win32_surface) 1428 extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; 1429 extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR; 1430 #endif /* defined(VK_KHR_win32_surface) */ 1431 #if defined(VK_KHR_xcb_surface) 1432 extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; 1433 extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; 1434 #endif /* defined(VK_KHR_xcb_surface) */ 1435 #if defined(VK_KHR_xlib_surface) 1436 extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; 1437 extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; 1438 #endif /* defined(VK_KHR_xlib_surface) */ 1439 #if defined(VK_MVK_ios_surface) 1440 extern PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK; 1441 #endif /* defined(VK_MVK_ios_surface) */ 1442 #if defined(VK_MVK_macos_surface) 1443 extern PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK; 1444 #endif /* defined(VK_MVK_macos_surface) */ 1445 #if defined(VK_NN_vi_surface) 1446 extern PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN; 1447 #endif /* defined(VK_NN_vi_surface) */ 1448 #if defined(VK_NVX_binary_import) 1449 extern PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX; 1450 extern PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX; 1451 extern PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX; 1452 extern PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX; 1453 extern PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX; 1454 #endif /* defined(VK_NVX_binary_import) */ 1455 #if defined(VK_NVX_image_view_handle) 1456 extern PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX; 1457 extern PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX; 1458 #endif /* defined(VK_NVX_image_view_handle) */ 1459 #if defined(VK_NV_acquire_winrt_display) 1460 extern PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV; 1461 extern PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV; 1462 #endif /* defined(VK_NV_acquire_winrt_display) */ 1463 #if defined(VK_NV_clip_space_w_scaling) 1464 extern PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV; 1465 #endif /* defined(VK_NV_clip_space_w_scaling) */ 1466 #if defined(VK_NV_cooperative_matrix) 1467 extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV; 1468 #endif /* defined(VK_NV_cooperative_matrix) */ 1469 #if defined(VK_NV_coverage_reduction_mode) 1470 extern PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV; 1471 #endif /* defined(VK_NV_coverage_reduction_mode) */ 1472 #if defined(VK_NV_device_diagnostic_checkpoints) 1473 extern PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV; 1474 extern PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV; 1475 #endif /* defined(VK_NV_device_diagnostic_checkpoints) */ 1476 #if defined(VK_NV_device_generated_commands) 1477 extern PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV; 1478 extern PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; 1479 extern PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV; 1480 extern PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV; 1481 extern PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV; 1482 extern PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV; 1483 #endif /* defined(VK_NV_device_generated_commands) */ 1484 #if defined(VK_NV_external_memory_capabilities) 1485 extern PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV; 1486 #endif /* defined(VK_NV_external_memory_capabilities) */ 1487 #if defined(VK_NV_external_memory_rdma) 1488 extern PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV; 1489 #endif /* defined(VK_NV_external_memory_rdma) */ 1490 #if defined(VK_NV_external_memory_win32) 1491 extern PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV; 1492 #endif /* defined(VK_NV_external_memory_win32) */ 1493 #if defined(VK_NV_fragment_shading_rate_enums) 1494 extern PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV; 1495 #endif /* defined(VK_NV_fragment_shading_rate_enums) */ 1496 #if defined(VK_NV_mesh_shader) 1497 extern PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV; 1498 extern PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV; 1499 extern PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV; 1500 #endif /* defined(VK_NV_mesh_shader) */ 1501 #if defined(VK_NV_ray_tracing) 1502 extern PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV; 1503 extern PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV; 1504 extern PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV; 1505 extern PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV; 1506 extern PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV; 1507 extern PFN_vkCompileDeferredNV vkCompileDeferredNV; 1508 extern PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV; 1509 extern PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV; 1510 extern PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV; 1511 extern PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV; 1512 extern PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV; 1513 extern PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV; 1514 #endif /* defined(VK_NV_ray_tracing) */ 1515 #if defined(VK_NV_scissor_exclusive) 1516 extern PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV; 1517 #endif /* defined(VK_NV_scissor_exclusive) */ 1518 #if defined(VK_NV_shading_rate_image) 1519 extern PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV; 1520 extern PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV; 1521 extern PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV; 1522 #endif /* defined(VK_NV_shading_rate_image) */ 1523 #if defined(VK_QNX_screen_surface) 1524 extern PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX; 1525 extern PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX; 1526 #endif /* defined(VK_QNX_screen_surface) */ 1527 #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) 1528 extern PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT; 1529 #endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */ 1530 #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) 1531 extern PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; 1532 #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */ 1533 #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) 1534 extern PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; 1535 extern PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; 1536 extern PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR; 1537 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ 1538 #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) 1539 extern PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; 1540 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ 1541 /* VOLK_GENERATE_PROTOTYPES_H */ 1542 1543 #ifdef __cplusplus 1544 } 1545 #endif 1546 1547 #endif 1548 1549 #ifdef VOLK_IMPLEMENTATION 1550 #undef VOLK_IMPLEMENTATION 1551 // Prevent tools like dependency checkers that don't evaluate 1552 // macros from detecting a cyclic dependency. 1553 #define VOLK_SOURCE "volk.c" 1554 #include VOLK_SOURCE 1555 #endif 1556 1557 /** 1558 * Copyright (c) 2018-2019 Arseny Kapoulkine 1559 * 1560 * Permission is hereby granted, free of charge, to any person obtaining a copy 1561 * of this software and associated documentation files (the "Software"), to deal 1562 * in the Software without restriction, including without limitation the rights 1563 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 1564 * copies of the Software, and to permit persons to whom the Software is 1565 * furnished to do so, subject to the following conditions: 1566 * 1567 * The above copyright notice and this permission notice shall be included in all 1568 * copies or substantial portions of the Software. 1569 * 1570 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1571 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1572 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 1573 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 1574 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 1575 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 1576 * SOFTWARE. 1577 */ 1578 /* clang-format on */ 1579