Loading libs/hwui/renderthread/VulkanManager.cpp +13 −15 Original line number Diff line number Diff line Loading @@ -384,12 +384,7 @@ void VulkanManager::setupDevice(GrVkExtensions& grExtensions, VkPhysicalDeviceFe } void VulkanManager::initialize() { std::lock_guard _lock{mInitializeLock}; if (mDevice != VK_NULL_HANDLE) { return; } std::call_once(mInitFlag, [&] { GET_PROC(EnumerateInstanceVersion); uint32_t instanceVersion; LOG_ALWAYS_FATAL_IF(mEnumerateInstanceVersion(&instanceVersion)); Loading @@ -403,6 +398,9 @@ void VulkanManager::initialize() { if (Properties::enablePartialUpdates && Properties::useBufferAge) { mSwapBehavior = SwapBehavior::BufferAge; } mInitialized = true; }); } static void onGrContextReleased(void* context) { Loading libs/hwui/renderthread/VulkanManager.h +3 −2 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ public: void initialize(); // Quick check to see if the VulkanManager has been initialized. bool hasVkContext() { return mDevice != VK_NULL_HANDLE; } bool hasVkContext() { return mInitialized; } // Create and destroy functions for wrapping an ANativeWindow in a VulkanSurface VulkanSurface* createSurface(ANativeWindow* window, Loading Loading @@ -204,7 +204,8 @@ private: VkSemaphore mSwapSemaphore = VK_NULL_HANDLE; void* mDestroySemaphoreContext = nullptr; std::mutex mInitializeLock; std::once_flag mInitFlag; std::atomic_bool mInitialized = false; }; } /* namespace renderthread */ Loading Loading
libs/hwui/renderthread/VulkanManager.cpp +13 −15 Original line number Diff line number Diff line Loading @@ -384,12 +384,7 @@ void VulkanManager::setupDevice(GrVkExtensions& grExtensions, VkPhysicalDeviceFe } void VulkanManager::initialize() { std::lock_guard _lock{mInitializeLock}; if (mDevice != VK_NULL_HANDLE) { return; } std::call_once(mInitFlag, [&] { GET_PROC(EnumerateInstanceVersion); uint32_t instanceVersion; LOG_ALWAYS_FATAL_IF(mEnumerateInstanceVersion(&instanceVersion)); Loading @@ -403,6 +398,9 @@ void VulkanManager::initialize() { if (Properties::enablePartialUpdates && Properties::useBufferAge) { mSwapBehavior = SwapBehavior::BufferAge; } mInitialized = true; }); } static void onGrContextReleased(void* context) { Loading
libs/hwui/renderthread/VulkanManager.h +3 −2 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ public: void initialize(); // Quick check to see if the VulkanManager has been initialized. bool hasVkContext() { return mDevice != VK_NULL_HANDLE; } bool hasVkContext() { return mInitialized; } // Create and destroy functions for wrapping an ANativeWindow in a VulkanSurface VulkanSurface* createSurface(ANativeWindow* window, Loading Loading @@ -204,7 +204,8 @@ private: VkSemaphore mSwapSemaphore = VK_NULL_HANDLE; void* mDestroySemaphoreContext = nullptr; std::mutex mInitializeLock; std::once_flag mInitFlag; std::atomic_bool mInitialized = false; }; } /* namespace renderthread */ Loading