#pragma once #define VK_NO_PROTOTYPES #include "vulkan/vulkan_core.h" #define Vulkan_Function(fn) extern PFN_##fn fn; typedef unsigned uint; Vulkan_Function(vkAllocationFunction); Vulkan_Function(vkReallocationFunction); Vulkan_Function(vkFreeFunction); Vulkan_Function(vkInternalAllocationNotification); Vulkan_Function(vkInternalFreeNotification); Vulkan_Function(vkVoidFunction); Vulkan_Function(vkCreateInstance); Vulkan_Function(vkDestroyInstance); Vulkan_Function(vkEnumeratePhysicalDevices); Vulkan_Function(vkGetPhysicalDeviceFeatures); Vulkan_Function(vkGetPhysicalDeviceFormatProperties); Vulkan_Function(vkGetPhysicalDeviceImageFormatProperties); Vulkan_Function(vkGetPhysicalDeviceProperties); Vulkan_Function(vkGetPhysicalDeviceQueueFamilyProperties); Vulkan_Function(vkGetPhysicalDeviceMemoryProperties); Vulkan_Function(vkGetInstanceProcAddr); Vulkan_Function(vkGetDeviceProcAddr); Vulkan_Function(vkCreateDevice); Vulkan_Function(vkDestroyDevice); Vulkan_Function(vkEnumerateInstanceExtensionProperties); Vulkan_Function(vkEnumerateDeviceExtensionProperties); Vulkan_Function(vkEnumerateInstanceLayerProperties); Vulkan_Function(vkEnumerateDeviceLayerProperties); Vulkan_Function(vkGetDeviceQueue); Vulkan_Function(vkQueueSubmit); Vulkan_Function(vkQueueWaitIdle); Vulkan_Function(vkDeviceWaitIdle); Vulkan_Function(vkAllocateMemory); Vulkan_Function(vkFreeMemory); Vulkan_Function(vkMapMemory); Vulkan_Function(vkUnmapMemory); Vulkan_Function(vkFlushMappedMemoryRanges); Vulkan_Function(vkInvalidateMappedMemoryRanges); Vulkan_Function(vkGetDeviceMemoryCommitment); Vulkan_Function(vkBindBufferMemory); Vulkan_Function(vkBindImageMemory); Vulkan_Function(vkGetBufferMemoryRequirements); Vulkan_Function(vkGetImageMemoryRequirements); Vulkan_Function(vkGetImageSparseMemoryRequirements); Vulkan_Function(vkGetPhysicalDeviceSparseImageFormatProperties); Vulkan_Function(vkQueueBindSparse); Vulkan_Function(vkCreateFence); Vulkan_Function(vkDestroyFence); Vulkan_Function(vkResetFences); Vulkan_Function(vkGetFenceStatus); Vulkan_Function(vkWaitForFences); Vulkan_Function(vkCreateSemaphore); Vulkan_Function(vkDestroySemaphore); Vulkan_Function(vkCreateEvent); Vulkan_Function(vkDestroyEvent); Vulkan_Function(vkGetEventStatus); Vulkan_Function(vkSetEvent); Vulkan_Function(vkResetEvent); Vulkan_Function(vkCreateQueryPool); Vulkan_Function(vkDestroyQueryPool); Vulkan_Function(vkGetQueryPoolResults); Vulkan_Function(vkCreateBuffer); Vulkan_Function(vkDestroyBuffer); Vulkan_Function(vkCreateBufferView); Vulkan_Function(vkDestroyBufferView); Vulkan_Function(vkCreateImage); Vulkan_Function(vkDestroyImage); Vulkan_Function(vkGetImageSubresourceLayout); Vulkan_Function(vkCreateImageView); Vulkan_Function(vkDestroyImageView); Vulkan_Function(vkCreateShaderModule); Vulkan_Function(vkDestroyShaderModule); Vulkan_Function(vkCreatePipelineCache); Vulkan_Function(vkDestroyPipelineCache); Vulkan_Function(vkGetPipelineCacheData); Vulkan_Function(vkMergePipelineCaches); Vulkan_Function(vkCreateGraphicsPipelines); Vulkan_Function(vkCreateComputePipelines); Vulkan_Function(vkDestroyPipeline); Vulkan_Function(vkCreatePipelineLayout); Vulkan_Function(vkDestroyPipelineLayout); Vulkan_Function(vkCreateSampler); Vulkan_Function(vkDestroySampler); Vulkan_Function(vkCreateDescriptorSetLayout); Vulkan_Function(vkDestroyDescriptorSetLayout); Vulkan_Function(vkCreateDescriptorPool); Vulkan_Function(vkDestroyDescriptorPool); Vulkan_Function(vkResetDescriptorPool); Vulkan_Function(vkAllocateDescriptorSets); Vulkan_Function(vkFreeDescriptorSets); Vulkan_Function(vkUpdateDescriptorSets); Vulkan_Function(vkCreateFramebuffer); Vulkan_Function(vkDestroyFramebuffer); Vulkan_Function(vkCreateRenderPass); Vulkan_Function(vkDestroyRenderPass); Vulkan_Function(vkGetRenderAreaGranularity); Vulkan_Function(vkCreateCommandPool); Vulkan_Function(vkDestroyCommandPool); Vulkan_Function(vkResetCommandPool); Vulkan_Function(vkAllocateCommandBuffers); Vulkan_Function(vkFreeCommandBuffers); Vulkan_Function(vkBeginCommandBuffer); Vulkan_Function(vkEndCommandBuffer); Vulkan_Function(vkResetCommandBuffer); Vulkan_Function(vkCmdBindPipeline); Vulkan_Function(vkCmdSetViewport); Vulkan_Function(vkCmdSetScissor); Vulkan_Function(vkCmdSetLineWidth); Vulkan_Function(vkCmdSetDepthBias); Vulkan_Function(vkCmdSetBlendConstants); Vulkan_Function(vkCmdSetDepthBounds); Vulkan_Function(vkCmdSetStencilCompareMask); Vulkan_Function(vkCmdSetStencilWriteMask); Vulkan_Function(vkCmdSetStencilReference); Vulkan_Function(vkCmdBindDescriptorSets); Vulkan_Function(vkCmdBindIndexBuffer); Vulkan_Function(vkCmdBindVertexBuffers); Vulkan_Function(vkCmdDraw); Vulkan_Function(vkCmdDrawIndexed); Vulkan_Function(vkCmdDrawIndirect); Vulkan_Function(vkCmdDrawIndexedIndirect); Vulkan_Function(vkCmdDispatch); Vulkan_Function(vkCmdDispatchIndirect); Vulkan_Function(vkCmdCopyBuffer); Vulkan_Function(vkCmdCopyImage); Vulkan_Function(vkCmdBlitImage); Vulkan_Function(vkCmdCopyBufferToImage); Vulkan_Function(vkCmdCopyImageToBuffer); Vulkan_Function(vkCmdUpdateBuffer); Vulkan_Function(vkCmdFillBuffer); Vulkan_Function(vkCmdClearColorImage); Vulkan_Function(vkCmdClearDepthStencilImage); Vulkan_Function(vkCmdClearAttachments); Vulkan_Function(vkCmdResolveImage); Vulkan_Function(vkCmdSetEvent); Vulkan_Function(vkCmdResetEvent); Vulkan_Function(vkCmdWaitEvents); Vulkan_Function(vkCmdPipelineBarrier); Vulkan_Function(vkCmdBeginQuery); Vulkan_Function(vkCmdEndQuery); Vulkan_Function(vkCmdResetQueryPool); Vulkan_Function(vkCmdWriteTimestamp); Vulkan_Function(vkCmdCopyQueryPoolResults); Vulkan_Function(vkCmdPushConstants); Vulkan_Function(vkCmdBeginRenderPass); Vulkan_Function(vkCmdNextSubpass); Vulkan_Function(vkCmdEndRenderPass); Vulkan_Function(vkCmdExecuteCommands); Vulkan_Function(vkEnumerateInstanceVersion); Vulkan_Function(vkBindBufferMemory2); Vulkan_Function(vkBindImageMemory2); Vulkan_Function(vkGetDeviceGroupPeerMemoryFeatures); Vulkan_Function(vkCmdSetDeviceMask); Vulkan_Function(vkCmdDispatchBase); Vulkan_Function(vkEnumeratePhysicalDeviceGroups); Vulkan_Function(vkGetImageMemoryRequirements2); Vulkan_Function(vkGetBufferMemoryRequirements2); Vulkan_Function(vkGetImageSparseMemoryRequirements2); Vulkan_Function(vkGetPhysicalDeviceFeatures2); Vulkan_Function(vkGetPhysicalDeviceProperties2); Vulkan_Function(vkGetPhysicalDeviceFormatProperties2); Vulkan_Function(vkGetPhysicalDeviceImageFormatProperties2); Vulkan_Function(vkGetPhysicalDeviceQueueFamilyProperties2); Vulkan_Function(vkGetPhysicalDeviceMemoryProperties2); Vulkan_Function(vkGetPhysicalDeviceSparseImageFormatProperties2); Vulkan_Function(vkTrimCommandPool); Vulkan_Function(vkGetDeviceQueue2); Vulkan_Function(vkCreateSamplerYcbcrConversion); Vulkan_Function(vkDestroySamplerYcbcrConversion); Vulkan_Function(vkCreateDescriptorUpdateTemplate); Vulkan_Function(vkDestroyDescriptorUpdateTemplate); Vulkan_Function(vkUpdateDescriptorSetWithTemplate); Vulkan_Function(vkGetPhysicalDeviceExternalBufferProperties); Vulkan_Function(vkGetPhysicalDeviceExternalFenceProperties); Vulkan_Function(vkGetPhysicalDeviceExternalSemaphoreProperties); Vulkan_Function(vkGetDescriptorSetLayoutSupport); Vulkan_Function(vkCmdDrawIndirectCount); Vulkan_Function(vkCmdDrawIndexedIndirectCount); Vulkan_Function(vkCreateRenderPass2); Vulkan_Function(vkCmdBeginRenderPass2); Vulkan_Function(vkCmdNextSubpass2); Vulkan_Function(vkCmdEndRenderPass2); Vulkan_Function(vkResetQueryPool); Vulkan_Function(vkGetSemaphoreCounterValue); Vulkan_Function(vkWaitSemaphores); Vulkan_Function(vkSignalSemaphore); Vulkan_Function(vkGetBufferDeviceAddress); Vulkan_Function(vkGetBufferOpaqueCaptureAddress); Vulkan_Function(vkGetDeviceMemoryOpaqueCaptureAddress); Vulkan_Function(vkDestroySurfaceKHR); Vulkan_Function(vkGetPhysicalDeviceSurfaceSupportKHR); Vulkan_Function(vkGetPhysicalDeviceSurfaceCapabilitiesKHR); Vulkan_Function(vkGetPhysicalDeviceSurfaceFormatsKHR); Vulkan_Function(vkGetPhysicalDeviceSurfacePresentModesKHR); Vulkan_Function(vkCreateSwapchainKHR); Vulkan_Function(vkDestroySwapchainKHR); Vulkan_Function(vkGetSwapchainImagesKHR); Vulkan_Function(vkAcquireNextImageKHR); Vulkan_Function(vkQueuePresentKHR); Vulkan_Function(vkGetDeviceGroupPresentCapabilitiesKHR); Vulkan_Function(vkGetDeviceGroupSurfacePresentModesKHR); Vulkan_Function(vkGetPhysicalDevicePresentRectanglesKHR); Vulkan_Function(vkAcquireNextImage2KHR); Vulkan_Function(vkGetPhysicalDeviceDisplayPropertiesKHR); Vulkan_Function(vkGetPhysicalDeviceDisplayPlanePropertiesKHR); Vulkan_Function(vkGetDisplayPlaneSupportedDisplaysKHR); Vulkan_Function(vkGetDisplayModePropertiesKHR); Vulkan_Function(vkCreateDisplayModeKHR); Vulkan_Function(vkGetDisplayPlaneCapabilitiesKHR); Vulkan_Function(vkCreateDisplayPlaneSurfaceKHR); Vulkan_Function(vkCreateSharedSwapchainsKHR); Vulkan_Function(vkGetPhysicalDeviceFeatures2KHR); Vulkan_Function(vkGetPhysicalDeviceProperties2KHR); Vulkan_Function(vkGetPhysicalDeviceFormatProperties2KHR); Vulkan_Function(vkGetPhysicalDeviceImageFormatProperties2KHR); Vulkan_Function(vkGetPhysicalDeviceQueueFamilyProperties2KHR); Vulkan_Function(vkGetPhysicalDeviceMemoryProperties2KHR); Vulkan_Function(vkGetPhysicalDeviceSparseImageFormatProperties2KHR); Vulkan_Function(vkGetDeviceGroupPeerMemoryFeaturesKHR); Vulkan_Function(vkCmdSetDeviceMaskKHR); Vulkan_Function(vkCmdDispatchBaseKHR); Vulkan_Function(vkTrimCommandPoolKHR); Vulkan_Function(vkEnumeratePhysicalDeviceGroupsKHR); Vulkan_Function(vkGetPhysicalDeviceExternalBufferPropertiesKHR); Vulkan_Function(vkGetMemoryFdKHR); Vulkan_Function(vkGetMemoryFdPropertiesKHR); Vulkan_Function(vkGetPhysicalDeviceExternalSemaphorePropertiesKHR); Vulkan_Function(vkImportSemaphoreFdKHR); Vulkan_Function(vkGetSemaphoreFdKHR); Vulkan_Function(vkCmdPushDescriptorSetKHR); Vulkan_Function(vkCmdPushDescriptorSetWithTemplateKHR); Vulkan_Function(vkCreateDescriptorUpdateTemplateKHR); Vulkan_Function(vkDestroyDescriptorUpdateTemplateKHR); Vulkan_Function(vkUpdateDescriptorSetWithTemplateKHR); Vulkan_Function(vkCreateRenderPass2KHR); Vulkan_Function(vkCmdBeginRenderPass2KHR); Vulkan_Function(vkCmdNextSubpass2KHR); Vulkan_Function(vkCmdEndRenderPass2KHR); Vulkan_Function(vkGetSwapchainStatusKHR); Vulkan_Function(vkGetPhysicalDeviceExternalFencePropertiesKHR); Vulkan_Function(vkImportFenceFdKHR); Vulkan_Function(vkGetFenceFdKHR); Vulkan_Function(vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR); Vulkan_Function(vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR); Vulkan_Function(vkAcquireProfilingLockKHR); Vulkan_Function(vkReleaseProfilingLockKHR); Vulkan_Function(vkGetPhysicalDeviceSurfaceCapabilities2KHR); Vulkan_Function(vkGetPhysicalDeviceSurfaceFormats2KHR); Vulkan_Function(vkGetPhysicalDeviceDisplayProperties2KHR); Vulkan_Function(vkGetPhysicalDeviceDisplayPlaneProperties2KHR); Vulkan_Function(vkGetDisplayModeProperties2KHR); Vulkan_Function(vkGetDisplayPlaneCapabilities2KHR); Vulkan_Function(vkGetImageMemoryRequirements2KHR); Vulkan_Function(vkGetBufferMemoryRequirements2KHR); Vulkan_Function(vkGetImageSparseMemoryRequirements2KHR); Vulkan_Function(vkCreateSamplerYcbcrConversionKHR); Vulkan_Function(vkDestroySamplerYcbcrConversionKHR); Vulkan_Function(vkBindBufferMemory2KHR); Vulkan_Function(vkBindImageMemory2KHR); Vulkan_Function(vkGetDescriptorSetLayoutSupportKHR); Vulkan_Function(vkCmdDrawIndirectCountKHR); Vulkan_Function(vkCmdDrawIndexedIndirectCountKHR); Vulkan_Function(vkGetSemaphoreCounterValueKHR); Vulkan_Function(vkWaitSemaphoresKHR); Vulkan_Function(vkSignalSemaphoreKHR); Vulkan_Function(vkGetBufferDeviceAddressKHR); Vulkan_Function(vkGetBufferOpaqueCaptureAddressKHR); Vulkan_Function(vkGetDeviceMemoryOpaqueCaptureAddressKHR); Vulkan_Function(vkGetPipelineExecutablePropertiesKHR); Vulkan_Function(vkGetPipelineExecutableStatisticsKHR); Vulkan_Function(vkGetPipelineExecutableInternalRepresentationsKHR); Vulkan_Function(vkDebugReportCallbackEXT); Vulkan_Function(vkCreateDebugReportCallbackEXT); Vulkan_Function(vkDestroyDebugReportCallbackEXT); Vulkan_Function(vkDebugReportMessageEXT); Vulkan_Function(vkDebugMarkerSetObjectTagEXT); Vulkan_Function(vkDebugMarkerSetObjectNameEXT); Vulkan_Function(vkCmdDebugMarkerBeginEXT); Vulkan_Function(vkCmdDebugMarkerEndEXT); Vulkan_Function(vkCmdDebugMarkerInsertEXT); Vulkan_Function(vkCmdBindTransformFeedbackBuffersEXT); Vulkan_Function(vkCmdBeginTransformFeedbackEXT); Vulkan_Function(vkCmdEndTransformFeedbackEXT); Vulkan_Function(vkCmdBeginQueryIndexedEXT); Vulkan_Function(vkCmdEndQueryIndexedEXT); Vulkan_Function(vkCmdDrawIndirectByteCountEXT); Vulkan_Function(vkGetImageViewHandleNVX); Vulkan_Function(vkGetImageViewAddressNVX); Vulkan_Function(vkCmdDrawIndirectCountAMD); Vulkan_Function(vkCmdDrawIndexedIndirectCountAMD); Vulkan_Function(vkGetShaderInfoAMD); Vulkan_Function(vkGetPhysicalDeviceExternalImageFormatPropertiesNV); Vulkan_Function(vkCmdBeginConditionalRenderingEXT); Vulkan_Function(vkCmdEndConditionalRenderingEXT); Vulkan_Function(vkCmdSetViewportWScalingNV); Vulkan_Function(vkReleaseDisplayEXT); Vulkan_Function(vkGetPhysicalDeviceSurfaceCapabilities2EXT); Vulkan_Function(vkDisplayPowerControlEXT); Vulkan_Function(vkRegisterDeviceEventEXT); Vulkan_Function(vkRegisterDisplayEventEXT); Vulkan_Function(vkGetSwapchainCounterEXT); Vulkan_Function(vkGetRefreshCycleDurationGOOGLE); Vulkan_Function(vkGetPastPresentationTimingGOOGLE); Vulkan_Function(vkCmdSetDiscardRectangleEXT); Vulkan_Function(vkSetHdrMetadataEXT); Vulkan_Function(vkDebugUtilsMessengerCallbackEXT); Vulkan_Function(vkSetDebugUtilsObjectNameEXT); Vulkan_Function(vkSetDebugUtilsObjectTagEXT); Vulkan_Function(vkQueueBeginDebugUtilsLabelEXT); Vulkan_Function(vkQueueEndDebugUtilsLabelEXT); Vulkan_Function(vkQueueInsertDebugUtilsLabelEXT); Vulkan_Function(vkCmdBeginDebugUtilsLabelEXT); Vulkan_Function(vkCmdEndDebugUtilsLabelEXT); Vulkan_Function(vkCmdInsertDebugUtilsLabelEXT); Vulkan_Function(vkCreateDebugUtilsMessengerEXT); Vulkan_Function(vkDestroyDebugUtilsMessengerEXT); Vulkan_Function(vkSubmitDebugUtilsMessageEXT); Vulkan_Function(vkCmdSetSampleLocationsEXT); Vulkan_Function(vkGetPhysicalDeviceMultisamplePropertiesEXT); Vulkan_Function(vkGetImageDrmFormatModifierPropertiesEXT); Vulkan_Function(vkCreateValidationCacheEXT); Vulkan_Function(vkDestroyValidationCacheEXT); Vulkan_Function(vkMergeValidationCachesEXT); Vulkan_Function(vkGetValidationCacheDataEXT); Vulkan_Function(vkCmdBindShadingRateImageNV); Vulkan_Function(vkCmdSetViewportShadingRatePaletteNV); Vulkan_Function(vkCmdSetCoarseSampleOrderNV); Vulkan_Function(vkCreateAccelerationStructureNV); Vulkan_Function(vkDestroyAccelerationStructureKHR); Vulkan_Function(vkDestroyAccelerationStructureNV); Vulkan_Function(vkGetAccelerationStructureMemoryRequirementsNV); Vulkan_Function(vkBindAccelerationStructureMemoryKHR); Vulkan_Function(vkBindAccelerationStructureMemoryNV); Vulkan_Function(vkCmdBuildAccelerationStructureNV); Vulkan_Function(vkCmdCopyAccelerationStructureNV); Vulkan_Function(vkCmdTraceRaysNV); Vulkan_Function(vkCreateRayTracingPipelinesNV); Vulkan_Function(vkGetRayTracingShaderGroupHandlesKHR); Vulkan_Function(vkGetRayTracingShaderGroupHandlesNV); Vulkan_Function(vkGetAccelerationStructureHandleNV); Vulkan_Function(vkCmdWriteAccelerationStructuresPropertiesKHR); Vulkan_Function(vkCmdWriteAccelerationStructuresPropertiesNV); Vulkan_Function(vkCompileDeferredNV); Vulkan_Function(vkGetMemoryHostPointerPropertiesEXT); Vulkan_Function(vkCmdWriteBufferMarkerAMD); Vulkan_Function(vkGetPhysicalDeviceCalibrateableTimeDomainsEXT); Vulkan_Function(vkGetCalibratedTimestampsEXT); Vulkan_Function(vkCmdDrawMeshTasksNV); Vulkan_Function(vkCmdDrawMeshTasksIndirectNV); Vulkan_Function(vkCmdDrawMeshTasksIndirectCountNV); Vulkan_Function(vkCmdSetExclusiveScissorNV); Vulkan_Function(vkCmdSetCheckpointNV); Vulkan_Function(vkGetQueueCheckpointDataNV); Vulkan_Function(vkInitializePerformanceApiINTEL); Vulkan_Function(vkUninitializePerformanceApiINTEL); Vulkan_Function(vkCmdSetPerformanceMarkerINTEL); Vulkan_Function(vkCmdSetPerformanceStreamMarkerINTEL); Vulkan_Function(vkCmdSetPerformanceOverrideINTEL); Vulkan_Function(vkAcquirePerformanceConfigurationINTEL); Vulkan_Function(vkReleasePerformanceConfigurationINTEL); Vulkan_Function(vkQueueSetPerformanceConfigurationINTEL); Vulkan_Function(vkGetPerformanceParameterINTEL); Vulkan_Function(vkSetLocalDimmingAMD); Vulkan_Function(vkGetBufferDeviceAddressEXT); Vulkan_Function(vkGetPhysicalDeviceToolPropertiesEXT); Vulkan_Function(vkGetPhysicalDeviceCooperativeMatrixPropertiesNV); Vulkan_Function(vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV); Vulkan_Function(vkCreateHeadlessSurfaceEXT); Vulkan_Function(vkCmdSetLineStippleEXT); Vulkan_Function(vkResetQueryPoolEXT); Vulkan_Function(vkGetGeneratedCommandsMemoryRequirementsNV); Vulkan_Function(vkCmdPreprocessGeneratedCommandsNV); Vulkan_Function(vkCmdExecuteGeneratedCommandsNV); Vulkan_Function(vkCmdBindPipelineShaderGroupNV); Vulkan_Function(vkCreateIndirectCommandsLayoutNV); Vulkan_Function(vkDestroyIndirectCommandsLayoutNV); Vulkan_Function(vkCreatePrivateDataSlotEXT); Vulkan_Function(vkDestroyPrivateDataSlotEXT); Vulkan_Function(vkSetPrivateDataEXT); Vulkan_Function(vkGetPrivateDataEXT); //windows extern void* vkCreateWin32SurfaceKHR; extern void* vkGetPhysicalDeviceWin32PresentationSupportKHR; extern void* vkGetMemoryWin32HandleKHR; extern void* vkGetMemoryWin32HandlePropertiesKHR; extern void* vkImportSemaphoreWin32HandleKHR; extern void* vkGetSemaphoreWin32HandleKHR; extern void* vkImportFenceWin32HandleKHR; extern void* vkGetFenceWin32HandleKHR; extern void* vkGetMemoryWin32HandleNV; extern void* vkGetPhysicalDeviceSurfacePresentModes2EXT; extern void* vkAcquireFullScreenExclusiveModeEXT; extern void* vkReleaseFullScreenExclusiveModeEXT; extern void* vkGetDeviceGroupSurfacePresentModes2EXT; //x11 extern void* vkCreateXlibSurfaceKHR; extern void* vkGetPhysicalDeviceXlibPresentationSupportKHR; //xcb extern void* vkCreateXcbSurfaceKHR; extern void* vkGetPhysicalDeviceXcbPresentationSupportKHR; //wayland extern void* vkCreateWaylandSurfaceKHR; extern void* vkGetPhysicalDeviceWaylandPresentationSupportKHR; //android extern void* vkCreateAndroidSurfaceKHR; extern void* vkGetAndroidHardwareBufferPropertiesANDROID; extern void* vkGetMemoryAndroidHardwareBufferANDROID; int load_fn(); void load_instance_fn(VkInstance instance); void load_device_fn(VkDevice device);