blob: b25ef364aaaabc7c8f718ea3d34e21828c5996c9 [file] [log] [blame]
Colin Crosscdf4b492019-03-22 13:13:12 -07001// Copyright (C) 2015 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Roman Stratiienko4dfa62d2022-11-16 15:16:39 +020015cc_library_headers {
16 name: "drm_hwcomposer_headers",
17 vendor: true,
18 export_include_dirs: ["."],
19}
20
Colin Crosscdf4b492019-03-22 13:13:12 -070021// =====================
Colin Crosscdf4b492019-03-22 13:13:12 -070022// hwcomposer.drm.so
23// =====================
24cc_defaults {
25 name: "hwcomposer.drm_defaults",
26
27 shared_libs: [
28 "libcutils",
29 "libdrm",
30 "libhardware",
Roman Stratiienkoadd24cb2020-10-23 22:28:38 +030031 "libhidlbase",
Colin Crosscdf4b492019-03-22 13:13:12 -070032 "liblog",
33 "libsync",
34 "libui",
35 "libutils",
36 ],
37
Roman Stratiienko4dfa62d2022-11-16 15:16:39 +020038 header_libs: ["drm_hwcomposer_headers"],
Colin Crosscdf4b492019-03-22 13:13:12 -070039
Colin Crosscce12782019-03-29 10:27:23 -070040 cflags: [
41 "-Wall",
42 "-Werror",
43 ],
44
45 cppflags: [
Colin Crosscce12782019-03-29 10:27:23 -070046 "-DHWC2_INCLUDE_STRINGIFICATION",
Roman Stratiienkod6659982021-02-27 22:08:51 +020047 "-DHWC2_USE_CPP11",
Colin Crosscce12782019-03-29 10:27:23 -070048 ],
49
50 relative_install_path: "hw",
51 vendor: true,
52}
Roman Stratiienkod6659982021-02-27 22:08:51 +020053
Roman Stratiienko0ee8f582021-10-28 15:52:38 +030054filegroup {
Roman Stratiienkobdc43822023-06-27 21:23:50 +030055 name: "drm_hwcomposer_fd",
56 srcs: ["utils/fd.cpp"],
57}
58
59filegroup {
Roman Stratiienko0ee8f582021-10-28 15:52:38 +030060 name: "drm_hwcomposer_common",
Colin Crosscdf4b492019-03-22 13:13:12 -070061 srcs: [
Roman Stratiienkob2e9fe22020-10-03 10:52:36 +030062 "bufferinfo/BufferInfoGetter.cpp",
63 "bufferinfo/BufferInfoMapperMetadata.cpp",
64
Roman Stratiienko9362cef2022-02-02 09:53:50 +020065 "compositor/DrmKmsPlan.cpp",
Roman Stratiienko22fe9612023-01-17 21:22:29 +020066 "compositor/FlatteningController.cpp",
Sean Paul27cd4802019-04-02 16:57:20 -040067
Roman Stratiienko4e994052022-02-09 17:40:35 +020068 "drm/DrmAtomicStateManager.cpp",
Roman Stratiienko13cc3662020-08-29 21:35:39 +030069 "drm/DrmConnector.cpp",
70 "drm/DrmCrtc.cpp",
71 "drm/DrmDevice.cpp",
Roman Stratiienkocad8e0c2022-01-31 16:40:16 +020072 "drm/DrmDisplayPipeline.cpp",
Roman Stratiienko13cc3662020-08-29 21:35:39 +030073 "drm/DrmEncoder.cpp",
Roman Stratiienko8666dc92021-02-09 17:49:55 +020074 "drm/DrmFbImporter.cpp",
Roman Stratiienko13cc3662020-08-29 21:35:39 +030075 "drm/DrmMode.cpp",
76 "drm/DrmPlane.cpp",
77 "drm/DrmProperty.cpp",
78 "drm/ResourceManager.cpp",
Roman Stratiienko1e053b42021-10-25 22:54:20 +030079 "drm/UEventListener.cpp",
Roman Stratiienko13cc3662020-08-29 21:35:39 +030080 "drm/VSyncWorker.cpp",
Drew Davenport93443182023-12-14 09:25:45 +000081 "drm/DrmHwc.cpp",
Sean Paul27cd4802019-04-02 16:57:20 -040082
Roman Stratiienko13cc3662020-08-29 21:35:39 +030083 "backend/Backend.cpp",
84 "backend/BackendClient.cpp",
Roman Stratiienkod6659982021-02-27 22:08:51 +020085 "backend/BackendManager.cpp",
Roman Stratiienko26fd2b22022-01-04 12:59:29 +020086
Roman Stratiienko3e168902022-01-04 16:13:12 +020087 "hwc2_device/DrmHwcTwo.cpp",
Roman Stratiienko3627beb2022-01-04 16:02:55 +020088 "hwc2_device/HwcDisplay.cpp",
Roman Stratiienko0137f862022-01-04 18:27:40 +020089 "hwc2_device/HwcDisplayConfigs.cpp",
Roman Stratiienko03fd35c2022-01-04 14:30:37 +020090 "hwc2_device/HwcLayer.cpp",
Roman Stratiienko26fd2b22022-01-04 12:59:29 +020091 "hwc2_device/hwc2_device.cpp",
Roman Stratiienko76892782023-01-16 17:15:53 +020092
93 "utils/fd.cpp",
Colin Crosscdf4b492019-03-22 13:13:12 -070094 ],
Colin Crosscdf4b492019-03-22 13:13:12 -070095}
96
Dennis Tsiang33f0ece2023-11-29 12:45:04 +000097filegroup {
98 name: "drm_hwcomposer_hwc3",
99 srcs: [
100 "hwc3/Composer.cpp",
101 "hwc3/ComposerClient.cpp",
Drew Davenportade69652024-07-16 15:54:33 -0600102 "hwc3/DrmHwcThree.cpp",
Dennis Tsiang33f0ece2023-11-29 12:45:04 +0000103 ],
104}
105
106filegroup {
107 name: "drm_hwcomposer_service",
108 srcs: [
109 "hwc3/service.cpp",
110 ],
111}
112
113filegroup {
114 name: "drm_hwcomposer_init_rc",
115 srcs: [
116 "hwc3/hwc3-drm.rc",
117 ],
118}
119
120filegroup {
121 name: "drm_hwcomposer_vintf_manifest",
122 srcs: [
123 "hwc3/hwc3-drm.xml",
124 ],
125}
126
Roman Stratiienko0ee8f582021-10-28 15:52:38 +0300127// Kept only for compatibility with older Android version. Please do not use!
128cc_library_static {
129 name: "drm_hwcomposer",
130 defaults: ["hwcomposer.drm_defaults"],
131 srcs: [":drm_hwcomposer_common"],
132}
133
Colin Crosscdf4b492019-03-22 13:13:12 -0700134cc_library_shared {
135 name: "hwcomposer.drm",
136 defaults: ["hwcomposer.drm_defaults"],
Roman Stratiienko0ee8f582021-10-28 15:52:38 +0300137 srcs: [
138 ":drm_hwcomposer_common",
139 "bufferinfo/legacy/BufferInfoLibdrm.cpp",
140 ],
141 cflags: ["-DUSE_IMAPPER4_METADATA_API"],
Colin Crosscdf4b492019-03-22 13:13:12 -0700142}
143
144cc_library_shared {
Colin Crosscdf4b492019-03-22 13:13:12 -0700145 name: "hwcomposer.drm_minigbm",
146 defaults: ["hwcomposer.drm_defaults"],
Roman Stratiienko0ee8f582021-10-28 15:52:38 +0300147 srcs: [
148 ":drm_hwcomposer_common",
149 "bufferinfo/legacy/BufferInfoMinigbm.cpp",
150 ],
Colin Crosscdf4b492019-03-22 13:13:12 -0700151}
152
Drew Davenport6b56ace2024-07-17 09:15:37 -0600153cc_binary {
154 name: "android.hardware.composer.hwc3-service.drm",
155
156 srcs: [
157 ":drm_hwcomposer_hwc3",
158 ":drm_hwcomposer_service",
159 ":drm_hwcomposer_common",
160 "bufferinfo/legacy/BufferInfoLibdrm.cpp",
161 ],
162
163 defaults: [
164 "hwcomposer.drm_defaults",
165 ],
166
167 shared_libs: [
168 "android.hardware.graphics.composer3-V1-ndk",
169 "libbase",
170 "libbinder",
171 "libbinder_ndk",
172 "liblog",
173 "libutils",
174 ],
175
176 cflags: [
177 "-Wall",
178 "-Werror",
179
180 "-DUSE_IMAPPER4_METADATA_API",
181 ],
182
183 cppflags: [
184 "-DHWC2_INCLUDE_STRINGIFICATION",
185 "-DHWC2_USE_CPP11",
186 ],
187
188 relative_install_path: "hw",
189 vendor: true,
190
191 vintf_fragments: [":drm_hwcomposer_vintf_manifest"],
192 init_rc: [":drm_hwcomposer_init_rc"],
193}
194
Roman Stratiienkoe3ed48d2019-10-17 17:42:36 +0300195// Used by hwcomposer.drm_imagination
196filegroup {
197 name: "drm_hwcomposer_platformimagination",
Roman Stratiienkob2e9fe22020-10-03 10:52:36 +0300198 srcs: ["bufferinfo/legacy/BufferInfoImagination.cpp"],
Roman Stratiienkoe3ed48d2019-10-17 17:42:36 +0300199}
200
Colin Crosscce12782019-03-29 10:27:23 -0700201// Used by hwcomposer.drm_hikey and hwcomposer.drm_hikey960
202filegroup {
203 name: "drm_hwcomposer_platformhisi",
Roman Stratiienkob2e9fe22020-10-03 10:52:36 +0300204 srcs: ["bufferinfo/legacy/BufferInfoMaliHisi.cpp"],
Colin Crosscce12782019-03-29 10:27:23 -0700205}
Neil Armstrong17d3c8b2019-04-25 15:17:22 +0000206
207// Used by hwcomposer.drm_meson
208filegroup {
209 name: "drm_hwcomposer_platformmeson",
Roman Stratiienkob2e9fe22020-10-03 10:52:36 +0300210 srcs: ["bufferinfo/legacy/BufferInfoMaliMeson.cpp"],
Neil Armstrong17d3c8b2019-04-25 15:17:22 +0000211}
Mattijs Korpershoek5284c7e2020-09-21 11:03:35 +0000212
213// Used by hwcomposer.drm_mediatek
214filegroup {
215 name: "drm_hwcomposer_platformmediatek",
Roman Stratiienkob2e9fe22020-10-03 10:52:36 +0300216 srcs: ["bufferinfo/legacy/BufferInfoMaliMediatek.cpp"],
Mattijs Korpershoek5284c7e2020-09-21 11:03:35 +0000217}