summaryrefslogtreecommitdiff
path: root/Android.mk
AgeCommit message (Collapse)Author
2017-07-28Build and package lib{LLVM,clang}_android.soPirama Arumuga Nainar
Bug: http://b/64121881 This is the first step before updating prebuilts and switching RS modules to depend on these renamed libraries instead of libLLVM.so and libclang.so. Test: python frameworks/rs/build-rs.py Change-Id: Id85283bde550b18aebbab6ad6c386aadbcd823c8
2017-05-18Convert more of libRS* to Android.bpColin Cross
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)
2017-05-05Convert libRS to Android.bpColin Cross
See build/soong/README.md for more information. Test: builds Change-Id: I46f62ae8b44eb3c1fadba02f0fee1f0c77d3ba00
2017-03-17Stop making RS modules for PDK, as libmediandk and libSPIRV are notMiao Wang
available in PDK. Bug: 36231835 Test: mm Merged-In: I6e425dd8afd8f7df09de7b245263519d076c9b53 Change-Id: I6e425dd8afd8f7df09de7b245263519d076c9b53
2017-03-16Merge "Set the default cachedir during context create."Treehugger Robot
2017-03-16Set the default cachedir during context create.Miao Wang
- Use JNI reflection to access RenderScriptCacheDir.mCacheDir, and set it immediately after the context is created. - Java or C++ APIs could still call ContextSetCacheDir to override it. - The JNI query is guarded by std::unique_lock to make sure that the current thread is the only one attached to JNI. - This change ensures that vendors could always get a valid code cache dir even with support lib path, as RenderScriptCacheDir.mCacheDir is set by ActivityThread.java when launching the application, regardless of using RenderScript or not. Bug: 34396220 Test: mm, CTS tests pass, tested with RSTest_CompatLib to make sure that support lib path is covered. Change-Id: I542ed2fe03e34b72e85398271b748c0053a35ae3
2017-03-15Remove libutils.so dependency from libRSDriver, libRSCpuRef, and mostMiao Wang
parts of libRS_internal. NOTE: we're resolving dependencies to provide a model for vendors. For us, all this code is above the HAL, thus the dependencies are acceptable; whereas for vendors, their equivalent of this code is below the HAL, and so the dependencies are not acceptable. This CL resolves the libutils dependency by: - Implement the timings functions in android::renderscript namespace using NDK APIs, instead of using libutils counterparts. - Replace android::Vector and android::String8 by std::vector and std::string. - PROPERTY_VALUE_MAX is replaced as PROP_VALUE_MAX. This CL didn't resolve the libutils dependency of rsFont.cpp and rsDebugger.cpp in libRS_internal: The dependent functionality in rsDebugHelper.h is off by default, and only intended for use during development; and rsFont.cpp is part of graphics API which is not implemented below the HAL and is not used as a model by vendors. Additionally, this CL fixed the bug that mNodes was sorted in a decreasing order. Nodes in ScriptGroup should be executed in ascending order. The bad sort was only for support lib; so there was a previously-unknown bug in support lib implementation of ScriptGroup. Background: libutils contains a collection of things like Vector, String8, CallStack. It served the purpose similar to a STL library, when there was no stable STL implementation available in Android. And most importantly, it is not part of NDK. Support lib used to use our own implementations of android::Vector and android::String8, because it can only depend on NDK, similarly for the timing related functions. As part of the Treble requirements, native RS, including vendor version libRS_internal, libRSDriver, libRSCpuRef could only depend on NDK too. So we need to break the dependency on libutils. And since we now have reasonable support of STLs, we should use that instead. Bug: 34396220 Test: mm, and all CTS tests pass on Bullhead; RsTest and RSTest_CompatLib (both native and compat path) also pass. Change-Id: Ib9a37d16235c1dcd0f5bae3b95c374e394483c91
2017-03-08Implement USAGE_IO_INPUT related functions on top of NDK.Miao Wang
- Use AImageReader and AImage as the BufferQueue consumer. - Bump RS_HAL_VERSION to 200 to prevent old GPU drivers to load, as the structure of rsAllocation.h is modified. It is no longer safe to allow the legacy drivers to access Allocation objects via out-of-date header. Bug: 34396220 Test: mm, CTS tests pass. Change-Id: I0c9df2990ad4842719a24e23e69e007059e1c776
2017-03-07Implement USAGE_IO_OUTPUT related methods on top of NDK.Miao Wang
- Use ANativeWindow NDK APIs to implement Allocation.IoSend and Allocation.SetSurface. Bug: 34396220 Test: mm, CTS tests pass and ImageProcessingJB work well. Change-Id: If7afe0ae5261f5ce56565ecd5df67e1ec3db800b
2017-02-28Remove libcutils dependency.Miao Wang
- Implement property_get using __system_property_get, remove dependencies on cutils/properties.h. - remove rsCompatibilityLib.cpp since it only contains propery_get, and it is now in rsCppUtils.cpp. - Disable ATRACE. The systrace is current done in Java level. If we want to do it in the driver, we need to have our own implementation similar to native/utils/trace.cc - Remove CC_LIKELY macro. Bug: 34396220 Test: build Change-Id: I6a6cbcfb2ca15b9d1f09b9ce0579d39fdbe98727
2017-02-23RenderScript HIDL client-side implementationMiao Wang
- Client-side implementation converts RenderScript HAL (top level) from C/C++ to HIDL - Fallback to default CPU implementation if it could not find a matching RS driver through HIDL. - HIDL adaptation and Graphics fallback are handled by two corresponding singleton classes. - Remove HOST_STATIC version of libRS from the makefile. The host version of libRS is not used at all, and generating build errors with HIDL. - Always use fallback path for RS graphics API. - Removed reference to Device from rsContext.cpp. In our current implementation, Device is equivalent to HIDL IDevice class. Thus, our HIDL HAL no longer provides DeviceCreate and DeviceDestroy, making Device no longer useful to Context. - Wait for the debugger to attach if RS_CONTEXT_WAIT_FOR_ATTACH flag is set. The waiting part is now moved out of the context class. Bug: 34396220 Test: mm, all CTS tests pass on bullhead, LiveWallpaper apps using RS graphics APIs run well. Merged-In: I86493b11328d5d8c904cebafa99243e92dfdf6a7 Change-Id: I86493b11328d5d8c904cebafa99243e92dfdf6a7
2017-01-20Cleanup makefiles and warning producing code.Jean-Luc Brouillet
Many entries in our makefiles are not needed: - LOCAL_CPPFLAGS += -fno-exceptions is the default - LOCAL_MODULE_TARGET_ARCH_WARN is obsolete - LOCAL_CXX_STL:= libc++ is the default - LOCAL_MODULE_TAGS := optional is the default - LOCAL_IS_HOST_MODULE := true is the default if we're using $include(BUILD_HOST_*). This can't be removed for the generated subdirectories however without triggering a bug in Ninja. - Removed the -ldl where not needed. - LOCAL_CLANG is no longer needed. Added -Werror -Wall -Wextra to a lot of targets and cleaned up the code that created errors. Removed some hacky code that would prevent tests/java_api from being compiled except under special cicumstances. Corrected some LOCAL_MODULE_TAGS that should have been set to tests. Cleanup warning producing code. Bug: 34265954 Test: Compiled the code. Test: Ran the cpp test, imageprocessing_jb, and cts Change-Id: I27da19b18a6c0ac3686bb8c93681e3d870d587fe
2017-01-10Removed unnecessary dependenciesYang Ni
from build for libRSCpuRef.so, libRS.so and related .so's. Test: m & CTS on angler and volantis Change-Id: I796ff1b1d4c4914d962c46be39d49be166403344
2016-12-13Avoid dependency on androidfwYang Ni
Bug: http://b/33451638 Test: mm Change-Id: If3c311cae06fc60d7ab7ebf2b14539be3503ef2b
2016-11-30Add dependency to libclcore*.bc and compiler-rtPirama Arumuga Nainar
Bug: http://b/28866258 Modules libclcore*.bc and libcompiler-rt.so end up on the system image as required dependencies for libbcc.so. Since, 32-bit libbcc.so is no longer a required module for the system image, mark these libraries as required dependencies for libRS. Test: - Build all topics in this CL - RsTest (including the 32-bit ABI) and CTS tests pass on x86 and x86_64 emulators and Angler. Change-Id: Id98e991d6fd2da0e0fe2aded80db767a7739470e
2016-11-21Do not link libRS and libRSDriver with libLLVM.soPirama Arumuga Nainar
Bug: http://b/28866258 The required LLVM libraries are now statically linked into libbcinfo. Test: RenderScript CTS tests on Angler. Change-Id: I77dbbedfe045ea549d319b65dfba552deca514e4
2016-11-19Merge "Automatically generate RS prebuilts using python script."Miao Wang
2016-11-18Automatically generate RS prebuilts using python script.Miao Wang
Bug: 22377128 Test: manual - Use build_rs.py to make all RenderScript related host/device prebuilts, and package them appropriately into archives for all the supported host OS. - The build server can then be configured to build RS prebuilts per build, automatically. - A new PHONY target rs-prebuilts-all is added. - update-prebuilts.py will pull the artifacts/archives from build server and generate CLs to update the prebuilts in the tree. The build number and build branch information will be automatically included in the commit message. Change-Id: I35a6553c9d0ab399978c31fcd1d881f900752e09
2016-11-04Add missing dependencyJohn Reck
Test: builds Change-Id: Id2aa8a529045ed99aafdf29618673404928a8bc8 (cherry picked from commit 9b3d29674261a2d34e186abb02e6316b423e46dc)
2016-04-25Clean up historical cruft.Elliott Hughes
The use of 'register' in external/freetype was fixed a long time ago, and we never set HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE, it isn't available on LP64, and this code doesn't need it anyway. Change-Id: Ib7d861cca975f091713dce14372ea7f9b818bb8c
2016-03-24Separate libRS.so into public and internal libsYang Ni
Bug: 26546579 libRS_internal.so is not going to be whitelisted by the NDK linker, therefore loadable only by the internal implementation, but not any application code. libRS is going to contain only publicly exported functions, i.e. the functions declared in frameworks/rs/rs.h, including those in rsApiFuncDecl.h (generated from rs.spec). Change-Id: Iac58695316edc9aff87ade2bac3b4a44d1a68b23 (cherry picked from commit 85d0cb112010781ad07b5979f0824b7f0ae3987e)
2015-10-02Add -Wextra to our RS build.Stephen Hines
Change-Id: Ic1c430eec6840af4a8c19a1c13e8559ddf971eb3
2015-09-02Remove useless HOST_OS==windows checksDan Willemsen
These aren't host modules, so they shouldn't be checking what host they're building on. We don't use target libraries that are built when HOST_OS == windows. Change-Id: I4db86dce039150612cd4ea8ba773adc2915b46f9
2015-06-16Use new sanitizer option.Dan Albert
Change-Id: I5bd7d859cf530dac1b9bd1c4a887e9ad8333eeea
2015-05-29Remove dead uses of RSCompilerDriver and of compiler callbacks.David Gross
Change-Id: Ibe8725074724b75e35c25a404daaba07ffbca2ab
2015-05-19Delete dead codeJason Sams
Change-Id: I2830eaed57213f9fc00cac5b9a689b6c7b93341f
2015-04-21Code cleanup: Remove unused rs_native.spec.Logan Chien
It seems that rs_native.spec is simply an empty file since 2013. Besides, all of the usages are simply concatenating rs.spec and rs_native.spec. Change-Id: I3625c92d4495b5262747ea18e633f5e3a60fed39
2015-03-11Refactor hal loadingJason Sams
This CL make the loading of RS drivers more robust by looking up entry points in place of a structure of entry points. It also adds framework for a version handshake. Change-Id: Iae46bf0171785c0ca1048223816b6efc60c337ad
2015-01-20Remove linkloader from frameworks/rs.Stephen Hines
Bug: 18322681 Now that we have switched completely to the new shared library object loading path, we can safely remove the legacy linkloader path. In frameworks/rs, this removes the actual linkloader code, as well as all helper calls into linkloader. This change also coalesces code paths between the support library version of RS and the native version of RS, since they both now depend on a similar shared library loader. A missing call to dlclose() on Script teardown is also added on the native library path. Change-Id: Ie5cc152d93f5e75383f7c21a4523579cfae8823f
2015-01-07New Script Group API: runtime and cpu driver support.Yang Ni
Change-Id: I9c612cf8874aabaf0ca7d1640567464c71ed3070
2014-12-05Disable ASAN for rsg-generator.Dan Albert
ASAN depends on the C++ ABI and an unwinder, which we explicitly aren't linking here. Change-Id: I2a783ae74cb50ad8f42970a4de6c8209a9a5b2a1
2014-11-07Switch rsg-generator to use no STL, since it is pure C.Stephen Hines
We should really fix rsg-generator to install itself, and then be invoked from a location with access to libc++.so, but this fixes things for the time being. Change-Id: Icbcd4e626e76f17cb32ca3631ef40172ee15910e
2014-10-04am 2f80b53e: Merge "Properly set LOCAL_CXX_STL where needed"Hans Boehm
* commit '2f80b53e682a00494c222a12b29c62261b6ecadb': Properly set LOCAL_CXX_STL where needed
2014-10-01Properly set LOCAL_CXX_STL where neededHans Boehm
This sets _USING_LIBCXX correctly, causing <stdatomic.h> to correctly detect that <atomic> is available, preventing compilation failures when both are included. Removed prior manual approximations that manually set other variables that are now set automatically. Change-Id: Ia0297404af08d7d3b42679d402a4a8048b5f05d5
2014-09-10am 6e6cdbc3: Add flag to disable 64-bit driver.Tim Murray
* commit '6e6cdbc303bef581cfb7d1fd0902cb42c89010cc': Add flag to disable 64-bit driver.
2014-09-10Add flag to disable 64-bit driver.Tim Murray
bug 17428047 Change-Id: I888dd310449bf9079e352cb4aef31344c05b0ba8
2014-08-20am 74f0b28d: Merge "Add -Wno-deprecated-register to handle external/freetype."Stephen Hines
* commit '74f0b28d3314a21c26d8bb2dc06efb835d86bfcb': Add -Wno-deprecated-register to handle external/freetype.
2014-08-20am 3fa79f84: Merge changes I4c6abd96,I9bcf36d0Stephen Hines
* commit '3fa79f84fcce0b5f59498980a2bb8e355cf53cd4': Replaced android::Vector with std::vector. Adjust to handle the change to std::vector in libbcc.
2014-08-20Add -Wno-deprecated-register to handle external/freetype.Stephen Hines
Bug: 17163086 Change-Id: I3f646f8e0ce06dec14895accf3225de7ac95a9c3
2014-08-18Replaced android::Vector with std::vector.Chris Wailes
Change-Id: I4c6abd964dc4b1412ec2e592fc8e835fecfe53f6
2014-08-14Compile host libRS with clang.Tim Murray
bug 16513433 Change-Id: I70e79d35e34f408f31f7e69347024fdc1baefda7
2014-07-08Add 64bit large object supportJason Sams
Add HAL hooks for filling in LO fields. Change-Id: Ib9bdee714a062de519d2a9708c1016404a1b11a4 Conflicts: driver/rsdBcc.cpp driver/rsdCore.cpp rsAllocation.h rs_hal.h
2014-06-13Fix Windows SDK build.Logan Chien
* Use gcc instead of clang in order to get proper exception support. * Use libstdc++ instead of libc++ since gcc does not support _Atomic. * Fix various 32/64 typing in linkloader. Change-Id: I34abcf1e9fa98633e0fd35b4e1b71a0d5389008a
2014-06-10Merge "Update structs and defines for 64-bit."Tim Murray
2014-06-10Update structs and defines for 64-bit.Tim Murray
Also adds RS_FIND_OFFSETS, which prints address info for various types that allow us to easily update __pad. Change-Id: I4d57248e155d113c83ff69f4f8f64160aa24fb9b
2014-06-04[MIPS64] Enable mips64 buildDuane Sand
Change-Id: Iad5141ff83be3497c577c63177516f899775e271
2014-05-20Fix host multilib build.Ying Wang
Bug: 13751317 Change-Id: Ia5da0f1468296aa749c4cce161001b6c18a55e04
2014-05-08Use clang for llvm-related projectAndrew Hsieh
clang/llvm 3.5 depends on libcxx's <atomic> which uses _Atomic not available in gcc until 4.9. Even then, the _Atomic support is in C11 mode, not C++11 mode. Change-Id: Iae18d5c22fa0c640b1553640ca781de7646dfb2a
2014-05-07Remove unused LOCAL_LDLIBS.Ying Wang
Change-Id: Ic0b3b5dc136f4b537136936fa3f0c36a71f2c4ba
2014-04-24Update fw/rs for Clang 3.5.Tim Murray
Change-Id: I0a9a1b1e61cb435f0102936ad9ffd51599c49e88