blob: fdb278e29cc787ba683dade14d97ef34c46b889f [file] [log] [blame]
Bob Badour051ef782021-02-12 17:07:05 -08001package {
2 default_applicable_licenses: ["frameworks_base_libs_hwui_license"],
3}
4
5// Added automatically by a large-scale-change that took the approach of
6// 'apply every license found to every target'. While this makes sure we respect
7// every license restriction, it may not be entirely correct.
8//
9// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10//
11// Please consider splitting the single license below into multiple licenses,
12// taking care not to lose any license_kind information, and overriding the
13// default license using the 'licenses: [...]' property on targets as needed.
14//
15// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16// to attach the license to, and including a comment whether the files may be
17// used in the current project.
18// See: http://go/android-license-faq
19license {
20 name: "frameworks_base_libs_hwui_license",
21 visibility: [":__subpackages__"],
22 license_kinds: [
23 "SPDX-license-identifier-Apache-2.0",
24 "SPDX-license-identifier-BSD",
25 ],
26 license_text: [
27 "NOTICE",
28 ],
29}
30
Colin Crossf6298102017-04-19 15:25:25 -070031cc_defaults {
32 name: "hwui_defaults",
33 defaults: [
34 "hwui_static_deps",
Pirama Arumuga Nainar0dfd4be2017-11-16 22:40:00 -080035 "skia_deps",
Colin Crossf6298102017-04-19 15:25:25 -070036 //"hwui_bugreport_font_cache_usage",
37 //"hwui_compile_for_perf",
Pirama Arumuga Nainar0dfd4be2017-11-16 22:40:00 -080038 "hwui_pgo",
Pirama Arumuga Nainarb7913e12018-03-09 00:03:57 +000039 "hwui_lto",
Colin Crossf6298102017-04-19 15:25:25 -070040 ],
41
John Reck283bb462018-12-13 16:40:14 -080042 cpp_std: "experimental",
43
Colin Crossf6298102017-04-19 15:25:25 -070044 cflags: [
45 "-DEGL_EGLEXT_PROTOTYPES",
46 "-DGL_GLEXT_PROTOTYPES",
47 "-DATRACE_TAG=ATRACE_TAG_VIEW",
48 "-DLOG_TAG=\"OpenGLRenderer\"",
49 "-Wall",
50 "-Wno-unused-parameter",
51 "-Wunreachable-code",
52 "-Werror",
53 "-fvisibility=hidden",
54
55 // GCC false-positives on this warning, and since we -Werror that's
56 // a problem
57 "-Wno-free-nonheap-object",
Colin Crossf6298102017-04-19 15:25:25 -070058 ],
59
60 include_dirs: [
61 "external/skia/include/private",
62 "external/skia/src/core",
Colin Crossf6298102017-04-19 15:25:25 -070063 ],
64
65 product_variables: {
John Reck27294182018-07-11 11:21:09 -070066 eng: {
67 lto: {
68 never: true,
69 },
70 },
Colin Crossf6298102017-04-19 15:25:25 -070071 },
Fedor Kudasov182cbf92019-06-05 10:30:20 +010072
73 target: {
74 android: {
75 include_dirs: [
76 "external/skia/src/effects",
77 "external/skia/src/image",
78 "external/skia/src/utils",
79 "external/skia/src/gpu",
80 "external/skia/src/shaders",
81 ],
82 },
83 host: {
84 include_dirs: [
85 "external/vulkan-headers/include",
Fedor Kudasov86bd2142019-06-18 15:51:57 +010086 "frameworks/native/libs/math/include",
87 "frameworks/native/libs/ui/include",
Fedor Kudasov182cbf92019-06-05 10:30:20 +010088 ],
89 cflags: [
90 "-Wno-unused-variable",
91 ],
92 }
93 }
Colin Crossf6298102017-04-19 15:25:25 -070094}
95
96cc_defaults {
97 name: "hwui_static_deps",
98 shared_libs: [
Jerome Gaillarda02a12d2019-05-28 18:07:56 +010099 "libbase",
Colin Crossf6298102017-04-19 15:25:25 -0700100 "libharfbuzz_ng",
Colin Crossf6298102017-04-19 15:25:25 -0700101 "libminikin",
Colin Crossf6298102017-04-19 15:25:25 -0700102 ],
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100103
104 target: {
105 android: {
106 shared_libs: [
107 "liblog",
108 "libcutils",
109 "libstatslog",
110 "libutils",
111 "libEGL",
112 "libGLESv1_CM",
113 "libGLESv2",
114 "libGLESv3",
115 "libvulkan",
116 "libui",
Alec Mouri22d753f2019-09-05 17:11:45 -0700117 "libnativedisplay",
Derek Sollenbergere78f7c92019-07-31 15:18:47 -0400118 "libnativewindow",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100119 "libprotobuf-cpp-lite",
120 "libft2",
121 "libandroidfw",
122 "libcrypto",
123 "libsync",
Stan Ilievc9043812020-02-03 16:57:09 -0500124 "libstatspull",
125 "libstatssocket",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100126 ],
127 static_libs: [
128 "libEGL_blobCache",
Stan Ilievc9043812020-02-03 16:57:09 -0500129 "libprotoutil",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100130 ],
131 },
132 host: {
133 static_libs: [
134 "libandroidfw",
135 "libutils",
136 ],
137 }
138 }
Colin Crossf6298102017-04-19 15:25:25 -0700139}
140
141cc_defaults {
142 name: "hwui_bugreport_font_cache_usage",
Colin Crossf6298102017-04-19 15:25:25 -0700143 cflags: ["-DBUGREPORT_FONT_CACHE_USAGE"],
144}
145
146cc_defaults {
147 name: "hwui_compile_for_perf",
148 // TODO: Non-arm?
149 cflags: [
150 "-fno-omit-frame-pointer",
151 "-marm",
152 "-mapcs",
153 ],
154}
155
Pirama Arumuga Nainar0dfd4be2017-11-16 22:40:00 -0800156// Build libhwui with PGO by default.
157// Location of PGO profile data is defined in build/soong/cc/pgo.go
158// and is separate from hwui.
159// To turn it off, set ANDROID_PGO_NO_PROFILE_USE environment variable
160// or set enable_profile_use property to false.
161cc_defaults {
162 name: "hwui_pgo",
163
164 pgo: {
165 instrumentation: true,
166 profile_file: "hwui/hwui.profdata",
167 benchmarks: ["hwui"],
Zhizhou Yang58e1b782017-12-06 16:59:06 -0800168 enable_profile_use: true,
Pirama Arumuga Nainar0dfd4be2017-11-16 22:40:00 -0800169 },
170}
171
Zhizhou Yangf30f1122018-02-26 17:59:38 -0800172// Build hwui library with ThinLTO by default.
173cc_defaults {
174 name: "hwui_lto",
175 target: {
176 android: {
177 lto: {
178 thin: true,
179 },
180 },
181 },
182}
183
Colin Crossf6298102017-04-19 15:25:25 -0700184// ------------------------
Derek Sollenberger83ccff72019-10-24 11:49:54 -0400185// APEX
186// ------------------------
187
188cc_library_headers {
189 name: "android_graphics_apex_headers",
190
191 host_supported: true,
192 export_include_dirs: [
193 "apex/include",
194 ],
195 target: {
196 windows: {
197 enabled: true,
198 },
199 }
200}
201
202cc_defaults {
203 name: "android_graphics_apex",
Derek Sollenberger83ccff72019-10-24 11:49:54 -0400204 cflags: [
205 "-Wno-unused-parameter",
206 "-Wno-non-virtual-dtor",
207 "-Wno-maybe-uninitialized",
208 "-Wno-parentheses",
209 "-Wall",
210 "-Werror",
211 "-Wno-error=deprecated-declarations",
212 "-Wunused",
213 "-Wunreachable-code",
214 ],
215
216 cppflags: ["-Wno-conversion-null"],
217
218 srcs: [
219 "apex/android_matrix.cpp",
220 "apex/android_paint.cpp",
221 "apex/android_region.cpp",
222 ],
223
224 header_libs: [ "android_graphics_apex_headers" ],
225
226 target: {
227 android: {
228 srcs: [ // sources that depend on android only libraries
229 "apex/android_bitmap.cpp",
230 "apex/android_canvas.cpp",
231 "apex/jni_runtime.cpp",
232 "apex/renderthread.cpp",
233 ],
234 },
Derek Sollenbergerc5882c42019-10-25 11:11:32 -0400235 host: {
236 srcs: [
237 "apex/LayoutlibLoader.cpp",
238 ],
239 }
Derek Sollenberger83ccff72019-10-24 11:49:54 -0400240 },
241}
242
243// ------------------------
244// Android Graphics JNI
245// ------------------------
246
247cc_library_headers {
248 name: "android_graphics_jni_headers",
249
250 host_supported: true,
251 export_include_dirs: [
252 "jni",
253 ],
254 target: {
255 windows: {
256 enabled: true,
257 },
258 }
259}
260
261cc_defaults {
262 name: "android_graphics_jni",
Derek Sollenberger83ccff72019-10-24 11:49:54 -0400263 cflags: [
264 "-Wno-unused-parameter",
265 "-Wno-non-virtual-dtor",
266 "-Wno-maybe-uninitialized",
267 "-Wno-parentheses",
268
269 "-DGL_GLEXT_PROTOTYPES",
270 "-DEGL_EGLEXT_PROTOTYPES",
271
272 "-DU_USING_ICU_NAMESPACE=0",
273
274 "-Wall",
275 "-Werror",
276 "-Wno-error=deprecated-declarations",
277 "-Wunused",
278 "-Wunreachable-code",
279 ],
280
281 cppflags: ["-Wno-conversion-null"],
282
283 srcs: [
284 "jni/android_graphics_animation_NativeInterpolatorFactory.cpp",
285 "jni/android_graphics_animation_RenderNodeAnimator.cpp",
286 "jni/android_graphics_Canvas.cpp",
287 "jni/android_graphics_ColorSpace.cpp",
288 "jni/android_graphics_drawable_AnimatedVectorDrawable.cpp",
289 "jni/android_graphics_drawable_VectorDrawable.cpp",
290 "jni/android_graphics_HardwareRendererObserver.cpp",
291 "jni/android_graphics_Matrix.cpp",
292 "jni/android_graphics_Picture.cpp",
293 "jni/android_graphics_DisplayListCanvas.cpp",
294 "jni/android_graphics_RenderNode.cpp",
295 "jni/android_nio_utils.cpp",
296 "jni/android_util_PathParser.cpp",
297
298 "jni/Bitmap.cpp",
299 "jni/BitmapFactory.cpp",
300 "jni/ByteBufferStreamAdaptor.cpp",
301 "jni/Camera.cpp",
302 "jni/CanvasProperty.cpp",
303 "jni/ColorFilter.cpp",
304 "jni/CreateJavaOutputStreamAdaptor.cpp",
305 "jni/FontFamily.cpp",
306 "jni/FontUtils.cpp",
307 "jni/Graphics.cpp",
308 "jni/ImageDecoder.cpp",
309 "jni/Interpolator.cpp",
310 "jni/MaskFilter.cpp",
311 "jni/NinePatch.cpp",
312 "jni/NinePatchPeeker.cpp",
313 "jni/Paint.cpp",
314 "jni/PaintFilter.cpp",
315 "jni/Path.cpp",
316 "jni/PathEffect.cpp",
317 "jni/PathMeasure.cpp",
318 "jni/Picture.cpp",
Derek Sollenberger83ccff72019-10-24 11:49:54 -0400319 "jni/Shader.cpp",
320 "jni/Typeface.cpp",
321 "jni/Utils.cpp",
322 "jni/YuvToJpegEncoder.cpp",
323 "jni/fonts/Font.cpp",
324 "jni/fonts/FontFamily.cpp",
325 "jni/text/LineBreaker.cpp",
326 "jni/text/MeasuredText.cpp",
327 ],
328
329 header_libs: [ "android_graphics_jni_headers" ],
330
331 include_dirs: [
332 "external/skia/include/private",
333 "external/skia/src/codec",
334 "external/skia/src/core",
335 "external/skia/src/effects",
336 "external/skia/src/image",
337 "external/skia/src/images",
338 ],
339
340 shared_libs: [
341 "libbase",
Derek Sollenberger83ccff72019-10-24 11:49:54 -0400342 "libcutils",
343 "libharfbuzz_ng",
344 "liblog",
345 "libminikin",
346 "libnativehelper",
347 "libz",
348 "libziparchive",
349 "libjpeg",
350 ],
351
352 target: {
353 android: {
354 srcs: [ // sources that depend on android only libraries
355 "jni/AnimatedImageDrawable.cpp",
356 "jni/android_graphics_TextureLayer.cpp",
357 "jni/android_graphics_HardwareRenderer.cpp",
358 "jni/BitmapRegionDecoder.cpp",
359 "jni/GIFMovie.cpp",
360 "jni/GraphicsStatsService.cpp",
361 "jni/Movie.cpp",
362 "jni/MovieImpl.cpp",
Derek Sollenberger15da7e22020-02-14 14:16:34 -0500363 "jni/Region.cpp", // requires libbinder_ndk
Derek Sollenberger83ccff72019-10-24 11:49:54 -0400364 "jni/pdf/PdfDocument.cpp",
365 "jni/pdf/PdfEditor.cpp",
366 "jni/pdf/PdfRenderer.cpp",
367 "jni/pdf/PdfUtils.cpp",
368 ],
369 shared_libs: [
370 "libandroidfw",
Derek Sollenberger42c50042020-02-18 14:51:17 -0500371 "libbinder",
Derek Sollenberger15da7e22020-02-14 14:16:34 -0500372 "libbinder_ndk",
Derek Sollenberger83ccff72019-10-24 11:49:54 -0400373 "libmediandk",
374 "libnativedisplay",
375 "libnativewindow",
376 "libstatspull",
377 "libstatssocket",
378 "libpdfium",
379 ],
380 static_libs: [
381 "libgif",
382 "libstatslog",
383 ],
384 },
385 host: {
386 cflags: [
387 "-Wno-unused-const-variable",
388 "-Wno-unused-function",
389 ],
390 static_libs: [
391 "libandroidfw",
392 ],
393 }
394 },
395}
396
397// ------------------------
Colin Crossf6298102017-04-19 15:25:25 -0700398// library
399// ------------------------
400
Derek Sollenberger83ccff72019-10-24 11:49:54 -0400401cc_library_headers {
402 name: "libhwui_internal_headers",
403
404 host_supported: true,
405 export_include_dirs: [
406 ".",
407 ],
408 header_libs: [ "android_graphics_jni_headers" ],
409 export_header_lib_headers: [ "android_graphics_jni_headers" ],
410}
411
Colin Crossf6298102017-04-19 15:25:25 -0700412cc_defaults {
413 name: "libhwui_defaults",
414 defaults: ["hwui_defaults"],
Derek Sollenbergerd938e5a2017-07-24 09:42:07 -0400415
416 whole_static_libs: ["libskia"],
417
Colin Crossf6298102017-04-19 15:25:25 -0700418 srcs: [
Fedor Kudasov86bd2142019-06-18 15:51:57 +0100419 "pipeline/skia/SkiaDisplayList.cpp",
420 "pipeline/skia/SkiaRecordingCanvas.cpp",
421 "pipeline/skia/RenderNodeDrawable.cpp",
422 "pipeline/skia/ReorderBarrierDrawables.cpp",
Fedor Kudasov666f8a52019-07-03 15:21:14 +0100423 "renderthread/Frame.cpp",
424 "renderthread/RenderTask.cpp",
425 "renderthread/TimeLord.cpp",
Derek Sollenberger2d142132018-01-22 10:25:26 -0500426 "hwui/AnimatedImageDrawable.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700427 "hwui/Bitmap.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700428 "hwui/Canvas.cpp",
Leon Scroggins III753a56f2019-12-11 11:02:15 -0500429 "hwui/ImageDecoder.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700430 "hwui/MinikinSkia.cpp",
431 "hwui/MinikinUtils.cpp",
432 "hwui/PaintImpl.cpp",
433 "hwui/Typeface.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700434 "utils/Blur.cpp",
Fedor Kudasov86bd2142019-06-18 15:51:57 +0100435 "utils/Color.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700436 "utils/LinearAllocator.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700437 "utils/VectorDrawableUtils.cpp",
Fedor Kudasov86bd2142019-06-18 15:51:57 +0100438 "AnimationContext.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700439 "Animator.cpp",
Fedor Kudasov86bd2142019-06-18 15:51:57 +0100440 "AnimatorManager.cpp",
441 "CanvasTransform.cpp",
442 "DamageAccumulator.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700443 "Interpolator.cpp",
Fedor Kudasov86bd2142019-06-18 15:51:57 +0100444 "LightingInfo.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700445 "Matrix.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700446 "PathParser.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700447 "Properties.cpp",
448 "PropertyValuesAnimatorSet.cpp",
449 "PropertyValuesHolder.cpp",
Fedor Kudasov86bd2142019-06-18 15:51:57 +0100450 "RecordingCanvas.cpp",
451 "RenderNode.cpp",
452 "RenderProperties.cpp",
Fedor Kudasov09cfce02019-07-04 09:41:13 +0100453 "RootRenderNode.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700454 "SkiaCanvas.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700455 "VectorDrawable.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700456 ],
457
Kweku Adams228b6d22018-04-12 13:09:04 -0700458 proto: {
459 export_proto_headers: true,
460 },
461
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100462 target: {
463 android: {
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100464 srcs: [
Jerome Gaillardf9a4dc42020-01-29 15:23:26 +0000465 "hwui/AnimatedImageThread.cpp",
Stan Ilieve0fae232020-01-07 17:21:49 -0500466 "pipeline/skia/ATraceMemoryDump.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100467 "pipeline/skia/GLFunctorDrawable.cpp",
468 "pipeline/skia/LayerDrawable.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100469 "pipeline/skia/ShaderCache.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100470 "pipeline/skia/SkiaMemoryTracer.cpp",
471 "pipeline/skia/SkiaOpenGLPipeline.cpp",
472 "pipeline/skia/SkiaPipeline.cpp",
473 "pipeline/skia/SkiaProfileRenderer.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100474 "pipeline/skia/SkiaVulkanPipeline.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100475 "pipeline/skia/VkFunctorDrawable.cpp",
476 "pipeline/skia/VkInteropFunctorDrawable.cpp",
477 "renderstate/RenderState.cpp",
478 "renderthread/CacheManager.cpp",
479 "renderthread/CanvasContext.cpp",
480 "renderthread/DrawFrameTask.cpp",
481 "renderthread/EglManager.cpp",
482 "renderthread/ReliableSurface.cpp",
483 "renderthread/VulkanManager.cpp",
484 "renderthread/VulkanSurface.cpp",
485 "renderthread/RenderProxy.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100486 "renderthread/RenderThread.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100487 "service/GraphicsStatsService.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100488 "thread/CommonPool.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100489 "utils/GLUtils.cpp",
490 "utils/StringUtils.cpp",
Stan Ilievaaa9e832019-09-17 14:07:23 -0400491 "AutoBackendTextureRelease.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100492 "DeferredLayerUpdater.cpp",
493 "DeviceInfo.cpp",
494 "FrameInfo.cpp",
495 "FrameInfoVisualizer.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100496 "HardwareBitmapUploader.cpp",
497 "HWUIProperties.sysprop",
498 "JankTracker.cpp",
499 "Layer.cpp",
500 "LayerUpdateQueue.cpp",
501 "ProfileData.cpp",
502 "ProfileDataContainer.cpp",
503 "Readback.cpp",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100504 "TreeInfo.cpp",
505 "WebViewFunctorManager.cpp",
506 "protos/graphicsstats.proto",
507 ],
508
509 // Allow implicit fallthroughs in HardwareBitmapUploader.cpp until they are fixed.
510 cflags: ["-Wno-implicit-fallthrough"],
511 },
512 host: {
Fedor Kudasov86bd2142019-06-18 15:51:57 +0100513 srcs: [
514 "utils/HostColorSpace.cpp",
515 ],
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100516 export_static_lib_headers: [
517 "libarect",
518 ],
519 }
520 }
Colin Crossf6298102017-04-19 15:25:25 -0700521}
522
523cc_library {
524 name: "libhwui",
Fedor Kudasov182cbf92019-06-05 10:30:20 +0100525 host_supported: true,
Chris Craikd17b63c2017-06-01 10:45:36 -0700526 defaults: [
527 "libhwui_defaults",
Derek Sollenberger83ccff72019-10-24 11:49:54 -0400528 "android_graphics_apex",
529 "android_graphics_jni",
Zhizhou Yang17371ec2017-10-13 11:42:13 -0700530 ],
Derek Sollenberger83ccff72019-10-24 11:49:54 -0400531 export_header_lib_headers: ["android_graphics_apex_headers"],
Colin Crossf6298102017-04-19 15:25:25 -0700532}
533
Colin Crossf6298102017-04-19 15:25:25 -0700534cc_library_static {
John Reck23462d82019-05-29 16:55:06 -0700535 name: "libhwui_static",
Colin Crossf6298102017-04-19 15:25:25 -0700536 defaults: [
537 "libhwui_defaults",
Colin Crossf6298102017-04-19 15:25:25 -0700538 ],
Colin Crossf6298102017-04-19 15:25:25 -0700539}
540
541cc_defaults {
542 name: "hwui_test_defaults",
543 defaults: ["hwui_defaults"],
544 test_suites: ["device-tests"],
Alec Mouri680414e2020-01-28 09:22:33 -0800545 target: {
546 android: {
547 shared_libs: [
548 "libgui",
549 ],
550 }
551 },
Colin Crossf6298102017-04-19 15:25:25 -0700552 srcs: [
553 "tests/common/scenes/*.cpp",
554 "tests/common/LeakChecker.cpp",
555 "tests/common/TestListViewSceneBase.cpp",
556 "tests/common/TestContext.cpp",
557 "tests/common/TestScene.cpp",
558 "tests/common/TestUtils.cpp",
559 ],
560}
561
562// ------------------------
563// unit tests
564// ------------------------
565
566cc_test {
567 name: "hwui_unit_tests",
Derek Sollenbergerd3e9eec2020-04-06 11:43:59 -0400568 defaults: [
569 "hwui_test_defaults",
570 "android_graphics_apex",
571 "android_graphics_jni",
572 ],
Colin Crossf6298102017-04-19 15:25:25 -0700573
574 static_libs: [
575 "libgmock",
John Reck23462d82019-05-29 16:55:06 -0700576 "libhwui_static",
Colin Crossf6298102017-04-19 15:25:25 -0700577 ],
Tej Singhbb8554a2018-01-26 11:59:14 -0800578 shared_libs: [
579 "libmemunreachable",
Tej Singhbb8554a2018-01-26 11:59:14 -0800580 ],
Colin Crossf6298102017-04-19 15:25:25 -0700581
582 srcs: [
583 "tests/unit/main.cpp",
Derek Sollenbergerd3e9eec2020-04-06 11:43:59 -0400584 "tests/unit/ABitmapTests.cpp",
Derek Sollenbergerf9e45d12017-06-01 13:07:39 -0400585 "tests/unit/CacheManagerTests.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700586 "tests/unit/CanvasContextTests.cpp",
John Reck322b8ab2019-03-14 13:15:28 -0700587 "tests/unit/CommonPoolTests.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700588 "tests/unit/DamageAccumulatorTests.cpp",
589 "tests/unit/DeferredLayerUpdaterTests.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700590 "tests/unit/FatVectorTests.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700591 "tests/unit/GraphicsStatsServiceTests.cpp",
592 "tests/unit/LayerUpdateQueueTests.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700593 "tests/unit/LinearAllocatorTests.cpp",
594 "tests/unit/MatrixTests.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700595 "tests/unit/PathInterpolatorTests.cpp",
596 "tests/unit/RenderNodeDrawableTests.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700597 "tests/unit/RenderNodeTests.cpp",
598 "tests/unit/RenderPropertiesTests.cpp",
John Reck700079e2019-02-19 10:38:50 -0800599 "tests/unit/RenderThreadTests.cpp",
Stan Ilievd495f432017-10-09 15:49:32 -0400600 "tests/unit/ShaderCacheTests.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700601 "tests/unit/SkiaBehaviorTests.cpp",
602 "tests/unit/SkiaDisplayListTests.cpp",
603 "tests/unit/SkiaPipelineTests.cpp",
604 "tests/unit/SkiaRenderPropertiesTests.cpp",
605 "tests/unit/SkiaCanvasTests.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700606 "tests/unit/StringUtilsTests.cpp",
607 "tests/unit/TestUtilsTests.cpp",
John Reckf8441e62017-10-23 13:10:41 -0700608 "tests/unit/ThreadBaseTests.cpp",
609 "tests/unit/TypefaceTests.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700610 "tests/unit/VectorDrawableTests.cpp",
John Reck283bb462018-12-13 16:40:14 -0800611 "tests/unit/WebViewFunctorManagerTests.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700612 ],
613}
614
615// ------------------------
616// Macro-bench app
617// ------------------------
618
619cc_benchmark {
620 name: "hwuimacro",
621 defaults: ["hwui_test_defaults"],
622
John Reck23462d82019-05-29 16:55:06 -0700623 static_libs: ["libhwui"],
Tej Singhbb8554a2018-01-26 11:59:14 -0800624 shared_libs: [
625 "libmemunreachable",
Tej Singhbb8554a2018-01-26 11:59:14 -0800626 ],
Colin Crossf6298102017-04-19 15:25:25 -0700627
628 srcs: [
629 "tests/macrobench/TestSceneRunner.cpp",
630 "tests/macrobench/main.cpp",
631 ],
632}
633
634// ------------------------
635// Micro-bench app
636// ---------------------
637
638cc_benchmark {
639 name: "hwuimicro",
640 defaults: ["hwui_test_defaults"],
641
John Reck23462d82019-05-29 16:55:06 -0700642 static_libs: ["libhwui_static"],
Tej Singhbb8554a2018-01-26 11:59:14 -0800643 shared_libs: [
644 "libmemunreachable",
Tej Singhbb8554a2018-01-26 11:59:14 -0800645 ],
Colin Crossf6298102017-04-19 15:25:25 -0700646
647 srcs: [
648 "tests/microbench/main.cpp",
649 "tests/microbench/DisplayListCanvasBench.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700650 "tests/microbench/LinearAllocatorBench.cpp",
651 "tests/microbench/PathParserBench.cpp",
652 "tests/microbench/RenderNodeBench.cpp",
Colin Crossf6298102017-04-19 15:25:25 -0700653 ],
654}
Pirama Arumuga Nainarbc1e1772017-11-17 11:32:16 -0800655
656// ----------------------------------------
657// Phony target to build benchmarks for PGO
658// ----------------------------------------
659
660phony {
661 name: "pgo-targets-hwui",
662 required: [
663 "hwuimicro",
664 "hwuimacro",
665 ]
666}