Loading libs/hwui/renderthread/CanvasContext.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,7 @@ void CanvasContext::destroy() { destroyHardwareResources(); mAnimationContext->destroy(); mRenderThread.cacheManager().onContextStopped(this); mHintSessionWrapper.destroy(); } static void setBufferCount(ANativeWindow* window) { Loading Loading @@ -195,6 +196,7 @@ void CanvasContext::setHardwareBuffer(AHardwareBuffer* buffer) { void CanvasContext::setSurface(ANativeWindow* window, bool enableTimeout) { ATRACE_CALL(); startHintSession(); if (window) { mNativeSurface = std::make_unique<ReliableSurface>(window); mNativeSurface->init(); Loading libs/hwui/renderthread/HintSessionWrapper.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -93,8 +93,17 @@ HintSessionWrapper::HintSessionWrapper(pid_t uiThreadId, pid_t renderThreadId) : mUiThreadId(uiThreadId), mRenderThreadId(renderThreadId) {} HintSessionWrapper::~HintSessionWrapper() { destroy(); } void HintSessionWrapper::destroy() { if (mHintSessionFuture.valid()) { mHintSession = mHintSessionFuture.get(); } if (mHintSession) { gAPH_closeSessionFn(mHintSession); mSessionValid = true; mHintSession = nullptr; } } Loading libs/hwui/renderthread/HintSessionWrapper.h +1 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ public: void sendLoadResetHint(); void sendLoadIncreaseHint(); bool init(); void destroy(); private: APerformanceHintSession* mHintSession = nullptr; Loading Loading
libs/hwui/renderthread/CanvasContext.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,7 @@ void CanvasContext::destroy() { destroyHardwareResources(); mAnimationContext->destroy(); mRenderThread.cacheManager().onContextStopped(this); mHintSessionWrapper.destroy(); } static void setBufferCount(ANativeWindow* window) { Loading Loading @@ -195,6 +196,7 @@ void CanvasContext::setHardwareBuffer(AHardwareBuffer* buffer) { void CanvasContext::setSurface(ANativeWindow* window, bool enableTimeout) { ATRACE_CALL(); startHintSession(); if (window) { mNativeSurface = std::make_unique<ReliableSurface>(window); mNativeSurface->init(); Loading
libs/hwui/renderthread/HintSessionWrapper.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -93,8 +93,17 @@ HintSessionWrapper::HintSessionWrapper(pid_t uiThreadId, pid_t renderThreadId) : mUiThreadId(uiThreadId), mRenderThreadId(renderThreadId) {} HintSessionWrapper::~HintSessionWrapper() { destroy(); } void HintSessionWrapper::destroy() { if (mHintSessionFuture.valid()) { mHintSession = mHintSessionFuture.get(); } if (mHintSession) { gAPH_closeSessionFn(mHintSession); mSessionValid = true; mHintSession = nullptr; } } Loading
libs/hwui/renderthread/HintSessionWrapper.h +1 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ public: void sendLoadResetHint(); void sendLoadIncreaseHint(); bool init(); void destroy(); private: APerformanceHintSession* mHintSession = nullptr; Loading