1709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 2709a0978ae141198018ca9769f8d96292a8928e6Jason SamsLOCAL_PATH:=$(call my-dir) 3709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 48c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim Murrayrs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable -fno-exceptions 5709a0978ae141198018ca9769f8d96292a8928e6Jason Samsifeq ($(TARGET_BUILD_PDK), true) 6709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rs_base_CFLAGS += -D__RS_PDK__ 7709a0978ae141198018ca9769f8d96292a8928e6Jason Samsendif 8709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 9709a0978ae141198018ca9769f8d96292a8928e6Jason Samsifneq ($(OVERRIDE_RS_DRIVER),) 10709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER) 11709a0978ae141198018ca9769f8d96292a8928e6Jason Samsendif 12709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 13709a0978ae141198018ca9769f8d96292a8928e6Jason Samsinclude $(CLEAR_VARS) 148d50174ff0e80bc3846f9dfd6f7d154fc4949db4Logan Chienifneq ($(HOST_OS),windows) 15709a0978ae141198018ca9769f8d96292a8928e6Jason SamsLOCAL_CLANG := true 168d50174ff0e80bc3846f9dfd6f7d154fc4949db4Logan Chienendif 17709a0978ae141198018ca9769f8d96292a8928e6Jason SamsLOCAL_MODULE := libRSCpuRef 18e8e408ada85b77e0a7314ef8e734aa9fc981a237Duane SandLOCAL_MODULE_TARGET_ARCH := arm mips mips64 x86 x86_64 arm64 19709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 208c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim Murrayifeq ($(HOST_OS), darwin) 218c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim MurrayLOCAL_CFLAGS += -no-integrated-as 228c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim MurrayLOCAL_ASFLAGS += -no-integrated-as 238c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim Murrayendif 248c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim Murray 25709a0978ae141198018ca9769f8d96292a8928e6Jason SamsLOCAL_SRC_FILES:= \ 26709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuCore.cpp \ 27709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuScript.cpp \ 28709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuRuntimeMath.cpp \ 29709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuRuntimeStubs.cpp \ 30709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuScriptGroup.cpp \ 31709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuIntrinsic.cpp \ 327c4b888f2147edf99690b6af75470774ff31c43bJason Sams rsCpuIntrinsic3DLUT.cpp \ 33709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuIntrinsicBlend.cpp \ 34709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuIntrinsicBlur.cpp \ 35709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuIntrinsicColorMatrix.cpp \ 36709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuIntrinsicConvolve3x3.cpp \ 37709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuIntrinsicConvolve5x5.cpp \ 382282e2816ac5f5de53f9bd4f3ecbdfd6d756d120Jason Sams rsCpuIntrinsicHistogram.cpp \ 390d6043caef208ee6c661eb17bcb376abfe90cd48Jason Sams rsCpuIntrinsicResize.cpp \ 40709a0978ae141198018ca9769f8d96292a8928e6Jason Sams rsCpuIntrinsicLUT.cpp \ 41d56fa5280ec42b2609d2b0baa96a2b7006c4a611Jason Sams rsCpuIntrinsicYuvToRGB.cpp 42709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 43bee48d79ba974e3dfbb782f9cce5c8d554f488e7Tim MurrayLOCAL_CFLAGS_arm64 += -DARCH_ARM_USE_INTRINSICS -DARCH_ARM64_USE_INTRINSICS -DARCH_ARM64_HAVE_NEON 44074424a4ac5b093331df2c92e7a5bcbfff136b71Jason Sams 45c8d7a9313bb9bf980a4f88cf1b4a6437b7b95797Tim Murrayifeq ($(RS_DISABLE_A53_WORKAROUND),true) 46c8d7a9313bb9bf980a4f88cf1b4a6437b7b95797Tim MurrayLOCAL_CFLAGS_arm64 += -DDISABLE_A53_WORKAROUND 47c8d7a9313bb9bf980a4f88cf1b4a6437b7b95797Tim Murrayendif 48c8d7a9313bb9bf980a4f88cf1b4a6437b7b95797Tim Murray 49074424a4ac5b093331df2c92e7a5bcbfff136b71Jason SamsLOCAL_SRC_FILES_arm64 += \ 50074424a4ac5b093331df2c92e7a5bcbfff136b71Jason Sams rsCpuIntrinsics_advsimd_3DLUT.S \ 51074424a4ac5b093331df2c92e7a5bcbfff136b71Jason Sams rsCpuIntrinsics_advsimd_Convolve.S \ 52074424a4ac5b093331df2c92e7a5bcbfff136b71Jason Sams rsCpuIntrinsics_advsimd_Blur.S \ 53074424a4ac5b093331df2c92e7a5bcbfff136b71Jason Sams rsCpuIntrinsics_advsimd_ColorMatrix.S \ 54074424a4ac5b093331df2c92e7a5bcbfff136b71Jason Sams rsCpuIntrinsics_advsimd_YuvToRGB.S 55e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4Tim Murray# rsCpuIntrinsics_advsimd_Blend.S \ 5606b0f7d3b345ae1c36aed6686e79e403650f8baaJason Sams 5702170e63931c2d93f57912efbf5d7706578a8438Ying Wangifeq ($(ARCH_ARM_HAVE_NEON),true) 5802170e63931c2d93f57912efbf5d7706578a8438Ying Wang LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_NEON 5902170e63931c2d93f57912efbf5d7706578a8438Ying Wangendif 6002170e63931c2d93f57912efbf5d7706578a8438Ying Wang 6102170e63931c2d93f57912efbf5d7706578a8438Ying Wangifeq ($(ARCH_ARM_HAVE_VFP),true) 62074424a4ac5b093331df2c92e7a5bcbfff136b71Jason Sams LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_VFP -DARCH_ARM_USE_INTRINSICS 6302170e63931c2d93f57912efbf5d7706578a8438Ying Wang LOCAL_SRC_FILES_arm += \ 645dcaaa5f50926bebf6877e254c521faa7e2593e3Simon Hosie rsCpuIntrinsics_neon_3DLUT.S \ 6502170e63931c2d93f57912efbf5d7706578a8438Ying Wang rsCpuIntrinsics_neon_Blend.S \ 6602170e63931c2d93f57912efbf5d7706578a8438Ying Wang rsCpuIntrinsics_neon_Blur.S \ 674e5c414252846e96d2e353515134387d86150c68Simon Hosie rsCpuIntrinsics_neon_Convolve.S \ 685dcaaa5f50926bebf6877e254c521faa7e2593e3Simon Hosie rsCpuIntrinsics_neon_ColorMatrix.S \ 6983f304cb26008d3f4da154cec19c3a12fa2e6c74Jason Sams rsCpuIntrinsics_neon_YuvToRGB.S \ 7079a9dacb328ac37a2ec29b06b2ee6740fe8fadf0Jason Sams 7102170e63931c2d93f57912efbf5d7706578a8438Ying Wang LOCAL_ASFLAGS_arm := -mfpu=neon 72709a0978ae141198018ca9769f8d96292a8928e6Jason Samsendif 73709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 747b7060c61e4182b29186849c5a857ea5f0898e56Rose, Jamesifeq ($(ARCH_X86_HAVE_SSSE3),true) 757b7060c61e4182b29186849c5a857ea5f0898e56Rose, James LOCAL_CFLAGS += -DARCH_X86_HAVE_SSSE3 767b7060c61e4182b29186849c5a857ea5f0898e56Rose, James LOCAL_SRC_FILES+= \ 777b7060c61e4182b29186849c5a857ea5f0898e56Rose, James rsCpuIntrinsics_x86.c 787b7060c61e4182b29186849c5a857ea5f0898e56Rose, Jamesendif 797b7060c61e4182b29186849c5a857ea5f0898e56Rose, James 808c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim MurrayLOCAL_SHARED_LIBRARIES += libRS libcutils libutils liblog libsync libc++ 81e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4Tim Murray 82e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4Tim Murray# these are not supported in 64-bit yet 838c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim MurrayLOCAL_SHARED_LIBRARIES += libbcc libbcinfo 84e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4Tim Murray 85709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 86709a0978ae141198018ca9769f8d96292a8928e6Jason SamsLOCAL_C_INCLUDES += frameworks/compile/libbcc/include 87709a0978ae141198018ca9769f8d96292a8928e6Jason SamsLOCAL_C_INCLUDES += frameworks/rs 88709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 898d50174ff0e80bc3846f9dfd6f7d154fc4949db4Logan Chienifneq ($(HOST_OS),windows) 90005113297b19ed256b6db9d6bc293ed9266899fcStephen Hinesinclude external/libcxx/libcxx.mk 918d50174ff0e80bc3846f9dfd6f7d154fc4949db4Logan Chienendif 9282e0a6779cb1006921153081fb33374197e7c9deStephen Hinesinclude frameworks/compile/libbcc/libbcc-targets.mk 93005113297b19ed256b6db9d6bc293ed9266899fcStephen Hines 94709a0978ae141198018ca9769f8d96292a8928e6Jason SamsLOCAL_CFLAGS += $(rs_base_CFLAGS) 95709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 96709a0978ae141198018ca9769f8d96292a8928e6Jason SamsLOCAL_MODULE_TAGS := optional 97709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 98709a0978ae141198018ca9769f8d96292a8928e6Jason Samsinclude $(BUILD_SHARED_LIBRARY) 99