diff options
author | Colin Cross <ccross@android.com> | 2017-05-04 18:33:10 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2017-05-18 15:27:52 -0700 |
commit | 403885ee92f5dbcc1791e0c9a2834222cf69eb60 (patch) | |
tree | d62ff687bcb15ad3869d46734693fffe9de6a8c1 | |
parent | 4308a5bb47ab75ee7d4f2e66b507e9908d58799b (diff) | |
download | rs-403885ee92f5dbcc1791e0c9a2834222cf69eb60.tar.gz |
Convert more of libRS* to Android.bp
See build/soong/README.md for more information.
This reapplies If935ce5cc04da7801210acb49f0a9ed15fcf5889 with the
support modules disabled for unbundled builds to avoid conflicts
with the prebuilts in prebuilts/sdk/renderscript.
Also moves OVERRIDE_RS_DRIVER to be set for libRS_internal.
Test: m -j checkbuild
Change-Id: If935ce5cc04da7801210acb49f0a9ed15fcf5889
Merged-In: Ia98501a471ef5f090446c9fbe2dd1d3422021a6f
(cherry picked from commit e5b2262c7337d13cdfd6852614c1743c19381164)
-rw-r--r-- | Android.bp | 232 | ||||
-rw-r--r-- | Android.mk | 197 | ||||
-rw-r--r-- | cpu_ref/Android.bp | 121 | ||||
-rw-r--r-- | cpu_ref/Android.mk | 103 | ||||
-rw-r--r-- | rsgApi.cpp_rsg (renamed from rsgApi.cpp.rsg) | 0 | ||||
-rw-r--r-- | rsgApiFuncDecl.h_rsg (renamed from rsgApiFuncDecl.h.rsg) | 0 | ||||
-rw-r--r-- | rsgApiReplay.cpp_rsg (renamed from rsgApiReplay.cpp.rsg) | 0 | ||||
-rw-r--r-- | rsgApiStructs.h_rsg (renamed from rsgApiStructs.h.rsg) | 0 | ||||
-rw-r--r-- | support.bp | 182 | ||||
-rw-r--r-- | support/Android.bp | 3 | ||||
-rw-r--r-- | support/jni/Android.bp | 72 | ||||
-rw-r--r-- | support/jni/Android.mk | 54 | ||||
-rw-r--r-- | support/rs_support/Android.mk | 187 |
13 files changed, 594 insertions, 557 deletions
@@ -1,13 +1,217 @@ -subdirs = ["cpp"] - cc_library_headers { name: "rs-headers", export_include_dirs: ["."], sdk_version: "9", } +cc_defaults { + name: "rs_defaults", + cflags: [ + "-Werror", + "-Wall", + "-Wextra", + "-Wno-unused-parameter", + "-Wno-unused-variable", + ], +} + +cc_library_shared { + name: "libRSDriver", + defaults: ["rs_defaults"], + + srcs: [ + "driver/rsdAllocation.cpp", + "driver/rsdBcc.cpp", + "driver/rsdCore.cpp", + "driver/rsdElement.cpp", + "driver/rsdFrameBuffer.cpp", + "driver/rsdFrameBufferObj.cpp", + "driver/rsdGL.cpp", + "driver/rsdMesh.cpp", + "driver/rsdMeshObj.cpp", + "driver/rsdProgram.cpp", + "driver/rsdProgramRaster.cpp", + "driver/rsdProgramStore.cpp", + "driver/rsdRuntimeStubs.cpp", + "driver/rsdSampler.cpp", + "driver/rsdScriptGroup.cpp", + "driver/rsdShader.cpp", + "driver/rsdShaderCache.cpp", + "driver/rsdType.cpp", + "driver/rsdVertexArray.cpp", + ], + + shared_libs: [ + "libRS_internal", + "libRSCpuRef", + + "liblog", + "libEGL", + "libGLESv1_CM", + "libGLESv2", + + "libui", + "libgui", + "libandroid", + + "libbcinfo", + ], +} + +// Build rsg-generator ==================== + +cc_binary_host { + name: "rsg-generator", + + srcs: [ + "spec.l", + "rsg_generator.c", + ], + + stl: "none", + sanitize: { + never: true, + }, +} + +// Generate custom headers +gensrcs { + name: "rs_generated_headers", + tools: ["rsg-generator"], + tool_files: [ + "rs.spec", + "rsg.spec", + ], + cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)", + output_extension: "h", + srcs: [ + "rsgApiStructs.h_rsg", + "rsgApiFuncDecl.h_rsg", + ], + export_include_dirs: ["."], +} + +gensrcs { + name: "rs_generated_sources", + tools: ["rsg-generator"], + tool_files: [ + "rs.spec", + "rsg.spec", + ], + cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)", + output_extension: "cpp", + srcs: [ + "rsgApi.cpp_rsg", + "rsgApiReplay.cpp_rsg", + ], +} + +cc_library_shared { + name: "libRS_internal", + defaults: ["rs_defaults"], + + srcs: [ + "rsApiAllocation.cpp", + "rsApiContext.cpp", + "rsApiDevice.cpp", + "rsApiElement.cpp", + "rsApiFileA3D.cpp", + "rsApiMesh.cpp", + "rsApiType.cpp", + "rsAllocation.cpp", + "rsAnimation.cpp", + "rsComponent.cpp", + "rsContext.cpp", + "rsClosure.cpp", + "rsCppUtils.cpp", + "rsDevice.cpp", + "rsDriverLoader.cpp", + "rsElement.cpp", + "rsFBOCache.cpp", + "rsFifoSocket.cpp", + "rsFileA3D.cpp", + "rsFont.cpp", + "rsGrallocConsumer.cpp", + "rsObjectBase.cpp", + "rsMatrix2x2.cpp", + "rsMatrix3x3.cpp", + "rsMatrix4x4.cpp", + "rsMesh.cpp", + "rsMutex.cpp", + "rsProgram.cpp", + "rsProgramFragment.cpp", + "rsProgramStore.cpp", + "rsProgramRaster.cpp", + "rsProgramVertex.cpp", + "rsSampler.cpp", + "rsScript.cpp", + "rsScriptC.cpp", + "rsScriptC_Lib.cpp", + "rsScriptC_LibGL.cpp", + "rsScriptGroup.cpp", + "rsScriptGroup2.cpp", + "rsScriptIntrinsic.cpp", + "rsSignal.cpp", + "rsStream.cpp", + "rsThreadIO.cpp", + "rsType.cpp", + ], + + generated_sources: ["rs_generated_sources"], + generated_headers: ["rs_generated_headers"], + + shared_libs: [ + "liblog", + "libutils", + "libEGL", + "libGLESv1_CM", + "libGLESv2", + + "libdl", + "libgui", + "libui", + + "libft2", + "libpng", + + "libbcinfo", + "libmediandk", + ], + + // These runtime modules, including libcompiler_rt.so, are required for + // RenderScript. + required: [ + "libclcore.bc", + "libclcore_debug.bc", + "libclcore_g.bc", + "libcompiler_rt", + ], + + arch: { + x86: { + required: ["libclcore_x86.bc"], + }, + x86_64: { + required: ["libclcore_x86.bc"], + }, + + arm: { + neon: { + required: ["libclcore_neon.bc"], + }, + }, + }, + + product_variables: { + override_rs_driver: { + cflags: ["-DOVERRIDE_RS_DRIVER=%s"], + }, + }, +} + cc_library_shared { name: "libRS", + defaults: ["rs_defaults"], srcs: [ "rsApiStubs.cpp", @@ -15,14 +219,6 @@ cc_library_shared { "rsFallbackAdaptation.cpp", ], - cflags: [ - "-Werror", - "-Wall", - "-Wextra", - "-Wno-unused-parameter", - "-Wno-unused-variable", - ], - // Default CPU fallback required: [ "libRS_internal", @@ -45,10 +241,14 @@ cc_library_shared { static_libs: ["libRSDispatch"], version_script: "libRS.map", - - product_variables: { - override_rs_driver: { - cflags: ["-DOVERRIDE_RS_DRIVER=%s"], - }, - }, } + +build = [ + "support.bp", +] + +subdirs = [ + "cpp", + "cpu_ref", + "support", +] @@ -22,202 +22,5 @@ rs-prebuilts-full: \ host_cross_bcc_compat endif -# Not building RenderScript modules in PDK builds, as libmediandk -# is not available in PDK. -ifneq ($(TARGET_BUILD_PDK), true) - -rs_base_CFLAGS := -Werror -Wall -Wextra \ - -Wno-unused-parameter -Wno-unused-variable - -ifneq ($(OVERRIDE_RS_DRIVER),) - rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER) -endif - -ifneq ($(DISABLE_RS_64_BIT_DRIVER),) - rs_base_CFLAGS += -DDISABLE_RS_64_BIT_DRIVER -endif - -ifeq ($(RS_FIND_OFFSETS), true) - rs_base_CFLAGS += -DRS_FIND_OFFSETS -endif - -include $(CLEAR_VARS) -LOCAL_MODULE := libRSDriver - -LOCAL_SRC_FILES:= \ - driver/rsdAllocation.cpp \ - driver/rsdBcc.cpp \ - driver/rsdCore.cpp \ - driver/rsdElement.cpp \ - driver/rsdFrameBuffer.cpp \ - driver/rsdFrameBufferObj.cpp \ - driver/rsdGL.cpp \ - driver/rsdMesh.cpp \ - driver/rsdMeshObj.cpp \ - driver/rsdProgram.cpp \ - driver/rsdProgramRaster.cpp \ - driver/rsdProgramStore.cpp \ - driver/rsdRuntimeStubs.cpp \ - driver/rsdSampler.cpp \ - driver/rsdScriptGroup.cpp \ - driver/rsdShader.cpp \ - driver/rsdShaderCache.cpp \ - driver/rsdType.cpp \ - driver/rsdVertexArray.cpp - - -LOCAL_SHARED_LIBRARIES += libRS_internal libRSCpuRef -LOCAL_SHARED_LIBRARIES += liblog libEGL libGLESv1_CM libGLESv2 -LOCAL_SHARED_LIBRARIES += libui libgui libandroid - -LOCAL_SHARED_LIBRARIES += libbcinfo - -LOCAL_C_INCLUDES += frameworks/compile/libbcc/include - -LOCAL_CFLAGS += $(rs_base_CFLAGS) - -include $(BUILD_SHARED_LIBRARY) - -# Build rsg-generator ==================== -include $(CLEAR_VARS) - -LOCAL_MODULE := rsg-generator - -# These symbols are normally defined by BUILD_XXX, but we need to define them -# here so that local-intermediates-dir works. - -LOCAL_IS_HOST_MODULE := true -LOCAL_MODULE_CLASS := EXECUTABLES -intermediates := $(local-intermediates-dir) - -LOCAL_SRC_FILES:= \ - spec.l \ - rsg_generator.c - -LOCAL_CXX_STL := none -LOCAL_SANITIZE := never - -include $(BUILD_HOST_EXECUTABLE) - -RSG_GENERATOR:=$(LOCAL_BUILT_MODULE) - -include $(CLEAR_VARS) -LOCAL_MODULE := libRS_internal - -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -generated_sources:= $(local-generated-sources-dir) - -# Generate custom headers - -GEN := $(addprefix $(generated_sources)/, \ - rsgApiStructs.h \ - rsgApiFuncDecl.h \ - ) - -$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) -$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec | $(RSG_GENERATOR) $< $@ -$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec -$(GEN): $(generated_sources)/%.h : $(LOCAL_PATH)/%.h.rsg - $(transform-generated-source) - -# used in jni/Android.mk -rs_generated_source += $(GEN) -LOCAL_GENERATED_SOURCES += $(GEN) - -# Generate custom source files - -GEN := $(addprefix $(generated_sources)/, \ - rsgApi.cpp \ - rsgApiReplay.cpp \ - ) - -$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) -$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec | $(RSG_GENERATOR) $< $@ -$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec -$(GEN): $(generated_sources)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg - $(transform-generated-source) - -# used in jni/Android.mk -rs_generated_source += $(GEN) - -LOCAL_GENERATED_SOURCES += $(GEN) - -LOCAL_SRC_FILES:= \ - rsApiAllocation.cpp \ - rsApiContext.cpp \ - rsApiDevice.cpp \ - rsApiElement.cpp \ - rsApiFileA3D.cpp \ - rsApiMesh.cpp \ - rsApiType.cpp \ - rsAllocation.cpp \ - rsAnimation.cpp \ - rsComponent.cpp \ - rsContext.cpp \ - rsClosure.cpp \ - rsCppUtils.cpp \ - rsDevice.cpp \ - rsDriverLoader.cpp \ - rsElement.cpp \ - rsFBOCache.cpp \ - rsFifoSocket.cpp \ - rsFileA3D.cpp \ - rsFont.cpp \ - rsGrallocConsumer.cpp \ - rsObjectBase.cpp \ - rsMatrix2x2.cpp \ - rsMatrix3x3.cpp \ - rsMatrix4x4.cpp \ - rsMesh.cpp \ - rsMutex.cpp \ - rsProgram.cpp \ - rsProgramFragment.cpp \ - rsProgramStore.cpp \ - rsProgramRaster.cpp \ - rsProgramVertex.cpp \ - rsSampler.cpp \ - rsScript.cpp \ - rsScriptC.cpp \ - rsScriptC_Lib.cpp \ - rsScriptC_LibGL.cpp \ - rsScriptGroup.cpp \ - rsScriptGroup2.cpp \ - rsScriptIntrinsic.cpp \ - rsSignal.cpp \ - rsStream.cpp \ - rsThreadIO.cpp \ - rsType.cpp - -LOCAL_SHARED_LIBRARIES += liblog libutils libEGL libGLESv1_CM libGLESv2 -LOCAL_SHARED_LIBRARIES += libdl libgui libui -LOCAL_SHARED_LIBRARIES += libft2 libpng - -LOCAL_SHARED_LIBRARIES += libbcinfo libmediandk - -LOCAL_C_INCLUDES += frameworks/av/include/ndk - -LOCAL_CFLAGS += $(rs_base_CFLAGS) - -# These runtime modules, including libcompiler_rt.so, are required for -# RenderScript. -LOCAL_REQUIRED_MODULES := \ - libclcore.bc \ - libclcore_debug.bc \ - libclcore_g.bc \ - libcompiler_rt - -LOCAL_REQUIRED_MODULES_x86 += libclcore_x86.bc -LOCAL_REQUIRED_MODULES_x86_64 += libclcore_x86.bc - -ifeq ($(ARCH_ARM_HAVE_NEON),true) - LOCAL_REQUIRED_MODULES_arm += libclcore_neon.bc -endif - -LOCAL_MODULE_TAGS := optional - -include $(BUILD_SHARED_LIBRARY) - -endif # TARGET_BUILD_PDK - include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/cpu_ref/Android.bp b/cpu_ref/Android.bp new file mode 100644 index 00000000..84b2b0b7 --- /dev/null +++ b/cpu_ref/Android.bp @@ -0,0 +1,121 @@ +cc_library_shared { + name: "libRSCpuRef", + defaults: ["libbcc-targets"], + + 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"], + + 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, + }, + }, +} diff --git a/cpu_ref/Android.mk b/cpu_ref/Android.mk deleted file mode 100644 index 9b3e9d3b..00000000 --- a/cpu_ref/Android.mk +++ /dev/null @@ -1,103 +0,0 @@ -LOCAL_PATH:=$(call my-dir) - -# Not building RenderScript modules in PDK builds, as libmediandk -# is not available in PDK. -ifneq ($(TARGET_BUILD_PDK), true) - -rs_base_CFLAGS := -Werror -Wall -Wextra \ - -Wno-unused-parameter -Wno-unused-variable \ - -std=c++11 - -ifneq ($(OVERRIDE_RS_DRIVER),) - rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER) -endif - -ifeq ($(BUILD_ARM_FOR_X86),true) - rs_base_CFLAGS += -DBUILD_ARM_FOR_X86 -endif - -include $(CLEAR_VARS) -ifneq ($(HOST_OS),windows) -endif -LOCAL_MODULE := libRSCpuRef -LOCAL_MODULE_TARGET_ARCH := arm mips mips64 x86 x86_64 arm64 - -LOCAL_SRC_FILES:= \ - 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 - -LOCAL_CFLAGS_arm64 += -DARCH_ARM_USE_INTRINSICS -DARCH_ARM64_USE_INTRINSICS -DARCH_ARM64_HAVE_NEON - -ifeq ($(RS_DISABLE_A53_WORKAROUND),true) -LOCAL_CFLAGS_arm64 += -DDISABLE_A53_WORKAROUND -endif - -LOCAL_SRC_FILES_arm64 += \ - 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 - -ifeq ($(ARCH_ARM_HAVE_NEON),true) - LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_NEON -endif - -ifeq ($(ARCH_ARM_HAVE_VFP),true) - LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_VFP -DARCH_ARM_USE_INTRINSICS - LOCAL_SRC_FILES_arm += \ - 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 \ - - LOCAL_ASFLAGS_arm := -mfpu=neon -endif - -ifeq ($(ARCH_X86_HAVE_SSSE3),true) - LOCAL_CFLAGS_x86 += -DARCH_X86_HAVE_SSSE3 - LOCAL_SRC_FILES_x86 += \ - rsCpuIntrinsics_x86.cpp - LOCAL_CFLAGS_x86_64 += -DARCH_X86_HAVE_SSSE3 - LOCAL_SRC_FILES_x86_64 += \ - rsCpuIntrinsics_x86.cpp -endif - -LOCAL_SHARED_LIBRARIES += libRS_internal libc++ liblog libz -LOCAL_SHARED_LIBRARIES += libbcinfo libblas -LOCAL_STATIC_LIBRARIES := libbnnmlowp - -LOCAL_C_INCLUDES += frameworks/compile/libbcc/include -LOCAL_C_INCLUDES += frameworks/rs -LOCAL_C_INCLUDES += external/cblas/include -LOCAL_C_INCLUDES += external/gemmlowp/eight_bit_int_gemm -LOCAL_C_INCLUDES += external/zlib - -include frameworks/compile/libbcc/libbcc-targets.mk - -LOCAL_CFLAGS += $(rs_base_CFLAGS) - -include $(BUILD_SHARED_LIBRARY) - -endif # TARGET_BUILD_PDK diff --git a/rsgApi.cpp.rsg b/rsgApi.cpp_rsg index 0cfbf088..0cfbf088 100644 --- a/rsgApi.cpp.rsg +++ b/rsgApi.cpp_rsg diff --git a/rsgApiFuncDecl.h.rsg b/rsgApiFuncDecl.h_rsg index d00491fd..d00491fd 100644 --- a/rsgApiFuncDecl.h.rsg +++ b/rsgApiFuncDecl.h_rsg diff --git a/rsgApiReplay.cpp.rsg b/rsgApiReplay.cpp_rsg index 00750edc..00750edc 100644 --- a/rsgApiReplay.cpp.rsg +++ b/rsgApiReplay.cpp_rsg diff --git a/rsgApiStructs.h.rsg b/rsgApiStructs.h_rsg index 573541ac..573541ac 100644 --- a/rsgApiStructs.h.rsg +++ b/rsgApiStructs.h_rsg diff --git a/support.bp b/support.bp new file mode 100644 index 00000000..d03e96fd --- /dev/null +++ b/support.bp @@ -0,0 +1,182 @@ +cc_defaults { + name: "rs_support_defaults", + product_variables: { + unbundled_build: { + // Unbundled builds use prebuilts in prebuilts/sdk/renderscript instead + enabled: false, + }, + }, +} + +// Generate custom headers +gensrcs { + name: "rs_generated_headers_support", + tools: ["rsg-generator"], + tool_files: [ + "rs.spec", + "rs_compat.spec", + ], + cmd: "cat $(location rs.spec) $(location rs_compat.spec) | $(location rsg-generator) $(in) $(out)", + output_extension: "h", + srcs: [ + "rsgApiStructs.h_rsg", + "rsgApiFuncDecl.h_rsg", + ], + export_include_dirs: ["."], +} + +gensrcs { + name: "rs_generated_sources_support", + tools: ["rsg-generator"], + tool_files: [ + "rs.spec", + "rs_compat.spec", + ], + cmd: "cat $(location rs.spec) $(location rs_compat.spec) | $(location rsg-generator) $(in) $(out)", + output_extension: "cpp", + srcs: [ + "rsgApi.cpp_rsg", + "rsgApiReplay.cpp_rsg", + ], +} + +cc_library_shared { + name: "libRSSupport", + defaults: ["rs_support_defaults"], + sdk_version: "9", + + srcs: [ + "rsAllocation.cpp", + "rsApiAllocation.cpp", + "rsApiContext.cpp", + "rsApiDevice.cpp", + "rsApiElement.cpp", + "rsApiType.cpp", + "rsClosure.cpp", + "rsComponent.cpp", + "rsContext.cpp", + "rsCppUtils.cpp", + "rsDevice.cpp", + "rsDriverLoader.cpp", + "rsElement.cpp", + "rsFifoSocket.cpp", + "rsObjectBase.cpp", + "rsMatrix2x2.cpp", + "rsMatrix3x3.cpp", + "rsMatrix4x4.cpp", + "rsMutex.cpp", + "rsSampler.cpp", + "rsScript.cpp", + "rsScriptC.cpp", + "rsScriptC_Lib.cpp", + "rsScriptGroup.cpp", + "rsScriptGroup2.cpp", + "rsScriptIntrinsic.cpp", + "rsSignal.cpp", + "rsStream.cpp", + "rsThreadIO.cpp", + "rsType.cpp", + "driver/rsdAllocation.cpp", + "driver/rsdBcc.cpp", + "driver/rsdCore.cpp", + "driver/rsdElement.cpp", + "driver/rsdRuntimeStubs.cpp", + "driver/rsdSampler.cpp", + "driver/rsdScriptGroup.cpp", + "driver/rsdType.cpp", + "cpu_ref/rsCpuCore.cpp", + "cpu_ref/rsCpuExecutable.cpp", + "cpu_ref/rsCpuScript.cpp", + "cpu_ref/rsCpuRuntimeMath.cpp", + "cpu_ref/rsCpuScriptGroup.cpp", + "cpu_ref/rsCpuScriptGroup2.cpp", + "cpu_ref/rsCpuIntrinsic.cpp", + "cpu_ref/rsCpuIntrinsic3DLUT.cpp", + "cpu_ref/rsCpuIntrinsicBlend.cpp", + "cpu_ref/rsCpuIntrinsicBlur.cpp", + "cpu_ref/rsCpuIntrinsicBLAS.cpp", + "cpu_ref/rsCpuIntrinsicColorMatrix.cpp", + "cpu_ref/rsCpuIntrinsicConvolve3x3.cpp", + "cpu_ref/rsCpuIntrinsicConvolve5x5.cpp", + "cpu_ref/rsCpuIntrinsicHistogram.cpp", + "cpu_ref/rsCpuIntrinsicLUT.cpp", + "cpu_ref/rsCpuIntrinsicResize.cpp", + "cpu_ref/rsCpuIntrinsicYuvToRGB.cpp", + ], + + generated_sources: ["rs_generated_sources_support"], + generated_headers: ["rs_generated_headers_support"], + + arch: { + arm: { + cflags: [ + "-DARCH_ARM_HAVE_VFP", + "-DARCH_ARM_USE_INTRINSICS", + ], + asflags: ["-mfpu=neon"], + srcs: [ + "cpu_ref/rsCpuIntrinsics_neon_3DLUT.S", + "cpu_ref/rsCpuIntrinsics_neon_Blend.S", + "cpu_ref/rsCpuIntrinsics_neon_Blur.S", + "cpu_ref/rsCpuIntrinsics_neon_ColorMatrix.S", + "cpu_ref/rsCpuIntrinsics_neon_Convolve.S", + "cpu_ref/rsCpuIntrinsics_neon_Resize.S", + "cpu_ref/rsCpuIntrinsics_neon_YuvToRGB.S", + ], + + neon: { + cflags: ["-DARCH_ARM_HAVE_NEON"] + }, + }, + + arm64: { + cflags: [ + "-DARCH_ARM_USE_INTRINSICS", + "-DARCH_ARM64_USE_INTRINSICS", + "-DARCH_ARM64_HAVE_NEON", + ], + srcs: [ + "cpu_ref/rsCpuIntrinsics_advsimd_3DLUT.S", + "cpu_ref/rsCpuIntrinsics_advsimd_Blend.S", + "cpu_ref/rsCpuIntrinsics_advsimd_Blur.S", + "cpu_ref/rsCpuIntrinsics_advsimd_ColorMatrix.S", + "cpu_ref/rsCpuIntrinsics_advsimd_Convolve.S", + "cpu_ref/rsCpuIntrinsics_advsimd_Resize.S", + "cpu_ref/rsCpuIntrinsics_advsimd_YuvToRGB.S", + ], + }, + + x86: { + cflags: ["-DARCH_X86_HAVE_SSSE3"], + srcs: ["cpu_ref/rsCpuIntrinsics_x86.cpp"], + }, + + x86_64: { + cflags: ["-DARCH_X86_HAVE_SSSE3"], + srcs: ["cpu_ref/rsCpuIntrinsics_x86.cpp"], + }, + }, + + required: ["libblasV8"], + static_libs: ["libbnnmlowpV8"], + shared_libs: [ + "liblog", + "libdl", + ], + ldflags: ["-Wl,--exclude-libs,libc++_static.a"], + stl: "c++_static", + + cflags: [ + "-Werror", + "-Wall", + "-Wextra", + "-Wno-unused-parameter", + "-Wno-unused-variable", + "-Wno-overloaded-virtual", + "-DRS_COMPATIBILITY_LIB", + + "-DGEMMLOWP_USE_STLPORT", + // TODO: why isn't this picked up from the host GLOBAL_CFLAGS? + "-D__STDC_FORMAT_MACROS", + ], +} diff --git a/support/Android.bp b/support/Android.bp new file mode 100644 index 00000000..726a7904 --- /dev/null +++ b/support/Android.bp @@ -0,0 +1,3 @@ +subdirs = [ + "jni", +] diff --git a/support/jni/Android.bp b/support/jni/Android.bp new file mode 100644 index 00000000..17dea120 --- /dev/null +++ b/support/jni/Android.bp @@ -0,0 +1,72 @@ +cc_library_shared { + name: "libRSSupportIO", + defaults: ["rs_support_defaults"], + + sdk_version: "14", + + srcs: [ + "android_rscompat_usage_io.cpp", + "android_rscompat_usage_io_driver.cpp", + ], + + include_dirs: [ + "frameworks/rs", + "frameworks/rs/cpp", + "frameworks/rs/driver", + ], + + cflags: [ + "-Werror", + "-Wall", + "-Wextra", + "-Wno-unused-parameter", + "-DRS_COMPATIBILITY_LIB", + "-std=c++11", + ], + + shared_libs: [ + "libandroid", + "libdl", + ], + + ldflags: [ + "-Wl,--exclude-libs,libc++_static.a", + ], + stl: "c++_static", +} + +cc_library_shared { + name: "librsjni", + defaults: ["rs_support_defaults"], + + sdk_version: "9", + + srcs: ["android_renderscript_RenderScript.cpp"], + + shared_libs: [ + "libdl", + "libjnigraphics", + "liblog", + ], + + static_libs: ["libRSDispatch"], + + include_dirs: [ + "frameworks/rs", + "frameworks/rs/cpp", + ], + + cflags: [ + "-Werror", + "-Wall", + "-Wextra", + "-Wno-unused-parameter", + "-std=c++11", + ], + + required: ["libRSSupport"], + + ldflags: ["-Wl,--exclude-libs,libc++_static.a"], + + stl: "c++_static", +} diff --git a/support/jni/Android.mk b/support/jni/Android.mk deleted file mode 100644 index b17ae363..00000000 --- a/support/jni/Android.mk +++ /dev/null @@ -1,54 +0,0 @@ -LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_SDK_VERSION := 14 - -LOCAL_SRC_FILES:= \ - android_rscompat_usage_io.cpp \ - android_rscompat_usage_io_driver.cpp - -LOCAL_C_INCLUDES += \ - $(JNI_H_INCLUDE) \ - frameworks/rs \ - frameworks/rs/cpp \ - frameworks/rs/driver - -LOCAL_CFLAGS += -Werror -Wall -Wextra \ - -Wno-unused-parameter \ - -DRS_COMPATIBILITY_LIB \ - -std=c++11 - -LOCAL_MODULE:= libRSSupportIO - -LOCAL_LDLIBS += -landroid -LOCAL_LDFLAGS += -ldl -Wl,--exclude-libs,libc++_static.a -LOCAL_NDK_STL_VARIANT := c++_static -include $(BUILD_SHARED_LIBRARY) - -include $(CLEAR_VARS) - -LOCAL_SDK_VERSION := 9 - -LOCAL_SRC_FILES:= \ - android_renderscript_RenderScript.cpp - -LOCAL_SHARED_LIBRARIES := \ - libjnigraphics - -LOCAL_STATIC_LIBRARIES := \ - libRSDispatch - -LOCAL_C_INCLUDES += \ - $(JNI_H_INCLUDE) \ - frameworks/rs \ - frameworks/rs/cpp - -LOCAL_CFLAGS += -Werror -Wall -Wextra -Wno-unused-parameter -std=c++11 - -LOCAL_MODULE:= librsjni -LOCAL_REQUIRED_MODULES := libRSSupport - -LOCAL_LDFLAGS += -ldl -llog -Wl,--exclude-libs,libc++_static.a -LOCAL_NDK_STL_VARIANT := c++_static - -include $(BUILD_SHARED_LIBRARY) diff --git a/support/rs_support/Android.mk b/support/rs_support/Android.mk deleted file mode 100644 index dd083e2b..00000000 --- a/support/rs_support/Android.mk +++ /dev/null @@ -1,187 +0,0 @@ - -LOCAL_PATH:=frameworks/rs -rs_base_CFLAGS := -Werror -Wall -Wextra \ - -Wno-unused-parameter \ - -Wno-unused-variable \ - -Wno-overloaded-virtual -DRS_COMPATIBILITY_LIB \ - -std=c++11 - -ifeq ($(ARCH_ARM_HAVE_NEON),true) -rs_base_CFLAGS += -DARCH_ARM_HAVE_NEON -endif - -ifeq ($(TARGET_BUILD_PDK), true) - rs_base_CFLAGS += -D__RS_PDK__ -endif - -# Build rsg-generator ==================== -include $(CLEAR_VARS) - -LOCAL_MODULE := rsg-generator_support - -# These symbols are normally defined by BUILD_XXX, but we need to define them -# here so that local-intermediates-dir works. - -LOCAL_MODULE_CLASS := EXECUTABLES -intermediates := $(local-intermediates-dir) - -LOCAL_SRC_FILES:= \ - spec.l \ - rsg_generator.c - -LOCAL_CXX_STL := none -LOCAL_SANITIZE := never - -include $(BUILD_HOST_EXECUTABLE) - -# TODO: This should go into build/core/config.mk -RSG_GENERATOR_SUPPORT:=$(LOCAL_BUILT_MODULE) - -include $(CLEAR_VARS) -LOCAL_MODULE := libRSSupport -LOCAL_SDK_VERSION := 9 - - -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -generated_sources_dir := $(call local-generated-sources-dir) - -# Generate custom headers - -GEN := $(addprefix $(generated_sources_dir)/, \ - rsgApiStructs.h \ - rsgApiFuncDecl.h \ - ) - -$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) -$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rs_compat.spec | $(RSG_GENERATOR_SUPPORT) $< $@ -$(GEN) : $(RSG_GENERATOR_SUPPORT) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rs_compat.spec -$(GEN): $(generated_sources_dir)/%.h : $(LOCAL_PATH)/%.h.rsg - $(transform-generated-source) - -# used in jni/Android.mk -rs_generated_source += $(GEN) -LOCAL_GENERATED_SOURCES += $(GEN) - -# Generate custom source files - -GEN := $(addprefix $(generated_sources_dir)/, \ - rsgApi.cpp \ - rsgApiReplay.cpp \ - ) - -$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) -$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rs_compat.spec | $(RSG_GENERATOR_SUPPORT) $< $@ -$(GEN) : $(RSG_GENERATOR_SUPPORT) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rs_compat.spec -$(GEN): $(generated_sources_dir)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg - $(transform-generated-source) - -# used in jni/Android.mk -rs_generated_source += $(GEN) - -LOCAL_GENERATED_SOURCES += $(GEN) - -LOCAL_SRC_FILES:= \ - rsAllocation.cpp \ - rsApiAllocation.cpp \ - rsApiContext.cpp \ - rsApiDevice.cpp \ - rsApiElement.cpp \ - rsApiType.cpp \ - rsClosure.cpp \ - rsComponent.cpp \ - rsContext.cpp \ - rsCppUtils.cpp \ - rsDevice.cpp \ - rsDriverLoader.cpp \ - rsElement.cpp \ - rsFifoSocket.cpp \ - rsObjectBase.cpp \ - rsMatrix2x2.cpp \ - rsMatrix3x3.cpp \ - rsMatrix4x4.cpp \ - rsMutex.cpp \ - rsSampler.cpp \ - rsScript.cpp \ - rsScriptC.cpp \ - rsScriptC_Lib.cpp \ - rsScriptGroup.cpp \ - rsScriptGroup2.cpp \ - rsScriptIntrinsic.cpp \ - rsSignal.cpp \ - rsStream.cpp \ - rsThreadIO.cpp \ - rsType.cpp \ - driver/rsdAllocation.cpp \ - driver/rsdBcc.cpp \ - driver/rsdCore.cpp \ - driver/rsdElement.cpp \ - driver/rsdRuntimeStubs.cpp \ - driver/rsdSampler.cpp \ - driver/rsdScriptGroup.cpp \ - driver/rsdType.cpp \ - cpu_ref/rsCpuCore.cpp \ - cpu_ref/rsCpuExecutable.cpp \ - cpu_ref/rsCpuScript.cpp \ - cpu_ref/rsCpuRuntimeMath.cpp \ - cpu_ref/rsCpuScriptGroup.cpp \ - cpu_ref/rsCpuScriptGroup2.cpp \ - cpu_ref/rsCpuIntrinsic.cpp \ - cpu_ref/rsCpuIntrinsic3DLUT.cpp \ - cpu_ref/rsCpuIntrinsicBlend.cpp \ - cpu_ref/rsCpuIntrinsicBlur.cpp \ - cpu_ref/rsCpuIntrinsicBLAS.cpp \ - cpu_ref/rsCpuIntrinsicColorMatrix.cpp \ - cpu_ref/rsCpuIntrinsicConvolve3x3.cpp \ - cpu_ref/rsCpuIntrinsicConvolve5x5.cpp \ - cpu_ref/rsCpuIntrinsicHistogram.cpp \ - cpu_ref/rsCpuIntrinsicLUT.cpp \ - cpu_ref/rsCpuIntrinsicResize.cpp \ - cpu_ref/rsCpuIntrinsicYuvToRGB.cpp - -ifeq ($(ARCH_ARM_HAVE_ARMV7A),true) -LOCAL_CFLAGS_arm := -DARCH_ARM_HAVE_VFP -DARCH_ARM_USE_INTRINSICS -LOCAL_ASFLAGS_arm := -mfpu=neon -LOCAL_SRC_FILES_arm := \ - cpu_ref/rsCpuIntrinsics_neon_3DLUT.S \ - cpu_ref/rsCpuIntrinsics_neon_Blend.S \ - cpu_ref/rsCpuIntrinsics_neon_Blur.S \ - cpu_ref/rsCpuIntrinsics_neon_ColorMatrix.S \ - cpu_ref/rsCpuIntrinsics_neon_Convolve.S \ - cpu_ref/rsCpuIntrinsics_neon_Resize.S \ - cpu_ref/rsCpuIntrinsics_neon_YuvToRGB.S -endif - -LOCAL_CFLAGS_arm64 += \ - -DARCH_ARM_USE_INTRINSICS \ - -DARCH_ARM64_USE_INTRINSICS \ - -DARCH_ARM64_HAVE_NEON -LOCAL_SRC_FILES_arm64 += \ - cpu_ref/rsCpuIntrinsics_advsimd_3DLUT.S \ - cpu_ref/rsCpuIntrinsics_advsimd_Blend.S \ - cpu_ref/rsCpuIntrinsics_advsimd_Blur.S \ - cpu_ref/rsCpuIntrinsics_advsimd_ColorMatrix.S \ - cpu_ref/rsCpuIntrinsics_advsimd_Convolve.S \ - cpu_ref/rsCpuIntrinsics_advsimd_Resize.S \ - cpu_ref/rsCpuIntrinsics_advsimd_YuvToRGB.S - -LOCAL_CFLAGS_x86 += -DARCH_X86_HAVE_SSSE3 -LOCAL_SRC_FILES_x86 += cpu_ref/rsCpuIntrinsics_x86.cpp -LOCAL_CFLAGS_x86_64 += -DARCH_X86_HAVE_SSSE3 -LOCAL_SRC_FILES_x86_64 += cpu_ref/rsCpuIntrinsics_x86.cpp - -LOCAL_REQUIRED_MODULES := libblasV8 -LOCAL_STATIC_LIBRARIES := libbnnmlowpV8 -LOCAL_LDFLAGS += -llog -ldl -Wl,--exclude-libs,libc++_static.a -LOCAL_NDK_STL_VARIANT := c++_static - -LOCAL_C_INCLUDES += external/cblas/include -LOCAL_C_INCLUDES += external/gemmlowp/eight_bit_int_gemm - -LOCAL_CFLAGS += $(rs_base_CFLAGS) -DGEMMLOWP_USE_STLPORT - -LOCAL_MODULE:= libRSSupport - -# TODO: why isn't this picked up from the host GLOBAL_CFLAGS? -LOCAL_CFLAGS += -D__STDC_FORMAT_MACROS - -include $(BUILD_SHARED_LIBRARY) |