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