1e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain GuyLOCAL_PATH:= $(call my-dir) 2e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guyinclude $(CLEAR_VARS) 388ba339aefd74ffe0ea978ebb659a430f82940f0Dan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 4e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy 55bb5626599c936fdbea9f0fea30505924d784c73sergeyvBUGREPORT_FONT_CACHE_USAGE := false 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 10005275d238454dcadc21f4946d4104380f691b24Chris CraikHWUI_ENABLE_OPENGL_VALIDATION := false 11975591a7af883d866d86ab819e164c6004694744John Reck 12d2e72141797e92ced2f076f6b3899a6b450966b4John Reckhwui_src_files := \ 13c1c54062f8cc9d47bdea820ae5ab6aef260b4488sergeyv hwui/Bitmap.cpp \ 14d2e72141797e92ced2f076f6b3899a6b450966b4John Reck font/CacheTexture.cpp \ 15d2e72141797e92ced2f076f6b3899a6b450966b4John Reck font/Font.cpp \ 16dccca44ffda4836b56a21da95a046c9708ffd49csergeyv hwui/Canvas.cpp \ 17dccca44ffda4836b56a21da95a046c9708ffd49csergeyv hwui/MinikinSkia.cpp \ 18dccca44ffda4836b56a21da95a046c9708ffd49csergeyv hwui/MinikinUtils.cpp \ 19dccca44ffda4836b56a21da95a046c9708ffd49csergeyv hwui/PaintImpl.cpp \ 20bad99183916ba2bac6659efc8a28273e344ba511sergeyv hwui/Typeface.cpp \ 21021693b967a2c5556dddd183eb0247df4079e1adStan Iliev pipeline/skia/GLFunctorDrawable.cpp \ 22021693b967a2c5556dddd183eb0247df4079e1adStan Iliev pipeline/skia/LayerDrawable.cpp \ 23021693b967a2c5556dddd183eb0247df4079e1adStan Iliev pipeline/skia/RenderNodeDrawable.cpp \ 24021693b967a2c5556dddd183eb0247df4079e1adStan Iliev pipeline/skia/ReorderBarrierDrawables.cpp \ 25021693b967a2c5556dddd183eb0247df4079e1adStan Iliev pipeline/skia/SkiaDisplayList.cpp \ 26500a0c30d4dcd012218c3e44a62926a1c34a259fStan Iliev pipeline/skia/SkiaOpenGLPipeline.cpp \ 27c4fbada76aa840105553b2c2bce2204e673d2983Derek Sollenberger pipeline/skia/SkiaOpenGLReadback.cpp \ 28500a0c30d4dcd012218c3e44a62926a1c34a259fStan Iliev pipeline/skia/SkiaPipeline.cpp \ 29cf2c05c652190ddc66f873192c17d193478138a1Matt Sarett pipeline/skia/SkiaProfileRenderer.cpp \ 30021693b967a2c5556dddd183eb0247df4079e1adStan Iliev pipeline/skia/SkiaRecordingCanvas.cpp \ 31500a0c30d4dcd012218c3e44a62926a1c34a259fStan Iliev pipeline/skia/SkiaVulkanPipeline.cpp \ 32d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderstate/Blend.cpp \ 33d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderstate/MeshState.cpp \ 349fded232a9548a304e0145011df8849fba0dcda7Chris Craik renderstate/OffscreenBufferPool.cpp \ 35d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderstate/PixelBufferState.cpp \ 36d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderstate/RenderState.cpp \ 37d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderstate/Scissor.cpp \ 38d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderstate/Stencil.cpp \ 39d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderstate/TextureState.cpp \ 40d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderthread/CanvasContext.cpp \ 41768e39335b668e8ef25fef30ab42b2d6d29a4735Stan Iliev renderthread/OpenGLPipeline.cpp \ 42d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderthread/DrawFrameTask.cpp \ 43d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderthread/EglManager.cpp \ 440e3cba31460e0698def0310003b7d291f1174afaDerek Sollenberger renderthread/VulkanManager.cpp \ 45d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderthread/RenderProxy.cpp \ 46d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderthread/RenderTask.cpp \ 47d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderthread/RenderThread.cpp \ 48d2e72141797e92ced2f076f6b3899a6b450966b4John Reck renderthread/TimeLord.cpp \ 49cd55852fcd840f7f4c4d7a0a7253a2995c77afa2Greg Daniel renderthread/Frame.cpp \ 50df1742ed47da1e9b61afeae16fa448d5302a8aa0John Reck service/GraphicsStatsService.cpp \ 51d2e72141797e92ced2f076f6b3899a6b450966b4John Reck thread/TaskManager.cpp \ 52d2e72141797e92ced2f076f6b3899a6b450966b4John Reck utils/Blur.cpp \ 53caaaa66e57293e4a6f312649bf472eab84d5c7feRomain Guy utils/Color.cpp \ 54d2e72141797e92ced2f076f6b3899a6b450966b4John Reck utils/GLUtils.cpp \ 55d2e72141797e92ced2f076f6b3899a6b450966b4John Reck utils/LinearAllocator.cpp \ 566e6646c03788f198a9878763680c05342d7622f3Chris Craik utils/StringUtils.cpp \ 57b2f5bd2d6043132d8c1d0f3e2e7e454c2693f499Tom Hudson utils/TestWindowContext.cpp \ 58804618d0863a5d8ad1b08a846bd5319be864a1cbDoris Liu utils/VectorDrawableUtils.cpp \ 59d2e72141797e92ced2f076f6b3899a6b450966b4John Reck AmbientShadow.cpp \ 60d2e72141797e92ced2f076f6b3899a6b450966b4John Reck AnimationContext.cpp \ 61d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Animator.cpp \ 62d2e72141797e92ced2f076f6b3899a6b450966b4John Reck AnimatorManager.cpp \ 635e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik BakedOpDispatcher.cpp \ 645e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik BakedOpRenderer.cpp \ 655e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik BakedOpState.cpp \ 66d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Caches.cpp \ 67d2e72141797e92ced2f076f6b3899a6b450966b4John Reck CanvasState.cpp \ 68d2e72141797e92ced2f076f6b3899a6b450966b4John Reck ClipArea.cpp \ 69d2e72141797e92ced2f076f6b3899a6b450966b4John Reck DamageAccumulator.cpp \ 70d2e72141797e92ced2f076f6b3899a6b450966b4John Reck DeferredLayerUpdater.cpp \ 71704bed0da7cc75d0c517d425445de70ceb58060bJohn Reck DeviceInfo.cpp \ 72d2e72141797e92ced2f076f6b3899a6b450966b4John Reck DisplayList.cpp \ 73d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Extensions.cpp \ 74d2e72141797e92ced2f076f6b3899a6b450966b4John Reck FboCache.cpp \ 75d2e72141797e92ced2f076f6b3899a6b450966b4John Reck FontRenderer.cpp \ 765e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik FrameBuilder.cpp \ 77d2e72141797e92ced2f076f6b3899a6b450966b4John Reck FrameInfo.cpp \ 78d2e72141797e92ced2f076f6b3899a6b450966b4John Reck FrameInfoVisualizer.cpp \ 79d2e72141797e92ced2f076f6b3899a6b450966b4John Reck GammaFontRenderer.cpp \ 808cd3edfa15cc9cdbffa935d19ab894426b08d174Greg Daniel GlLayer.cpp \ 81d2e72141797e92ced2f076f6b3899a6b450966b4John Reck GlopBuilder.cpp \ 8238e0c32852e3b9d8ca4a9d3791577f52536419cbJohn Reck GpuMemoryTracker.cpp \ 83d2e72141797e92ced2f076f6b3899a6b450966b4John Reck GradientCache.cpp \ 84d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Image.cpp \ 85d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Interpolator.cpp \ 86d2e72141797e92ced2f076f6b3899a6b450966b4John Reck JankTracker.cpp \ 87d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Layer.cpp \ 885e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik LayerBuilder.cpp \ 890b7e8245db728d127ada698be63d78b33fc6e4daChris Craik LayerUpdateQueue.cpp \ 90d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Matrix.cpp \ 915e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik OpDumper.cpp \ 92c4fbada76aa840105553b2c2bce2204e673d2983Derek Sollenberger OpenGLReadback.cpp \ 93d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Patch.cpp \ 94d2e72141797e92ced2f076f6b3899a6b450966b4John Reck PatchCache.cpp \ 95d2e72141797e92ced2f076f6b3899a6b450966b4John Reck PathCache.cpp \ 9630bcf69df9cfae40b621335958656cb0e4afd7d5Doris Liu PathParser.cpp \ 975e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik PathTessellator.cpp \ 98d2e72141797e92ced2f076f6b3899a6b450966b4John Reck PixelBuffer.cpp \ 99de97307362c26b64e2376b21ccde8414088cdc8bMatt Sarett ProfileRenderer.cpp \ 100d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Program.cpp \ 101d2e72141797e92ced2f076f6b3899a6b450966b4John Reck ProgramCache.cpp \ 102d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Properties.cpp \ 103766431aa57c16ece8842287a92b2e7208e3b8ac3Doris Liu PropertyValuesAnimatorSet.cpp \ 1045e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik PropertyValuesHolder.cpp \ 1055e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik RecordingCanvas.cpp \ 106d2e72141797e92ced2f076f6b3899a6b450966b4John Reck RenderBufferCache.cpp \ 107d2e72141797e92ced2f076f6b3899a6b450966b4John Reck RenderNode.cpp \ 108d2e72141797e92ced2f076f6b3899a6b450966b4John Reck RenderProperties.cpp \ 109d2e72141797e92ced2f076f6b3899a6b450966b4John Reck ResourceCache.cpp \ 110d2e72141797e92ced2f076f6b3899a6b450966b4John Reck ShadowTessellator.cpp \ 111d2e72141797e92ced2f076f6b3899a6b450966b4John Reck SkiaCanvas.cpp \ 112d2e72141797e92ced2f076f6b3899a6b450966b4John Reck SkiaCanvasProxy.cpp \ 113d2e72141797e92ced2f076f6b3899a6b450966b4John Reck SkiaShader.cpp \ 114d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Snapshot.cpp \ 115d2e72141797e92ced2f076f6b3899a6b450966b4John Reck SpotShadow.cpp \ 116d2e72141797e92ced2f076f6b3899a6b450966b4John Reck TessellationCache.cpp \ 117d2e72141797e92ced2f076f6b3899a6b450966b4John Reck TextDropShadowCache.cpp \ 118d2e72141797e92ced2f076f6b3899a6b450966b4John Reck Texture.cpp \ 119e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck TextureCache.cpp \ 1204bbc2931263b232fba61807fca00e127573eff42Doris Liu VectorDrawable.cpp \ 12145ec62ba72c5017fae7d8baab20bfb0d4c99c627Greg Daniel VkLayer.cpp \ 122e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck protos/hwui.proto 123d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 1248160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craikhwui_test_common_src_files := \ 12527e58b4f54d693ff1db7ab2edb5d47ca296c1278Chris Craik $(call all-cpp-files-under, tests/common/scenes) \ 1267dc370bfe3223dfbcb368e0006c688dfd668ab01sergeyv tests/common/LeakChecker.cpp \ 12706a62f6f5379aa5f11f6da3e7ee066e9f640b91asergeyv tests/common/TestListViewSceneBase.cpp \ 12827e58b4f54d693ff1db7ab2edb5d47ca296c1278Chris Craik tests/common/TestContext.cpp \ 12927e58b4f54d693ff1db7ab2edb5d47ca296c1278Chris Craik tests/common/TestScene.cpp \ 1308160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/common/TestUtils.cpp 1318160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik 1328bd5edf804d5995fe266f3f612b70ee0ee104130sergeyvhwui_debug_common_src_files := \ 1338bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv debug/wrap_gles.cpp \ 1348bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv debug/DefaultGlesDriver.cpp \ 1358bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv debug/GlesErrorCheckWrapper.cpp \ 1368bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv debug/GlesDriver.cpp \ 1378bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv debug/FatalBaseDriver.cpp \ 1388bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv debug/NullGlesDriver.cpp 1398bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv 140d2e72141797e92ced2f076f6b3899a6b450966b4John Reckhwui_cflags := \ 141d2e72141797e92ced2f076f6b3899a6b450966b4John Reck -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES \ 142d2e72141797e92ced2f076f6b3899a6b450966b4John Reck -DATRACE_TAG=ATRACE_TAG_VIEW -DLOG_TAG=\"OpenGLRenderer\" \ 14382f5e0c5cd0fcbacd8094b7963a50a2e30e0846fJohn Reck -Wall -Wno-unused-parameter -Wunreachable-code -Werror 144d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 1452d5b8d73929a38b019c6b6276d4a19542b990f0cJohn Reckifeq ($(TARGET_USES_HWC2),true) 1462d5b8d73929a38b019c6b6276d4a19542b990f0cJohn Reck hwui_cflags += -DUSE_HWC2 1472d5b8d73929a38b019c6b6276d4a19542b990f0cJohn Reckendif 1482d5b8d73929a38b019c6b6276d4a19542b990f0cJohn Reck 149253f2c213f6ecda63b6872aee77bd30d5ec07c82Romain Guy# TODO: Linear blending should be enabled by default, but we are 150253f2c213f6ecda63b6872aee77bd30d5ec07c82Romain Guy# TODO: making it an opt-in while it's a work in progress 151253f2c213f6ecda63b6872aee77bd30d5ec07c82Romain Guy# TODO: The final test should be: 152253f2c213f6ecda63b6872aee77bd30d5ec07c82Romain Guy# TODO: ifneq ($(TARGET_ENABLE_LINEAR_BLENDING),false) 153253f2c213f6ecda63b6872aee77bd30d5ec07c82Romain Guyifeq ($(TARGET_ENABLE_LINEAR_BLENDING),true) 154253f2c213f6ecda63b6872aee77bd30d5ec07c82Romain Guy hwui_cflags += -DANDROID_ENABLE_LINEAR_BLENDING 155253f2c213f6ecda63b6872aee77bd30d5ec07c82Romain Guyendif 156253f2c213f6ecda63b6872aee77bd30d5ec07c82Romain Guy 157c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reck# GCC false-positives on this warning, and since we -Werror that's 158c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reck# a problem 159c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reckhwui_cflags += -Wno-free-nonheap-object 160c90ed759cf06072f2aecc57dc82d7be8cbfd6d73John Reck 161f1480761c1a83aecd09cdd473ec797a41d1a2f3fJohn Reck# clang's warning is broken, see: https://llvm.org/bugs/show_bug.cgi?id=21629 162f1480761c1a83aecd09cdd473ec797a41d1a2f3fJohn Reckhwui_cflags += -Wno-missing-braces 163f1480761c1a83aecd09cdd473ec797a41d1a2f3fJohn Reck 164af102bee518191f1e6ad843f06dcd7a64611462dsergeyvifeq (true, $(BUGREPORT_FONT_CACHE_USAGE)) 165af102bee518191f1e6ad843f06dcd7a64611462dsergeyv hwui_src_files += \ 166af102bee518191f1e6ad843f06dcd7a64611462dsergeyv font/FontCacheHistoryTracker.cpp 167af102bee518191f1e6ad843f06dcd7a64611462dsergeyv hwui_cflags += -DBUGREPORT_FONT_CACHE_USAGE 168af102bee518191f1e6ad843f06dcd7a64611462dsergeyvendif 169af102bee518191f1e6ad843f06dcd7a64611462dsergeyv 170d2e72141797e92ced2f076f6b3899a6b450966b4John Reckifndef HWUI_COMPILE_SYMBOLS 171d2e72141797e92ced2f076f6b3899a6b450966b4John Reck hwui_cflags += -fvisibility=hidden 172d2e72141797e92ced2f076f6b3899a6b450966b4John Reckendif 173d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 174d2e72141797e92ced2f076f6b3899a6b450966b4John Reckifdef HWUI_COMPILE_FOR_PERF 175d2e72141797e92ced2f076f6b3899a6b450966b4John Reck # TODO: Non-arm? 176d2e72141797e92ced2f076f6b3899a6b450966b4John Reck hwui_cflags += -fno-omit-frame-pointer -marm -mapcs 177d2e72141797e92ced2f076f6b3899a6b450966b4John Reckendif 178d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 179e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck# This has to be lazy-resolved because it depends on the LOCAL_MODULE_CLASS 180e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck# which varies depending on what is being built 181e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reckdefine hwui_proto_include 182e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck$(call local-generated-sources-dir)/proto/$(LOCAL_PATH) 183e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reckendef 184e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn Reck 185d2e72141797e92ced2f076f6b3899a6b450966b4John Reckhwui_c_includes += \ 186550780745fa28ae9a87d02331841ca5ce4f9c763Leon Scroggins III external/skia/include/private \ 187dccca44ffda4836b56a21da95a046c9708ffd49csergeyv external/skia/src/core \ 188021693b967a2c5556dddd183eb0247df4079e1adStan Iliev external/skia/src/effects \ 189db45a4bfaff1120a9b23073e46a0cc6d39f56023Stan Iliev external/skia/src/image \ 19082c581dac38490d582bd61986776f0bac3aa4967Leon Scroggins III external/skia/src/utils \ 19146c6f4c5ea7846fee4e6ef40c035ef2bee1adcbbRoozbeh Pournader external/icu/icu4c/source/common \ 192dccca44ffda4836b56a21da95a046c9708ffd49csergeyv external/harfbuzz_ng/src \ 193dccca44ffda4836b56a21da95a046c9708ffd49csergeyv external/freetype/include 194d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 195c5ae595e6f71798109c730cd835a2cca79a8877cPo-Chien Hsueh# enable RENDERSCRIPT 196c5ae595e6f71798109c730cd835a2cca79a8877cPo-Chien Hsuehhwui_c_includes += \ 197c5ae595e6f71798109c730cd835a2cca79a8877cPo-Chien Hsueh $(call intermediates-dir-for,STATIC_LIBRARIES,TARGET,) \ 198c5ae595e6f71798109c730cd835a2cca79a8877cPo-Chien Hsueh frameworks/rs/cpp \ 199c5ae595e6f71798109c730cd835a2cca79a8877cPo-Chien Hsueh frameworks/rs 200d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 201d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------ 202d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# static library 203d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------ 204d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 205d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS) 206d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 207d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_CLASS := STATIC_LIBRARIES 208d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE := libhwui_static 209d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_CFLAGS := $(hwui_cflags) 210d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES := $(hwui_src_files) 2118bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv 2128bd5edf804d5995fe266f3f612b70ee0ee104130sergeyvifeq (true, $(HWUI_ENABLE_OPENGL_VALIDATION)) 2138bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv LOCAL_CFLAGS += -include debug/wrap_gles.h 2148bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv LOCAL_CFLAGS += -DDEBUG_OPENGL=3 2158bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv LOCAL_SRC_FILES += $(hwui_debug_common_src_files) 2168bd5edf804d5995fe266f3f612b70ee0ee104130sergeyvendif 2178bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv 218e248bd1b2c3fcf8088429507e73b31f45ee2544bJohn ReckLOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include) 219991da31d4073396768f215c5c3e77e54368da75fDerek SollenbergerLOCAL_EXPORT_C_INCLUDE_DIRS := \ 220991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger $(LOCAL_PATH) \ 221991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger $(call hwui_proto_include) 222d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 223991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk 224d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(BUILD_STATIC_LIBRARY) 225d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 226d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------ 2275fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# static library null gpu 2285fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# ------------------------ 2295fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik 2305fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craikinclude $(CLEAR_VARS) 2315fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik 2325fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_MODULE_CLASS := STATIC_LIBRARIES 2338bd5edf804d5995fe266f3f612b70ee0ee104130sergeyvLOCAL_MODULE := libhwui_static_debug 2345fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_CFLAGS := \ 2355fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik $(hwui_cflags) \ 2368bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv -include debug/wrap_gles.h \ 2375fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik -DHWUI_NULL_GPU 2385fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_SRC_FILES := \ 2395fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik $(hwui_src_files) \ 2408bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv $(hwui_debug_common_src_files) \ 2418bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv debug/nullegl.cpp 2425fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include) 243991da31d4073396768f215c5c3e77e54368da75fDerek SollenbergerLOCAL_EXPORT_C_INCLUDE_DIRS := \ 244991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger $(LOCAL_PATH) \ 245991da31d4073396768f215c5c3e77e54368da75fDerek Sollenberger $(call hwui_proto_include) 2465fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik 247991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk 2485fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craikinclude $(BUILD_STATIC_LIBRARY) 2495fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik 2505fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris Craik# ------------------------ 251d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# shared library 252d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------ 253d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 254d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS) 255d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 256a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John ReckLOCAL_MODULE_CLASS := SHARED_LIBRARIES 257a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John ReckLOCAL_MODULE := libhwui 258d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static 259991da31d4073396768f215c5c3e77e54368da75fDerek SollenbergerLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) 260e4d011201cea40d46cb2b2eef401db8fddc5c9c6Romain Guy 261991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk 262a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698John Reckinclude $(BUILD_SHARED_LIBRARY) 263edaecc1db0584fa017822dfc2da0c968b53967e6Andreas Gampe 264d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------ 265d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# unit tests 266d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------ 267d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 268d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS) 269d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 270d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE := hwui_unit_tests 271d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_TAGS := tests 2728bd5edf804d5995fe266f3f612b70ee0ee104130sergeyvLOCAL_STATIC_LIBRARIES := libgmock libhwui_static_debug 273dc87c52cd5645dd87380114462211574b63e6353John ReckLOCAL_SHARED_LIBRARIES := libmemunreachable 27498787e6c9b2c10b1ab7820bdac168686025b924aChris CraikLOCAL_CFLAGS := \ 27598787e6c9b2c10b1ab7820bdac168686025b924aChris Craik $(hwui_cflags) \ 2768bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv -include debug/wrap_gles.h \ 27798787e6c9b2c10b1ab7820bdac168686025b924aChris Craik -DHWUI_NULL_GPU 278e9c205be2cc3d7c591d9db6580aa99882e12014fDan WillemsenLOCAL_C_INCLUDES := $(hwui_c_includes) 279d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 280d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES += \ 2818160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik $(hwui_test_common_src_files) \ 282dc87c52cd5645dd87380114462211574b63e6353John Reck tests/unit/main.cpp \ 2835e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik tests/unit/BakedOpDispatcherTests.cpp \ 2845e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik tests/unit/BakedOpRendererTests.cpp \ 2855e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik tests/unit/BakedOpStateTests.cpp \ 28671c4477bee8297189e12a666bbb178f461ad2859sergeyv tests/unit/BitmapTests.cpp \ 287daf7229047c44947b9b02ee187fe5b13f30ebd4bDerek Sollenberger tests/unit/CanvasContextTests.cpp \ 2888160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/unit/CanvasStateTests.cpp \ 2898160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/unit/ClipAreaTests.cpp \ 2908160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/unit/DamageAccumulatorTests.cpp \ 29156ad6ec42f814e9e61030ff819cac4e5d31def8bDerek Sollenberger tests/unit/DeferredLayerUpdaterTests.cpp \ 2928160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/unit/DeviceInfoTests.cpp \ 2938160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/unit/FatVectorTests.cpp \ 294f3754a84289680782b2c7caac30fda18207a5c23Chris Craik tests/unit/FontRendererTests.cpp \ 2955e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik tests/unit/FrameBuilderTests.cpp \ 296f42bf3e2573bccb01babec448f925e9395bf224csergeyv tests/unit/GlopBuilderTests.cpp \ 29738e0c32852e3b9d8ca4a9d3791577f52536419cbJohn Reck tests/unit/GpuMemoryTrackerTests.cpp \ 29804d46eb69fb4f4c4c332c36c6ae845da3b2ae848Chris Craik tests/unit/GradientCacheTests.cpp \ 299df1742ed47da1e9b61afeae16fa448d5302a8aa0John Reck tests/unit/GraphicsStatsServiceTests.cpp \ 3008160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/unit/LayerUpdateQueueTests.cpp \ 3015e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik tests/unit/LeakCheckTests.cpp \ 3028160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/unit/LinearAllocatorTests.cpp \ 303261725fdb2962271c222a049fcdf57bbdc8363c7Chris Craik tests/unit/MatrixTests.cpp \ 3048bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv tests/unit/MeshStateTests.cpp \ 3058160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/unit/OffscreenBufferPoolTests.cpp \ 3065e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik tests/unit/OpDumperTests.cpp \ 3079e9eeeeb78d94804cda00c2b36e56fdaca5552d6Doris Liu tests/unit/PathInterpolatorTests.cpp \ 308021693b967a2c5556dddd183eb0247df4079e1adStan Iliev tests/unit/RenderNodeDrawableTests.cpp \ 3095e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik tests/unit/RecordingCanvasTests.cpp \ 31044b49f070aafe8ad44efae87341121cce49ff11cJohn Reck tests/unit/RenderNodeTests.cpp \ 311d4fe4d3b30aaefcaaae6a6d1b8dc4bf59e034768Chris Craik tests/unit/RenderPropertiesTests.cpp \ 31207d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8Chris Craik tests/unit/SkiaBehaviorTests.cpp \ 3130df6209a02d0ea99d2dff3a46ed9febd5925df4bDerek Sollenberger tests/unit/SkiaDisplayListTests.cpp \ 314500a0c30d4dcd012218c3e44a62926a1c34a259fStan Iliev tests/unit/SkiaPipelineTests.cpp \ 31552771272f4f018f4fc6846224bf047497e784af1Stan Iliev tests/unit/SkiaRenderPropertiesTests.cpp \ 3165e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik tests/unit/SkiaCanvasTests.cpp \ 31704d46eb69fb4f4c4c332c36c6ae845da3b2ae848Chris Craik tests/unit/SnapshotTests.cpp \ 31806f5bc70a667a02b14e31d3f53f91d3661e30666Andres Morales tests/unit/StringUtilsTests.cpp \ 31937413289478a965336239c731ebfea37ac4dde28Chris Craik tests/unit/TestUtilsTests.cpp \ 32007d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8Chris Craik tests/unit/TextDropShadowCacheTests.cpp \ 32183809fec686b47da73ee0aaa80d226de7e33aab9sergeyv tests/unit/TextureCacheTests.cpp \ 322373b15bda93c8b400c5e1271bc93cbef26af503fSeigo Nonaka tests/unit/TypefaceTests.cpp \ 3235e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik tests/unit/VectorDrawableTests.cpp \ 324b565df13a9e5c7b1d7d93bdfa4a793752d66d3ccChris Craik 325991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk 326d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(BUILD_NATIVE_TEST) 327d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 328d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------ 3298160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik# Macro-bench app 330d2e72141797e92ced2f076f6b3899a6b450966b4John Reck# ------------------------ 331d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 332d2e72141797e92ced2f076f6b3899a6b450966b4John Reckinclude $(CLEAR_VARS) 333d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 334d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp 335202c10b7b54a7a344415b19d4c3f93266de4ad25sergeyvLOCAL_MODULE:= hwuimacro 336d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MODULE_TAGS := tests 337d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_MULTILIB := both 338d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_CFLAGS := $(hwui_cflags) 339e9c205be2cc3d7c591d9db6580aa99882e12014fDan WillemsenLOCAL_C_INCLUDES := $(hwui_c_includes) 340d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 3418bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv# set to libhwui_static_debug to skip actual GL commands 3425fbd9db67a8b2f11f472358fd70e2e6f0cc236e8Chris CraikLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static 3437dc370bfe3223dfbcb368e0006c688dfd668ab01sergeyvLOCAL_SHARED_LIBRARIES := libmemunreachable 344d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 345d2e72141797e92ced2f076f6b3899a6b450966b4John ReckLOCAL_SRC_FILES += \ 3468160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik $(hwui_test_common_src_files) \ 3478160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/macrobench/TestSceneRunner.cpp \ 3488160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/macrobench/main.cpp 349d2e72141797e92ced2f076f6b3899a6b450966b4John Reck 350991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk 351202c10b7b54a7a344415b19d4c3f93266de4ad25sergeyvinclude $(BUILD_NATIVE_BENCHMARK) 3524a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck 3534a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# ------------------------ 3544a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# Micro-bench app 3554a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck# --------------------- 3564a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reckinclude $(CLEAR_VARS) 3574a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck 3584a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE:= hwuimicro 3594a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_MODULE_TAGS := tests 3608d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris CraikLOCAL_CFLAGS := \ 3618d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris Craik $(hwui_cflags) \ 3628bd5edf804d5995fe266f3f612b70ee0ee104130sergeyv -include debug/wrap_gles.h \ 3638d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7Chris Craik -DHWUI_NULL_GPU 3644a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck 3652bee0dd94418c8d6f48dbd9d83af7dd67717d3ffJohn ReckLOCAL_C_INCLUDES := $(hwui_c_includes) 3664a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck 3678bd5edf804d5995fe266f3f612b70ee0ee104130sergeyvLOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static_debug 3687dc370bfe3223dfbcb368e0006c688dfd668ab01sergeyvLOCAL_SHARED_LIBRARIES := libmemunreachable 3694a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck 3704a4bc892e826849bd58606d99408f1bfbceddc3bJohn ReckLOCAL_SRC_FILES += \ 3718160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik $(hwui_test_common_src_files) \ 3720418afa362630e69bd853121770b115750ee46a4John Reck tests/microbench/main.cpp \ 3738160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/microbench/DisplayListCanvasBench.cpp \ 3742c0f93798b2c435307bfb1dfe194a6203e6e6ee5John Reck tests/microbench/FontBench.cpp \ 3755e00c7ce063116c11315639f0035aca8ad73e8ccChris Craik tests/microbench/FrameBuilderBench.cpp \ 3768160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/microbench/LinearAllocatorBench.cpp \ 3778160f20b0aca8c6595d4b385d673f59b6bcd16a4Chris Craik tests/microbench/PathParserBench.cpp \ 3783acf0382da22cda88234e599cd81b1ff5441cc35John Reck tests/microbench/RenderNodeBench.cpp \ 379b251a2f51e636d036598ad27473b9cc55fdac1d7Chris Craik tests/microbench/ShadowBench.cpp \ 380b251a2f51e636d036598ad27473b9cc55fdac1d7Chris Craik tests/microbench/TaskManagerBench.cpp 3814a4bc892e826849bd58606d99408f1bfbceddc3bJohn Reck 3820a24b146cd3dacf372ce98424044423a5b2fbf2aChris Craik 383991da31d4073396768f215c5c3e77e54368da75fDerek Sollenbergerinclude $(LOCAL_PATH)/hwui_static_deps.mk 384422e2b4829e28e422f0010e0e3ce04f45fb9efd8sergeyvinclude $(BUILD_NATIVE_BENCHMARK) 385