Fix coherent memory allocation to use device

When allocating coherent memory (generally, suballocations) and looking
up existing VkDeviceMemory entries, the device is critical to finding
valid allocation blocks, otherwise allocations from other devices might
be chosen, which invalidate things.

This happens only in situations where a single process has multiple
VkDevices, so it was rare enough not to be caught until now.

Bug: 323613449
Test: On emulator with -guest-angle
Change-Id: I2a7581b79ab9395ef3982546f3110fc605dec7ef
diff --git a/guest/vulkan_enc/ResourceTracker.cpp b/guest/vulkan_enc/ResourceTracker.cpp
index 97eac6e..be6fb36 100644
--- a/guest/vulkan_enc/ResourceTracker.cpp
+++ b/guest/vulkan_enc/ResourceTracker.cpp
@@ -3155,6 +3155,8 @@
     {
         AutoLock<RecursiveLock> lock(mLock);
         for (const auto& [memory, info] : info_VkDeviceMemory) {
+            if (info.device != device) continue;
+
             if (info.memoryTypeIndex != pAllocateInfo->memoryTypeIndex) continue;
 
             if (info.dedicated || dedicated) continue;