[vulkan] Set the features on first connection

bug: 111137294
bug: 121377497

This CL introduces a mechanism for Vulkan ResourceTracker to become
aware of what host-side features are available. On the first connection,
we father the feature strings and set feature fields, and this should be
communicated to Vulkan as well.

Change-Id: I90e4e31477d201271a47163491dc239ea5c26678
diff --git a/system/vulkan_enc/ResourceTracker.h b/system/vulkan_enc/ResourceTracker.h
index 9be37c8..c385e19 100644
--- a/system/vulkan_enc/ResourceTracker.h
+++ b/system/vulkan_enc/ResourceTracker.h
@@ -21,6 +21,8 @@
 #include "VkEventHandler.h"
 #include <memory>
 
+struct EmulatorFeatureInfo;
+
 namespace goldfish_vk {
 
 class ResourceTracker : public VkEventHandler {
@@ -97,6 +99,7 @@
     VkDeviceSize getMappedSize(VkDeviceMemory memory);
     VkDeviceSize getNonCoherentExtendedSize(VkDevice device, VkDeviceSize basicSize) const;
     bool isValidMemoryRange(const VkMappedMemoryRange& range) const;
+    void setupFeatures(const EmulatorFeatureInfo* features);
 
   private:
     class Impl;