[Composer VTS] Check Vrr mode is the only mode in the Config Group

BUG: 296636107
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I4bdf7b0988673a13297d648dcf3360a6821aaecb
This commit is contained in:
ramindani
2023-08-25 18:47:38 -07:00
parent 82682d19e8
commit 2b2ec50b56

View File

@@ -1231,13 +1231,20 @@ TEST_P(GraphicsComposerAidlV3Test, GetDisplayConfigurations) {
EXPECT_NE(-1, displayConfig.vsyncPeriod);
EXPECT_NE(-1, displayConfig.configGroup);
if (displayConfig.dpi) {
EXPECT_NE(-1, displayConfig.dpi->x);
EXPECT_NE(-1, displayConfig.dpi->y);
EXPECT_NE(-1.f, displayConfig.dpi->x);
EXPECT_NE(-1.f, displayConfig.dpi->y);
}
if (displayConfig.vrrConfig) {
const auto& vrrConfig = *displayConfig.vrrConfig;
EXPECT_GE(vrrConfig.minFrameIntervalNs, displayConfig.vsyncPeriod);
EXPECT_EQ(1, std::count_if(
displayConfigurations.cbegin(), displayConfigurations.cend(),
[displayConfig](const auto& config) {
return config.configGroup == displayConfig.configGroup;
}))
<< "There should be only one VRR mode in one ConfigGroup";
const auto verifyFrameIntervalIsDivisorOfVsync = [&](int32_t frameIntervalNs) {
constexpr auto kThreshold = 0.05f; // 5%
const auto ratio =