#ifndef EXPORTED_VULKAN_FUNCTION #define EXPORTED_VULKAN_FUNCTION(function) #endif EXPORTED_VULKAN_FUNCTION (vkGetInstanceProcAddr) #undef EXPORTED_VULKAN_FUNCTION #ifndef GLOBAL_LEVEL_VULKAN_FUNCTION #define GLOBAL_LEVEL_VULKAN_FUNCTION(function) #endif GLOBAL_LEVEL_VULKAN_FUNCTION (vkEnumerateInstanceVersion) GLOBAL_LEVEL_VULKAN_FUNCTION (vkEnumerateInstanceExtensionProperties) GLOBAL_LEVEL_VULKAN_FUNCTION (vkEnumerateInstanceLayerProperties) GLOBAL_LEVEL_VULKAN_FUNCTION (vkCreateInstance) #undef GLOBAL_LEVEL_VULKAN_FUNCTION #ifndef INSTANCE_LEVEL_VULKAN_FUNCTION #define INSTANCE_LEVEL_VULKAN_FUNCTION(function) #endif INSTANCE_LEVEL_VULKAN_FUNCTION (vkEnumeratePhysicalDevices) INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetPhysicalDeviceProperties2) INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetPhysicalDeviceFeatures) INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetPhysicalDeviceQueueFamilyProperties) INSTANCE_LEVEL_VULKAN_FUNCTION (vkCreateDevice) INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetDeviceProcAddr) INSTANCE_LEVEL_VULKAN_FUNCTION (vkDestroyInstance) INSTANCE_LEVEL_VULKAN_FUNCTION (vkEnumerateDeviceLayerProperties) INSTANCE_LEVEL_VULKAN_FUNCTION (vkEnumerateDeviceExtensionProperties) INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetPhysicalDeviceMemoryProperties) INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetPhysicalDeviceFormatProperties) #undef INSTANCE_LEVEL_VULKAN_FUNCTION #ifndef INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION #define INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION(function, extension) #endif INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkCreateDebugUtilsMessengerEXT, VK_EXT_DEBUG_UTILS_EXTENSION_NAME) INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkDestroyDebugUtilsMessengerEXT, VK_EXT_DEBUG_UTILS_EXTENSION_NAME) INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkSubmitDebugUtilsMessageEXT, VK_EXT_DEBUG_UTILS_EXTENSION_NAME) INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkGetPhysicalDeviceSurfaceSupportKHR, VK_KHR_SURFACE_EXTENSION_NAME) INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkGetPhysicalDeviceSurfacePresentModesKHR, VK_KHR_SURFACE_EXTENSION_NAME) INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkGetPhysicalDeviceSurfaceCapabilitiesKHR, VK_KHR_SURFACE_EXTENSION_NAME) INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkGetPhysicalDeviceSurfaceFormatsKHR, VK_KHR_SURFACE_EXTENSION_NAME) INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkDestroySurfaceKHR, VK_KHR_SURFACE_EXTENSION_NAME) #undef INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION #ifndef PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION #define PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION(function, extension) #endif #if defined(VK_USE_PLATFORM_XLIB_KHR) PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION (vkGetPhysicalDeviceXlibPresentationSupportKHR, VK_KHR_XLIB_SURFACE_EXTENSION_NAME) PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION (vkCreateXlibSurfaceKHR, VK_KHR_XLIB_SURFACE_EXTENSION_NAME) #elif defined(VK_USE_PLATFORM_WIN32_KHR) PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION (vkGetPhysicalDeviceWin32PresentationSupportKHR, VK_KHR_WIN32_SURFACE_EXTENSION_NAME) PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION (vkCreateWin32SurfaceKHR, VK_KHR_WIN32_SURFACE_EXTENSION_NAME) #elif defined(VK_USE_PLATFORM_XCB_KHR) PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION (vkGetPhysicalDeviceXcbPresentationSupportKHR, VK_KHR_XCB_SURFACE_EXTENSION_NAME) PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION (vkCreateXcbSurfaceKHR, VK_KHR_XCB_SURFACE_EXTENSION_NAME) #endif #undef PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION #ifndef DEVICE_LEVEL_VULKAN_FUNCTION #define DEVICE_LEVEL_VULKAN_FUNCTION(function) #endif DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyDevice) DEVICE_LEVEL_VULKAN_FUNCTION (vkGetDeviceQueue) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateCommandPool) DEVICE_LEVEL_VULKAN_FUNCTION (vkResetCommandPool) DEVICE_LEVEL_VULKAN_FUNCTION (vkAllocateCommandBuffers) DEVICE_LEVEL_VULKAN_FUNCTION (vkBeginCommandBuffer) DEVICE_LEVEL_VULKAN_FUNCTION (vkEndCommandBuffer) DEVICE_LEVEL_VULKAN_FUNCTION (vkResetCommandBuffer) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateSemaphore) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateFence) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateEvent) DEVICE_LEVEL_VULKAN_FUNCTION (vkWaitForFences) DEVICE_LEVEL_VULKAN_FUNCTION (vkResetFences) DEVICE_LEVEL_VULKAN_FUNCTION (vkGetFenceStatus) DEVICE_LEVEL_VULKAN_FUNCTION (vkResetEvent) DEVICE_LEVEL_VULKAN_FUNCTION (vkSetEvent) DEVICE_LEVEL_VULKAN_FUNCTION (vkGetEventStatus) DEVICE_LEVEL_VULKAN_FUNCTION (vkQueueSubmit) DEVICE_LEVEL_VULKAN_FUNCTION (vkQueueWaitIdle) DEVICE_LEVEL_VULKAN_FUNCTION (vkDeviceWaitIdle) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyEvent) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyFence) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroySemaphore) DEVICE_LEVEL_VULKAN_FUNCTION (vkFreeCommandBuffers) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyCommandPool) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateBuffer) DEVICE_LEVEL_VULKAN_FUNCTION (vkGetBufferMemoryRequirements) DEVICE_LEVEL_VULKAN_FUNCTION (vkBindBufferMemory) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateBufferView) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyBufferView) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyBuffer) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateImage) DEVICE_LEVEL_VULKAN_FUNCTION (vkGetImageMemoryRequirements) DEVICE_LEVEL_VULKAN_FUNCTION (vkBindImageMemory) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateImageView) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyImageView) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyImage) DEVICE_LEVEL_VULKAN_FUNCTION (vkAllocateMemory) DEVICE_LEVEL_VULKAN_FUNCTION (vkFreeMemory) DEVICE_LEVEL_VULKAN_FUNCTION (vkMapMemory) DEVICE_LEVEL_VULKAN_FUNCTION (vkUnmapMemory) DEVICE_LEVEL_VULKAN_FUNCTION (vkFlushMappedMemoryRanges) DEVICE_LEVEL_VULKAN_FUNCTION (vkInvalidateMappedMemoryRanges) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateSampler) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateDescriptorSetLayout) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateDescriptorPool) DEVICE_LEVEL_VULKAN_FUNCTION (vkAllocateDescriptorSets) DEVICE_LEVEL_VULKAN_FUNCTION (vkUpdateDescriptorSets) DEVICE_LEVEL_VULKAN_FUNCTION (vkFreeDescriptorSets) DEVICE_LEVEL_VULKAN_FUNCTION (vkResetDescriptorPool) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyDescriptorPool) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyDescriptorSetLayout) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroySampler) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateRenderPass) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateFramebuffer) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyRenderPass) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyFramebuffer) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateShaderModule) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyShaderModule) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreatePipelineCache) DEVICE_LEVEL_VULKAN_FUNCTION (vkGetPipelineCacheData) DEVICE_LEVEL_VULKAN_FUNCTION (vkMergePipelineCaches) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyPipelineCache) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreatePipelineLayout) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyPipelineLayout) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateGraphicsPipelines) DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateComputePipelines) DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyPipeline) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdPipelineBarrier) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdCopyBuffer) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdCopyBufferToImage) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdCopyImageToBuffer) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdCopyImage) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBlitImage) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBeginRenderPass) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdNextSubpass) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdEndRenderPass) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBindPipeline) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdDispatch) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdClearColorImage) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdExecuteCommands) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdPushConstants) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdResetEvent) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdSetEvent) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdWaitEvents) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdSetViewport) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdSetScissor) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBindVertexBuffers) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBindIndexBuffer) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBindDescriptorSets) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdDraw) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdDrawIndexed) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdDrawIndexedIndirect) DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdDrawIndirect) #undef DEVICE_LEVEL_VULKAN_FUNCTION #ifndef DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION #define DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION(function, extension) #endif DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkCreateSwapchainKHR, VK_KHR_SWAPCHAIN_EXTENSION_NAME) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkDestroySwapchainKHR, VK_KHR_SWAPCHAIN_EXTENSION_NAME) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkGetSwapchainImagesKHR, VK_KHR_SWAPCHAIN_EXTENSION_NAME) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkAcquireNextImageKHR, VK_KHR_SWAPCHAIN_EXTENSION_NAME) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkQueuePresentKHR, VK_KHR_SWAPCHAIN_EXTENSION_NAME) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkCmdBeginDebugUtilsLabelEXT, 0) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkCmdEndDebugUtilsLabelEXT, 0) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkCmdInsertDebugUtilsLabelEXT, 0) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkQueueBeginDebugUtilsLabelEXT, 0) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkQueueEndDebugUtilsLabelEXT, 0) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkQueueInsertDebugUtilsLabelEXT, 0) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkSetDebugUtilsObjectNameEXT, 0) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkSetDebugUtilsObjectTagEXT, 0) DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION (vkCmdPushDescriptorSetKHR, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME) #undef DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION