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