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