Move info maps into ResourceTracker

... to avoid more globals.

Bug: b/293897204
Test: GfxstreamEnd2EndTests
Change-Id: I52b3339e8bba599269f6475cb8d3d5268ab34676
diff --git a/guest/vulkan_enc/ResourceTracker.cpp b/guest/vulkan_enc/ResourceTracker.cpp
index a286f7f..c2a514c 100644
--- a/guest/vulkan_enc/ResourceTracker.cpp
+++ b/guest/vulkan_enc/ResourceTracker.cpp
@@ -195,168 +195,11 @@
 
 static StagingInfo sStaging;
 
-#define HANDLE_DEFINE_TRIVIAL_INFO_STRUCT(type) \
-    struct type##_Info {                        \
-        uint32_t unused;                        \
-    };
-
-GOLDFISH_VK_LIST_TRIVIAL_HANDLE_TYPES(HANDLE_DEFINE_TRIVIAL_INFO_STRUCT)
-
-struct VkInstance_Info {
-    uint32_t highestApiVersion;
-    std::set<std::string> enabledExtensions;
-    // Fodder for vkEnumeratePhysicalDevices.
-    std::vector<VkPhysicalDevice> physicalDevices;
-};
-
-struct VkDevice_Info {
-    VkPhysicalDevice physdev;
-    VkPhysicalDeviceProperties props;
-    VkPhysicalDeviceMemoryProperties memProps;
-    uint32_t apiVersion;
-    std::set<std::string> enabledExtensions;
-    std::vector<std::pair<PFN_vkDeviceMemoryReportCallbackEXT, void*>> deviceMemoryReportCallbacks;
-};
-
-struct VkDeviceMemory_Info {
-    bool dedicated = false;
-    bool imported = false;
-
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-    AHardwareBuffer* ahw = nullptr;
-#endif
-    zx_handle_t vmoHandle = ZX_HANDLE_INVALID;
-    VkDevice device;
-
-    uint8_t* ptr = nullptr;
-
-    uint64_t blobId = 0;
-    uint64_t allocationSize = 0;
-    uint32_t memoryTypeIndex = 0;
-    uint64_t coherentMemorySize = 0;
-    uint64_t coherentMemoryOffset = 0;
-
-#if defined(__ANDROID__)
-    GoldfishAddressSpaceBlockPtr goldfishBlock = nullptr;
-#endif  // defined(__ANDROID__)
-    CoherentMemoryPtr coherentMemory = nullptr;
-};
-
-struct VkCommandBuffer_Info {
-    uint32_t placeholder;
-};
-
-struct VkQueue_Info {
-    VkDevice device;
-};
-
-// custom guest-side structs for images/buffers because of AHardwareBuffer :((
-struct VkImage_Info {
-    VkDevice device;
-    VkImageCreateInfo createInfo;
-    bool external = false;
-    VkExternalMemoryImageCreateInfo externalCreateInfo;
-    VkDeviceMemory currentBacking = VK_NULL_HANDLE;
-    VkDeviceSize currentBackingOffset = 0;
-    VkDeviceSize currentBackingSize = 0;
-    bool baseRequirementsKnown = false;
-    VkMemoryRequirements baseRequirements;
-#ifdef VK_USE_PLATFORM_ANDROID_KHR
-    bool hasExternalFormat = false;
-    unsigned androidFormat = 0;
-    std::vector<int> pendingQsriSyncFds;
-#endif
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    bool isSysmemBackedMemory = false;
-#endif
-};
-
-struct VkBuffer_Info {
-    VkDevice device;
-    VkBufferCreateInfo createInfo;
-    bool external = false;
-    VkExternalMemoryBufferCreateInfo externalCreateInfo;
-    VkDeviceMemory currentBacking = VK_NULL_HANDLE;
-    VkDeviceSize currentBackingOffset = 0;
-    VkDeviceSize currentBackingSize = 0;
-    bool baseRequirementsKnown = false;
-    VkMemoryRequirements baseRequirements;
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    bool isSysmemBackedMemory = false;
-#endif
-};
-
-struct VkSemaphore_Info {
-    VkDevice device;
-    zx_handle_t eventHandle = ZX_HANDLE_INVALID;
-    zx_koid_t eventKoid = ZX_KOID_INVALID;
-    std::optional<int> syncFd = {};
-};
-
-struct VkDescriptorUpdateTemplate_Info {
-    uint32_t templateEntryCount = 0;
-    VkDescriptorUpdateTemplateEntry* templateEntries;
-
-    uint32_t imageInfoCount = 0;
-    uint32_t bufferInfoCount = 0;
-    uint32_t bufferViewCount = 0;
-    uint32_t inlineUniformBlockCount = 0;
-    uint32_t* imageInfoIndices;
-    uint32_t* bufferInfoIndices;
-    uint32_t* bufferViewIndices;
-    VkDescriptorImageInfo* imageInfos;
-    VkDescriptorBufferInfo* bufferInfos;
-    VkBufferView* bufferViews;
-    std::vector<uint8_t> inlineUniformBlockBuffer;
-    std::vector<uint32_t> inlineUniformBlockBytesPerBlocks;  // bytes per uniform block
-};
-
-struct VkFence_Info {
-    VkDevice device;
-    bool external = false;
-    VkExportFenceCreateInfo exportFenceCreateInfo;
-#if defined(VK_USE_PLATFORM_ANDROID_KHR) || defined(__linux__)
-    int syncFd = -1;
-#endif
-};
-
-struct VkDescriptorPool_Info {
-    uint32_t unused;
-};
-
-struct VkDescriptorSet_Info {
-    uint32_t unused;
-};
-
-struct VkDescriptorSetLayout_Info {
-    uint32_t unused;
-};
-
-struct VkCommandPool_Info {
-    uint32_t unused;
-};
-
-struct VkSampler_Info {
-    uint32_t unused;
-};
-
-struct VkBufferCollectionFUCHSIA_Info {
-#ifdef VK_USE_PLATFORM_FUCHSIA
-    gfxstream::guest::Optional<fuchsia_sysmem::wire::BufferCollectionConstraints> constraints;
-    gfxstream::guest::Optional<VkBufferCollectionPropertiesFUCHSIA> properties;
-
-    // the index of corresponding createInfo for each image format
-    // constraints in |constraints|.
-    std::vector<uint32_t> createInfoIndex;
-#endif  // VK_USE_PLATFORM_FUCHSIA
-};
-
 struct CommandBufferPendingDescriptorSets {
     std::unordered_set<VkDescriptorSet> sets;
 };
 
 #define HANDLE_REGISTER_IMPL_IMPL(type)                \
