• Home
  • History
  • Annotate
  • only in /frameworks/rs/driver/runtime/
History log of /frameworks/rs/driver/runtime/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
89caa609295f2222661b319e5a197ae6ce184579 19-Feb-2016 Verena Beckham <verena@codeplay.com> Ensure arch/generic.c is always included in libclcore_g.bc.

This fixes a bug where the symbols contained in generic.c were not
accessible when running on x86_64 or MIPS64. That led to the linking
of apks on the device to fail.

Change-Id: Ic10cba73bcc229ec00a558f0eb6ef862aaa9096c
Signed-off-by: Verena Beckham <verena@codeplay.com>
(cherry picked from commit 39d95077c0fa1ab04739ec60a79eb8d9386242d0)

Bug: 30312793
ndroid.mk
b42b8b86a6e28b96919d0ef40294e3b8636e8fc7 24-Feb-2016 Verena Beckham <verena@codeplay.com> Rename memcpy to local_memcpy in rs_allocations.c.

This is so it doesn't get linked with instead of the bionic version.
This fixes a crash when compiling with -O0, where the memcpy version
in rs_allocations.c was hanging around (not being inlined) and was
linked with in unrelated code, which led to a crash because the ABI
was not the expected.

Change-Id: I0c699bf3e0ed7b353d0e2108c52fcb19660eecc5
Signed-off-by: Verena Beckham <verena@codeplay.com>
(cherry picked from commit 6fb5a4f5411c16d36f123c7c2c9add4d937479ef)

Bug: 30312793
s_allocation.c
92185a7b5e7821ce5b584329a2483f224ca12e0f 04-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> Implement rsDebug for half

http://b/27556050

Add needed support in libRSDriver and libclcore.

Change-Id: I374b4372bd4f550e99f9916e1c0a08b8c406f0fc
s_core.c
c0b8e2d47db285de0087e524b1e7f1576c4bece9 01-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> Merge changes from topic 'f16-clamp' into nyc-dev

* changes:
Enable tests for Float16 clamp
Define Float16 clamp
13e95692c152bd270078b72dda494aecb60bbb9b 01-Apr-2016 Miao Wang <miaowang@google.com> Merge "Add librsrt_x86_64.bc and modify the script to update x86_64 prebuilts." into nyc-dev
2173a9968276b2b91b7ed3d0a76d9e642710843b 01-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> Define Float16 clamp

Bug: http://b/27366867

clamp is defined in two files: driver/runtime/arch/generic.c (used to
build libclcore for most architectures) and driver/runtime/arch/clamp.c
(used to build libclcore for AArch64, ARM32 with Neon). I had added
Float16 clamp in clamp.c but not in generic.c. This CL adds the
functions to arch/generic.c.

Change-Id: I26df4f1efec6e909c786baf132d6c296b5a3468f
rch/generic.c
9a82dacd1369cc3021a77f3632bb327e331a131f 13-Feb-2016 Dan Willemsen <dwillemsen@google.com> Fix Kati dependencies

Kati/Ninja does not handle dependencies quite the same as make. Use the
provided include-depfile helper.

Bug: 26839129
Change-Id: Ife0043126daa308211cd480aa372bdf8b376d5eb
(cherry picked from commit 46e9224951a01eb15a10edf1cb1d62a57d786174)
uild_bc_lib_internal.mk
2a54eadacced2ad69d39404bcb52b5332761c5ce 30-Mar-2016 Miao Wang <miaowang@google.com> Add librsrt_x86_64.bc and modify the script to update x86_64 prebuilts.

Bug: 19735423
Change-Id: Iabf5ba261f113e72ccab06afca968a036b9679e1
ndroid.mk
702eedfed8a1a0dc4f82a2dec56f7dda08d4526a 25-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Merge "Revert "Build libclcore libraries with UNRELEASED RS_VERSION"" into nyc-dev
ff6c356c4166ad461c2a1be3f8ac57a0da972daf 24-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Merge "Revert WARS related to __truncxfhf2" into nyc-dev
3565d51a9e8328bf00310334ddef90f547f5df6b 24-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Revert "Build libclcore libraries with UNRELEASED RS_VERSION"

Bug: http://b/25435756

This reverts commit 070a3136cce83472578220e100aa7be6fc2f1d5f.

Change-Id: Idd381545d38d96f4417ecaa5cc7e98ae1dd8afb2
uild_bc_lib_internal.mk
f515ce0b076986593622d81f4b6c1f3fac91a03f 24-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Revert WARS related to __truncxfhf2

Bug: http://b/26165616
Bug: http://b/23535482

Revert "Add __truncxfhf2() to libclcore_g.bc as well on x86 targets."

This reverts commit 53f2796ad6c7487c298b49b62a0ea36ac95c54e5.

Revert "Implement __truncxfhf2 in driver/runtime"

This reverts commit d68b3c3a1ffa365e6be78afe74b3bf02bae3834d.

(cherry picked from commit 3276e6d5fd86ef7b9a6e7b8c89922757da5d23ad)
ndroid.mk
rch/x86_trunc.ll
95e71d3d05a583a807013de5c81f952e1ba054be 24-Mar-2016 Yang Ni <yangni@google.com> Bump sysRefCount for new objects from the runtime

Bug: 27814601

Slang expects any new rsObjects to have sysRefCount 1, and adds a
rsClearObject() call when the rsObject goes out of scope.

To match this expectation, all runtime functions that create
rsObjects need to bump up their sysRefCounts to 1.

Change-Id: I097c4ac6f00edf1d39fc1d88238be78d29a09257
(cherry picked from commit 0b8411471e7d2d332610ec16f555ab8cc434d167)
s_allocation.c
s_element.c
s_mesh.c
480202aa71e8d784ae01d0c9a1094fa7f87cd4c0 14-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update frameworks/rs/ for LLVM rebase to r256229

http://b/26987366

(cherry picked from commit 651a38eb254f069f28fc99b7d180756123ff3a8a)

Change-Id: I66e136e04c1e534337b1f6cc563f92348da64fef
ndroid.mk
uild_bc_lib_internal.mk
a53bf64187bcf01ed1c62eacd52f6c6f41b5864b 09-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Fix typo/error in copysign.

http://b/27512382

Change-Id: Id9d9d12184d85ce695f69d5c02b20c74c8207271
s_f16_math.c
8ef7c7660c66107b80843ddf6b3b81fdee589de2 19-Feb-2016 Stephen Hines <srhines@google.com> Fix inverted grep so that we can view any new warnings/errors.

Bug: http://b/27068813

This grep now suppresses blank lines as well as any of the expected
warnings for mismatched bitcode source files.

(cherry picked from commit 18edd6a64d4c1408a6fe233c6ddc7b1d2a43dff5)

Change-Id: I61449656957e5cd1a7cffc66f39acf971b17be58
uild_bc_lib_internal.mk
27af8554d7a84ffb4d6f4e61af41b530a45b5a12 13-Feb-2016 Dan Willemsen <dwillemsen@google.com> Set bc library class to RENDERSCRIPT_BITCODE

These are not elf shared libraries, so explicitly tell the build system
that so that it won't try to parse them.

(cherry picked from commit 699102724a92b8bc87a58679e01621ac29475595)

Change-Id: Ia781c9b5ac8d1182093f676f76cd08bf91e3aa8e
uild_bc_lib_internal.mk
776a023502d57a78f3c70312fdbd8bcb3d359d2c 16-Feb-2016 Stephen Hines <srhines@google.com> Use RELATIVE_PWD to ensure that we get consistent debug paths.

Bug: http://b/24204119
Bug: http://b/27175099

RELATIVE_PWD is set to /proc/self/cwd on Linux (and unset on darwin).
This leads to a more consistent set of binary objects to be generated,
since the debug info won't change based on file/path differences from
different branches/builders.

Change-Id: I759bda204ed21142645a2745fc36282dd95b0b69
(cherry picked from commit fb9bf7242f7129d6f03087b00689b3a3db9a4108)
uild_bc_lib_internal.mk
6ddb349243e03b30b9d11cc0405d048cd07b6378 18-Feb-2016 Stephen Hines <srhines@google.com> Add __truncxfhf2() to libclcore_g.bc as well on x86 targets.

Bug: http://b/23535482

