Moved many Cast functions to libVulkan.cpp

We should be changing to the internal object representation ASAP
in the API and not carry around handles when it's trivial not to.

Bug: b/116336664

Change-Id: I21de3421fd3e72f3402f2d7cefe1a3dd22c87045
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/32850
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Vulkan/VkGetProcAddress.cpp b/src/Vulkan/VkGetProcAddress.cpp
index d7878ec..ad253cf 100644
--- a/src/Vulkan/VkGetProcAddress.cpp
+++ b/src/Vulkan/VkGetProcAddress.cpp
@@ -323,7 +323,7 @@
 
 #undef MAKE_VULKAN_DEVICE_ENTRY
 
-PFN_vkVoidFunction GetInstanceProcAddr(VkInstance instance, const char* pName)
+PFN_vkVoidFunction GetInstanceProcAddr(Instance* instance, const char* pName)
 {
 	auto globalFunction = globalFunctionPointers.find(std::string(pName));
 	if(globalFunction != globalFunctionPointers.end())
@@ -331,7 +331,7 @@
 		return globalFunction->second;
 	}
 
-	if(instance != VK_NULL_HANDLE)
+	if(instance != nullptr)
 	{
 		auto instanceFunction = instanceFunctionPointers.find(std::string(pName));
 		if(instanceFunction != instanceFunctionPointers.end())
@@ -358,7 +358,7 @@
 	return nullptr;
 }
 
-PFN_vkVoidFunction GetDeviceProcAddr(VkDevice device, const char* pName)
+PFN_vkVoidFunction GetDeviceProcAddr(Device* device, const char* pName)
 {
 	auto deviceFunction = deviceFunctionPointers.find(std::string(pName));
 	if(deviceFunction != deviceFunctionPointers.end())
@@ -366,10 +366,9 @@
 		return deviceFunction->second;
 	}
 
-	vk::Device* myDevice = Cast(device);
 	for(const auto& deviceExtensionFunctions : deviceExtensionFunctionPointers)
 	{
-		if(myDevice->hasExtension(deviceExtensionFunctions.first))
+		if(device->hasExtension(deviceExtensionFunctions.first))
 		{
 			deviceFunction = deviceExtensionFunctions.second.find(std::string(pName));
 			if(deviceFunction != deviceExtensionFunctions.second.end())