diff options
| author | Yilong Li <liyl@google.com> | 2020-06-25 22:05:15 +0000 |
|---|---|---|
| committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-06-25 22:05:15 +0000 |
| commit | 9e495daac8178575c8d6fbb97e40846e3c09efab (patch) | |
| tree | 4544a1cf105f511f041c0704ae81570ec2790f9e | |
| parent | 1332d7fb45117423470e492453203e58eebdc69b (diff) | |
| parent | 7a14b16e1afb87d27df4a4b0aa7455c9ff905dc7 (diff) | |
| download | device_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.cpp | 43 | ||||
| -rw-r--r-- | system/vulkan_enc/ResourceTracker.h | 13 | ||||
| -rw-r--r-- | system/vulkan_enc/VkEncoder.cpp | 9 |
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");; } |
