aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYilong Li <liyl@google.com>2020-06-25 22:05:15 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-06-25 22:05:15 +0000
commit9e495daac8178575c8d6fbb97e40846e3c09efab (patch)
tree4544a1cf105f511f041c0704ae81570ec2790f9e
parent1332d7fb45117423470e492453203e58eebdc69b (diff)
parent7a14b16e1afb87d27df4a4b0aa7455c9ff905dc7 (diff)
downloaddevice_generic_goldfish-opengl-9e495daac8178575c8d6fbb97e40846e3c09efab.tar.gz
device_generic_goldfish-opengl-9e495daac8178575c8d6fbb97e40846e3c09efab.tar.bz2
device_generic_goldfish-opengl-9e495daac8178575c8d6fbb97e40846e3c09efab.zip
Merge "vkGetPhysicalDeviceProperties: Set device type to Virtual GPU." am: fef50525c7 am: 7a14b16e1a
Original change: https://android-review.googlesource.com/c/device/generic/goldfish-opengl/+/1350162 Change-Id: I326a3146d26b45ce3e5d06088d7950c075467cd8
-rw-r--r--system/vulkan_enc/ResourceTracker.cpp43
-rw-r--r--system/vulkan_enc/ResourceTracker.h13
-rw-r--r--system/vulkan_enc/VkEncoder.cpp9
3 files changed, 65 insertions, 0 deletions
diff --git a/system/vulkan_enc/ResourceTracker.cpp b/system/vulkan_enc/ResourceTracker.cpp
index dc53cf9a..91be62bc 100644
--- a/system/vulkan_enc/ResourceTracker.cpp
+++ b/system/vulkan_enc/ResourceTracker.cpp
@@ -1329,6 +1329,25 @@ public:
}
}
+ void on_vkGetPhysicalDeviceProperties(
+ void*,
+ VkPhysicalDevice,
+ VkPhysicalDeviceProperties* pProperties) {
+ if (pProperties) {
+ pProperties->deviceType = VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU;
+ }
+ }
+
+ void on_vkGetPhysicalDeviceProperties2(
+ void*,
+ VkPhysicalDevice,
+ VkPhysicalDeviceProperties2* pProperties) {
+ if (pProperties) {
+ pProperties->properties.deviceType =
+ VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU;
+ }
+ }
+
void on_vkGetPhysicalDeviceMemoryProperties(
void*,
VkPhysicalDevice physdev,
@@ -4630,6 +4649,30 @@ VkResult ResourceTracker::on_vkEnumeratePhysicalDevices(
pPhysicalDevices);
}
+void ResourceTracker::on_vkGetPhysicalDeviceProperties(
+ void* context,
+ VkPhysicalDevice physicalDevice,
+ VkPhysicalDeviceProperties* pProperties) {
+ mImpl->on_vkGetPhysicalDeviceProperties(context, physicalDevice,
+ pProperties);
+}
+
+void ResourceTracker::on_vkGetPhysicalDeviceProperties2(
+ void* context,
+ VkPhysicalDevice physicalDevice,
+ VkPhysicalDeviceProperties2* pProperties) {
+ mImpl->on_vkGetPhysicalDeviceProperties2(context, physicalDevice,
+ pProperties);
+}
+
+void ResourceTracker::on_vkGetPhysicalDeviceProperties2KHR(
+ void* context,
+ VkPhysicalDevice physicalDevice,
+ VkPhysicalDeviceProperties2* pProperties) {
+ mImpl->on_vkGetPhysicalDeviceProperties2(context, physicalDevice,
+ pProperties);
+}
+
void ResourceTracker::on_vkGetPhysicalDeviceMemoryProperties(
void* context,
VkPhysicalDevice physicalDevice,
diff --git a/system/vulkan_enc/ResourceTracker.h b/system/vulkan_enc/ResourceTracker.h
index 9a72bdfc..63cfc41e 100644
--- a/system/vulkan_enc/ResourceTracker.h
+++ b/system/vulkan_enc/ResourceTracker.h
@@ -76,6 +76,19 @@ public:
VkInstance instance, uint32_t* pPhysicalDeviceCount,
VkPhysicalDevice* pPhysicalDevices);
+ void on_vkGetPhysicalDeviceProperties(
+ void* context,
+ VkPhysicalDevice physicalDevice,
+ VkPhysicalDeviceProperties* pProperties);
+ void on_vkGetPhysicalDeviceProperties2(
+ void* context,
+ VkPhysicalDevice physicalDevice,
+ VkPhysicalDeviceProperties2* pProperties);
+ void on_vkGetPhysicalDeviceProperties2KHR(
+ void* context,
+ VkPhysicalDevice physicalDevice,
+ VkPhysicalDeviceProperties2* pProperties);
+
void on_vkGetPhysicalDeviceMemoryProperties(
void* context,
VkPhysicalDevice physicalDevice,
diff --git a/system/vulkan_enc/VkEncoder.cpp b/system/vulkan_enc/VkEncoder.cpp
index 8c00e0ca..06ef7f0e 100644
--- a/system/vulkan_enc/VkEncoder.cpp
+++ b/system/vulkan_enc/VkEncoder.cpp
@@ -594,6 +594,9 @@ void VkEncoder::vkGetPhysicalDeviceProperties(
transform_fromhost_VkPhysicalDeviceProperties(mImpl->resources(), (VkPhysicalDeviceProperties*)(pProperties));
}
AEMU_SCOPED_TRACE("vkGetPhysicalDeviceProperties returnUnmarshal");
+ encoderLock.unlock();
+ mImpl->resources()->on_vkGetPhysicalDeviceProperties(this, physicalDevice, pProperties);
+ encoderLock.lock();
mImpl->log("finish vkGetPhysicalDeviceProperties");;
}
@@ -10634,6 +10637,9 @@ void VkEncoder::vkGetPhysicalDeviceProperties2(
transform_fromhost_VkPhysicalDeviceProperties2(mImpl->resources(), (VkPhysicalDeviceProperties2*)(pProperties));
}
AEMU_SCOPED_TRACE("vkGetPhysicalDeviceProperties2 returnUnmarshal");
+ encoderLock.unlock();
+ mImpl->resources()->on_vkGetPhysicalDeviceProperties2(this, physicalDevice, pProperties);
+ encoderLock.lock();
mImpl->log("finish vkGetPhysicalDeviceProperties2");;
}
@@ -14515,6 +14521,9 @@ void VkEncoder::vkGetPhysicalDeviceProperties2KHR(
transform_fromhost_VkPhysicalDeviceProperties2(mImpl->resources(), (VkPhysicalDeviceProperties2*)(pProperties));
}
AEMU_SCOPED_TRACE("vkGetPhysicalDeviceProperties2KHR returnUnmarshal");
+ encoderLock.unlock();
+ mImpl->resources()->on_vkGetPhysicalDeviceProperties2KHR(this, physicalDevice, pProperties);
+ encoderLock.lock();
mImpl->log("finish vkGetPhysicalDeviceProperties2KHR");;
}