lin
2025-08-01 633231e833e21d5b8b1c00cb15aedb62b3b78e8f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
cc_library_shared {
    name: "libRSCpuRef",
    defaults: ["libbcc-targets"],
    vendor_available: true,
    vndk: {
        enabled: true,
        support_system_process: true,
    },
 
    srcs: [
        "rsCpuCore.cpp",
        "rsCpuExecutable.cpp",
        "rsCpuScript.cpp",
        "rsCpuRuntimeMath.cpp",
        "rsCpuScriptGroup.cpp",
        "rsCpuScriptGroup2.cpp",
        "rsCpuIntrinsic.cpp",
        "rsCpuIntrinsic3DLUT.cpp",
        "rsCpuIntrinsicBLAS.cpp",
        "rsCpuIntrinsicBlend.cpp",
        "rsCpuIntrinsicBlur.cpp",
        "rsCpuIntrinsicColorMatrix.cpp",
        "rsCpuIntrinsicConvolve3x3.cpp",
        "rsCpuIntrinsicConvolve5x5.cpp",
        "rsCpuIntrinsicHistogram.cpp",
        "rsCpuIntrinsicResize.cpp",
        "rsCpuIntrinsicLUT.cpp",
        "rsCpuIntrinsicYuvToRGB.cpp",
    ],
 
    arch: {
        arm64: {
            cflags: [
                "-DARCH_ARM_USE_INTRINSICS",
                "-DARCH_ARM64_USE_INTRINSICS",
                "-DARCH_ARM64_HAVE_NEON",
            ],
 
            srcs: [
                "rsCpuIntrinsics_advsimd_3DLUT.S",
                "rsCpuIntrinsics_advsimd_Convolve.S",
                "rsCpuIntrinsics_advsimd_Blur.S",
                "rsCpuIntrinsics_advsimd_ColorMatrix.S",
                "rsCpuIntrinsics_advsimd_Resize.S",
                "rsCpuIntrinsics_advsimd_YuvToRGB.S",
                "rsCpuIntrinsics_advsimd_Blend.S",
            ],
        },
 
        arm: {
            cflags: [
                "-DARCH_ARM_HAVE_VFP",
                "-DARCH_ARM_USE_INTRINSICS",
            ],
 
            srcs: [
                "rsCpuIntrinsics_neon_3DLUT.S",
                "rsCpuIntrinsics_neon_Blend.S",
                "rsCpuIntrinsics_neon_Blur.S",
                "rsCpuIntrinsics_neon_Convolve.S",
                "rsCpuIntrinsics_neon_ColorMatrix.S",
                "rsCpuIntrinsics_neon_Resize.S",
                "rsCpuIntrinsics_neon_YuvToRGB.S",
            ],
 
            asflags: ["-mfpu=neon"],
 
            neon: {
                cflags: [
                    "-DARCH_ARM_HAVE_NEON",
                ],
            },
        },
 
        x86: {
            ssse3: {
                cflags: ["-DARCH_X86_HAVE_SSSE3"],
                srcs: ["rsCpuIntrinsics_x86.cpp"],
            },
        },
        x86_64: {
            ssse3: {
                cflags: ["-DARCH_X86_HAVE_SSSE3"],
                srcs: ["rsCpuIntrinsics_x86.cpp"],
            },
        },
    },
 
    target: {
        arm_on_x86: {
            cflags: ["-DBUILD_ARM_FOR_X86"],
        },
    },
 
    shared_libs: [
        "libRS_internal",
        "libc++",
        "liblog",
        "libz",
 
        "libbcinfo",
        "libblas",
    ],
    static_libs: ["libbnnmlowp"],
    header_libs: [
        "libutils_headers",
        "libhardware_headers",
    ],
 
    include_dirs: [
        "frameworks/compile/libbcc/include",
        "frameworks/rs",
    ],
 
    cflags: [
        "-Werror",
        "-Wall",
        "-Wextra",
        "-Wno-unused-parameter",
        "-Wno-unused-variable",
    ],
 
    product_variables: {
        pdk: {
            // Not building RenderScript modules in PDK builds, as libmediandk
            // is not available in PDK.
            enabled: false,
        },
    },
}