Documentation
#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);