In order to facilitate x86 debugging (and simplify our build a bit), I
moved this function to a separate file. Once we have updated LLVM, we
can remove this function (since it won't be used anymore).

Change-Id: I91106a177b987187e40d556a2a0ae96e24b09e65
(cherry picked from commit 53f2796ad6c7487c298b49b62a0ea36ac95c54e5)
ndroid.mk
rch/x86_sse2.ll
rch/x86_trunc.ll
e81f26204ca98c9c8f0ea3bf67d991c6b9750284 13-Feb-2016 Stephen Hines <srhines@google.com> Suppress bogus warning lines from llvm-link.

Bug: http://b/27068813

RenderScript runtime libraries mix different ABI bitcode files,
resulting in warnings for the mismatch. These warnings aren't generally
useful, so it is better to not display them. The inverted grep catches
both data layout and target triple mismatches, while also suppressing
matched (now blank) lines.

Change-Id: I177f359fcf657a31de831cb2fb2ea981de470238
(cherry picked from commit 63f52b1a9c8e4d79bf0ad046503180cf11994035)
uild_bc_lib_internal.mk
ab70dba4e1c76b6b7b6a1001fae3529b11ca6190 13-Feb-2016 Stephen Hines <srhines@google.com> Clean up warnings for RS runtime libraries.

Bug: http://b/27068813

This change turns on -Wno-deprecated for compilation of just the runtime
libraries (since they need to retain even our deprecated definitions).
It also fixes some issues with "endif" comments. I have also enabled
-Werror for the runtime library compilation, so that we don't trigger
any future problems.

Change-Id: I0771e70f5aeb4be17d4390d57dae97a0aaf560a4
(cherry picked from commit f72e74660567181b79673f2a476a6957db2507e5)
uild_bc_lib_internal.mk
s_allocation.c
s_cl.c
6f6a6837da3f4461f1796bdb4b694980ff8784df 18-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Enable creation of float16 allocations

http://b/24862914

This was previously disabled due to a missing enum value.

Change-Id: I9bfed5d1f42192aa6576207a9fcbdc22386d0d0d
(cherry picked from commit 7e1013b9461a07d42df05b2c6f7e73ec6518b82a)
s_allocation.c
8c3ddbcb5621543ff1fa55e3fbdfcbc0df6d598b 19-Nov-2015 Lukas Kuklinek <lukas.kuklinek@codeplay.com> Build RenderScript cpu_ref kernel ABI debug info.

This change adds extra debugging information to libclcore_g.bc. The
debug info contains description of ABI interface between the host code
and the expanded kernel. In particular, the type information about
RsExpandKernelDriverInfo struct from cpu_ref/rsCpuCoreRuntime.h (that is
being passed as the first argument to the expanded kernel) is captured.
The function prototype of the expanded kernel function is also mirrored
here in a small stub C file (driver/runtime/rs_abi_debuginfo.c). Clang
is then used to generate the debug information from the file.

(cherry picked from commit ac90816512460a26132b07f1b34c638e49270515)

Change-Id: Idea8c8192cd22eb080306be9a43c6e404b736d92
ndroid.mk
s_abi_debuginfo.c
f7f9316f4cf373733285f947bea876ead7216715 18-Nov-2015 Verena Beckham <verena@codeplay.com> Add a new libclcore_g library which contains debug info.

Add a new libclcore_g.bc which is functionally equivalent to
libclcore.bc but is compiled with debug information and -O0.
To achieve this some allocation functions had to be written in C,
because they were previously available in LLVM IR without debug
information.
The RenderScript cts has been run to verify these changes, both as it
is and forcing it to link with the new libclcore_g library. Both runs
show no regressions.

Signed-off-by: Verena Beckham <verena@codeplay.com>

(cherry picked from commit fb99e0f905b0f73a505c7900b434531ce7c3e2e5)

Change-Id: I64c82ce6f571e766c3c607e926326040dff8257c
ndroid.mk
rch/generic.c
uild_bc_lib_internal.mk
s_allocation.c
s_cl.c
98a98ce9b55a134aa54429f92dd3bf5c3004284f 12-Feb-2016 Stephen Hines <srhines@google.com> Merge "Move implementations of quaternion functions into driver/runtime." into nyc-dev
501f4335505ab8b336628fdefc6523b19812c902 12-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Fix errors in TBAA tags for ll64/allocation.ll

Fix some obvious copy-paste errors in TBAA tags in ll64/allocation.ll

Change-Id: I5e0695d97a83ea6eb970fdabf9ebb2bee16c650f
(cherry picked from commit a71c65f48d75ca6d8269e2e3d8bf8cc59ddb5cae)
l64/allocation.ll
14c8aa51782107afb6f84187233f5ac8f6da0373 18-Nov-2015 Verena Beckham <verena@codeplay.com> Move implementations of quaternion functions into driver/runtime.

Move the implementation of all quaternion functions from rs_math.rsh
driver/runtime. The old implementation remains in place for older
versions, and the move occurs only for an UNRELEASED API level.
Added a new file driver/runtime/rs_quaternion.c to contain the
implementations.

Signed-off-by: Verena Beckham <verena@codeplay.com>

(cherry picked from commit 336fc4b3fb2df22623d51d9bbb996d11cd69f16c)

Change-Id: Ib37fad0a911d05640f7b2b9e88b25cd0053108c1
ndroid.mk
s_quaternion.c
5d6fa39fbdf6bbe011417bd9eb19b21c93e9e061 11-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Fix rsSetElementAt_half3 for x86_64

http://b/25819476

In AArch64 ABI, half3 parameters get coerced to int2. The definition of
rsSetElementAtImpl_half3 in libclcore incorrectly takes a half3
parameter. This caused rsSetElement_half3 to fail on x86_64 where the
ABI handles int2 and half3 differently. This patch updates the
definition in libclcore to accept an int2 parameter.

Change-Id: Idcaeaeb78731f99c338634dd8666ebd5575da1eb
(cherry picked from commit 6edd4a7b11ae0085024409a3b215a7fddaff61f3)
l64/allocation.ll
884bc7c83f113a25b82e66ca45b1c6839b97666f 06-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Implement fract, frexp and modf for half

http://b/23536224

Implementations are based on float32 implementations in
bionic/libm/upstream-bsd.

(cherry picked from commit b32dc1237e7e158bab7d15ab18618c4916e64415)

Change-Id: Ibf927cbab3aa45c7bedbc5ec23c6f31eafe92bd9
s_cl.c
s_f16_math.c
f9760483073d9f452e4701fbf367dc518f7e6531 04-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Implement copysign, ilogb and nextafter for half

http://b/23536224

Implementations are based on float32 implementations in
bionic/libm/upstream-bsd.

Change-Id: Id2f28caae22e86a2cc401996902bf8be93cb9328
ndroid.mk
OTICE
s_cl.c
s_f16_math.c
s_f16_util.h
d68b3c3a1ffa365e6be78afe74b3bf02bae3834d 04-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Implement __truncxfhf2 in driver/runtime

http://b/26165616

As a WAR for this bug, define __truncxfhf2 in driver/runtime. Note that
this implementation exhibits the double-rounding problem. This WAR will
be removed once a proper implementation is added to compiler-rt.

Change-Id: Ic8ec8f86feff6da81c1c8e7c0b1d37112a20c609
rch/x86_sse2.ll
6e13ee21796fd86802f2688c6220544c99b68c40 18-Nov-2015 Verena Beckham <verena@codeplay.com> Move implementations of matrix functions into driver/runtime.

Move the implementation of rsExtractFrustumPlanes and
rsIsSphereInFrustum from rs_math.rsh into driver/runtime. The old
implementation remains in place for older versions, and the move
occurs only for API level 24 and up.

Change-Id: I7661e71eb5d344e39fa84e0aa502c621936e68a0
Signed-off-by: Verena Beckham <verena@codeplay.com>
s_matrix.c
e0f52d61fe6790093ef19c734dda2e2c9c0c0fbf 18-Nov-2015 Verena Beckham <verena@codeplay.com> Move scalar function implementations from into driver/runtime.

Move the implementation of all scalar SC_* functions from
rsCpuRuntimeMathFuncs.cpp to driver/runtime/rs_cl.c.
Removed the file rsCpuRuntimeMathFuncs.cpp since it is now empty.

Signed-off-by: Verena Beckham <verena@codeplay.com>
Change-Id: I2c5d063c67ad1d92bcf6b62841ca1fbb5a72bd9c
s_cl.c
a48442ad9cc9922d012407b3aebe648b5f0acf14 31-Jan-2016 Stephen Hines <srhines@google.com> Merge "Move implementation of rsFrac from cpu_ref into driver/runtime."
9cbc99ba45126a6a30ba13fc6d4e75e51ca14ea7 16-Nov-2015 Verena Beckham <verena@codeplay.com> Move implementation of fract(float) into driver/runtime.

Move the implementation of the float variant of fract from rs_math.rsh
into driver/runtime. The old implementation remains in place for older
versions, and the move occurs only for API level >= 24.

Signed-off-by: Verena Beckham <verena@codeplay.com>
Change-Id: Id94e7191604d5ccaee41b6634731ee997bf01983
s_cl.c
4c01362afa871fcde6c269bc0ba3defa9e76de49 18-Nov-2015 Dean De Leo <dean@codeplay.com> Add the const qualifier to the internal definition of memcpy

The second argument of memcpy should be constant, resembling the actual
definition of memcpy in libc. This change will resolve few compiler
warnings shown when building the new artifact libclcore_g.bc, introduced
by id 181869 on android-review.googlesource.com

Change-Id: Ibb78c4c77ef51a9c424cb6a39448be609abc83b6
s_allocation.c
943457fd8b72622adbd9639ad80bed953743ff25 23-Jan-2016 Stephen Hines <srhines@google.com> Switch to RS_CLANG instead of CLANG.

Change-Id: Idb1ece04ae348c4a1f7bf49f2c161d682a170469
uild_bc_lib_internal.mk
fd98fa620e30d0f58e04dda75cc85b63a0f96aac 22-Jan-2016 Stephen Hines <srhines@google.com> Switch RS over to using RS_LLVM_* tools.

This change updates the runtime build rules to use RS_LLVM_* tools,
which correspond to the version of LLVM checked in currently to
external/, instead of mapping to the latest host prebuilts. This will
help prevent version differences for newer IR generated by the updated
host prebuilts, which then might not be readable with the on-device LLVM
bits we build from external/.

It also removes an unused reference to clcore_LLVM_LD.

Change-Id: I9f85daf47da21340333cc09dc6f6f2eb8d438a4b
uild_bc_lib_internal.mk
d1be4d815ed18d5cf538ff5f36f5d36304eb337f 18-Nov-2015 Verena Beckham <verena@codeplay.com> Move implementation of rsFrac from cpu_ref into driver/runtime.

Move the implementation of all the rsFrac functions from
rsCpuRuntimeMath.cpp to driver/runtime/rs_core.c.

Change-Id: I42bb4ba694fff76854c8deaefdd55671fec40acc
Signed-off-by: Verena Beckham <verena@codeplay.com>
s_core.c
54cd5d1771ea5c95e181befc66ef8e2a2c1b78cd 10-Dec-2015 Pirama Arumuga Nainar <pirama@google.com> Implement f16 math functions in the runtime

Bug: 23536224
Bug: 26099914

Change-Id: I67cd1d5c8e45822f4ce847d8cff402ba31b03660
rch/clamp.c
s_cl.c
s_convert.c
fb4501af549ec21e1e11132091cf4ed49148be84 12-Dec-2015 Pirama Arumuga Nainar <pirama@google.com> Merge "Fix rsGetElementAt* for half"
a5aafe5bc0ca314e32b574f14482926902adf65c 07-Dec-2015 Pirama Arumuga Nainar <pirama@google.com> Remove dead declarations of smoothstep

There are no references to smoothstep outside of these declarations.
Remove them.

Change-Id: Ia5aff51cd5ff174aef596096ed9dbb8b0a18dba2
s_cl.c
f1ce4be308bae2fc68d61b7bb067fc00e488959a 17-Aug-2015 Pirama Arumuga Nainar <pirama@google.com> Fix rsGetElementAt* for half

* Use the correct vector size for half3 and half4
* Directly return the result for rsGetElementAtImpl_half3 instead of the
pointer argument to store the return value
* Add TBAA metadata to a load

Change-Id: Ia728bbb3f7cc3b02c0d6307bd48122f3c7d9cd44
l32/allocation.ll
l64/allocation.ll
070a3136cce83472578220e100aa7be6fc2f1d5f 03-Nov-2015 Pirama Arumuga Nainar <pirama@google.com> Build libclcore libraries with UNRELEASED RS_VERSION

Bug: 25435756

This is to make newly created UNRELEASED symbols (enum rs_yuv_format in
particular) visible to driver/runtime.

Change-Id: Ic80812ea8efdf94d255e387abab0386e313dd18a
uild_bc_lib_internal.mk
7cb2273d4487b482d99d29f596506743c6a14534 12-Oct-2015 Pirama Arumuga Nainar <pirama@google.com> Implement allocation creation API in libclcore

Bug: 23535985

Implement low-level API functions to create Elements, Types and
Allocations libclcore.

Change-Id: If001406ee8d90e8b2afb4d1deed4825880a2414c
s_allocation.c
dd635b0a5095b1b2dfae0458069d03c6a13c3473 29-Oct-2015 Yong Chen <yong.a.chen@intel.com> X86: Add missing functions for libclcore files

Change-Id: Ia9b70843dfa32acabf8d71ce77e253f8a376c16a
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
ndroid.mk
rch/generic.c
rch/x86_sse2.ll
s_cl.c
b370582ff4f5487cbe2bde954200e509da63be8d 11-Sep-2015 Pirama Arumuga Nainar <pirama@google.com> Add arch/generic.c to non-AArch64 64-bit libclcore

Bug: 23687554

Include arch/generic.c to libclcore.bc for non-AArch64 targets. This
should only affect MIPS64. x86 uses libclcore_x86.bc, which is built
separately.

Change-Id: Ifbc02e38cbe44265eac55f7277453eb2326b40cc
ndroid.mk
a673fb0db28eac2300fcfa04549138c1c9202014 23-Jul-2015 Stephen Hines <srhines@google.com> Ensure that SSE-specific functions get built separately for debug runtime.

Bug: 22530323

The build rules for the debug context don't allow the SSE optimized
versions of some functions to be used. Since we bundle all of these
functions into a single file, this results in the debug runtime missing
some symbols (clamp, length, dot, sqrt). This change ensures that the
debug runtime for x86 gets the generic definitions of these functions
instead of dropping them completely.

Change-Id: Idedfbb5c1badf0b88530a7e926dda6141443ea1f
rch/generic.c
s_cl.c
2dcbc3d33443c1224085cab081b634f99327c159 07-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Support for half in driver/runtime

Bug: 7342860

Add conversion functions, clamp to the C files. Add rsGetElementAt,
rsSetElementAt to ll*/allocation.ll

Change-Id: I71c93029699f9bbc79a5b04b51074e303981ae4b
uild_bc_lib_internal.mk
l32/allocation.ll
l64/allocation.ll
s_allocation.c
67923a9e829d89522bb5338a6d635d807a7ee59b 13-May-2015 Jean-Luc Brouillet <jeanluc@google.com> Obsolete the graphics API in the .rsh files.

Mark the graphics APIs as no longer available starting with version 23.

Modify the generator to change the #ifdef guards around the API to
enable internal code to still access the obsoleted APIs, as we still
neeed to support them at runtime.

Also, include a documentation change in the rs_convert header file that had not
been included previously.

Change-Id: Iaad4833f504da9aa9f5069a977c37b86d1316d3a
ndroid.mk
7cb8db1f7eb523223a7ba7b1a483d3f54566d836 07-May-2015 Ying Wang <wangying@google.com> Fix build warning.

LLVM_AS here doesn't generate .d files.
This fixes nonfatal build warnings like:
cp: cannot stat
'out/target/product/flounder/obj/SHARED_LIBRARIES/libclcore.bc_intermediates/ll64/math.d':
No such file or directory

Change-Id: If132999d22be0daef4ca43fdb6602dc4465cf62a
uild_bc_lib_internal.mk
e6069662d0e1ef53798fc16bba634ecc85aa689d 16-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Allow custom clang while building bclibs

Store $(CLANG) in a local variable while building runtime libraries. If
$(RS_DRIVER_CLANG_EXE) is defined, use that instead of $(CLANG).

Change-Id: Ie75f76ba183574b2189622a49b72ff8b62ff98d7
uild_bc_lib_internal.mk
7b284d6bf7ec83855a280e463ab6e2afc51f5482 10-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Merge "Update frameworks/rs for LLVM rebase to r233350"
81847392705347faa61e94e5d10e996943b6dd7c 08-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Update frameworks/rs for LLVM rebase to r233350

- Update 'load' to the new syntax in the textual IR. These files were
updated automatically using the script in
http://reviews.llvm.org/D7649
- Update 'getelementpointer' instructions to the new GEP. arch/*.ll
were updated automatically using the script in
http://reviews.llvm.org/D7636

Change-Id: Id198429579f22277108d5d55c34d4870359a6c18
rch/asimd.ll
rch/neon.ll
l32/allocation.ll
l64/allocation.ll
684f5d3bf851733e99906e57f9998357ce8b77c0 06-Apr-2015 Stephen Hines <srhines@google.com> Merge "Fix TBAA by inserting a distinct root node."
9ba2911b6719b40a0d5dc6a901b40913da527fbb 04-Apr-2015 Stephen Hines <srhines@google.com> Fix TBAA by inserting a distinct root node.

Bug: 20069947

We now create a distinct TBAA root node, so that we can easily swap the rest
of the RenderScript TBAA subtree into the simple C/C++ TBAA tree.

Change-Id: Ia9a862283c26a91c9cb3c8f96122979abcfbcbe6
l32/allocation.ll
l64/allocation.ll
58024b10594838d966e8627a0e7fd320757f900d 04-Apr-2015 Ying Wang <wangying@google.com> Generate .P depfile.

With .P file, you don't need a cleanspec when a header file gets
deleted or moved.

Change-Id: I8d05ea2b7ff7cafa31b41cd6932cf3bf5094ce72
uild_bc_lib_internal.mk
301dc422de63135cd617546dad52e11c89fafaf7 03-Apr-2015 Jean-Luc Brouillet <jeanluc@google.com> Merge "Reorganize the header files in a way that's easier to document."
be2163801c33d6849ae580d42b919b8803d55095 22-Mar-2015 Jean-Luc Brouillet <jeanluc@google.com> Reorganize the header files in a way that's easier to document.

This CL does not change any specification found in a .spec file,
it just reorganizes the distribution of the content.

It also changes a few files that included headers that no longer
exist.

Change-Id: I4a290a30ad3bdc31bac7a7be24e7a7dea2af2618
rch/clamp.c
rch/generic.c
s_cl.c
s_core.c
s_structs.h
41371c7c23c4115cf0b3e7dc83240d5bcfb828b3 26-Mar-2015 Jason Sams <jsams@google.com> Revert "Reorganize the header files in a way that's easier to document."

This reverts commit 386e87ecf4114084c10dd385edc1c2baebe80a04.

Change-Id: Icaeedd9badfec2c51a8120c72eb6297736d68c2a
rch/clamp.c
rch/generic.c
s_cl.c
s_core.c
s_structs.h
4d0de133cf32d64ba2f26bf0a1717b1323ecf414 18-Mar-2015 Stephen Hines <srhines@google.com> Update frameworks/rs for LLVM rebase to r230699.

Change-Id: Iffb91b20a56306f81860d14deb3255bea2a075c2
l32/allocation.ll
l64/allocation.ll
386e87ecf4114084c10dd385edc1c2baebe80a04 22-Mar-2015 Jean-Luc Brouillet <jeanluc@google.com> Reorganize the header files in a way that's easier to document.

This CL does not change any specification found in a .spec file,
it just reorganizes the distribution of the content.

It also changes a few files that included headers that no longer
exist.

Change-Id: I9474ea6706449312fc7a5715d5bef3eabb288bb9
rch/clamp.c
rch/generic.c
s_cl.c
s_core.c
s_structs.h
a129d75fc16e4aa35d04c0105ba2166aa5d512d3 19-Mar-2015 Pirama Arumuga Nainar <pirama@google.com> Merge "Revert "Allow use of local CLANG to build runtime libs""
411f7ade6195293f9b86605b65bd6de39dfaed13 19-Mar-2015 Pirama Arumuga Nainar <pirama@google.com> Revert "Allow use of local CLANG to build runtime libs"

This reverts commit 6031993c913a493392a9579f92d201b468fa8bb2.

Change-Id: Ib0b17a72e34b8437e7e248090de44186af63d25b
uild_bc_lib_internal.mk
edba011e6d3673198b2bdc5bd0ffb422537915b7 19-Mar-2015 Pirama Arumuga Nainar <pirama@google.com> Merge "Allow use of local CLANG to build runtime libs"
6031993c913a493392a9579f92d201b468fa8bb2 18-Mar-2015 Pirama Arumuga Nainar <pirama@google.com> Allow use of local CLANG to build runtime libs

When building runtime libs, allow use of a local clang build by using a
$LOCAL_CLANG. Directly clobbering $CLANG breaks other parts of the
build system that use that variable.

Change-Id: I0ac3a501dfa325b6e3b8675f43c11ddcdd846d41
uild_bc_lib_internal.mk
6a3c8f33e4a334ad6a14e5b0a4d469286a6d3282 17-Mar-2015 David Gross <dgross@google.com> Add remaining new kernel invocation context query APIs rsGet*().

Bug: 18964628
Change-Id: I067eb3a7672d79f308d4c0919a7aa6cddccd0bd6
s_core.c
b0abb140ac51b93d1a85aadaa63fe057f2d29850 12-Mar-2015 David Gross <dgross@google.com> Pass RsExpandKernelDriverInfo not RsExpandKernelParams.

Which is to say: retire RsExpandKernelParams and pass RsExpandKernelDriverInfo
directly to kernel wrapper functions instead.

Requires related change in frameworks/compile/libbcc.

Change-Id: I453f45ec18f389e88e27fcfa57ddf245d077cb98
s_core.c
dced5c96bc53c45a1aac782ea9bd738b0d50fd09 12-Mar-2015 David Gross <dgross@google.com> Add new APIs rsGetDim[XYZ]() and add RSTest test cases to exercise them.

Test UT_kernel3d does not pass reliably, so it is disabled for now.

Tests will not compile without related
platform/frameworks/compile/libbcc and
platform/frameworks/compile/slang changes.

Bug: 18964628

Change-Id: I39660400953306ceb47c8b5e9665e8f0084775dd
ndroid.mk
s_core.c
fb2a33d2532d2500bfc4da879f83761f9a01edeb 04-Mar-2015 Jean-Luc Brouillet <jeanluc@google.com> Fix corresponding .cpp file for the remove const CL.

Change-Id: I039c4894b0f875a7fa506adcdfe76dc82e16f942
s_allocation.c
s_sample.c
12c80a8765bc0ce6aa9a50a7784256f6ee224ff9 12-Feb-2015 John Hoford <hoford@google.com> fix rs_sample bugs in mirror and negative modes

Change-Id: I0a354408a28a665c63248dabdd4e801a39366113
s_sample.c
9aae7951e7d72d0e1c78caf05adda5e5f934f4f7 10-Feb-2015 Miao Wang <miaowang@google.com> Merge "Fix the bug that rsYuvToRGBA_float4 bug for libclcore.bc on arm64"
bc9dc27b84f4e5c72d4dbe8a8e01af87dd780f79 09-Feb-2015 Jason Sams <jsams@google.com> Implement arrays and allocation adapters

WIP: now passing basic tests

Change-Id: I3d8c1ab12975428def225f88a04e24a4158ca69c
s_structs.h
c5ce430172dd0a1d3d78c79c95bbdf3f1b8c0c3e 13-Jan-2015 Miao Wang <miaowang@google.com> Fix the bug that rsYuvToRGBA_float4 bug for libclcore.bc on arm64

bug: 18987953
Change-Id: I16d83e627b4c75cc8ed54bad66a6a6b749095c91
rch/generic.c
s_convert.c
c7968a0ac24f05d978616a79a5068b6b16dbbda6 12-Nov-2014 Jason Sams <jsams@google.com> Array type and allocation support

Change-Id: Ic09188a8ceb212634b4369eb1ffe42c6f249e3ed
s_structs.h
9f8ff09b0a7126e8c041f2cead3a4c6b9216ddb3 14-Nov-2014 Stephen Hines <srhines@google.com> Fix implementation of vload with [u]long3/4 and double3/4.

Bug: 18380209

These implementations were accidentally attempting to return <3 x i64> or
<4 x i64>, or the double equivalents. The ABI requires that this be converted
into a stack return instead, so we transform our hand-written bitcode to do
exactly that.

Change-Id: I2be489b23bf639b16d8762a11a8430f40ea5b16c
(cherry picked from commit b9675775b030b187b8528cba2d8e0e5c0a7bf8f7)
l32/allocation.ll
3ef8201219144d7c914335de842e4a995534e2e8 21-Oct-2014 Tim Murray <timmurray@google.com> Fix AArch64 calling convention bug that prevents inlining.

bug 18071147

Change-Id: I062c919ba75c5aeb28e0358a671b81aa64a284c2
rch/asimd.ll
acff9f25f1d9cfda55fd5b94e360ee58a8d7c82d 15-Oct-2014 Tim Murray <timmurray@google.com> Fix vload/vstore.

Functions were marked with readonly metadata, which breaks when
returning values on the stack.

bug 17615222

Change-Id: Ia600d0ded8e13d5a86a1bb0501b833846312e2e4
l64/allocation.ll
c8b78bcfa73890ddf5fdc9a2f9364403c8b71d87 10-Oct-2014 Tim Murray <timmurray@google.com> am b26ead53: Merge "Fix missing relocation entries and libclcore entry points." into lmp-dev

* commit 'b26ead533bb9d4e5e78f9a95fb543a577e7f95f2':
Fix missing relocation entries and libclcore entry points.
cbdb6480528fc374144df1ae9c604c9100d33268 09-Oct-2014 Tim Murray <timmurray@google.com> Fix missing relocation entries and libclcore entry points.

This fixes support for rsSetElementAt_ulong from pre-21 SDKs.

bug 17934731

Change-Id: I1598f612257b8faeec871df6b2f126395b0e7d82
s_allocation.c
483ef72ca767c24d17e0ffd11155b0f1ee6d167b 01-Oct-2014 Tim Murray <timmurray@google.com> Fix building librsrt_<arch>.bc.

By building for host, the LOCAL_SRC_FILES_<bitness> was no longer
reliable.

Change-Id: Ic03dcc4fa70d730f87c8783edfdd5233051b9db7
ndroid.mk
069fc8c18b1f951c41f9424843f234271ac86f80 01-Oct-2014 Tim Murray <timmurray@google.com> am 3370b383: Merge changes Ic03dcc4f,I5ac7a5fd

* commit '3370b383a13172a5f9678e9876063a19af00da3e':
Fix building librsrt_<arch>.bc.
Update prebuilts script to use new host lib directory.
1d279546c73b667c5afd855554c0120503e48f9f 01-Oct-2014 Tim Murray <timmurray@google.com> Fix building librsrt_<arch>.bc.

By building for host, the LOCAL_SRC_FILES_<bitness> was no longer
reliable.

Change-Id: Ic03dcc4fa70d730f87c8783edfdd5233051b9db7
ndroid.mk
888b9f580f5327f6ee2e673dbcbca00840706135 25-Sep-2014 Tim Murray <timmurray@google.com> am 01ca8a4f: Fix vstore/vload/setelementat.

* commit '01ca8a4f99583e0fcaa980ca70415f21e0621b9b':
Fix vstore/vload/setelementat.
01ca8a4f99583e0fcaa980ca70415f21e0621b9b 24-Sep-2014 Tim Murray <timmurray@google.com> Fix vstore/vload/setelementat.

This contains two fixes. The first removes the readonly attribute
from vstore functions.

The second fixes 64-bit operations with vectors greater than 128
bits.

ll64/allocation.ll was based on ll32/allocation.ll, but the
AArch64 calling convention passes vectors greater than 128 bits
on the stack rather by value.

This fixes vload/vstore/SetElementAt.

bug 17615222

Change-Id: Ib8e2633f9b1236c8b360929b9ca5fe53ebb24703
l32/allocation.ll
l64/allocation.ll
s_allocation.c
6789fec15ce3f4d33e644d4a1c69713ef8035869 09-Sep-2014 Jean-Luc Brouillet <jeanluc@google.com> am 1bb2eed6: Improve rsMatrix* documentation, fix bugs

* commit '1bb2eed69caa28cf8198d58db7d9134cc2f563f5':
Improve rsMatrix* documentation, fix bugs
1bb2eed69caa28cf8198d58db7d9134cc2f563f5 06-Sep-2014 Jean-Luc Brouillet <jeanluc@google.com> Improve rsMatrix* documentation, fix bugs

Improves the user-facing documentation. Fix the incorrect row & column
naming on the Get/Set API. Fix a bug where rsMatrixLoadMultiply could
not have the destination be one of the source,
e.g. rsMatrixLoadMultiply(&l, &l, &r)

Change-Id: I42207aacf4ebe815d4a79db2aaa9c44f85864696
s_matrix.c
33164686a7ac88d4eda38201be4127937e9c12b0 01-Sep-2014 Yong Chen <yong.a.chen@intel.com> Fix bugs for x86 platform

- Fix incorrect input/output pointer for blur intrinsic
- Avoid the negative value for length function in bc lib

Signed-off-by: Yong Chen <yong.a.chen@intel.com>

(cherry picked from commit a0cdfe05905a5a4d2e494665809c8af9d040c116)

Change-Id: I3c6e082dffdfef122999c93d1c235e99af8c62ba
rch/x86_sse3.ll
bf2963268010b1e17cba00674a73287bf12a1be9 04-Sep-2014 Stephen Hines <srhines@google.com> am 2993761f: Merge "Fix bugs for x86 platform"

* commit '2993761fda2146755533886495691936a78871ac':
Fix bugs for x86 platform
a0cdfe05905a5a4d2e494665809c8af9d040c116 01-Sep-2014 Yong Chen <yong.a.chen@intel.com> Fix bugs for x86 platform

- Fix incorrect input/output pointer for blur intrinsic
- Avoid the negative value for length function in bc lib

Change-Id: If173662b63d7aba906a75bb50856d8d50c04639f
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
rch/x86_sse3.ll
c8c7befb7d1be0c84ab3e26eab9ed0839de45dfc 29-Aug-2014 Stephen Hines <srhines@google.com> Build RS runtime libraries using our arm and aarch64 triples only.

Bug: 17333374

Without this change, we might end up using different (broken) calling
conventions on non-ARM architectures. This ensures that all C source
files get built the same. Any .ll files can still use the appropriate
target arch-specific features.

Change-Id: I2658c49620d297cb1ef8b96b5b5d1597f5fd7361
ndroid.mk
uild_bc_lib_internal.mk
e0cdd4f6895597e3ab36253cc085ae01685ee1df 18-Aug-2014 Tim Murray <timmurray@google.com> Fix rsSetElementAtImpl and triple.

bug 16846318

Change-Id: Iac75d261aaf5c38dfd414adf73c8311005a189f0
(cherry picked from commit bdceed58826b6b4191a7f483764347895d0172d7)
ndroid.mk
l64/allocation.ll
l64/math.ll
27b484acd4ba0ccd459e47901b06e832874967aa 02-Sep-2014 Stephen Hines <srhines@google.com> resolved conflicts for merge of f89af228 to lmp-dev-plus-aosp

Change-Id: I8c95fc6a409928262e23640a9aa8fa8bd87ee48c
8641b7ce4e963122603d7498d860d5679437a206 29-Aug-2014 Stephen Hines <srhines@google.com> Build RS runtime libraries using our arm and aarch64 triples only.

Bug: 17333374

Without this change, we might end up using different (broken) calling
conventions on non-ARM architectures. This ensures that all C source
files get built the same. Any .ll files can still use the appropriate
target arch-specific features.

Change-Id: I2658c49620d297cb1ef8b96b5b5d1597f5fd7361
ndroid.mk
uild_bc_lib_internal.mk
2371f7ac32eee011314b11982e2a7c1f7c4a106e 28-Aug-2014 Tim Murray <timmurray@google.com> am bc1136f4: Fix 32-bit clcore on ARM64.

* commit 'bc1136f44f7816be807cfaf75a9e1e7983eace38':
Fix 32-bit clcore on ARM64.
bc1136f44f7816be807cfaf75a9e1e7983eace38 27-Aug-2014 Tim Murray <timmurray@google.com> Fix 32-bit clcore on ARM64.

32-bit clcore wasn't getting generic.c on ARM64, resulting in
missing symbols.

bug 17300428

Change-Id: I21969e06b620ecc667d507c5ee17cee739427178
ndroid.mk
uild_bc_lib_internal.mk
e870df6d1f8f7c915fc12398cb0e59a91b41e39c 27-Aug-2014 Tim Murray <timmurray@google.com> am 97446779: Enable ASIMD math operations.

* commit '974467797f45a7e4ac191eb158edb78492a48e56':
Enable ASIMD math operations.
974467797f45a7e4ac191eb158edb78492a48e56 26-Aug-2014 Tim Murray <timmurray@google.com> Enable ASIMD math operations.

bug 16846318

Change-Id: Ia19cca77ef7ab6e14da9fefad522f79e25c810de
ndroid.mk
rch/asimd.ll
rch/clamp.c
61db21cef81cbc8439b34a8f1d32952339ffc190 22-Aug-2014 Stephen Hines <srhines@google.com> resolved conflicts for merge of 81cfa2c5 to lmp-dev-plus-aosp

Change-Id: Ia3a7f084693825d4e46a4864788332a7d039d38f
81303a1d9d90c50ab2afe18209aa3222ddbb64c4 21-Aug-2014 Jason Sams <jsams@google.com> am de08b7b4: Merge "Fix ulong" into lmp-dev

* commit 'de08b7b40dd02c6f2f1087af9a2e381b08b57b4e':
Fix ulong
44bef6fba6244292b751387f3d6c31cca96c28ad 12-Aug-2014 Chris Wailes <chriswailes@google.com> Replace NULL macros with nullptr literals.

Change-Id: I918c40879aa547438f77e7d1a95fa2aa33bec398
s_structs.h
d8b8f8a16415496acc9844a89599ce7f377bd04d 20-Aug-2014 Jason Sams <jsams@google.com> Fix ulong

The new 64 bit functions were mismatches between long and ulong
Make all functions consistent.

bug 16846318

Change-Id: I806f392c12af881b54aa287153bd66ad7aa1b81e
rch/clamp.c
s_cl.c
d643be19cbf2c61f4cbb8e9c50ff35cbc44bdeae 19-Aug-2014 Tim Murray <timmurray@google.com> am bdceed58: Fix rsSetElementAtImpl and triple.

* commit 'bdceed58826b6b4191a7f483764347895d0172d7':
Fix rsSetElementAtImpl and triple.
bdceed58826b6b4191a7f483764347895d0172d7 18-Aug-2014 Tim Murray <timmurray@google.com> Fix rsSetElementAtImpl and triple.

bug 16846318

Change-Id: Iac75d261aaf5c38dfd414adf73c8311005a189f0
ndroid.mk
l64/allocation.ll
l64/math.ll
6a45ddb32f391060aa05da6ff09c4814d450586e 06-Aug-2014 Tim Murray <timmurray@google.com> Bugfixes for AArch64.

- Disable use of runtime pointer until we can set it correctly in invokes.
- Disable YUV and ColorMatrix ASIMD intrinsics
- Modify runtime stubs to use large objects correctly
- Fix calling convention in allocation.ll
- Add appropriate rsr functions for compat lib and large objects

bug 16846318

Change-Id: I7f6a4ff66fd1b3ad40b08cfc9ecdda7d53e95c7d
s_allocation.c
89226c21a902990642d4c1a9b8a71b89825e3e01 12-Aug-2014 Tim Murray <timmurray@google.com> am 1aa9dfc0: Bugfixes for AArch64.

* commit '1aa9dfc002f6b763d34d75d9f47abb4aa70584a2':
Bugfixes for AArch64.
1aa9dfc002f6b763d34d75d9f47abb4aa70584a2 06-Aug-2014 Tim Murray <timmurray@google.com> Bugfixes for AArch64.

- Disable use of runtime pointer until we can set it correctly in invokes.
- Disable YUV and ColorMatrix ASIMD intrinsics
- Modify runtime stubs to use large objects correctly
- Fix calling convention in allocation.ll
- Add appropriate rsr functions for compat lib and large objects

bug 16846318

Change-Id: I7f6a4ff66fd1b3ad40b08cfc9ecdda7d53e95c7d
s_allocation.c
3a3dfe7ecba55a3a832b44e4337276c09a6a25e9 06-Aug-2014 Dan Albert <danalbert@google.com> Fix the build.

For some reason this call to posinf() was taking a parameter.

Change-Id: Ic94d19184b3fec232f407a24c0b895554dbbe8ad
s_cl.c
d2d7c18c6ec3752ea19ca44157198f4a85d72464 18-Jul-2014 Jason Sams <jsams@google.com> Add native variants of more math lib functions.

Thunk though to normal impl for CPU path. This is intended
to support GPU hw with dedicated fast ops.

Change-Id: Ide52c2c5cbabc7128c84dbbdc60a240236616476
s_cl.c
a140d9d93009aa5733f91bba86c9d5227279e457 18-Jul-2014 Jason Sams <jsams@google.com> Add native variants of more math lib functions.

Thunk though to normal impl for CPU path. This is intended
to support GPU hw with dedicated fast ops.

Change-Id: Ide52c2c5cbabc7128c84dbbdc60a240236616476
s_cl.c
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
s_allocation.c
461178e21e0141f56e63f345de3f833d0edf72a3 20-Jun-2014 Jason Sams <jsams@google.com> Fix rootn(-5, 0) to return inf

Function is equal to pow(-5, 1/0)

Change-Id: Ic17abcf76b9a36979accd84ee78ff3362ed91203
s_cl.c
fa6f90e9b5413fea556b1f4b92458f6cb9355635 12-Jun-2014 Tim Murray <timmurray@google.com> Switch to large objects for 64-bit.

Change-Id: I2dce35720b61c28cebac5bbb6791ea747c6c8a1d
l64/allocation.ll
16cfba29a921308efad37855c487d4278de5f571 12-Jun-2014 Tim Murray <timmurray@google.com> Update how the debug runtime is built for 64-bit.

Change-Id: I3b17836c789c5db3dab54737b790969c675b94c3
ndroid.mk
uild_bc_lib_internal.mk
be46aa62ed595c517dbf236dfbb3d22e1c194907 10-Jun-2014 Tim Murray <timmurray@google.com> Correctly build 64-bit runtime library by splitting into 32 and 64 components.

Change-Id: Ia520418c42e5a50840b72610c3dc71190eaaf1d7
ndroid.mk
llocation.ll
l32/allocation.ll
l32/math.ll
l64/allocation.ll
l64/math.ll
ath.ll
e3af53b643677c40d228ffd3624cf259f4dc68ed 10-Jun-2014 Tim Murray <timmurray@google.com> Update structs and defines for 64-bit.

Also adds RS_FIND_OFFSETS, which prints address info for various types that allow us to easily update __pad.

Change-Id: I4d57248e155d113c83ff69f4f8f64160aa24fb9b
s_structs.h
60fe47db884673ace2b41c6a037a376bbd0fd670 27-May-2014 Tim Murray <timmurray@google.com> Update runtime stubs.

Adds rsDebug for doubles. Also adds additional powf lookup.

Change-Id: I0f0a815a2b143102bcbf6d274d1ca4a0d897b651
ath.ll
1efb81921fc26d70255ab61da987a232b47ad236 20-May-2014 Tim Murray <timmurray@google.com> Add support for LOCAL_SRC_FILES_<extra> to build_bc_lib.mk.

Change-Id: I7f857b86bf0bfd165de461fe2036f48ae0ac9128
uild_bc_lib_internal.mk
3ff0fe77fdba8ad4a920dc27157d8c1786bb3661 20-May-2014 Jason Sams <jsams@google.com> Cleanup 64bit and remove deprecated functions

Change-Id: I8f4570af8ab7da05831258dd264118b28ce5d352
ndroid.mk
atrix.ll
sClamp.ll
s_allocation.c
s_core.c
s_element.c
s_matrix.c
s_mesh.c
s_program.c
s_sample.c
s_sampler.c
s_structs.h
c17fa065b6fee1d2176bd057de98b93d723b59e5 14-May-2014 Stephen Hines <srhines@google.com> Switch to use slang/rs_version.mk for consistency.

Change-Id: Ibfda53448570be58941133cb53c1bbb90391aa30
ndroid.mk
uild_bc_lib_internal.mk
c944fc899e868612d25d5e70e3f038bbdb4a73b2 13-May-2014 Jason Sams <jsams@google.com> Fix errors with native_powr and small numbers.

There are still small errors around zero, but the error is greatly reduced.

Change-Id: I4571130f758225b17281040abddf8cd825fad447
s_cl.c
53826db2ea7f26a241be881c2b454ab3e1e5dd50 08-May-2014 Jason Sams <jsams@google.com> Implement long/double min/max

Change-Id: I87a8fced5a9f33d40aa15f0c247c804fad09adb8
rch/generic.c
rch/neon.ll
s_cl.c
70404fa9781f13a8ca07d621f74f3810daab9704 05-May-2014 Jason Sams <jsams@google.com> Switch to using LLVM intrinsics for conversions

Replaces the hand written .ll files for conversion.

Change-Id: Ie8c6c8354847ddc84217f163060a9ee909496327
ndroid.mk
onvert.ll
s_convert.c
0f558365e0427d6e11396cf41384c45ca94012ca 03-May-2014 Jean-Luc Brouillet <jeanluc@google.com> Fix float to long convert bug.

(Extensive generated tests win!)

Change-Id: I411a77a054b8d2ed2ac9796eaedcdf3911683cc7
onvert.ll
69cf14d340132b99784a0d1497a3e9cbb23ca54b 29-Apr-2014 Jason Sams <jsams@google.com> Merge "Fix precision issues with half_recip, half_sqrt, and half_rsqrt"
ba92a7085bbb8916334a6571ff33355873883173 29-Apr-2014 Jason Sams <jsams@google.com> Fix precision issues with half_recip,
half_sqrt, and half_rsqrt

Change-Id: I37affd7e817dd66784a541beec811bb1bca701c2
rch/generic.c
rch/neon.ll
s_cl.c
3a830c08a468ffba0caa22da00001230117d7a84 26-Apr-2014 Stephen Hines <srhines@google.com> Fix x86_64 multiply defined symbol errors.

Change-Id: Ib4c2ffc8b9f9dfd57ec4e0ca76d61459dfbbd775
rch/generic.c
s_cl.c
8c24cd62187fb963cb1b76d2e91ae8c247c7f6fb 11-Apr-2014 Tim Murray <timmurray@google.com> Update fw/rs for Clang 3.5.

Change-Id: I0a9a1b1e61cb435f0102936ad9ffd51599c49e88
ndroid.mk
087fa6e19968b55e5fae7aa38971c8ec63b616c6 23-Apr-2014 Tim Murray <timmurray@google.com> Merge "Remove VP9-related runtime functions."
e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4 13-Mar-2014 Tim Murray <timmurray@google.com> Make RS compile on ARM64.

bug 13280327

Change-Id: I79080c448ca17d0cba8df075737c22b24ce9a085
ndroid.mk
bcd5b9af756d10317faf54fa3742f89dfacef152 08-Mar-2014 Jean-Luc Brouillet <jeanluc@google.com> Enable more advanced CTS tests.

Add the possibility to make the generated random values for one argument
be dependent on another one. Add the possibility to add precision limits.
Change the way precision of results is verified.

This is a redo of the mess that's CL 84333 and 84332

Change-Id: I6c59ee4588627540b5bf1952adaf70b061ccc025
s_cl.c
8e1f8dce2a9c36a0b9bb0dca278beabc3716e088 04-Mar-2014 Jason Sams <jsams@google.com> Add unsigned atomics

bug 11523997

Change-Id: If0527c3c6aa193f40b5f9c94c517781c56c66252
s_core.c
039aa29085562aa0cf967e8584fd40ae818a20c6 01-Mar-2014 Jason Sams <jsams@google.com> Merge "Implement vector load/store."
41660c4c73fc425a2e3511e2070b2748cdd1107c 01-Mar-2014 Jason Sams <jsams@google.com> Implement vector load/store.

Support loading vec(2,3,4) vectors from scaler
buffers of the same component type.

Change-Id: Ice9f96d595c62ffe5e58e3d28b278417cea08fee
llocation.ll
s_allocation.c
d8c4983b1a6c975ef3a691bde0a62c34dda1197e 25-Feb-2014 Jason Sams <jsams@google.com> Add long & double conversions.

Change-Id: I236fb3d8cfed73fe8437c39a27e10f0d27a48ba1
onvert.ll
0b0bcff691d047da1d658889866c6a0347850f1c 26-Feb-2014 Jean-Luc Brouillet <jeanluc@google.com> Fix the sign issue on pown().

Change-Id: I9ee826c81c14f7c3ed137608643e5cfc0f078bce
s_cl.c
531ee4ef10f54dab0ba1d5f7248073da06907425 25-Feb-2014 Tim Murray <timmurray@google.com> Remove VP9-related runtime functions.

We've decided that it makes more sense to support this as an intrinsic rather than a set of runtime functions for kernels.

Change-Id: I9b99e4d9edc3ca185437a88c837405195eab18a2
ndroid.mk
s_dct.c
s_dct.h
s_fadst.c
s_fadst.h
s_iadst.c
s_iadst.h
s_idct.c
s_idct.h
s_walsh.c
3e0d1e79789df55021b459ae13590844b67aebd2 25-Feb-2014 Jean-Luc Brouillet <jeanluc@google.com> Fix normalize and fast_normalize.

Did not handle 0 length vectors correctly. Also fast_normalize did
not handle negative scalars correctly.

modified: rs_cl.c

Change-Id: Ide13b0bcb004009200173bc1f6f59a0303ef4f87
s_cl.c
b1657a5989c1d52a5c107bd787a2ea8616cf69ee 12-Feb-2014 Colin Cross <ccross@android.com> rs: build bc files for multiple architectures

Build bc libs for first and second architectures on multilib builds.

Change-Id: I0732e070e2b3d906132cad0b62a699bf65d34ca6
ndroid.mk
uild_bc_lib.mk
uild_bc_lib_internal.mk
1b0b0baa2e094de111f05e959f23cc9f589a99b6 19-Feb-2014 Colin Cross <ccross@android.com> Revert "rs: build bc files for multiple architectures"

This reverts commit 448c4db4867adeedf5860de7f89a401233393539.

Change-Id: I31e83868c09834228d54b8de9895a68220b70807
ndroid.mk
uild_bc_lib.mk
uild_bc_lib_internal.mk
448c4db4867adeedf5860de7f89a401233393539 12-Feb-2014 Colin Cross <ccross@android.com> rs: build bc files for multiple architectures

Build bc libs for first and second architectures on multilib builds.

Change-Id: I5eddb2e73088ae9aac4e8816ba9aefa39abcc97a
ndroid.mk
uild_bc_lib.mk
uild_bc_lib_internal.mk
d941ee179d5003617d1ab308d522b5951908a34f 13-Feb-2014 Jason Sams <jsams@google.com> Merge "Fix normalize(float)"
c3f2748adb72722206aa515381b7ee8d5ba99cc5 13-Feb-2014 Jason Sams <jsams@google.com> Fix mac build.

Change-Id: Id1c43976b8bd463ac59c793328b8544a3aeb0e89
s_idct.c
d22e2e22523f46ae4869982fdc8f3396cc3d0888 12-Feb-2014 Jason Sams <jsams@google.com> Clean up naming of VP9 support functions.

Change-Id: Ibfa931f3fb3a2ed2649733b7d7e679c0091dda90
s_dct.c
s_fadst.c
s_iadst.c
s_idct.c
s_walsh.c
afdb47f35f2c2df1cab652e7899943ddfe00692d 12-Feb-2014 Jason Sams <jsams@google.com> Merge "Add image computing oriented builtin functions"
197fc09254eace8d2625c23c192487e376b39d35 28-Jan-2014 Matthieu Delahaye <matthieu@multicorewareinc.com> Add image computing oriented builtin functions

The new built-in functions covers inverse DCT, ADST and walsh transforms.

Change-Id: Ie7044da4a5becf2cc80d066a258211721a5939d4
ndroid.mk
s_dct.c
s_dct.h
s_fadst.c
s_fadst.h
s_iadst.c
s_iadst.h
s_idct.c
s_idct.h
s_walsh.c
5eaa97c8fb83fecd4ed8eaa22a736dcb7d720c62 08-Feb-2014 Jean-Luc Brouillet <jeanluc@google.com> Fix half* failing to load

Change-Id: I9800e0a3dffe2d0ded6047b5d35af91e8996c3e6
rch/neon.ll
fce65a4abe55263645d468e36bcd42264ef5dfa3 08-Feb-2014 Jason Sams <jsams@google.com> Fix normalize(float)

Change-Id: I3770812f3ff64e9a1ab44ad0e3746541252d2116
s_cl.c
0dff3fc9ecb16468f335cb18fd19ae68a8f2231c 07-Feb-2014 Stephen Hines <srhines@google.com> Merge "Fix clz implementation for types with size < 4 bytes."
1788153fc5a35756d403a3a7e9c099b72c0e1d22 07-Feb-2014 Jason Sams <jsams@google.com> Merge "Fix half_recip decls."
beac9ca07271706b8429a676d071539b7e841f10 07-Feb-2014 Jason Sams <jsams@google.com> Fix half_recip decls.

Change-Id: I19c049adaa18d052a65923ad0935382334561ece
rch/neon.ll
c117d8dad895ab9bae4ba6077365f0dfd33ece47 07-Feb-2014 Stephen Hines <srhines@google.com> Fix clz implementation for types with size < 4 bytes.

Bug: 12911231

Change-Id: I2b612b34ae7d69c2793ba44d2b43ab96432e3828
s_cl.c
0ec1635641a2075c9d2349219632650401f88881 23-Jan-2014 Jean-Luc Brouillet <jeanluc@google.com> Implement version of step() that takes a scalar edge and a vector for the other argument.

Tests to be done in another CL.

Bug: 12112379

Change-Id: I28a865a9a8f272e9ac4808dacd1ad35a16731a0b
s_cl.c
c3cfa12028dc35494a03b0ffd802b800ed9981de 21-Dec-2013 Stephen Hines <srhines@google.com> Produce librsrt_<ARCH>.bc files as host shared libraries.

BUG: 12247226

These will be used with bcc_compat and the RenderScript support library to
ensure that we can generate optimized shared object files.

Change-Id: I67306867f9f1b70f0986eb4ff484a26bcecba373
ndroid.mk
uild_bc_lib.mk
e30a05aefa5ac6db3fac00cd67304126c7e0cd5e 04-Oct-2013 Stephen Hines <srhines@google.com> Fix target names for x86.

Change-Id: I8b890cc26c8cf7b5d8479f03395f082862378a5d
rch/x86_sse2.ll
rch/x86_sse3.ll
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
ndroid.mk
rch/generic.c
uild_bc_lib.mk
s_cl.c
0052f8dcb5ebb5c9205a1d25445629fb5a772380 20-Sep-2013 Jason Sams <jsams@google.com> Fix for YUV bugs

Two issues, YUV intrinsic would repeat u&v for the edge padding
During the support for flexible YUV, u&v got swapped in the accessor.

bug 10826418

Change-Id: I1cf6e27c2114807d6aece4f9dd44257d4f4aa477
s_allocation.c
61656a7c6fc13421679d0a1cdf8b5b861e286892 04-Sep-2013 Jason Sams <jsams@google.com> Cleanup type offsets which cannot be calculated for flexible YUV.

Support flexible YUV

bug 10567550

Change-Id: I4f6e5a8d86eeee635605460f1751208f3320969b
(cherry picked from commit a75372759e288be3fb8835735a830b1f7d1a4c42)
s_allocation.c
s_structs.h
146e138f5c6eb4980ee6d85d33b951b87b6e8efe 20-Aug-2013 Stephen Hines <srhines@google.com> Refactor the libbcc runtime for x86 platform

This patch is merged/rebased from AOSP, where it was initially submitted to
frameworks/compile/libbcc by Jun Tian <jun.j.tian@intel.com>. All conflicts
have been resolved.

This patch refactors the libbcc runtime code to support x86 platform.
It removed the redundant x86 code and added the missing functions in
libclcore_x86.bc.
It resolved the RenderScript failures on the x86 platform.

Bug: 9961583
Change-Id: I2c8be0f710960ee5e0614721f5edfbaf028c67e1
ndroid.mk
rch/dot_length.c
rch/generic.c
rch/sqrt.c
rch/x86_clamp.ll
rch/x86_dot_length.ll
rch/x86_generic.c
rch/x86_math.ll
rch/x86_sse2.ll
rch/x86_sse3.ll
uild_bc_lib.mk
s_cl.c
9e9e6335fd281caa48378aee969a561eba964d88 07-Aug-2013 Stephen Hines <srhines@google.com> Use BUILD instead of HOST for bcc_strip_attr.

This is actually a merge of a separate patch that went into jb-mr2-dev libbcc:
https://googleplex-android-review.googlesource.com/#/c/337382/1

Change-Id: Ieb8acb6d7a4806cb7910e6eaf65e75d398b9345b
uild_bc_lib.mk
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
s_structs.h
1ed5ef9b253850a199eecff6b7941e57c408e509 29-Jul-2013 Tobias Grosser <grosser@google.com> Provide Renderscript TBAA metadata for allocations

Annote all common runtime functions that get or set data in an allocation
with Renderscript TBAA metadata.

Change-Id: Ie56117f5d094b7e9579e9ff926990fcacfe38019
ndroid.mk
llocation.ll
s_allocation.c
861cab4b1e81501a770509b19be4c53c006316ba 30-Jul-2013 Stephen Hines <srhines@google.com> Merge "Extract trivial rs(Get/Set)ElementAtImpl() method"
b18ab3a86d70dbdc492ab1ba925af1d2dc1c423d 22-Jul-2013 Tobias Grosser <grosser@google.com> Remove unused and incorrect code

This code misses the clamp after the multiply-add. To not confuse we remove
this code.

Change-Id: Ibf2cdc05065d710c4000165fba30887206b43106
s_core.c
98f1f05105146e1caeb124cae6e286c151f63151 10-Jul-2013 Tobias Grosser <grosser@google.com> Extract trivial rs(Get/Set)ElementAtImpl() method

Reduce redundant code and create the rs(Get/Set)ElementAtImpl() methods which
only load or store data, but which do nothing else. Keeping those functions
simple is important, as they may later be replaced by LLVM-IR implementations
annotated with RenderScript specific alias information.

The immediate benefit of this change is the removal of code duplication.
Instead we rely on LLVM to perform inlining and constant propagation. We
verified that LLVM performs these transformations successfully by both
examining the generated LLVM-IR as well as by running the image processing
benchmark. We did not measure any performance impact.

We also discussed the possibility, that other compilers may not be able to
do this (rather basic) transformation. However, this code will generally be
compiled by LLVM. Vendors that might use a different compiler normally have
also their own implementation of the run-time library, such that this change
does not apply for them.

Change-Id: I3d079785b2fd5ce8373cc6e5fa118611ec1f487e
s_allocation.c
582b3646d6634f74a13828cceb1414823c18e66f 01-Jun-2013 Stephen Hines <srhines@google.com> Take absolute value of value for fast_length().

Bug: 9018865
Change-Id: I3f6539a4f97d0b1276341adc0752ce510f13cda5
s_cl.c
080e2ef14e9090b38a37197d1bf5c5eba69cc77f 30-May-2013 Tobias Grosser <grosser@google.com> Build NEON run-time when targetting cortex-a15

The build of the NEON run-time library has been disabled for cortex-a15, as
performance with NEON enabled was lower than performance without NEON. We now
have ideas why this was the case. To enable testing of NEON performance and
later to switch on NEON by default, we now enabled the build of the library.

Change-Id: Iaf44e221a124d7829425c47a7e36aa43dc2fd02d
ndroid.mk
5a47020542c52af3e879c1cd67674ca979ff0a18 30-May-2013 Stephen Hines <srhines@google.com> Move RS runtime to frameworks/rs.

Bug: 7342767
Change-Id: Ia45064a5257b8ce460918f327670e3be550d4b56
ndroid.mk
rch/clamp.c
rch/dot_length.c
rch/generic.c
rch/neon.ll
rch/sqrt.c
rch/x86_clamp.ll
rch/x86_dot_length.ll
rch/x86_generic.c
rch/x86_math.ll
uild_bc_lib.mk
onvert.ll
ath.ll
atrix.ll
sClamp.ll
s_allocation.c
s_cl.c
s_core.c
s_element.c
s_matrix.c
s_mesh.c
s_program.c
s_sample.c
s_sampler.c
s_structs.h