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())