blob: ade323583f2e09b72358fa889455eb4bcbef3248 [file] [log] [blame]
Jason Sams709a0972012-11-15 18:18:04 -08001
2LOCAL_PATH:=$(call my-dir)
3
Tim Murray8c24cd62014-04-10 18:04:39 -07004rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable -fno-exceptions
Jason Sams709a0972012-11-15 18:18:04 -08005ifeq ($(TARGET_BUILD_PDK), true)
6 rs_base_CFLAGS += -D__RS_PDK__
7endif
8
9ifneq ($(OVERRIDE_RS_DRIVER),)
10 rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER)
11endif
12
13include $(CLEAR_VARS)
14LOCAL_CLANG := true
15LOCAL_MODULE := libRSCpuRef
Duane Sande8e408a2014-05-13 16:46:02 -070016LOCAL_MODULE_TARGET_ARCH := arm mips mips64 x86 x86_64 arm64
Jason Sams709a0972012-11-15 18:18:04 -080017
Tim Murray8c24cd62014-04-10 18:04:39 -070018ifeq ($(HOST_OS), darwin)
19LOCAL_CFLAGS += -no-integrated-as
20LOCAL_ASFLAGS += -no-integrated-as
21endif
22
Jason Sams709a0972012-11-15 18:18:04 -080023LOCAL_SRC_FILES:= \
24 rsCpuCore.cpp \
25 rsCpuScript.cpp \
26 rsCpuRuntimeMath.cpp \
27 rsCpuRuntimeStubs.cpp \
28 rsCpuScriptGroup.cpp \
29 rsCpuIntrinsic.cpp \
Jason Sams7c4b8882013-01-04 10:50:05 -080030 rsCpuIntrinsic3DLUT.cpp \
Jason Sams709a0972012-11-15 18:18:04 -080031 rsCpuIntrinsicBlend.cpp \
32 rsCpuIntrinsicBlur.cpp \
33 rsCpuIntrinsicColorMatrix.cpp \
34 rsCpuIntrinsicConvolve3x3.cpp \
35 rsCpuIntrinsicConvolve5x5.cpp \
Jason Sams2282e282013-06-17 16:52:01 -070036 rsCpuIntrinsicHistogram.cpp \
Matthieu Delahaye6fc3e122014-03-04 11:05:49 -060037 rsCpuIntrinsicLoopFilter.cpp \
Matthieu Delahaye60498fe2014-02-18 13:21:06 -060038 rsCpuIntrinsicYuvToRGB.cpp \
Jason Sams39ab94a2014-04-16 17:14:05 -070039 rsCpuIntrinsicResize.cpp \
Jason Samsee0f4832014-04-23 15:21:34 -070040 rsCpuIntrinsicLUT.cpp
Jason Sams709a0972012-11-15 18:18:04 -080041
Jason Sams074424a2014-05-22 13:30:03 -070042LOCAL_CFLAGS_arm64 += -DARCH_ARM_USE_INTRINSICS -DARCH_ARM64_USE_INTRINSICS
Ian Rogers3cdd1fb2014-03-19 15:41:32 -070043
Jason Sams074424a2014-05-22 13:30:03 -070044LOCAL_SRC_FILES_arm64 += \
45 rsCpuIntrinsics_advsimd_3DLUT.S \
46 rsCpuIntrinsics_advsimd_Convolve.S \
47 rsCpuIntrinsics_advsimd_Blur.S \
48 rsCpuIntrinsics_advsimd_ColorMatrix.S \
49 rsCpuIntrinsics_advsimd_YuvToRGB.S
Tim Murraye195a3f2014-03-13 15:04:58 -070050# rsCpuIntrinsics_advsimd_Blend.S \
Jason Sams06b0f7d2013-03-22 13:43:01 -070051
Ying Wang02170e62014-03-04 15:33:24 -080052ifeq ($(ARCH_ARM_HAVE_NEON),true)
53 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_NEON
54endif
55
56ifeq ($(ARCH_ARM_HAVE_VFP),true)
Jason Sams074424a2014-05-22 13:30:03 -070057 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_VFP -DARCH_ARM_USE_INTRINSICS
Ying Wang02170e62014-03-04 15:33:24 -080058 LOCAL_SRC_FILES_arm += \
Simon Hosie5dcaaa52014-03-15 21:23:51 -070059 rsCpuIntrinsics_neon_3DLUT.S \
Ying Wang02170e62014-03-04 15:33:24 -080060 rsCpuIntrinsics_neon_Blend.S \
61 rsCpuIntrinsics_neon_Blur.S \
Simon Hosie4e5c4142014-03-15 21:45:49 -070062 rsCpuIntrinsics_neon_Convolve.S \
Simon Hosie5dcaaa52014-03-15 21:23:51 -070063 rsCpuIntrinsics_neon_ColorMatrix.S \
Jason Sams83f304c2014-03-05 16:38:24 -080064 rsCpuIntrinsics_neon_YuvToRGB.S \
Matthieu Delahaye6fc3e122014-03-04 11:05:49 -060065 vp9_loopfilter_16_neon.S \
66 vp9_loopfilter_neon.S \
67 vp9_mb_lpf_neon.S
Ying Wang02170e62014-03-04 15:33:24 -080068 LOCAL_ASFLAGS_arm := -mfpu=neon
Jason Sams709a0972012-11-15 18:18:04 -080069endif
70
Rose, James7b7060c2014-04-22 12:08:06 +080071ifeq ($(ARCH_X86_HAVE_SSSE3),true)
72 LOCAL_CFLAGS += -DARCH_X86_HAVE_SSSE3
73 LOCAL_SRC_FILES+= \
74 rsCpuIntrinsics_x86.c
75endif
76
Tim Murray8c24cd62014-04-10 18:04:39 -070077LOCAL_SHARED_LIBRARIES += libRS libcutils libutils liblog libsync libc++
Tim Murraye195a3f2014-03-13 15:04:58 -070078
79# these are not supported in 64-bit yet
Tim Murray8c24cd62014-04-10 18:04:39 -070080LOCAL_SHARED_LIBRARIES += libbcc libbcinfo
Tim Murraye195a3f2014-03-13 15:04:58 -070081
Jason Sams709a0972012-11-15 18:18:04 -080082
83LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
84LOCAL_C_INCLUDES += frameworks/rs
Matthieu Delahaye6fc3e122014-03-04 11:05:49 -060085LOCAL_C_INCLUDES += system/core/include
Jason Sams709a0972012-11-15 18:18:04 -080086
Stephen Hines00511322014-01-31 11:20:23 -080087include external/libcxx/libcxx.mk
Stephen Hines82e0a672014-05-05 15:40:56 -070088include frameworks/compile/libbcc/libbcc-targets.mk
Stephen Hines00511322014-01-31 11:20:23 -080089
Jason Sams709a0972012-11-15 18:18:04 -080090LOCAL_CFLAGS += $(rs_base_CFLAGS)
91
Jason Sams709a0972012-11-15 18:18:04 -080092LOCAL_MODULE_TAGS := optional
93
94include $(BUILD_SHARED_LIBRARY)