diff options
| author | 2023-10-27 23:03:55 +0000 | |
|---|---|---|
| committer | 2023-10-27 23:03:55 +0000 | |
| commit | e7bdb06bcf7cb659e24befb588f59ebae9c36832 (patch) | |
| tree | 56595821825c05c2219fcf7980530a47cbc18a66 /services/surfaceflinger/SurfaceFlinger.cpp | |
| parent | 7002ccad7802dc1b66580a6733a4f2e64cc8be0b (diff) | |
| parent | d6d8016d771710c09de313dde8f29f2c8976c5e6 (diff) | |
Merge changes from topic "sf_flagmanager" into main
* changes:
  SF: move trunk stable flags to FlagManager
  SF: cleanup FlagManager
  SF: make FlagManager singleton
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 40 | 
1 files changed, 8 insertions, 32 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 48be33c7ec..62eb17d2e7 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -157,15 +157,12 @@  #include "TimeStats/TimeStats.h"  #include "TunnelModeEnabledReporter.h"  #include "Utils/Dumper.h" -#include "Utils/FlagUtils.h"  #include "WindowInfosListenerInvoker.h"  #include <aidl/android/hardware/graphics/common/DisplayDecorationSupport.h>  #include <aidl/android/hardware/graphics/composer3/DisplayCapability.h>  #include <aidl/android/hardware/graphics/composer3/RenderIntent.h> -#include <com_android_graphics_surfaceflinger_flags.h> -  #undef NO_THREAD_SAFETY_ANALYSIS  #define NO_THREAD_SAFETY_ANALYSIS \      _Pragma("GCC error \"Prefer <ftl/fake_guard.h> or MutexUtils.h helpers.\"") @@ -175,8 +172,6 @@  #define DOES_CONTAIN_BORDER false  namespace android { -using namespace com::android::graphics::surfaceflinger; -  using namespace std::chrono_literals;  using namespace std::string_literals;  using namespace std::string_view_literals; @@ -509,11 +504,6 @@ SurfaceFlinger::SurfaceFlinger(Factory& factory) : SurfaceFlinger(factory, SkipI              base::GetBoolProperty("persist.debug.sf.enable_layer_lifecycle_manager"s, true);      mLegacyFrontEndEnabled = !mLayerLifecycleManagerEnabled ||              base::GetBoolProperty("persist.debug.sf.enable_legacy_frontend"s, false); - -    // Trunk-Stable flags -    mMiscFlagValue = flags::misc1(); -    mConnectedDisplayFlagValue = flags::connected_display(); -    mMisc2FlagEarlyBootValue = flags::late_boot_misc2();  }  LatchUnsignaledConfig SurfaceFlinger::getLatchUnsignaledConfig() { @@ -689,6 +679,7 @@ void SurfaceFlinger::bootFinished() {          return;      }      mBootFinished = true; +    FlagManager::getMutableInstance().markBootCompleted();      if (mStartPropertySetThread->join() != NO_ERROR) {          ALOGE("Join StartPropertySetThread failed!");      } @@ -702,7 +693,7 @@ void SurfaceFlinger::bootFinished() {      mFrameTracer->initialize();      mFrameTimeline->onBootFinished(); -    getRenderEngine().setEnableTracing(mFlagManager.use_skia_tracing()); +    getRenderEngine().setEnableTracing(FlagManager::getInstance().use_skia_tracing());      // wait patiently for the window manager death      const String16 name("window"); @@ -731,7 +722,7 @@ void SurfaceFlinger::bootFinished() {          readPersistentProperties();          mPowerAdvisor->onBootFinished(); -        const bool hintSessionEnabled = mFlagManager.use_adpf_cpu_hint(); +        const bool hintSessionEnabled = FlagManager::getInstance().use_adpf_cpu_hint();          mPowerAdvisor->enablePowerHintSession(hintSessionEnabled);          const bool hintSessionUsed = mPowerAdvisor->usePowerHintSession();          ALOGD("Power hint is %s", @@ -755,10 +746,6 @@ void SurfaceFlinger::bootFinished() {              enableRefreshRateOverlay(true);          }      })); - -    LOG_ALWAYS_FATAL_IF(flags::misc1() != mMiscFlagValue, "misc1 flag is not boot stable!"); - -    mMisc2FlagLateBootValue = flags::late_boot_misc2();  }  static std::optional<renderengine::RenderEngine::RenderEngineType> @@ -2101,7 +2088,7 @@ nsecs_t SurfaceFlinger::getVsyncPeriodFromHWC() const {  void SurfaceFlinger::onComposerHalVsync(hal::HWDisplayId hwcDisplayId, int64_t timestamp,                                          std::optional<hal::VsyncPeriodNanos> vsyncPeriod) { -    if (mConnectedDisplayFlagValue) { +    if (FlagManager::getInstance().connected_display()) {          // use ~0 instead of -1 as AidlComposerHal.cpp passes the param as unsigned int32          if (mIsHotplugErrViaNegVsync && timestamp < 0 && vsyncPeriod.has_value() &&              vsyncPeriod.value() == ~0) { @@ -4065,7 +4052,7 @@ void SurfaceFlinger::initScheduler(const sp<const DisplayDevice>& display) {      if (sysprop::use_content_detection_for_refresh_rate(false)) {          features |= Feature::kContentDetection; -        if (flags::enable_small_area_detection()) { +        if (FlagManager::getInstance().enable_small_area_detection()) {              features |= Feature::kSmallDirtyContentDetection;          }      } @@ -6475,17 +6462,6 @@ void SurfaceFlinger::dumpAllLocked(const DumpArgs& args, const std::string& comp      result.append("SurfaceFlinger global state:\n");      colorizer.reset(result); -    StringAppendF(&result, "MiscFlagValue: %s\n", mMiscFlagValue ? "true" : "false"); -    StringAppendF(&result, "ConnectedDisplayFlagValue: %s\n", -                  mConnectedDisplayFlagValue ? "true" : "false"); -    StringAppendF(&result, "Misc2FlagValue: %s (%s after boot)\n", -                  mMisc2FlagLateBootValue ? "true" : "false", -                  mMisc2FlagEarlyBootValue == mMisc2FlagLateBootValue ? "stable" : "modified"); -    StringAppendF(&result, "VrrConfigFlagValue: %s\n", -                  flagutils::vrrConfigEnabled() ? "true" : "false"); -    StringAppendF(&result, "DontSkipOnEarlyFlagValue: %s\n", -                  flags::dont_skip_on_early() ? "true" : "false"); -      getRenderEngine().dump(result);      result.append("ClientCache state:\n"); @@ -6562,7 +6538,7 @@ void SurfaceFlinger::dumpAllLocked(const DumpArgs& args, const std::string& comp      /*       * Dump flag/property manager state       */ -    mFlagManager.dump(result); +    FlagManager::getInstance().dump(result);      result.append(mTimeStats->miniDump());      result.append("\n"); @@ -7227,7 +7203,7 @@ status_t SurfaceFlinger::onTransact(uint32_t code, const Parcel& data, Parcel* r              // Second argument is a delay in ms for triggering the jank. This is useful for working              // with tools that steal the adb connection. This argument is optional.              case 1045: { -                if (flagutils::vrrConfigEnabled()) { +                if (FlagManager::getInstance().vrr_config()) {                      float jankAmount = data.readFloat();                      int32_t jankDelayMs = 0;                      if (data.readInt32(&jankDelayMs) != NO_ERROR) { @@ -9078,7 +9054,7 @@ binder::Status SurfaceComposerAIDL::createConnection(sp<gui::ISurfaceComposerCli      const sp<Client> client = sp<Client>::make(mFlinger);      if (client->initCheck() == NO_ERROR) {          *outClient = client; -        if (flags::misc1()) { +        if (FlagManager::getInstance().misc1()) {              const int policy = SCHED_FIFO;              client->setMinSchedulerPolicy(policy, sched_get_priority_min(policy));          }  |