Skip to content

Commit fc843d3

Browse files
Treehugger RobotAndroid (Google) Code Review
authored andcommitted
Merge "NoPreference does not supercede Game default override" into main
2 parents fc48edc + 7382ddc commit fc843d3

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

services/surfaceflinger/Scheduler/LayerHistory.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -308,14 +308,20 @@ void LayerHistory::partitionLayers(nsecs_t now, bool isVrrDevice) {
308308
const auto setFrameRateVoteType =
309309
info->isVisible() ? voteType : LayerVoteType::NoVote;
310310

311+
const bool hasSetFrameRateOpinion = frameRate.isValid() && !frameRate.isNoVote();
312+
const bool hasCategoryOpinion =
313+
frameRate.category != FrameRateCategory::NoPreference &&
314+
frameRate.category != FrameRateCategory::Default;
315+
const bool hasFrameRateOpinion = hasSetFrameRateOpinion || hasCategoryOpinion;
316+
311317
if (gameModeFrameRateOverride.isValid()) {
312318
info->setLayerVote({gameFrameRateOverrideVoteType, gameModeFrameRateOverride});
313319
SFTRACE_FORMAT_INSTANT("GameModeFrameRateOverride");
314320
if (CC_UNLIKELY(mTraceEnabled)) {
315321
trace(*info, gameFrameRateOverrideVoteType,
316322
gameModeFrameRateOverride.getIntValue());
317323
}
318-
} else if (frameRate.isValid() && frameRate.isVoteValidForMrr(isVrrDevice)) {
324+
} else if (hasFrameRateOpinion && frameRate.isVoteValidForMrr(isVrrDevice)) {
319325
info->setLayerVote({setFrameRateVoteType,
320326
isValuelessVote ? 0_Hz : frameRate.vote.rate,
321327
frameRate.vote.seamlessness, frameRate.category});
@@ -332,7 +338,7 @@ void LayerHistory::partitionLayers(nsecs_t now, bool isVrrDevice) {
332338
gameDefaultFrameRateOverride.getIntValue());
333339
}
334340
} else {
335-
if (frameRate.isValid() && !frameRate.isVoteValidForMrr(isVrrDevice)) {
341+
if (hasFrameRateOpinion && !frameRate.isVoteValidForMrr(isVrrDevice)) {
336342
SFTRACE_FORMAT_INSTANT("Reset layer to ignore explicit vote on MRR %s: %s "
337343
"%s %s",
338344
info->getName().c_str(),

0 commit comments

Comments
 (0)