Revert "DO_NOT_MERGE Fix primaryRangeIsSingleRate + touch on dVRR"
This reverts commit 5cf032c4c53f5930091be2a145530d49bce7fae5.
Reason for revert: Verify for b/369245024
Change-Id: Iccf7a22419bf3af1ea0818e0bf5d2917747df183
Merged-In: Ic5b2b298fe0df357f77ef8f06b1fc0fc248e0498
diff --git a/services/surfaceflinger/Scheduler/RefreshRateSelector.cpp b/services/surfaceflinger/Scheduler/RefreshRateSelector.cpp
index 234f1cb..846727b 100644
--- a/services/surfaceflinger/Scheduler/RefreshRateSelector.cpp
+++ b/services/surfaceflinger/Scheduler/RefreshRateSelector.cpp
@@ -841,8 +841,7 @@
return score.overallScore == 0;
});
- // TODO(b/364651864): Evaluate correctness of primaryRangeIsSingleRate.
- if (!isVrrDevice() && policy->primaryRangeIsSingleRate()) {
+ if (policy->primaryRangeIsSingleRate()) {
// If we never scored any layers, then choose the rate from the primary
// range instead of picking a random score from the app range.
if (noLayerScore) {
@@ -888,10 +887,10 @@
const auto touchRefreshRates = rankFrameRates(anchorGroup, RefreshRateOrder::Descending);
using fps_approx_ops::operator<;
- if (scores.front().frameRateMode.fps <= touchRefreshRates.front().frameRateMode.fps) {
- ALOGV("Touch Boost [late]");
+ if (scores.front().frameRateMode.fps < touchRefreshRates.front().frameRateMode.fps) {
+ ALOGV("Touch Boost");
ATRACE_FORMAT_INSTANT("%s (Touch Boost [late])",
- to_string(touchRefreshRates.front().frameRateMode.fps).c_str());
+ to_string(touchRefreshRates.front().frameRateMode.fps).c_str());
return {touchRefreshRates, GlobalSignals{.touch = true}};
}
}
diff --git a/services/surfaceflinger/tests/unittests/RefreshRateSelectorTest.cpp b/services/surfaceflinger/tests/unittests/RefreshRateSelectorTest.cpp
index 4ffd52b..cf9a7d3 100644
--- a/services/surfaceflinger/tests/unittests/RefreshRateSelectorTest.cpp
+++ b/services/surfaceflinger/tests/unittests/RefreshRateSelectorTest.cpp
@@ -1766,43 +1766,6 @@
}
}
-TEST_P(RefreshRateSelectorTest, getBestFrameRateMode_vrrHighHintTouch_primaryRangeIsSingleRate) {
- if (GetParam() != Config::FrameRateOverride::Enabled) {
- return;
- }
-
- SET_FLAG_FOR_TEST(flags::vrr_config, true);
-
- auto selector = createSelector(kVrrMode_120, kModeId120);
- selector.setActiveMode(kModeId120, 60_Hz);
-
- // Change primary physical range to be single rate, which on VRR device should not affect
- // fps scoring.
- EXPECT_EQ(SetPolicyResult::Changed,
- selector.setDisplayManagerPolicy({kModeId120, {120_Hz, 120_Hz}}));
-
- std::vector<LayerRequirement> layers = {{.weight = 1.f}, {.weight = 1.f}};
- layers[0].vote = LayerVoteType::ExplicitCategory;
- layers[0].frameRateCategory = FrameRateCategory::HighHint;
- layers[0].name = "ExplicitCategory HighHint";
-
- auto actualRankedFrameRates = selector.getRankedFrameRates(layers);
- // Expect late touch boost from HighHint.
- EXPECT_EQ(120_Hz, actualRankedFrameRates.ranking.front().frameRateMode.fps);
- EXPECT_EQ(kModeId120, actualRankedFrameRates.ranking.front().frameRateMode.modePtr->getId());
- EXPECT_TRUE(actualRankedFrameRates.consideredSignals.touch);
-
- layers[1].vote = LayerVoteType::ExplicitExactOrMultiple;
- layers[1].desiredRefreshRate = 30_Hz;
- layers[1].name = "ExplicitExactOrMultiple 30Hz";
-
- actualRankedFrameRates = selector.getRankedFrameRates(layers);
- // Expect late touch boost from HighHint.
- EXPECT_EQ(120_Hz, actualRankedFrameRates.ranking.front().frameRateMode.fps);
- EXPECT_EQ(kModeId120, actualRankedFrameRates.ranking.front().frameRateMode.modePtr->getId());
- EXPECT_TRUE(actualRankedFrameRates.consideredSignals.touch);
-}
-
TEST_P(RefreshRateSelectorTest, getBestFrameRateMode_withFrameRateCategory_HighHint) {
auto selector = createSelector(makeModes(kMode24, kMode30, kMode60, kMode120), kModeId60);
@@ -1921,7 +1884,7 @@
// Gets touch boost
EXPECT_EQ(120_Hz, actualRankedFrameRates.ranking.front().frameRateMode.fps);
EXPECT_EQ(kModeId120, actualRankedFrameRates.ranking.front().frameRateMode.modePtr->getId());
- EXPECT_TRUE(actualRankedFrameRates.consideredSignals.touch);
+ EXPECT_FALSE(actualRankedFrameRates.consideredSignals.touch);
}
TEST_P(RefreshRateSelectorTest, getBestFrameRateMode_withFrameRateCategory_TouchBoost) {
@@ -2015,7 +1978,7 @@
lr2.name = "Max";
actualRankedFrameRates = selector.getRankedFrameRates(layers, {.touch = true});
EXPECT_FRAME_RATE_MODE(kMode120, 120_Hz, actualRankedFrameRates.ranking.front().frameRateMode);
- EXPECT_TRUE(actualRankedFrameRates.consideredSignals.touch);
+ EXPECT_FALSE(actualRankedFrameRates.consideredSignals.touch);
lr1.vote = LayerVoteType::ExplicitCategory;
lr1.frameRateCategory = FrameRateCategory::Normal;