Android.mk revision 07d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8
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 \
81d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    RenderBufferCache.cpp \
82d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    RenderNode.cpp \
83d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    RenderProperties.cpp \
84d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    ResourceCache.cpp \
85d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    ShadowTessellator.cpp \
86d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    SkiaCanvas.cpp \
87d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    SkiaCanvasProxy.cpp \
88d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    SkiaShader.cpp \
89d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Snapshot.cpp \
90d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    SpotShadow.cpp \
91d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    TessellationCache.cpp \
92d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    TextDropShadowCache.cpp \
93d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    Texture.cpp \
94e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck    TextureCache.cpp \
954bbc2931263b232fba61807fca00e127573eff42Doris Liu    VectorDrawable.cpp \
96e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck    protos/hwui.proto
97d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
988160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craikhwui_test_common_src_files := \
9927e58b4f54d693ff1db7ab2edb5d47ca296c1278Chris Craik    $(call all-cpp-files-under, tests/common/scenes) \
10027e58b4f54d693ff1db7ab2edb5d47ca296c1278Chris Craik    tests/common/TestContext.cpp \
10127e58b4f54d693ff1db7ab2edb5d47ca296c1278Chris Craik    tests/common/TestScene.cpp \
1028160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/common/TestUtils.cpp
1038160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik
104d2e72141797e92ced2f076f6b3899a6b450966b4John Reckhwui_cflags := \
105d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES \
106d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    -DATRACE_TAG=ATRACE_TAG_VIEW -DLOG_TAG=\"OpenGLRenderer\" \
10782f5e0c5cd0fcbacd8094b7963a50a2e30e0846fJohn Reck    -Wall -Wno-unused-parameter -Wunreachable-code -Werror
108d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
109c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reck# GCC false-positives on this warning, and since we -Werror that's
110c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reck# a problem
111c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reckhwui_cflags += -Wno-free-nonheap-object
112c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reck
113b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craikifeq (true, $(HWUI_NEW_OPS))
114b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik    hwui_src_files += \
1159e7fcfda28fde747ba4e026772007cea77374e16Chris Craik        BakedOpDispatcher.cpp \
116b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik        BakedOpRenderer.cpp \
117e4db79de127cfe961195f52907af8451026eaa20Chris Craik        BakedOpState.cpp \
118f158b49c888f722194afe5a80539a2b020c130bcChris Craik        FrameBuilder.cpp \
119f158b49c888f722194afe5a80539a2b020c130bcChris Craik        LayerBuilder.cpp \
120b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik        RecordingCanvas.cpp
121b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
122b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik    hwui_cflags += -DHWUI_NEW_OPS
123b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
124b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craikendif
125b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
126d2e72141797e92ced2f076f6b3899a6b450966b4John Reckifndef HWUI_COMPILE_SYMBOLS
127d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_cflags += -fvisibility=hidden
128d2e72141797e92ced2f076f6b3899a6b450966b4John Reckendif
129d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
130d2e72141797e92ced2f076f6b3899a6b450966b4John Reckifdef HWUI_COMPILE_FOR_PERF
131d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    # TODO: Non-arm?
132d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_cflags += -fno-omit-frame-pointer -marm -mapcs
133d2e72141797e92ced2f076f6b3899a6b450966b4John Reckendif
134d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
135e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck# This has to be lazy-resolved because it depends on the LOCAL_MODULE_CLASS
136e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck# which varies depending on what is being built
137e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reckdefine hwui_proto_include
138e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck$(call local-generated-sources-dir)/proto/$(LOCAL_PATH)
139e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reckendef
140e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck
141d2e72141797e92ced2f076f6b3899a6b450966b4John Reckhwui_c_includes += \
142550780745fa28ae9a87d02331841ca5ce4f9c763Leon Scroggins III    external/skia/include/private \
143d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    external/skia/src/core
144d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
145d2e72141797e92ced2f076f6b3899a6b450966b4John Reckhwui_shared_libraries := \
146d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    liblog \
147d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    libcutils \
148d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    libutils \
149d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    libEGL \
150d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    libGLESv2 \
151d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    libskia \
152d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    libui \
153d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    libgui \
154e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck    libprotobuf-cpp-lite \
155d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
156d2e72141797e92ced2f076f6b3899a6b450966b4John Reckifneq (false,$(ANDROID_ENABLE_RENDERSCRIPT))
157d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_cflags += -DANDROID_ENABLE_RENDERSCRIPT
158d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_shared_libraries += libRS libRScpp
159d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_c_includes += \
160d2e72141797e92ced2f076f6b3899a6b450966b4John Reck        $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,TARGET,) \
161d2e72141797e92ced2f076f6b3899a6b450966b4John Reck        frameworks/rs/cpp \
162d2e72141797e92ced2f076f6b3899a6b450966b4John Reck        frameworks/rs
163d2e72141797e92ced2f076f6b3899a6b450966b4John Reckendif
164d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
165975591a7af883d866d86ab819e164c6004694744John Reckifeq (true, $(HWUI_ENABLE_OPENGL_VALIDATION))
166975591a7af883d866d86ab819e164c6004694744John Reck    hwui_cflags += -include debug/wrap_gles.h
167975591a7af883d866d86ab819e164c6004694744John Reck    hwui_src_files += debug/wrap_gles.cpp
168975591a7af883d866d86ab819e164c6004694744John Reck    hwui_c_includes += frameworks/native/opengl/libs/GLES2
169975591a7af883d866d86ab819e164c6004694744John Reck    hwui_cflags += -DDEBUG_OPENGL=3
170975591a7af883d866d86ab819e164c6004694744John Reckendif
171975591a7af883d866d86ab819e164c6004694744John Reck
172d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
173d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
174d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# static library
175d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
176d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
177d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
178d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
179d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_CLASS := STATIC_LIBRARIES
180d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE := libhwui_static
181d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries)
182d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_CFLAGS := $(hwui_cflags)
183d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES := $(hwui_src_files)
184e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn ReckLOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include)
185e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn ReckLOCAL_EXPORT_C_INCLUDE_DIRS := $(hwui_c_includes) $(call hwui_proto_include)
186d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
187d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(BUILD_STATIC_LIBRARY)
188d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
189d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
1905fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# static library null gpu
1915fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# ------------------------
1925fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
1935fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craikinclude $(CLEAR_VARS)
1945fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
1955fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_MODULE_CLASS := STATIC_LIBRARIES
1965fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_MODULE := libhwui_static_null_gpu
1975fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries)
1985fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_CFLAGS := \
1995fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik        $(hwui_cflags) \
2005fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik        -DHWUI_NULL_GPU
2015fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_SRC_FILES := \
2025fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik        $(hwui_src_files) \
203975591a7af883d866d86ab819e164c6004694744John Reck        debug/nullegl.cpp \
204975591a7af883d866d86ab819e164c6004694744John Reck        debug/nullgles.cpp
2055fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include)
2065fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_EXPORT_C_INCLUDE_DIRS := $(hwui_c_includes) $(call hwui_proto_include)
2075fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
2085fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craikinclude $(BUILD_STATIC_LIBRARY)
2095fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
2105fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# ------------------------
211d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# shared library
212d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
213d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
214d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
215d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
216a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John ReckLOCAL_MODULE_CLASS := SHARED_LIBRARIES
217a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John ReckLOCAL_MODULE := libhwui
218d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
219d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries)
220e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy
221a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John Reckinclude $(BUILD_SHARED_LIBRARY)
222edaecc1db0584fa017822dfc2da0c968b53967e6Andreas Gampe
223d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
224d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# unit tests
225d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
226d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
227d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
228d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
229d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE := hwui_unit_tests
230d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_TAGS := tests
231d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries)
2325fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_STATIC_LIBRARIES := libhwui_static_null_gpu
23398787e6c9b2c10b1ab7820bdac168686025b924aChris CraikLOCAL_CFLAGS := \
23498787e6c9b2c10b1ab7820bdac168686025b924aChris Craik        $(hwui_cflags) \
23598787e6c9b2c10b1ab7820bdac168686025b924aChris Craik        -DHWUI_NULL_GPU
236d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
237d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES += \
2388160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    $(hwui_test_common_src_files) \
23907d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8Chris Craik    tests/unit/BufferPoolTests.cpp \
2408160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/CanvasStateTests.cpp \
2418160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/ClipAreaTests.cpp \
242e5da4ef971258193cd1e89737a12b95b6ac244bbJohn Reck    tests/unit/CrashHandlerInjector.cpp \
2438160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/DamageAccumulatorTests.cpp \
2448160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/DeviceInfoTests.cpp \
2458160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/FatVectorTests.cpp \
24638e0c32852e3b9d8ca4a9d3791577f52536419cbJohn Reck    tests/unit/GpuMemoryTrackerTests.cpp \
2478160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/LayerUpdateQueueTests.cpp \
2488160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/LinearAllocatorTests.cpp \
2498160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/OffscreenBufferPoolTests.cpp \
25007d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8Chris Craik    tests/unit/SkiaBehaviorTests.cpp \
25106f5bc70a667a02b14e31d3f53f91d3661e30666Andres Morales    tests/unit/StringUtilsTests.cpp \
25207d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8Chris Craik    tests/unit/TextDropShadowCacheTests.cpp \
25307d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8Chris Craik    tests/unit/VectorDrawableTests.cpp
254d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
255b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craikifeq (true, $(HWUI_NEW_OPS))
256b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik    LOCAL_SRC_FILES += \
2578160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik        tests/unit/BakedOpStateTests.cpp \
258f158b49c888f722194afe5a80539a2b020c130bcChris Craik        tests/unit/FrameBuilderTests.cpp \
2591b94f9b77cb1a241b42f894572d819cc1153932fJohn Reck        tests/unit/LeakCheckTests.cpp \
2605ea1724be4d3b6039818f91fc087e1216c1463d5Chris Craik        tests/unit/RecordingCanvasTests.cpp
261b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craikendif
262b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
263d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(BUILD_NATIVE_TEST)
264d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
265d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
2668160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik# Macro-bench app
267d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
268d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
269d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
270d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
271d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp
272d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE:= hwuitest
273d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_TAGS := tests
274e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn ReckLOCAL_MODULE_CLASS := EXECUTABLES
275d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MULTILIB := both
276d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_STEM_32 := hwuitest
277d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_STEM_64 := hwuitest64
278d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries)
279d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_CFLAGS := $(hwui_cflags)
280d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
2815fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# set to libhwui_static_null_gpu to skip actual GL commands
2825fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
283d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
284d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES += \
2858160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    $(hwui_test_common_src_files) \
2868160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/macrobench/TestSceneRunner.cpp \
2878160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/macrobench/main.cpp
288d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
289d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(BUILD_EXECUTABLE)
2904a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
2914a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# ------------------------
2924a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# Micro-bench app
2934a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# ---------------------
2944a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reckinclude $(CLEAR_VARS)
2954a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
2964a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp
2974a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE:= hwuimicro
2984a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_TAGS := tests
2994a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_CLASS := EXECUTABLES
3004a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MULTILIB := both
3014a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_STEM_32 := hwuimicro
3024a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_STEM_64 := hwuimicro64
3034a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_SHARED_LIBRARIES := $(hwui_shared_libraries)
3048d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris CraikLOCAL_CFLAGS := \
3058d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris Craik        $(hwui_cflags) \
3068d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris Craik        -DHWUI_NULL_GPU
3074a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_C_INCLUDES += bionic/benchmarks/
3084a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
3095fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static_null_gpu
3104a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_STATIC_LIBRARIES := libbenchmark libbase
3114a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
3124a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_SRC_FILES += \
3138160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    $(hwui_test_common_src_files) \
3148160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/microbench/DisplayListCanvasBench.cpp \
3158160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/microbench/LinearAllocatorBench.cpp \
3168160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/microbench/PathParserBench.cpp \
3178160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/microbench/ShadowBench.cpp
3184a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
3197db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reckifeq (true, $(HWUI_NEW_OPS))
3207db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reck    LOCAL_SRC_FILES += \
3217db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reck        tests/microbench/FrameBuilderBench.cpp
3227db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reckendif
3230a24b146cd3dacf372ce98424044423a5b2fbf2aChris Craik
3244a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reckinclude $(BUILD_EXECUTABLE)
325