aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYilong Li <liyl@google.com>2020-06-25 21:20:21 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-06-25 21:20:21 +0000
commitfef50525c78cf088e26cb7dddf556d20b5867a29 (patch)
tree4544a1cf105f511f041c0704ae81570ec2790f9e
parentc934b4a4a322531a657ee7db18d414970478057e (diff)
parentf33690890261d2c1ab101e6cc94a7cb9b6df5b62 (diff)
downloaddevice_generic_goldfish-opengl-aosp-emu-30-release.tar.gz
device_generic_goldfish-opengl-aosp-emu-30-release.tar.bz2
device_generic_goldfish-opengl-aosp-emu-30-release.zip
Merge "vkGetPhysicalDeviceProperties: Set device type to Virtual GPU."aosp-emu-30-release
-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");;
}