blob: 30d34a581bda80d2d7227a2d803d1c4662d64f52 [file] [log] [blame]
Bob Badour3306e492021-02-25 15:35:37 -08001package {
2 // See: http://go/android-license-faq
3 // A large-scale-change added 'default_applicable_licenses' to import
4 // all of the 'license_kinds' from "frameworks_native_license"
5 // to get the below license kinds:
6 // SPDX-license-identifier-Apache-2.0
7 default_applicable_licenses: ["frameworks_native_license"],
8}
9
Lloyd Pique70d91362018-10-18 16:02:55 -070010cc_defaults {
11 name: "libcompositionengine_defaults",
Sally Qi6920a2f2022-08-26 10:40:05 -070012 defaults: [
13 "android.hardware.graphics.composer3-ndk_shared",
14 "surfaceflinger_defaults",
15 ],
Lloyd Pique70d91362018-10-18 16:02:55 -070016 cflags: [
17 "-DLOG_TAG=\"CompositionEngine\"",
Lloyd Pique05b67b92019-09-25 13:16:44 -070018 "-DATRACE_TAG=ATRACE_TAG_GRAPHICS",
Lloyd Pique70d91362018-10-18 16:02:55 -070019 ],
Lloyd Pique441d5042018-10-18 16:49:51 -070020 shared_libs: [
21 "android.hardware.graphics.allocator@2.0",
22 "android.hardware.graphics.composer@2.1",
23 "android.hardware.graphics.composer@2.2",
24 "android.hardware.graphics.composer@2.3",
Dominik Laskowski25a4e7d2019-09-20 14:50:10 -070025 "android.hardware.graphics.composer@2.4",
Lloyd Pique441d5042018-10-18 16:49:51 -070026 "android.hardware.power@1.0",
27 "android.hardware.power@1.3",
Matt Buckleyb10b7062022-11-01 21:01:06 +000028 "android.hardware.power-V4-cpp",
Lloyd Pique441d5042018-10-18 16:49:51 -070029 "libbase",
30 "libcutils",
31 "libgui",
32 "liblayers_proto",
33 "liblog",
Lloyd Pique31cb2942018-10-19 17:23:03 -070034 "libnativewindow",
Alec Mourie4034bb2019-11-19 12:45:54 -080035 "libprotobuf-cpp-lite",
Dan Stoza269dc4d2021-01-15 15:07:43 -080036 "libSurfaceFlingerProp",
Yiwei Zhangd7927052020-01-13 16:05:01 -080037 "libtimestats",
Lloyd Pique441d5042018-10-18 16:49:51 -070038 "libui",
39 "libutils",
40 ],
41 static_libs: [
42 "libmath",
43 "librenderengine",
Alec Mouri465b2962021-10-08 16:22:21 -070044 "libtonemap",
Ady Abrahame7385f72021-09-05 00:54:25 -070045 "libaidlcommonsupport",
Vishnu Naira3140382022-02-24 14:07:11 -080046 "libprocessgroup",
47 "libcgrouprc",
48 "libjsoncpp",
49 "libcgrouprc_format",
Lloyd Pique441d5042018-10-18 16:49:51 -070050 ],
51 header_libs: [
Lloyd Pique37c2c9b2018-12-04 17:25:10 -080052 "android.hardware.graphics.composer@2.1-command-buffer",
53 "android.hardware.graphics.composer@2.2-command-buffer",
54 "android.hardware.graphics.composer@2.3-command-buffer",
Peiyong Linafa0f572020-01-13 16:35:02 -080055 "android.hardware.graphics.composer@2.4-command-buffer",
Ady Abrahame7385f72021-09-05 00:54:25 -070056 "android.hardware.graphics.composer3-command-buffer",
Lloyd Pique441d5042018-10-18 16:49:51 -070057 "libsurfaceflinger_headers",
58 ],
Lloyd Pique70d91362018-10-18 16:02:55 -070059}
60
61cc_library {
62 name: "libcompositionengine",
63 defaults: ["libcompositionengine_defaults"],
64 srcs: [
Dan Stoza6166c312021-01-15 16:34:05 -080065 "src/planner/CachedSet.cpp",
66 "src/planner/Flattener.cpp",
Dan Stoza269dc4d2021-01-15 15:07:43 -080067 "src/planner/LayerState.cpp",
68 "src/planner/Planner.cpp",
Dan Stoza47437bb2021-01-15 16:21:07 -080069 "src/planner/Predictor.cpp",
Alec Mouridf6201b2021-06-01 16:20:42 -070070 "src/planner/TexturePool.cpp",
Vishnu Nair9b079a22020-01-21 14:36:08 -080071 "src/ClientCompositionRequestCache.cpp",
Lloyd Pique70d91362018-10-18 16:02:55 -070072 "src/CompositionEngine.cpp",
Lloyd Pique45a165a2018-10-19 11:54:47 -070073 "src/Display.cpp",
Lloyd Pique3d0c02e2018-10-19 18:38:12 -070074 "src/DisplayColorProfile.cpp",
Lloyd Pique542307f2018-10-19 13:24:08 -070075 "src/DisplaySurface.cpp",
Lloyd Pique32cbe282018-10-19 13:09:22 -070076 "src/DumpHelpers.cpp",
Vishnu Naira3140382022-02-24 14:07:11 -080077 "src/HwcAsyncWorker.cpp",
Lloyd Pique76ed7032018-12-04 17:24:28 -080078 "src/HwcBufferCache.cpp",
Lloyd Pique9755fb72019-03-26 14:44:40 -070079 "src/LayerFECompositionState.cpp",
Lloyd Pique32cbe282018-10-19 13:09:22 -070080 "src/Output.cpp",
81 "src/OutputCompositionState.cpp",
Lloyd Piquecc01a452018-12-04 17:24:00 -080082 "src/OutputLayer.cpp",
Lloyd Pique37c2c9b2018-12-04 17:25:10 -080083 "src/OutputLayerCompositionState.cpp",
Lloyd Pique31cb2942018-10-19 17:23:03 -070084 "src/RenderSurface.cpp",
Lloyd Pique70d91362018-10-18 16:02:55 -070085 ],
86 local_include_dirs: ["include"],
87 export_include_dirs: ["include"],
88}
89
90cc_library {
91 name: "libcompositionengine_mocks",
92 defaults: ["libcompositionengine_defaults"],
93 srcs: [
94 "mock/CompositionEngine.cpp",
Lloyd Pique45a165a2018-10-19 11:54:47 -070095 "mock/Display.cpp",
Lloyd Pique3d0c02e2018-10-19 18:38:12 -070096 "mock/DisplayColorProfile.cpp",
Lloyd Pique542307f2018-10-19 13:24:08 -070097 "mock/DisplaySurface.cpp",
Lloyd Piquefeb73d72018-12-04 17:23:44 -080098 "mock/LayerFE.cpp",
chaviw8beb4142019-04-11 13:09:05 -070099 "mock/NativeWindow.cpp",
Lloyd Pique32cbe282018-10-19 13:09:22 -0700100 "mock/Output.cpp",
Lloyd Piquecc01a452018-12-04 17:24:00 -0800101 "mock/OutputLayer.cpp",
Lloyd Pique31cb2942018-10-19 17:23:03 -0700102 "mock/RenderSurface.cpp",
Lloyd Pique70d91362018-10-18 16:02:55 -0700103 ],
104 static_libs: [
105 "libgtest",
106 "libgmock",
107 "libcompositionengine",
108 ],
109 local_include_dirs: ["include"],
110 export_include_dirs: ["include"],
111}
112
113cc_test {
114 name: "libcompositionengine_test",
115 test_suites: ["device-tests"],
116 defaults: ["libcompositionengine_defaults"],
117 srcs: [
Ady Abrahamcf027d62021-03-02 18:48:57 -0800118 "tests/planner/CachedSetTest.cpp",
Ady Abrahamb7db4102021-03-04 12:19:26 -0800119 "tests/planner/FlattenerTest.cpp",
Alec Mourieb920d92021-03-01 17:48:30 -0800120 "tests/planner/LayerStateTest.cpp",
Alec Mourif6a684b2021-03-09 13:00:18 -0800121 "tests/planner/PredictorTest.cpp",
Alec Mouridf6201b2021-06-01 16:20:42 -0700122 "tests/planner/TexturePoolTest.cpp",
Lloyd Pique70d91362018-10-18 16:02:55 -0700123 "tests/CompositionEngineTest.cpp",
Lloyd Pique3d0c02e2018-10-19 18:38:12 -0700124 "tests/DisplayColorProfileTest.cpp",
Lloyd Pique45a165a2018-10-19 11:54:47 -0700125 "tests/DisplayTest.cpp",
Lloyd Pique76ed7032018-12-04 17:24:28 -0800126 "tests/HwcBufferCacheTest.cpp",
Lloyd Pique35d58242018-12-18 16:33:25 -0800127 "tests/MockHWC2.cpp",
Lloyd Pique441d5042018-10-18 16:49:51 -0700128 "tests/MockHWComposer.cpp",
Lloyd Pique688abd42019-02-15 15:42:24 -0800129 "tests/MockPowerAdvisor.cpp",
Lloyd Piquecc01a452018-12-04 17:24:00 -0800130 "tests/OutputLayerTest.cpp",
Marin Shalamanov68933fb2020-09-10 17:58:12 +0200131 "tests/OutputTest.cpp",
132 "tests/ProjectionSpaceTest.cpp",
Lloyd Pique31cb2942018-10-19 17:23:03 -0700133 "tests/RenderSurfaceTest.cpp",
Lloyd Pique70d91362018-10-18 16:02:55 -0700134 ],
135 static_libs: [
136 "libcompositionengine",
137 "libcompositionengine_mocks",
Lloyd Piqueaad4ebf2019-10-03 17:58:30 -0700138 "libgui_mocks",
Lloyd Piqueb97e04f2018-10-18 17:07:05 -0700139 "librenderengine_mocks",
Lloyd Pique70d91362018-10-18 16:02:55 -0700140 "libgmock",
141 "libgtest",
142 ],
Ian Elliott1f0911e2022-09-09 16:31:47 -0600143 // For some reason, libvulkan isn't picked up from librenderengine
144 // Probably ASAN related?
145 shared_libs: [
146 "libvulkan",
147 ],
Lloyd Pique70d91362018-10-18 16:02:55 -0700148 sanitize: {
149 // By using the address sanitizer, we not only uncover any issues
150 // with the test, but also any issues with the code under test.
151 //
152 // Note: If you get an runtime link error like:
153 //
154 // CANNOT LINK EXECUTABLE "/data/local/tmp/libcompositionengine_test": library "libclang_rt.asan-aarch64-android.so" not found
155 //
156 // it is because the address sanitizer shared objects are not installed
157 // by default in the system image.
158 //
159 // You can either "make dist tests" before flashing, or set this
160 // option to false temporarily.
Stephen Hinesd3e75892020-08-19 08:52:56 -0700161 address: true,
Lloyd Pique70d91362018-10-18 16:02:55 -0700162 },
163}