History log of /frameworks/rs/cpu_ref/rsCpuScript.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c8d7a9313bb9bf980a4f88cf1b4a6437b7b95797 09-Dec-2014 Tim Murray <timmurray@google.com> Enable A53 erratum workaround in bcc.

bug 18683922

Change-Id: I33636dfa74605211c4898cc08fcee6e0f77978e5
/frameworks/rs/cpu_ref/rsCpuScript.cpp
f29edf80510d483b8663e9d8b859959e37361aee 05-Aug-2014 Jason Sams <jsams@google.com> Fix isObject when in 64bit mode.

This also cleans up the passing of args to SetObject and ClearObject.
Fix related issues in 64bit teardown.

Change-Id: I90d1b93c45ff5bc84957d5441ab48a4e2f6feb20
/frameworks/rs/cpu_ref/rsCpuScript.cpp
7ebb02bf54cc3e6b6424c8da642ed75b460cc40d 10-Jul-2014 Jean-Luc Brouillet <jeanluc@google.com> Deprecate rs_fp_imprecise

Change-Id: I063e356e939393e6fa4f39d056cb526aeaf8ee70
/frameworks/rs/cpu_ref/rsCpuScript.cpp
a36c50a6ab87f4c9049318d4c6c8ec7b0a1e6e12 17-Jun-2014 Jason Sams <jsams@google.com> Add 64bit large object support

Add HAL hooks for filling in LO fields.

Change-Id: Ib9bdee714a062de519d2a9708c1016404a1b11a4

Conflicts:
driver/rsdBcc.cpp
driver/rsdCore.cpp
rsAllocation.h
rs_hal.h
/frameworks/rs/cpu_ref/rsCpuScript.cpp
4b3c34e6833e39bc89c2128002806b654b8e623d 11-Jun-2014 Chris Wailes <chriswailes@google.com> Adds support for multi-input kernels to Frameworks/RS.

This patch modifies Frameworks/RS in the following ways:
* Adjusted the data-layout of the C/C++ version of RsForEachStubParamStruct to
accommodate a pointer to an array of input allocations and a pointer to an
array of stride sizes for each of these allocatoins.
* Adds a new code path for Java code to pass multiple allocations to a RS
kernel.
* Packs base pointers and step values for multi-input kernels into the new
RsForEachStubParamStruct members.

Change-Id: I46d2834c37075b2a2407fd8b010546818a4540d1
/frameworks/rs/cpu_ref/rsCpuScript.cpp
32e093ad58e9b858a6a3b747f262c5f0757a2e22 27-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Merge "Use build fingerprint and compile command for caching."
40e35cdbe217ec8bf9fc3c69873c7d62fc14158f 26-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Use build fingerprint and compile command for caching.

If either of those have changed, we need to invalidate the
compiled bit code.

Change-Id: Ic0c392ea5bfff5bf6dc8511740306895b1b12c82
/frameworks/rs/cpu_ref/rsCpuScript.cpp
f94e8db4232979b2fc93e8a77c42bfa57d3da56a 26-Jun-2014 Stephen Hines <srhines@google.com> Add in a missing unlockMutex() on an error path.

Change-Id: I223e64381190184e37a92ce6478340cb7a323e29
/frameworks/rs/cpu_ref/rsCpuScript.cpp
ac8d146a41f18afad5314ac8af440d6aedbe20bf 25-Jun-2014 Stephen Hines <srhines@google.com> Switch the dimensions array to use uint32_t instead of size_t.

size_t isn't safe, since we pack/unpack the array as a 32-bit int array, but
that is the wrong type for 64-bit. Switching to uint32_t is better, since we
only support 1 dimension today, and won't need many more than that even for
complex cases in the future.

Change-Id: Ie0dda264a9398b0e385e0f9ee0a91cda08325dbc
/frameworks/rs/cpu_ref/rsCpuScript.cpp
9ab5094dd32352b33e251e540934f6e814c5fa5b 19-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Move the lib paths out of RSInfo.

Change-Id: Ic65874459509043fef261f7e0122aade4e557c57
/frameworks/rs/cpu_ref/rsCpuScript.cpp
bee48d79ba974e3dfbb782f9cce5c8d554f488e7 13-Jun-2014 Tim Murray <timmurray@google.com> Disable NEON libclcore for AArch64.

On ARMv8/AArch64, we can use the standard libclcore.bc for any precision,
as ASIMD is full IEEE 754 precision.

Change-Id: Iecff433b20f40a7f2272e497ad2e47a2f4b63ef3
/frameworks/rs/cpu_ref/rsCpuScript.cpp
f4d216ee0f0ef18edbde208a61dc4e2fe4c8f050 10-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Remove FAKE_ARM64_BUILD now that we have 64 build working.

