Loading services/surfaceflinger/Layer.h +1 −0 Original line number Diff line number Diff line Loading @@ -408,6 +408,7 @@ public: * to figure out if the content or size of a surface has changed. */ Region latchBuffer(bool& recomputeVisibleRegions, nsecs_t latchTime); bool isBufferLatched() const { return mRefreshPending; } bool isPotentialCursor() const { return mPotentialCursor;} Loading services/surfaceflinger/SurfaceFlinger.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -2456,7 +2456,7 @@ bool SurfaceFlinger::handlePageFlip() const Region dirty(layer->latchBuffer(visibleRegions, latchTime)); layer->useSurfaceDamage(); invalidateLayerStack(layer->getLayerStack(), dirty); if (!dirty.isEmpty()) { if (layer->isBufferLatched()) { newDataLatched = true; } } Loading @@ -2466,7 +2466,7 @@ bool SurfaceFlinger::handlePageFlip() // If we will need to wake up at some time in the future to deal with a // queued frame that shouldn't be displayed during this vsync period, wake // up during the next vsync period to check again. if (frameQueued && mLayersWithQueuedFrames.empty()) { if (frameQueued && (mLayersWithQueuedFrames.empty() || !newDataLatched)) { signalLayerUpdate(); } Loading Loading
services/surfaceflinger/Layer.h +1 −0 Original line number Diff line number Diff line Loading @@ -408,6 +408,7 @@ public: * to figure out if the content or size of a surface has changed. */ Region latchBuffer(bool& recomputeVisibleRegions, nsecs_t latchTime); bool isBufferLatched() const { return mRefreshPending; } bool isPotentialCursor() const { return mPotentialCursor;} Loading
services/surfaceflinger/SurfaceFlinger.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -2456,7 +2456,7 @@ bool SurfaceFlinger::handlePageFlip() const Region dirty(layer->latchBuffer(visibleRegions, latchTime)); layer->useSurfaceDamage(); invalidateLayerStack(layer->getLayerStack(), dirty); if (!dirty.isEmpty()) { if (layer->isBufferLatched()) { newDataLatched = true; } } Loading @@ -2466,7 +2466,7 @@ bool SurfaceFlinger::handlePageFlip() // If we will need to wake up at some time in the future to deal with a // queued frame that shouldn't be displayed during this vsync period, wake // up during the next vsync period to check again. if (frameQueued && mLayersWithQueuedFrames.empty()) { if (frameQueued && (mLayersWithQueuedFrames.empty() || !newDataLatched)) { signalLayerUpdate(); } Loading