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