Files
cromite/build/patches/Enable-Android-Dynamic-Performance-Framework.patch
T

101 lines
4.8 KiB
Diff

From: uazo <uazo@users.noreply.github.com>
Date: Wed, 23 Aug 2023 13:49:19 +0000
Subject: Enable Android Dynamic Performance Framework
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/version.gni | 8 ++++----
components/viz/common/features.cc | 2 ++
components/viz/service/performance_hint/hint_session.cc | 5 +----
.../platform/widget/input/widget_input_handler_manager.cc | 5 +++++
4 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/chrome/version.gni b/chrome/version.gni
--- a/chrome/version.gni
+++ b/chrome/version.gni
@@ -86,7 +86,7 @@ if (target_os == "android") {
_version_dictionary_template +=
"trichrome_auto_64_version_code = \"@TRICHROME_AUTO_64_VERSION_CODE@\" "
_version_dictionary_template += "trichrome_desktop_64_version_code = \"@TRICHROME_DESKTOP_64_VERSION_CODE@\" "
- if (target_cpu == "arm64") {
+ if (target_cpu == "arm64" || target_cpu == "x64") {
_version_dictionary_template +=
"chrome_high_version_code = \"@CHROME_HIGH_VERSION_CODE@\" "
_version_dictionary_template +=
@@ -231,16 +231,16 @@ if (is_mac) {
chrome_version_name = chrome_version_full
# There is a different version code only for arm64.
- if (is_high_end_android && target_cpu != "arm64") {
+ if (is_high_end_android && target_cpu == "x64") {
trichrome_64_32_high_beta_version_code = trichrome_64_32_beta_version_code
trichrome_64_32_high_version_code = trichrome_64_32_version_code
trichrome_auto_64_32_high_version_code = trichrome_auto_64_32_version_code
webview_64_32_high_beta_version_code = webview_64_32_beta_version_code
webview_64_32_high_stable_version_code = webview_64_32_stable_version_code
webview_auto_64_32_high_version_code = webview_auto_64_32_version_code
- chrome_high_version_code = chrome_version_code
- chrome_high_beta_version_code = chrome_beta_version_code
}
+ chrome_high_version_code = chrome_version_code
+ chrome_high_beta_version_code = chrome_beta_version_code
}
if (is_android && current_toolchain == default_toolchain) {
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
--- a/components/viz/common/features.cc
+++ b/components/viz/common/features.cc
@@ -241,6 +241,7 @@ BASE_FEATURE(kEnableADPFRendererMain, base::FEATURE_ENABLED_BY_DEFAULT);
// If enabled, Chrome puts Renderer Main threads into a separate
// ADPF(Android Dynamic Performance Framework) hint session, and does not
// report any timing hints from this session.
+// see https://source.chromium.org/chromium/chromium/src/+/e7507d15614ac7f499fb89086b3a09772fa8deb4
BASE_FEATURE(kEnableADPFSeparateRendererMainSession,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -538,6 +539,7 @@ bool IsBrowserControlsInVizEnabled() {
bool ShouldUseAdpfForSoc(std::string_view soc_allowlist,
std::string_view soc) {
+ // if ((true)) return true; temporarily disabled due #2713
std::vector<std::string_view> allowlist = base::SplitStringPiece(
soc_allowlist, "|", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
return base::Contains(allowlist, soc);
diff --git a/components/viz/service/performance_hint/hint_session.cc b/components/viz/service/performance_hint/hint_session.cc
--- a/components/viz/service/performance_hint/hint_session.cc
+++ b/components/viz/service/performance_hint/hint_session.cc
@@ -437,16 +437,13 @@ bool IsAdpfEnabled() {
switches::kDisableAdpf)) {
return false;
}
- if (base::android::android_info::sdk_int() <
- base::android::android_info::SDK_VERSION_S) {
- return false;
- }
if (!AdpfMethods::Get().supported) {
return false;
}
if (!base::FeatureList::IsEnabled(features::kAdpf)) {
return false;
}
+ if ((true)) return true;
std::string soc_allowlist = features::kADPFSocManufacturerAllowlist.Get();
std::string soc = base::SysInfo::SocManufacturer();
diff --git a/third_party/blink/renderer/platform/widget/input/widget_input_handler_manager.cc b/third_party/blink/renderer/platform/widget/input/widget_input_handler_manager.cc
--- a/third_party/blink/renderer/platform/widget/input/widget_input_handler_manager.cc
+++ b/third_party/blink/renderer/platform/widget/input/widget_input_handler_manager.cc
@@ -221,6 +221,11 @@ class SynchronousCompositorProxyRegistry
renderer_threads.push_back(
viz::Thread{io_thread_id_, viz::Thread::Type::kIO});
}
+ // Renderer Main is included in the set of threads reported to the HWUI.
+ if (main_thread_id_ != base::kInvalidThreadId) {
+ renderer_threads.push_back(
+ viz::Thread{main_thread_id_, viz::Thread::Type::kMain});
+ }
proxy_->SetThreads(renderer_threads);
}
--