xref: /aosp_15_r20/frameworks/base/libs/hwui/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1package {
2    default_team: "trendy_team_android_core_graphics_stack",
3    default_applicable_licenses: ["frameworks_base_libs_hwui_license"],
4}
5
6// Added automatically by a large-scale-change that took the approach of
7// 'apply every license found to every target'. While this makes sure we respect
8// every license restriction, it may not be entirely correct.
9//
10// e.g. GPL in an MIT project might only apply to the contrib/ directory.
11//
12// Please consider splitting the single license below into multiple licenses,
13// taking care not to lose any license_kind information, and overriding the
14// default license using the 'licenses: [...]' property on targets as needed.
15//
16// For unused files, consider creating a 'fileGroup' with "//visibility:private"
17// to attach the license to, and including a comment whether the files may be
18// used in the current project.
19// See: http://go/android-license-faq
20license {
21    name: "frameworks_base_libs_hwui_license",
22    visibility: [":__subpackages__"],
23    license_kinds: [
24        "SPDX-license-identifier-Apache-2.0",
25        "SPDX-license-identifier-BSD",
26    ],
27    license_text: [
28        "NOTICE",
29    ],
30}
31
32aconfig_declarations {
33    name: "hwui_flags",
34    package: "com.android.graphics.hwui.flags",
35    container: "system",
36    srcs: [
37        "aconfig/hwui_flags.aconfig",
38    ],
39}
40
41cc_aconfig_library {
42    name: "hwui_flags_cc_lib",
43    host_supported: true,
44    aconfig_declarations: "hwui_flags",
45}
46
47cc_defaults {
48    name: "hwui_defaults",
49    defaults: [
50        "hwui_static_deps",
51        "skia_deps",
52        //"hwui_bugreport_font_cache_usage",
53        //"hwui_compile_for_perf",
54        "hwui_lto",
55    ],
56
57    cpp_std: "experimental",
58
59    cflags: [
60        "-DEGL_EGLEXT_PROTOTYPES",
61        "-DGL_GLEXT_PROTOTYPES",
62        "-DATRACE_TAG=ATRACE_TAG_VIEW",
63        "-DLOG_TAG=\"HWUI\"",
64        "-Wall",
65        "-Wthread-safety",
66        "-Wno-unused-parameter",
67        "-Wunreachable-code",
68        "-Werror",
69        "-fvisibility=hidden",
70
71        // GCC false-positives on this warning, and since we -Werror that's
72        // a problem
73        "-Wno-free-nonheap-object",
74
75        // Do not de-optimise cold code paths in AFDO.
76        // Some code paths might be infrequently executed but critical to latency.
77        "-fno-profile-sample-accurate",
78    ],
79
80    include_dirs: [
81        "external/skia/include/private",
82        "external/skia/src/core",
83        "external/skia/src/utils",
84    ],
85
86    target: {
87        android: {
88            include_dirs: [
89                "external/skia/src/image",
90                "external/skia/src/gpu",
91                "external/skia/src/shaders",
92            ],
93        },
94        host: {
95            include_dirs: [
96                "external/vulkan-headers/include",
97                "frameworks/av/media/ndk/include",
98            ],
99            cflags: [
100                "-Wno-unused-variable",
101                "-D__INTRODUCED_IN(n)=",
102            ],
103        },
104    },
105}
106
107cc_defaults {
108    name: "hwui_static_deps",
109    defaults: [
110        "android.hardware.graphics.common-ndk_shared",
111        "android.hardware.graphics.composer3-ndk_shared",
112    ],
113    shared_libs: [
114        "libbase",
115        "libharfbuzz_ng",
116        "libminikin",
117    ],
118
119    static_libs: [
120        "libui-types",
121    ],
122
123    target: {
124        android: {
125            shared_libs: [
126                "[email protected]",
127                "liblog",
128                "libcutils",
129                "libutils",
130                "libEGL",
131                "libGLESv1_CM",
132                "libGLESv2",
133                "libGLESv3",
134                "libvulkan",
135                "libnativedisplay",
136                "libnativewindow",
137                "libprotobuf-cpp-lite",
138                "libft2",
139                "libandroidfw",
140                "libcrypto",
141                "libsync",
142                "libui",
143                "aconfig_text_flags_c_lib",
144                "server_configurable_flags",
145                "libaconfig_storage_read_api_cc",
146                "libgraphicsenv",
147            ],
148            static_libs: [
149                "libEGL_blobCache",
150                "libprotoutil",
151                "libshaders",
152                "libstatslog_hwui",
153                "libstatspull_lazy",
154                "libstatssocket_lazy",
155                "libtonemap",
156            ],
157            whole_static_libs: ["hwui_flags_cc_lib"],
158        },
159        host: {
160            static_libs: [
161                "libandroidfw",
162                "libhostgraphics",
163                "libutils",
164            ],
165        },
166    },
167}
168
169cc_defaults {
170    name: "hwui_bugreport_font_cache_usage",
171    cflags: ["-DBUGREPORT_FONT_CACHE_USAGE"],
172}
173
174cc_defaults {
175    name: "hwui_compile_for_perf",
176    // TODO: Non-arm?
177    cflags: [
178        "-fno-omit-frame-pointer",
179        "-marm",
180        "-mapcs",
181    ],
182}
183
184// Build hwui library with ThinLTO by default.
185cc_defaults {
186    name: "hwui_lto",
187    target: {
188        android: {
189            lto: {
190                thin: true,
191            },
192        },
193    },
194}
195
196// ------------------------
197// framework-graphics jar
198// ------------------------
199
200java_sdk_library {
201    name: "framework-graphics",
202    defaults: ["framework-module-defaults"],
203    visibility: [
204        "//frameworks/base", // Framework
205    ],
206
207    srcs: [
208        ":framework-graphics-srcs",
209    ],
210
211    permitted_packages: [
212        "android.graphics",
213    ],
214
215    // TODO: once framework-graphics is officially part of the
216    // UI-rendering module this line would no longer be
217    // needed.
218    installable: true,
219
220    // Disable api_lint that the defaults enable
221    // TODO: enable this
222    api_lint: {
223        enabled: false,
224    },
225    // TODO: remove this
226    unsafe_ignore_missing_latest_api: true,
227}
228
229filegroup {
230    name: "framework-graphics-srcs",
231    srcs: [
232        "apex/java/**/*.java",
233    ],
234    path: "apex/java",
235}
236
237// ------------------------
238// APEX
239// ------------------------
240
241cc_library_headers {
242    name: "android_graphics_apex_headers",
243
244    host_supported: true,
245    export_include_dirs: [
246        "apex/include",
247    ],
248    target: {
249        windows: {
250            enabled: true,
251        },
252    },
253}
254
255cc_defaults {
256    name: "android_graphics_apex",
257    cflags: [
258        "-Wno-unused-parameter",
259        "-Wno-non-virtual-dtor",
260        "-Wno-maybe-uninitialized",
261        "-Wno-parentheses",
262        "-Wall",
263        "-Werror",
264        "-Wno-error=deprecated-declarations",
265        "-Wunused",
266        "-Wunreachable-code",
267    ],
268
269    cppflags: ["-Wno-conversion-null"],
270
271    srcs: [
272        "apex/android_canvas.cpp",
273        "apex/android_matrix.cpp",
274        "apex/android_paint.cpp",
275        "apex/android_region.cpp",
276        "apex/properties.cpp",
277    ],
278
279    header_libs: ["android_graphics_apex_headers"],
280
281    target: {
282        android: {
283            srcs: [ // sources that depend on android only libraries
284                "apex/android_bitmap.cpp",
285                "apex/jni_runtime.cpp",
286            ],
287        },
288        host: {
289            srcs: [
290                "apex/LayoutlibLoader.cpp",
291            ],
292        },
293    },
294}
295
296// ------------------------
297// Android Graphics JNI
298// ------------------------
299
300cc_library_headers {
301    name: "android_graphics_jni_headers",
302
303    host_supported: true,
304    export_include_dirs: [
305        "jni",
306    ],
307    target: {
308        windows: {
309            enabled: true,
310        },
311    },
312}
313
314cc_defaults {
315    name: "android_graphics_jni",
316    cflags: [
317        "-Wno-unused-parameter",
318        "-Wno-non-virtual-dtor",
319        "-Wno-maybe-uninitialized",
320        "-Wno-parentheses",
321
322        "-DGL_GLEXT_PROTOTYPES",
323        "-DEGL_EGLEXT_PROTOTYPES",
324
325        "-DU_USING_ICU_NAMESPACE=0",
326
327        "-Wall",
328        "-Werror",
329        "-Wno-error=deprecated-declarations",
330        "-Wunused",
331        "-Wunreachable-code",
332    ],
333
334    cppflags: ["-Wno-conversion-null"],
335
336    srcs: [
337        "jni/android_graphics_animation_NativeInterpolatorFactory.cpp",
338        "jni/android_graphics_animation_RenderNodeAnimator.cpp",
339        "jni/android_graphics_Canvas.cpp",
340        "jni/android_graphics_Color.cpp",
341        "jni/android_graphics_ColorSpace.cpp",
342        "jni/android_graphics_drawable_AnimatedVectorDrawable.cpp",
343        "jni/android_graphics_drawable_VectorDrawable.cpp",
344        "jni/android_graphics_HardwareRenderer.cpp",
345        "jni/android_graphics_HardwareBufferRenderer.cpp",
346        "jni/android_graphics_HardwareRendererObserver.cpp",
347        "jni/android_graphics_Matrix.cpp",
348        "jni/android_graphics_Picture.cpp",
349        "jni/android_graphics_DisplayListCanvas.cpp",
350        "jni/android_graphics_Mesh.cpp",
351        "jni/android_graphics_RenderNode.cpp",
352        "jni/android_nio_utils.cpp",
353        "jni/android_util_PathParser.cpp",
354
355        "jni/AnimatedImageDrawable.cpp",
356        "jni/Bitmap.cpp",
357        "jni/BitmapRegionDecoder.cpp",
358        "jni/RuntimeXfermode.cpp",
359        "jni/BufferUtils.cpp",
360        "jni/HardwareBufferHelpers.cpp",
361        "jni/BitmapFactory.cpp",
362        "jni/ByteBufferStreamAdaptor.cpp",
363        "jni/Camera.cpp",
364        "jni/CanvasProperty.cpp",
365        "jni/ColorFilter.cpp",
366        "jni/CreateJavaOutputStreamAdaptor.cpp",
367        "jni/FontFamily.cpp",
368        "jni/FontUtils.cpp",
369        "jni/Gainmap.cpp",
370        "jni/Graphics.cpp",
371        "jni/ImageDecoder.cpp",
372        "jni/Interpolator.cpp",
373        "jni/MeshSpecification.cpp",
374        "jni/MaskFilter.cpp",
375        "jni/NinePatch.cpp",
376        "jni/NinePatchPeeker.cpp",
377        "jni/Paint.cpp",
378        "jni/PaintFilter.cpp",
379        "jni/Path.cpp",
380        "jni/PathEffect.cpp",
381        "jni/PathIterator.cpp",
382        "jni/PathMeasure.cpp",
383        "jni/Picture.cpp",
384        "jni/Region.cpp",
385        "jni/ScopedParcel.cpp",
386        "jni/Shader.cpp",
387        "jni/RenderEffect.cpp",
388        "jni/RuntimeEffectUtils.cpp",
389        "jni/Typeface.cpp",
390        "jni/Utils.cpp",
391        "jni/YuvToJpegEncoder.cpp",
392        "jni/fonts/Font.cpp",
393        "jni/fonts/FontFamily.cpp",
394        "jni/text/LineBreaker.cpp",
395        "jni/text/MeasuredText.cpp",
396        "jni/text/TextShaper.cpp",
397        "jni/text/GraphemeBreak.cpp",
398    ],
399
400    header_libs: [
401        "android_graphics_jni_headers",
402        "libnativewindow_headers",
403    ],
404
405    include_dirs: [
406        "external/skia/include/private",
407        "external/skia/src/codec",
408        "external/skia/src/core",
409    ],
410
411    shared_libs: [
412        "libbase",
413        "libcutils",
414        "libharfbuzz_ng",
415        "libimage_io",
416        "libjpeg",
417        "libultrahdr",
418        "liblog",
419        "libminikin",
420        "libz",
421    ],
422
423    static_libs: [
424        "libziparchive_for_incfs",
425    ],
426
427    target: {
428        android: {
429            srcs: [ // sources that depend on android only libraries
430                "jni/android_graphics_TextureLayer.cpp",
431                "jni/GIFMovie.cpp",
432                "jni/GraphicsStatsService.cpp",
433                "jni/Movie.cpp",
434                "jni/MovieImpl.cpp",
435                "jni/pdf/PdfDocument.cpp",
436                "jni/pdf/PdfEditor.cpp",
437                "jni/pdf/PdfUtils.cpp",
438            ],
439            shared_libs: [
440                "libandroidfw",
441                "libbinder",
442                "libbinder_ndk",
443                "libmediandk",
444                "libnativedisplay",
445                "libnativewindow",
446                "libpdfium",
447            ],
448            static_libs: [
449                "libgif",
450                "libnativehelper_lazy",
451                "libstatslog_hwui",
452                "libstatspull_lazy",
453                "libstatssocket_lazy",
454            ],
455        },
456        linux: {
457            srcs: ["platform/linux/utils/SharedLib.cpp"],
458        },
459        darwin: {
460            srcs: ["platform/darwin/utils/SharedLib.cpp"],
461        },
462        host: {
463            cflags: [
464                "-Wno-unused-const-variable",
465                "-Wno-unused-function",
466            ],
467            static_libs: [
468                "libandroidfw",
469                "libnativehelper_jvm",
470            ],
471        },
472    },
473}
474
475cc_library_static {
476    name: "libstatslog_hwui",
477    generated_sources: ["statslog_hwui.cpp"],
478    generated_headers: ["statslog_hwui.h"],
479    export_generated_headers: ["statslog_hwui.h"],
480    static_libs: [
481        "libstatssocket_lazy",
482        "libstatspull_lazy",
483    ],
484}
485
486genrule {
487    name: "statslog_hwui.h",
488    tools: ["stats-log-api-gen"],
489    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_hwui.h --module hwui" +
490        " --namespace android,uirenderer,stats",
491    out: [
492        "statslog_hwui.h",
493    ],
494}
495
496genrule {
497    name: "statslog_hwui.cpp",
498    tools: ["stats-log-api-gen"],
499    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_hwui.cpp --module hwui" +
500        " --namespace android,uirenderer,stats --importHeader statslog_hwui.h",
501    out: [
502        "statslog_hwui.cpp",
503    ],
504}
505
506genrule {
507    name: "statslog-hwui-java-gen",
508    tools: ["stats-log-api-gen"],
509    cmd: "$(location stats-log-api-gen) --java $(out) --module hwui --javaPackage com.android.os.coregraphics --javaClass HwuiStatsLog",
510    out: ["com/android/os/coregraphics/HwuiStatsLog.java"],
511}
512
513// ------------------------
514// library
515// ------------------------
516
517cc_library_headers {
518    name: "libhwui_internal_headers",
519
520    host_supported: true,
521    export_include_dirs: [
522        ".",
523    ],
524    header_libs: ["android_graphics_jni_headers"],
525    export_header_lib_headers: ["android_graphics_jni_headers"],
526    target: {
527        android: {
528            export_include_dirs: ["platform/android"],
529        },
530        host: {
531            export_include_dirs: ["platform/host"],
532        },
533        windows: {
534            enabled: true,
535        },
536    },
537}
538
539cc_defaults {
540    name: "libhwui_defaults",
541    defaults: ["hwui_defaults"],
542
543    whole_static_libs: ["libskia"],
544
545    srcs: [
546        "canvas/CanvasFrontend.cpp",
547        "canvas/CanvasOpBuffer.cpp",
548        "canvas/CanvasOpRasterizer.cpp",
549        "effects/StretchEffect.cpp",
550        "effects/GainmapRenderer.cpp",
551        "pipeline/skia/BackdropFilterDrawable.cpp",
552        "pipeline/skia/HolePunch.cpp",
553        "pipeline/skia/SkiaCpuPipeline.cpp",
554        "pipeline/skia/SkiaDisplayList.cpp",
555        "pipeline/skia/SkiaPipeline.cpp",
556        "pipeline/skia/SkiaRecordingCanvas.cpp",
557        "pipeline/skia/StretchMask.cpp",
558        "pipeline/skia/RenderNodeDrawable.cpp",
559        "pipeline/skia/ReorderBarrierDrawables.cpp",
560        "pipeline/skia/TransformCanvas.cpp",
561        "renderstate/RenderState.cpp",
562        "renderthread/CanvasContext.cpp",
563        "renderthread/DrawFrameTask.cpp",
564        "renderthread/Frame.cpp",
565        "renderthread/RenderEffectCapabilityQuery.cpp",
566        "renderthread/RenderProxy.cpp",
567        "renderthread/RenderTask.cpp",
568        "renderthread/TimeLord.cpp",
569        "hwui/AnimatedImageDrawable.cpp",
570        "hwui/AnimatedImageThread.cpp",
571        "hwui/Bitmap.cpp",
572        "hwui/BlurDrawLooper.cpp",
573        "hwui/Canvas.cpp",
574        "hwui/ImageDecoder.cpp",
575        "hwui/MinikinSkia.cpp",
576        "hwui/MinikinUtils.cpp",
577        "hwui/PaintImpl.cpp",
578        "hwui/Typeface.cpp",
579        "thread/CommonPool.cpp",
580        "utils/Blur.cpp",
581        "utils/Color.cpp",
582        "utils/LinearAllocator.cpp",
583        "utils/StringUtils.cpp",
584        "utils/StatsUtils.cpp",
585        "utils/TypefaceUtils.cpp",
586        "utils/VectorDrawableUtils.cpp",
587        "AnimationContext.cpp",
588        "Animator.cpp",
589        "AnimatorManager.cpp",
590        "CanvasTransform.cpp",
591        "DamageAccumulator.cpp",
592        "DeviceInfo.cpp",
593        "FrameInfo.cpp",
594        "FrameInfoVisualizer.cpp",
595        "FrameMetricsReporter.cpp",
596        "Gainmap.cpp",
597        "HWUIProperties.sysprop",
598        "Interpolator.cpp",
599        "JankTracker.cpp",
600        "Layer.cpp",
601        "LayerUpdateQueue.cpp",
602        "LightingInfo.cpp",
603        "Matrix.cpp",
604        "Mesh.cpp",
605        "MemoryPolicy.cpp",
606        "PathParser.cpp",
607        "ProfileData.cpp",
608        "Properties.cpp",
609        "PropertyValuesAnimatorSet.cpp",
610        "PropertyValuesHolder.cpp",
611        "RecordingCanvas.cpp",
612        "RenderNode.cpp",
613        "RenderProperties.cpp",
614        "RootRenderNode.cpp",
615        "SkiaCanvas.cpp",
616        "SkiaInterpolator.cpp",
617        "Tonemapper.cpp",
618        "TreeInfo.cpp",
619        "VectorDrawable.cpp",
620    ],
621
622    proto: {
623        export_proto_headers: true,
624    },
625
626    header_libs: ["libandroid_headers_private"],
627
628    target: {
629        android: {
630            header_libs: ["libtonemap_headers"],
631
632            local_include_dirs: ["platform/android"],
633
634            srcs: [
635                "pipeline/skia/ATraceMemoryDump.cpp",
636                "pipeline/skia/GLFunctorDrawable.cpp",
637                "pipeline/skia/LayerDrawable.cpp",
638                "pipeline/skia/ShaderCache.cpp",
639                "pipeline/skia/SkiaGpuPipeline.cpp",
640                "pipeline/skia/SkiaMemoryTracer.cpp",
641                "pipeline/skia/SkiaOpenGLPipeline.cpp",
642                "pipeline/skia/SkiaProfileRenderer.cpp",
643                "pipeline/skia/SkiaVulkanPipeline.cpp",
644                "pipeline/skia/VkFunctorDrawable.cpp",
645                "pipeline/skia/VkInteropFunctorDrawable.cpp",
646                "renderthread/CacheManager.cpp",
647                "renderthread/EglManager.cpp",
648                "renderthread/ReliableSurface.cpp",
649                "renderthread/VulkanManager.cpp",
650                "renderthread/VulkanSurface.cpp",
651                "renderthread/RenderThread.cpp",
652                "renderthread/HintSessionWrapper.cpp",
653                "service/GraphicsStatsService.cpp",
654                "utils/GLUtils.cpp",
655                "utils/NdkUtils.cpp",
656                "AutoBackendTextureRelease.cpp",
657                "DeferredLayerUpdater.cpp",
658                "HardwareBitmapUploader.cpp",
659                "ProfileDataContainer.cpp",
660                "Readback.cpp",
661                "WebViewFunctorManager.cpp",
662                "protos/graphicsstats.proto",
663            ],
664
665            // Allow implicit fallthroughs in HardwareBitmapUploader.cpp until they are fixed.
666            cflags: ["-Wno-implicit-fallthrough"],
667        },
668        host: {
669            header_libs: [
670                "libnativebase_headers",
671                "libnativedisplay_headers",
672            ],
673
674            local_include_dirs: ["platform/host"],
675
676            srcs: [
677                "platform/host/renderthread/CacheManager.cpp",
678                "platform/host/renderthread/HintSessionWrapper.cpp",
679                "platform/host/renderthread/ReliableSurface.cpp",
680                "platform/host/renderthread/RenderThread.cpp",
681                "platform/host/ProfileDataContainer.cpp",
682                "platform/host/Readback.cpp",
683                "platform/host/WebViewFunctorManager.cpp",
684            ],
685
686            cflags: [
687                "-DHWUI_NULL_GPU",
688                "-DNULL_GPU_MAX_TEXTURE_SIZE=4096",
689                "-Wno-unused-private-field",
690            ],
691        },
692    },
693}
694
695cc_library {
696    name: "libhwui",
697    host_supported: true,
698    defaults: [
699        "libhwui_defaults",
700        "android_graphics_apex",
701        "android_graphics_jni",
702        "linker_hugepage_aligned",
703    ],
704    export_header_lib_headers: ["android_graphics_apex_headers"],
705    target: {
706        android: {
707            version_script: "libhwui.map.txt",
708        },
709    },
710    afdo: true,
711}
712
713cc_library_static {
714    name: "libhwui_static",
715    defaults: [
716        "libhwui_defaults",
717    ],
718}
719
720cc_defaults {
721    name: "hwui_test_defaults",
722    defaults: ["hwui_defaults"],
723    test_suites: ["general-tests"],
724    header_libs: ["libandroid_headers_private"],
725    target: {
726        android: {
727            local_include_dirs: ["platform/android"],
728            shared_libs: [
729                "libgui",
730                "libui",
731            ],
732        },
733    },
734    srcs: [
735        "tests/common/scenes/*.cpp",
736        "tests/common/LeakChecker.cpp",
737        "tests/common/TestListViewSceneBase.cpp",
738        "tests/common/TestContext.cpp",
739        "tests/common/TestScene.cpp",
740        "tests/common/TestUtils.cpp",
741    ],
742}
743
744// ------------------------
745// unit tests
746// ------------------------
747
748cc_test {
749    name: "hwui_unit_tests",
750    test_config: "tests/unit/AndroidTest.xml",
751    defaults: [
752        "hwui_test_defaults",
753        "android_graphics_apex",
754        "android_graphics_jni",
755    ],
756
757    static_libs: [
758        "libflagtest",
759        "libgmock",
760        "libhwui_static",
761    ],
762    shared_libs: [
763        "libmemunreachable",
764    ],
765    srcs: [
766        "tests/unit/main.cpp",
767        "tests/unit/ABitmapTests.cpp",
768        "tests/unit/AutoBackendTextureReleaseTests.cpp",
769        "tests/unit/CacheManagerTests.cpp",
770        "tests/unit/CanvasContextTests.cpp",
771        "tests/unit/CanvasOpTests.cpp",
772        "tests/unit/CanvasFrontendTests.cpp",
773        "tests/unit/CommonPoolTests.cpp",
774        "tests/unit/DamageAccumulatorTests.cpp",
775        "tests/unit/DeferredLayerUpdaterTests.cpp",
776        "tests/unit/EglManagerTests.cpp",
777        "tests/unit/FatVectorTests.cpp",
778        "tests/unit/GraphicsStatsServiceTests.cpp",
779        "tests/unit/HintSessionWrapperTests.cpp",
780        "tests/unit/JankTrackerTests.cpp",
781        "tests/unit/FrameMetricsReporterTests.cpp",
782        "tests/unit/LayerUpdateQueueTests.cpp",
783        "tests/unit/LinearAllocatorTests.cpp",
784        "tests/unit/MatrixTests.cpp",
785        "tests/unit/OpBufferTests.cpp",
786        "tests/unit/PathInterpolatorTests.cpp",
787        "tests/unit/RenderEffectCapabilityQueryTests.cpp",
788        "tests/unit/RenderNodeDrawableTests.cpp",
789        "tests/unit/RenderNodeTests.cpp",
790        "tests/unit/RenderPropertiesTests.cpp",
791        "tests/unit/RenderThreadTests.cpp",
792        "tests/unit/ShaderCacheTests.cpp",
793        "tests/unit/SkiaBehaviorTests.cpp",
794        "tests/unit/SkiaDisplayListTests.cpp",
795        "tests/unit/SkiaPipelineTests.cpp",
796        "tests/unit/SkiaRenderPropertiesTests.cpp",
797        "tests/unit/SkiaCanvasTests.cpp",
798        "tests/unit/StretchEffectTests.cpp",
799        "tests/unit/StringUtilsTests.cpp",
800        "tests/unit/TestUtilsTests.cpp",
801        "tests/unit/ThreadBaseTests.cpp",
802        "tests/unit/TypefaceTests.cpp",
803        "tests/unit/UnderlineTest.cpp",
804        "tests/unit/VectorDrawableTests.cpp",
805        "tests/unit/WebViewFunctorManagerTests.cpp",
806    ],
807    data: [
808        ":hwuimicro",
809    ],
810}
811
812// ------------------------
813// Macro-bench app
814// ------------------------
815
816cc_benchmark {
817    name: "hwuimacro",
818    test_config: "tests/macrobench/AndroidTest.xml",
819    defaults: ["hwui_test_defaults"],
820
821    static_libs: ["libhwui"],
822    shared_libs: [
823        "libmemunreachable",
824    ],
825
826    srcs: [
827        "tests/macrobench/TestSceneRunner.cpp",
828        "tests/macrobench/main.cpp",
829    ],
830}
831
832// ------------------------
833// Micro-bench app
834// ---------------------
835
836cc_benchmark {
837    name: "hwuimicro",
838    test_config: "tests/microbench/AndroidTest.xml",
839    defaults: ["hwui_test_defaults"],
840
841    static_libs: ["libhwui_static"],
842    shared_libs: [
843        "libmemunreachable",
844    ],
845
846    srcs: [
847        "tests/microbench/main.cpp",
848        "tests/microbench/CanvasOpBench.cpp",
849        "tests/microbench/DisplayListCanvasBench.cpp",
850        "tests/microbench/LinearAllocatorBench.cpp",
851        "tests/microbench/PathParserBench.cpp",
852        "tests/microbench/RenderNodeBench.cpp",
853    ],
854}
855