• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5cc_library_shared {
6    name: "libRSCpuRef",
7    defaults: ["libbcc-targets"],
8    vendor_available: true,
9    native_bridge_supported: true,
10    double_loadable: true,
11
12    srcs: [
13        "rsCpuCore.cpp",
14        "rsCpuExecutable.cpp",
15        "rsCpuScript.cpp",
16        "rsCpuRuntimeMath.cpp",
17        "rsCpuScriptGroup.cpp",
18        "rsCpuScriptGroup2.cpp",
19        "rsCpuIntrinsic.cpp",
20        "rsCpuIntrinsic3DLUT.cpp",
21        "rsCpuIntrinsicBLAS.cpp",
22        "rsCpuIntrinsicBlend.cpp",
23        "rsCpuIntrinsicBlur.cpp",
24        "rsCpuIntrinsicColorMatrix.cpp",
25        "rsCpuIntrinsicConvolve3x3.cpp",
26        "rsCpuIntrinsicConvolve5x5.cpp",
27        "rsCpuIntrinsicHistogram.cpp",
28        "rsCpuIntrinsicResize.cpp",
29        "rsCpuIntrinsicLUT.cpp",
30        "rsCpuIntrinsicYuvToRGB.cpp",
31    ],
32
33    arch: {
34        arm64: {
35            cflags: [
36                "-DARCH_ARM_USE_INTRINSICS",
37                "-DARCH_ARM64_USE_INTRINSICS",
38                "-DARCH_ARM64_HAVE_NEON",
39            ],
40
41            srcs: [
42                "rsCpuIntrinsics_advsimd_3DLUT.S",
43                "rsCpuIntrinsics_advsimd_Convolve.S",
44                "rsCpuIntrinsics_advsimd_Blur.S",
45                "rsCpuIntrinsics_advsimd_ColorMatrix.S",
46                "rsCpuIntrinsics_advsimd_Resize.S",
47                "rsCpuIntrinsics_advsimd_YuvToRGB.S",
48                "rsCpuIntrinsics_advsimd_Blend.S",
49            ],
50        },
51
52        arm: {
53            cflags: [
54                "-DARCH_ARM_HAVE_NEON",
55                "-DARCH_ARM_HAVE_VFP",
56                "-DARCH_ARM_USE_INTRINSICS",
57            ],
58
59            srcs: [
60                "rsCpuIntrinsics_neon_3DLUT.S",
61                "rsCpuIntrinsics_neon_Blend.S",
62                "rsCpuIntrinsics_neon_Blur.S",
63                "rsCpuIntrinsics_neon_Convolve.S",
64                "rsCpuIntrinsics_neon_ColorMatrix.S",
65                "rsCpuIntrinsics_neon_Resize.S",
66                "rsCpuIntrinsics_neon_YuvToRGB.S",
67            ],
68        },
69
70        x86: {
71            cflags: ["-DARCH_X86_HAVE_SSSE3"],
72            srcs: ["rsCpuIntrinsics_x86.cpp"],
73        },
74        x86_64: {
75            cflags: ["-DARCH_X86_HAVE_SSSE3"],
76            srcs: ["rsCpuIntrinsics_x86.cpp"],
77            avx2: {
78                cflags: [
79                    "-DARCH_X86_HAVE_AVX2",
80                    "-mavx2",
81                    "-mfma",
82                ],
83            },
84        },
85        riscv64: {
86            enabled: false,
87        },
88    },
89
90    shared_libs: [
91        "libRS_internal",
92        "libc++",
93        "liblog",
94        "libz",
95
96        "libbcinfo",
97        "libblas",
98    ],
99    static_libs: ["libbnnmlowp"],
100    header_libs: [
101        "libutils_headers",
102        "libhardware_headers",
103    ],
104
105    include_dirs: [
106        "frameworks/compile/libbcc/include",
107        "frameworks/rs",
108    ],
109    cflags: [
110        "-Wno-cast-function-type-mismatch",
111        "-Wno-unused-parameter",
112        "-Wno-unused-variable",
113    ],
114}
115