[vulkan] Have a single struct for host visible memory virt info
bug: 111137294
bug: 121420031
We will only be virtualizing one physical device (for now), so to make
things have less plumbing, make the host virtualization properties
global.
Change-Id: Ie849ee15e023d241c7413d4f57451b2841d32db0
diff --git a/system/vulkan_enc/HostVisibleMemoryVirtualization.cpp b/system/vulkan_enc/HostVisibleMemoryVirtualization.cpp
index e8a2fb7..01887a3 100644
--- a/system/vulkan_enc/HostVisibleMemoryVirtualization.cpp
+++ b/system/vulkan_enc/HostVisibleMemoryVirtualization.cpp
@@ -76,12 +76,21 @@
void initHostVisibleMemoryVirtualizationInfo(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceMemoryProperties* memoryProperties,
+ bool hasDirectMem,
HostVisibleMemoryVirtualizationInfo* info_out) {
-
- info_out->supported =
+
+ info_out->memoryPropertiesSupported =
canFitVirtualHostVisibleMemoryInfo(memoryProperties);
- if (!info_out->supported) return;
+ info_out->directMemSupported = hasDirectMem;
+
+ if (!info_out->memoryPropertiesSupported ||
+ !info_out->directMemSupported) {
+ info_out->virtualizationSupported = false;
+ return;
+ }
+
+ info_out->virtualizationSupported = true;
uint32_t typeCount =
memoryProperties->memoryTypeCount;