blob: 3ab8b2918fa7df9e7f4b7410f8edf85b5516dd78 [file] [log] [blame]
Bob Badour650a8da2021-02-12 21:06:44 -08001// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE
2// CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
3// DEPENDING ON IT IN YOUR PROJECT. ***
4package {
Aditya Choudharyf4c5ef82024-02-02 13:58:39 +00005 default_team: "trendy_team_android_developer_tools",
Bob Badour650a8da2021-02-12 21:06:44 -08006 // See: http://go/android-license-faq
7 // A large-scale-change added 'default_applicable_licenses' to import
Jason Macnak16135792023-05-23 15:30:39 -07008 // all of the 'license_kinds' from "hardware_google_gfxstream_license"
Bob Badour650a8da2021-02-12 21:06:44 -08009 // to get the below license kinds:
10 // SPDX-license-identifier-Apache-2.0
11 // SPDX-license-identifier-BSD
12 // SPDX-license-identifier-ISC
13 // SPDX-license-identifier-MIT
14 // legacy_by_exception_only (by exception only)
15 // legacy_notice
16 // legacy_unencumbered
Jason Macnak16135792023-05-23 15:30:39 -070017 default_applicable_licenses: ["hardware_google_gfxstream_license"],
Bob Badour650a8da2021-02-12 21:06:44 -080018}
19
Jiyong Park466c8db2024-04-04 18:51:47 +090020gfxstream_backend_static_deps = [
21 "gfxstream_base",
22 "gfxstream_host_common",
23 "libgfxstream_common_utils",
24 "libgfxstream_host_features",
25 "libgfxstream_etc",
26 "libgfxstream_glestranslator_egl",
27 "libgfxstream_glestranslator_glescm",
28 "libgfxstream_glestranslator_glesv2",
29 "libgfxstream_host_apigen_codec_common",
30 "libgfxstream_host_compressedtextures",
31 "libgfxstream_host_dispatch",
32 "libgfxstream_host_gl_host_common",
33 "libgfxstream_host_gl_server",
34 "libgfxstream_host_gles1_dec",
35 "libgfxstream_host_gles2_dec",
36 "libgfxstream_host_glestranslator_glcommon",
37 "libgfxstream_host_glsnapshot",
Jiyong Park466c8db2024-04-04 18:51:47 +090038 "libgfxstream_host_rendercontrol_dec",
39 "libgfxstream_host_vulkan_cereal",
40 "libgfxstream_host_vulkan_emulatedtextures",
41 "libgfxstream_host_vulkan_server",
42 "libgfxstream_thirdparty_glm",
43]
44
Jason Macnaka95da732024-05-08 11:15:12 -070045gfxstream_backend_magma_static_deps = [
46 "libgfxstream_host_magma_dec",
47 "libgfxstream_host_magma_server",
48]
49
50cc_defaults {
51 name: "libgfxstream_backend_defaults",
Gurchetan Singha2bb14f2024-01-02 13:54:07 -080052 defaults: ["gfxstream_defaults"],
Jason Macnak459dd872023-09-13 08:27:41 -070053 vendor_available: true,
Lingfeng Yanga2a3b0f2020-11-04 11:50:46 -080054 cflags: [
55 "-Wno-unused-parameter",
56 "-Wno-unused-variable",
57 "-Wno-unused-function",
58 "-Wno-unreachable-code-loop-increment",
59 ],
Jason Macnak14986c52023-09-20 09:16:22 -070060 header_libs: [
61 "gfxstream_opengl_headers",
Jason Macnakb808eeb2024-02-27 10:03:39 -080062 "libgfxstream_host_vulkan_cereal_common",
Jason Macnak14986c52023-09-20 09:16:22 -070063 ],
Jiyong Park466c8db2024-04-04 18:51:47 +090064 // When this lib is build as a static lib, these static dependencies have
65 // to be included as a whole, because otherwise they are dropped from the
66 // built archive.
67 static: {
68 whole_static_libs: gfxstream_backend_static_deps,
69 },
70 shared: {
71 static_libs: gfxstream_backend_static_deps,
72 },
Jason Macnak741afe72022-04-14 08:19:52 -070073 export_static_lib_headers: [
Jason Macnak0a954862022-11-30 15:07:26 -080074 "gfxstream_base",
Jason Macnak26872122024-02-23 10:46:09 -080075 "libgfxstream_host_features",
Jason Macnakb808eeb2024-02-27 10:03:39 -080076 "libgfxstream_host_gl_host_common",
77 "libgfxstream_host_gles2_dec",
78 "libgfxstream_host_glsnapshot",
Jason Macnakb808eeb2024-02-27 10:03:39 -080079 "libgfxstream_host_vulkan_cereal",
Jason Macnak741afe72022-04-14 08:19:52 -070080 ],
Jiyong Park8d7916e2020-12-07 15:07:35 +090081 shared_libs: [
82 "liblog", // gfxstream_base uses this via perfetto-libperfettobase
83 ],
Jason Macnake886da92023-09-19 09:08:26 -070084 export_include_dirs: [
85 "include",
86 ],
Lingfeng Yanga2a3b0f2020-11-04 11:50:46 -080087 srcs: [
Jason Macnaka296e682022-10-27 16:21:13 -070088 "Buffer.cpp",
Gurchetan Singh619646f2024-06-28 09:30:12 -070089 "ExternalObjectManager.cpp",
Lingfeng Yanga2a3b0f2020-11-04 11:50:46 -080090 "ChannelStream.cpp",
Jason Macnakb2a4a792023-02-23 00:40:01 +000091 "ColorBuffer.cpp",
Jason Macnak32281f72022-10-12 13:00:36 -070092 "DisplaySurface.cpp",
Jason Macnak2920f942022-10-12 13:02:57 -070093 "DisplaySurfaceUser.cpp",
Jason Macnak4516b942022-05-05 10:57:15 -070094 "Hwc2.cpp",
Lingfeng Yanga2a3b0f2020-11-04 11:50:46 -080095 "PostWorker.cpp",
Yahan Zhoud13d7c82023-05-15 15:56:55 -070096 "PostWorkerGl.cpp",
Lingfeng Yanga2a3b0f2020-11-04 11:50:46 -080097 "ReadBuffer.cpp",
98 "render_api.cpp",
99 "RenderChannelImpl.cpp",
Jason Macnak09ec44f2022-07-27 15:02:27 -0700100 "RenderThread.cpp",
Lingfeng Yanga2a3b0f2020-11-04 11:50:46 -0800101 "RenderThreadInfo.cpp",
Jason Macnak09ec44f2022-07-27 15:02:27 -0700102 "RenderThreadInfoGl.cpp",
Lingfeng Yanga2a3b0f2020-11-04 11:50:46 -0800103 "RingStream.cpp",
104 "SyncThread.cpp",
Lingfeng Yanga2a3b0f2020-11-04 11:50:46 -0800105 "RenderControl.cpp",
106 "RenderWindow.cpp",
107 "RenderLibImpl.cpp",
108 "RendererImpl.cpp",
109 "FrameBuffer.cpp",
Lingfeng Yanga2a3b0f2020-11-04 11:50:46 -0800110 "GfxStreamAgents.cpp",
111 "virtio-gpu-gfxstream-renderer.cpp",
Yahan Zhoud1c7e1e2023-11-09 14:59:26 -0800112 "virtio-gpu-gfxstream-renderer-goldfish.cpp",
Kaiyi Lifab51002021-08-21 15:12:02 -0700113 "VirtioGpuTimelines.cpp",
Lingfeng Yangac56ddc2021-07-30 13:18:40 -0700114 "VsyncThread.cpp",
Lingfeng Yanga2a3b0f2020-11-04 11:50:46 -0800115 ],
116 host_ldlibs: [
117 "-lpthread",
118 ],
Lingfeng Yange2c5bb22020-11-11 13:44:39 -0800119 target: {
120 host: {
Gurchetan Singha2bb14f2024-01-02 13:54:07 -0800121 srcs: ["NativeSubWindow_x11.cpp"],
Lingfeng Yange2c5bb22020-11-11 13:44:39 -0800122 },
123 android: {
Gurchetan Singha2bb14f2024-01-02 13:54:07 -0800124 srcs: ["NativeSubWindow_android.cpp"],
125 },
Jason Macnak459dd872023-09-13 08:27:41 -0700126 },
Lingfeng Yanga2a3b0f2020-11-04 11:50:46 -0800127}
Jason Macnak741afe72022-04-14 08:19:52 -0700128
Jason Macnaka95da732024-05-08 11:15:12 -0700129cc_library {
130 name: "libgfxstream_backend",
131 defaults: ["libgfxstream_backend_defaults"],
132}
133
134cc_library {
135 name: "libgfxstream_backend_magma",
136 defaults: ["libgfxstream_backend_defaults"],
137 static: {
138 whole_static_libs: gfxstream_backend_magma_static_deps,
139 },
140 shared: {
141 static_libs: gfxstream_backend_magma_static_deps,
142 },
143 export_static_lib_headers: gfxstream_backend_magma_static_deps,
144}
145
Jason Macnak0a954862022-11-30 15:07:26 -0800146cc_test_library {
147 name: "gfxstream_backend_test_support",
148 defaults: ["gfxstream_defaults"],
149 srcs: [
150 "tests/GLSnapshotTesting.cpp",
151 "tests/GLTestUtils.cpp",
152 "tests/GLSnapshotTestDispatch.cpp",
153 "tests/GLSnapshotTestStateUtils.cpp",
154 "tests/OpenGLTestContext.cpp",
155 "tests/SampleApplication.cpp",
156 "tests/ShaderUtils.cpp",
157 ],
Jason Macnak14986c52023-09-20 09:16:22 -0700158 header_libs: [
159 "gfxstream_opengl_headers",
Jason Macnakb808eeb2024-02-27 10:03:39 -0800160 "libgfxstream_host_vulkan_cereal_common",
Jason Macnak14986c52023-09-20 09:16:22 -0700161 ],
Jason Macnak0a954862022-11-30 15:07:26 -0800162 shared_libs: [
163 "libbase",
164 "libgfxstream_backend",
165 ],
166 export_static_lib_headers: [
Jason Macnakb808eeb2024-02-27 10:03:39 -0800167 "libgfxstream_oswindow_test_support",
Jason Macnak0a954862022-11-30 15:07:26 -0800168 ],
169 static_libs: [
Jason Macnakb808eeb2024-02-27 10:03:39 -0800170 "libgfxstream_host_apigen_codec_common",
Jason Macnak0a954862022-11-30 15:07:26 -0800171 "gfxstream_base",
172 "gfxstream_base_test_support",
173 "gfxstream_host_common_test_support",
174 "gfxstream_snapshot",
Jason Macnakb808eeb2024-02-27 10:03:39 -0800175 "libgfxstream_oswindow_test_support",
Jason Macnak0a954862022-11-30 15:07:26 -0800176 "libgmock",
177 "liblz4",
178 ],
179 export_include_dirs: ["tests"],
180}
181
Jason Macnak741afe72022-04-14 08:19:52 -0700182// Run with `atest --host gfxstream_compositorvk_test`
183cc_test_host {
184 name: "gfxstream_compositorvk_test",
Gurchetan Singha2bb14f2024-01-02 13:54:07 -0800185 defaults: ["gfxstream_defaults"],
Gurchetan Singh5c366a02024-01-05 09:18:59 -0800186 header_libs: [
Jason Macnakb808eeb2024-02-27 10:03:39 -0800187 "libgfxstream_host_vulkan_cereal_common",
Gurchetan Singh5c366a02024-01-05 09:18:59 -0800188 ],
Jason Macnak741afe72022-04-14 08:19:52 -0700189 srcs: [
190 "tests/CompositorVk_unittest.cpp",
191 ],
192 data: [
193 "tests/testdata/256x256_android.png",
194 "tests/testdata/256x256_android_with_transparency.png",
195 "tests/testdata/256x256_golden_blend_premultiplied.png",
196 "tests/testdata/256x256_golden_crop.png",
197 "tests/testdata/256x256_golden_simple_composition.png",
198 "tests/testdata/256x256_golden_multiple_layers.png",
199 "tests/testdata/256x256_golden_multiple_targets_0.png",
200 "tests/testdata/256x256_golden_multiple_targets_1.png",
201 "tests/testdata/256x256_golden_multiple_targets_2.png",
202 "tests/testdata/256x256_golden_multiple_targets_3.png",
203 "tests/testdata/256x256_golden_multiple_targets_4.png",
204 "tests/testdata/256x256_golden_multiple_targets_5.png",
205 "tests/testdata/256x256_golden_multiple_targets_6.png",
206 "tests/testdata/256x256_golden_multiple_targets_7.png",
207 "tests/testdata/256x256_golden_multiple_targets_8.png",
208 "tests/testdata/256x256_golden_multiple_targets_9.png",
Jason Macnakabf49202023-12-12 17:09:58 +0000209 "tests/testdata/256x256_golden_solid_color.png",
210 "tests/testdata/256x256_golden_solid_color_above.png",
211 "tests/testdata/256x256_golden_solid_color_below.png",
Jason Macnak741afe72022-04-14 08:19:52 -0700212 "tests/testdata/256x256_golden_transform_none.png",
213 "tests/testdata/256x256_golden_transform_fliph.png",
214 "tests/testdata/256x256_golden_transform_flipv.png",
215 "tests/testdata/256x256_golden_transform_rot90.png",
216 "tests/testdata/256x256_golden_transform_rot180.png",
217 "tests/testdata/256x256_golden_transform_rot270.png",
218 "tests/testdata/256x256_golden_transform_fliphrot90.png",
219 "tests/testdata/256x256_golden_transform_flipvrot90.png",
220 ],
221 shared_libs: [
222 "libbase",
223 "libgfxstream_backend",
Jason Macnak3088df82024-03-22 17:34:48 -0700224 "libgfxstream_common_image",
Jason Macnak741afe72022-04-14 08:19:52 -0700225 ],
226 static_libs: [
Jason Macnakb808eeb2024-02-27 10:03:39 -0800227 "libgfxstream_host_vulkan_server",
228 "libgfxstream_thirdparty_glm",
Jason Macnak741afe72022-04-14 08:19:52 -0700229 ],
230 test_options: {
231 // Disabled by default as requires Vulkan.
232 unit_test: false,
233 },
Jason Macnak8653c6d2023-01-19 13:36:53 -0800234 test_suites: [
235 "general-tests",
236 ],
Jason Macnak741afe72022-04-14 08:19:52 -0700237}
Jason Macnak0a954862022-11-30 15:07:26 -0800238
239// Run with `atest --host gfxstream_framebuffer_tests`
240cc_test_host {
241 name: "gfxstream_framebuffer_tests",
Gurchetan Singha2bb14f2024-01-02 13:54:07 -0800242 defaults: ["gfxstream_defaults"],
Gurchetan Singh5c366a02024-01-05 09:18:59 -0800243 header_libs: [
Jason Macnakb808eeb2024-02-27 10:03:39 -0800244 "libgfxstream_host_vulkan_cereal_common",
Gurchetan Singh5c366a02024-01-05 09:18:59 -0800245 ],
Jason Macnak0a954862022-11-30 15:07:26 -0800246 srcs: [
247 "tests/FrameBuffer_unittest.cpp",
248 ],
249 shared_libs: [
250 "libbase",
251 "libgfxstream_backend",
Jason Macnak0a954862022-11-30 15:07:26 -0800252 ],
253 static_libs: [
254 "gfxstream_backend_test_support",
Jason Macnak0a954862022-11-30 15:07:26 -0800255 "gfxstream_base_test_support",
Jason Macnak3088df82024-03-22 17:34:48 -0700256 "gfxstream_base",
Jason Macnak0a954862022-11-30 15:07:26 -0800257 "gfxstream_host_common_test_support",
Jason Macnak0a954862022-11-30 15:07:26 -0800258 "gfxstream_snapshot",
Jason Macnak3088df82024-03-22 17:34:48 -0700259 "libgfxstream_common_image",
Jason Macnakb808eeb2024-02-27 10:03:39 -0800260 "libgfxstream_host_vulkan_server",
Jason Macnak3088df82024-03-22 17:34:48 -0700261 "libgfxstream_oswindow_test_support",
262 "libgfxstream_thirdparty_glm",
Jason Macnak0a954862022-11-30 15:07:26 -0800263 "libgmock",
264 "liblz4",
265 ],
266 test_options: {
267 // Disabled by default as requires Vulkan.
268 unit_test: false,
269 },
Jason Macnak8653c6d2023-01-19 13:36:53 -0800270 test_suites: [
271 "general-tests",
272 ],
Jason Macnak0a954862022-11-30 15:07:26 -0800273}
Matt Sandydf039812023-04-24 10:59:21 -0700274
275cc_test_host {
276 name: "gfxstream_magma_tests",
Gurchetan Singha2bb14f2024-01-02 13:54:07 -0800277 defaults: ["gfxstream_defaults"],
Matt Sandydf039812023-04-24 10:59:21 -0700278 srcs: [
279 "tests/Magma_unittest.cpp",
280 ],
281 shared_libs: [
282 "libbase",
Jason Macnaka95da732024-05-08 11:15:12 -0700283 "libgfxstream_backend_magma",
Matt Sandydf039812023-04-24 10:59:21 -0700284 ],
285 test_suites: [
286 "general-tests",
287 ],
288}