SF: trace the render rate of an app
Add a trace point for both SF and apps when the render rate
is overridden.
Bug: 347314033
Test: manual
Change-Id: I87dc9b17a4c1f97fa43b025cfa684f43c20c5a25
diff --git a/services/surfaceflinger/common/Android.bp b/services/surfaceflinger/common/Android.bp
index c3594bc..bcf1886 100644
--- a/services/surfaceflinger/common/Android.bp
+++ b/services/surfaceflinger/common/Android.bp
@@ -38,6 +38,7 @@
"libsurfaceflingerflags",
"android.os.flags-aconfig-cc",
"android.server.display.flags-aconfig-cc",
+ "libguiflags_no_apex",
],
}
@@ -50,6 +51,7 @@
"libsurfaceflingerflags_test",
"android.os.flags-aconfig-cc-test",
"android.server.display.flags-aconfig-cc",
+ "libguiflags_no_apex",
],
}
@@ -64,6 +66,7 @@
"libsurfaceflingerflags",
"android.os.flags-aconfig-cc",
"android.server.display.flags-aconfig-cc",
+ "libguiflags_no_apex",
],
}
@@ -78,5 +81,6 @@
"libsurfaceflingerflags_test",
"android.os.flags-aconfig-cc-test",
"android.server.display.flags-aconfig-cc",
+ "libguiflags_no_apex",
],
}
diff --git a/services/surfaceflinger/common/FlagManager.cpp b/services/surfaceflinger/common/FlagManager.cpp
index 4216771..2e3273c 100644
--- a/services/surfaceflinger/common/FlagManager.cpp
+++ b/services/surfaceflinger/common/FlagManager.cpp
@@ -27,6 +27,7 @@
#include <cinttypes>
#include <android_os.h>
+#include <com_android_graphics_libgui_flags.h>
#include <com_android_graphics_surfaceflinger_flags.h>
#include <com_android_server_display_feature_flags.h>
@@ -151,6 +152,7 @@
DUMP_READ_ONLY_FLAG(flush_buffer_slots_to_uncache);
DUMP_READ_ONLY_FLAG(force_compile_graphite_renderengine);
DUMP_READ_ONLY_FLAG(single_hop_screenshot);
+ DUMP_READ_ONLY_FLAG(trace_frame_rate_override);
#undef DUMP_READ_ONLY_FLAG
#undef DUMP_SERVER_FLAG
@@ -264,5 +266,7 @@
FLAG_MANAGER_READ_ONLY_FLAG_IMPORTED(idle_screen_refresh_rate_timeout, "",
com::android::server::display::feature::flags)
FLAG_MANAGER_READ_ONLY_FLAG_IMPORTED(adpf_use_fmq_channel_fixed, "", android::os)
+FLAG_MANAGER_READ_ONLY_FLAG_IMPORTED(trace_frame_rate_override, "",
+ com::android::graphics::libgui::flags);
} // namespace android
diff --git a/services/surfaceflinger/common/include/common/FlagManager.h b/services/surfaceflinger/common/include/common/FlagManager.h
index 22118ab..ab7a474 100644
--- a/services/surfaceflinger/common/include/common/FlagManager.h
+++ b/services/surfaceflinger/common/include/common/FlagManager.h
@@ -90,6 +90,7 @@
bool flush_buffer_slots_to_uncache() const;
bool force_compile_graphite_renderengine() const;
bool single_hop_screenshot() const;
+ bool trace_frame_rate_override() const;
protected:
// overridden for unit tests