Android.mk revision 5bb5626599c936fdbea9f0fea30505924d784c73
15778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_PATH:= $(call my-dir)
25778822d86b0337407514b9372562b86edfa91cdAndreas Huberinclude $(CLEAR_VARS)
35778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
45778822d86b0337407514b9372562b86edfa91cdAndreas Huber
55778822d86b0337407514b9372562b86edfa91cdAndreas HuberHWUI_NEW_OPS := true
65778822d86b0337407514b9372562b86edfa91cdAndreas HuberBUGREPORT_FONT_CACHE_USAGE := false
75778822d86b0337407514b9372562b86edfa91cdAndreas Huber
85778822d86b0337407514b9372562b86edfa91cdAndreas Huber# Enables fine-grained GLES error checking
95778822d86b0337407514b9372562b86edfa91cdAndreas Huber# If set to true, every GLES call is wrapped & error checked
105778822d86b0337407514b9372562b86edfa91cdAndreas Huber# Has moderate overhead
115778822d86b0337407514b9372562b86edfa91cdAndreas HuberHWUI_ENABLE_OPENGL_VALIDATION := false
125778822d86b0337407514b9372562b86edfa91cdAndreas Huber
135778822d86b0337407514b9372562b86edfa91cdAndreas Huberhwui_src_files := \
145778822d86b0337407514b9372562b86edfa91cdAndreas Huber    font/CacheTexture.cpp \
155778822d86b0337407514b9372562b86edfa91cdAndreas Huber    font/Font.cpp \
165778822d86b0337407514b9372562b86edfa91cdAndreas Huber    hwui/Canvas.cpp \
175778822d86b0337407514b9372562b86edfa91cdAndreas Huber    hwui/MinikinSkia.cpp \
185778822d86b0337407514b9372562b86edfa91cdAndreas Huber    hwui/MinikinUtils.cpp \
195778822d86b0337407514b9372562b86edfa91cdAndreas Huber    hwui/PaintImpl.cpp \
205778822d86b0337407514b9372562b86edfa91cdAndreas Huber    hwui/Typeface.cpp \
218ba01021b573889802e67e029225a96f0dfa471aAndy McFadden    renderstate/Blend.cpp \
224b75a9c8b93a90749bc5d22912ad0d96c12f4ecfAndreas Huber    renderstate/MeshState.cpp \
235778822d86b0337407514b9372562b86edfa91cdAndreas Huber    renderstate/OffscreenBufferPool.cpp \
245778822d86b0337407514b9372562b86edfa91cdAndreas Huber    renderstate/PixelBufferState.cpp \
255778822d86b0337407514b9372562b86edfa91cdAndreas Huber    renderstate/RenderState.cpp \
265778822d86b0337407514b9372562b86edfa91cdAndreas Huber    renderstate/Scissor.cpp \
275778822d86b0337407514b9372562b86edfa91cdAndreas Huber    renderstate/Stencil.cpp \
285778822d86b0337407514b9372562b86edfa91cdAndreas Huber    renderstate/TextureState.cpp \
295778822d86b0337407514b9372562b86edfa91cdAndreas Huber    renderthread/CanvasContext.cpp \
305b8987e7de9d04b09153f329c680d2316cdb44ecAndreas Huber    renderthread/DrawFrameTask.cpp \
3192cd05b8f2e994aabcdda5d7454c96a707dc9579Lajos Molnar    renderthread/EglManager.cpp \
32ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6Andreas Huber    renderthread/RenderProxy.cpp \
332606b10d51c2dceb851a2ea63e803aba4134bf00Chong Zhang    renderthread/RenderTask.cpp \
345778822d86b0337407514b9372562b86edfa91cdAndreas Huber    renderthread/RenderThread.cpp \
351a2952aee048ca7b1765e2bc09ebe9aeddaeafa3Mathias Agopian    renderthread/TimeLord.cpp \
365778822d86b0337407514b9372562b86edfa91cdAndreas Huber    thread/TaskManager.cpp \
375778822d86b0337407514b9372562b86edfa91cdAndreas Huber    utils/Blur.cpp \
385778822d86b0337407514b9372562b86edfa91cdAndreas Huber    utils/GLUtils.cpp \
395778822d86b0337407514b9372562b86edfa91cdAndreas Huber    utils/LinearAllocator.cpp \
405778822d86b0337407514b9372562b86edfa91cdAndreas Huber    utils/NinePatchImpl.cpp \
415778822d86b0337407514b9372562b86edfa91cdAndreas Huber    utils/StringUtils.cpp \
425778822d86b0337407514b9372562b86edfa91cdAndreas Huber    utils/TestWindowContext.cpp \
435778822d86b0337407514b9372562b86edfa91cdAndreas Huber    utils/VectorDrawableUtils.cpp \
445778822d86b0337407514b9372562b86edfa91cdAndreas Huber    AmbientShadow.cpp \
455778822d86b0337407514b9372562b86edfa91cdAndreas Huber    AnimationContext.cpp \
465778822d86b0337407514b9372562b86edfa91cdAndreas Huber    Animator.cpp \
475778822d86b0337407514b9372562b86edfa91cdAndreas Huber    AnimatorManager.cpp \
48c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang    AssetAtlas.cpp \
49c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang    Caches.cpp \
50c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang    CanvasState.cpp \
51c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang    ClipArea.cpp \
52c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang    DamageAccumulator.cpp \
53c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang    DeferredDisplayList.cpp \
54c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang    DeferredLayerUpdater.cpp \
552606b10d51c2dceb851a2ea63e803aba4134bf00Chong Zhang    DeviceInfo.cpp \
562606b10d51c2dceb851a2ea63e803aba4134bf00Chong Zhang    DisplayList.cpp \
575778822d86b0337407514b9372562b86edfa91cdAndreas Huber    DisplayListCanvas.cpp \
58251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hung    Dither.cpp \
595778822d86b0337407514b9372562b86edfa91cdAndreas Huber    Extensions.cpp \
605778822d86b0337407514b9372562b86edfa91cdAndreas Huber    FboCache.cpp \
61251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hung    FontRenderer.cpp \
625778822d86b0337407514b9372562b86edfa91cdAndreas Huber    FrameInfo.cpp \
635778822d86b0337407514b9372562b86edfa91cdAndreas Huber    FrameInfoVisualizer.cpp \
645778822d86b0337407514b9372562b86edfa91cdAndreas Huber    GammaFontRenderer.cpp \
651a2952aee048ca7b1765e2bc09ebe9aeddaeafa3Mathias Agopian    GlopBuilder.cpp \
661bd139a2a68690e80398b70b27ca59550fea0e65Andreas Huber    GpuMemoryTracker.cpp \
675778822d86b0337407514b9372562b86edfa91cdAndreas Huber    GradientCache.cpp \
685778822d86b0337407514b9372562b86edfa91cdAndreas Huber    Image.cpp \
69c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang    Interpolator.cpp \
70c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang    JankTracker.cpp \
717cd58537932ef6f481f68be0b9c597a89cebdfecAndy McFadden    Layer.cpp \
727cd58537932ef6f481f68be0b9c597a89cebdfecAndy McFadden    LayerCache.cpp \
735778822d86b0337407514b9372562b86edfa91cdAndreas Huber    LayerRenderer.cpp \
74c95c2ddcdfc974f42408a377fbe2de51b94a8c94Andreas Huber    LayerUpdateQueue.cpp \
75c95c2ddcdfc974f42408a377fbe2de51b94a8c94Andreas Huber    Matrix.cpp \
76c95c2ddcdfc974f42408a377fbe2de51b94a8c94Andreas Huber    OpenGLRenderer.cpp \
775778822d86b0337407514b9372562b86edfa91cdAndreas Huber    Patch.cpp \
785778822d86b0337407514b9372562b86edfa91cdAndreas Huber    PatchCache.cpp \
79671160ffe81592efa376dc1ff0fc3f4ddcdebc35Lajos Molnar    PathCache.cpp \
80671160ffe81592efa376dc1ff0fc3f4ddcdebc35Lajos Molnar    PathTessellator.cpp \
81671160ffe81592efa376dc1ff0fc3f4ddcdebc35Lajos Molnar    PathParser.cpp \
82671160ffe81592efa376dc1ff0fc3f4ddcdebc35Lajos Molnar    PixelBuffer.cpp \
83c95c2ddcdfc974f42408a377fbe2de51b94a8c94Andreas Huber    Program.cpp \
84c95c2ddcdfc974f42408a377fbe2de51b94a8c94Andreas Huber    ProgramCache.cpp \
85c95c2ddcdfc974f42408a377fbe2de51b94a8c94Andreas Huber    Properties.cpp \
86c95c2ddcdfc974f42408a377fbe2de51b94a8c94Andreas Huber    PropertyValuesHolder.cpp \
875778822d86b0337407514b9372562b86edfa91cdAndreas Huber    PropertyValuesAnimatorSet.cpp \
885778822d86b0337407514b9372562b86edfa91cdAndreas Huber    Readback.cpp \
895778822d86b0337407514b9372562b86edfa91cdAndreas Huber    RenderBufferCache.cpp \
905778822d86b0337407514b9372562b86edfa91cdAndreas Huber    RenderNode.cpp \
915778822d86b0337407514b9372562b86edfa91cdAndreas Huber    RenderProperties.cpp \
925778822d86b0337407514b9372562b86edfa91cdAndreas Huber    ResourceCache.cpp \
935778822d86b0337407514b9372562b86edfa91cdAndreas Huber    ShadowTessellator.cpp \
945b8987e7de9d04b09153f329c680d2316cdb44ecAndreas Huber    SkiaCanvas.cpp \
955b8987e7de9d04b09153f329c680d2316cdb44ecAndreas Huber    SkiaCanvasProxy.cpp \
965778822d86b0337407514b9372562b86edfa91cdAndreas Huber    SkiaShader.cpp \
974b75a9c8b93a90749bc5d22912ad0d96c12f4ecfAndreas Huber    Snapshot.cpp \
984b75a9c8b93a90749bc5d22912ad0d96c12f4ecfAndreas Huber    SpotShadow.cpp \
994b75a9c8b93a90749bc5d22912ad0d96c12f4ecfAndreas Huber    TessellationCache.cpp \
1004b75a9c8b93a90749bc5d22912ad0d96c12f4ecfAndreas Huber    TextDropShadowCache.cpp \
1014b75a9c8b93a90749bc5d22912ad0d96c12f4ecfAndreas Huber    Texture.cpp \
1024b75a9c8b93a90749bc5d22912ad0d96c12f4ecfAndreas Huber    TextureCache.cpp \
1034b75a9c8b93a90749bc5d22912ad0d96c12f4ecfAndreas Huber    VectorDrawable.cpp \
1044b75a9c8b93a90749bc5d22912ad0d96c12f4ecfAndreas Huber    protos/hwui.proto
1054b75a9c8b93a90749bc5d22912ad0d96c12f4ecfAndreas Huber
1065b8987e7de9d04b09153f329c680d2316cdb44ecAndreas Huberhwui_test_common_src_files := \
1075b8987e7de9d04b09153f329c680d2316cdb44ecAndreas Huber    $(call all-cpp-files-under, tests/common/scenes) \
1084b75a9c8b93a90749bc5d22912ad0d96c12f4ecfAndreas Huber    tests/common/TestContext.cpp \
1095778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/common/TestScene.cpp \
1105778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/common/TestUtils.cpp
1115778822d86b0337407514b9372562b86edfa91cdAndreas Huber
1125778822d86b0337407514b9372562b86edfa91cdAndreas Huberhwui_cflags := \
1135778822d86b0337407514b9372562b86edfa91cdAndreas Huber    -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES \
1145778822d86b0337407514b9372562b86edfa91cdAndreas Huber    -DATRACE_TAG=ATRACE_TAG_VIEW -DLOG_TAG=\"OpenGLRenderer\" \
1155778822d86b0337407514b9372562b86edfa91cdAndreas Huber    -Wall -Wno-unused-parameter -Wunreachable-code -Werror
1165778822d86b0337407514b9372562b86edfa91cdAndreas Huber
1175778822d86b0337407514b9372562b86edfa91cdAndreas Huberifeq ($(TARGET_USES_HWC2),true)
1185778822d86b0337407514b9372562b86edfa91cdAndreas Huber    hwui_cflags += -DUSE_HWC2
119fc7fca77caa12993dd938d5ff43797d781291027Lajos Molnarendif
1205778822d86b0337407514b9372562b86edfa91cdAndreas Huber
1215778822d86b0337407514b9372562b86edfa91cdAndreas Huber# GCC false-positives on this warning, and since we -Werror that's
1225778822d86b0337407514b9372562b86edfa91cdAndreas Huber# a problem
1237cd58537932ef6f481f68be0b9c597a89cebdfecAndy McFaddenhwui_cflags += -Wno-free-nonheap-object
1247cd58537932ef6f481f68be0b9c597a89cebdfecAndy McFadden
1255778822d86b0337407514b9372562b86edfa91cdAndreas Huberifeq (true, $(HWUI_NEW_OPS))
126e0381245dff04aa823a59aa8b85869eddab0f39fLajos Molnar    hwui_src_files += \
1275778822d86b0337407514b9372562b86edfa91cdAndreas Huber        BakedOpDispatcher.cpp \
1285778822d86b0337407514b9372562b86edfa91cdAndreas Huber        BakedOpRenderer.cpp \
1295778822d86b0337407514b9372562b86edfa91cdAndreas Huber        BakedOpState.cpp \
1305778822d86b0337407514b9372562b86edfa91cdAndreas Huber        FrameBuilder.cpp \
1317bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar        LayerBuilder.cpp \
1327bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar        OpDumper.cpp \
1337bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar        RecordingCanvas.cpp
1347bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar
135496238cc7551d414067dcbbb4fe3bd801f205f95Andreas Huber    hwui_cflags += -DHWUI_NEW_OPS
136496238cc7551d414067dcbbb4fe3bd801f205f95Andreas Huber
137575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huberendif
138575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber
139575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huberifeq (true, $(BUGREPORT_FONT_CACHE_USAGE))
140575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber    hwui_src_files += \
141575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber        font/FontCacheHistoryTracker.cpp
142717fd3d4328abf524978ce9c125ab8ae8d6bffadMartin Storsjo    hwui_cflags += -DBUGREPORT_FONT_CACHE_USAGE
143717fd3d4328abf524978ce9c125ab8ae8d6bffadMartin Storsjoendif
144a2eb22c1de262aa3fa7c356537ac2fe165afdf3dAndreas Huber
145a2eb22c1de262aa3fa7c356537ac2fe165afdf3dAndreas Huber
1465778822d86b0337407514b9372562b86edfa91cdAndreas Huberifndef HWUI_COMPILE_SYMBOLS
1475778822d86b0337407514b9372562b86edfa91cdAndreas Huber    hwui_cflags += -fvisibility=hidden
1485778822d86b0337407514b9372562b86edfa91cdAndreas Huberendif
1495778822d86b0337407514b9372562b86edfa91cdAndreas Huber
1505778822d86b0337407514b9372562b86edfa91cdAndreas Huberifdef HWUI_COMPILE_FOR_PERF
1515778822d86b0337407514b9372562b86edfa91cdAndreas Huber    # TODO: Non-arm?
1525778822d86b0337407514b9372562b86edfa91cdAndreas Huber    hwui_cflags += -fno-omit-frame-pointer -marm -mapcs
1535778822d86b0337407514b9372562b86edfa91cdAndreas Huberendif
1545778822d86b0337407514b9372562b86edfa91cdAndreas Huber
1555778822d86b0337407514b9372562b86edfa91cdAndreas Huber# This has to be lazy-resolved because it depends on the LOCAL_MODULE_CLASS
1565778822d86b0337407514b9372562b86edfa91cdAndreas Huber# which varies depending on what is being built
1575778822d86b0337407514b9372562b86edfa91cdAndreas Huberdefine hwui_proto_include
1585778822d86b0337407514b9372562b86edfa91cdAndreas Huber$(call local-generated-sources-dir)/proto/$(LOCAL_PATH)
1595778822d86b0337407514b9372562b86edfa91cdAndreas Huberendef
1600e8cfc36044ba97545e7c9e129b0b3e98eec5089Lajos Molnar
1615778822d86b0337407514b9372562b86edfa91cdAndreas Huberhwui_c_includes += \
162c95c2ddcdfc974f42408a377fbe2de51b94a8c94Andreas Huber    external/skia/include/private \
1635778822d86b0337407514b9372562b86edfa91cdAndreas Huber    external/skia/src/core \
1645778822d86b0337407514b9372562b86edfa91cdAndreas Huber    external/harfbuzz_ng/src \
1655778822d86b0337407514b9372562b86edfa91cdAndreas Huber    external/freetype/include
1665778822d86b0337407514b9372562b86edfa91cdAndreas Huber
1675778822d86b0337407514b9372562b86edfa91cdAndreas Huberifneq (false,$(ANDROID_ENABLE_RENDERSCRIPT))
1685778822d86b0337407514b9372562b86edfa91cdAndreas Huber    hwui_cflags += -DANDROID_ENABLE_RENDERSCRIPT
1695778822d86b0337407514b9372562b86edfa91cdAndreas Huber    hwui_c_includes += \
1705778822d86b0337407514b9372562b86edfa91cdAndreas Huber        $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,TARGET,) \
171575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber        frameworks/rs/cpp \
172575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber        frameworks/rs
1737cd58537932ef6f481f68be0b9c597a89cebdfecAndy McFaddenendif
174575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber
175575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huberifeq (true, $(HWUI_ENABLE_OPENGL_VALIDATION))
176575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber    hwui_cflags += -include debug/wrap_gles.h
177575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber    hwui_src_files += debug/wrap_gles.cpp
178575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber    hwui_c_includes += frameworks/native/opengl/libs/GLES2
179575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber    hwui_cflags += -DDEBUG_OPENGL=3
180575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huberendif
1817cd58537932ef6f481f68be0b9c597a89cebdfecAndy McFadden
182575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber
183575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber# ------------------------
184575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber# static library
185e0381245dff04aa823a59aa8b85869eddab0f39fLajos Molnar# ------------------------
186575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber
187575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huberinclude $(CLEAR_VARS)
188575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber
189575a5361fc970476cd7979638ee3ac00cc6e5024Andreas HuberLOCAL_MODULE_CLASS := STATIC_LIBRARIES
190575a5361fc970476cd7979638ee3ac00cc6e5024Andreas HuberLOCAL_MODULE := libhwui_static
191717fd3d4328abf524978ce9c125ab8ae8d6bffadMartin StorsjoLOCAL_CFLAGS := $(hwui_cflags)
192a2eb22c1de262aa3fa7c356537ac2fe165afdf3dAndreas HuberLOCAL_SRC_FILES := $(hwui_src_files)
193c5619c7a6dcc1137fde7520351ad5284e3e958abChong ZhangLOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include)
1945778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_EXPORT_C_INCLUDE_DIRS := \
1955778822d86b0337407514b9372562b86edfa91cdAndreas Huber        $(LOCAL_PATH) \
1965778822d86b0337407514b9372562b86edfa91cdAndreas Huber        $(hwui_c_includes) \
1975778822d86b0337407514b9372562b86edfa91cdAndreas Huber        $(call hwui_proto_include)
1985778822d86b0337407514b9372562b86edfa91cdAndreas Huber
1995778822d86b0337407514b9372562b86edfa91cdAndreas Huberinclude $(LOCAL_PATH)/hwui_static_deps.mk
2005778822d86b0337407514b9372562b86edfa91cdAndreas Huberinclude $(BUILD_STATIC_LIBRARY)
2015778822d86b0337407514b9372562b86edfa91cdAndreas Huber
2025778822d86b0337407514b9372562b86edfa91cdAndreas Huber# ------------------------
203ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6Andreas Huber# static library null gpu
204aa7f97bb9c70176245ffb7ed0ce52bee6c1a57d7Andreas Huber# ------------------------
205e96ee699aca0f711d41e6c0833e5de2341c4a36dAndreas Huber
206e96ee699aca0f711d41e6c0833e5de2341c4a36dAndreas Huberinclude $(CLEAR_VARS)
207c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang
2085778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_MODULE_CLASS := STATIC_LIBRARIES
2095778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_MODULE := libhwui_static_null_gpu
2105778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_CFLAGS := \
211609b815a3131d22da38b2f452faa9f89daad4039Andy Hung        $(hwui_cflags) \
2125778822d86b0337407514b9372562b86edfa91cdAndreas Huber        -DHWUI_NULL_GPU
213ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6Andreas HuberLOCAL_SRC_FILES := \
2145778822d86b0337407514b9372562b86edfa91cdAndreas Huber        $(hwui_src_files) \
2157bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar        debug/nullegl.cpp \
2165778822d86b0337407514b9372562b86edfa91cdAndreas Huber        debug/nullgles.cpp
2175778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include)
2185778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_EXPORT_C_INCLUDE_DIRS := \
2195778822d86b0337407514b9372562b86edfa91cdAndreas Huber        $(LOCAL_PATH) \
2205778822d86b0337407514b9372562b86edfa91cdAndreas Huber        $(hwui_c_includes) \
2215778822d86b0337407514b9372562b86edfa91cdAndreas Huber        $(call hwui_proto_include)
22292cd05b8f2e994aabcdda5d7454c96a707dc9579Lajos Molnar
223717fd3d4328abf524978ce9c125ab8ae8d6bffadMartin Storsjoinclude $(LOCAL_PATH)/hwui_static_deps.mk
2245778822d86b0337407514b9372562b86edfa91cdAndreas Huberinclude $(BUILD_STATIC_LIBRARY)
2255778822d86b0337407514b9372562b86edfa91cdAndreas Huber
226251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hung# ------------------------
2271a2952aee048ca7b1765e2bc09ebe9aeddaeafa3Mathias Agopian# shared library
2285778822d86b0337407514b9372562b86edfa91cdAndreas Huber# ------------------------
2295778822d86b0337407514b9372562b86edfa91cdAndreas Huber
230e0381245dff04aa823a59aa8b85869eddab0f39fLajos Molnarinclude $(CLEAR_VARS)
231c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang
2325778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_MODULE_CLASS := SHARED_LIBRARIES
2332606b10d51c2dceb851a2ea63e803aba4134bf00Chong ZhangLOCAL_MODULE := libhwui
2342606b10d51c2dceb851a2ea63e803aba4134bf00Chong ZhangLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
2352606b10d51c2dceb851a2ea63e803aba4134bf00Chong ZhangLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
236671160ffe81592efa376dc1ff0fc3f4ddcdebc35Lajos Molnar
237671160ffe81592efa376dc1ff0fc3f4ddcdebc35Lajos Molnarinclude $(LOCAL_PATH)/hwui_static_deps.mk
238671160ffe81592efa376dc1ff0fc3f4ddcdebc35Lajos Molnarinclude $(BUILD_SHARED_LIBRARY)
239671160ffe81592efa376dc1ff0fc3f4ddcdebc35Lajos Molnar
240671160ffe81592efa376dc1ff0fc3f4ddcdebc35Lajos Molnar# ------------------------
2417bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar# unit tests
2427bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar# ------------------------
2437bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar
2447bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnarinclude $(CLEAR_VARS)
2457bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar
2467bad72237b49ac47e77ffe2a89fd26f3d171324cLajos MolnarLOCAL_MODULE := hwui_unit_tests
2475778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_MODULE_TAGS := tests
2485778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_STATIC_LIBRARIES := libhwui_static_null_gpu
2495778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_SHARED_LIBRARIES := libmemunreachable
2505778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_CFLAGS := \
2515778822d86b0337407514b9372562b86edfa91cdAndreas Huber        $(hwui_cflags) \
2525778822d86b0337407514b9372562b86edfa91cdAndreas Huber        -DHWUI_NULL_GPU
2535778822d86b0337407514b9372562b86edfa91cdAndreas Huber
2545778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_SRC_FILES += \
2555778822d86b0337407514b9372562b86edfa91cdAndreas Huber    $(hwui_test_common_src_files) \
256ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6Andreas Huber    tests/unit/main.cpp \
257ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6Andreas Huber    tests/unit/CanvasStateTests.cpp \
2588ee516a515c70a492c395b67ce12e19e7d159804Andreas Huber    tests/unit/ClipAreaTests.cpp \
2598ee516a515c70a492c395b67ce12e19e7d159804Andreas Huber    tests/unit/DamageAccumulatorTests.cpp \
260575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber    tests/unit/DeviceInfoTests.cpp \
261575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber    tests/unit/FatVectorTests.cpp \
2626507d14c6d10f93d390de62b9eed267f9b544985Andy McFadden    tests/unit/FontRendererTests.cpp \
2636507d14c6d10f93d390de62b9eed267f9b544985Andy McFadden    tests/unit/GlopBuilderTests.cpp \
2645778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/unit/GpuMemoryTrackerTests.cpp \
2655778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/unit/GradientCacheTests.cpp \
2665778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/unit/LayerUpdateQueueTests.cpp \
2675778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/unit/LinearAllocatorTests.cpp \
2685778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/unit/MatrixTests.cpp \
269c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang    tests/unit/OffscreenBufferPoolTests.cpp \
270c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang    tests/unit/RenderNodeTests.cpp \
271dc9f58dc23a86d0635fd8601d1cbc8d47bab0303Andy Hung    tests/unit/RenderPropertiesTests.cpp \
2725778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/unit/SkiaBehaviorTests.cpp \
2735778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/unit/SnapshotTests.cpp \
2745778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/unit/StringUtilsTests.cpp \
2755778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/unit/TestUtilsTests.cpp \
2765778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/unit/TextDropShadowCacheTests.cpp \
2775778822d86b0337407514b9372562b86edfa91cdAndreas Huber    tests/unit/VectorDrawableTests.cpp
2785778822d86b0337407514b9372562b86edfa91cdAndreas Huber
2795778822d86b0337407514b9372562b86edfa91cdAndreas Huberifeq (true, $(HWUI_NEW_OPS))
2805778822d86b0337407514b9372562b86edfa91cdAndreas Huber    LOCAL_SRC_FILES += \
2817bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar        tests/unit/BakedOpDispatcherTests.cpp \
2827bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar        tests/unit/BakedOpRendererTests.cpp \
2837bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar        tests/unit/BakedOpStateTests.cpp \
2847bad72237b49ac47e77ffe2a89fd26f3d171324cLajos Molnar        tests/unit/FrameBuilderTests.cpp \
2855778822d86b0337407514b9372562b86edfa91cdAndreas Huber        tests/unit/LeakCheckTests.cpp \
2865778822d86b0337407514b9372562b86edfa91cdAndreas Huber        tests/unit/OpDumperTests.cpp \
2875778822d86b0337407514b9372562b86edfa91cdAndreas Huber        tests/unit/RecordingCanvasTests.cpp \
2885778822d86b0337407514b9372562b86edfa91cdAndreas Huber        tests/unit/SkiaCanvasTests.cpp
2898ee516a515c70a492c395b67ce12e19e7d159804Andreas Huberendif
2908ee516a515c70a492c395b67ce12e19e7d159804Andreas Huber
2918ee516a515c70a492c395b67ce12e19e7d159804Andreas Huberinclude $(LOCAL_PATH)/hwui_static_deps.mk
2927541ff5d83a3e77cb533841a0326a241550b95d9Andreas Huberinclude $(BUILD_NATIVE_TEST)
2931a2952aee048ca7b1765e2bc09ebe9aeddaeafa3Mathias Agopian
2947541ff5d83a3e77cb533841a0326a241550b95d9Andreas Huber# ------------------------
295575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber# Macro-bench app
296575a5361fc970476cd7979638ee3ac00cc6e5024Andreas Huber# ------------------------
297c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhang
298c5619c7a6dcc1137fde7520351ad5284e3e958abChong Zhanginclude $(CLEAR_VARS)
299749dafad09d85f2aaf6902a7ff16b4087e3bc4c7Chong Zhang
300c5619c7a6dcc1137fde7520351ad5284e3e958abChong ZhangLOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp
301c5619c7a6dcc1137fde7520351ad5284e3e958abChong ZhangLOCAL_MODULE:= hwuitest
302a2eb22c1de262aa3fa7c356537ac2fe165afdf3dAndreas HuberLOCAL_MODULE_TAGS := tests
303a2eb22c1de262aa3fa7c356537ac2fe165afdf3dAndreas HuberLOCAL_MODULE_CLASS := EXECUTABLES
304e96ee699aca0f711d41e6c0833e5de2341c4a36dAndreas HuberLOCAL_MULTILIB := both
3052606b10d51c2dceb851a2ea63e803aba4134bf00Chong ZhangLOCAL_MODULE_STEM_32 := hwuitest
3060e8cfc36044ba97545e7c9e129b0b3e98eec5089Lajos MolnarLOCAL_MODULE_STEM_64 := hwuitest64
307e96ee699aca0f711d41e6c0833e5de2341c4a36dAndreas HuberLOCAL_CFLAGS := $(hwui_cflags)
308251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hung
309251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hung# set to libhwui_static_null_gpu to skip actual GL commands
310251d4be8aa5ab80bc915a82a2420233bdc62018eAndy HungLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
311251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hung
312251d4be8aa5ab80bc915a82a2420233bdc62018eAndy HungLOCAL_SRC_FILES += \
313251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hung    $(hwui_test_common_src_files) \
314251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hung    tests/macrobench/TestSceneRunner.cpp \
315251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hung    tests/macrobench/main.cpp
316251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hung
317251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hunginclude $(LOCAL_PATH)/hwui_static_deps.mk
318251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hunginclude $(BUILD_EXECUTABLE)
319251d4be8aa5ab80bc915a82a2420233bdc62018eAndy Hung
3205778822d86b0337407514b9372562b86edfa91cdAndreas Huber# ------------------------
3215778822d86b0337407514b9372562b86edfa91cdAndreas Huber# Micro-bench app
3225778822d86b0337407514b9372562b86edfa91cdAndreas Huber# ---------------------
3235778822d86b0337407514b9372562b86edfa91cdAndreas Huberinclude $(CLEAR_VARS)
3245778822d86b0337407514b9372562b86edfa91cdAndreas Huber
3255778822d86b0337407514b9372562b86edfa91cdAndreas HuberLOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp
326LOCAL_MODULE:= hwuimicro
327LOCAL_MODULE_TAGS := tests
328LOCAL_MODULE_CLASS := EXECUTABLES
329LOCAL_MULTILIB := both
330LOCAL_MODULE_STEM_32 := hwuimicro
331LOCAL_MODULE_STEM_64 := hwuimicro64
332LOCAL_CFLAGS := \
333        $(hwui_cflags) \
334        -DHWUI_NULL_GPU
335
336LOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static_null_gpu
337LOCAL_STATIC_LIBRARIES := libgoogle-benchmark
338
339LOCAL_SRC_FILES += \
340    $(hwui_test_common_src_files) \
341    tests/microbench/main.cpp \
342    tests/microbench/DisplayListCanvasBench.cpp \
343    tests/microbench/FontBench.cpp \
344    tests/microbench/LinearAllocatorBench.cpp \
345    tests/microbench/PathParserBench.cpp \
346    tests/microbench/ShadowBench.cpp \
347    tests/microbench/TaskManagerBench.cpp
348
349ifeq (true, $(HWUI_NEW_OPS))
350    LOCAL_SRC_FILES += \
351        tests/microbench/FrameBuilderBench.cpp
352endif
353
354include $(LOCAL_PATH)/hwui_static_deps.mk
355include $(BUILD_EXECUTABLE)
356