[vulkan] Take codegen for general / external memory transforms (guest)

bug: 111137294
bug: 122080810

Change-Id: I3f45e8862785f333aaa5b814b3a7d95b6ad1704f
diff --git a/system/vulkan_enc/ResourceTracker.h b/system/vulkan_enc/ResourceTracker.h
index c63dfc0..0afed7f 100644
--- a/system/vulkan_enc/ResourceTracker.h
+++ b/system/vulkan_enc/ResourceTracker.h
@@ -20,6 +20,8 @@
 #include "VulkanHandles.h"
 #include <memory>
 
+#include "goldfish_vk_transform_guest.h"
+
 struct EmulatorFeatureInfo;
 
 namespace goldfish_vk {
@@ -145,6 +147,12 @@
     void setupFeatures(const EmulatorFeatureInfo* features);
     bool hostSupportsVulkan() const;
     bool usingDirectMapping() const;
+    uint32_t getApiVersionFromInstance(VkInstance instance) const;
+    uint32_t getApiVersionFromDevice(VkDevice device) const;
+    bool hasInstanceExtension(VkInstance instance, const std::string& name) const;
+    bool hasDeviceExtension(VkDevice instance, const std::string& name) const;
+
+    // Transforms
     void deviceMemoryTransform_tohost(
         VkDeviceMemory* memory, uint32_t memoryCount,
         VkDeviceSize* offset, uint32_t offsetCount,
@@ -158,10 +166,11 @@
         uint32_t* typeIndex, uint32_t typeIndexCount,
         uint32_t* typeBits, uint32_t typeBitsCount);
 
-    uint32_t getApiVersionFromInstance(VkInstance instance) const;
-    uint32_t getApiVersionFromDevice(VkDevice device) const;
-    bool hasInstanceExtension(VkInstance instance, const std::string& name) const;
-    bool hasDeviceExtension(VkDevice instance, const std::string& name) const;
+#define DEFINE_TRANSFORMED_TYPE_PROTOTYPE(type) \
+    void transformImpl_##type##_tohost(const type*, uint32_t); \
+    void transformImpl_##type##_fromhost(const type*, uint32_t); \
+    
+LIST_TRANSFORMED_TYPES(DEFINE_TRANSFORMED_TYPE_PROTOTYPE)
 
   private:
     class Impl;