-    std::unordered_map<type, type##_Info> info_##type; \
     void ResourceTracker::register_##type(type obj) {  \
         AutoLock<RecursiveLock> lock(mLock);           \
         info_##type[obj] = type##_Info();              \
@@ -442,7 +285,7 @@
     return as_goldfish_VkDescriptorSet(dstSet)->reified->bindingIsImmutableSampler[dstBinding];
 }
 
-VkDescriptorImageInfo filterNonexistentSampler(const VkDescriptorImageInfo& inputInfo) {
+VkDescriptorImageInfo ResourceTracker::filterNonexistentSampler(const VkDescriptorImageInfo& inputInfo) {
     VkSampler sampler = inputInfo.sampler;
 
     VkDescriptorImageInfo res = inputInfo;
@@ -456,9 +299,9 @@
     return res;
 }
 
-void emitDeviceMemoryReport(VkDevice_Info info, VkDeviceMemoryReportEventTypeEXT type,
+void ResourceTracker::emitDeviceMemoryReport(VkDevice_Info info, VkDeviceMemoryReportEventTypeEXT type,
                             uint64_t memoryObjectId, VkDeviceSize size, VkObjectType objectType,
-                            uint64_t objectHandle, uint32_t heapIndex = 0) {
+                            uint64_t objectHandle, uint32_t heapIndex) {
     if (info.deviceMemoryReportCallbacks.empty()) return;
 
     const VkDeviceMemoryReportCallbackDataEXT callbackData = {
@@ -910,7 +753,7 @@
     setMemoryRequirementsForSysmemBackedImage(image, reqs);
 }
 
-CoherentMemoryPtr freeCoherentMemoryLocked(VkDeviceMemory memory, VkDeviceMemory_Info& info) {
+CoherentMemoryPtr ResourceTracker::freeCoherentMemoryLocked(VkDeviceMemory memory, VkDeviceMemory_Info& info) {
     if (info.coherentMemory && info.ptr) {
         if (info.coherentMemory->getDeviceMemory() != memory) {
             delete_goldfish_VkDeviceMemory(memory);
@@ -1360,7 +1203,7 @@
 }
 #endif
 
-void unregister_VkDescriptorSet_locked(VkDescriptorSet set) {
+void ResourceTracker::unregister_VkDescriptorSet_locked(VkDescriptorSet set) {
     struct goldfish_VkDescriptorSet* ds = as_goldfish_VkDescriptorSet(set);
     delete ds->reified;
     info_VkDescriptorSet.erase(set);