xref: /aosp_15_r20/frameworks/native/services/surfaceflinger/CompositionEngine/Android.bp (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1*38e8c45fSAndroid Build Coastguard Workerpackage {
2*38e8c45fSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
3*38e8c45fSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*38e8c45fSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_native_license"
5*38e8c45fSAndroid Build Coastguard Worker    // to get the below license kinds:
6*38e8c45fSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
7*38e8c45fSAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_native_license"],
8*38e8c45fSAndroid Build Coastguard Worker    default_team: "trendy_team_android_core_graphics_stack",
9*38e8c45fSAndroid Build Coastguard Worker}
10*38e8c45fSAndroid Build Coastguard Worker
11*38e8c45fSAndroid Build Coastguard Workercc_defaults {
12*38e8c45fSAndroid Build Coastguard Worker    name: "libcompositionengine_defaults",
13*38e8c45fSAndroid Build Coastguard Worker    defaults: [
14*38e8c45fSAndroid Build Coastguard Worker        "aconfig_lib_cc_static_link.defaults",
15*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.graphics.composer3-ndk_shared",
16*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.power-ndk_shared",
17*38e8c45fSAndroid Build Coastguard Worker        "librenderengine_deps",
18*38e8c45fSAndroid Build Coastguard Worker        "libtimestats_deps",
19*38e8c45fSAndroid Build Coastguard Worker        "surfaceflinger_defaults",
20*38e8c45fSAndroid Build Coastguard Worker        "libsurfaceflinger_proto_deps",
21*38e8c45fSAndroid Build Coastguard Worker    ],
22*38e8c45fSAndroid Build Coastguard Worker    cflags: [
23*38e8c45fSAndroid Build Coastguard Worker        "-DLOG_TAG=\"CompositionEngine\"",
24*38e8c45fSAndroid Build Coastguard Worker        "-DATRACE_TAG=ATRACE_TAG_GRAPHICS",
25*38e8c45fSAndroid Build Coastguard Worker    ],
26*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
27*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
28*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
29*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
30*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
31*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
32*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
33*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
34*38e8c45fSAndroid Build Coastguard Worker        "libbase",
35*38e8c45fSAndroid Build Coastguard Worker        "libcutils",
36*38e8c45fSAndroid Build Coastguard Worker        "libgui",
37*38e8c45fSAndroid Build Coastguard Worker        "liblog",
38*38e8c45fSAndroid Build Coastguard Worker        "libnativewindow",
39*38e8c45fSAndroid Build Coastguard Worker        "libprotobuf-cpp-lite",
40*38e8c45fSAndroid Build Coastguard Worker        "libSurfaceFlingerProp",
41*38e8c45fSAndroid Build Coastguard Worker        "libui",
42*38e8c45fSAndroid Build Coastguard Worker        "libutils",
43*38e8c45fSAndroid Build Coastguard Worker    ],
44*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
45*38e8c45fSAndroid Build Coastguard Worker        "libguiflags",
46*38e8c45fSAndroid Build Coastguard Worker        "libmath",
47*38e8c45fSAndroid Build Coastguard Worker        "librenderengine",
48*38e8c45fSAndroid Build Coastguard Worker        "libtimestats",
49*38e8c45fSAndroid Build Coastguard Worker        "libtonemap",
50*38e8c45fSAndroid Build Coastguard Worker        "libaidlcommonsupport",
51*38e8c45fSAndroid Build Coastguard Worker        "libprocessgroup",
52*38e8c45fSAndroid Build Coastguard Worker        "libprocessgroup_util",
53*38e8c45fSAndroid Build Coastguard Worker        "libjsoncpp",
54*38e8c45fSAndroid Build Coastguard Worker    ],
55*38e8c45fSAndroid Build Coastguard Worker    header_libs: [
56*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
57*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
58*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
59*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
60*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.graphics.composer3-command-buffer",
61*38e8c45fSAndroid Build Coastguard Worker        "libsurfaceflinger_backend_headers",
62*38e8c45fSAndroid Build Coastguard Worker    ],
63*38e8c45fSAndroid Build Coastguard Worker}
64*38e8c45fSAndroid Build Coastguard Worker
65*38e8c45fSAndroid Build Coastguard Workerfilegroup {
66*38e8c45fSAndroid Build Coastguard Worker    name: "libcompositionengine_sources",
67*38e8c45fSAndroid Build Coastguard Worker    srcs: [
68*38e8c45fSAndroid Build Coastguard Worker        "src/planner/CachedSet.cpp",
69*38e8c45fSAndroid Build Coastguard Worker        "src/planner/Flattener.cpp",
70*38e8c45fSAndroid Build Coastguard Worker        "src/planner/LayerState.cpp",
71*38e8c45fSAndroid Build Coastguard Worker        "src/planner/Planner.cpp",
72*38e8c45fSAndroid Build Coastguard Worker        "src/planner/Predictor.cpp",
73*38e8c45fSAndroid Build Coastguard Worker        "src/planner/TexturePool.cpp",
74*38e8c45fSAndroid Build Coastguard Worker        "src/ClientCompositionRequestCache.cpp",
75*38e8c45fSAndroid Build Coastguard Worker        "src/CompositionEngine.cpp",
76*38e8c45fSAndroid Build Coastguard Worker        "src/Display.cpp",
77*38e8c45fSAndroid Build Coastguard Worker        "src/DisplayColorProfile.cpp",
78*38e8c45fSAndroid Build Coastguard Worker        "src/DisplaySurface.cpp",
79*38e8c45fSAndroid Build Coastguard Worker        "src/DumpHelpers.cpp",
80*38e8c45fSAndroid Build Coastguard Worker        "src/HwcAsyncWorker.cpp",
81*38e8c45fSAndroid Build Coastguard Worker        "src/HwcBufferCache.cpp",
82*38e8c45fSAndroid Build Coastguard Worker        "src/LayerFECompositionState.cpp",
83*38e8c45fSAndroid Build Coastguard Worker        "src/Output.cpp",
84*38e8c45fSAndroid Build Coastguard Worker        "src/OutputCompositionState.cpp",
85*38e8c45fSAndroid Build Coastguard Worker        "src/OutputLayer.cpp",
86*38e8c45fSAndroid Build Coastguard Worker        "src/OutputLayerCompositionState.cpp",
87*38e8c45fSAndroid Build Coastguard Worker        "src/RenderSurface.cpp",
88*38e8c45fSAndroid Build Coastguard Worker    ],
89*38e8c45fSAndroid Build Coastguard Worker}
90*38e8c45fSAndroid Build Coastguard Worker
91*38e8c45fSAndroid Build Coastguard Workercc_library {
92*38e8c45fSAndroid Build Coastguard Worker    name: "libcompositionengine",
93*38e8c45fSAndroid Build Coastguard Worker    defaults: [
94*38e8c45fSAndroid Build Coastguard Worker        "libcompositionengine_defaults",
95*38e8c45fSAndroid Build Coastguard Worker        "libsurfaceflinger_common_deps",
96*38e8c45fSAndroid Build Coastguard Worker    ],
97*38e8c45fSAndroid Build Coastguard Worker    srcs: [
98*38e8c45fSAndroid Build Coastguard Worker        ":libcompositionengine_sources",
99*38e8c45fSAndroid Build Coastguard Worker    ],
100*38e8c45fSAndroid Build Coastguard Worker    local_include_dirs: ["include"],
101*38e8c45fSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
102*38e8c45fSAndroid Build Coastguard Worker}
103*38e8c45fSAndroid Build Coastguard Worker
104*38e8c45fSAndroid Build Coastguard Workercc_library {
105*38e8c45fSAndroid Build Coastguard Worker    name: "libcompositionengine_mocks",
106*38e8c45fSAndroid Build Coastguard Worker    defaults: [
107*38e8c45fSAndroid Build Coastguard Worker        "libcompositionengine_defaults",
108*38e8c45fSAndroid Build Coastguard Worker        "libsurfaceflinger_common_test_deps",
109*38e8c45fSAndroid Build Coastguard Worker    ],
110*38e8c45fSAndroid Build Coastguard Worker    srcs: [
111*38e8c45fSAndroid Build Coastguard Worker        "mock/CompositionEngine.cpp",
112*38e8c45fSAndroid Build Coastguard Worker        "mock/Display.cpp",
113*38e8c45fSAndroid Build Coastguard Worker        "mock/DisplayColorProfile.cpp",
114*38e8c45fSAndroid Build Coastguard Worker        "mock/DisplaySurface.cpp",
115*38e8c45fSAndroid Build Coastguard Worker        "mock/LayerFE.cpp",
116*38e8c45fSAndroid Build Coastguard Worker        "mock/NativeWindow.cpp",
117*38e8c45fSAndroid Build Coastguard Worker        "mock/Output.cpp",
118*38e8c45fSAndroid Build Coastguard Worker        "mock/OutputLayer.cpp",
119*38e8c45fSAndroid Build Coastguard Worker        "mock/RenderSurface.cpp",
120*38e8c45fSAndroid Build Coastguard Worker    ],
121*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
122*38e8c45fSAndroid Build Coastguard Worker        "libgtest",
123*38e8c45fSAndroid Build Coastguard Worker        "libgmock",
124*38e8c45fSAndroid Build Coastguard Worker        "libcompositionengine",
125*38e8c45fSAndroid Build Coastguard Worker    ],
126*38e8c45fSAndroid Build Coastguard Worker    local_include_dirs: ["include"],
127*38e8c45fSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
128*38e8c45fSAndroid Build Coastguard Worker}
129*38e8c45fSAndroid Build Coastguard Worker
130*38e8c45fSAndroid Build Coastguard Workercc_test {
131*38e8c45fSAndroid Build Coastguard Worker    name: "libcompositionengine_test",
132*38e8c45fSAndroid Build Coastguard Worker    test_suites: ["device-tests"],
133*38e8c45fSAndroid Build Coastguard Worker    include_dirs: [
134*38e8c45fSAndroid Build Coastguard Worker        "frameworks/native/services/surfaceflinger/common/include",
135*38e8c45fSAndroid Build Coastguard Worker        "frameworks/native/services/surfaceflinger/tests/unittests",
136*38e8c45fSAndroid Build Coastguard Worker    ],
137*38e8c45fSAndroid Build Coastguard Worker    defaults: [
138*38e8c45fSAndroid Build Coastguard Worker        "libcompositionengine_defaults",
139*38e8c45fSAndroid Build Coastguard Worker        "libsurfaceflinger_common_test_deps",
140*38e8c45fSAndroid Build Coastguard Worker    ],
141*38e8c45fSAndroid Build Coastguard Worker    srcs: [
142*38e8c45fSAndroid Build Coastguard Worker        ":libcompositionengine_sources",
143*38e8c45fSAndroid Build Coastguard Worker        ":libsurfaceflinger_backend_mock_sources",
144*38e8c45fSAndroid Build Coastguard Worker        ":libsurfaceflinger_backend_sources",
145*38e8c45fSAndroid Build Coastguard Worker        "tests/planner/CachedSetTest.cpp",
146*38e8c45fSAndroid Build Coastguard Worker        "tests/planner/FlattenerTest.cpp",
147*38e8c45fSAndroid Build Coastguard Worker        "tests/planner/LayerStateTest.cpp",
148*38e8c45fSAndroid Build Coastguard Worker        "tests/planner/PredictorTest.cpp",
149*38e8c45fSAndroid Build Coastguard Worker        "tests/planner/TexturePoolTest.cpp",
150*38e8c45fSAndroid Build Coastguard Worker        "tests/CompositionEngineTest.cpp",
151*38e8c45fSAndroid Build Coastguard Worker        "tests/DisplayColorProfileTest.cpp",
152*38e8c45fSAndroid Build Coastguard Worker        "tests/DisplayTest.cpp",
153*38e8c45fSAndroid Build Coastguard Worker        "tests/HwcAsyncWorkerTest.cpp",
154*38e8c45fSAndroid Build Coastguard Worker        "tests/HwcBufferCacheTest.cpp",
155*38e8c45fSAndroid Build Coastguard Worker        "tests/OutputLayerTest.cpp",
156*38e8c45fSAndroid Build Coastguard Worker        "tests/OutputTest.cpp",
157*38e8c45fSAndroid Build Coastguard Worker        "tests/ProjectionSpaceTest.cpp",
158*38e8c45fSAndroid Build Coastguard Worker        "tests/RenderSurfaceTest.cpp",
159*38e8c45fSAndroid Build Coastguard Worker    ],
160*38e8c45fSAndroid Build Coastguard Worker    header_libs: [
161*38e8c45fSAndroid Build Coastguard Worker        "libsurfaceflinger_backend_mock_headers",
162*38e8c45fSAndroid Build Coastguard Worker    ],
163*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
164*38e8c45fSAndroid Build Coastguard Worker        "libcompositionengine_mocks",
165*38e8c45fSAndroid Build Coastguard Worker        "libgui_mocks",
166*38e8c45fSAndroid Build Coastguard Worker        "librenderengine_mocks",
167*38e8c45fSAndroid Build Coastguard Worker        "libgmock",
168*38e8c45fSAndroid Build Coastguard Worker        "libgtest",
169*38e8c45fSAndroid Build Coastguard Worker    ],
170*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
171*38e8c45fSAndroid Build Coastguard Worker        "libbinder_ndk",
172*38e8c45fSAndroid Build Coastguard Worker        // For some reason, libvulkan isn't picked up from librenderengine
173*38e8c45fSAndroid Build Coastguard Worker        // Probably ASAN related?
174*38e8c45fSAndroid Build Coastguard Worker        "libvulkan",
175*38e8c45fSAndroid Build Coastguard Worker    ],
176*38e8c45fSAndroid Build Coastguard Worker    sanitize: {
177*38e8c45fSAndroid Build Coastguard Worker        hwaddress: true,
178*38e8c45fSAndroid Build Coastguard Worker    },
179*38e8c45fSAndroid Build Coastguard Worker}
180