• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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