Skip to content

Commit b70835d

Browse files
author
Su Hong Koo
committed
Flag: Trunk-stable flag for migrating pacesetter to display with highest refresh rate
PDARR is comprised of three main changes: 1. "Greedy" follower display presentation via follower display backpressure 2. Migration of pacesetter display to the highest refresh rate display 3. Proper buffer release/transaction callback if a buffer is used across multiple displays This CL introduces a flag for #2, pacesetter display migration Refer to go/pdarr-1pager for details. Flag: com.android.graphics.surfaceflinger.flags.pacesetter_selection Bug: 374072507 Test: N/A Change-Id: I4417c415bd20c2c09ed1c5f3cf75b8d0e5e522ec
1 parent 46eef56 commit b70835d

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

services/surfaceflinger/common/FlagManager.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ void FlagManager::dump(std::string& result) const {
168168
DUMP_ACONFIG_FLAG(misc1);
169169
DUMP_ACONFIG_FLAG(no_vsyncs_on_screen_off);
170170
DUMP_ACONFIG_FLAG(override_trusted_overlay);
171+
DUMP_ACONFIG_FLAG(pacesetter_selection);
171172
DUMP_ACONFIG_FLAG(protected_if_client);
172173
DUMP_ACONFIG_FLAG(reject_dupe_layerstacks);
173174
DUMP_ACONFIG_FLAG(renderable_buffer_usage);
@@ -274,6 +275,7 @@ FLAG_MANAGER_ACONFIG_FLAG(renderable_buffer_usage, "")
274275
FLAG_MANAGER_ACONFIG_FLAG(restore_blur_step, "debug.renderengine.restore_blur_step")
275276
FLAG_MANAGER_ACONFIG_FLAG(dont_skip_on_early_ro, "")
276277
FLAG_MANAGER_ACONFIG_FLAG(no_vsyncs_on_screen_off, "debug.sf.no_vsyncs_on_screen_off")
278+
FLAG_MANAGER_ACONFIG_FLAG(pacesetter_selection, "debug.sf.pacesetter_selection")
277279
FLAG_MANAGER_ACONFIG_FLAG(protected_if_client, "")
278280
FLAG_MANAGER_ACONFIG_FLAG(graphite_renderengine, "debug.renderengine.graphite")
279281
FLAG_MANAGER_ACONFIG_FLAG(filter_frames_before_trace_starts, "")

services/surfaceflinger/common/include/common/FlagManager.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,14 @@ class FlagManager {
9797
bool graphite_renderengine() const;
9898
bool hdcp_level_hal() const;
9999
bool hdcp_negotiation() const;
100+
bool idle_screen_refresh_rate_timeout() const;
100101
bool latch_unsignaled_with_auto_refresh_changed() const;
101102
bool local_tonemap_screenshots() const;
102103
bool luts_api() const;
103104
bool misc1() const;
104105
bool no_vsyncs_on_screen_off() const;
105106
bool override_trusted_overlay() const;
107+
bool pacesetter_selection() const;
106108
bool protected_if_client() const;
107109
bool reject_dupe_layerstacks() const;
108110
bool renderable_buffer_usage() const;

services/surfaceflinger/surfaceflinger_flags_new.aconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,13 @@ flag {
250250
is_fixed_read_only: true
251251
} # no_vsyncs_on_screen_off
252252

253+
flag {
254+
name: "pacesetter_selection"
255+
namespace: "desktop_display"
256+
description: "Moves pacesetter designation to the display with highest refresh rate. Prefers to keep the same display as pacesetter if there are multiple displays of the same highest refresh rate."
257+
bug: "374072507"
258+
} # pacesetter_selection
259+
253260
flag {
254261
name: "reject_dupe_layerstacks"
255262
namespace: "window_surfaces"

0 commit comments

Comments
 (0)