Loading services/surfaceflinger/QueuedTransactionState.h +6 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ #include <common/FlagManager.h> #include <ftl/flags.h> #include <gui/LayerState.h> #include <gui/TransactionState.h> #include <system/window.h> namespace android { Loading Loading @@ -62,7 +63,8 @@ struct QueuedTransactionState { std::vector<ListenerCallbacks> listenerCallbacks, int originPid, int originUid, uint64_t transactionId, std::vector<uint64_t> mergedTransactionIds, std::vector<gui::EarlyWakeupInfo> earlyWakeupInfos) std::vector<gui::EarlyWakeupInfo> earlyWakeupInfos, std::vector<gui::TransactionBarrier> transactionBarriers) : frameTimelineInfo(frameTimelineInfo), states(std::move(composerStates)), displays(std::move(displayStates)), Loading @@ -79,7 +81,8 @@ struct QueuedTransactionState { originUid(originUid), id(transactionId), mergedTransactionIds(std::move(mergedTransactionIds)), earlyWakeupInfos(std::move(earlyWakeupInfos)) {} earlyWakeupInfos(std::move(earlyWakeupInfos)), transactionBarriers(std::move(transactionBarriers)) {} // Invokes `void(const layer_state_t&)` visitor for matching layers. template <typename Visitor> Loading Loading @@ -147,6 +150,7 @@ struct QueuedTransactionState { bool sentFenceTimeoutWarning = false; std::vector<uint64_t> mergedTransactionIds; std::vector<gui::EarlyWakeupInfo> earlyWakeupInfos; std::vector<gui::TransactionBarrier> transactionBarriers; ftl::Flags<adpf::Workload> workloadHint; }; Loading services/surfaceflinger/SurfaceFlinger.cpp +18 −19 Original line number Diff line number Diff line Loading @@ -5214,8 +5214,7 @@ status_t SurfaceFlinger::setTransactionState(TransactionState&& transactionState } } QueuedTransactionState state{ transactionState.mFrameTimelineInfo, QueuedTransactionState state{transactionState.mFrameTimelineInfo, std::move(resolvedStates), std::move(transactionState.mDisplayStates), flags, Loading @@ -5232,7 +5231,7 @@ status_t SurfaceFlinger::setTransactionState(TransactionState&& transactionState transactionState.getId(), transactionState.mMergedTransactionIds, transactionState.mEarlyWakeupInfos, }; std::move(transactionState.mBarriers)}; state.workloadHint = queuedWorkload; if (mTransactionTracing) { Loading services/surfaceflinger/tests/unittests/TransactionApplicationTest.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -432,7 +432,8 @@ public: static_cast<int>(getuid()), transaction.transactionState.getId(), transaction.transactionState.mMergedTransactionIds, transaction.transactionState.mEarlyWakeupInfos); transaction.transactionState.mEarlyWakeupInfos, transaction.transactionState.mBarriers); mFlinger.setTransactionStateInternal(transactionState); } mFlinger.flushTransactionQueues(); Loading Loading
services/surfaceflinger/QueuedTransactionState.h +6 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ #include <common/FlagManager.h> #include <ftl/flags.h> #include <gui/LayerState.h> #include <gui/TransactionState.h> #include <system/window.h> namespace android { Loading Loading @@ -62,7 +63,8 @@ struct QueuedTransactionState { std::vector<ListenerCallbacks> listenerCallbacks, int originPid, int originUid, uint64_t transactionId, std::vector<uint64_t> mergedTransactionIds, std::vector<gui::EarlyWakeupInfo> earlyWakeupInfos) std::vector<gui::EarlyWakeupInfo> earlyWakeupInfos, std::vector<gui::TransactionBarrier> transactionBarriers) : frameTimelineInfo(frameTimelineInfo), states(std::move(composerStates)), displays(std::move(displayStates)), Loading @@ -79,7 +81,8 @@ struct QueuedTransactionState { originUid(originUid), id(transactionId), mergedTransactionIds(std::move(mergedTransactionIds)), earlyWakeupInfos(std::move(earlyWakeupInfos)) {} earlyWakeupInfos(std::move(earlyWakeupInfos)), transactionBarriers(std::move(transactionBarriers)) {} // Invokes `void(const layer_state_t&)` visitor for matching layers. template <typename Visitor> Loading Loading @@ -147,6 +150,7 @@ struct QueuedTransactionState { bool sentFenceTimeoutWarning = false; std::vector<uint64_t> mergedTransactionIds; std::vector<gui::EarlyWakeupInfo> earlyWakeupInfos; std::vector<gui::TransactionBarrier> transactionBarriers; ftl::Flags<adpf::Workload> workloadHint; }; Loading
services/surfaceflinger/SurfaceFlinger.cpp +18 −19 Original line number Diff line number Diff line Loading @@ -5214,8 +5214,7 @@ status_t SurfaceFlinger::setTransactionState(TransactionState&& transactionState } } QueuedTransactionState state{ transactionState.mFrameTimelineInfo, QueuedTransactionState state{transactionState.mFrameTimelineInfo, std::move(resolvedStates), std::move(transactionState.mDisplayStates), flags, Loading @@ -5232,7 +5231,7 @@ status_t SurfaceFlinger::setTransactionState(TransactionState&& transactionState transactionState.getId(), transactionState.mMergedTransactionIds, transactionState.mEarlyWakeupInfos, }; std::move(transactionState.mBarriers)}; state.workloadHint = queuedWorkload; if (mTransactionTracing) { Loading
services/surfaceflinger/tests/unittests/TransactionApplicationTest.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -432,7 +432,8 @@ public: static_cast<int>(getuid()), transaction.transactionState.getId(), transaction.transactionState.mMergedTransactionIds, transaction.transactionState.mEarlyWakeupInfos); transaction.transactionState.mEarlyWakeupInfos, transaction.transactionState.mBarriers); mFlinger.setTransactionStateInternal(transactionState); } mFlinger.flushTransactionQueues(); Loading