// This file is generated. #include "boo/graphicsdev/VulkanDispatchTable.hpp" namespace vk { PFN_vkCreateInstance CreateInstance; PFN_vkDestroyInstance DestroyInstance; PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices; PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures; PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties; PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties; PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties; PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties; PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties; PFN_vkGetInstanceProcAddr GetInstanceProcAddr; PFN_vkGetDeviceProcAddr GetDeviceProcAddr; PFN_vkCreateDevice CreateDevice; PFN_vkDestroyDevice DestroyDevice; PFN_vkEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties; PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties; PFN_vkEnumerateInstanceLayerProperties EnumerateInstanceLayerProperties; PFN_vkGetDeviceQueue GetDeviceQueue; PFN_vkQueueSubmit QueueSubmit; PFN_vkQueueWaitIdle QueueWaitIdle; PFN_vkDeviceWaitIdle DeviceWaitIdle; PFN_vkAllocateMemory AllocateMemory; PFN_vkFreeMemory FreeMemory; PFN_vkMapMemory MapMemory; PFN_vkUnmapMemory UnmapMemory; PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges; PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges; PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment; PFN_vkBindBufferMemory BindBufferMemory; PFN_vkBindImageMemory BindImageMemory; PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements; PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements; PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements; PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties; PFN_vkQueueBindSparse QueueBindSparse; PFN_vkCreateFence CreateFence; PFN_vkDestroyFence DestroyFence; PFN_vkResetFences ResetFences; PFN_vkGetFenceStatus GetFenceStatus; PFN_vkWaitForFences WaitForFences; PFN_vkCreateSemaphore CreateSemaphore; PFN_vkDestroySemaphore DestroySemaphore; PFN_vkCreateEvent CreateEvent; PFN_vkDestroyEvent DestroyEvent; PFN_vkGetEventStatus GetEventStatus; PFN_vkSetEvent SetEvent; PFN_vkResetEvent ResetEvent; PFN_vkCreateQueryPool CreateQueryPool; PFN_vkDestroyQueryPool DestroyQueryPool; PFN_vkGetQueryPoolResults GetQueryPoolResults; PFN_vkCreateBuffer CreateBuffer; PFN_vkDestroyBuffer DestroyBuffer; PFN_vkCreateBufferView CreateBufferView; PFN_vkDestroyBufferView DestroyBufferView; PFN_vkCreateImage CreateImage; PFN_vkDestroyImage DestroyImage; PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout; PFN_vkCreateImageView CreateImageView; PFN_vkDestroyImageView DestroyImageView; PFN_vkCreateShaderModule CreateShaderModule; PFN_vkDestroyShaderModule DestroyShaderModule; PFN_vkCreatePipelineCache CreatePipelineCache; PFN_vkDestroyPipelineCache DestroyPipelineCache; PFN_vkGetPipelineCacheData GetPipelineCacheData; PFN_vkMergePipelineCaches MergePipelineCaches; PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines; PFN_vkCreateComputePipelines CreateComputePipelines; PFN_vkDestroyPipeline DestroyPipeline; PFN_vkCreatePipelineLayout CreatePipelineLayout; PFN_vkDestroyPipelineLayout DestroyPipelineLayout; PFN_vkCreateSampler CreateSampler; PFN_vkDestroySampler DestroySampler; PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout; PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout; PFN_vkCreateDescriptorPool CreateDescriptorPool; PFN_vkDestroyDescriptorPool DestroyDescriptorPool; PFN_vkResetDescriptorPool ResetDescriptorPool; PFN_vkAllocateDescriptorSets AllocateDescriptorSets; PFN_vkFreeDescriptorSets FreeDescriptorSets; PFN_vkUpdateDescriptorSets UpdateDescriptorSets; PFN_vkCreateFramebuffer CreateFramebuffer; PFN_vkDestroyFramebuffer DestroyFramebuffer; PFN_vkCreateRenderPass CreateRenderPass; PFN_vkDestroyRenderPass DestroyRenderPass; PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity; PFN_vkCreateCommandPool CreateCommandPool; PFN_vkDestroyCommandPool DestroyCommandPool; PFN_vkResetCommandPool ResetCommandPool; PFN_vkAllocateCommandBuffers AllocateCommandBuffers; PFN_vkFreeCommandBuffers FreeCommandBuffers; PFN_vkBeginCommandBuffer BeginCommandBuffer; PFN_vkEndCommandBuffer EndCommandBuffer; PFN_vkResetCommandBuffer ResetCommandBuffer; PFN_vkCmdBindPipeline CmdBindPipeline; PFN_vkCmdSetViewport CmdSetViewport; PFN_vkCmdSetScissor CmdSetScissor; PFN_vkCmdSetLineWidth CmdSetLineWidth; PFN_vkCmdSetDepthBias CmdSetDepthBias; PFN_vkCmdSetBlendConstants CmdSetBlendConstants; PFN_vkCmdSetDepthBounds CmdSetDepthBounds; PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask; PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask; PFN_vkCmdSetStencilReference CmdSetStencilReference; PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets; PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer; PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers; PFN_vkCmdDraw CmdDraw; PFN_vkCmdDrawIndexed CmdDrawIndexed; PFN_vkCmdDrawIndirect CmdDrawIndirect; PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect; PFN_vkCmdDispatch CmdDispatch; PFN_vkCmdDispatchIndirect CmdDispatchIndirect; PFN_vkCmdCopyBuffer CmdCopyBuffer; PFN_vkCmdCopyImage CmdCopyImage; PFN_vkCmdBlitImage CmdBlitImage; PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage; PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer; PFN_vkCmdUpdateBuffer CmdUpdateBuffer; PFN_vkCmdFillBuffer CmdFillBuffer; PFN_vkCmdClearColorImage CmdClearColorImage; PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage; PFN_vkCmdClearAttachments CmdClearAttachments; PFN_vkCmdResolveImage CmdResolveImage; PFN_vkCmdSetEvent CmdSetEvent; PFN_vkCmdResetEvent CmdResetEvent; PFN_vkCmdWaitEvents CmdWaitEvents; PFN_vkCmdPipelineBarrier CmdPipelineBarrier; PFN_vkCmdBeginQuery CmdBeginQuery; PFN_vkCmdEndQuery CmdEndQuery; PFN_vkCmdResetQueryPool CmdResetQueryPool; PFN_vkCmdWriteTimestamp CmdWriteTimestamp; PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults; PFN_vkCmdPushConstants CmdPushConstants; PFN_vkCmdBeginRenderPass CmdBeginRenderPass; PFN_vkCmdNextSubpass CmdNextSubpass; PFN_vkCmdEndRenderPass CmdEndRenderPass; PFN_vkCmdExecuteCommands CmdExecuteCommands; PFN_vkDestroySurfaceKHR DestroySurfaceKHR; PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR; PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR; PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR; PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR; PFN_vkCreateSwapchainKHR CreateSwapchainKHR; PFN_vkDestroySwapchainKHR DestroySwapchainKHR; PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR; PFN_vkAcquireNextImageKHR AcquireNextImageKHR; PFN_vkQueuePresentKHR QueuePresentKHR; PFN_vkGetPhysicalDeviceDisplayPropertiesKHR GetPhysicalDeviceDisplayPropertiesKHR; PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR GetPhysicalDeviceDisplayPlanePropertiesKHR; PFN_vkGetDisplayPlaneSupportedDisplaysKHR GetDisplayPlaneSupportedDisplaysKHR; PFN_vkGetDisplayModePropertiesKHR GetDisplayModePropertiesKHR; PFN_vkCreateDisplayModeKHR CreateDisplayModeKHR; PFN_vkGetDisplayPlaneCapabilitiesKHR GetDisplayPlaneCapabilitiesKHR; PFN_vkCreateDisplayPlaneSurfaceKHR CreateDisplayPlaneSurfaceKHR; PFN_vkCreateSharedSwapchainsKHR CreateSharedSwapchainsKHR; #ifdef VK_USE_PLATFORM_XLIB_KHR PFN_vkCreateXlibSurfaceKHR CreateXlibSurfaceKHR; PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR GetPhysicalDeviceXlibPresentationSupportKHR; #endif #ifdef VK_USE_PLATFORM_XCB_KHR PFN_vkCreateXcbSurfaceKHR CreateXcbSurfaceKHR; PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR GetPhysicalDeviceXcbPresentationSupportKHR; #endif #ifdef VK_USE_PLATFORM_WAYLAND_KHR PFN_vkCreateWaylandSurfaceKHR CreateWaylandSurfaceKHR; PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR GetPhysicalDeviceWaylandPresentationSupportKHR; #endif #ifdef VK_USE_PLATFORM_MIR_KHR PFN_vkCreateMirSurfaceKHR CreateMirSurfaceKHR; PFN_vkGetPhysicalDeviceMirPresentationSupportKHR GetPhysicalDeviceMirPresentationSupportKHR; #endif #ifdef VK_USE_PLATFORM_ANDROID_KHR PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR; #endif #ifdef VK_USE_PLATFORM_WIN32_KHR PFN_vkCreateWin32SurfaceKHR CreateWin32SurfaceKHR; PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR GetPhysicalDeviceWin32PresentationSupportKHR; #endif PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT; PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT; PFN_vkDebugReportMessageEXT DebugReportMessageEXT; void init_dispatch_table_top(PFN_vkGetInstanceProcAddr get_instance_proc_addr) { GetInstanceProcAddr = get_instance_proc_addr; CreateInstance = reinterpret_cast(GetInstanceProcAddr(VK_NULL_HANDLE, "vkCreateInstance")); EnumerateInstanceExtensionProperties = reinterpret_cast( GetInstanceProcAddr(VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties")); EnumerateInstanceLayerProperties = reinterpret_cast( GetInstanceProcAddr(VK_NULL_HANDLE, "vkEnumerateInstanceLayerProperties")); } void init_dispatch_table_middle(VkInstance instance, bool include_bottom) { GetInstanceProcAddr = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetInstanceProcAddr")); DestroyInstance = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyInstance")); EnumeratePhysicalDevices = reinterpret_cast(GetInstanceProcAddr(instance, "vkEnumeratePhysicalDevices")); GetPhysicalDeviceFeatures = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures")); GetPhysicalDeviceFormatProperties = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties")); GetPhysicalDeviceImageFormatProperties = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties")); GetPhysicalDeviceProperties = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties")); GetPhysicalDeviceQueueFamilyProperties = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties")); GetPhysicalDeviceMemoryProperties = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties")); CreateDevice = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateDevice")); EnumerateDeviceExtensionProperties = reinterpret_cast( GetInstanceProcAddr(instance, "vkEnumerateDeviceExtensionProperties")); GetPhysicalDeviceSparseImageFormatProperties = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties")); DestroySurfaceKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroySurfaceKHR")); GetPhysicalDeviceSurfaceSupportKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceSupportKHR")); GetPhysicalDeviceSurfaceCapabilitiesKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")); GetPhysicalDeviceSurfaceFormatsKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR")); GetPhysicalDeviceSurfacePresentModesKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR")); GetPhysicalDeviceDisplayPropertiesKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR")); GetPhysicalDeviceDisplayPlanePropertiesKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")); GetDisplayPlaneSupportedDisplaysKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetDisplayPlaneSupportedDisplaysKHR")); GetDisplayModePropertiesKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetDisplayModePropertiesKHR")); CreateDisplayModeKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateDisplayModeKHR")); GetDisplayPlaneCapabilitiesKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR")); CreateDisplayPlaneSurfaceKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkCreateDisplayPlaneSurfaceKHR")); #ifdef VK_USE_PLATFORM_XLIB_KHR CreateXlibSurfaceKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateXlibSurfaceKHR")); #endif #ifdef VK_USE_PLATFORM_XLIB_KHR GetPhysicalDeviceXlibPresentationSupportKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR")); #endif #ifdef VK_USE_PLATFORM_XCB_KHR CreateXcbSurfaceKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateXcbSurfaceKHR")); #endif #ifdef VK_USE_PLATFORM_XCB_KHR GetPhysicalDeviceXcbPresentationSupportKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR")); #endif #ifdef VK_USE_PLATFORM_WAYLAND_KHR CreateWaylandSurfaceKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateWaylandSurfaceKHR")); #endif #ifdef VK_USE_PLATFORM_WAYLAND_KHR GetPhysicalDeviceWaylandPresentationSupportKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR")); #endif #ifdef VK_USE_PLATFORM_MIR_KHR CreateMirSurfaceKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateMirSurfaceKHR")); #endif #ifdef VK_USE_PLATFORM_MIR_KHR GetPhysicalDeviceMirPresentationSupportKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMirPresentationSupportKHR")); #endif #ifdef VK_USE_PLATFORM_ANDROID_KHR CreateAndroidSurfaceKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateAndroidSurfaceKHR")); #endif #ifdef VK_USE_PLATFORM_WIN32_KHR CreateWin32SurfaceKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR")); #endif #ifdef VK_USE_PLATFORM_WIN32_KHR GetPhysicalDeviceWin32PresentationSupportKHR = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR")); #endif CreateDebugReportCallbackEXT = reinterpret_cast( GetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT")); DestroyDebugReportCallbackEXT = reinterpret_cast( GetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT")); DebugReportMessageEXT = reinterpret_cast(GetInstanceProcAddr(instance, "vkDebugReportMessageEXT")); if (!include_bottom) return; GetDeviceProcAddr = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetDeviceProcAddr")); DestroyDevice = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyDevice")); GetDeviceQueue = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetDeviceQueue")); QueueSubmit = reinterpret_cast(GetInstanceProcAddr(instance, "vkQueueSubmit")); QueueWaitIdle = reinterpret_cast(GetInstanceProcAddr(instance, "vkQueueWaitIdle")); DeviceWaitIdle = reinterpret_cast(GetInstanceProcAddr(instance, "vkDeviceWaitIdle")); AllocateMemory = reinterpret_cast(GetInstanceProcAddr(instance, "vkAllocateMemory")); FreeMemory = reinterpret_cast(GetInstanceProcAddr(instance, "vkFreeMemory")); MapMemory = reinterpret_cast(GetInstanceProcAddr(instance, "vkMapMemory")); UnmapMemory = reinterpret_cast(GetInstanceProcAddr(instance, "vkUnmapMemory")); FlushMappedMemoryRanges = reinterpret_cast(GetInstanceProcAddr(instance, "vkFlushMappedMemoryRanges")); InvalidateMappedMemoryRanges = reinterpret_cast( GetInstanceProcAddr(instance, "vkInvalidateMappedMemoryRanges")); GetDeviceMemoryCommitment = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetDeviceMemoryCommitment")); BindBufferMemory = reinterpret_cast(GetInstanceProcAddr(instance, "vkBindBufferMemory")); BindImageMemory = reinterpret_cast(GetInstanceProcAddr(instance, "vkBindImageMemory")); GetBufferMemoryRequirements = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements")); GetImageMemoryRequirements = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements")); GetImageSparseMemoryRequirements = reinterpret_cast( GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements")); QueueBindSparse = reinterpret_cast(GetInstanceProcAddr(instance, "vkQueueBindSparse")); CreateFence = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateFence")); DestroyFence = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyFence")); ResetFences = reinterpret_cast(GetInstanceProcAddr(instance, "vkResetFences")); GetFenceStatus = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetFenceStatus")); WaitForFences = reinterpret_cast(GetInstanceProcAddr(instance, "vkWaitForFences")); CreateSemaphore = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateSemaphore")); DestroySemaphore = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroySemaphore")); CreateEvent = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateEvent")); DestroyEvent = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyEvent")); GetEventStatus = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetEventStatus")); SetEvent = reinterpret_cast(GetInstanceProcAddr(instance, "vkSetEvent")); ResetEvent = reinterpret_cast(GetInstanceProcAddr(instance, "vkResetEvent")); CreateQueryPool = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateQueryPool")); DestroyQueryPool = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyQueryPool")); GetQueryPoolResults = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetQueryPoolResults")); CreateBuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateBuffer")); DestroyBuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyBuffer")); CreateBufferView = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateBufferView")); DestroyBufferView = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyBufferView")); CreateImage = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateImage")); DestroyImage = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyImage")); GetImageSubresourceLayout = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetImageSubresourceLayout")); CreateImageView = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateImageView")); DestroyImageView = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyImageView")); CreateShaderModule = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateShaderModule")); DestroyShaderModule = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyShaderModule")); CreatePipelineCache = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreatePipelineCache")); DestroyPipelineCache = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyPipelineCache")); GetPipelineCacheData = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetPipelineCacheData")); MergePipelineCaches = reinterpret_cast(GetInstanceProcAddr(instance, "vkMergePipelineCaches")); CreateGraphicsPipelines = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateGraphicsPipelines")); CreateComputePipelines = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateComputePipelines")); DestroyPipeline = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyPipeline")); CreatePipelineLayout = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreatePipelineLayout")); DestroyPipelineLayout = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyPipelineLayout")); CreateSampler = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateSampler")); DestroySampler = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroySampler")); CreateDescriptorSetLayout = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateDescriptorSetLayout")); DestroyDescriptorSetLayout = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyDescriptorSetLayout")); CreateDescriptorPool = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateDescriptorPool")); DestroyDescriptorPool = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyDescriptorPool")); ResetDescriptorPool = reinterpret_cast(GetInstanceProcAddr(instance, "vkResetDescriptorPool")); AllocateDescriptorSets = reinterpret_cast(GetInstanceProcAddr(instance, "vkAllocateDescriptorSets")); FreeDescriptorSets = reinterpret_cast(GetInstanceProcAddr(instance, "vkFreeDescriptorSets")); UpdateDescriptorSets = reinterpret_cast(GetInstanceProcAddr(instance, "vkUpdateDescriptorSets")); CreateFramebuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateFramebuffer")); DestroyFramebuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyFramebuffer")); CreateRenderPass = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateRenderPass")); DestroyRenderPass = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyRenderPass")); GetRenderAreaGranularity = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetRenderAreaGranularity")); CreateCommandPool = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateCommandPool")); DestroyCommandPool = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroyCommandPool")); ResetCommandPool = reinterpret_cast(GetInstanceProcAddr(instance, "vkResetCommandPool")); AllocateCommandBuffers = reinterpret_cast(GetInstanceProcAddr(instance, "vkAllocateCommandBuffers")); FreeCommandBuffers = reinterpret_cast(GetInstanceProcAddr(instance, "vkFreeCommandBuffers")); BeginCommandBuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkBeginCommandBuffer")); EndCommandBuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkEndCommandBuffer")); ResetCommandBuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkResetCommandBuffer")); CmdBindPipeline = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdBindPipeline")); CmdSetViewport = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdSetViewport")); CmdSetScissor = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdSetScissor")); CmdSetLineWidth = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdSetLineWidth")); CmdSetDepthBias = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdSetDepthBias")); CmdSetBlendConstants = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdSetBlendConstants")); CmdSetDepthBounds = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdSetDepthBounds")); CmdSetStencilCompareMask = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdSetStencilCompareMask")); CmdSetStencilWriteMask = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdSetStencilWriteMask")); CmdSetStencilReference = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdSetStencilReference")); CmdBindDescriptorSets = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdBindDescriptorSets")); CmdBindIndexBuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdBindIndexBuffer")); CmdBindVertexBuffers = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers")); CmdDraw = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdDraw")); CmdDrawIndexed = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdDrawIndexed")); CmdDrawIndirect = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdDrawIndirect")); CmdDrawIndexedIndirect = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirect")); CmdDispatch = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdDispatch")); CmdDispatchIndirect = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdDispatchIndirect")); CmdCopyBuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdCopyBuffer")); CmdCopyImage = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdCopyImage")); CmdBlitImage = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdBlitImage")); CmdCopyBufferToImage = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage")); CmdCopyImageToBuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer")); CmdUpdateBuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdUpdateBuffer")); CmdFillBuffer = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdFillBuffer")); CmdClearColorImage = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdClearColorImage")); CmdClearDepthStencilImage = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdClearDepthStencilImage")); CmdClearAttachments = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdClearAttachments")); CmdResolveImage = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdResolveImage")); CmdSetEvent = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdSetEvent")); CmdResetEvent = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdResetEvent")); CmdWaitEvents = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdWaitEvents")); CmdPipelineBarrier = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdPipelineBarrier")); CmdBeginQuery = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdBeginQuery")); CmdEndQuery = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdEndQuery")); CmdResetQueryPool = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdResetQueryPool")); CmdWriteTimestamp = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdWriteTimestamp")); CmdCopyQueryPoolResults = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdCopyQueryPoolResults")); CmdPushConstants = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdPushConstants")); CmdBeginRenderPass = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdBeginRenderPass")); CmdNextSubpass = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdNextSubpass")); CmdEndRenderPass = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdEndRenderPass")); CmdExecuteCommands = reinterpret_cast(GetInstanceProcAddr(instance, "vkCmdExecuteCommands")); CreateSwapchainKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateSwapchainKHR")); DestroySwapchainKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkDestroySwapchainKHR")); GetSwapchainImagesKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetSwapchainImagesKHR")); AcquireNextImageKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkAcquireNextImageKHR")); QueuePresentKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkQueuePresentKHR")); CreateSharedSwapchainsKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkCreateSharedSwapchainsKHR")); } void init_dispatch_table_bottom(VkInstance instance, VkDevice dev) { GetDeviceProcAddr = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetDeviceProcAddr")); GetDeviceProcAddr = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetDeviceProcAddr")); DestroyDevice = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyDevice")); GetDeviceQueue = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetDeviceQueue")); QueueSubmit = reinterpret_cast(GetDeviceProcAddr(dev, "vkQueueSubmit")); QueueWaitIdle = reinterpret_cast(GetDeviceProcAddr(dev, "vkQueueWaitIdle")); DeviceWaitIdle = reinterpret_cast(GetDeviceProcAddr(dev, "vkDeviceWaitIdle")); AllocateMemory = reinterpret_cast(GetDeviceProcAddr(dev, "vkAllocateMemory")); FreeMemory = reinterpret_cast(GetDeviceProcAddr(dev, "vkFreeMemory")); MapMemory = reinterpret_cast(GetDeviceProcAddr(dev, "vkMapMemory")); UnmapMemory = reinterpret_cast(GetDeviceProcAddr(dev, "vkUnmapMemory")); FlushMappedMemoryRanges = reinterpret_cast(GetDeviceProcAddr(dev, "vkFlushMappedMemoryRanges")); InvalidateMappedMemoryRanges = reinterpret_cast(GetDeviceProcAddr(dev, "vkInvalidateMappedMemoryRanges")); GetDeviceMemoryCommitment = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetDeviceMemoryCommitment")); BindBufferMemory = reinterpret_cast(GetDeviceProcAddr(dev, "vkBindBufferMemory")); BindImageMemory = reinterpret_cast(GetDeviceProcAddr(dev, "vkBindImageMemory")); GetBufferMemoryRequirements = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetBufferMemoryRequirements")); GetImageMemoryRequirements = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetImageMemoryRequirements")); GetImageSparseMemoryRequirements = reinterpret_cast( GetDeviceProcAddr(dev, "vkGetImageSparseMemoryRequirements")); QueueBindSparse = reinterpret_cast(GetDeviceProcAddr(dev, "vkQueueBindSparse")); CreateFence = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateFence")); DestroyFence = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyFence")); ResetFences = reinterpret_cast(GetDeviceProcAddr(dev, "vkResetFences")); GetFenceStatus = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetFenceStatus")); WaitForFences = reinterpret_cast(GetDeviceProcAddr(dev, "vkWaitForFences")); CreateSemaphore = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateSemaphore")); DestroySemaphore = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroySemaphore")); CreateEvent = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateEvent")); DestroyEvent = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyEvent")); GetEventStatus = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetEventStatus")); SetEvent = reinterpret_cast(GetDeviceProcAddr(dev, "vkSetEvent")); ResetEvent = reinterpret_cast(GetDeviceProcAddr(dev, "vkResetEvent")); CreateQueryPool = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateQueryPool")); DestroyQueryPool = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyQueryPool")); GetQueryPoolResults = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetQueryPoolResults")); CreateBuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateBuffer")); DestroyBuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyBuffer")); CreateBufferView = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateBufferView")); DestroyBufferView = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyBufferView")); CreateImage = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateImage")); DestroyImage = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyImage")); GetImageSubresourceLayout = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetImageSubresourceLayout")); CreateImageView = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateImageView")); DestroyImageView = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyImageView")); CreateShaderModule = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateShaderModule")); DestroyShaderModule = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyShaderModule")); CreatePipelineCache = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreatePipelineCache")); DestroyPipelineCache = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyPipelineCache")); GetPipelineCacheData = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetPipelineCacheData")); MergePipelineCaches = reinterpret_cast(GetDeviceProcAddr(dev, "vkMergePipelineCaches")); CreateGraphicsPipelines = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateGraphicsPipelines")); CreateComputePipelines = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateComputePipelines")); DestroyPipeline = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyPipeline")); CreatePipelineLayout = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreatePipelineLayout")); DestroyPipelineLayout = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyPipelineLayout")); CreateSampler = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateSampler")); DestroySampler = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroySampler")); CreateDescriptorSetLayout = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateDescriptorSetLayout")); DestroyDescriptorSetLayout = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyDescriptorSetLayout")); CreateDescriptorPool = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateDescriptorPool")); DestroyDescriptorPool = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyDescriptorPool")); ResetDescriptorPool = reinterpret_cast(GetDeviceProcAddr(dev, "vkResetDescriptorPool")); AllocateDescriptorSets = reinterpret_cast(GetDeviceProcAddr(dev, "vkAllocateDescriptorSets")); FreeDescriptorSets = reinterpret_cast(GetDeviceProcAddr(dev, "vkFreeDescriptorSets")); UpdateDescriptorSets = reinterpret_cast(GetDeviceProcAddr(dev, "vkUpdateDescriptorSets")); CreateFramebuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateFramebuffer")); DestroyFramebuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyFramebuffer")); CreateRenderPass = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateRenderPass")); DestroyRenderPass = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyRenderPass")); GetRenderAreaGranularity = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetRenderAreaGranularity")); CreateCommandPool = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateCommandPool")); DestroyCommandPool = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroyCommandPool")); ResetCommandPool = reinterpret_cast(GetDeviceProcAddr(dev, "vkResetCommandPool")); AllocateCommandBuffers = reinterpret_cast(GetDeviceProcAddr(dev, "vkAllocateCommandBuffers")); FreeCommandBuffers = reinterpret_cast(GetDeviceProcAddr(dev, "vkFreeCommandBuffers")); BeginCommandBuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkBeginCommandBuffer")); EndCommandBuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkEndCommandBuffer")); ResetCommandBuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkResetCommandBuffer")); CmdBindPipeline = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdBindPipeline")); CmdSetViewport = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdSetViewport")); CmdSetScissor = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdSetScissor")); CmdSetLineWidth = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdSetLineWidth")); CmdSetDepthBias = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdSetDepthBias")); CmdSetBlendConstants = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdSetBlendConstants")); CmdSetDepthBounds = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdSetDepthBounds")); CmdSetStencilCompareMask = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdSetStencilCompareMask")); CmdSetStencilWriteMask = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdSetStencilWriteMask")); CmdSetStencilReference = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdSetStencilReference")); CmdBindDescriptorSets = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdBindDescriptorSets")); CmdBindIndexBuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdBindIndexBuffer")); CmdBindVertexBuffers = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdBindVertexBuffers")); CmdDraw = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdDraw")); CmdDrawIndexed = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdDrawIndexed")); CmdDrawIndirect = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdDrawIndirect")); CmdDrawIndexedIndirect = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdDrawIndexedIndirect")); CmdDispatch = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdDispatch")); CmdDispatchIndirect = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdDispatchIndirect")); CmdCopyBuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdCopyBuffer")); CmdCopyImage = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdCopyImage")); CmdBlitImage = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdBlitImage")); CmdCopyBufferToImage = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdCopyBufferToImage")); CmdCopyImageToBuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdCopyImageToBuffer")); CmdUpdateBuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdUpdateBuffer")); CmdFillBuffer = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdFillBuffer")); CmdClearColorImage = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdClearColorImage")); CmdClearDepthStencilImage = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdClearDepthStencilImage")); CmdClearAttachments = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdClearAttachments")); CmdResolveImage = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdResolveImage")); CmdSetEvent = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdSetEvent")); CmdResetEvent = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdResetEvent")); CmdWaitEvents = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdWaitEvents")); CmdPipelineBarrier = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdPipelineBarrier")); CmdBeginQuery = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdBeginQuery")); CmdEndQuery = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdEndQuery")); CmdResetQueryPool = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdResetQueryPool")); CmdWriteTimestamp = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdWriteTimestamp")); CmdCopyQueryPoolResults = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdCopyQueryPoolResults")); CmdPushConstants = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdPushConstants")); CmdBeginRenderPass = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdBeginRenderPass")); CmdNextSubpass = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdNextSubpass")); CmdEndRenderPass = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdEndRenderPass")); CmdExecuteCommands = reinterpret_cast(GetDeviceProcAddr(dev, "vkCmdExecuteCommands")); CreateSwapchainKHR = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateSwapchainKHR")); DestroySwapchainKHR = reinterpret_cast(GetDeviceProcAddr(dev, "vkDestroySwapchainKHR")); GetSwapchainImagesKHR = reinterpret_cast(GetDeviceProcAddr(dev, "vkGetSwapchainImagesKHR")); AcquireNextImageKHR = reinterpret_cast(GetDeviceProcAddr(dev, "vkAcquireNextImageKHR")); QueuePresentKHR = reinterpret_cast(GetDeviceProcAddr(dev, "vkQueuePresentKHR")); CreateSharedSwapchainsKHR = reinterpret_cast(GetDeviceProcAddr(dev, "vkCreateSharedSwapchainsKHR")); } } // namespace vk