diff options
author | Yilong Li <liyl@google.com> | 2020-06-25 21:20:21 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-06-25 21:20:21 +0000 |
commit | fef50525c78cf088e26cb7dddf556d20b5867a29 (patch) | |
tree | 4544a1cf105f511f041c0704ae81570ec2790f9e | |
parent | c934b4a4a322531a657ee7db18d414970478057e (diff) | |
parent | f33690890261d2c1ab101e6cc94a7cb9b6df5b62 (diff) | |
download | device_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.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");; } |