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