Android.mk revision 991da31d4073396768f215c5c3e77e54368da75f
1e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain GuyLOCAL_PATH:= $(call my-dir)
2e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guyinclude $(CLEAR_VARS)
388ba339aefd74ffe0ea978ebb659a430f82940f0Dan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
4e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy
5dcdbba7c95c8495cf5b25b020b33af186e127bf2John ReckHWUI_NEW_OPS := true
6b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
7975591a7af883d866d86ab819e164c6004694744John Reck# Enables fine-grained GLES error checking
8975591a7af883d866d86ab819e164c6004694744John Reck# If set to true, every GLES call is wrapped & error checked
9975591a7af883d866d86ab819e164c6004694744John Reck# Has moderate overhead
10975591a7af883d866d86ab819e164c6004694744John ReckHWUI_ENABLE_OPENGL_VALIDATION := false
11975591a7af883d866d86ab819e164c6004694744John Reck
12d2e72141797e92ced2f076f6b3899a6b450966b4John Reckhwui_src_files := \
13d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    font/CacheTexture.cpp \
14d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    font/Font.cpp \
15d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderstate/Blend.cpp \
16d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderstate/MeshState.cpp \
179fded232a9548a304e0145011df8849fba0dcda7Chris Craik    renderstate/OffscreenBufferPool.cpp \
18d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderstate/PixelBufferState.cpp \
19d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderstate/RenderState.cpp \
20d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderstate/Scissor.cpp \
21d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderstate/Stencil.cpp \
22d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderstate/TextureState.cpp \
23d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderthread/CanvasContext.cpp \
24d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderthread/DrawFrameTask.cpp \
25d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderthread/EglManager.cpp \
26d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderthread/RenderProxy.cpp \
27d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderthread/RenderTask.cpp \
28d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderthread/RenderThread.cpp \
29d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    renderthread/TimeLord.cpp \
30d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    thread/TaskManager.cpp \
31d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    utils/Blur.cpp \
32d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    utils/GLUtils.cpp \
33d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    utils/LinearAllocator.cpp \
344c5efe9290543b723b76a8bd48518da1ae1dcb26Derek Sollenberger    utils/NinePatchImpl.cpp \
356e6646c03788f198a9878763680c05342d7622f3Chris Craik    utils/StringUtils.cpp \
36b2f5bd2d6043132d8c1d0f3e2e7e454c2693f499Tom Hudson    utils/TestWindowContext.cpp \
37804618d0863a5d8ad1b08a846bd5319be864a1cbDoris Liu    utils/VectorDrawableUtils.cpp \
38d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    AmbientShadow.cpp \
39d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    AnimationContext.cpp \
40d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Animator.cpp \
41d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    AnimatorManager.cpp \
42d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    AssetAtlas.cpp \
43d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Caches.cpp \
44a1717271caac5e8ea3808c331d4141ac01a42134Chris Craik    Canvas.cpp \
45d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    CanvasState.cpp \
46d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    ClipArea.cpp \
47d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    DamageAccumulator.cpp \
48d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    DeferredDisplayList.cpp \
49d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    DeferredLayerUpdater.cpp \
50704bed0da7cc75d0c517d425445de70ceb58060bJohn Reck    DeviceInfo.cpp \
51d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    DisplayList.cpp \
52d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    DisplayListCanvas.cpp \
53d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Dither.cpp \
54d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Extensions.cpp \
55d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    FboCache.cpp \
56d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    FontRenderer.cpp \
57d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    FrameInfo.cpp \
58d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    FrameInfoVisualizer.cpp \
59d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    GammaFontRenderer.cpp \
60d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    GlopBuilder.cpp \
6138e0c32852e3b9d8ca4a9d3791577f52536419cbJohn Reck    GpuMemoryTracker.cpp \
62d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    GradientCache.cpp \
63d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Image.cpp \
64d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Interpolator.cpp \
65d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    JankTracker.cpp \
66d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Layer.cpp \
67d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    LayerCache.cpp \
68d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    LayerRenderer.cpp \
690b7e8245db728d127ada698be63d78b33fc6e4daChris Craik    LayerUpdateQueue.cpp \
70d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Matrix.cpp \
71d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    OpenGLRenderer.cpp \
72d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Patch.cpp \
73d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    PatchCache.cpp \
74d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    PathCache.cpp \
75d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    PathTessellator.cpp \
7630bcf69df9cfae40b621335958656cb0e4afd7d5Doris Liu    PathParser.cpp \
77d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    PixelBuffer.cpp \
78d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Program.cpp \
79d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    ProgramCache.cpp \
80d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Properties.cpp \
81766431aa57c16ece8842287a92b2e7208e3b8ac3Doris Liu    PropertyValuesHolder.cpp \
82766431aa57c16ece8842287a92b2e7208e3b8ac3Doris Liu    PropertyValuesAnimatorSet.cpp \
83d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    RenderBufferCache.cpp \
84d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    RenderNode.cpp \
85d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    RenderProperties.cpp \
86d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    ResourceCache.cpp \
87d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    ShadowTessellator.cpp \
88d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    SkiaCanvas.cpp \
89d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    SkiaCanvasProxy.cpp \
90d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    SkiaShader.cpp \
91d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Snapshot.cpp \
92d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    SpotShadow.cpp \
93d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    TessellationCache.cpp \
94d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    TextDropShadowCache.cpp \
95d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Texture.cpp \
96e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck    TextureCache.cpp \
974bbc2931263b232fba61807fca00e127573eff42Doris Liu    VectorDrawable.cpp \
98e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck    protos/hwui.proto
99d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
1008160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craikhwui_test_common_src_files := \
10127e58b4f54d693ff1db7ab2edb5d47ca296c1278Chris Craik    $(call all-cpp-files-under, tests/common/scenes) \
10227e58b4f54d693ff1db7ab2edb5d47ca296c1278Chris Craik    tests/common/TestContext.cpp \
10327e58b4f54d693ff1db7ab2edb5d47ca296c1278Chris Craik    tests/common/TestScene.cpp \
1048160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/common/TestUtils.cpp
1058160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik
106d2e72141797e92ced2f076f6b3899a6b450966b4John Reckhwui_cflags := \
107d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES \
108d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    -DATRACE_TAG=ATRACE_TAG_VIEW -DLOG_TAG=\"OpenGLRenderer\" \
10982f5e0c5cd0fcbacd8094b7963a50a2e30e0846fJohn Reck    -Wall -Wno-unused-parameter -Wunreachable-code -Werror
110d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
111c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reck# GCC false-positives on this warning, and since we -Werror that's
112c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reck# a problem
113c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reckhwui_cflags += -Wno-free-nonheap-object
114c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reck
115b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craikifeq (true, $(HWUI_NEW_OPS))
116b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik    hwui_src_files += \
1179e7fcfda28fde747ba4e026772007cea77374e16Chris Craik        BakedOpDispatcher.cpp \
118b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik        BakedOpRenderer.cpp \
119e4db79de127cfe961195f52907af8451026eaa20Chris Craik        BakedOpState.cpp \
120f158b49c888f722194afe5a80539a2b020c130bcChris Craik        FrameBuilder.cpp \
121f158b49c888f722194afe5a80539a2b020c130bcChris Craik        LayerBuilder.cpp \
122b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik        RecordingCanvas.cpp
123b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
124b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik    hwui_cflags += -DHWUI_NEW_OPS
125b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
126b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craikendif
127b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
128d2e72141797e92ced2f076f6b3899a6b450966b4John Reckifndef HWUI_COMPILE_SYMBOLS
129d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_cflags += -fvisibility=hidden
130d2e72141797e92ced2f076f6b3899a6b450966b4John Reckendif
131d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
132d2e72141797e92ced2f076f6b3899a6b450966b4John Reckifdef HWUI_COMPILE_FOR_PERF
133d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    # TODO: Non-arm?
134d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_cflags += -fno-omit-frame-pointer -marm -mapcs
135d2e72141797e92ced2f076f6b3899a6b450966b4John Reckendif
136d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
137e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck# This has to be lazy-resolved because it depends on the LOCAL_MODULE_CLASS
138e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck# which varies depending on what is being built
139e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reckdefine hwui_proto_include
140e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck$(call local-generated-sources-dir)/proto/$(LOCAL_PATH)
141e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reckendef
142e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck
143d2e72141797e92ced2f076f6b3899a6b450966b4John Reckhwui_c_includes += \
144550780745fa28ae9a87d02331841ca5ce4f9c763Leon Scroggins III    external/skia/include/private \
145d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    external/skia/src/core
146d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
147d2e72141797e92ced2f076f6b3899a6b450966b4John Reckifneq (false,$(ANDROID_ENABLE_RENDERSCRIPT))
148d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_cflags += -DANDROID_ENABLE_RENDERSCRIPT
149d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_c_includes += \
150d2e72141797e92ced2f076f6b3899a6b450966b4John Reck        $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,TARGET,) \
151d2e72141797e92ced2f076f6b3899a6b450966b4John Reck        frameworks/rs/cpp \
152d2e72141797e92ced2f076f6b3899a6b450966b4John Reck        frameworks/rs
153d2e72141797e92ced2f076f6b3899a6b450966b4John Reckendif
154d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
155975591a7af883d866d86ab819e164c6004694744John Reckifeq (true, $(HWUI_ENABLE_OPENGL_VALIDATION))
156975591a7af883d866d86ab819e164c6004694744John Reck    hwui_cflags += -include debug/wrap_gles.h
157975591a7af883d866d86ab819e164c6004694744John Reck    hwui_src_files += debug/wrap_gles.cpp
158975591a7af883d866d86ab819e164c6004694744John Reck    hwui_c_includes += frameworks/native/opengl/libs/GLES2
159975591a7af883d866d86ab819e164c6004694744John Reck    hwui_cflags += -DDEBUG_OPENGL=3
160975591a7af883d866d86ab819e164c6004694744John Reckendif
161975591a7af883d866d86ab819e164c6004694744John Reck
162d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
163d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
164d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# static library
165d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
166d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
167d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
168d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
169d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_CLASS := STATIC_LIBRARIES
170d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE := libhwui_static
171d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_CFLAGS := $(hwui_cflags)
172d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES := $(hwui_src_files)
173e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn ReckLOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include)
174991da31d4073396768f215c5c3e77e54368da75fDerek SollenbergerLOCAL_EXPORT_C_INCLUDE_DIRS := \
175991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(LOCAL_PATH) \
176991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(hwui_c_includes) \
177991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(call hwui_proto_include)
178d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
179991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
180d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(BUILD_STATIC_LIBRARY)
181d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
182d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
1835fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# static library null gpu
1845fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# ------------------------
1855fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
1865fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craikinclude $(CLEAR_VARS)
1875fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
1885fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_MODULE_CLASS := STATIC_LIBRARIES
1895fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_MODULE := libhwui_static_null_gpu
1905fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_CFLAGS := \
1915fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik        $(hwui_cflags) \
1925fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik        -DHWUI_NULL_GPU
1935fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_SRC_FILES := \
1945fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik        $(hwui_src_files) \
195975591a7af883d866d86ab819e164c6004694744John Reck        debug/nullegl.cpp \
196975591a7af883d866d86ab819e164c6004694744John Reck        debug/nullgles.cpp
1975fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include)
198991da31d4073396768f215c5c3e77e54368da75fDerek SollenbergerLOCAL_EXPORT_C_INCLUDE_DIRS := \
199991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(LOCAL_PATH) \
200991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(hwui_c_includes) \
201991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(call hwui_proto_include)
2025fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
203991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
2045fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craikinclude $(BUILD_STATIC_LIBRARY)
2055fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
2065fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# ------------------------
207d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# shared library
208d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
209d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
210d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
211d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
212a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John ReckLOCAL_MODULE_CLASS := SHARED_LIBRARIES
213a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John ReckLOCAL_MODULE := libhwui
214d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
215991da31d4073396768f215c5c3e77e54368da75fDerek SollenbergerLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
216e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy
217991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
218a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John Reckinclude $(BUILD_SHARED_LIBRARY)
219edaecc1db0584fa017822dfc2da0c968b53967e6Andreas Gampe
220d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
221d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# unit tests
222d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
223d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
224d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
225d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
226d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE := hwui_unit_tests
227d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_TAGS := tests
2285fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_STATIC_LIBRARIES := libhwui_static_null_gpu
22998787e6c9b2c10b1ab7820bdac168686025b924aChris CraikLOCAL_CFLAGS := \
23098787e6c9b2c10b1ab7820bdac168686025b924aChris Craik        $(hwui_cflags) \
23198787e6c9b2c10b1ab7820bdac168686025b924aChris Craik        -DHWUI_NULL_GPU
232d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
233d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES += \
2348160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    $(hwui_test_common_src_files) \
23507d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8Chris Craik    tests/unit/BufferPoolTests.cpp \
2368160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/CanvasStateTests.cpp \
2378160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/ClipAreaTests.cpp \
238e5da4ef971258193cd1e89737a12b95b6ac244bbJohn Reck    tests/unit/CrashHandlerInjector.cpp \
2398160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/DamageAccumulatorTests.cpp \
2408160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/DeviceInfoTests.cpp \
2418160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/FatVectorTests.cpp \
24238e0c32852e3b9d8ca4a9d3791577f52536419cbJohn Reck    tests/unit/GpuMemoryTrackerTests.cpp \
2438160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/LayerUpdateQueueTests.cpp \
2448160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/LinearAllocatorTests.cpp \
2458160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/OffscreenBufferPoolTests.cpp \
24607d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8Chris Craik    tests/unit/SkiaBehaviorTests.cpp \
24706f5bc70a667a02b14e31d3f53f91d3661e30666Andres Morales    tests/unit/StringUtilsTests.cpp \
24807d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8Chris Craik    tests/unit/TextDropShadowCacheTests.cpp \
24983c9b5bf638d75a3395f57c2c57c31c959632f9dJohn Reck    tests/unit/VectorDrawableTests.cpp \
25083c9b5bf638d75a3395f57c2c57c31c959632f9dJohn Reck    tests/unit/GradientCacheTests.cpp
251d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
252b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craikifeq (true, $(HWUI_NEW_OPS))
253b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik    LOCAL_SRC_FILES += \
2548160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik        tests/unit/BakedOpStateTests.cpp \
255f158b49c888f722194afe5a80539a2b020c130bcChris Craik        tests/unit/FrameBuilderTests.cpp \
2561b94f9b77cb1a241b42f894572d819cc1153932fJohn Reck        tests/unit/LeakCheckTests.cpp \
2575ea1724be4d3b6039818f91fc087e1216c1463d5Chris Craik        tests/unit/RecordingCanvasTests.cpp
258b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craikendif
259b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
260991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
261d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(BUILD_NATIVE_TEST)
262d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
263d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
2648160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik# Macro-bench app
265d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
266d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
267d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
268d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
269d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp
270d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE:= hwuitest
271d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_TAGS := tests
272e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn ReckLOCAL_MODULE_CLASS := EXECUTABLES
273d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MULTILIB := both
274d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_STEM_32 := hwuitest
275d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_STEM_64 := hwuitest64
276d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_CFLAGS := $(hwui_cflags)
277d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
2785fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# set to libhwui_static_null_gpu to skip actual GL commands
2795fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
280d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
281d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES += \
2828160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    $(hwui_test_common_src_files) \
2838160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/macrobench/TestSceneRunner.cpp \
2848160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/macrobench/main.cpp
285d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
286991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
287d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(BUILD_EXECUTABLE)
2884a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
2894a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# ------------------------
2904a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# Micro-bench app
2914a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# ---------------------
2924a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reckinclude $(CLEAR_VARS)
2934a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
2944a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp
2954a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE:= hwuimicro
2964a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_TAGS := tests
2974a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_CLASS := EXECUTABLES
2984a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MULTILIB := both
2994a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_STEM_32 := hwuimicro
3004a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_STEM_64 := hwuimicro64
3018d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris CraikLOCAL_CFLAGS := \
3028d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris Craik        $(hwui_cflags) \
3038d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris Craik        -DHWUI_NULL_GPU
3044a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_C_INCLUDES += bionic/benchmarks/
3054a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
3065fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static_null_gpu
3074a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_STATIC_LIBRARIES := libbenchmark libbase
3084a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
3094a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_SRC_FILES += \
3108160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    $(hwui_test_common_src_files) \
3118160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/microbench/DisplayListCanvasBench.cpp \
3128160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/microbench/LinearAllocatorBench.cpp \
3138160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/microbench/PathParserBench.cpp \
314b251a2f51e636d036598ad27473b9cc55fdac1d7Chris Craik    tests/microbench/ShadowBench.cpp \
315b251a2f51e636d036598ad27473b9cc55fdac1d7Chris Craik    tests/microbench/TaskManagerBench.cpp
3164a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
3177db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reckifeq (true, $(HWUI_NEW_OPS))
3187db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reck    LOCAL_SRC_FILES += \
3197db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reck        tests/microbench/FrameBuilderBench.cpp
3207db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reckendif
3210a24b146cd3dacf372ce98424044423a5b2fbf2aChris Craik
322991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
3234a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reckinclude $(BUILD_EXECUTABLE)
324