From: uazo 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 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); } --