Revert "SF: Add composition strategy prediction stats"
This reverts commit 47183ae01af735473ec636e16aa8293da839efac.
Change-Id: I92f9f0e7fdd56a8749207a88887e1f23e25ee924
Bug: 223543469
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 4fe656d..efaa975 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -169,8 +169,6 @@
using aidl::android::hardware::graphics::common::DisplayDecorationSupport;
using aidl::android::hardware::graphics::composer3::Capability;
using aidl::android::hardware::graphics::composer3::DisplayCapability;
-using CompositionStrategyPredictionState = android::compositionengine::impl::
- OutputCompositionState::CompositionStrategyPredictionState;
namespace android {
@@ -2272,24 +2270,24 @@
const bool prevFrameHadClientComposition = mHadClientComposition;
- mHadClientComposition = mHadDeviceComposition = mReusedClientComposition = false;
- TimeStats::ClientCompositionRecord clientCompositionRecord;
- for (const auto& [_, display] : displays) {
- const auto& state = display->getCompositionDisplay()->getState();
- mHadClientComposition |= state.usesClientComposition && !state.reusedClientComposition;
- mHadDeviceComposition |= state.usesDeviceComposition;
- mReusedClientComposition |= state.reusedClientComposition;
- clientCompositionRecord.predicted |=
- (state.strategyPrediction != CompositionStrategyPredictionState::DISABLED);
- clientCompositionRecord.predictionSucceeded |=
- (state.strategyPrediction == CompositionStrategyPredictionState::SUCCESS);
+ mHadClientComposition = std::any_of(displays.cbegin(), displays.cend(), [](const auto& pair) {
+ const auto& state = pair.second->getCompositionDisplay()->getState();
+ return state.usesClientComposition && !state.reusedClientComposition;
+ });
+ mHadDeviceComposition = std::any_of(displays.cbegin(), displays.cend(), [](const auto& pair) {
+ const auto& state = pair.second->getCompositionDisplay()->getState();
+ return state.usesDeviceComposition;
+ });
+ mReusedClientComposition =
+ std::any_of(displays.cbegin(), displays.cend(), [](const auto& pair) {
+ const auto& state = pair.second->getCompositionDisplay()->getState();
+ return state.reusedClientComposition;
+ });
+ // Only report a strategy change if we move in and out of client composition
+ if (prevFrameHadClientComposition != mHadClientComposition) {
+ mTimeStats->incrementCompositionStrategyChanges();
}
- clientCompositionRecord.hadClientComposition = mHadClientComposition;
- clientCompositionRecord.reused = mReusedClientComposition;
- clientCompositionRecord.changed = prevFrameHadClientComposition != mHadClientComposition;
- mTimeStats->pushCompositionStrategyState(clientCompositionRecord);
-
// TODO: b/160583065 Enable skip validation when SF caches all client composition layers
const bool usedGpuComposition = mHadClientComposition || mReusedClientComposition;
modulateVsync(&VsyncModulator::onDisplayRefresh, usedGpuComposition);
@@ -2544,6 +2542,13 @@
}
mTimeStats->incrementTotalFrames();
+ if (mHadClientComposition) {
+ mTimeStats->incrementClientCompositionFrames();
+ }
+
+ if (mReusedClientComposition) {
+ mTimeStats->incrementClientCompositionReusedFrames();
+ }
mTimeStats->setPresentFenceGlobal(mPreviousPresentFences[0].fenceTime);