• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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        "server_configurable_flags",
118        "libaconfig_storage_read_api_cc"
119    ],
120
121    static_libs: [
122        "libui-types",
123    ],
124
125    whole_static_libs: ["hwui_flags_cc_lib"],
126
127    target: {
128        android: {
129            shared_libs: [
130                "android.hardware.graphics.common@1.2",
131                "liblog",
132                "libcutils",
133                "libutils",
134                "libEGL",
135                "libGLESv1_CM",
136                "libGLESv2",
137                "libGLESv3",
138                "libvulkan",
139                "libnativedisplay",
140                "libnativewindow",
141                "libprotobuf-cpp-lite",
142                "libft2",
143                "libandroidfw",
144                "libcrypto",
145                "libsync",
146                "libui",
147                "aconfig_text_flags_c_lib",
148            ],
149            static_libs: [
150                "libEGL_blobCache",
151                "libprotoutil",
152                "libshaders",
153                "libstatslog_hwui",
154                "libstatspull_lazy",
155                "libstatssocket_lazy",
156                "libtonemap",
157            ],
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/BufferUtils.cpp",
359        "jni/HardwareBufferHelpers.cpp",
360        "jni/BitmapFactory.cpp",
361        "jni/ByteBufferStreamAdaptor.cpp",
362        "jni/Camera.cpp",
363        "jni/CanvasProperty.cpp",
364        "jni/ColorFilter.cpp",
365        "jni/CreateJavaOutputStreamAdaptor.cpp",
366        "jni/FontFamily.cpp",
367        "jni/FontUtils.cpp",
368        "jni/Gainmap.cpp",
369        "jni/Graphics.cpp",
370        "jni/ImageDecoder.cpp",
371        "jni/Interpolator.cpp",
372        "jni/MeshSpecification.cpp",
373        "jni/MaskFilter.cpp",
374        "jni/NinePatch.cpp",
375        "jni/NinePatchPeeker.cpp",
376        "jni/Paint.cpp",
377        "jni/PaintFilter.cpp",
378        "jni/Path.cpp",
379        "jni/PathEffect.cpp",
380        "jni/PathIterator.cpp",
381        "jni/PathMeasure.cpp",
382        "jni/Picture.cpp",
383        "jni/Region.cpp",
384        "jni/ScopedParcel.cpp",
385        "jni/Shader.cpp",
386        "jni/RenderEffect.cpp",
387        "jni/Typeface.cpp",
388        "jni/Utils.cpp",
389        "jni/YuvToJpegEncoder.cpp",
390        "jni/fonts/Font.cpp",
391        "jni/fonts/FontFamily.cpp",
392        "jni/text/LineBreaker.cpp",
393        "jni/text/MeasuredText.cpp",
394        "jni/text/TextShaper.cpp",
395        "jni/text/GraphemeBreak.cpp",
396    ],
397
398    header_libs: [
399        "android_graphics_jni_headers",
400        "libnativewindow_headers",
401    ],
402
403    include_dirs: [
404        "external/skia/include/private",
405        "external/skia/src/codec",
406        "external/skia/src/core",
407    ],
408
409    shared_libs: [
410        "libbase",
411        "libcutils",
412        "libharfbuzz_ng",
413        "libimage_io",
414        "libjpeg",
415        "libultrahdr",
416        "liblog",
417        "libminikin",
418        "libz",
419    ],
420
421    static_libs: [
422        "libnativehelper_lazy",
423        "libziparchive_for_incfs",
424    ],
425
426    target: {
427        android: {
428            srcs: [ // sources that depend on android only libraries
429                "jni/android_graphics_TextureLayer.cpp",
430                "jni/GIFMovie.cpp",
431                "jni/GraphicsStatsService.cpp",
432                "jni/Movie.cpp",
433                "jni/MovieImpl.cpp",
434                "jni/pdf/PdfDocument.cpp",
435                "jni/pdf/PdfEditor.cpp",
436                "jni/pdf/PdfUtils.cpp",
437            ],
438            shared_libs: [
439                "libandroidfw",
440                "libbinder",
441                "libbinder_ndk",
442                "libmediandk",
443                "libnativedisplay",
444                "libnativewindow",
445                "libpdfium",
446            ],
447            static_libs: [
448                "libgif",
449                "libstatslog_hwui",
450                "libstatspull_lazy",
451                "libstatssocket_lazy",
452            ],
453        },
454        linux: {
455            srcs: ["platform/linux/utils/SharedLib.cpp"],
456        },
457        darwin: {
458            srcs: ["platform/darwin/utils/SharedLib.cpp"],
459        },
460        host: {
461            cflags: [
462                "-Wno-unused-const-variable",
463                "-Wno-unused-function",
464            ],
465            static_libs: [
466                "libandroidfw",
467            ],
468        },
469    },
470}
471
472cc_library_static {
473    name: "libstatslog_hwui",
474    generated_sources: ["statslog_hwui.cpp"],
475    generated_headers: ["statslog_hwui.h"],
476    export_generated_headers: ["statslog_hwui.h"],
477    static_libs: [
478        "libstatssocket_lazy",
479        "libstatspull_lazy",
480    ],
481}
482
483genrule {
484    name: "statslog_hwui.h",
485    tools: ["stats-log-api-gen"],
486    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_hwui.h --module hwui" +
487        " --namespace android,uirenderer,stats",
488    out: [
489        "statslog_hwui.h",
490    ],
491}
492
493genrule {
494    name: "statslog_hwui.cpp",
495    tools: ["stats-log-api-gen"],
496    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_hwui.cpp --module hwui" +
497        " --namespace android,uirenderer,stats --importHeader statslog_hwui.h",
498    out: [
499        "statslog_hwui.cpp",
500    ],
501}
502
503// ------------------------
504// library
505// ------------------------
506
507cc_library_headers {
508    name: "libhwui_internal_headers",
509
510    host_supported: true,
511    export_include_dirs: [
512        ".",
513    ],
514    header_libs: ["android_graphics_jni_headers"],
515    export_header_lib_headers: ["android_graphics_jni_headers"],
516    target: {
517        android: {
518            export_include_dirs: ["platform/android"],
519        },
520        host: {
521            export_include_dirs: ["platform/host"],
522        },
523        windows: {
524            enabled: true,
525        },
526    },
527}
528
529cc_defaults {
530    name: "libhwui_defaults",
531    defaults: ["hwui_defaults"],
532
533    whole_static_libs: ["libskia"],
534
535    srcs: [
536        "canvas/CanvasFrontend.cpp",
537        "canvas/CanvasOpBuffer.cpp",
538        "canvas/CanvasOpRasterizer.cpp",
539        "effects/StretchEffect.cpp",
540        "effects/GainmapRenderer.cpp",
541        "pipeline/skia/BackdropFilterDrawable.cpp",
542        "pipeline/skia/HolePunch.cpp",
543        "pipeline/skia/SkiaCpuPipeline.cpp",
544        "pipeline/skia/SkiaDisplayList.cpp",
545        "pipeline/skia/SkiaPipeline.cpp",
546        "pipeline/skia/SkiaRecordingCanvas.cpp",
547        "pipeline/skia/StretchMask.cpp",
548        "pipeline/skia/RenderNodeDrawable.cpp",
549        "pipeline/skia/ReorderBarrierDrawables.cpp",
550        "pipeline/skia/TransformCanvas.cpp",
551        "renderstate/RenderState.cpp",
552        "renderthread/CanvasContext.cpp",
553        "renderthread/DrawFrameTask.cpp",
554        "renderthread/Frame.cpp",
555        "renderthread/RenderEffectCapabilityQuery.cpp",
556        "renderthread/RenderProxy.cpp",
557        "renderthread/RenderTask.cpp",
558        "renderthread/TimeLord.cpp",
559        "hwui/AnimatedImageDrawable.cpp",
560        "hwui/AnimatedImageThread.cpp",
561        "hwui/Bitmap.cpp",
562        "hwui/BlurDrawLooper.cpp",
563        "hwui/Canvas.cpp",
564        "hwui/ImageDecoder.cpp",
565        "hwui/MinikinSkia.cpp",
566        "hwui/MinikinUtils.cpp",
567        "hwui/PaintImpl.cpp",
568        "hwui/Typeface.cpp",
569        "thread/CommonPool.cpp",
570        "utils/Blur.cpp",
571        "utils/Color.cpp",
572        "utils/LinearAllocator.cpp",
573        "utils/StringUtils.cpp",
574        "utils/TypefaceUtils.cpp",
575        "utils/VectorDrawableUtils.cpp",
576        "AnimationContext.cpp",
577        "Animator.cpp",
578        "AnimatorManager.cpp",
579        "CanvasTransform.cpp",
580        "DamageAccumulator.cpp",
581        "DeviceInfo.cpp",
582        "FrameInfo.cpp",
583        "FrameInfoVisualizer.cpp",
584        "FrameMetricsReporter.cpp",
585        "Gainmap.cpp",
586        "HWUIProperties.sysprop",
587        "Interpolator.cpp",
588        "JankTracker.cpp",
589        "Layer.cpp",
590        "LayerUpdateQueue.cpp",
591        "LightingInfo.cpp",
592        "Matrix.cpp",
593        "Mesh.cpp",
594        "MemoryPolicy.cpp",
595        "PathParser.cpp",
596        "ProfileData.cpp",
597        "Properties.cpp",
598        "PropertyValuesAnimatorSet.cpp",
599        "PropertyValuesHolder.cpp",
600        "RecordingCanvas.cpp",
601        "RenderNode.cpp",
602        "RenderProperties.cpp",
603        "RootRenderNode.cpp",
604        "SkiaCanvas.cpp",
605        "SkiaInterpolator.cpp",
606        "Tonemapper.cpp",
607        "TreeInfo.cpp",
608        "VectorDrawable.cpp",
609    ],
610
611    proto: {
612        export_proto_headers: true,
613    },
614
615    header_libs: ["libandroid_headers_private"],
616
617    target: {
618        android: {
619            header_libs: ["libtonemap_headers"],
620
621            local_include_dirs: ["platform/android"],
622
623            srcs: [
624                "pipeline/skia/ATraceMemoryDump.cpp",
625                "pipeline/skia/GLFunctorDrawable.cpp",
626                "pipeline/skia/LayerDrawable.cpp",
627                "pipeline/skia/ShaderCache.cpp",
628                "pipeline/skia/SkiaGpuPipeline.cpp",
629                "pipeline/skia/SkiaMemoryTracer.cpp",
630                "pipeline/skia/SkiaOpenGLPipeline.cpp",
631                "pipeline/skia/SkiaProfileRenderer.cpp",
632                "pipeline/skia/SkiaVulkanPipeline.cpp",
633                "pipeline/skia/VkFunctorDrawable.cpp",
634                "pipeline/skia/VkInteropFunctorDrawable.cpp",
635                "renderthread/CacheManager.cpp",
636                "renderthread/EglManager.cpp",
637                "renderthread/ReliableSurface.cpp",
638                "renderthread/VulkanManager.cpp",
639                "renderthread/VulkanSurface.cpp",
640                "renderthread/RenderThread.cpp",
641                "renderthread/HintSessionWrapper.cpp",
642                "service/GraphicsStatsService.cpp",
643                "utils/GLUtils.cpp",
644                "utils/NdkUtils.cpp",
645                "AutoBackendTextureRelease.cpp",
646                "DeferredLayerUpdater.cpp",
647                "HardwareBitmapUploader.cpp",
648                "ProfileDataContainer.cpp",
649                "Readback.cpp",
650                "WebViewFunctorManager.cpp",
651                "protos/graphicsstats.proto",
652            ],
653
654            // Allow implicit fallthroughs in HardwareBitmapUploader.cpp until they are fixed.
655            cflags: ["-Wno-implicit-fallthrough"],
656        },
657        host: {
658            header_libs: [
659                "libnativebase_headers",
660                "libnativedisplay_headers",
661            ],
662
663            local_include_dirs: ["platform/host"],
664
665            srcs: [
666                "platform/host/renderthread/CacheManager.cpp",
667                "platform/host/renderthread/HintSessionWrapper.cpp",
668                "platform/host/renderthread/ReliableSurface.cpp",
669                "platform/host/renderthread/RenderThread.cpp",
670                "platform/host/ProfileDataContainer.cpp",
671                "platform/host/Readback.cpp",
672                "platform/host/WebViewFunctorManager.cpp",
673            ],
674
675            cflags: [
676                "-DHWUI_NULL_GPU",
677                "-DNULL_GPU_MAX_TEXTURE_SIZE=4096",
678                "-Wno-unused-private-field",
679            ],
680        },
681    },
682}
683
684cc_library {
685    name: "libhwui",
686    host_supported: true,
687    defaults: [
688        "libhwui_defaults",
689        "android_graphics_apex",
690        "android_graphics_jni",
691        "linker_hugepage_aligned",
692    ],
693    export_header_lib_headers: ["android_graphics_apex_headers"],
694    target: {
695        android: {
696            version_script: "libhwui.map.txt",
697        },
698    },
699    afdo: true,
700}
701
702cc_library_static {
703    name: "libhwui_static",
704    defaults: [
705        "libhwui_defaults",
706    ],
707}
708
709cc_defaults {
710    name: "hwui_test_defaults",
711    defaults: ["hwui_defaults"],
712    test_suites: ["general-tests"],
713    header_libs: ["libandroid_headers_private"],
714    target: {
715        android: {
716            local_include_dirs: ["platform/android"],
717            shared_libs: [
718                "libgui",
719                "libui",
720            ],
721        },
722    },
723    srcs: [
724        "tests/common/scenes/*.cpp",
725        "tests/common/LeakChecker.cpp",
726        "tests/common/TestListViewSceneBase.cpp",
727        "tests/common/TestContext.cpp",
728        "tests/common/TestScene.cpp",
729        "tests/common/TestUtils.cpp",
730    ],
731}
732
733// ------------------------
734// unit tests
735// ------------------------
736
737cc_test {
738    name: "hwui_unit_tests",
739    defaults: [
740        "hwui_test_defaults",
741        "android_graphics_apex",
742        "android_graphics_jni",
743    ],
744
745    static_libs: [
746        "libflagtest",
747        "libgmock",
748        "libhwui_static",
749    ],
750    shared_libs: [
751        "libmemunreachable",
752    ],
753    srcs: [
754        "tests/unit/main.cpp",
755        "tests/unit/ABitmapTests.cpp",
756        "tests/unit/AutoBackendTextureReleaseTests.cpp",
757        "tests/unit/CacheManagerTests.cpp",
758        "tests/unit/CanvasContextTests.cpp",
759        "tests/unit/CanvasOpTests.cpp",
760        "tests/unit/CanvasFrontendTests.cpp",
761        "tests/unit/CommonPoolTests.cpp",
762        "tests/unit/DamageAccumulatorTests.cpp",
763        "tests/unit/DeferredLayerUpdaterTests.cpp",
764        "tests/unit/EglManagerTests.cpp",
765        "tests/unit/FatVectorTests.cpp",
766        "tests/unit/GraphicsStatsServiceTests.cpp",
767        "tests/unit/HintSessionWrapperTests.cpp",
768        "tests/unit/JankTrackerTests.cpp",
769        "tests/unit/FrameMetricsReporterTests.cpp",
770        "tests/unit/LayerUpdateQueueTests.cpp",
771        "tests/unit/LinearAllocatorTests.cpp",
772        "tests/unit/MatrixTests.cpp",
773        "tests/unit/OpBufferTests.cpp",
774        "tests/unit/PathInterpolatorTests.cpp",
775        "tests/unit/RenderEffectCapabilityQueryTests.cpp",
776        "tests/unit/RenderNodeDrawableTests.cpp",
777        "tests/unit/RenderNodeTests.cpp",
778        "tests/unit/RenderPropertiesTests.cpp",
779        "tests/unit/RenderThreadTests.cpp",
780        "tests/unit/ShaderCacheTests.cpp",
781        "tests/unit/SkiaBehaviorTests.cpp",
782        "tests/unit/SkiaDisplayListTests.cpp",
783        "tests/unit/SkiaPipelineTests.cpp",
784        "tests/unit/SkiaRenderPropertiesTests.cpp",
785        "tests/unit/SkiaCanvasTests.cpp",
786        "tests/unit/StretchEffectTests.cpp",
787        "tests/unit/StringUtilsTests.cpp",
788        "tests/unit/TestUtilsTests.cpp",
789        "tests/unit/ThreadBaseTests.cpp",
790        "tests/unit/TypefaceTests.cpp",
791        "tests/unit/UnderlineTest.cpp",
792        "tests/unit/VectorDrawableTests.cpp",
793        "tests/unit/WebViewFunctorManagerTests.cpp",
794    ],
795    data: [
796        ":hwuimicro",
797    ],
798}
799
800// ------------------------
801// Macro-bench app
802// ------------------------
803
804cc_benchmark {
805    name: "hwuimacro",
806    defaults: ["hwui_test_defaults"],
807
808    static_libs: ["libhwui"],
809    shared_libs: [
810        "libmemunreachable",
811    ],
812
813    srcs: [
814        "tests/macrobench/TestSceneRunner.cpp",
815        "tests/macrobench/main.cpp",
816    ],
817}
818
819// ------------------------
820// Micro-bench app
821// ---------------------
822
823cc_benchmark {
824    name: "hwuimicro",
825    defaults: ["hwui_test_defaults"],
826
827    static_libs: ["libhwui_static"],
828    shared_libs: [
829        "libmemunreachable",
830    ],
831
832    srcs: [
833        "tests/microbench/main.cpp",
834        "tests/microbench/CanvasOpBench.cpp",
835        "tests/microbench/DisplayListCanvasBench.cpp",
836        "tests/microbench/LinearAllocatorBench.cpp",
837        "tests/microbench/PathParserBench.cpp",
838        "tests/microbench/RenderNodeBench.cpp",
839    ],
840}
841