• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1LOCAL_PATH:=$(call my-dir)
2
3rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable \
4                  -fno-exceptions -std=c++11
5ifeq ($(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)
14ifneq ($(HOST_OS),windows)
15LOCAL_CLANG := true
16endif
17LOCAL_MODULE := libRSCpuRef
18LOCAL_MODULE_TARGET_ARCH := arm mips mips64 x86 x86_64 arm64
19
20LOCAL_SRC_FILES:= \
21        rsCpuCore.cpp \
22        rsCpuExecutable.cpp \
23        rsCpuScript.cpp \
24        rsCpuRuntimeMath.cpp \
25        rsCpuRuntimeMathFuncs.cpp \
26        rsCpuScriptGroup.cpp \
27        rsCpuScriptGroup2.cpp \
28        rsCpuIntrinsic.cpp \
29        rsCpuIntrinsic3DLUT.cpp \
30        rsCpuIntrinsicBLAS.cpp \
31        rsCpuIntrinsicBlend.cpp \
32        rsCpuIntrinsicBlur.cpp \
33        rsCpuIntrinsicColorMatrix.cpp \
34        rsCpuIntrinsicConvolve3x3.cpp \
35        rsCpuIntrinsicConvolve5x5.cpp \
36        rsCpuIntrinsicHistogram.cpp \
37        rsCpuIntrinsicResize.cpp \
38        rsCpuIntrinsicLUT.cpp \
39        rsCpuIntrinsicYuvToRGB.cpp
40
41LOCAL_CFLAGS_arm64 += -DARCH_ARM_USE_INTRINSICS -DARCH_ARM64_USE_INTRINSICS -DARCH_ARM64_HAVE_NEON
42
43ifeq ($(RS_DISABLE_A53_WORKAROUND),true)
44LOCAL_CFLAGS_arm64 += -DDISABLE_A53_WORKAROUND
45endif
46
47LOCAL_SRC_FILES_arm64 += \
48    rsCpuIntrinsics_advsimd_3DLUT.S \
49    rsCpuIntrinsics_advsimd_Convolve.S \
50    rsCpuIntrinsics_advsimd_Blur.S \
51    rsCpuIntrinsics_advsimd_ColorMatrix.S \
52    rsCpuIntrinsics_advsimd_Resize.S \
53    rsCpuIntrinsics_advsimd_YuvToRGB.S
54#    rsCpuIntrinsics_advsimd_Blend.S \
55
56# Clang does not compile rsCpuIntrinsics_advsimd_3DLUT.S.
57LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
58
59ifeq ($(ARCH_ARM_HAVE_NEON),true)
60    LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_NEON
61endif
62
63ifeq ($(ARCH_ARM_HAVE_VFP),true)
64    LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_VFP -DARCH_ARM_USE_INTRINSICS
65    LOCAL_SRC_FILES_arm += \
66    rsCpuIntrinsics_neon_3DLUT.S \
67    rsCpuIntrinsics_neon_Blend.S \
68    rsCpuIntrinsics_neon_Blur.S \
69    rsCpuIntrinsics_neon_Convolve.S \
70    rsCpuIntrinsics_neon_ColorMatrix.S \
71    rsCpuIntrinsics_neon_Resize.S \
72    rsCpuIntrinsics_neon_YuvToRGB.S \
73
74    LOCAL_ASFLAGS_arm := -mfpu=neon
75    # Clang does not compile rsCpuIntrinsics_neon_3DLUT.S.
76    LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as
77endif
78
79ifeq ($(ARCH_X86_HAVE_SSSE3),true)
80    LOCAL_CFLAGS += -DARCH_X86_HAVE_SSSE3
81    LOCAL_SRC_FILES+= \
82    rsCpuIntrinsics_x86.cpp
83endif
84
85LOCAL_SHARED_LIBRARIES += libRS libcutils libutils liblog libsync libc++ libdl libz
86
87LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libblas
88
89
90LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
91LOCAL_C_INCLUDES += frameworks/rs
92LOCAL_C_INCLUDES += external/cblas/include
93LOCAL_C_INCLUDES += external/zlib
94
95include frameworks/compile/libbcc/libbcc-targets.mk
96
97LOCAL_CFLAGS += $(rs_base_CFLAGS)
98
99LOCAL_MODULE_TAGS := optional
100
101include $(BUILD_SHARED_LIBRARY)
102