
#define VK_INSTANCE_FUNCS \
    FORVKFUNC(DestroyInstance) \
    FORVKFUNC(EnumerateDeviceExtensionProperties) \
    FORVKFUNC(GetInstanceProcAddr) \
    FORVKFUNC(GetPhysicalDeviceFormatProperties) \
    FORVKFUNC(GetPhysicalDeviceMemoryProperties) \
    FORVKFUNC(GetPhysicalDeviceQueueFamilyProperties)

#define VK_DEVICE_FUNCS \
    FORVKFUNC(AllocateCommandBuffers) \
    FORVKFUNC(AllocateDescriptorSets) \
    FORVKFUNC(AllocateMemory) \
    FORVKFUNC(BeginCommandBuffer) \
    FORVKFUNC(BindBufferMemory) \
    FORVKFUNC(BindImageMemory) \
    FORVKFUNC(CmdBeginRenderPass) \
    FORVKFUNC(CmdBindDescriptorSets) \
    FORVKFUNC(CmdBindPipeline) \
    FORVKFUNC(CmdBlitImage) \
    FORVKFUNC(CmdCopyBufferToImage) \
    FORVKFUNC(CmdCopyImage) \
    FORVKFUNC(CmdDraw) \
    FORVKFUNC(CmdEndRenderPass) \
    FORVKFUNC(CmdPipelineBarrier) \
    FORVKFUNC(CreateBuffer) \
    FORVKFUNC(CreateCommandPool) \
    FORVKFUNC(CreateDescriptorPool) \
    FORVKFUNC(CreateDescriptorSetLayout) \
    FORVKFUNC(CreateFramebuffer) \
    FORVKFUNC(CreateGraphicsPipelines) \
    FORVKFUNC(CreateImage) \
    FORVKFUNC(CreateImageView) \
    FORVKFUNC(CreatePipelineLayout) \
    FORVKFUNC(CreateRenderPass) \
    FORVKFUNC(CreateSampler) \
    FORVKFUNC(CreateSemaphore) \
    FORVKFUNC(CreateShaderModule) \
    FORVKFUNC(CreateSwapchainKHR) \
    FORVKFUNC(DestroyBuffer) \
    FORVKFUNC(DestroyCommandPool) \
    FORVKFUNC(DestroyDescriptorPool) \
    FORVKFUNC(DestroyDescriptorSetLayout) \
    FORVKFUNC(DestroyDevice) \
    FORVKFUNC(DestroyFramebuffer) \
    FORVKFUNC(DestroyImage) \
    FORVKFUNC(DestroyImageView) \
    FORVKFUNC(DestroyPipeline) \
    FORVKFUNC(DestroyPipelineLayout) \
    FORVKFUNC(DestroyRenderPass) \
    FORVKFUNC(DestroySampler) \
    FORVKFUNC(DestroySemaphore) \
    FORVKFUNC(DestroyShaderModule) \
    FORVKFUNC(DestroySwapchainKHR) \
    FORVKFUNC(EndCommandBuffer) \
    FORVKFUNC(FreeCommandBuffers) \
    FORVKFUNC(FreeMemory) \
    FORVKFUNC(GetBufferMemoryRequirements) \
    FORVKFUNC(GetDeviceProcAddr) \
    FORVKFUNC(GetDeviceQueue) \
    FORVKFUNC(GetDeviceQueue2) \
    FORVKFUNC(GetImageMemoryRequirements) \
    FORVKFUNC(GetSwapchainImagesKHR) \
    FORVKFUNC(MapMemory) \
    FORVKFUNC(QueuePresentKHR) \
    FORVKFUNC(QueueSubmit) \
    FORVKFUNC(QueueWaitIdle) \
    FORVKFUNC(UnmapMemory) \
    FORVKFUNC(UpdateDescriptorSets)
