Loading services/surfaceflinger/SurfaceFlinger.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -2055,7 +2055,7 @@ void SurfaceFlinger::onMessageRefresh() { refreshArgs.layers.push_back(layerFE); }); refreshArgs.layersWithQueuedFrames.reserve(mLayersWithQueuedFrames.size()); for (sp<Layer> layer : mLayersWithQueuedFrames) { for (auto layer : mLayersWithQueuedFrames) { if (auto layerFE = layer->getCompositionEngineLayerFE()) refreshArgs.layersWithQueuedFrames.push_back(layerFE); } Loading Loading @@ -2218,7 +2218,7 @@ void SurfaceFlinger::postComposition() ALOGV("postComposition"); nsecs_t dequeueReadyTime = systemTime(); for (auto& layer : mLayersWithQueuedFrames) { for (auto layer : mLayersWithQueuedFrames) { layer->releasePendingBuffer(dequeueReadyTime); } Loading Loading @@ -3136,7 +3136,7 @@ bool SurfaceFlinger::handlePageFlip() if (layer->hasReadyFrame()) { frameQueued = true; if (layer->shouldPresentNow(expectedPresentTime)) { mLayersWithQueuedFrames.push_back(layer); mLayersWithQueuedFrames.emplace(layer); } else { ATRACE_NAME("!layer->shouldPresentNow()"); layer->useEmptyDamage(); Loading services/surfaceflinger/SurfaceFlinger.h +5 −1 Original line number Diff line number Diff line Loading @@ -1080,7 +1080,11 @@ private: bool mInputInfoChanged = false; bool mGeometryInvalid = false; bool mAnimCompositionPending = false; std::vector<sp<Layer>> mLayersWithQueuedFrames; // Tracks layers that have pending frames which are candidates for being // latched. Because this contains a set of raw layer pointers, can only be // mutated on the main thread. std::unordered_set<Layer*> mLayersWithQueuedFrames; // Tracks layers that need to update a display's dirty region. std::vector<sp<Layer>> mLayersPendingRefresh; std::array<sp<Fence>, 2> mPreviousPresentFences = {Fence::NO_FENCE, Fence::NO_FENCE}; Loading Loading
services/surfaceflinger/SurfaceFlinger.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -2055,7 +2055,7 @@ void SurfaceFlinger::onMessageRefresh() { refreshArgs.layers.push_back(layerFE); }); refreshArgs.layersWithQueuedFrames.reserve(mLayersWithQueuedFrames.size()); for (sp<Layer> layer : mLayersWithQueuedFrames) { for (auto layer : mLayersWithQueuedFrames) { if (auto layerFE = layer->getCompositionEngineLayerFE()) refreshArgs.layersWithQueuedFrames.push_back(layerFE); } Loading Loading @@ -2218,7 +2218,7 @@ void SurfaceFlinger::postComposition() ALOGV("postComposition"); nsecs_t dequeueReadyTime = systemTime(); for (auto& layer : mLayersWithQueuedFrames) { for (auto layer : mLayersWithQueuedFrames) { layer->releasePendingBuffer(dequeueReadyTime); } Loading Loading @@ -3136,7 +3136,7 @@ bool SurfaceFlinger::handlePageFlip() if (layer->hasReadyFrame()) { frameQueued = true; if (layer->shouldPresentNow(expectedPresentTime)) { mLayersWithQueuedFrames.push_back(layer); mLayersWithQueuedFrames.emplace(layer); } else { ATRACE_NAME("!layer->shouldPresentNow()"); layer->useEmptyDamage(); Loading
services/surfaceflinger/SurfaceFlinger.h +5 −1 Original line number Diff line number Diff line Loading @@ -1080,7 +1080,11 @@ private: bool mInputInfoChanged = false; bool mGeometryInvalid = false; bool mAnimCompositionPending = false; std::vector<sp<Layer>> mLayersWithQueuedFrames; // Tracks layers that have pending frames which are candidates for being // latched. Because this contains a set of raw layer pointers, can only be // mutated on the main thread. std::unordered_set<Layer*> mLayersWithQueuedFrames; // Tracks layers that need to update a display's dirty region. std::vector<sp<Layer>> mLayersPendingRefresh; std::array<sp<Fence>, 2> mPreviousPresentFences = {Fence::NO_FENCE, Fence::NO_FENCE}; Loading