Age | Commit message (Collapse) | Author |
|
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
|
|
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)
|
|
See build/soong/README.md for more information.
Test: builds
Change-Id: I46f62ae8b44eb3c1fadba02f0fee1f0c77d3ba00
|
|
available in PDK.
Bug: 36231835
Test: mm
Merged-In: I6e425dd8afd8f7df09de7b245263519d076c9b53
Change-Id: I6e425dd8afd8f7df09de7b245263519d076c9b53
|
|
|
|
- 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
|
|
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
|
|
- 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
|
|
- 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
|
|
- 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
|
|
- 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
|
|
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
|
|
from build for libRSCpuRef.so, libRS.so and related .so's.
Test: m & CTS on angler and volantis
Change-Id: I796ff1b1d4c4914d962c46be39d49be166403344
|
|
Bug: http://b/33451638
Test: mm
Change-Id: If3c311cae06fc60d7ab7ebf2b14539be3503ef2b
|
|
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
|
|
Bug: http://b/28866258
The required LLVM libraries are now statically linked into libbcinfo.
Test: RenderScript CTS tests on Angler.
Change-Id: I77dbbedfe045ea549d319b65dfba552deca514e4
|
|
|
|
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
|
|
Test: builds
Change-Id: Id2aa8a529045ed99aafdf29618673404928a8bc8
(cherry picked from commit 9b3d29674261a2d34e186abb02e6316b423e46dc)
|
|
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
|
|
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)
|
|
Change-Id: Ic1c430eec6840af4a8c19a1c13e8559ddf971eb3
|
|
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
|
|
Change-Id: I5bd7d859cf530dac1b9bd1c4a887e9ad8333eeea
|
|
Change-Id: Ibe8725074724b75e35c25a404daaba07ffbca2ab
|
|
Change-Id: I2830eaed57213f9fc00cac5b9a689b6c7b93341f
|
|
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
|
|
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
|
|
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
|
|
Change-Id: I9c612cf8874aabaf0ca7d1640567464c71ed3070
|
|
ASAN depends on the C++ ABI and an unwinder, which we explicitly
aren't linking here.
Change-Id: I2a783ae74cb50ad8f42970a4de6c8209a9a5b2a1
|
|
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
|
|
* commit '2f80b53e682a00494c222a12b29c62261b6ecadb':
Properly set LOCAL_CXX_STL where needed
|
|
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
|
|
* commit '6e6cdbc303bef581cfb7d1fd0902cb42c89010cc':
Add flag to disable 64-bit driver.
|
|
bug 17428047
Change-Id: I888dd310449bf9079e352cb4aef31344c05b0ba8
|
|
* commit '74f0b28d3314a21c26d8bb2dc06efb835d86bfcb':
Add -Wno-deprecated-register to handle external/freetype.
|
|
* commit '3fa79f84fcce0b5f59498980a2bb8e355cf53cd4':
Replaced android::Vector with std::vector.
Adjust to handle the change to std::vector in libbcc.
|
|
Bug: 17163086
Change-Id: I3f646f8e0ce06dec14895accf3225de7ac95a9c3
|
|
Change-Id: I4c6abd964dc4b1412ec2e592fc8e835fecfe53f6
|
|
bug 16513433
Change-Id: I70e79d35e34f408f31f7e69347024fdc1baefda7
|
|
Add HAL hooks for filling in LO fields.
Change-Id: Ib9bdee714a062de519d2a9708c1016404a1b11a4
Conflicts:
driver/rsdBcc.cpp
driver/rsdCore.cpp
rsAllocation.h
rs_hal.h
|
|
* 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
|
|
|
|
Also adds RS_FIND_OFFSETS, which prints address info for various types that allow us to easily update __pad.
Change-Id: I4d57248e155d113c83ff69f4f8f64160aa24fb9b
|
|
Change-Id: Iad5141ff83be3497c577c63177516f899775e271
|
|
Bug: 13751317
Change-Id: Ia5da0f1468296aa749c4cce161001b6c18a55e04
|
|
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
|
|
Change-Id: Ic0b3b5dc136f4b537136936fa3f0c36a71f2c4ba
|
|
Change-Id: I0a9a1b1e61cb435f0102936ad9ffd51599c49e88
|