[vulkan] Add feature flag
bug: 111137294
This allows us to build the HAL, but not activate it unless a
feature flag is enabled.
If the feature flag is not enabled, the stub hal is used.
Change-Id: I678a1eea0f36fd1574c78a400676f7189a8fc53c
diff --git a/system/vulkan_enc/ResourceTracker.cpp b/system/vulkan_enc/ResourceTracker.cpp
index a693ebd..3cacf39 100644
--- a/system/vulkan_enc/ResourceTracker.cpp
+++ b/system/vulkan_enc/ResourceTracker.cpp
@@ -328,6 +328,12 @@
}
}
+ bool hostSupportsVulkan() const {
+ if (!mFeatureInfo) return false;
+
+ return mFeatureInfo->hasVulkan;
+ }
+
bool usingDirectMapping() const {
return mHostVisibleMemoryVirtInfo.virtualizationSupported;
}
@@ -1136,6 +1142,10 @@
mImpl->setupFeatures(features);
}
+bool ResourceTracker::hostSupportsVulkan() const {
+ return mImpl->hostSupportsVulkan();
+}
+
bool ResourceTracker::usingDirectMapping() const {
return mImpl->usingDirectMapping();
}
diff --git a/system/vulkan_enc/ResourceTracker.h b/system/vulkan_enc/ResourceTracker.h
index cdbb54d..c63dfc0 100644
--- a/system/vulkan_enc/ResourceTracker.h
+++ b/system/vulkan_enc/ResourceTracker.h
@@ -143,6 +143,7 @@
VkDeviceSize getNonCoherentExtendedSize(VkDevice device, VkDeviceSize basicSize) const;
bool isValidMemoryRange(const VkMappedMemoryRange& range) const;
void setupFeatures(const EmulatorFeatureInfo* features);
+ bool hostSupportsVulkan() const;
bool usingDirectMapping() const;
void deviceMemoryTransform_tohost(
VkDeviceMemory* memory, uint32_t memoryCount,
@@ -167,4 +168,4 @@
std::unique_ptr<Impl> mImpl;
};
-} // namespace goldfish_vk
\ No newline at end of file
+} // namespace goldfish_vk