diff --git a/src/Vulkan/VkGetProcAddress.cpp b/src/Vulkan/VkGetProcAddress.cpp
new file mode 100644
index 0000000..ea5f8c8
--- /dev/null
+++ b/src/Vulkan/VkGetProcAddress.cpp
@@ -0,0 +1,235 @@
+// Copyright 2018 The SwiftShader Authors. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "VkGetProcAddress.h"
+
+#include <unordered_map>
+
+namespace vk
+{
+#define MAKE_VULKAN_ENTRY(aFunction) { #aFunction, reinterpret_cast<PFN_vkVoidFunction>(aFunction) }
+	static const std::unordered_map <std::string, PFN_vkVoidFunction> func_ptrs =
+	{
+		MAKE_VULKAN_ENTRY(vkCreateInstance),
+		MAKE_VULKAN_ENTRY(vkDestroyInstance),
+		MAKE_VULKAN_ENTRY(vkEnumeratePhysicalDevices),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceFeatures),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceFormatProperties),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceImageFormatProperties),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceProperties),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceMemoryProperties),
+		MAKE_VULKAN_ENTRY(vkGetInstanceProcAddr),
+		MAKE_VULKAN_ENTRY(vkGetDeviceProcAddr),
+		MAKE_VULKAN_ENTRY(vkCreateDevice),
+		MAKE_VULKAN_ENTRY(vkDestroyDevice),
+		MAKE_VULKAN_ENTRY(vkEnumerateInstanceExtensionProperties),
+		MAKE_VULKAN_ENTRY(vkEnumerateDeviceExtensionProperties),
+		MAKE_VULKAN_ENTRY(vkEnumerateInstanceLayerProperties),
+		MAKE_VULKAN_ENTRY(vkEnumerateDeviceLayerProperties),
+		MAKE_VULKAN_ENTRY(vkGetDeviceQueue),
+		MAKE_VULKAN_ENTRY(vkQueueSubmit),
+		MAKE_VULKAN_ENTRY(vkQueueWaitIdle),
+		MAKE_VULKAN_ENTRY(vkDeviceWaitIdle),
+		MAKE_VULKAN_ENTRY(vkAllocateMemory),
+		MAKE_VULKAN_ENTRY(vkFreeMemory),
+		MAKE_VULKAN_ENTRY(vkMapMemory),
+		MAKE_VULKAN_ENTRY(vkUnmapMemory),
+		MAKE_VULKAN_ENTRY(vkFlushMappedMemoryRanges),
+		MAKE_VULKAN_ENTRY(vkInvalidateMappedMemoryRanges),
+		MAKE_VULKAN_ENTRY(vkGetDeviceMemoryCommitment),
+		MAKE_VULKAN_ENTRY(vkBindBufferMemory),
+		MAKE_VULKAN_ENTRY(vkBindImageMemory),
+		MAKE_VULKAN_ENTRY(vkGetBufferMemoryRequirements),
+		MAKE_VULKAN_ENTRY(vkGetImageMemoryRequirements),
+		MAKE_VULKAN_ENTRY(vkGetImageSparseMemoryRequirements),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties),
+		MAKE_VULKAN_ENTRY(vkQueueBindSparse),
+		MAKE_VULKAN_ENTRY(vkCreateFence),
+		MAKE_VULKAN_ENTRY(vkDestroyFence),
+		MAKE_VULKAN_ENTRY(vkResetFences),
+		MAKE_VULKAN_ENTRY(vkGetFenceStatus),
+		MAKE_VULKAN_ENTRY(vkWaitForFences),
+		MAKE_VULKAN_ENTRY(vkCreateSemaphore),
+		MAKE_VULKAN_ENTRY(vkDestroySemaphore),
+		MAKE_VULKAN_ENTRY(vkCreateEvent),
+		MAKE_VULKAN_ENTRY(vkDestroyEvent),
+		MAKE_VULKAN_ENTRY(vkGetEventStatus),
+		MAKE_VULKAN_ENTRY(vkSetEvent),
+		MAKE_VULKAN_ENTRY(vkResetEvent),
+		MAKE_VULKAN_ENTRY(vkCreateQueryPool),
+		MAKE_VULKAN_ENTRY(vkDestroyQueryPool),
+		MAKE_VULKAN_ENTRY(vkGetQueryPoolResults),
+		MAKE_VULKAN_ENTRY(vkCreateBuffer),
+		MAKE_VULKAN_ENTRY(vkDestroyBuffer),
+		MAKE_VULKAN_ENTRY(vkCreateBufferView),
+		MAKE_VULKAN_ENTRY(vkDestroyBufferView),
+		MAKE_VULKAN_ENTRY(vkCreateImage),
+		MAKE_VULKAN_ENTRY(vkDestroyImage),
+		MAKE_VULKAN_ENTRY(vkGetImageSubresourceLayout),
+		MAKE_VULKAN_ENTRY(vkCreateImageView),
+		MAKE_VULKAN_ENTRY(vkDestroyImageView),
+		MAKE_VULKAN_ENTRY(vkCreateShaderModule),
+		MAKE_VULKAN_ENTRY(vkDestroyShaderModule),
+		MAKE_VULKAN_ENTRY(vkCreatePipelineCache),
+		MAKE_VULKAN_ENTRY(vkDestroyPipelineCache),
+		MAKE_VULKAN_ENTRY(vkGetPipelineCacheData),
+		MAKE_VULKAN_ENTRY(vkMergePipelineCaches),
+		MAKE_VULKAN_ENTRY(vkCreateGraphicsPipelines),
+		MAKE_VULKAN_ENTRY(vkCreateComputePipelines),
+		MAKE_VULKAN_ENTRY(vkDestroyPipeline),
+		MAKE_VULKAN_ENTRY(vkCreatePipelineLayout),
+		MAKE_VULKAN_ENTRY(vkDestroyPipelineLayout),
+		MAKE_VULKAN_ENTRY(vkCreateSampler),
+		MAKE_VULKAN_ENTRY(vkDestroySampler),
+		MAKE_VULKAN_ENTRY(vkCreateDescriptorSetLayout),
+		MAKE_VULKAN_ENTRY(vkDestroyDescriptorSetLayout),
+		MAKE_VULKAN_ENTRY(vkCreateDescriptorPool),
+		MAKE_VULKAN_ENTRY(vkDestroyDescriptorPool),
+		MAKE_VULKAN_ENTRY(vkResetDescriptorPool),
+		MAKE_VULKAN_ENTRY(vkAllocateDescriptorSets),
+		MAKE_VULKAN_ENTRY(vkFreeDescriptorSets),
+		MAKE_VULKAN_ENTRY(vkUpdateDescriptorSets),
+		MAKE_VULKAN_ENTRY(vkCreateFramebuffer),
+		MAKE_VULKAN_ENTRY(vkDestroyFramebuffer),
+		MAKE_VULKAN_ENTRY(vkCreateRenderPass),
+		MAKE_VULKAN_ENTRY(vkDestroyRenderPass),
+		MAKE_VULKAN_ENTRY(vkGetRenderAreaGranularity),
+		MAKE_VULKAN_ENTRY(vkCreateCommandPool),
+		MAKE_VULKAN_ENTRY(vkDestroyCommandPool),
+		MAKE_VULKAN_ENTRY(vkResetCommandPool),
+		MAKE_VULKAN_ENTRY(vkAllocateCommandBuffers),
+		MAKE_VULKAN_ENTRY(vkFreeCommandBuffers),
+		MAKE_VULKAN_ENTRY(vkBeginCommandBuffer),
+		MAKE_VULKAN_ENTRY(vkEndCommandBuffer),
+		MAKE_VULKAN_ENTRY(vkResetCommandBuffer),
+		MAKE_VULKAN_ENTRY(vkCmdBindPipeline),
+		MAKE_VULKAN_ENTRY(vkCmdSetViewport),
+		MAKE_VULKAN_ENTRY(vkCmdSetScissor),
+		MAKE_VULKAN_ENTRY(vkCmdSetLineWidth),
+		MAKE_VULKAN_ENTRY(vkCmdSetDepthBias),
+		MAKE_VULKAN_ENTRY(vkCmdSetBlendConstants),
+		MAKE_VULKAN_ENTRY(vkCmdSetDepthBounds),
+		MAKE_VULKAN_ENTRY(vkCmdSetStencilCompareMask),
+		MAKE_VULKAN_ENTRY(vkCmdSetStencilWriteMask),
+		MAKE_VULKAN_ENTRY(vkCmdSetStencilReference),
+		MAKE_VULKAN_ENTRY(vkCmdBindDescriptorSets),
+		MAKE_VULKAN_ENTRY(vkCmdBindIndexBuffer),
+		MAKE_VULKAN_ENTRY(vkCmdBindVertexBuffers),
+		MAKE_VULKAN_ENTRY(vkCmdDraw),
+		MAKE_VULKAN_ENTRY(vkCmdDrawIndexed),
+		MAKE_VULKAN_ENTRY(vkCmdDrawIndirect),
+		MAKE_VULKAN_ENTRY(vkCmdDrawIndexedIndirect),
+		MAKE_VULKAN_ENTRY(vkCmdDispatch),
+		MAKE_VULKAN_ENTRY(vkCmdDispatchIndirect),
+		MAKE_VULKAN_ENTRY(vkCmdCopyBuffer),
+		MAKE_VULKAN_ENTRY(vkCmdCopyImage),
+		MAKE_VULKAN_ENTRY(vkCmdBlitImage),
+		MAKE_VULKAN_ENTRY(vkCmdCopyBufferToImage),
+		MAKE_VULKAN_ENTRY(vkCmdCopyImageToBuffer),
+		MAKE_VULKAN_ENTRY(vkCmdUpdateBuffer),
+		MAKE_VULKAN_ENTRY(vkCmdFillBuffer),
+		MAKE_VULKAN_ENTRY(vkCmdClearColorImage),
+		MAKE_VULKAN_ENTRY(vkCmdClearDepthStencilImage),
+		MAKE_VULKAN_ENTRY(vkCmdClearAttachments),
+		MAKE_VULKAN_ENTRY(vkCmdResolveImage),
+		MAKE_VULKAN_ENTRY(vkCmdSetEvent),
+		MAKE_VULKAN_ENTRY(vkCmdResetEvent),
+		MAKE_VULKAN_ENTRY(vkCmdWaitEvents),
+		MAKE_VULKAN_ENTRY(vkCmdPipelineBarrier),
+		MAKE_VULKAN_ENTRY(vkCmdBeginQuery),
+		MAKE_VULKAN_ENTRY(vkCmdEndQuery),
+		MAKE_VULKAN_ENTRY(vkCmdResetQueryPool),
+		MAKE_VULKAN_ENTRY(vkCmdWriteTimestamp),
+		MAKE_VULKAN_ENTRY(vkCmdCopyQueryPoolResults),
+		MAKE_VULKAN_ENTRY(vkCmdPushConstants),
+		MAKE_VULKAN_ENTRY(vkCmdBeginRenderPass),
+		MAKE_VULKAN_ENTRY(vkCmdNextSubpass),
+		MAKE_VULKAN_ENTRY(vkCmdEndRenderPass),
+		MAKE_VULKAN_ENTRY(vkCmdExecuteCommands),
+		MAKE_VULKAN_ENTRY(vkEnumerateInstanceVersion),
+		MAKE_VULKAN_ENTRY(vkBindBufferMemory2),
+		MAKE_VULKAN_ENTRY(vkBindImageMemory2),
+		MAKE_VULKAN_ENTRY(vkGetDeviceGroupPeerMemoryFeatures),
+		MAKE_VULKAN_ENTRY(vkCmdSetDeviceMask),
+		MAKE_VULKAN_ENTRY(vkCmdDispatchBase),
+		MAKE_VULKAN_ENTRY(vkEnumeratePhysicalDeviceGroups),
+		MAKE_VULKAN_ENTRY(vkGetImageMemoryRequirements2),
+		MAKE_VULKAN_ENTRY(vkGetBufferMemoryRequirements2),
+		MAKE_VULKAN_ENTRY(vkGetImageSparseMemoryRequirements2),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceFeatures2),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceProperties2),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceFormatProperties2),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceImageFormatProperties2),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceMemoryProperties2),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2),
+		MAKE_VULKAN_ENTRY(vkTrimCommandPool),
+		MAKE_VULKAN_ENTRY(vkGetDeviceQueue2),
+		MAKE_VULKAN_ENTRY(vkCreateSamplerYcbcrConversion),
+		MAKE_VULKAN_ENTRY(vkDestroySamplerYcbcrConversion),
+		MAKE_VULKAN_ENTRY(vkCreateDescriptorUpdateTemplate),
+		MAKE_VULKAN_ENTRY(vkDestroyDescriptorUpdateTemplate),
+		MAKE_VULKAN_ENTRY(vkUpdateDescriptorSetWithTemplate),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceExternalBufferProperties),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceExternalFenceProperties),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceExternalSemaphoreProperties),
+		MAKE_VULKAN_ENTRY(vkGetDescriptorSetLayoutSupport),
+		// VK_KHR_bind_memory2
+		MAKE_VULKAN_ENTRY(vkBindBufferMemory2KHR),
+		MAKE_VULKAN_ENTRY(vkBindImageMemory2KHR),
+		// VK_KHR_descriptor_update_template
+		MAKE_VULKAN_ENTRY(vkCreateDescriptorUpdateTemplateKHR),
+		MAKE_VULKAN_ENTRY(vkDestroyDescriptorUpdateTemplateKHR),
+		MAKE_VULKAN_ENTRY(vkUpdateDescriptorSetWithTemplateKHR),
+		// VK_KHR_device_group
+		MAKE_VULKAN_ENTRY(vkGetDeviceGroupPeerMemoryFeaturesKHR),
+		MAKE_VULKAN_ENTRY(vkCmdSetDeviceMaskKHR),
+		MAKE_VULKAN_ENTRY(vkCmdDispatchBaseKHR),
+		// VK_KHR_device_group_creation
+		MAKE_VULKAN_ENTRY(vkEnumeratePhysicalDeviceGroupsKHR),
+		// VK_KHR_external_fence_capabilities
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceExternalFencePropertiesKHR),
+		// VK_KHR_external_memory_capabilities
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceExternalBufferPropertiesKHR),
+		// VK_KHR_external_semaphore_capabilities
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceExternalSemaphorePropertiesKHR),
+		// VK_KHR_get_memory_requirements2
+		MAKE_VULKAN_ENTRY(vkGetImageMemoryRequirements2KHR),
+		MAKE_VULKAN_ENTRY(vkGetBufferMemoryRequirements2KHR),
+		MAKE_VULKAN_ENTRY(vkGetImageSparseMemoryRequirements2KHR),
+		// VK_KHR_get_physical_device_properties2
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceFeatures2KHR),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceProperties2KHR),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceFormatProperties2KHR),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceImageFormatProperties2KHR),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2KHR),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceMemoryProperties2KHR),
+		MAKE_VULKAN_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2KHR),
+		// VK_KHR_maintenance1
+		MAKE_VULKAN_ENTRY(vkTrimCommandPoolKHR),
+		// VK_KHR_maintenance3
+		MAKE_VULKAN_ENTRY(vkGetDescriptorSetLayoutSupportKHR),
+		// VK_KHR_sampler_ycbcr_conversion
+		MAKE_VULKAN_ENTRY(vkCreateSamplerYcbcrConversionKHR),
+		MAKE_VULKAN_ENTRY(vkDestroySamplerYcbcrConversionKHR),
+	};
+#undef MAKE_VULKAN_ENTRY
+
+	PFN_vkVoidFunction GetProcAddr(const char* pName)
+	{
+		auto pFunc = func_ptrs.find(std::string(pName));
+		return (pFunc == func_ptrs.end()) ? nullptr : pFunc->second;
+	}
+}
