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: ["-DARCH_X86_HAVE_AVX2", "-mavx2", "-mfma"], 79 }, 80 }, 81 riscv64: { 82 enabled: false, 83 }, 84 }, 85 86 shared_libs: [ 87 "libRS_internal", 88 "libc++", 89 "liblog", 90 "libz", 91 92 "libbcinfo", 93 "libblas", 94 ], 95 static_libs: ["libbnnmlowp"], 96 header_libs: [ 97 "libutils_headers", 98 "libhardware_headers", 99 ], 100 101 include_dirs: [ 102 "frameworks/compile/libbcc/include", 103 "frameworks/rs", 104 ], 105 106 cflags: [ 107 "-Werror", 108 "-Wall", 109 "-Wextra", 110 "-Wno-unused-parameter", 111 "-Wno-unused-variable", 112 ], 113} 114