• 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    ],
118
119    static_libs: [
120        "libui-types",
121    ],
122
123    target: {
124        android: {
125            shared_libs: [
126                "android.hardware.graphics.common@1.2",
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                "libgui",
143                "libui",
144                "aconfig_text_flags_c_lib",
145                "aconfig_view_accessibility_flags_c_lib",
146                "server_configurable_flags",
147                "libaconfig_storage_read_api_cc",
148                "libgraphicsenv",
149            ],
150            static_libs: [
151                "libEGL_blobCache",
152                "libprotoutil",
153                "libshaders",
154                "libstatslog_hwui",
155                "libstatspull_lazy",
156                "libstatssocket_lazy",
157                "libtonemap",
158            ],
159            whole_static_libs: [
160                "hwui_flags_cc_lib",
161                "libsurfaceflingerflags",
162            ],
163        },
164        host: {
165            static_libs: [
166                "libandroidfw",
167                "libhostgraphics",
168                "libutils",
169            ],
170        },
171        host_linux: {
172            shared_libs: [
173                "libaconfig_storage_read_api_cc",
174            ],
175            whole_static_libs: [
176                "hwui_flags_cc_lib",
177            ],
178        },
179    },
180}
181
182cc_defaults {
183    name: "hwui_bugreport_font_cache_usage",
184    cflags: ["-DBUGREPORT_FONT_CACHE_USAGE"],
185}
186
187cc_defaults {
188    name: "hwui_compile_for_perf",
189    // TODO: Non-arm?
190    cflags: [
191        "-fno-omit-frame-pointer",
192        "-marm",
193        "-mapcs",
194    ],
195}
196
197// Build hwui library with ThinLTO by default.
198cc_defaults {
199    name: "hwui_lto",
200    target: {
201        android: {
202            lto: {
203                thin: true,
204            },
205        },
206    },
207}
208
209// ------------------------
210// framework-graphics jar
211// ------------------------
212
213java_sdk_library {
214    name: "framework-graphics",
215    defaults: ["framework-module-defaults"],
216    visibility: [
217        "//frameworks/base", // Framework
218    ],
219    impl_library_visibility: [
220        "//frameworks/base/ravenwood",
221    ],
222
223    srcs: [
224        ":framework-graphics-srcs",
225    ],
226
227    permitted_packages: [
228        "android.graphics",
229    ],
230
231    // TODO: once framework-graphics is officially part of the
232    // UI-rendering module this line would no longer be
233    // needed.
234    installable: true,
235
236    // Disable api_lint that the defaults enable
237    // TODO: enable this
238    api_lint: {
239        enabled: false,
240    },
241    // TODO: remove this
242    unsafe_ignore_missing_latest_api: true,
243}
244
245filegroup {
246    name: "framework-graphics-ravenwood-policies",
247    srcs: [
248        "framework-graphics-ravenwood-policies.txt",
249    ],
250    visibility: ["//frameworks/base/ravenwood"],
251}
252
253filegroup {
254    name: "framework-graphics-srcs",
255    srcs: [
256        "apex/java/**/*.java",
257    ],
258    path: "apex/java",
259}
260
261// ------------------------
262// APEX
263// ------------------------
264
265cc_library_headers {
266    name: "android_graphics_apex_headers",
267
268    host_supported: true,
269    export_include_dirs: [
270        "apex/include",
271    ],
272    target: {
273        windows: {
274            enabled: true,
275        },
276    },
277}
278
279cc_defaults {
280    name: "android_graphics_apex",
281    cflags: [
282        "-Wno-unused-parameter",
283        "-Wno-non-virtual-dtor",
284        "-Wno-maybe-uninitialized",
285        "-Wno-parentheses",
286        "-Wall",
287        "-Werror",
288        "-Wno-error=deprecated-declarations",
289        "-Wunused",
290        "-Wunreachable-code",
291    ],
292
293    cppflags: ["-Wno-conversion-null"],
294
295    srcs: [
296        "apex/android_canvas.cpp",
297        "apex/android_matrix.cpp",
298        "apex/android_paint.cpp",
299        "apex/android_region.cpp",
300        "apex/properties.cpp",
301    ],
302
303    header_libs: ["android_graphics_apex_headers"],
304
305    target: {
306        android: {
307            srcs: [ // sources that depend on android only libraries
308                "apex/android_bitmap.cpp",
309                "apex/jni_runtime.cpp",
310            ],
311        },
312        host: {
313            srcs: [
314                "apex/LayoutlibLoader.cpp",
315            ],
316        },
317    },
318}
319
320// ------------------------
321// Android Graphics JNI
322// ------------------------
323
324cc_library_headers {
325    name: "android_graphics_jni_headers",
326
327    host_supported: true,
328    export_include_dirs: [
329        "jni",
330    ],
331    target: {
332        windows: {
333            enabled: true,
334        },
335    },
336}
337
338cc_defaults {
339    name: "android_graphics_jni",
340    cflags: [
341        "-Wno-unused-parameter",
342        "-Wno-non-virtual-dtor",
343        "-Wno-maybe-uninitialized",
344        "-Wno-parentheses",
345
346        "-DGL_GLEXT_PROTOTYPES",
347        "-DEGL_EGLEXT_PROTOTYPES",
348
349        "-DU_USING_ICU_NAMESPACE=0",
350
351        "-Wall",
352        "-Werror",
353        "-Wno-error=deprecated-declarations",
354        "-Wunused",
355        "-Wunreachable-code",
356    ],
357
358    cppflags: ["-Wno-conversion-null"],
359
360    srcs: [
361        "jni/android_graphics_animation_NativeInterpolatorFactory.cpp",
362        "jni/android_graphics_animation_RenderNodeAnimator.cpp",
363        "jni/android_graphics_Canvas.cpp",
364        "jni/android_graphics_Color.cpp",
365        "jni/android_graphics_ColorSpace.cpp",
366        "jni/android_graphics_drawable_AnimatedVectorDrawable.cpp",
367        "jni/android_graphics_drawable_VectorDrawable.cpp",
368        "jni/android_graphics_HardwareRenderer.cpp",
369        "jni/android_graphics_HardwareBufferRenderer.cpp",
370        "jni/android_graphics_HardwareRendererObserver.cpp",
371        "jni/android_graphics_Matrix.cpp",
372        "jni/android_graphics_Picture.cpp",
373        "jni/android_graphics_DisplayListCanvas.cpp",
374        "jni/android_graphics_Mesh.cpp",
375        "jni/android_graphics_RenderNode.cpp",
376        "jni/android_nio_utils.cpp",
377        "jni/android_util_PathParser.cpp",
378
379        "jni/AnimatedImageDrawable.cpp",
380        "jni/Bitmap.cpp",
381        "jni/BitmapRegionDecoder.cpp",
382        "jni/RuntimeXfermode.cpp",
383        "jni/BufferUtils.cpp",
384        "jni/HardwareBufferHelpers.cpp",
385        "jni/BitmapFactory.cpp",
386        "jni/ByteBufferStreamAdaptor.cpp",
387        "jni/Camera.cpp",
388        "jni/CanvasProperty.cpp",
389        "jni/ColorFilter.cpp",
390        "jni/CreateJavaOutputStreamAdaptor.cpp",
391        "jni/FontFamily.cpp",
392        "jni/FontUtils.cpp",
393        "jni/Gainmap.cpp",
394        "jni/Graphics.cpp",
395        "jni/ImageDecoder.cpp",
396        "jni/Interpolator.cpp",
397        "jni/MeshSpecification.cpp",
398        "jni/MaskFilter.cpp",
399        "jni/NinePatch.cpp",
400        "jni/NinePatchPeeker.cpp",
401        "jni/Paint.cpp",
402        "jni/PaintFilter.cpp",
403        "jni/Path.cpp",
404        "jni/PathEffect.cpp",
405        "jni/PathIterator.cpp",
406        "jni/PathMeasure.cpp",
407        "jni/Picture.cpp",
408        "jni/Region.cpp",
409        "jni/ScopedParcel.cpp",
410        "jni/Shader.cpp",
411        "jni/RenderEffect.cpp",
412        "jni/RuntimeEffectUtils.cpp",
413        "jni/Typeface.cpp",
414        "jni/Utils.cpp",
415        "jni/YuvToJpegEncoder.cpp",
416        "jni/fonts/Font.cpp",
417        "jni/fonts/FontFamily.cpp",
418        "jni/text/LineBreaker.cpp",
419        "jni/text/MeasuredText.cpp",
420        "jni/text/TextShaper.cpp",
421        "jni/text/GraphemeBreak.cpp",
422    ],
423
424    header_libs: [
425        "android_graphics_jni_headers",
426        "libnativewindow_headers",
427    ],
428
429    include_dirs: [
430        "external/skia/include/private",
431        "external/skia/src/codec",
432        "external/skia/src/core",
433    ],
434
435    shared_libs: [
436        "libbase",
437        "libcutils",
438        "libharfbuzz_ng",
439        "libimage_io",
440        "libjpeg",
441        "libultrahdr",
442        "liblog",
443        "libminikin",
444        "libz",
445    ],
446
447    static_libs: [
448        "libziparchive_for_incfs",
449    ],
450
451    target: {
452        android: {
453            srcs: [ // sources that depend on android only libraries
454                "jni/android_graphics_TextureLayer.cpp",
455                "jni/GIFMovie.cpp",
456                "jni/GraphicsStatsService.cpp",
457                "jni/Movie.cpp",
458                "jni/MovieImpl.cpp",
459                "jni/pdf/PdfDocument.cpp",
460                "jni/pdf/PdfEditor.cpp",
461                "jni/pdf/PdfUtils.cpp",
462            ],
463            shared_libs: [
464                "libandroidfw",
465                "libbinder",
466                "libbinder_ndk",
467                "libmediandk",
468                "libnativedisplay",
469                "libnativewindow",
470                "libpdfium",
471            ],
472            static_libs: [
473                "libgif",
474                "libnativehelper_lazy",
475                "libstatslog_hwui",
476                "libstatspull_lazy",
477                "libstatssocket_lazy",
478            ],
479        },
480        linux: {
481            srcs: ["platform/linux/utils/SharedLib.cpp"],
482            shared_libs: [
483                "libbinder",
484                "libbinder_ndk",
485            ],
486        },
487        darwin: {
488            srcs: ["platform/darwin/utils/SharedLib.cpp"],
489        },
490        host: {
491            cflags: [
492                "-Wno-unused-const-variable",
493                "-Wno-unused-function",
494            ],
495            static_libs: [
496                "libandroidfw",
497                "libnativehelper_jvm",
498            ],
499        },
500    },
501}
502
503cc_library_static {
504    name: "libstatslog_hwui",
505    generated_sources: ["statslog_hwui.cpp"],
506    generated_headers: ["statslog_hwui.h"],
507    export_generated_headers: ["statslog_hwui.h"],
508    static_libs: [
509        "libstatssocket_lazy",
510        "libstatspull_lazy",
511    ],
512}
513
514genrule {
515    name: "statslog_hwui.h",
516    tools: ["stats-log-api-gen"],
517    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_hwui.h --module hwui" +
518        " --namespace android,uirenderer,stats",
519    out: [
520        "statslog_hwui.h",
521    ],
522}
523
524genrule {
525    name: "statslog_hwui.cpp",
526    tools: ["stats-log-api-gen"],
527    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_hwui.cpp --module hwui" +
528        " --namespace android,uirenderer,stats --importHeader statslog_hwui.h",
529    out: [
530        "statslog_hwui.cpp",
531    ],
532}
533
534genrule {
535    name: "statslog-hwui-java-gen",
536    tools: ["stats-log-api-gen"],
537    cmd: "$(location stats-log-api-gen) --java $(out) --module hwui --javaPackage com.android.os.coregraphics --javaClass HwuiStatsLog",
538    out: ["com/android/os/coregraphics/HwuiStatsLog.java"],
539}
540
541// ------------------------
542// library
543// ------------------------
544
545cc_library_headers {
546    name: "libhwui_internal_headers",
547
548    host_supported: true,
549    export_include_dirs: [
550        ".",
551    ],
552    header_libs: ["android_graphics_jni_headers"],
553    export_header_lib_headers: ["android_graphics_jni_headers"],
554    target: {
555        android: {
556            export_include_dirs: ["platform/android"],
557        },
558        host: {
559            export_include_dirs: ["platform/host"],
560        },
561        windows: {
562            enabled: true,
563        },
564    },
565}
566
567cc_defaults {
568    name: "libhwui_defaults",
569    defaults: ["hwui_defaults"],
570
571    whole_static_libs: ["libskia"],
572
573    srcs: [
574        "canvas/CanvasFrontend.cpp",
575        "canvas/CanvasOpBuffer.cpp",
576        "canvas/CanvasOpRasterizer.cpp",
577        "effects/StretchEffect.cpp",
578        "effects/GainmapRenderer.cpp",
579        "pipeline/skia/BackdropFilterDrawable.cpp",
580        "pipeline/skia/HolePunch.cpp",
581        "pipeline/skia/SkiaCpuPipeline.cpp",
582        "pipeline/skia/SkiaDisplayList.cpp",
583        "pipeline/skia/SkiaPipeline.cpp",
584        "pipeline/skia/SkiaRecordingCanvas.cpp",
585        "pipeline/skia/StretchMask.cpp",
586        "pipeline/skia/RenderNodeDrawable.cpp",
587        "pipeline/skia/ReorderBarrierDrawables.cpp",
588        "pipeline/skia/TransformCanvas.cpp",
589        "renderstate/RenderState.cpp",
590        "renderthread/CanvasContext.cpp",
591        "renderthread/DrawFrameTask.cpp",
592        "renderthread/Frame.cpp",
593        "renderthread/RenderEffectCapabilityQuery.cpp",
594        "renderthread/RenderProxy.cpp",
595        "renderthread/RenderTask.cpp",
596        "renderthread/TimeLord.cpp",
597        "hwui/AnimatedImageDrawable.cpp",
598        "hwui/AnimatedImageThread.cpp",
599        "hwui/Bitmap.cpp",
600        "hwui/BlurDrawLooper.cpp",
601        "hwui/Canvas.cpp",
602        "hwui/ImageDecoder.cpp",
603        "hwui/MinikinSkia.cpp",
604        "hwui/MinikinUtils.cpp",
605        "hwui/PaintImpl.cpp",
606        "hwui/Typeface.cpp",
607        "thread/CommonPool.cpp",
608        "utils/Blur.cpp",
609        "utils/Color.cpp",
610        "utils/LinearAllocator.cpp",
611        "utils/StringUtils.cpp",
612        "utils/StatsUtils.cpp",
613        "utils/TypefaceUtils.cpp",
614        "utils/VectorDrawableUtils.cpp",
615        "AnimationContext.cpp",
616        "Animator.cpp",
617        "AnimatorManager.cpp",
618        "CanvasTransform.cpp",
619        "DamageAccumulator.cpp",
620        "DeviceInfo.cpp",
621        "FrameInfo.cpp",
622        "FrameInfoVisualizer.cpp",
623        "FrameMetricsReporter.cpp",
624        "Gainmap.cpp",
625        "HWUIProperties.sysprop",
626        "Interpolator.cpp",
627        "JankTracker.cpp",
628        "Layer.cpp",
629        "LayerUpdateQueue.cpp",
630        "LightingInfo.cpp",
631        "Matrix.cpp",
632        "Mesh.cpp",
633        "MemoryPolicy.cpp",
634        "PathParser.cpp",
635        "ProfileData.cpp",
636        "Properties.cpp",
637        "PropertyValuesAnimatorSet.cpp",
638        "PropertyValuesHolder.cpp",
639        "RecordingCanvas.cpp",
640        "RenderNode.cpp",
641        "RenderProperties.cpp",
642        "RootRenderNode.cpp",
643        "SkiaCanvas.cpp",
644        "SkiaInterpolator.cpp",
645        "Tonemapper.cpp",
646        "TreeInfo.cpp",
647        "VectorDrawable.cpp",
648    ],
649
650    proto: {
651        export_proto_headers: true,
652    },
653
654    header_libs: ["libandroid_headers_private"],
655
656    target: {
657        android: {
658            header_libs: ["libtonemap_headers"],
659
660            local_include_dirs: ["platform/android"],
661
662            srcs: [
663                "pipeline/skia/ATraceMemoryDump.cpp",
664                "pipeline/skia/GLFunctorDrawable.cpp",
665                "pipeline/skia/LayerDrawable.cpp",
666                "pipeline/skia/ShaderCache.cpp",
667                "pipeline/skia/SkiaGpuPipeline.cpp",
668                "pipeline/skia/SkiaMemoryTracer.cpp",
669                "pipeline/skia/SkiaOpenGLPipeline.cpp",
670                "pipeline/skia/SkiaProfileRenderer.cpp",
671                "pipeline/skia/SkiaVulkanPipeline.cpp",
672                "pipeline/skia/VkFunctorDrawable.cpp",
673                "pipeline/skia/VkInteropFunctorDrawable.cpp",
674                "renderthread/CacheManager.cpp",
675                "renderthread/EglManager.cpp",
676                "renderthread/ReliableSurface.cpp",
677                "renderthread/VulkanManager.cpp",
678                "renderthread/VulkanSurface.cpp",
679                "renderthread/RenderThread.cpp",
680                "renderthread/HintSessionWrapper.cpp",
681                "service/GraphicsStatsService.cpp",
682                "utils/GLUtils.cpp",
683                "utils/NdkUtils.cpp",
684                "AutoBackendTextureRelease.cpp",
685                "DeferredLayerUpdater.cpp",
686                "HardwareBitmapUploader.cpp",
687                "ProfileDataContainer.cpp",
688                "Readback.cpp",
689                "WebViewFunctorManager.cpp",
690                "protos/graphicsstats.proto",
691            ],
692
693            // Allow implicit fallthroughs in HardwareBitmapUploader.cpp until they are fixed.
694            cflags: ["-Wno-implicit-fallthrough"],
695        },
696        host: {
697            header_libs: [
698                "libnativebase_headers",
699                "libnativedisplay_headers",
700            ],
701
702            local_include_dirs: ["platform/host"],
703
704            srcs: [
705                "platform/host/renderthread/CacheManager.cpp",
706                "platform/host/renderthread/HintSessionWrapper.cpp",
707                "platform/host/renderthread/ReliableSurface.cpp",
708                "platform/host/renderthread/RenderThread.cpp",
709                "platform/host/ProfileDataContainer.cpp",
710                "platform/host/Readback.cpp",
711                "platform/host/WebViewFunctorManager.cpp",
712            ],
713
714            cflags: [
715                "-DHWUI_NULL_GPU",
716                "-DNULL_GPU_MAX_TEXTURE_SIZE=4096",
717                "-Wno-unused-private-field",
718            ],
719        },
720    },
721}
722
723cc_library {
724    name: "libhwui",
725    host_supported: true,
726    defaults: [
727        "libhwui_defaults",
728        "android_graphics_apex",
729        "android_graphics_jni",
730        "linker_hugepage_aligned",
731    ],
732    export_header_lib_headers: ["android_graphics_apex_headers"],
733    target: {
734        android: {
735            version_script: "libhwui.map.txt",
736        },
737    },
738    afdo: true,
739}
740
741cc_library_static {
742    name: "libhwui_static",
743    defaults: [
744        "libhwui_defaults",
745    ],
746}
747
748cc_defaults {
749    name: "hwui_test_defaults",
750    defaults: ["hwui_defaults"],
751    test_suites: ["general-tests"],
752    header_libs: ["libandroid_headers_private"],
753    target: {
754        android: {
755            local_include_dirs: ["platform/android"],
756            shared_libs: [
757                "libgui",
758                "libui",
759            ],
760        },
761    },
762    srcs: [
763        "tests/common/scenes/*.cpp",
764        "tests/common/LeakChecker.cpp",
765        "tests/common/TestListViewSceneBase.cpp",
766        "tests/common/TestContext.cpp",
767        "tests/common/TestScene.cpp",
768        "tests/common/TestUtils.cpp",
769    ],
770}
771
772// ------------------------
773// unit tests
774// ------------------------
775
776cc_test {
777    name: "hwui_unit_tests",
778    test_config: "tests/unit/AndroidTest.xml",
779    defaults: [
780        "hwui_test_defaults",
781        "android_graphics_apex",
782        "android_graphics_jni",
783    ],
784
785    static_libs: [
786        "libflagtest",
787        "libgmock",
788        "libhwui_static",
789    ],
790    shared_libs: [
791        "libmemunreachable",
792    ],
793    srcs: [
794        "tests/unit/main.cpp",
795        "tests/unit/ABitmapTests.cpp",
796        "tests/unit/AutoBackendTextureReleaseTests.cpp",
797        "tests/unit/CacheManagerTests.cpp",
798        "tests/unit/CanvasContextTests.cpp",
799        "tests/unit/CanvasOpTests.cpp",
800        "tests/unit/CanvasFrontendTests.cpp",
801        "tests/unit/CommonPoolTests.cpp",
802        "tests/unit/DamageAccumulatorTests.cpp",
803        "tests/unit/DeferredLayerUpdaterTests.cpp",
804        "tests/unit/DrawTextFunctorTest.cpp",
805        "tests/unit/EglManagerTests.cpp",
806        "tests/unit/FatVectorTests.cpp",
807        "tests/unit/GraphicsStatsServiceTests.cpp",
808        "tests/unit/HintSessionWrapperTests.cpp",
809        "tests/unit/JankTrackerTests.cpp",
810        "tests/unit/FrameMetricsReporterTests.cpp",
811        "tests/unit/LayerUpdateQueueTests.cpp",
812        "tests/unit/LinearAllocatorTests.cpp",
813        "tests/unit/MatrixTests.cpp",
814        "tests/unit/OpBufferTests.cpp",
815        "tests/unit/PathInterpolatorTests.cpp",
816        "tests/unit/RenderEffectCapabilityQueryTests.cpp",
817        "tests/unit/RenderNodeDrawableTests.cpp",
818        "tests/unit/RenderNodeTests.cpp",
819        "tests/unit/RenderPropertiesTests.cpp",
820        "tests/unit/RenderThreadTests.cpp",
821        "tests/unit/ShaderCacheTests.cpp",
822        "tests/unit/SkiaBehaviorTests.cpp",
823        "tests/unit/SkiaDisplayListTests.cpp",
824        "tests/unit/SkiaPipelineTests.cpp",
825        "tests/unit/SkiaRenderPropertiesTests.cpp",
826        "tests/unit/SkiaCanvasTests.cpp",
827        "tests/unit/StretchEffectTests.cpp",
828        "tests/unit/StringUtilsTests.cpp",
829        "tests/unit/TestUtilsTests.cpp",
830        "tests/unit/ThreadBaseTests.cpp",
831        "tests/unit/TypefaceTests.cpp",
832        "tests/unit/UnderlineTest.cpp",
833        "tests/unit/VectorDrawableTests.cpp",
834        "tests/unit/WebViewFunctorManagerTests.cpp",
835    ],
836    data: [
837        ":hwuimicro",
838    ],
839}
840
841// ------------------------
842// Macro-bench app
843// ------------------------
844
845cc_benchmark {
846    name: "hwuimacro",
847    test_config: "tests/macrobench/AndroidTest.xml",
848    defaults: ["hwui_test_defaults"],
849
850    static_libs: ["libhwui"],
851    shared_libs: [
852        "libmemunreachable",
853    ],
854
855    srcs: [
856        "tests/macrobench/TestSceneRunner.cpp",
857        "tests/macrobench/main.cpp",
858    ],
859}
860
861// ------------------------
862// Micro-bench app
863// ---------------------
864
865cc_benchmark {
866    name: "hwuimicro",
867    test_config: "tests/microbench/AndroidTest.xml",
868    defaults: ["hwui_test_defaults"],
869
870    static_libs: ["libhwui_static"],
871    shared_libs: [
872        "libmemunreachable",
873    ],
874
875    srcs: [
876        "tests/microbench/main.cpp",
877        "tests/microbench/CanvasOpBench.cpp",
878        "tests/microbench/DisplayListCanvasBench.cpp",
879        "tests/microbench/LinearAllocatorBench.cpp",
880        "tests/microbench/PathParserBench.cpp",
881        "tests/microbench/RenderNodeBench.cpp",
882    ],
883}
884