[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;