Use global Vulkan dispatch for vkGetInstanceProcAddr

vkGetInstanceProcAddr(instance, "vkGetInstanceProcAddr") may return
nullptr on some drivers. The global dispatch is guaranteed to be valid.

The spec forces vkGetInstanceProcAddr to return a valid function pointer
when pName = "vkGetInstanceProcAddr": https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#initialization-functionpointers.
The language is a bit vague though.

Bug: b/217395292
Change-Id: Ie7b814eb324f815ad6ff7309d4fb75619aeff8c4
diff --git a/stream-servers/vulkan/VkCommonOperations.cpp b/stream-servers/vulkan/VkCommonOperations.cpp
index bb7f42f..a3e4e14 100644
--- a/stream-servers/vulkan/VkCommonOperations.cpp
+++ b/stream-servers/vulkan/VkCommonOperations.cpp
@@ -601,22 +601,17 @@
     sVkEmulation->instanceSupportsMoltenVK = moltenVKSupported;
 
     if (sVkEmulation->instanceSupportsExternalMemoryCapabilities) {
-        sVkEmulation->getImageFormatProperties2Func = reinterpret_cast<
-                PFN_vkGetPhysicalDeviceImageFormatProperties2KHR>(
-                ivk->vkGetInstanceProcAddr(
-                        sVkEmulation->instance,
-                        "vkGetPhysicalDeviceImageFormatProperties2KHR"));
-        sVkEmulation->getPhysicalDeviceProperties2Func = reinterpret_cast<
-                PFN_vkGetPhysicalDeviceProperties2KHR>(
-                ivk->vkGetInstanceProcAddr(
-                        sVkEmulation->instance,
-                        "vkGetPhysicalDeviceProperties2KHR"));
+        sVkEmulation->getImageFormatProperties2Func =
+            reinterpret_cast<PFN_vkGetPhysicalDeviceImageFormatProperties2KHR>(
+                vk->vkGetInstanceProcAddr(sVkEmulation->instance,
+                                          "vkGetPhysicalDeviceImageFormatProperties2KHR"));
+        sVkEmulation->getPhysicalDeviceProperties2Func =
+            reinterpret_cast<PFN_vkGetPhysicalDeviceProperties2KHR>(vk->vkGetInstanceProcAddr(
+                sVkEmulation->instance, "vkGetPhysicalDeviceProperties2KHR"));
         if (!sVkEmulation->getPhysicalDeviceProperties2Func) {
-            sVkEmulation->getPhysicalDeviceProperties2Func = reinterpret_cast<
-                    PFN_vkGetPhysicalDeviceProperties2KHR>(
-                    ivk->vkGetInstanceProcAddr(
-                            sVkEmulation->instance,
-                            "vkGetPhysicalDeviceProperties2"));
+            sVkEmulation->getPhysicalDeviceProperties2Func =
+                reinterpret_cast<PFN_vkGetPhysicalDeviceProperties2KHR>(vk->vkGetInstanceProcAddr(
+                    sVkEmulation->instance, "vkGetPhysicalDeviceProperties2"));
         }
     }
 
diff --git a/stream-servers/vulkan/VkDecoderGlobalState.cpp b/stream-servers/vulkan/VkDecoderGlobalState.cpp
index 31cf817..e7b2985 100644
--- a/stream-servers/vulkan/VkDecoderGlobalState.cpp
+++ b/stream-servers/vulkan/VkDecoderGlobalState.cpp
@@ -572,13 +572,12 @@
 
         if (m_emu->instanceSupportsExternalMemoryCapabilities) {
             PFN_vkGetPhysicalDeviceProperties2KHR getPhysdevProps2Func =
-                (PFN_vkGetPhysicalDeviceProperties2KHR)(vk->vkGetInstanceProcAddr(
-                    instance, "vkGetPhysicalDeviceProperties2KHR"));
+                (PFN_vkGetPhysicalDeviceProperties2KHR)(
+                    m_vk->vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2KHR"));
 
             if (!getPhysdevProps2Func) {
-                getPhysdevProps2Func =
-                    (PFN_vkGetPhysicalDeviceProperties2KHR)(vk->vkGetInstanceProcAddr(
-                        instance, "vkGetPhysicalDeviceProperties2"));
+                getPhysdevProps2Func = (PFN_vkGetPhysicalDeviceProperties2KHR)(
+                    m_vk->vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2"));
             }
 
             if (!getPhysdevProps2Func) {