blob: 39182aa389b7f2fd040cc4837cf75c0ce8cd47f2 [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"],
John Reck38bc8a82024-02-21 17:08:27 -05008 default_team: "trendy_team_android_core_graphics_stack",
Bob Badour3306e492021-02-25 15:35:37 -08009}
10
Peiyong Lincbc184f2018-08-22 13:24:10 -070011cc_defaults {
12 name: "renderengine_defaults",
13 cflags: [
14 "-DLOG_TAG=\"RenderEngine\"",
15 "-Wall",
16 "-Werror",
17 "-Wthread-safety",
18 "-Wunused",
19 "-Wunreachable-code",
20 ],
Peiyong Lincbc184f2018-08-22 13:24:10 -070021}
22
23cc_defaults {
24 name: "librenderengine_defaults",
Sally Qi6920a2f2022-08-26 10:40:05 -070025 defaults: [
26 "android.hardware.graphics.composer3-ndk_shared",
27 "renderengine_defaults",
Alec Mouridf868ba2025-02-25 16:08:19 -080028 "libsurfaceflinger_common_deps",
Sally Qi6920a2f2022-08-26 10:40:05 -070029 ],
Peiyong Lincbc184f2018-08-22 13:24:10 -070030 cflags: [
31 "-DGL_GLEXT_PROTOTYPES",
32 "-DEGL_EGLEXT_PROTOTYPES",
33 ],
34 shared_libs: [
Yiwei Zhang5434a782018-12-05 18:06:32 -080035 "libbase",
Peiyong Lincbc184f2018-08-22 13:24:10 -070036 "libcutils",
37 "libEGL",
38 "libGLESv1_CM",
39 "libGLESv2",
40 "libgui",
41 "liblog",
Peiyong Lin46080ef2018-10-26 18:43:14 -070042 "libnativewindow",
Alec Mouri16a99402019-07-29 16:37:30 -070043 "libprocessgroup",
Alec Mouri0d5e1eb2018-11-10 20:40:12 -080044 "libsync",
Peiyong Lincbc184f2018-08-22 13:24:10 -070045 "libui",
46 "libutils",
Ian Elliott1f0911e2022-09-09 16:31:47 -060047 "libvulkan",
Peiyong Lincbc184f2018-08-22 13:24:10 -070048 ],
Alec Mouri465b2962021-10-08 16:22:21 -070049
50 static_libs: [
Alec Mouri492c85c2021-11-19 15:58:10 -080051 "libshaders",
Alec Mouri465b2962021-10-08 16:22:21 -070052 "libtonemap",
Leon Scroggins IIIdf8166e2024-01-25 15:50:56 -050053 "libsurfaceflinger_common",
Nolan Scobie488101b2024-05-20 13:32:13 -040054 "libsurfaceflingerflags",
YCairn Overturf65fb1c62025-02-24 22:57:09 +000055 "libgui_window_info_static",
Alec Mouri465b2962021-10-08 16:22:21 -070056 ],
Peiyong Lincbc184f2018-08-22 13:24:10 -070057 local_include_dirs: ["include"],
58 export_include_dirs: ["include"],
59}
60
Leon Scroggins III10c62932024-02-01 15:35:19 -050061// Needed by FlagManager to access a #define.
62cc_library_static {
63 name: "librenderengine_includes",
64 local_include_dirs: ["include"],
65 export_include_dirs: ["include"],
66}
67
Peiyong Lincbc184f2018-08-22 13:24:10 -070068filegroup {
69 name: "librenderengine_sources",
70 srcs: [
Alec Mouria90a5702021-04-16 16:36:21 +000071 "ExternalTexture.cpp",
Peiyong Lincbc184f2018-08-22 13:24:10 -070072 "RenderEngine.cpp",
Peiyong Lin833074a2018-08-28 11:53:54 -070073 ],
74}
75
Ana Krulec9bc9dc62020-02-26 12:16:40 -080076filegroup {
77 name: "librenderengine_threaded_sources",
78 srcs: [
79 "threaded/RenderEngineThreaded.cpp",
80 ],
81}
82
John Reck67b1e2b2020-08-26 13:17:24 -070083filegroup {
84 name: "librenderengine_skia_sources",
85 srcs: [
Alec Mouric7f6c8b2020-11-09 18:35:20 -080086 "skia/AutoBackendTexture.cpp",
Leon Scroggins IIIb9216dc2021-03-08 17:19:01 -050087 "skia/Cache.cpp",
Alec Mouric0aae732021-01-12 13:32:18 -080088 "skia/ColorSpaces.cpp",
Nolan Scobie02c160c2024-03-18 10:40:23 -040089 "skia/GaneshVkRenderEngine.cpp",
Nolan Scobie609e5972024-03-20 14:47:34 -040090 "skia/GraphiteVkRenderEngine.cpp",
Alec Mourie2b61c62023-08-15 19:04:54 +000091 "skia/GLExtensions.cpp",
John Reck67b1e2b2020-08-26 13:17:24 -070092 "skia/SkiaRenderEngine.cpp",
93 "skia/SkiaGLRenderEngine.cpp",
Ian Elliott1f0911e2022-09-09 16:31:47 -060094 "skia/SkiaVkRenderEngine.cpp",
Nolan Scobief52ad202024-03-06 18:18:28 -050095 "skia/VulkanInterface.cpp",
Nolan Scobieca050282024-03-15 13:27:06 -040096 "skia/compat/GaneshBackendTexture.cpp",
Nolan Scobiefc125ec2024-03-11 20:08:27 -040097 "skia/compat/GaneshGpuContext.cpp",
Nolan Scobie609e5972024-03-20 14:47:34 -040098 "skia/compat/GraphiteBackendTexture.cpp",
99 "skia/compat/GraphiteGpuContext.cpp",
Ana Krulec70d15b1b2020-12-01 10:05:15 -0800100 "skia/debug/CaptureTimer.cpp",
101 "skia/debug/CommonPool.cpp",
102 "skia/debug/SkiaCapture.cpp",
Derek Sollenberger0e6d3562021-04-07 19:34:39 -0400103 "skia/debug/SkiaMemoryReporter.cpp",
Robin Lee26dacab2021-08-09 14:31:01 +0200104 "skia/filters/BlurFilter.cpp",
Alec Mouri1b1853f2024-07-15 22:46:58 +0000105 "skia/filters/GainmapFactory.cpp",
Robin Lee26dacab2021-08-09 14:31:01 +0200106 "skia/filters/GaussianBlurFilter.cpp",
Robin Lee26315202021-08-10 22:54:51 +0200107 "skia/filters/KawaseBlurDualFilter.cpp",
Robin Lee026680a2021-07-26 12:49:53 +0200108 "skia/filters/KawaseBlurFilter.cpp",
Alec Mouri029d1952020-10-12 10:37:08 -0700109 "skia/filters/LinearEffect.cpp",
Sally Qief006582024-10-11 13:23:09 -0700110 "skia/filters/LutShader.cpp",
Alec Mourif2ea10c2024-05-24 19:13:21 +0000111 "skia/filters/MouriMap.cpp",
Alec Mouri465b2962021-10-08 16:22:21 -0700112 "skia/filters/StretchShaderFactory.cpp",
Marzia Favarodcc9d9b2024-01-10 10:17:00 +0000113 "skia/filters/EdgeExtensionShaderFactory.cpp",
John Reck67b1e2b2020-08-26 13:17:24 -0700114 ],
115}
116
Nolan Scobie8ef7e142022-10-14 10:52:43 -0400117// Used to consolidate and simplify pulling Skia & Skia deps into targets that depend on
118// librenderengine. This allows shared deps to be deduplicated (e.g. Perfetto), which doesn't seem
119// possible if libskia_renderengine is just pulled into librenderengine via whole_static_libs.
120cc_defaults {
121 name: "librenderengine_deps",
Alec Mouridf868ba2025-02-25 16:08:19 -0800122 defaults: [
123 "skia_renderengine_deps",
124 "libsurfaceflinger_common_deps",
125 ],
YCairn Overturf65fb1c62025-02-24 22:57:09 +0000126 static_libs: [
127 "libgui_window_info_static",
128 "libskia_renderengine",
129 ],
130 shared_libs: [
131 "libbinder",
132 ],
Nolan Scobie8ef7e142022-10-14 10:52:43 -0400133}
134
135// Note: if compilation fails when adding librenderengine as a dependency, try adding
136// librenderengine_deps to the defaults field of your dependent target.
Peiyong Lincbc184f2018-08-22 13:24:10 -0700137cc_library_static {
138 name: "librenderengine",
Nolan Scobie8ef7e142022-10-14 10:52:43 -0400139 defaults: [
140 "librenderengine_defaults",
141 "librenderengine_deps",
142 ],
Peiyong Lincbc184f2018-08-22 13:24:10 -0700143 double_loadable: true,
Peiyong Lincbc184f2018-08-22 13:24:10 -0700144 cflags: [
145 "-fvisibility=hidden",
146 "-Werror=format",
Ana Krulec70d15b1b2020-12-01 10:05:15 -0800147 "-Wno-unused-parameter",
Peiyong Lincbc184f2018-08-22 13:24:10 -0700148 ],
Peiyong Lincbc184f2018-08-22 13:24:10 -0700149 srcs: [
150 ":librenderengine_sources",
Ana Krulec9bc9dc62020-02-26 12:16:40 -0800151 ":librenderengine_threaded_sources",
John Reck67b1e2b2020-08-26 13:17:24 -0700152 ":librenderengine_skia_sources",
Peiyong Lincbc184f2018-08-22 13:24:10 -0700153 ],
Long Ling317c3f02022-02-02 14:09:24 -0800154 header_libs: [
155 "libtonemap_headers",
156 ],
Derek Sollenbergerc8d959d2021-02-10 12:53:02 -0500157 include_dirs: [
158 "external/skia/src/gpu",
159 ],
Peiyong Lincbc184f2018-08-22 13:24:10 -0700160 lto: {
161 thin: true,
162 },
163}
Lloyd Pique3823e7b2018-10-18 16:58:10 -0700164
165cc_library_static {
166 name: "librenderengine_mocks",
167 defaults: ["librenderengine_defaults"],
168 srcs: [
Lloyd Pique3823e7b2018-10-18 16:58:10 -0700169 "mock/RenderEngine.cpp",
170 ],
171 static_libs: [
172 "libgtest",
173 "libgmock",
174 ],
175 local_include_dirs: ["include"],
176 export_include_dirs: ["include"],
177}