summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2023-11-08 04:12:16 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-11-08 04:12:16 +0000
commite10c004e69babc42e46e0cf5ca7213e74f5f75af (patch)
treecf0eb07953aa65b7ae9557a66b93ec5e2a6cfd65
parente939b85f7350c8d36972e592de471767c43be984 (diff)
parent13ae69f377de72d4d8eba0ed27a586fd5da4443b (diff)
downloadrs-e10c004e69babc42e46e0cf5ca7213e74f5f75af.tar.gz
Merge "Revert "Switch RS runtime libraries to prebuilt build rules"" into main am: 1033b7e9e5 am: 180e2cc41e am: 13ae69f377
Original change: https://android-review.googlesource.com/c/platform/frameworks/rs/+/2819906 Change-Id: I556363ed808cd180df3d69ddecf3feed390b2154 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--Android.bp111
-rw-r--r--Android.mk28
-rw-r--r--driver/Android.mk4
-rwxr-xr-xdriver/runtime/Android.mk283
4 files changed, 315 insertions, 111 deletions
diff --git a/Android.bp b/Android.bp
index 04b2a06d..adf1d5ca 100644
--- a/Android.bp
+++ b/Android.bp
@@ -345,117 +345,6 @@ cc_library_shared {
],
}
-prebuilt_renderscript_bitcode {
- name: "libclcore.bc",
- arch: {
- arm: {
- src: "driver/runtime/prebuilts/arm/lib/libclcore.bc",
- },
- arm64: {
- src: "driver/runtime/prebuilts/arm/lib64/libclcore.bc",
- },
- x86: {
- src: "driver/runtime/prebuilts/x86/lib/libclcore.bc",
- },
- x86_64: {
- src: "driver/runtime/prebuilts/x86/lib64/libclcore.bc",
- },
- },
-}
-
-prebuilt_renderscript_bitcode {
- name: "libclcore_debug.bc",
- arch: {
- arm: {
- src: "driver/runtime/prebuilts/arm/lib/libclcore_debug.bc",
- },
- arm64: {
- src: "driver/runtime/prebuilts/arm/lib64/libclcore_debug.bc",
- },
- x86: {
- src: "driver/runtime/prebuilts/x86/lib/libclcore_debug.bc",
- },
- x86_64: {
- src: "driver/runtime/prebuilts/x86/lib64/libclcore_debug.bc",
- },
- },
-}
-
-prebuilt_renderscript_bitcode {
- name: "libclcore_x86.bc",
- arch: {
- arm: {
- enabled: false,
- },
- arm64: {
- enabled: false,
- },
- x86: {
- src: "driver/runtime/prebuilts/x86/lib/libclcore_x86.bc",
- },
- x86_64: {
- src: "driver/runtime/prebuilts/x86/lib64/libclcore_x86.bc",
- },
- },
-}
-
-prebuilt_renderscript_bitcode {
- name: "libclcore_neon.bc",
- arch: {
- arm: {
- src: "driver/runtime/prebuilts/arm/lib/libclcore_neon.bc",
- },
- arm64: {
- // These are only 32-bit libraries.
- enabled: false,
- },
- x86: {
- // Using the ARM version is fine for native_bridge.
- src: "driver/runtime/prebuilts/arm/lib/libclcore_neon.bc",
- },
- x86_64: {
- // These are only 32-bit libraries.
- enabled: false,
- },
- },
-}
-
-prebuilt_renderscript_bitcode {
- name: "libclcore_g.bc",
- arch: {
- arm: {
- src: "driver/runtime/prebuilts/arm/lib/libclcore_g.bc",
- },
- arm64: {
- src: "driver/runtime/prebuilts/arm/lib64/libclcore_g.bc",
- },
- x86: {
- src: "driver/runtime/prebuilts/x86/lib/libclcore_g.bc",
- },
- x86_64: {
- src: "driver/runtime/prebuilts/x86/lib64/libclcore_g.bc",
- },
- },
-}
-
-prebuilt_renderscript_bitcode {
- name: "libclcore_debug_g.bc",
- arch: {
- arm: {
- src: "driver/runtime/prebuilts/arm/lib/libclcore_debug_g.bc",
- },
- arm64: {
- src: "driver/runtime/prebuilts/arm/lib64/libclcore_debug_g.bc",
- },
- x86: {
- src: "driver/runtime/prebuilts/x86/lib/libclcore_debug_g.bc",
- },
- x86_64: {
- src: "driver/runtime/prebuilts/x86/lib64/libclcore_debug_g.bc",
- },
- },
-}
-
build = [
"support.bp",
]
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 00000000..a64fc081
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,28 @@
+
+LOCAL_PATH:=$(call my-dir)
+
+.PHONY: rs-prebuilts-full
+rs-prebuilts-full: \
+ bcc_compat \
+ llvm-rs-cc \
+ libRSSupport \
+ libRSSupportIO \
+ libRScpp_static \
+ libblasV8 \
+ libcompiler_rt \
+ librsrt_arm.bc \
+ librsrt_arm64.bc \
+ librsrt_mips.bc \
+ librsrt_x86.bc \
+ librsrt_x86_64.bc \
+ libLLVM_android-host64 \
+ libclang_android-host64
+
+ifneq ($(HOST_OS),darwin)
+rs-prebuilts-full: \
+ host_cross_llvm-rs-cc \
+ host_cross_bcc_compat
+endif
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
+
diff --git a/driver/Android.mk b/driver/Android.mk
new file mode 100644
index 00000000..271de29b
--- /dev/null
+++ b/driver/Android.mk
@@ -0,0 +1,4 @@
+
+LOCAL_PATH:=$(call my-dir)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/driver/runtime/Android.mk b/driver/runtime/Android.mk
new file mode 100755
index 00000000..a35ceab0
--- /dev/null
+++ b/driver/runtime/Android.mk
@@ -0,0 +1,283 @@
+#
+# Copyright (C) 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+# C/LLVM-IR source files for the library
+clcore_base_files := \
+ rs_allocation.c \
+ rs_cl.c \
+ rs_core.c \
+ rs_element.c \
+ rs_f16_math.c \
+ rs_mesh.c \
+ rs_matrix.c \
+ rs_program.c \
+ rs_sample.c \
+ rs_sampler.c \
+ rs_convert.c \
+ rs_quaternion.c
+
+clcore_cflags := -Werror -Wall -Wextra \
+ -Iframeworks/rs/cpu_ref -DRS_DECLARE_EXPIRED_APIS
+
+clcore_base_files_32 := \
+ ll32/allocation.ll
+
+clcore_base_files_64 := \
+ ll64/allocation.ll
+
+clcore_files := \
+ $(clcore_base_files) \
+ arch/generic.c
+
+clcore_g_files := \
+ rs_abi_debuginfo.c \
+ arch/generic.c
+
+clcore_files_32 := \
+ $(clcore_base_files_32) \
+ ll32/math.ll
+
+clcore_files_64 := \
+ $(clcore_base_files_64) \
+ ll64/math.ll
+
+clcore_neon_files := \
+ $(clcore_base_files) \
+ $(clcore_files_32) \
+ arch/neon.ll \
+ arch/clamp.c
+
+clcore_arm64_files := \
+ $(clcore_files_64) \
+ arch/asimd.ll \
+ arch/clamp.c
+
+clcore_x86_files := \
+ $(clcore_base_files) \
+ arch/generic.c \
+ arch/x86_sse2.ll \
+ arch/x86_sse3.ll
+
+# Grab the current value for $(RS_VERSION_DEFINE)
+include frameworks/compile/slang/rs_version.mk
+
+# Build the base version of the library
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libclcore.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
+LOCAL_CFLAGS += $(clcore_cflags)
+LOCAL_SRC_FILES := $(clcore_base_files)
+LOCAL_SRC_FILES_32 := $(clcore_files_32)
+LOCAL_SRC_FILES_32 += arch/generic.c
+
+ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm64))
+LOCAL_SRC_FILES_64 := $(clcore_arm64_files)
+LOCAL_CFLAGS_64 += -DARCH_ARM64_HAVE_NEON
+else
+LOCAL_SRC_FILES_64 := $(clcore_files_64)
+LOCAL_SRC_FILES_64 += arch/generic.c
+endif
+
+include $(LOCAL_PATH)/build_bc_lib.mk
+
+# Build a debug version of the library
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libclcore_debug.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
+rs_debug_runtime := 1
+LOCAL_CFLAGS += $(clcore_cflags)
+LOCAL_SRC_FILES := $(clcore_base_files)
+LOCAL_SRC_FILES_32 := $(clcore_files_32)
+LOCAL_SRC_FILES_32 += arch/generic.c
+
+ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm64))
+LOCAL_SRC_FILES_64 := $(clcore_arm64_files)
+LOCAL_CFLAGS_64 += -DARCH_ARM64_HAVE_NEON
+else
+LOCAL_SRC_FILES_64 := $(clcore_files_64)
+LOCAL_SRC_FILES_64 += arch/generic.c
+endif
+
+include $(LOCAL_PATH)/build_bc_lib.mk
+rs_debug_runtime :=
+
+# Build an optimized version of the library for x86 platforms (all have SSE2/3).
+ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libclcore_x86.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
+LOCAL_CFLAGS += $(clcore_cflags) -DARCH_X86_HAVE_SSSE3
+LOCAL_SRC_FILES := $(clcore_x86_files)
+LOCAL_SRC_FILES_32 := $(clcore_base_files_32)
+LOCAL_SRC_FILES_64 := $(clcore_base_files_64)
+
+include $(LOCAL_PATH)/build_bc_lib.mk
+endif
+
+# Build a NEON-enabled version of the library
+# Only build on 32-bit, because we don't need a 64-bit NEON lib
+include $(CLEAR_VARS)
+
+LOCAL_32_BIT_ONLY := true
+
+LOCAL_MODULE := libclcore_neon.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
+LOCAL_CFLAGS += $(clcore_cflags)
+LOCAL_SRC_FILES := $(clcore_neon_files)
+LOCAL_CFLAGS += -DARCH_ARM_HAVE_NEON
+
+include $(LOCAL_PATH)/build_bc_lib.mk
+
+# Build a version of the library with debug info
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libclcore_g.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
+rs_g_runtime := 1
+LOCAL_CFLAGS += $(clcore_cflags)
+LOCAL_CFLAGS += -g -O0
+LOCAL_SRC_FILES := $(clcore_base_files) $(clcore_g_files)
+LOCAL_SRC_FILES_32 := $(clcore_base_files_32)
+LOCAL_SRC_FILES_64 := $(clcore_base_files_64)
+
+ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm64))
+LOCAL_CFLAGS_64 += -DARCH_ARM64_HAVE_NEON
+endif
+
+include $(LOCAL_PATH)/build_bc_lib.mk
+
+# Build a debug version of the library with debug info
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libclcore_debug_g.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
+rs_debug_runtime := 1
+rs_g_runtime := 1
+LOCAL_CFLAGS += $(clcore_cflags)
+LOCAL_CFLAGS += -g -O0
+LOCAL_SRC_FILES := $(clcore_base_files)
+LOCAL_SRC_FILES += rs_abi_debuginfo.c
+LOCAL_SRC_FILES_32 := $(clcore_base_files_32)
+LOCAL_SRC_FILES_64 := $(clcore_base_files_64)
+
+ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm64))
+LOCAL_SRC_FILES_64 += arch/asimd.ll arch/clamp.c
+LOCAL_CFLAGS_64 += -DARCH_ARM64_HAVE_NEON
+else
+LOCAL_SRC_FILES_64 += arch/generic.c
+endif
+
+include $(LOCAL_PATH)/build_bc_lib.mk
+rs_debug_runtime :=
+rs_g_runtime :=
+
+### Build new versions (librsrt_<ARCH>.bc) as host shared libraries.
+### These will be used with bcc_compat and the support library.
+
+# Build the ARM version of the library
+include $(CLEAR_VARS)
+
+# FIXME for 64-bit
+LOCAL_32_BIT_ONLY := true
+
+BCC_RS_TRIPLE := renderscript32-linux-androideabi
+RS_TRIPLE_CFLAGS :=
+LOCAL_MODULE := librsrt_arm.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
+LOCAL_IS_HOST_MODULE := true
+LOCAL_CFLAGS += $(clcore_cflags)
+LOCAL_SRC_FILES := $(clcore_files) $(clcore_files_32)
+include $(LOCAL_PATH)/build_bc_lib.mk
+
+# Build the MIPS version of the library
+include $(CLEAR_VARS)
+
+# FIXME for 64-bit
+LOCAL_32_BIT_ONLY := true
+
+BCC_RS_TRIPLE := renderscript32-linux-androideabi
+RS_TRIPLE_CFLAGS :=
+LOCAL_MODULE := librsrt_mips.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
+LOCAL_IS_HOST_MODULE := true
+LOCAL_CFLAGS += $(clcore_cflags)
+LOCAL_SRC_FILES := $(clcore_files) $(clcore_files_32)
+include $(LOCAL_PATH)/build_bc_lib.mk
+
+# Build the x86 version of the library
+include $(CLEAR_VARS)
+
+# FIXME for 64-bit
+LOCAL_32_BIT_ONLY := true
+
+BCC_RS_TRIPLE := renderscript32-linux-androideabi
+RS_TRIPLE_CFLAGS := -D__i386__
+LOCAL_MODULE := librsrt_x86.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
+LOCAL_IS_HOST_MODULE := true
+LOCAL_CFLAGS += $(clcore_cflags) -DARCH_X86_HAVE_SSSE3
+LOCAL_SRC_FILES := $(clcore_x86_files) $(clcore_base_files_32)
+include $(LOCAL_PATH)/build_bc_lib.mk
+
+include $(CLEAR_VARS)
+
+BCC_RS_TRIPLE := renderscript64-linux-android
+RS_TRIPLE_CFLAGS :=
+LOCAL_MODULE := librsrt_arm64.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
+LOCAL_IS_HOST_MODULE := true
+LOCAL_CFLAGS += $(clcore_cflags)
+LOCAL_SRC_FILES := $(clcore_files) $(clcore_files_64)
+include $(LOCAL_PATH)/build_bc_lib.mk
+
+# Build the x86_64 version of the library
+include $(CLEAR_VARS)
+
+BCC_RS_TRIPLE := renderscript64-linux-android
+RS_TRIPLE_CFLAGS := -D__x86_64__
+LOCAL_MODULE := librsrt_x86_64.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
+LOCAL_IS_HOST_MODULE := true
+LOCAL_CFLAGS += $(clcore_cflags) -DARCH_X86_HAVE_SSSE3
+LOCAL_SRC_FILES := $(clcore_x86_files) $(clcore_base_files_64)
+include $(LOCAL_PATH)/build_bc_lib.mk