Loading services/surfaceflinger/BufferLayer.cpp +9 −5 Original line number Diff line number Diff line Loading @@ -19,9 +19,7 @@ #define LOG_TAG "BufferLayer" #define ATRACE_TAG ATRACE_TAG_GRAPHICS #include <cmath> #include <cstdlib> #include <mutex> #include "BufferLayer.h" #include <compositionengine/CompositionEngine.h> #include <compositionengine/Display.h> Loading @@ -45,11 +43,14 @@ #include <utils/StopWatch.h> #include <utils/Trace.h> #include "BufferLayer.h" #include <cmath> #include <cstdlib> #include <mutex> #include <sstream> #include "Colorizer.h" #include "DisplayDevice.h" #include "LayerRejecter.h" #include "TimeStats/TimeStats.h" namespace android { Loading Loading @@ -525,6 +526,9 @@ bool BufferLayer::latchBuffer(bool& recomputeVisibleRegions, nsecs_t latchTime) } if ((*point)->getFrameNumber() <= mCurrentFrameNumber) { std::stringstream ss; ss << "Dropping sync point " << (*point)->getFrameNumber(); ATRACE_NAME(ss.str().c_str()); point = mLocalSyncPoints.erase(point); } else { ++point; Loading services/surfaceflinger/Layer.cpp +17 −7 Original line number Diff line number Diff line Loading @@ -19,12 +19,7 @@ #define LOG_TAG "Layer" #define ATRACE_TAG ATRACE_TAG_GRAPHICS #include <math.h> #include <stdint.h> #include <stdlib.h> #include <sys/types.h> #include <algorithm> #include <mutex> #include "Layer.h" #include <android-base/stringprintf.h> #include <compositionengine/Display.h> Loading @@ -39,7 +34,11 @@ #include <gui/BufferItem.h> #include <gui/LayerDebugInfo.h> #include <gui/Surface.h> #include <math.h> #include <renderengine/RenderEngine.h> #include <stdint.h> #include <stdlib.h> #include <sys/types.h> #include <ui/DebugUtils.h> #include <ui/GraphicBuffer.h> #include <ui/PixelFormat.h> Loading @@ -49,12 +48,15 @@ #include <utils/StopWatch.h> #include <utils/Trace.h> #include <algorithm> #include <mutex> #include <sstream> #include "BufferLayer.h" #include "ColorLayer.h" #include "Colorizer.h" #include "DisplayDevice.h" #include "DisplayHardware/HWComposer.h" #include "Layer.h" #include "LayerProtoHelper.h" #include "LayerRejecter.h" #include "MonitoredProducer.h" Loading Loading @@ -677,6 +679,7 @@ void Layer::pushPendingState() { if (!mCurrentState.modified) { return; } ATRACE_CALL(); // If this transaction is waiting on the receipt of a frame, generate a sync // point and send it to the remote layer. Loading @@ -693,6 +696,9 @@ void Layer::pushPendingState() { } else { auto syncPoint = std::make_shared<SyncPoint>(mCurrentState.frameNumber_legacy, this); if (barrierLayer->addSyncPoint(syncPoint)) { std::stringstream ss; ss << "Adding sync point " << mCurrentState.frameNumber_legacy; ATRACE_NAME(ss.str().c_str()); mRemoteSyncPoints.push_back(std::move(syncPoint)); } else { // We already missed the frame we're supposed to synchronize Loading @@ -710,6 +716,7 @@ void Layer::pushPendingState() { } void Layer::popPendingState(State* stateToCommit) { ATRACE_CALL(); *stateToCommit = mPendingStates[0]; mPendingStates.removeAt(0); Loading Loading @@ -741,6 +748,7 @@ bool Layer::applyPendingStates(State* stateToCommit) { } if (mRemoteSyncPoints.front()->frameIsAvailable()) { ATRACE_NAME("frameIsAvailable"); // Apply the state update popPendingState(stateToCommit); stateUpdateAvailable = true; Loading @@ -749,6 +757,7 @@ bool Layer::applyPendingStates(State* stateToCommit) { mRemoteSyncPoints.front()->setTransactionApplied(); mRemoteSyncPoints.pop_front(); } else { ATRACE_NAME("!frameIsAvailable"); break; } } else { Loading Loading @@ -1195,6 +1204,7 @@ uint32_t Layer::getLayerStack() const { } void Layer::deferTransactionUntil_legacy(const sp<Layer>& barrierLayer, uint64_t frameNumber) { ATRACE_CALL(); mCurrentState.barrierLayer_legacy = barrierLayer; mCurrentState.frameNumber_legacy = frameNumber; // We don't set eTransactionNeeded, because just receiving a deferral Loading Loading
services/surfaceflinger/BufferLayer.cpp +9 −5 Original line number Diff line number Diff line Loading @@ -19,9 +19,7 @@ #define LOG_TAG "BufferLayer" #define ATRACE_TAG ATRACE_TAG_GRAPHICS #include <cmath> #include <cstdlib> #include <mutex> #include "BufferLayer.h" #include <compositionengine/CompositionEngine.h> #include <compositionengine/Display.h> Loading @@ -45,11 +43,14 @@ #include <utils/StopWatch.h> #include <utils/Trace.h> #include "BufferLayer.h" #include <cmath> #include <cstdlib> #include <mutex> #include <sstream> #include "Colorizer.h" #include "DisplayDevice.h" #include "LayerRejecter.h" #include "TimeStats/TimeStats.h" namespace android { Loading Loading @@ -525,6 +526,9 @@ bool BufferLayer::latchBuffer(bool& recomputeVisibleRegions, nsecs_t latchTime) } if ((*point)->getFrameNumber() <= mCurrentFrameNumber) { std::stringstream ss; ss << "Dropping sync point " << (*point)->getFrameNumber(); ATRACE_NAME(ss.str().c_str()); point = mLocalSyncPoints.erase(point); } else { ++point; Loading
services/surfaceflinger/Layer.cpp +17 −7 Original line number Diff line number Diff line Loading @@ -19,12 +19,7 @@ #define LOG_TAG "Layer" #define ATRACE_TAG ATRACE_TAG_GRAPHICS #include <math.h> #include <stdint.h> #include <stdlib.h> #include <sys/types.h> #include <algorithm> #include <mutex> #include "Layer.h" #include <android-base/stringprintf.h> #include <compositionengine/Display.h> Loading @@ -39,7 +34,11 @@ #include <gui/BufferItem.h> #include <gui/LayerDebugInfo.h> #include <gui/Surface.h> #include <math.h> #include <renderengine/RenderEngine.h> #include <stdint.h> #include <stdlib.h> #include <sys/types.h> #include <ui/DebugUtils.h> #include <ui/GraphicBuffer.h> #include <ui/PixelFormat.h> Loading @@ -49,12 +48,15 @@ #include <utils/StopWatch.h> #include <utils/Trace.h> #include <algorithm> #include <mutex> #include <sstream> #include "BufferLayer.h" #include "ColorLayer.h" #include "Colorizer.h" #include "DisplayDevice.h" #include "DisplayHardware/HWComposer.h" #include "Layer.h" #include "LayerProtoHelper.h" #include "LayerRejecter.h" #include "MonitoredProducer.h" Loading Loading @@ -677,6 +679,7 @@ void Layer::pushPendingState() { if (!mCurrentState.modified) { return; } ATRACE_CALL(); // If this transaction is waiting on the receipt of a frame, generate a sync // point and send it to the remote layer. Loading @@ -693,6 +696,9 @@ void Layer::pushPendingState() { } else { auto syncPoint = std::make_shared<SyncPoint>(mCurrentState.frameNumber_legacy, this); if (barrierLayer->addSyncPoint(syncPoint)) { std::stringstream ss; ss << "Adding sync point " << mCurrentState.frameNumber_legacy; ATRACE_NAME(ss.str().c_str()); mRemoteSyncPoints.push_back(std::move(syncPoint)); } else { // We already missed the frame we're supposed to synchronize Loading @@ -710,6 +716,7 @@ void Layer::pushPendingState() { } void Layer::popPendingState(State* stateToCommit) { ATRACE_CALL(); *stateToCommit = mPendingStates[0]; mPendingStates.removeAt(0); Loading Loading @@ -741,6 +748,7 @@ bool Layer::applyPendingStates(State* stateToCommit) { } if (mRemoteSyncPoints.front()->frameIsAvailable()) { ATRACE_NAME("frameIsAvailable"); // Apply the state update popPendingState(stateToCommit); stateUpdateAvailable = true; Loading @@ -749,6 +757,7 @@ bool Layer::applyPendingStates(State* stateToCommit) { mRemoteSyncPoints.front()->setTransactionApplied(); mRemoteSyncPoints.pop_front(); } else { ATRACE_NAME("!frameIsAvailable"); break; } } else { Loading Loading @@ -1195,6 +1204,7 @@ uint32_t Layer::getLayerStack() const { } void Layer::deferTransactionUntil_legacy(const sp<Layer>& barrierLayer, uint64_t frameNumber) { ATRACE_CALL(); mCurrentState.barrierLayer_legacy = barrierLayer; mCurrentState.frameNumber_legacy = frameNumber; // We don't set eTransactionNeeded, because just receiving a deferral Loading