Loading services/surfaceflinger/BufferStateLayer.cpp +6 −5 Original line number Diff line number Diff line Loading @@ -149,6 +149,8 @@ bool BufferStateLayer::willPresentCurrentTransaction() const { !mLayerDetached; } /* TODO: vhau uncomment once deferred transaction migration complete in * WindowManager void BufferStateLayer::pushPendingState() { if (!mCurrentState.modified) { return; Loading @@ -156,13 +158,12 @@ void BufferStateLayer::pushPendingState() { mPendingStates.push_back(mCurrentState); ATRACE_INT(mTransactionName.c_str(), mPendingStates.size()); } */ bool BufferStateLayer::applyPendingStates(Layer::State* stateToCommit) { const bool stateUpdateAvailable = !mPendingStates.empty(); while (!mPendingStates.empty()) { popPendingState(stateToCommit); } mCurrentStateModified = stateUpdateAvailable && mCurrentState.modified; mCurrentStateModified = mCurrentState.modified; bool stateUpdateAvailable = Layer::applyPendingStates(stateToCommit); mCurrentStateModified = stateUpdateAvailable && mCurrentStateModified; mCurrentState.modified = false; return stateUpdateAvailable; } Loading services/surfaceflinger/BufferStateLayer.h +3 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,9 @@ public: uint32_t doTransactionResize(uint32_t flags, Layer::State* /*stateToCommit*/) override { return flags; } void pushPendingState() override; /*TODO:vhau return to using BufferStateLayer override once WM * has removed deferred transactions! void pushPendingState() override;*/ bool applyPendingStates(Layer::State* stateToCommit) override; uint32_t getActiveWidth(const Layer::State& s) const override { return s.active.w; } Loading Loading
services/surfaceflinger/BufferStateLayer.cpp +6 −5 Original line number Diff line number Diff line Loading @@ -149,6 +149,8 @@ bool BufferStateLayer::willPresentCurrentTransaction() const { !mLayerDetached; } /* TODO: vhau uncomment once deferred transaction migration complete in * WindowManager void BufferStateLayer::pushPendingState() { if (!mCurrentState.modified) { return; Loading @@ -156,13 +158,12 @@ void BufferStateLayer::pushPendingState() { mPendingStates.push_back(mCurrentState); ATRACE_INT(mTransactionName.c_str(), mPendingStates.size()); } */ bool BufferStateLayer::applyPendingStates(Layer::State* stateToCommit) { const bool stateUpdateAvailable = !mPendingStates.empty(); while (!mPendingStates.empty()) { popPendingState(stateToCommit); } mCurrentStateModified = stateUpdateAvailable && mCurrentState.modified; mCurrentStateModified = mCurrentState.modified; bool stateUpdateAvailable = Layer::applyPendingStates(stateToCommit); mCurrentStateModified = stateUpdateAvailable && mCurrentStateModified; mCurrentState.modified = false; return stateUpdateAvailable; } Loading
services/surfaceflinger/BufferStateLayer.h +3 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,9 @@ public: uint32_t doTransactionResize(uint32_t flags, Layer::State* /*stateToCommit*/) override { return flags; } void pushPendingState() override; /*TODO:vhau return to using BufferStateLayer override once WM * has removed deferred transactions! void pushPendingState() override;*/ bool applyPendingStates(Layer::State* stateToCommit) override; uint32_t getActiveWidth(const Layer::State& s) const override { return s.active.w; } Loading