Change-Id: Ieb6627adcd1d097fe709559e182efcfc6841d13e
/frameworks/rs/cpu_ref/rsCpuScript.cpp
29809d1f95d4cd4cbc6b2f9384b3321759691e13 28-May-2014 Tim Murray <timmurray@google.com> Modify script loading behavior.

This moves away from RSInfo and toward bcinfo. This also disables all caching for the time being.

Change-Id: Id7c717258d51e0b45540a78596f1bc9c94468efb
/frameworks/rs/cpu_ref/rsCpuScript.cpp
25e3af55a43faddced1a9931574dfdc3cc8ad8fd 22-May-2014 Stephen Hines <srhines@google.com> Switch to the separate RS loading path.

This change goes with a similar change to libbcc that separates compilation
from loading. We create our own symbol resolvers in the driver.

Change-Id: Ifdeed588d5935c49a1e19bdc46d0a8f0b9252e00
/frameworks/rs/cpu_ref/rsCpuScript.cpp
d69b0eb7f8c180b401b45376144ee05af078b13a 15-May-2014 Stephen Hines <srhines@google.com> Switch to standalone bcc compilation path (again).

Bug: 7342767
Change-Id: I6d876742cbd4dbbc7fac1d559a7c54da9e118889
/frameworks/rs/cpu_ref/rsCpuScript.cpp
82e0a6779cb1006921153081fb33374197e7c9de 06-May-2014 Stephen Hines <srhines@google.com> Use the proper triple when compiling with bcc.

Change-Id: I6cbd14e1e196012583929dd383803903dc80e9ff
/frameworks/rs/cpu_ref/rsCpuScript.cpp
748a43678b33a7d814f4466f2846b8c955a9e1e8 02-May-2014 Stephen Hines <srhines@google.com> Revert "Switch to standalone bcc compilation path."

The current standalone bcc on the device needs to be able to select from
multiple possible target triples before we enable it by default.

Bug: 14470052

This reverts commit 99281b5bc2a81a42fa490ddbc1496621c2d84486.

Change-Id: I68f98b3c4f78d708aa5f544d36570e3db9c3e7d1
/frameworks/rs/cpu_ref/rsCpuScript.cpp
99281b5bc2a81a42fa490ddbc1496621c2d84486 04-Feb-2014 Stephen Hines <srhines@google.com> Switch to standalone bcc compilation path.

Bug: 7342767
Change-Id: Idabdc75cb7daefa44177b23efe6ef8c3df4e908a
/frameworks/rs/cpu_ref/rsCpuScript.cpp
005113297b19ed256b6db9d6bc293ed9266899fc 31-Jan-2014 Stephen Hines <srhines@google.com> Configure standalone bcc compiler to work with plugin libraries.

Bug: 7342767

This change adds support (hidden behind the EXTERNAL_BCC_COMPILER ifdef)
for loading plugin libraries via the external bcc toolchain. The external
bcc compiler loads the named library and will then invoke a customized
rsCompilerDriverInit() from that library.

Change-Id: I07c2ea68be54c2255d36926fd37e395db790ef8f
/frameworks/rs/cpu_ref/rsCpuScript.cpp
e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4 13-Mar-2014 Tim Murray <timmurray@google.com> Make RS compile on ARM64.

bug 13280327

Change-Id: I79080c448ca17d0cba8df075737c22b24ce9a085
/frameworks/rs/cpu_ref/rsCpuScript.cpp
ee48c0bbf290a73e2cd4710b70d62fc203dac0dc 31-Oct-2013 Stephen Hines <srhines@google.com> Create a cache directory for our symlinked files if necessary.

Bug: 11519886

Change-Id: I93d3c194a15e4842455c31406095e90bced882ee
/frameworks/rs/cpu_ref/rsCpuScript.cpp
4da42506a08ed7fdb61615b3524f111df939fc6e 03-Oct-2013 Stephen Hines <srhines@google.com> Remove references/use of ARCH_X86_HAVE_* in frameworks/rs.

Bug: 11048298

These SSE-related defines are unnecessary because all x86 Android devices
have these features. We switch all the checks to __i386__ instead.

This also fixes an issue where non-ARM bitcode files were being created with
the ARM defines present. This is problematic when we then try to do things
that would be arch-specific (i.e. the presence of SSE-enabled functions for
clamp(), ...).

This also cleans up the different target architecture specified in the x86
bitcode files so that they match the platform target (i686-unknown-linux).

