Android.mk revision 02806288d1c56475413888a934c796e6e4eb11c5
1e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain GuyLOCAL_PATH:= $(call my-dir)
2e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guyinclude $(CLEAR_VARS)
388ba339aefd74ffe0ea978ebb659a430f82940f0Dan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
4e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy
5f0a76088f8132ca3ea10241c55c5e81aebe072c2Chris CraikHWUI_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
106cc3a25db5b5479f3896afa18615d2476fc3a569John ReckHWUI_ENABLE_OPENGL_VALIDATION := true
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 \
12291eff22b5d7f8fe551bae01331948858ce932a96Chris Craik        OpDumper.cpp \
123b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik        RecordingCanvas.cpp
124b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
125b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik    hwui_cflags += -DHWUI_NEW_OPS
126b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
127b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craikendif
128b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
129d2e72141797e92ced2f076f6b3899a6b450966b4John Reckifndef HWUI_COMPILE_SYMBOLS
130d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_cflags += -fvisibility=hidden
131d2e72141797e92ced2f076f6b3899a6b450966b4John Reckendif
132d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
133d2e72141797e92ced2f076f6b3899a6b450966b4John Reckifdef HWUI_COMPILE_FOR_PERF
134d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    # TODO: Non-arm?
135d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_cflags += -fno-omit-frame-pointer -marm -mapcs
136d2e72141797e92ced2f076f6b3899a6b450966b4John Reckendif
137d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
138e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck# This has to be lazy-resolved because it depends on the LOCAL_MODULE_CLASS
139e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck# which varies depending on what is being built
140e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reckdefine hwui_proto_include
141e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck$(call local-generated-sources-dir)/proto/$(LOCAL_PATH)
142e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reckendef
143e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck
144d2e72141797e92ced2f076f6b3899a6b450966b4John Reckhwui_c_includes += \
145550780745fa28ae9a87d02331841ca5ce4f9c763Leon Scroggins III    external/skia/include/private \
146d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    external/skia/src/core
147d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
148d2e72141797e92ced2f076f6b3899a6b450966b4John Reckifneq (false,$(ANDROID_ENABLE_RENDERSCRIPT))
149d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_cflags += -DANDROID_ENABLE_RENDERSCRIPT
150d2e72141797e92ced2f076f6b3899a6b450966b4John Reck    hwui_c_includes += \
151d2e72141797e92ced2f076f6b3899a6b450966b4John Reck        $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,TARGET,) \
152d2e72141797e92ced2f076f6b3899a6b450966b4John Reck        frameworks/rs/cpp \
153d2e72141797e92ced2f076f6b3899a6b450966b4John Reck        frameworks/rs
154d2e72141797e92ced2f076f6b3899a6b450966b4John Reckendif
155d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
156975591a7af883d866d86ab819e164c6004694744John Reckifeq (true, $(HWUI_ENABLE_OPENGL_VALIDATION))
157975591a7af883d866d86ab819e164c6004694744John Reck    hwui_cflags += -include debug/wrap_gles.h
158975591a7af883d866d86ab819e164c6004694744John Reck    hwui_src_files += debug/wrap_gles.cpp
159975591a7af883d866d86ab819e164c6004694744John Reck    hwui_c_includes += frameworks/native/opengl/libs/GLES2
160975591a7af883d866d86ab819e164c6004694744John Reck    hwui_cflags += -DDEBUG_OPENGL=3
161975591a7af883d866d86ab819e164c6004694744John Reckendif
162975591a7af883d866d86ab819e164c6004694744John Reck
163d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
164d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
165d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# static library
166d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
167d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
168d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
169d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
170d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_CLASS := STATIC_LIBRARIES
171d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE := libhwui_static
172d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_CFLAGS := $(hwui_cflags)
173d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES := $(hwui_src_files)
174e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn ReckLOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include)
175991da31d4073396768f215c5c3e77e54368da75fDerek SollenbergerLOCAL_EXPORT_C_INCLUDE_DIRS := \
176991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(LOCAL_PATH) \
177991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(hwui_c_includes) \
178991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(call hwui_proto_include)
179d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
180991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
181d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(BUILD_STATIC_LIBRARY)
182d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
183d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
1845fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# static library null gpu
1855fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# ------------------------
1865fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
1875fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craikinclude $(CLEAR_VARS)
1885fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
1895fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_MODULE_CLASS := STATIC_LIBRARIES
1905fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_MODULE := libhwui_static_null_gpu
1915fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_CFLAGS := \
1925fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik        $(hwui_cflags) \
1935fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik        -DHWUI_NULL_GPU
1945fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_SRC_FILES := \
1955fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik        $(hwui_src_files) \
196975591a7af883d866d86ab819e164c6004694744John Reck        debug/nullegl.cpp \
197975591a7af883d866d86ab819e164c6004694744John Reck        debug/nullgles.cpp
1985fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include)
199991da31d4073396768f215c5c3e77e54368da75fDerek SollenbergerLOCAL_EXPORT_C_INCLUDE_DIRS := \
200991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(LOCAL_PATH) \
201991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(hwui_c_includes) \
202991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger        $(call hwui_proto_include)
2035fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
204991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
2055fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craikinclude $(BUILD_STATIC_LIBRARY)
2065fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik
2075fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# ------------------------
208d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# shared library
209d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
210d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
211d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
212d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
213a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John ReckLOCAL_MODULE_CLASS := SHARED_LIBRARIES
214a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John ReckLOCAL_MODULE := libhwui
215d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
216991da31d4073396768f215c5c3e77e54368da75fDerek SollenbergerLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
217e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy
218991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
219a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John Reckinclude $(BUILD_SHARED_LIBRARY)
220edaecc1db0584fa017822dfc2da0c968b53967e6Andreas Gampe
221d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
222d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# unit tests
223d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
224d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
225d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
226d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
227d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE := hwui_unit_tests
228d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_TAGS := tests
2295fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_STATIC_LIBRARIES := libhwui_static_null_gpu
230dc87c52cd5645dd87380114462211574b63e6353John ReckLOCAL_SHARED_LIBRARIES := libmemunreachable
23198787e6c9b2c10b1ab7820bdac168686025b924aChris CraikLOCAL_CFLAGS := \
23298787e6c9b2c10b1ab7820bdac168686025b924aChris Craik        $(hwui_cflags) \
23398787e6c9b2c10b1ab7820bdac168686025b924aChris Craik        -DHWUI_NULL_GPU
234d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
235d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES += \
2368160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    $(hwui_test_common_src_files) \
237dc87c52cd5645dd87380114462211574b63e6353John Reck    tests/unit/main.cpp \
2388160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/CanvasStateTests.cpp \
2398160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/ClipAreaTests.cpp \
2408160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/DamageAccumulatorTests.cpp \
2418160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/DeviceInfoTests.cpp \
2428160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/FatVectorTests.cpp \
243f42bf3e2573bccb01babec448f925e9395bf224csergeyv    tests/unit/GlopBuilderTests.cpp \
24438e0c32852e3b9d8ca4a9d3791577f52536419cbJohn Reck    tests/unit/GpuMemoryTrackerTests.cpp \
2458160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/LayerUpdateQueueTests.cpp \
2468160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/LinearAllocatorTests.cpp \
247261725fdb2962271c222a049fcdf57bbdc8363c7Chris Craik    tests/unit/MatrixTests.cpp \
2488160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/unit/OffscreenBufferPoolTests.cpp \
24907d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8Chris Craik    tests/unit/SkiaBehaviorTests.cpp \
25006f5bc70a667a02b14e31d3f53f91d3661e30666Andres Morales    tests/unit/StringUtilsTests.cpp \
25107d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8Chris Craik    tests/unit/TextDropShadowCacheTests.cpp \
25283c9b5bf638d75a3395f57c2c57c31c959632f9dJohn Reck    tests/unit/VectorDrawableTests.cpp \
25383c9b5bf638d75a3395f57c2c57c31c959632f9dJohn Reck    tests/unit/GradientCacheTests.cpp
254d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
255b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craikifeq (true, $(HWUI_NEW_OPS))
256b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik    LOCAL_SRC_FILES += \
257419a1e7ef53468e494d21c66ea7f63c0c522d208Chris Craik        tests/unit/BakedOpDispatcherTests.cpp \
25802806288d1c56475413888a934c796e6e4eb11c5Chris Craik        tests/unit/BakedOpRendererTests.cpp \
2598160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik        tests/unit/BakedOpStateTests.cpp \
260f158b49c888f722194afe5a80539a2b020c130bcChris Craik        tests/unit/FrameBuilderTests.cpp \
2611b94f9b77cb1a241b42f894572d819cc1153932fJohn Reck        tests/unit/LeakCheckTests.cpp \
26291eff22b5d7f8fe551bae01331948858ce932a96Chris Craik        tests/unit/OpDumperTests.cpp \
2635ea1724be4d3b6039818f91fc087e1216c1463d5Chris Craik        tests/unit/RecordingCanvasTests.cpp
264b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craikendif
265b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik
266991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
267d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(BUILD_NATIVE_TEST)
268d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
269d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
2708160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik# Macro-bench app
271d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------
272d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
273d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS)
274d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
275d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp
276d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE:= hwuitest
277d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_TAGS := tests
278e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn ReckLOCAL_MODULE_CLASS := EXECUTABLES
279d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MULTILIB := both
280d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_STEM_32 := hwuitest
281d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_STEM_64 := hwuitest64
282d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_CFLAGS := $(hwui_cflags)
283d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
2845fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# set to libhwui_static_null_gpu to skip actual GL commands
2855fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
286d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
287d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES += \
2888160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    $(hwui_test_common_src_files) \
2898160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/macrobench/TestSceneRunner.cpp \
2908160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/macrobench/main.cpp
291d2e72141797e92ced2f076f6b3899a6b450966b4John Reck
292991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
293d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(BUILD_EXECUTABLE)
2944a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
2954a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# ------------------------
2964a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# Micro-bench app
2974a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# ---------------------
2984a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reckinclude $(CLEAR_VARS)
2994a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
3004a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp
3014a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE:= hwuimicro
3024a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_TAGS := tests
3034a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_CLASS := EXECUTABLES
3044a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MULTILIB := both
3054a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_STEM_32 := hwuimicro
3064a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_STEM_64 := hwuimicro64
3078d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris CraikLOCAL_CFLAGS := \
3088d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris Craik        $(hwui_cflags) \
3098d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris Craik        -DHWUI_NULL_GPU
3104a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
3115fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static_null_gpu
3120418afa362630e69bd853121770b115750ee46a4John ReckLOCAL_STATIC_LIBRARIES := libgoogle-benchmark
3134a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
3144a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_SRC_FILES += \
3158160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    $(hwui_test_common_src_files) \
3160418afa362630e69bd853121770b115750ee46a4John Reck    tests/microbench/main.cpp \
3178160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/microbench/DisplayListCanvasBench.cpp \
3188160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/microbench/LinearAllocatorBench.cpp \
3198160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik    tests/microbench/PathParserBench.cpp \
320b251a2f51e636d036598ad27473b9cc55fdac1d7Chris Craik    tests/microbench/ShadowBench.cpp \
321b251a2f51e636d036598ad27473b9cc55fdac1d7Chris Craik    tests/microbench/TaskManagerBench.cpp
3224a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck
3237db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reckifeq (true, $(HWUI_NEW_OPS))
3247db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reck    LOCAL_SRC_FILES += \
3257db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reck        tests/microbench/FrameBuilderBench.cpp
3267db5ffb7dbd30202468459e2ef4426e91d4fcbb3John Reckendif
3270a24b146cd3dacf372ce98424044423a5b2fbf2aChris Craik
328991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk
3294a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reckinclude $(BUILD_EXECUTABLE)
330