diff options
| -rw-r--r-- | libs/hwui/renderthread/VulkanManager.cpp | 2 | ||||
| -rw-r--r-- | libs/hwui/renderthread/VulkanManager.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/libs/hwui/renderthread/VulkanManager.cpp b/libs/hwui/renderthread/VulkanManager.cpp index 01126860b3ba..07146e845714 100644 --- a/libs/hwui/renderthread/VulkanManager.cpp +++ b/libs/hwui/renderthread/VulkanManager.cpp @@ -340,6 +340,8 @@ void VulkanManager::setupDevice(GrVkExtensions& grExtensions, VkPhysicalDeviceFe } void VulkanManager::initialize() { + std::lock_guard _lock{mInitializeLock}; + if (mDevice != VK_NULL_HANDLE) { return; } diff --git a/libs/hwui/renderthread/VulkanManager.h b/libs/hwui/renderthread/VulkanManager.h index 7b5fe19c64f5..b816649edf6e 100644 --- a/libs/hwui/renderthread/VulkanManager.h +++ b/libs/hwui/renderthread/VulkanManager.h @@ -220,6 +220,8 @@ private: VkSemaphore mSwapSemaphore = VK_NULL_HANDLE; void* mDestroySemaphoreContext = nullptr; + + std::mutex mInitializeLock; }; } /* namespace renderthread */ |