Ensure AHBs use the reserved emulated memory type index

... so that the guest never tries to map AHB memory.

Bug: b/272079201
Test: cts -m CtsNativeHardwareTestCases
Test: cts -m CtsDeqpTestCases --module-arg
      CtsDeqpTestCases:include-filter:dEQP-VK.api.external.memory.android_hardware_buffer*
Change-Id: I0b8030bdfdcedc5429191a3e76c9ff6355e9acbf
diff --git a/system/vulkan_enc/ResourceTracker.cpp b/system/vulkan_enc/ResourceTracker.cpp
index 624239c..106321a 100644
--- a/system/vulkan_enc/ResourceTracker.cpp
+++ b/system/vulkan_enc/ResourceTracker.cpp
@@ -1657,18 +1657,14 @@
 
 #ifdef VK_USE_PLATFORM_ANDROID_KHR
     VkResult on_vkGetAndroidHardwareBufferPropertiesANDROID(
-            void* context, VkResult,
-            VkDevice device,
+            void*, VkResult,
+            VkDevice,
             const AHardwareBuffer* buffer,
             VkAndroidHardwareBufferPropertiesANDROID* pProperties) {
-        const VkPhysicalDeviceMemoryProperties& memoryProperties =
-            getPhysicalDeviceMemoryProperties(context, device, VK_NULL_HANDLE);
         auto grallocHelper =
             ResourceTracker::threadingCallbacks.hostConnectionGetFunc()->grallocHelper();
         return getAndroidHardwareBufferPropertiesANDROID(
-            grallocHelper,
-            &memoryProperties,
-            device, buffer, pProperties);
+            grallocHelper, buffer, pProperties);
     }
 
     VkResult on_vkGetMemoryAndroidHardwareBufferANDROID(
@@ -4252,6 +4248,13 @@
             info.isSysmemBackedMemory = true;
         }
 #endif
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
+        if (extImgCiPtr &&
+            (extImgCiPtr->handleTypes &
+             VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID)) {
+            updateMemoryTypeBitsForAndroidHardwareBuffers(&memReqs.memoryTypeBits);
+        }
+#endif
 
         if (info.baseRequirementsKnown) {
             transformImageMemoryRequirementsForGuestLocked(*pImage, &memReqs);
@@ -5288,6 +5291,14 @@
 
         if (res != VK_SUCCESS) return res;
 
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
+        if (extBufCiPtr &&
+            (extBufCiPtr->handleTypes &
+             VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID)) {
+            updateMemoryTypeBitsForAndroidHardwareBuffers(&memReqs.memoryTypeBits);
+        }
+#endif
+
         AutoLock<RecursiveLock> lock(mLock);
 
         auto it = info_VkBuffer.find(*pBuffer);