Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b70835d1 authored by Su Hong Koo's avatar Su Hong Koo
Browse files

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
parent 46eef569
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -168,6 +168,7 @@ void FlagManager::dump(std::string& result) const {
    DUMP_ACONFIG_FLAG(misc1);
    DUMP_ACONFIG_FLAG(no_vsyncs_on_screen_off);
    DUMP_ACONFIG_FLAG(override_trusted_overlay);
    DUMP_ACONFIG_FLAG(pacesetter_selection);
    DUMP_ACONFIG_FLAG(protected_if_client);
    DUMP_ACONFIG_FLAG(reject_dupe_layerstacks);
    DUMP_ACONFIG_FLAG(renderable_buffer_usage);
@@ -274,6 +275,7 @@ FLAG_MANAGER_ACONFIG_FLAG(renderable_buffer_usage, "")
FLAG_MANAGER_ACONFIG_FLAG(restore_blur_step, "debug.renderengine.restore_blur_step")
FLAG_MANAGER_ACONFIG_FLAG(dont_skip_on_early_ro, "")
FLAG_MANAGER_ACONFIG_FLAG(no_vsyncs_on_screen_off, "debug.sf.no_vsyncs_on_screen_off")
FLAG_MANAGER_ACONFIG_FLAG(pacesetter_selection, "debug.sf.pacesetter_selection")
FLAG_MANAGER_ACONFIG_FLAG(protected_if_client, "")
FLAG_MANAGER_ACONFIG_FLAG(graphite_renderengine, "debug.renderengine.graphite")
FLAG_MANAGER_ACONFIG_FLAG(filter_frames_before_trace_starts, "")
+2 −0
Original line number Diff line number Diff line
@@ -97,12 +97,14 @@ public:
    bool graphite_renderengine() const;
    bool hdcp_level_hal() const;
    bool hdcp_negotiation() const;
    bool idle_screen_refresh_rate_timeout() const;
    bool latch_unsignaled_with_auto_refresh_changed() const;
    bool local_tonemap_screenshots() const;
    bool luts_api() const;
    bool misc1() const;
    bool no_vsyncs_on_screen_off() const;
    bool override_trusted_overlay() const;
    bool pacesetter_selection() const;
    bool protected_if_client() const;
    bool reject_dupe_layerstacks() const;
    bool renderable_buffer_usage() const;
+7 −0
Original line number Diff line number Diff line
@@ -250,6 +250,13 @@ flag {
  is_fixed_read_only: true
} # no_vsyncs_on_screen_off

flag {
  name: "pacesetter_selection"
  namespace: "desktop_display"
  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."
  bug: "374072507"
} # pacesetter_selection

flag {
  name: "reject_dupe_layerstacks"
  namespace: "window_surfaces"