summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2021-05-18 20:51:02 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-05-18 20:51:02 +0000
commitd59bcb858c93cd8f0a57e64cf0144534aa540f4f (patch)
tree043a1fe223f3b76f14682ca8aa403b57b0380a3b
parent7ed6f2fca8325ffa8a62d356adad51937f9d0a37 (diff)
parente7aadccdb1374315214248cc286dfd82fa76a4b7 (diff)
Merge "SF: Add unit test for RefreshRateConfigs" into sc-dev
-rw-r--r--services/surfaceflinger/tests/unittests/RefreshRateConfigsTest.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/services/surfaceflinger/tests/unittests/RefreshRateConfigsTest.cpp b/services/surfaceflinger/tests/unittests/RefreshRateConfigsTest.cpp
index 0b70f27781..7ace70aeef 100644
--- a/services/surfaceflinger/tests/unittests/RefreshRateConfigsTest.cpp
+++ b/services/surfaceflinger/tests/unittests/RefreshRateConfigsTest.cpp
@@ -1450,12 +1450,12 @@ TEST_F(RefreshRateConfigsTest, nonSeamlessExactAndSeamlessMultipleLayers) {
.seamlessness = Seamlessness::OnlySeamless,
.weight = 1.0f,
.focused = true}};
- auto& seamedLayer = layers[0];
ASSERT_EQ(HWC_CONFIG_ID_50,
refreshRateConfigs->getBestRefreshRate(layers, {.touch = false, .idle = false})
.getModeId());
+ auto& seamedLayer = layers[0];
seamedLayer.name = "30Hz ExplicitDefault", seamedLayer.desiredRefreshRate = Fps(30.0f);
refreshRateConfigs->setCurrentModeId(HWC_CONFIG_ID_30);
@@ -1464,6 +1464,27 @@ TEST_F(RefreshRateConfigsTest, nonSeamlessExactAndSeamlessMultipleLayers) {
.getModeId());
}
+TEST_F(RefreshRateConfigsTest, minLayersDontTrigerSeamedSwitch) {
+ auto refreshRateConfigs =
+ std::make_unique<RefreshRateConfigs>(m60_90DeviceWithDifferentGroups,
+ /*currentConfigId=*/HWC_CONFIG_ID_90);
+
+ // Allow group switching.
+ RefreshRateConfigs::Policy policy;
+ policy.defaultMode = refreshRateConfigs->getCurrentPolicy().defaultMode;
+ policy.allowGroupSwitching = true;
+ ASSERT_GE(refreshRateConfigs->setDisplayManagerPolicy(policy), 0);
+
+ auto layers = std::vector<LayerRequirement>{LayerRequirement{.name = "Min",
+ .vote = LayerVoteType::Min,
+ .weight = 1.f,
+ .focused = true}};
+
+ ASSERT_EQ(HWC_CONFIG_ID_90,
+ refreshRateConfigs->getBestRefreshRate(layers, {.touch = false, .idle = false})
+ .getModeId());
+}
+
TEST_F(RefreshRateConfigsTest, primaryVsAppRequestPolicy) {
auto refreshRateConfigs =
std::make_unique<RefreshRateConfigs>(m30_60_90Device,