Change-Id: I4776bbdce360de26e8a00e05d2cb19341d94a173
/frameworks/rs/cpu_ref/rsCpuScript.cpp
17e3cdc24776d8fdbf1ce16287b9b4dcd516708f 10-Sep-2013 Jason Sams <jsams@google.com> Fix ScriptGroup performance regression

bug 10151545

Change-Id: Ica4a30c6fe8718f7fdbff0b446885d9ac7083769
/frameworks/rs/cpu_ref/rsCpuScript.cpp
ddceab9a001f07a3395226c5e06e3b420720af0f 07-Aug-2013 Jason Sams <jsams@google.com> Refactor hal to remove cpuConsumer from drivers

This CL should minimize build breaks due to
BufferQueue changes in the future.

Change-Id: I565a6eae5cc25603741fef32f2cfcb31a32eb757
/frameworks/rs/cpu_ref/rsCpuScript.cpp
c2c11cc9037d5ddd55282c6dab82db542b398d9e 19-Jul-2013 Stephen Hines <srhines@google.com> Fix Script instancing issue for support library.

Our support library relies on opening shared library versions of Scripts
on older devices. This has the unfortunate side effect of sharing global
variables across Script instances. In traditional RenderScript, the actual
Scripts are always instanced, and thus have distinct storage/values for
every global (and static global).

This change fixes the instancing issue by keeping track of loaded libraries
(via a global set, since dlopen is tracked/shared per-process). If we detect
a collision, we create a new randomly named symlink of the library to actually
load from. The dlopen() function only looks at the library name passed to it,
so this allows us to cheaply create a duplicate instance. Once the symlinked
library is actually loaded, we destroy it.

A new unit test has also been added to RSTest_CompatLib to verify instance
behavior. This is a modified version of the same test we have present in CTS
for traditional RenderScript instance verification.

Change-Id: I6a0bca2b65d125b54793d98f0f73ae92e0280af7
/frameworks/rs/cpu_ref/rsCpuScript.cpp
140a7acade66ab5d1f3dc55803a3a65a71f3f86c 11-Jul-2013 Stephen Hines <srhines@google.com> resolved conflicts for merge of 5376c9bf to master

Change-Id: I51507da10f8d7116a2aa29446a00a43d397a37c8
b0934b67b95cc27e2358c2aa4db5f7c1067c8f9b 04-Jul-2013 Stephen Hines <srhines@google.com> Remove libutils and fix rsDebug for RS support library.

Bug: 9664050

Our bitcode runtime library translates vector rsDebug() calls into passing
their parameters via pointers. The previous version of libRSSupport.so was
being created with non-pointer versions of these routines accidentally.
This change also fixes a missing permission issue for ImageProcessing2, so
that the compatibility library can be verified.

This change also removes the use of libutils by switching the implementation of
String8/Vector in the compatibility library to internal types backed by
libstlport_static.

Change-Id: I20da75e8c19a82a42dc2bceaba1937d21372db84
/frameworks/rs/cpu_ref/rsCpuScript.cpp
b58d9adf52f0216c0281c749023bdd5b52236875 20-Jun-2013 Stephen Hines <srhines@google.com> Provide path to execute standalone bcc compiler.

Bug: 7342767

Change-Id: Ife9d9fee77416832445dcf30f0e3eba3dd173bad
/frameworks/rs/cpu_ref/rsCpuScript.cpp
47935ac8e3dd619f758abd576605a564e33bb59c 17-Jun-2013 Tobias Grosser <grosser@google.com> Add the name of the forEach functions to the tracing output

Instead of showing up as 'runForEach', kernels are now e.g. printed as
'runForEach_createAntLookup'.

The String8 is carefully constructed here, such that we only pay
the string processing overhead in case tracing is actually enabled.

Change-Id: Id18319e271a02cbe888bcb9fe806794007d00fca
/frameworks/rs/cpu_ref/rsCpuScript.cpp
ba17ae494add84056bbf3275b68e40e62a643db0 06-Jun-2013 Stephen Hines <srhines@google.com> Switch to separate build/load steps for Scripts.

Bug: 7342767
Change-Id: I94f81cb4dc917dd2cfc10c7718e9263454571db4
/frameworks/rs/cpu_ref/rsCpuScript.cpp
b7d9c80c98fc96aa7c638e3124be24f13a6436b2 30-Apr-2013 Stephen Hines <srhines@google.com> Provide a mechanism for adjusting RSCompilerDriver after construction.

We add a simple callback to the reference implementation of libRSDriver.so,
such that additional BCC flags can be toggled/adjusted before doing any actual
CPU compilation.

