diff options
author | 2023-11-01 23:49:18 +0000 | |
---|---|---|
committer | 2023-11-10 20:11:18 +0000 | |
commit | ecbfa07774714ed49884f8424e5d9a92826a8f9c (patch) | |
tree | 30bbd52499ab70bf7c10cb028d5db816d89afe12 | |
parent | 6129c87ef1fa6b4bdf077b64f9ded30fcce95f74 (diff) |
Move FlagManager to a common SF lib
So that CompositionEngine can use it.
Bug: 236745178
Test: builds
Change-Id: Ib873cb4a0b4231723a22fbc8fa22ec955aa6f329
19 files changed, 70 insertions, 15 deletions
diff --git a/services/surfaceflinger/Android.bp b/services/surfaceflinger/Android.bp index 17fa7bedf7..0989863b7d 100644 --- a/services/surfaceflinger/Android.bp +++ b/services/surfaceflinger/Android.bp @@ -93,6 +93,7 @@ cc_defaults { "libscheduler", "libserviceutils", "libshaders", + "libsurfaceflinger_common", "libtimestats", "libtonemap", "libsurfaceflingerflags", @@ -175,7 +176,6 @@ filegroup { "FrontEnd/LayerLifecycleManager.cpp", "FrontEnd/RequestedLayerState.cpp", "FrontEnd/TransactionHandler.cpp", - "FlagManager.cpp", "FpsReporter.cpp", "FrameTracer/FrameTracer.cpp", "FrameTracker.cpp", diff --git a/services/surfaceflinger/CompositionEngine/Android.bp b/services/surfaceflinger/CompositionEngine/Android.bp index 370e4b66e8..2740a979f3 100644 --- a/services/surfaceflinger/CompositionEngine/Android.bp +++ b/services/surfaceflinger/CompositionEngine/Android.bp @@ -63,7 +63,10 @@ cc_defaults { cc_library { name: "libcompositionengine", defaults: ["libcompositionengine_defaults"], - static_libs: ["libsurfaceflingerflags"], + static_libs: [ + "libsurfaceflinger_common", + "libsurfaceflingerflags", + ], srcs: [ "src/planner/CachedSet.cpp", "src/planner/Flattener.cpp", @@ -108,6 +111,7 @@ cc_library { "libgtest", "libgmock", "libcompositionengine", + "libsurfaceflinger_common_test", "libsurfaceflingerflags_test", ], local_include_dirs: ["include"], @@ -143,6 +147,7 @@ cc_test { "librenderengine_mocks", "libgmock", "libgtest", + "libsurfaceflinger_common_test", "libsurfaceflingerflags_test", ], // For some reason, libvulkan isn't picked up from librenderengine diff --git a/services/surfaceflinger/DisplayHardware/DisplayMode.h b/services/surfaceflinger/DisplayHardware/DisplayMode.h index f32fb3a5c7..ba0825c5af 100644 --- a/services/surfaceflinger/DisplayHardware/DisplayMode.h +++ b/services/surfaceflinger/DisplayHardware/DisplayMode.h @@ -29,8 +29,8 @@ #include <scheduler/Fps.h> +#include <common/FlagManager.h> #include "DisplayHardware/Hal.h" -#include "FlagManager.h" #include "Scheduler/StrongTyping.h" namespace android { diff --git a/services/surfaceflinger/RefreshRateOverlay.cpp b/services/surfaceflinger/RefreshRateOverlay.cpp index 6752a0bafa..b960e33682 100644 --- a/services/surfaceflinger/RefreshRateOverlay.cpp +++ b/services/surfaceflinger/RefreshRateOverlay.cpp @@ -16,8 +16,8 @@ #include <algorithm> +#include <common/FlagManager.h> #include "Client.h" -#include "FlagManager.h" #include "Layer.h" #include "RefreshRateOverlay.h" diff --git a/services/surfaceflinger/Scheduler/EventThread.cpp b/services/surfaceflinger/Scheduler/EventThread.cpp index 7f627f829d..693a357de5 100644 --- a/services/surfaceflinger/Scheduler/EventThread.cpp +++ b/services/surfaceflinger/Scheduler/EventThread.cpp @@ -43,9 +43,9 @@ #include <utils/Errors.h> #include <utils/Trace.h> +#include <common/FlagManager.h> #include <scheduler/VsyncConfig.h> #include "DisplayHardware/DisplayMode.h" -#include "FlagManager.h" #include "FrameTimeline.h" #include "VSyncDispatch.h" #include "VSyncTracker.h" diff --git a/services/surfaceflinger/Scheduler/LayerHistory.cpp b/services/surfaceflinger/Scheduler/LayerHistory.cpp index 450ba1d841..d309adccf8 100644 --- a/services/surfaceflinger/Scheduler/LayerHistory.cpp +++ b/services/surfaceflinger/Scheduler/LayerHistory.cpp @@ -31,9 +31,9 @@ #include <string> #include <utility> +#include <common/FlagManager.h> #include "../Layer.h" #include "EventThread.h" -#include "FlagManager.h" #include "LayerInfo.h" namespace android::scheduler { diff --git a/services/surfaceflinger/Scheduler/Scheduler.cpp b/services/surfaceflinger/Scheduler/Scheduler.cpp index f41243cb32..b54f33451b 100644 --- a/services/surfaceflinger/Scheduler/Scheduler.cpp +++ b/services/surfaceflinger/Scheduler/Scheduler.cpp @@ -45,9 +45,9 @@ #include <memory> #include <numeric> +#include <common/FlagManager.h> #include "../Layer.h" #include "EventThread.h" -#include "FlagManager.h" #include "FrameRateOverrideMappings.h" #include "FrontEnd/LayerHandle.h" #include "OneShotTimer.h" diff --git a/services/surfaceflinger/Scheduler/VSyncDispatchTimerQueue.cpp b/services/surfaceflinger/Scheduler/VSyncDispatchTimerQueue.cpp index 3e7ec492fa..ef30887037 100644 --- a/services/surfaceflinger/Scheduler/VSyncDispatchTimerQueue.cpp +++ b/services/surfaceflinger/Scheduler/VSyncDispatchTimerQueue.cpp @@ -25,7 +25,7 @@ #include <scheduler/TimeKeeper.h> -#include "FlagManager.h" +#include <common/FlagManager.h> #include "VSyncDispatchTimerQueue.h" #include "VSyncTracker.h" diff --git a/services/surfaceflinger/Scheduler/VSyncPredictor.cpp b/services/surfaceflinger/Scheduler/VSyncPredictor.cpp index 57aa010740..f5f93ce2f1 100644 --- a/services/surfaceflinger/Scheduler/VSyncPredictor.cpp +++ b/services/surfaceflinger/Scheduler/VSyncPredictor.cpp @@ -29,13 +29,13 @@ #include <android-base/logging.h> #include <android-base/stringprintf.h> +#include <common/FlagManager.h> #include <cutils/compiler.h> #include <cutils/properties.h> #include <ftl/concat.h> #include <gui/TraceUtils.h> #include <utils/Log.h> -#include "FlagManager.h" #include "RefreshRateSelector.h" #include "VSyncPredictor.h" diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 9c8555eb62..7333bc38fe 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -113,6 +113,7 @@ #include <unordered_map> #include <vector> +#include <common/FlagManager.h> #include <gui/LayerStatePermissions.h> #include <gui/SchedulingPolicy.h> #include <ui/DisplayIdentification.h> @@ -129,7 +130,6 @@ #include "DisplayHardware/VirtualDisplaySurface.h" #include "DisplayRenderArea.h" #include "Effects/Daltonizer.h" -#include "FlagManager.h" #include "FpsReporter.h" #include "FrameTimeline/FrameTimeline.h" #include "FrameTracer/FrameTracer.h" diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h index 1e90340449..fa48549c85 100644 --- a/services/surfaceflinger/SurfaceFlinger.h +++ b/services/surfaceflinger/SurfaceFlinger.h @@ -63,13 +63,13 @@ #include <scheduler/interface/ICompositor.h> #include <ui/FenceResult.h> +#include <common/FlagManager.h> #include "Display/PhysicalDisplay.h" #include "DisplayDevice.h" #include "DisplayHardware/HWC2.h" #include "DisplayHardware/PowerAdvisor.h" #include "DisplayIdGenerator.h" #include "Effects/Daltonizer.h" -#include "FlagManager.h" #include "FrontEnd/DisplayInfo.h" #include "FrontEnd/LayerCreationArgs.h" #include "FrontEnd/LayerLifecycleManager.h" diff --git a/services/surfaceflinger/common/Android.bp b/services/surfaceflinger/common/Android.bp new file mode 100644 index 0000000000..5ef22b590b --- /dev/null +++ b/services/surfaceflinger/common/Android.bp @@ -0,0 +1,48 @@ +package { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "frameworks_native_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + default_applicable_licenses: ["frameworks_native_license"], +} + +cc_defaults { + name: "libsurfaceflinger_common_defaults", + defaults: [ + "android.hardware.graphics.composer3-ndk_shared", + "surfaceflinger_defaults", + ], + shared_libs: [ + "libSurfaceFlingerProp", + "server_configurable_flags", + ], + static_libs: [ + "librenderengine", + ], + srcs: [ + "FlagManager.cpp", + ], + local_include_dirs: ["include"], + export_include_dirs: ["include"], +} + +cc_library_static { + name: "libsurfaceflinger_common", + defaults: [ + "libsurfaceflinger_common_defaults", + ], + static_libs: [ + "libsurfaceflingerflags", + ], +} + +cc_library_static { + name: "libsurfaceflinger_common_test", + defaults: [ + "libsurfaceflinger_common_defaults", + ], + static_libs: [ + "libsurfaceflingerflags_test", + ], +} diff --git a/services/surfaceflinger/FlagManager.cpp b/services/surfaceflinger/common/FlagManager.cpp index 13b8a6c0cf..8da7d8e92f 100644 --- a/services/surfaceflinger/FlagManager.cpp +++ b/services/surfaceflinger/common/FlagManager.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "FlagManager.h" +#include <common/FlagManager.h> #include <SurfaceFlingerProperties.sysprop.h> #include <android-base/parsebool.h> diff --git a/services/surfaceflinger/FlagManager.h b/services/surfaceflinger/common/include/common/FlagManager.h index e3e4f80905..e3e4f80905 100644 --- a/services/surfaceflinger/FlagManager.h +++ b/services/surfaceflinger/common/include/common/FlagManager.h diff --git a/services/surfaceflinger/fuzzer/Android.bp b/services/surfaceflinger/fuzzer/Android.bp index 243b8e04df..ab3b3528dd 100644 --- a/services/surfaceflinger/fuzzer/Android.bp +++ b/services/surfaceflinger/fuzzer/Android.bp @@ -39,6 +39,7 @@ cc_defaults { "libgtest_ndk_c++", "libgmock_main_ndk", "librenderengine_mocks", + "libsurfaceflinger_common", "perfetto_trace_protos", "libcompositionengine_mocks", "perfetto_trace_protos", diff --git a/services/surfaceflinger/main_surfaceflinger.cpp b/services/surfaceflinger/main_surfaceflinger.cpp index 9889cb9c5d..6c8972f1fb 100644 --- a/services/surfaceflinger/main_surfaceflinger.cpp +++ b/services/surfaceflinger/main_surfaceflinger.cpp @@ -29,12 +29,12 @@ #include <binder/IPCThreadState.h> #include <binder/IServiceManager.h> #include <binder/ProcessState.h> +#include <common/FlagManager.h> #include <configstore/Utils.h> #include <displayservice/DisplayService.h> #include <errno.h> #include <hidl/LegacySupport.h> #include <processgroup/sched_policy.h> -#include "FlagManager.h" #include "SurfaceFlinger.h" #include "SurfaceFlingerFactory.h" #include "SurfaceFlingerProperties.h" diff --git a/services/surfaceflinger/tests/unittests/Android.bp b/services/surfaceflinger/tests/unittests/Android.bp index 5a3bca115b..2f1adb3a81 100644 --- a/services/surfaceflinger/tests/unittests/Android.bp +++ b/services/surfaceflinger/tests/unittests/Android.bp @@ -170,6 +170,7 @@ cc_defaults { "librenderengine_mocks", "libscheduler", "libserviceutils", + "libsurfaceflinger_common_test", "libtimestats", "libtimestats_atoms_proto", "libtimestats_proto", diff --git a/services/surfaceflinger/tests/unittests/FlagManagerTest.cpp b/services/surfaceflinger/tests/unittests/FlagManagerTest.cpp index aa37754300..c040f29fec 100644 --- a/services/surfaceflinger/tests/unittests/FlagManagerTest.cpp +++ b/services/surfaceflinger/tests/unittests/FlagManagerTest.cpp @@ -17,7 +17,7 @@ #undef LOG_TAG #define LOG_TAG "FlagManagerTest" -#include "FlagManager.h" +#include <common/FlagManager.h> #include "FlagUtils.h" #include <gmock/gmock.h> diff --git a/services/surfaceflinger/tests/unittests/FlagUtils.h b/services/surfaceflinger/tests/unittests/FlagUtils.h index 333e4e7e05..550c70d98f 100644 --- a/services/surfaceflinger/tests/unittests/FlagUtils.h +++ b/services/surfaceflinger/tests/unittests/FlagUtils.h @@ -16,7 +16,7 @@ #pragma once -#include "FlagManager.h" +#include <common/FlagManager.h> #define SET_FLAG_FOR_TEST(name, value) TestFlagSetter _testflag_((name), (name), (value)) |