[vulkan] unbreak non-GLDirectMem

bug: 111137294
bug: 121420031
Change-Id: Idc130b88e3eced28caa2d677e086c4eeddd7fd10
diff --git a/system/vulkan_enc/HostVisibleMemoryVirtualization.cpp b/system/vulkan_enc/HostVisibleMemoryVirtualization.cpp
index c1495fb..883de3d 100644
--- a/system/vulkan_enc/HostVisibleMemoryVirtualization.cpp
+++ b/system/vulkan_enc/HostVisibleMemoryVirtualization.cpp
@@ -67,6 +67,7 @@
 
     if (info_out->initialized) return;
 
+    info_out->hostMemoryProperties = *memoryProperties;
     info_out->initialized = true;
 
     info_out->memoryPropertiesSupported =
@@ -83,7 +84,6 @@
     info_out->virtualizationSupported = true;
 
     info_out->physicalDevice = physicalDevice;
-    info_out->hostMemoryProperties = *memoryProperties;
     info_out->guestMemoryProperties = *memoryProperties;
 
     uint32_t typeCount =
@@ -179,8 +179,13 @@
 bool isHostVisibleMemoryTypeIndexForGuest(
     const HostVisibleMemoryVirtualizationInfo* info,
     uint32_t index) {
-    return info->guestMemoryProperties.memoryTypes[index].propertyFlags &
-           VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
+
+    const auto& props =
+        info->virtualizationSupported ?
+        info->guestMemoryProperties :
+        info->hostMemoryProperties;
+
+    return props.memoryTypes[index].propertyFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
 }
 
 VkResult finishHostMemAllocInit(
diff --git a/system/vulkan_enc/ResourceTracker.cpp b/system/vulkan_enc/ResourceTracker.cpp
index 23fa666..42612ea 100644
--- a/system/vulkan_enc/ResourceTracker.cpp
+++ b/system/vulkan_enc/ResourceTracker.cpp
@@ -516,6 +516,12 @@
         // Host visible memory with no direct mapping support
         bool directMappingSupported = usingDirectMapping();
         if (!directMappingSupported) {
+            input_result =
+                enc->vkAllocateMemory(
+                    device, pAllocateInfo, pAllocator, pMemory);
+
+            if (input_result != VK_SUCCESS) return input_result;
+
             VkDeviceSize mappedSize =
                 getNonCoherentExtendedSize(device,
                     pAllocateInfo->allocationSize);