Change-Id: Iaf253b7d967d0382937369b1c5dae2d23a99e8be
/frameworks/rs/cpu_ref/rsCpuScript.cpp
f47e8b4b86bf194e65398032f3f5f47a6da89f3f 18-Apr-2013 Stephen Hines <srhines@google.com> Mark use of a debug context with the RSCompilerDriver.

Bug: 7343201
Change-Id: Idb003a3314247481c38aa70f9991f000135996b3
/frameworks/rs/cpu_ref/rsCpuScript.cpp
cca3d6ca444bef3b6d75431ec19bd07bfe40a733 15-Apr-2013 Stephen Hines <srhines@google.com> Add support for DEBUG context type.

Bug: 7343201

This change adds switching for the debug runtime (libclcore_debug.bc) when
running under a DEBUG RS context. It also fixes a small naming issue for
rsSetElementAt_int().

Change-Id: I8b574c9ce915a440375530325ba7de2b46707cfd
/frameworks/rs/cpu_ref/rsCpuScript.cpp
886e51b2ef45ce123379c8a11579851c5580d957 12-Apr-2013 Tim Murray <timmurray@google.com> Merge "Add support for synchronous get()." into jb-mr2-dev
9c64239ebbfa4170190ede812e69150035e008e0 11-Apr-2013 Tim Murray <timmurray@google.com> Add support for synchronous get().

Change-Id: Ic94f1e36f7cffaaeda11fa9f0bb70e441fe1e535
/frameworks/rs/cpu_ref/rsCpuScript.cpp
ef7481e2f0a4ad7b32bb626245e4207cabe171dc 10-Apr-2013 Stephen Hines <srhines@google.com> Remove invalid logging on missing root.expand() functions.

Bug: 8566872

This log message is confusing and unncessary. Due to legacy compatibility,
slot 0 is always reserved for root.expand(). We know that root.expand() may
not exist for many user scripts, since we have supported proper names for
kernels for several releases now.

Change-Id: Id869496aa83f98ce64d6bd784314d788e25182e0
/frameworks/rs/cpu_ref/rsCpuScript.cpp
1d476620399d54774e4fd386c1d23cc583d49522 30-Mar-2013 Stephen Hines <srhines@google.com> Add callback to allow replacement of runtime support library.

Change-Id: I84ec56dfb29a0158015ebf31b3a73ac5bf34ef98
/frameworks/rs/cpu_ref/rsCpuScript.cpp
0b575de8ed0b628d84d256f5846500b0385979bd 15-Mar-2013 Tim Murray <timmurray@google.com> Add x86 server support.

Change-Id: I674acaf15b67afa48bc736f72942a11e2e38e940
/frameworks/rs/cpu_ref/rsCpuScript.cpp
110f181b7966212a36ef18016f9b81c7322d0a2f 15-Mar-2013 Jason Sams <jsams@google.com> Reduce diffs with compat lib.

Change-Id: Ibfa2c7c7da56d158f424ac343e364feacd0a21da
/frameworks/rs/cpu_ref/rsCpuScript.cpp
cadfac411e6690e39de36c4f9e94deb9b7d2d08e 07-Mar-2013 Jason Sams <jsams@google.com> Sync with compat lib.

Change-Id: Id8ace103814cf126f0d157100d1d4a12cc0b8664
/frameworks/rs/cpu_ref/rsCpuScript.cpp
3a25fdd3786c1a08b783d8a83ef94b756347ff5c 23-Feb-2013 Tim Murray <timmurray@google.com> Cleanup lots of things related to IO_OUTPUT and error checking.

Change-Id: Ic6802dd0ba9d3edc8c53f99002cdd905214a515c
/frameworks/rs/cpu_ref/rsCpuScript.cpp
f218bf115af4ae4fd79adbb8842608b308a4cf07 13-Feb-2013 Stephen Hines <srhines@google.com> Support LinkRuntimeCallback() with RS compiler.

Change-Id: I28ada4e7c462cb9673de6886d934dce855fac339
/frameworks/rs/cpu_ref/rsCpuScript.cpp
d4ecb17adc9b099351f2ca1779a74f5283f20a3d 07-Feb-2013 Tim Murray <timmurray@google.com> Add API entry points for clipped kernels and fix Z-dimension clipping.

Change-Id: I43074cb8556d9b28d3e549930f5ac68387f8d823
/frameworks/rs/cpu_ref/rsCpuScript.cpp
709a0978ae141198018ca9769f8d96292a8928e6 16-Nov-2012 Jason Sams <jsams@google.com> Separate CPU driver impl from reference driver.

Change-Id: Ifb484edda665959b81d7b1f890d108bfa20a535d
/frameworks/rs/cpu_ref/rsCpuScript.cpp