1 /* 2 * Copyright 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 // This file is generated. 17 #ifndef VULKAN_WRAPPER_H 18 #define VULKAN_WRAPPER_H 19 20 #ifdef __cplusplus 21 extern "C" { 22 #endif 23 24 #define VK_NO_PROTOTYPES 1 25 #include <vulkan/vulkan.h> 26 27 /* Initialize the Vulkan function pointer variables declared in this header. 28 * Returns 0 if vulkan is not available, non-zero if it is available. 29 */ 30 int InitVulkan(void); 31 32 // VK_core_0 33 extern PFN_vkCreateInstance vkCreateInstance; 34 extern PFN_vkDestroyInstance vkDestroyInstance; 35 extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; 36 extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures; 37 extern PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; 38 extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; 39 extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; 40 extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties; 41 extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; 42 extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; 43 extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; 44 extern PFN_vkCreateDevice vkCreateDevice; 45 extern PFN_vkDestroyDevice vkDestroyDevice; 46 extern PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties; 47 extern PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties; 48 extern PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties; 49 extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties; 50 extern PFN_vkGetDeviceQueue vkGetDeviceQueue; 51 extern PFN_vkQueueSubmit vkQueueSubmit; 52 extern PFN_vkQueueWaitIdle vkQueueWaitIdle; 53 extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle; 54 extern PFN_vkAllocateMemory vkAllocateMemory; 55 extern PFN_vkFreeMemory vkFreeMemory; 56 extern PFN_vkMapMemory vkMapMemory; 57 extern PFN_vkUnmapMemory vkUnmapMemory; 58 extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; 59 extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; 60 extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; 61 extern PFN_vkBindBufferMemory vkBindBufferMemory; 62 extern PFN_vkBindImageMemory vkBindImageMemory; 63 extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; 64 extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; 65 extern PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; 66 extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties; 67 extern PFN_vkQueueBindSparse vkQueueBindSparse; 68 extern PFN_vkCreateFence vkCreateFence; 69 extern PFN_vkDestroyFence vkDestroyFence; 70 extern PFN_vkResetFences vkResetFences; 71 extern PFN_vkGetFenceStatus vkGetFenceStatus; 72 extern PFN_vkWaitForFences vkWaitForFences; 73 extern PFN_vkCreateSemaphore vkCreateSemaphore; 74 extern PFN_vkDestroySemaphore vkDestroySemaphore; 75 extern PFN_vkCreateEvent vkCreateEvent; 76 extern PFN_vkDestroyEvent vkDestroyEvent; 77 extern PFN_vkGetEventStatus vkGetEventStatus; 78 extern PFN_vkSetEvent vkSetEvent; 79 extern PFN_vkResetEvent vkResetEvent; 80 extern PFN_vkCreateQueryPool vkCreateQueryPool; 81 extern PFN_vkDestroyQueryPool vkDestroyQueryPool; 82 extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults; 83 extern PFN_vkCreateBuffer vkCreateBuffer; 84 extern PFN_vkDestroyBuffer vkDestroyBuffer; 85 extern PFN_vkCreateBufferView vkCreateBufferView; 86 extern PFN_vkDestroyBufferView vkDestroyBufferView; 87 extern PFN_vkCreateImage vkCreateImage; 88 extern PFN_vkDestroyImage vkDestroyImage; 89 extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; 90 extern PFN_vkCreateImageView vkCreateImageView; 91 extern PFN_vkDestroyImageView vkDestroyImageView; 92 extern PFN_vkCreateShaderModule vkCreateShaderModule; 93 extern PFN_vkDestroyShaderModule vkDestroyShaderModule; 94 extern PFN_vkCreatePipelineCache vkCreatePipelineCache; 95 extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache; 96 extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData; 97 extern PFN_vkMergePipelineCaches vkMergePipelineCaches; 98 extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; 99 extern PFN_vkCreateComputePipelines vkCreateComputePipelines; 100 extern PFN_vkDestroyPipeline vkDestroyPipeline; 101 extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout; 102 extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; 103 extern PFN_vkCreateSampler vkCreateSampler; 104 extern PFN_vkDestroySampler vkDestroySampler; 105 extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; 106 extern PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; 107 extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool; 108 extern PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; 109 extern PFN_vkResetDescriptorPool vkResetDescriptorPool; 110 extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; 111 extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets; 112 extern PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; 113 extern PFN_vkCreateFramebuffer vkCreateFramebuffer; 114 extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer; 115 extern PFN_vkCreateRenderPass vkCreateRenderPass; 116 extern PFN_vkDestroyRenderPass vkDestroyRenderPass; 117 extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; 118 extern PFN_vkCreateCommandPool vkCreateCommandPool; 119 extern PFN_vkDestroyCommandPool vkDestroyCommandPool; 120 extern PFN_vkResetCommandPool vkResetCommandPool; 121 extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; 122 extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers; 123 extern PFN_vkBeginCommandBuffer vkBeginCommandBuffer; 124 extern PFN_vkEndCommandBuffer vkEndCommandBuffer; 125 extern PFN_vkResetCommandBuffer vkResetCommandBuffer; 126 extern PFN_vkCmdBindPipeline vkCmdBindPipeline; 127 extern PFN_vkCmdSetViewport vkCmdSetViewport; 128 extern PFN_vkCmdSetScissor vkCmdSetScissor; 129 extern PFN_vkCmdSetLineWidth vkCmdSetLineWidth; 130 extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias; 131 extern PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; 132 extern PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; 133 extern PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; 134 extern PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; 135 extern PFN_vkCmdSetStencilReference vkCmdSetStencilReference; 136 extern PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; 137 extern PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; 138 extern PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; 139 extern PFN_vkCmdDraw vkCmdDraw; 140 extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed; 141 extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect; 142 extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; 143 extern PFN_vkCmdDispatch vkCmdDispatch; 144 extern PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; 145 extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer; 146 extern PFN_vkCmdCopyImage vkCmdCopyImage; 147 extern PFN_vkCmdBlitImage vkCmdBlitImage; 148 extern PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; 149 extern PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; 150 extern PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; 151 extern PFN_vkCmdFillBuffer vkCmdFillBuffer; 152 extern PFN_vkCmdClearColorImage vkCmdClearColorImage; 153 extern PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; 154 extern PFN_vkCmdClearAttachments vkCmdClearAttachments; 155 extern PFN_vkCmdResolveImage vkCmdResolveImage; 156 extern PFN_vkCmdSetEvent vkCmdSetEvent; 157 extern PFN_vkCmdResetEvent vkCmdResetEvent; 158 extern PFN_vkCmdWaitEvents vkCmdWaitEvents; 159 extern PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; 160 extern PFN_vkCmdBeginQuery vkCmdBeginQuery; 161 extern PFN_vkCmdEndQuery vkCmdEndQuery; 162 extern PFN_vkCmdResetQueryPool vkCmdResetQueryPool; 163 extern PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; 164 extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; 165 extern PFN_vkCmdPushConstants vkCmdPushConstants; 166 extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; 167 extern PFN_vkCmdNextSubpass vkCmdNextSubpass; 168 extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass; 169 extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands; 170 171 // VK_core_1 172 extern PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion; 173 extern PFN_vkBindBufferMemory2 vkBindBufferMemory2; 174 extern PFN_vkBindImageMemory2 vkBindImageMemory2; 175 extern PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; 176 extern PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; 177 extern PFN_vkCmdDispatchBase vkCmdDispatchBase; 178 extern PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups; 179 extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; 180 extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; 181 extern PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; 182 extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; 183 extern PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2; 184 extern PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2; 185 extern PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2; 186 extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2; 187 extern PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2; 188 extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2; 189 extern PFN_vkTrimCommandPool vkTrimCommandPool; 190 extern PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; 191 extern PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; 192 extern PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; 193 extern PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; 194 extern PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; 195 extern PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; 196 extern PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties; 197 extern PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties; 198 extern PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties; 199 extern PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; 200 201 // VK_KHR_surface 202 extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; 203 extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; 204 extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; 205 extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR; 206 extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR; 207 208 // VK_KHR_swapchain 209 extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; 210 extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; 211 extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; 212 extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; 213 extern PFN_vkQueuePresentKHR vkQueuePresentKHR; 214 extern PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; 215 extern PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; 216 extern PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR; 217 extern PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; 218 219 // VK_KHR_display 220 extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR; 221 extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR; 222 extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR; 223 extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR; 224 extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR; 225 extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR; 226 extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR; 227 228 // VK_KHR_display_swapchain 229 extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; 230 231 // VK_KHR_sampler_mirror_clamp_to_edge 232 233 // VK_KHR_multiview 234 235 // VK_KHR_get_physical_device_properties2 236 extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; 237 extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; 238 extern PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR; 239 extern PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR; 240 extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR; 241 extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR; 242 extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR; 243 244 // VK_KHR_device_group 245 extern PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; 246 extern PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR; 247 extern PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; 248 249 // VK_KHR_shader_draw_parameters 250 251 // VK_KHR_maintenance1 252 extern PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; 253 254 // VK_KHR_device_group_creation 255 extern PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR; 256 257 // VK_KHR_external_memory_capabilities 258 extern PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR; 259 260 // VK_KHR_external_memory 261 262 // VK_KHR_external_memory_fd 263 extern PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; 264 extern PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; 265 266 // VK_KHR_external_semaphore_capabilities 267 extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; 268 269 // VK_KHR_external_semaphore 270 271 // VK_KHR_external_semaphore_fd 272 extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; 273 extern PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; 274 275 // VK_KHR_push_descriptor 276 extern PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; 277 extern PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; 278 279 // VK_KHR_16bit_storage 280 281 // VK_KHR_incremental_present 282 283 // VK_KHR_descriptor_update_template 284 extern PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; 285 extern PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; 286 extern PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; 287 288 // VK_KHR_shared_presentable_image 289 extern PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; 290 291 // VK_KHR_external_fence_capabilities 292 extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR; 293 294 // VK_KHR_external_fence 295 296 // VK_KHR_external_fence_fd 297 extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR; 298 extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR; 299 300 // VK_KHR_maintenance2 301 302 // VK_KHR_get_surface_capabilities2 303 extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR; 304 extern PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR; 305 306 // VK_KHR_variable_pointers 307 308 // VK_KHR_dedicated_allocation 309 310 // VK_KHR_storage_buffer_storage_class 311 312 // VK_KHR_relaxed_block_layout 313 314 // VK_KHR_get_memory_requirements2 315 extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; 316 extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; 317 extern PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; 318 319 // VK_KHR_image_format_list 320 321 // VK_KHR_sampler_ycbcr_conversion 322 extern PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; 323 extern PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; 324 325 // VK_KHR_bind_memory2 326 extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; 327 extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; 328 329 // VK_KHR_maintenance3 330 extern PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; 331 332 #ifdef VK_USE_PLATFORM_ANDROID_KHR 333 // VK_KHR_android_surface 334 extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; 335 #endif 336 337 #ifdef VK_USE_PLATFORM_MIR_KHR 338 // VK_KHR_mir_surface 339 extern PFN_vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR; 340 extern PFN_vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR; 341 #endif 342 343 #ifdef VK_USE_PLATFORM_WAYLAND_KHR 344 // VK_KHR_wayland_surface 345 extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR; 346 extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR; 347 #endif 348 349 #ifdef VK_USE_PLATFORM_WIN32_KHR 350 // VK_KHR_win32_surface 351 extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; 352 extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR; 353 #endif 354 355 #ifdef VK_USE_PLATFORM_WIN32_KHR 356 // VK_KHR_external_memory_win32 357 extern PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; 358 extern PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; 359 #endif 360 361 #ifdef VK_USE_PLATFORM_WIN32_KHR 362 // VK_KHR_win32_keyed_mutex 363 #endif 364 365 #ifdef VK_USE_PLATFORM_WIN32_KHR 366 // VK_KHR_external_semaphore_win32 367 extern PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; 368 extern PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; 369 #endif 370 371 #ifdef VK_USE_PLATFORM_WIN32_KHR 372 // VK_KHR_external_fence_win32 373 extern PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR; 374 extern PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR; 375 #endif 376 377 #ifdef VK_USE_PLATFORM_XCB_KHR 378 // VK_KHR_xcb_surface 379 extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; 380 extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; 381 #endif 382 383 #ifdef VK_USE_PLATFORM_XLIB_KHR 384 // VK_KHR_xlib_surface 385 extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; 386 extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; 387 #endif 388 389 #ifdef __cplusplus 390 } 391 #endif 392 393 #endif // VULKAN_WRAPPER_H 394