Loading libs/hwui/renderthread/CanvasContext.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -433,6 +433,9 @@ void CanvasContext::prepareAndDraw(RenderNode* node) { prepareTree(info, frameInfo, systemTime(CLOCK_MONOTONIC), node); if (info.out.canDrawThisFrame) { draw(); } else { // wait on fences so tasks don't overlap next frame waitOnFences(); } } Loading libs/hwui/renderthread/CanvasContext.h +2 −2 Original line number Diff line number Diff line Loading @@ -158,6 +158,8 @@ public: ANDROID_API int64_t getFrameNumber(); void waitOnFences(); private: CanvasContext(RenderThread& thread, bool translucent, RenderNode* rootRenderNode, IContextFactory* contextFactory, std::unique_ptr<IRenderPipeline> renderPipeline); Loading @@ -171,8 +173,6 @@ private: void freePrefetchedLayers(TreeObserver* observer); void waitOnFences(); bool isSwapChainStuffed(); SkRect computeDirtyRect(const Frame& frame, SkRect* dirty); Loading libs/hwui/renderthread/DrawFrameTask.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -104,6 +104,9 @@ void DrawFrameTask::run() { if (CC_LIKELY(canDrawThisFrame)) { context->draw(); } else { // wait on fences so tasks don't overlap next frame context->waitOnFences(); } if (!canUnblockUiThread) { Loading Loading
libs/hwui/renderthread/CanvasContext.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -433,6 +433,9 @@ void CanvasContext::prepareAndDraw(RenderNode* node) { prepareTree(info, frameInfo, systemTime(CLOCK_MONOTONIC), node); if (info.out.canDrawThisFrame) { draw(); } else { // wait on fences so tasks don't overlap next frame waitOnFences(); } } Loading
libs/hwui/renderthread/CanvasContext.h +2 −2 Original line number Diff line number Diff line Loading @@ -158,6 +158,8 @@ public: ANDROID_API int64_t getFrameNumber(); void waitOnFences(); private: CanvasContext(RenderThread& thread, bool translucent, RenderNode* rootRenderNode, IContextFactory* contextFactory, std::unique_ptr<IRenderPipeline> renderPipeline); Loading @@ -171,8 +173,6 @@ private: void freePrefetchedLayers(TreeObserver* observer); void waitOnFences(); bool isSwapChainStuffed(); SkRect computeDirtyRect(const Frame& frame, SkRect* dirty); Loading
libs/hwui/renderthread/DrawFrameTask.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -104,6 +104,9 @@ void DrawFrameTask::run() { if (CC_LIKELY(canDrawThisFrame)) { context->draw(); } else { // wait on fences so tasks don't overlap next frame context->waitOnFences(); } if (!canUnblockUiThread) { Loading