History log of /frameworks/rs/cpu_ref/
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
ndroid.mk
sCpuScript.cpp
4283f579c424f07bc07c7f075398053eed3f8281 17-Nov-2014 Miao Wang <miaowang@google.com> Fix rounding bug of IntrinsicConvolve in cpu_ref

bug 18121051

Change-Id: Ica3e32731a7f78c8869b84e1e257216a52f79f8a
sCpuIntrinsicConvolve3x3.cpp
sCpuIntrinsicConvolve5x5.cpp
51d016c72e44c9c6da47c53665033ce8816ab463 11-Nov-2014 Miao Wang <miaowang@google.com> Fix off-by-one bug of resize, when scale = 1;
Use a better way to do scaling.

bug 18296081

Change-Id: I3858d6d0f1cd0166d9862e9013386b1d844bd3f9
sCpuIntrinsicResize.cpp
c886b1f69987151f29b3d5d27959c8b5aae4ea19 24-Oct-2014 Miao Wang <miaowang@google.com> Merge "Fix the rounding bug of resize test and impl; Add mirror test." into lmp-mr1-dev
da68eff288c8b403bc41c1fa856ca09d73f35e2f 24-Oct-2014 Miao Wang <miaowang@google.com> Fix the rounding bug of resize test and impl; Add mirror test.

Change-Id: Ibfcc942ae3126d0186556f80dc5af17f77060b04
sCpuIntrinsicResize.cpp
43641e457d1c8aff9e8bc9febdded5261053abc6 24-Oct-2014 Jason Sams <jsams@google.com> Fix query for CPU count.

Some devices report fewer processors online versus
configured. Always get the configured (higher) number

bug 18108290


Change-Id: Ic6202e05ad8c4686dd79795f880baf5429674d70
sCpuCore.cpp
ff983194dbb0504f4a341487aa20bb08027a52b6 23-Oct-2014 Jason Sams <jsams@google.com> Enable 64 bit asm for int->int ColorMatrix

This brings 64 bit perf close to 32bit for the common
color matrix paths.

bug 17923388

Change-Id: I96c2c28a07864bf71c6c4a0186fb76f4a946316f
sCpuIntrinsicColorMatrix.cpp
4c8f2477285848ab0a4f33ad854de9398d332e8c 22-Oct-2014 Jason Sams <jsams@google.com> Enable ASM path for blur intrinsic when clipped

Fix minor clipping bug in ASM code where the start offset was
added twice.

Change-Id: I6d831478b4a7da8460e70015151dbadf16bd7096
sCpuIntrinsicBlur.cpp
sCpuIntrinsics_advsimd_Blur.S
sCpuIntrinsics_neon_Blur.S
5eb463f2c28cf161fe31b8078908a7b01198516f 20-Sep-2014 Simon Hosie <simon.hosie@arm.com> Subrectangle bug fixes to ARM Blur assembly.

Correctly sweep the ends of the initial convolution window where that window
overlaps one or both sides of the source image.

Change-Id: I4e3d2bfa7eb22ce29af2615bf324a69561f7e4d6
sCpuIntrinsics_advsimd_Blur.S
sCpuIntrinsics_neon_Blur.S
9107db900edec122b8f6f49a81ab444d8a6c9c42 20-Sep-2014 Simon Hosie <simon.hosie@arm.com> Minor fixes to AArch64 Blur assembly.

Use the correct register for a low-weighted tap in uchar1 case, and use the
correct clipped radius calculation for the right-hand edge.

Change-Id: Ib6ecd8b115c8898bb641958ab0beab11a8fccc36
sCpuIntrinsics_advsimd_Blur.S
772b306f2d7ca994fe35d7ed4a2e0318a2d9fbf7 09-Oct-2014 Jason Sams <jsams@google.com> Fix 64bit YUV intrinsic performance

bug 17923388

Change-Id: I9ee9ebf05eb5d3b661d8199864f92c14f0d0191d
sCpuIntrinsicYuvToRGB.cpp
e8814f7c80f84f08e60150e70b1a4e6a11b588bd 19-Jun-2014 Simon Hosie <simon.hosie@arm.com> Expand AArch64 YuvToRGB to use more registers.

bug 17923388

Change-Id: Ib8ebea344ff863bb4c6e13f11efae3dd50f7c0fa
sCpuIntrinsics_advsimd_YuvToRGB.S
c5e6b521e0782158adc2acba4c8691ade44578fb 21-Oct-2014 Jason Sams <jsams@google.com> Merge "Tail-store fixes to AArch64 YuvToRGB assembly." into lmp-mr1-dev
b26ead533bb9d4e5e78f9a95fb543a577e7f95f2 10-Oct-2014 Tim Murray <timmurray@google.com> Merge "Fix missing relocation entries and libclcore entry points." into lmp-dev
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
sCpuRuntimeStubs.cpp
9732e859ff5d1911915eb83411c9b1ae991c7523 20-Sep-2014 Simon Hosie <simon.hosie@arm.com> Tail-store fixes to AArch64 YuvToRGB assembly.

bug 17923388

Change-Id: I692cf3b38b0cf57404024170874070d5f2b95480
sCpuIntrinsics_advsimd_YuvToRGB.S
c214fe59fc48740ed003a3cde4e5a60517c5d5ce 09-Oct-2014 Jason Sams <jsams@google.com> Fix incorrect error check for mmap

bug 17909809

Change-Id: I8fd0d5c489ff8b110d657cd63d3cae164d4067b9
sCpuIntrinsicColorMatrix.cpp
13f65fea3830b84a0476d26f750896175bc832c1 02-Oct-2014 Stephen Hines <srhines@google.com> Merge "Add missing <memory> include for std::unique_ptr." into lmp-dev
79a9dacb328ac37a2ec29b06b2ee6740fe8fadf0 30-Sep-2014 Jason Sams <jsams@google.com> Revert "RS: Add VP9 LoopFilter Intrinsic"

This reverts commit 6fc3e12b8912458cb4adcfd32e2f53d76b0cc737.

Conflicts:
cpu_ref/Android.mk
cpu_ref/rsCpuCore.cpp
cpu_ref/rsCpuIntrinsicLoopFilter.cpp
rsDefines.h

bug 17720646

Change-Id: Ie297cfbfa04e61944ac1340797ac81c23b2f2ea8
ndroid.mk
sCpuCore.cpp
sCpuIntrinsicLoopFilter.cpp
p9_loopfilter_16_neon.S
p9_loopfilter_neon.S
p9_mb_lpf_neon.S
340f54c0eb3cd71bc12b993f98cd94e1a2a7e6dc 30-Sep-2014 Stephen Hines <srhines@google.com> Add missing <memory> include for std::unique_ptr.

Bug: 14416410
Change-Id: I96055b34bf497bceead776ec956a0b5b0dd817c3
inkloader/include/ELFHeader.h
inkloader/include/ELFObject.h
7688714916905f29362071ce2eb9e296ca469838 15-Sep-2014 Yong Chen <yong.a.chen@intel.com> Fix two bugs in cpu_ref

- Make correct parameters for x86 IntrinsicConvolve5x5
- Use correct intrinsic ID for loopFilter

Change-Id: I5180b9e2a80a6e023299963b19bf8b4dcd4ebd4b
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
sCpuIntrinsicConvolve5x5.cpp
sCpuIntrinsicLoopFilter.cpp
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
sCpuIntrinsicBlur.cpp
d25fef7232a939faaffcdb83a1be28285313c38e 22-Aug-2014 Jason Sams <jsams@google.com> Fix blur and 3dlut with clipped output

bug 17157250

Change-Id: I388a255380fbdd9f6b5d1c7cb9f14df6f035ae48
sCpuIntrinsic3DLUT.cpp
sCpuIntrinsicBlur.cpp
de52a834dbcb2a3196948e7b9f67d395493ea9a4 21-Aug-2014 Jason Sams <jsams@google.com> Fix two intrinsic clipping bugs.

bug 17157250

Change-Id: I65c945da6bd90733333a5472c1a85b5d3e3e4d6b
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsicConvolve5x5.cpp
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
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsicYuvToRGB.cpp
59886ba8f9bd4375bca1b82fe245696dfb383716 28-Jul-2014 Tim Murray <timmurray@google.com> Fix relocation issue for AArch64.

Change-Id: Ie10563b6a1ea894c45076480b123dcc2a854b5a5
inkloader/include/impl/ELFObject.hxx
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
sCpuScript.cpp
99192979b3ef356998a438f5bd2e45fede6b457f 25-Jul-2014 Yang Ni <yangni@google.com> Validate input/output for a ScriptGroup.

If a script group requires input or output allocations, make sure
they are set before starting the execution of the script group.
If any allocation is missing, skip the execution and set a bad
value error with a message.

Change-Id: I7ee2da96aca3e6c9820225e6b2c39cb9378cb42f
sCpuScriptGroup.cpp
d282991c78d1fd79a222c5f114e623da255ba8a0 17-Jul-2014 Stephen Hines <srhines@google.com> Update RS for LLVM rebase to r212749.

This is mostly s/LLVM::OwningPtr/std::unique_ptr/.

Change-Id: I393f801e0afb867aa262c004844c2542d6d12da4
inkloader/android/librsloader.cpp
inkloader/include/ELFHeader.h
inkloader/include/ELFObject.h
inkloader/include/ELFReloc.h
inkloader/include/ELFSection.h
inkloader/include/ELFSectionBits.h
inkloader/include/ELFSectionHeader.h
inkloader/include/ELFSectionHeaderTable.h
inkloader/include/ELFSymbol.h
inkloader/include/impl/ELFObject.hxx
inkloader/include/impl/ELFReloc.hxx
inkloader/include/impl/ELFSectionHeader.hxx
inkloader/include/impl/ELFSectionHeaderTable.hxx
inkloader/include/impl/ELFSectionNoBits.hxx
inkloader/include/impl/ELFSectionProgBits.hxx
inkloader/include/impl/ELFSectionRelTable.hxx
inkloader/include/impl/ELFSectionStrTab.hxx
inkloader/include/impl/ELFSectionSymTab.hxx
inkloader/include/impl/ELFSymbol.hxx
inkloader/main.cpp
d315b98bdf02789476ed3a0d1f35e210b917ff0a 25-Jul-2014 Dave Allison <dallison@google.com> Merge "Fix linker veneer for aarch64 in renderscript" into lmp-dev
8817e3ebd67635810000de8898afee615a674760 24-Jul-2014 Dave Allison <dallison@google.com> Fix linker veneer for aarch64 in renderscript

Fix to ldr instruction encoding for loading target address.
Also adds a debug print for future debug (default is off)

Bug: 16031597
Change-Id: Ibe47226d9f95e7982dcbbf559389e927c48aed3d
inkloader/include/impl/ELFObject.hxx
inkloader/lib/StubLayout.cpp
5600ebccedd4ae86bd6e41459e33bd2ae3992261 06-May-2014 Simon Hosie <simon.hosie@arm.com> Arbitrary sub-rectangle handling for ColorMatrix.

AArch64 code for odd-length cases, and correct pointer offsets.

Change-Id: I28049a768a1e3e65611898904fa42bd295208871
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsics_advsimd_ColorMatrix.S
7ebb02bf54cc3e6b6424c8da642ed75b460cc40d 10-Jul-2014 Jean-Luc Brouillet <jeanluc@google.com> Deprecate rs_fp_imprecise

Change-Id: I063e356e939393e6fa4f39d056cb526aeaf8ee70
sCpuScript.cpp
6c6f7539377ec779a9ea36bfcc5859ad41f6e677 09-Jul-2014 Tim Murray <timmurray@google.com> am 8c8eb23d: Merge "Add 64bit large object support"

* commit '8c8eb23d31768bca01e2fd69c3931aeda31f3329':
Add 64bit large object support
191f131b123e20a217bcc57a3b2b626cc39f6bac 09-Jul-2014 Stephen Hines <srhines@google.com> am 60506d94: Merge "Fix build break for size_t vs. uint32_t difference."

* commit '60506d94c399dea8b6325000be27b07fed67852a':
Fix build break for size_t vs. uint32_t difference.
09e1490af01ecd12cf19ee1b507cea860814470b 08-Jul-2014 Stephen Hines <srhines@google.com> am db69bf01: Merge "Adds support for multi-input kernels to Frameworks/RS."

* commit 'db69bf0117c44d8996a3d179cc3b7a98bf8726ea':
Adds support for multi-input kernels to Frameworks/RS.
7f57593db8e1c9a59c3e028c377321f652f9fad0 08-Jul-2014 Stephen Hines <srhines@google.com> am 11007c74: Merge "Moved RsForEachStubParamStruct out of rs_hal.h and into rsCpuCore.h."

* commit '11007c7488436bf4213d62e2785e25111eb97bf7':
Moved RsForEachStubParamStruct out of rs_hal.h and into rsCpuCore.h.
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
sCpuCore.cpp
sCpuCore.h
sCpuIntrinsic.cpp
sCpuIntrinsic.h
sCpuScript.cpp
sCpuScript.h
sd_cpu.h
cb51798a0379409c0f9927c44bbcdd772ed7ec18 08-Jul-2014 Chris Wailes <chriswailes@google.com> Moved RsForEachStubParamStruct out of rs_hal.h and into rsCpuCore.h.

Change-Id: Iea673ccd9db5077abef373457f51c6b0d09cea92
sCpuCore.h
c5a20170784a6a44ee1de1a754ca8c7175b78a6d 09-Jul-2014 Stephen Hines <srhines@google.com> Fix build break for size_t vs. uint32_t difference.

Change-Id: I11b9592214c4fa57ef62f42fd086a5a3df33abbf
sCpuIntrinsic.cpp
sCpuIntrinsic.h
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
sCpuScript.cpp
c2c00e81713f6a0d6fde711898e94826167795ef 27-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> am 32e093ad: Merge "Use build fingerprint and compile command for caching."

* commit '32e093ad58e9b858a6a3b747f262c5f0757a2e22':
Use build fingerprint and compile command for caching.
1c38baa7565a61f4c69169aa2753b644586afd00 26-Jun-2014 Stephen Hines <srhines@google.com> am a3f7905a: Merge "Add in a missing unlockMutex() on an error path."

* commit 'a3f7905addd8ef7302efbfa7c0c3ce89a88e7660':
Add in a missing unlockMutex() on an error path.
f94e8db4232979b2fc93e8a77c42bfa57d3da56a 26-Jun-2014 Stephen Hines <srhines@google.com> Add in a missing unlockMutex() on an error path.

Change-Id: I223e64381190184e37a92ce6478340cb7a323e29
sCpuScript.cpp
1b70788fd4571cd6e94db2219c930b5b59081969 26-Jun-2014 Jason Sams <jsams@google.com> am 51905042: Merge "Use remainder of AArch64 register file in Blur."

* commit '519050428c14962951e1fbde020fe2cf2fd64fbe':
Use remainder of AArch64 register file in Blur.
afb3114606d96c247ad91cb2bd15dc7ed6e1579a 25-Jun-2014 Stephen Hines <srhines@google.com> am 03836b04: Merge "Switch the dimensions array to use uint32_t instead of size_t."

* commit '03836b040d3bf53a93b8577060a4eb0c11639a5e':
Switch the dimensions array to use uint32_t instead of size_t.
519050428c14962951e1fbde020fe2cf2fd64fbe 26-Jun-2014 Jason Sams <jsams@google.com> Merge "Use remainder of AArch64 register file in Blur."
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
sCpuScript.cpp
sCpuScript.h
4bea0d3b51fcdd9976af72c553a4a1d492016ca2 04-Jun-2014 Simon Hosie <simon.hosie@arm.com> Use remainder of AArch64 register file in Blur.

A lot of load/store can be avoided by using the rest of the register file,
here, so take advantage of that.

Change-Id: Ifaa2071d73ddb4f1f49f7de04f29001b5621ef7a
sCpuIntrinsics_advsimd_Blur.S
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
sCpuIntrinsic.cpp
sCpuIntrinsic.h
sCpuScript.cpp
sCpuScript.h
sd_cpu.h
18f3f6fc011d6d73a4dddd24d628aa4d83839c3a 20-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> am 5557f339: Merge "Move the lib paths out of RSInfo."

* commit '5557f3391d1fe27269290fb65498d06f7ed42425':
Move the lib paths out of RSInfo.
9ab5094dd32352b33e251e540934f6e814c5fa5b 19-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Move the lib paths out of RSInfo.

Change-Id: Ic65874459509043fef261f7e0122aade4e557c57
sCpuScript.cpp
sCpuScript.h
60b4af5728f5ea84aa3bb0d4ce556d91c3c9bed4 18-Jun-2014 Andrew Hsieh <andrewhsieh@google.com> am 8b0ab0a6: Merge "Fix Windows SDK build."

* commit '8b0ab0a6c33816485acf4a9a1864d5e4fd645ce2':
Fix Windows SDK build.
8b0ab0a6c33816485acf4a9a1864d5e4fd645ce2 18-Jun-2014 Andrew Hsieh <andrewhsieh@google.com> Merge "Fix Windows SDK build."
1409b09faf025bf48edf061afee683c22ad320e8 17-Jun-2014 Jason Sams <jsams@google.com> am d94d3b91: Merge "Use relative addresses in Blend function table."

* commit 'd94d3b91b3307610adbf48d11d4ab5e0f04e5ec5':
Use relative addresses in Blend function table.
d94d3b91b3307610adbf48d11d4ab5e0f04e5ec5 17-Jun-2014 Jason Sams <jsams@google.com> Merge "Use relative addresses in Blend function table."
8d50174ff0e80bc3846f9dfd6f7d154fc4949db4 26-May-2014 Logan Chien <tzuhsiang.chien@gmail.com> Fix Windows SDK build.

* 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
ndroid.mk
inkloader/android/librsloader.cpp
inkloader/include/impl/ELFObject.hxx
35e1335de1ae815513af5b0b93c5794b653e25ac 14-Jun-2014 Tim Murray <timmurray@google.com> am b26cd991: Merge "Disable NEON libclcore for AArch64."

* commit 'b26cd991dc7f1eea42f1688d1db303ed7775d043':
Disable NEON libclcore for AArch64.
53b0d778806fb21fb653f5346595ae95dc51b5e1 13-Jun-2014 Stephen Hines <srhines@google.com> am f6328b8d: Merge "Resolve R_X86_64_PC32 relocation type in RS."

* commit 'f6328b8db3b5de20fb27812157db2ff8bda4669c':
Resolve R_X86_64_PC32 relocation type in RS.
3a5382c2514ecf11454f169415f9c35a6c00968f 13-Jun-2014 Stephen Hines <srhines@google.com> am 1109ae5c: Merge "Add stub for x86 & x86_64."

* commit '1109ae5cbbebb4922aba0ae84cd859c6695a6184':
Add stub for x86 & x86_64.
e43e66fdbbdb461655499ec035ab5720b6520dab 12-Jun-2014 Dave Allison <dallison@google.com> am 9d7e8d94: Merge "Fix CALL26/JUMP26 relocations for AARCH64"

* commit '9d7e8d948791e5f7d87ba71f92ef2d6d4e012caa':
Fix CALL26/JUMP26 relocations for AARCH64
b26cd991dc7f1eea42f1688d1db303ed7775d043 14-Jun-2014 Tim Murray <timmurray@google.com> Merge "Disable NEON libclcore for AArch64."
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
ndroid.mk
sCpuScript.cpp
1109ae5cbbebb4922aba0ae84cd859c6695a6184 13-Jun-2014 Stephen Hines <srhines@google.com> Merge "Add stub for x86 & x86_64."
72151aac81a3cc92b9777aaa9b80f31a4ce9fcf7 12-Jun-2014 Xiaofei Wan <xiaofei.wan@intel.com> Add stub for x86 & x86_64.

Add stub support for x86, this will be used in x86 & x86_64 RS relocation.

Change-Id: Id5d1cc0679b43348a4f66707c21c6bdf85a3a7e4
Signed-off-by: Xiaofei Wan <xiaofei.wan@intel.com>
inkloader/include/ELFSectionProgBits.h
inkloader/include/StubLayout.h
inkloader/lib/StubLayout.cpp
77867c3e8dbad29699db85099551004d9af560bf 12-Jun-2014 Dave Allison <dallison@google.com> Fix CALL26/JUMP26 relocations for AARCH64

This fixes the code to relocate CALL26 and JUMP26 AARCH64 relocations. It will
jump directly to the target address if it is in range, otherwise it will use
a linker veneer (stub).

Change-Id: I816de505b95a5797e1ba3bf1023dfc24484e5da8
inkloader/include/impl/ELFObject.hxx
inkloader/include/impl/ELFSectionProgBits.hxx
29dec29b96f513ceaa06ec1a8c422579a0a3a320 13-Jun-2014 Xiaofei Wan <xiaofei.wan@intel.com> Resolve R_X86_64_PC32 relocation type in RS.

Add stub when offset is out of range in x86_64

Change-Id: I7ad4879545971cd3ce59b8634c943bf4ee723fd8
Signed-off-by: Xiaofei Wan <xiaofei.wan@intel.com>
inkloader/include/impl/ELFObject.hxx
4b2ea46bdc7676d1a0328709435ae57f0d7d7289 11-Jun-2014 Jason Sams <jsams@google.com> am d45b4439: Merge "Convert LUT loop to use scalar data types."

* commit 'd45b443972955574f0a36c46855760eefd63e66b':
Convert LUT loop to use scalar data types.
ed157c86dca0f671ea11d57a1b884cd15f76cdb2 11-Jun-2014 Jason Sams <jsams@google.com> Convert LUT loop to use scalar data types.

Change-Id: I53f6d87a4d7093ee0dc20371dcf4cdb8396522fd
sCpuIntrinsicLUT.cpp
1c9a5e1e15ccef0ea769750a3d7353cd5fbe4733 10-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> am a979674d: Merge "Remove FAKE_ARM64_BUILD now that we have 64 build working."

* commit 'a979674d5063a947b2d8f340e306f51b4a0632fb':
Remove FAKE_ARM64_BUILD now that we have 64 build working.
a979674d5063a947b2d8f340e306f51b4a0632fb 10-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Merge "Remove FAKE_ARM64_BUILD now that we have 64 build working."
f4d216ee0f0ef18edbde208a61dc4e2fe4c8f050 10-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Remove FAKE_ARM64_BUILD now that we have 64 build working.

Change-Id: Ieb6627adcd1d097fe709559e182efcfc6841d13e
sCpuScript.cpp
sCpuScript.h
0d53201417f03300689ec7b9ccf6a7d66aaeed52 10-Jun-2014 Dave Allison <dallison@google.com> am 45927b48: Merge "Add R_AARCH64_ADD_ABS_LO12_NC relocation to RS linkloader."

* commit '45927b4889bdc69e7403f90cd3e9e9e1bfb445b1':
Add R_AARCH64_ADD_ABS_LO12_NC relocation to RS linkloader.
d25f7a0a19446fa3d0c20fcf375e11e3fb5d1a0a 09-Jun-2014 Dave Allison <dallison@google.com> Add R_AARCH64_ADD_ABS_LO12_NC relocation to RS linkloader.

Add the missing relocation.
Also add R_AARCH64_LDST8_ABS_LO12_NC as I noticed this was missing too.

Bug: 15448747
Change-Id: I6e79017e8ef659eb8913347c4eacb5ff0ef008a6
inkloader/include/impl/ELFObject.hxx
f07408eb1df70fad7d842067e2991db95815d286 04-Jun-2014 Stephen Hines <srhines@google.com> am c2c41ff8: Merge "[MIPS64] Enable mips64 build"

* commit 'c2c41ff87105cbc67ad55daf9339ba2a54bf341c':
[MIPS64] Enable mips64 build
e8e408ada85b77e0a7314ef8e734aa9fc981a237 14-May-2014 Duane Sand <duane.sand@imgtec.com> [MIPS64] Enable mips64 build

Change-Id: Iad5141ff83be3497c577c63177516f899775e271
ndroid.mk
4650eba1dfd0dd6d33aca105adceee7aeff29cfe 03-Jun-2014 Tim Murray <timmurray@google.com> am 5e0109a2: am f34ba456: Merge "Modify script loading behavior."

* commit '5e0109a20a4c6c950c0e4938a204acb4dec82d7e':
Modify script loading behavior.
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
sCpuScript.cpp
sCpuScript.h
9cca69a233b87786ef27dd547fca7cea2d402faf 31-May-2014 Tim Murray <timmurray@google.com> am 482bd65e: am 822db82c: Merge "Update runtime stubs."

* commit '482bd65e9bbc3d4cf012e72158e0142fb468e856':
Update runtime stubs.
6a9cc720f106358880eb33f2ea48fe5f5d6d0c37 31-May-2014 Tim Murray <timmurray@google.com> Update runtime stubs.

Adds exp2f.

Change-Id: I97c83af4b3be2cdadea2c2e9243da4772d5b4e69
sCpuRuntimeMath.cpp
2b54b28c8235fb762fbafd88a3ef7857053987b3 23-May-2014 Simon Hosie <simon.hosie@arm.com> Use relative addresses in Blend function table.

Change-Id: I6399ab11daf6b13626116ef653ad9cf572a94ff5
sCpuIntrinsics_advsimd_Blend.S
f6deeee12e6cfdcac4c0f5321095625226c44fdf 27-May-2014 Tim Murray <timmurray@google.com> am 7a09ae78: am bebfcc59: Merge "Update runtime stubs. "

* commit '7a09ae78e200ea6cdf4f1f8280adcca68062872c':
Update runtime stubs.
60fe47db884673ace2b41c6a037a376bbd0fd670 27-May-2014 Tim Murray <timmurray@google.com> Update runtime stubs.

Adds rsDebug for doubles. Also adds additional powf lookup.

Change-Id: I0f0a815a2b143102bcbf6d274d1ca4a0d897b651
sCpuRuntimeMath.cpp
sCpuRuntimeStubs.cpp
e923f9a978362b1d4c0cd17aacb4a830c49e60b7 23-May-2014 Jason Sams <jsams@google.com> am ef32455d: am 64c12679: Merge "Enable ARM64 intrinsics."

* commit 'ef32455d351ed3306a696e74742defbc0a4e9527':
Enable ARM64 intrinsics.
51be0e996482f47b40234e641b3310737a203c72 23-May-2014 Stephen Hines <srhines@google.com> am 60500c8b: am 529f0e00: Merge "Switch to the separate RS loading path."

* commit '60500c8be57d05bf24601d8e15c6ce83cf1a8968':
Switch to the separate RS loading path.
64c126798d1210b15a103ef98c09861f60a9d7de 22-May-2014 Jason Sams <jsams@google.com> Merge "Enable ARM64 intrinsics."
529f0e0026d4e9c497cbaabd4712533951a6bd9d 22-May-2014 Stephen Hines <srhines@google.com> Merge "Switch to the separate RS loading path."
074424a4ac5b093331df2c92e7a5bcbfff136b71 22-May-2014 Jason Sams <jsams@google.com> Enable ARM64 intrinsics.

This also moves ARM intrinsic ifdefs behing ARCH_ARM_USE_INTRINSICS instead of ARCH_ARM_HAVE_VFP.

Change-Id: I48d3d55c77feb931e22288828247e281db43d32b
ndroid.mk
sCpuCore.cpp
sCpuIntrinsic3DLUT.cpp
sCpuIntrinsicBlend.cpp
sCpuIntrinsicBlur.cpp
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsicConvolve3x3.cpp
sCpuIntrinsicConvolve5x5.cpp
sCpuIntrinsicLoopFilter.cpp
sCpuIntrinsicYuvToRGB.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
sCpuScript.cpp
sCpuScript.h
daeeba27842fc77e99652e93a1a1cbf6f14044b2 22-May-2014 Dave Allison <dallison@google.com> am ca48a48d: am f981663b: Merge "Add aarch64 relocations"

* commit 'ca48a48de6529529fe9e5ecd7465acfd6780f721':
Add aarch64 relocations
723ba16bac04e65c147742fa08ae2b87da3c0fd5 20-May-2014 Dave Allison <dallison@google.com> Add aarch64 relocations

This adds missing aarch64 relocations for the RS linker.

Bug: 15020895
Change-Id: Ibcd8537426c57247ac6f7cbc358bfc9b78546249
inkloader/include/impl/ELFObject.hxx
cdd409931b5802ba1284abcad06a4ce714a68522 19-May-2014 Stephen Hines <srhines@google.com> am c348888c: am 57fa42d4: Merge "Switch to standalone bcc compilation path (again)."

* commit 'c348888c5a24a52c02417840110b0e06cea6617d':
Switch to standalone bcc compilation path (again).
d69b0eb7f8c180b401b45376144ee05af078b13a 15-May-2014 Stephen Hines <srhines@google.com> Switch to standalone bcc compilation path (again).

Bug: 7342767
Change-Id: I6d876742cbd4dbbc7fac1d559a7c54da9e118889
sCpuScript.cpp
7e47dca8875d31953a6e3205954b885866d5533a 14-May-2014 Jason Sams <jsams@google.com> am 82325ad0: am 53a408b7: Merge "YuvToRGB sub-rectangle handling."

* commit '82325ad020e458b896a3d80ed3fdc9485b247902':
YuvToRGB sub-rectangle handling.
53a408b7cfb5992eeb159ec305f16dd112ad3080 13-May-2014 Jason Sams <jsams@google.com> Merge "YuvToRGB sub-rectangle handling."
2d28948a13f296ad9937893ccfaabfdb91019bb9 13-May-2014 Jason Sams <jsams@google.com> am bdf8dc3a: am bbbd923d: Merge "Fix some empty matrix cases in ColorMatrix."

* commit 'bdf8dc3a0dfe6501da17b8c75ac8031717e90aa6':
Fix some empty matrix cases in ColorMatrix.
bbbd923d622eb0b9db27157629955f4f64e924a9 13-May-2014 Jason Sams <jsams@google.com> Merge "Fix some empty matrix cases in ColorMatrix."
43bd992337fb8efde6f7bf02d68b858720760a60 13-May-2014 Jason Sams <jsams@google.com> am 7eac4da7: am 3849dae1: Merge "Handle 3DLUT odd-length cases in assembly."

* commit '7eac4da73a5bb7721da9328cfa82e339501d5913':
Handle 3DLUT odd-length cases in assembly.
3849dae10c6af1abc36de4ac856879f2728415bc 13-May-2014 Jason Sams <jsams@google.com> Merge "Handle 3DLUT odd-length cases in assembly."
f0e571f6d5a352ce547bfee67f670bbde7b665fe 09-May-2014 Stephen Hines <srhines@google.com> am 6a194e62: am 8711f9da: Merge "Use the proper triple when compiling with bcc."

* commit '6a194e6206250b738558ea725cf3129a6a90cc32':
Use the proper triple when compiling with bcc.
8711f9dad12664fd981eec0db6bed5da8ef4e6cc 09-May-2014 Stephen Hines <srhines@google.com> Merge "Use the proper triple when compiling with bcc."
9daf5e00a26395934285055c011fbf94a4665447 08-May-2014 Jason Sams <jsams@google.com> am 7da83646: am 5d1e327e: Merge "Strict clamping when packing to u8."

* commit '7da8364655bed45823c22d5d809b5dfcff596585':
Strict clamping when packing to u8.
5d1e327e51838ebc3baeb35db2d2d00603b7a86a 08-May-2014 Jason Sams <jsams@google.com> Merge "Strict clamping when packing to u8."
82e0a6779cb1006921153081fb33374197e7c9de 06-May-2014 Stephen Hines <srhines@google.com> Use the proper triple when compiling with bcc.

Change-Id: I6cbd14e1e196012583929dd383803903dc80e9ff
ndroid.mk
sCpuScript.cpp
f7805ffb93d7e0daf2164549a75a8ced74c7f376 08-May-2014 Ying Wang <wangying@google.com> am 0b048ffd: am 5ffc8d2f: Merge "Remove unused LOCAL_LDLIBS."

* commit '0b048ffd29c8c1e7836b2d50fe03e020a7d8235b':
Remove unused LOCAL_LDLIBS.
af353bfc2d857f8c800d3feecff3353e0c5f41e9 08-May-2014 Ying Wang <wangying@google.com> Remove unused LOCAL_LDLIBS.

Change-Id: Ic0b3b5dc136f4b537136936fa3f0c36a71f2c4ba
ndroid.mk
1d9c887c58d115975e01c9d500595f503803dc8c 02-May-2014 Simon Hosie <simon.hosie@arm.com> YuvToRGB sub-rectangle handling.

Fix some difficult edge cases when processing only a portion of the image.

Also fix a register-marshalling bug in AArch64 assembly.

Change-Id: I8cd67f394fb42b216b2c3c7401e90eb2b86fca3d
sCpuIntrinsicYuvToRGB.cpp
sCpuIntrinsics_advsimd_YuvToRGB.S
sCpuIntrinsics_neon_YuvToRGB.S
07e4665c04a71462e6cfc1c2bb2300a9ed111e60 10-Apr-2014 Simon Hosie <simon.hosie@arm.com> Handle 3DLUT odd-length cases in assembly.

Change-Id: I43802cad1a8ae74e369791a88a9644dc389519af
sCpuIntrinsic3DLUT.cpp
sCpuIntrinsics_advsimd_3DLUT.S
sCpuIntrinsics_neon_3DLUT.S
42488d249e0c5b2f12973d576261bda74b54c85f 16-Apr-2014 Simon Hosie <simon.hosie@arm.com> Strict clamping when packing to u8.

Change-Id: I511ec4b7f0985c9404a5d1daabcf97fe380c62af
sCpuIntrinsics_neon_ColorMatrix.S
c7c255e86b2cbd36e4da94632c49b3c8b4f74031 08-Mar-2014 Simon Hosie <simon.hosie@arm.com> Fix some empty matrix cases in ColorMatrix.

Change-Id: I77ee44844472c647f12e80e2d68c11e2b272e595
sCpuIntrinsicColorMatrix.cpp
98950317aadf5e19c613644ce7a0e7ee293ac30e 06-May-2014 Jason Sams <jsams@google.com> am be75fc2d: am a5b0367f: Merge "Switch to using LLVM intrinsics for conversions"

* commit 'be75fc2da17e719631329c0338565db9d0dda780':
Switch to using LLVM intrinsics for conversions
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
sCpuIntrinsicInlines.h
b5cf2b46ed356ac8c5e2674fbf8afa4ec7a17b2e 02-May-2014 Stephen Hines <srhines@google.com> am 5fe9a5a1: am 345db92b: Merge "Revert "Switch to standalone bcc compilation path.""

* commit '5fe9a5a1aa10afc7a9e7e9a4ca90a33eb6069a7d':
Revert "Switch to standalone bcc compilation path."
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
sCpuScript.cpp
dcefcec86f9b99ed944ad118ecac89b598a3460b 01-May-2014 Jean-Luc Brouillet <jeanluc@google.com> am 5470b9fb: am 2d08f007: Merge "Fix comments in gaussian blur"

* commit '5470b9fb37bf149a39cd409476b8f093cf00e7d7':
Fix comments in gaussian blur
2d08f007e16273691bbfeba45d43257dafee1dc6 01-May-2014 Jean-Luc Brouillet <jeanluc@google.com> Merge "Fix comments in gaussian blur"
e09b71b3efd482b2fc45e0e742257e19a2964245 30-Apr-2014 Stephen Hines <srhines@google.com> am 0b66b5f7: am df531391: Merge "Switch to standalone bcc compilation path."

* commit '0b66b5f727d541ba44aa28d7362d1748c830b3bc':
Switch to standalone bcc compilation path.
212304e1395963e5dc79496e5133718c337dd2c0 30-Apr-2014 Stephen Hines <srhines@google.com> am 912029f8: am 0ddfb1eb: Merge "Configure standalone bcc compiler to work with plugin libraries."

* commit '912029f88ab9a1c9fa8f96c429e0fafac33b3f34':
Configure standalone bcc compiler to work with plugin libraries.
df53139188b08a70f1a94fb9f476cbc3364f68c8 30-Apr-2014 Stephen Hines <srhines@google.com> Merge "Switch to standalone bcc compilation path."
0ddfb1ebd5ef0630e7351a202248285ada097d5f 30-Apr-2014 Stephen Hines <srhines@google.com> Merge "Configure standalone bcc compiler to work with plugin libraries."
8b7117dfbcca8a74dfd83aaff7f82d2d7e3abd8f 30-Apr-2014 Jean-Luc Brouillet <jeanluc@google.com> Fix comments in gaussian blur

Change-Id: Ifae435f9b2e65d6064412d09558b0c6ea32aea25
sCpuIntrinsicBlur.cpp
f4c981e1abbbf877ac418637b4b05998da71b463 30-Apr-2014 Stephen Hines <srhines@google.com> am 90e7e571: am 41718a0d: Merge "Switch to __builtin___clear_cache(), since __clear_cache is deprecated."

* commit '90e7e571c48cd7bb6821f475241a421bbc06d193':
Switch to __builtin___clear_cache(), since __clear_cache is deprecated.
41718a0de646f7bc389b26ea871c62ed3494fb94 30-Apr-2014 Stephen Hines <srhines@google.com> Merge "Switch to __builtin___clear_cache(), since __clear_cache is deprecated."
99281b5bc2a81a42fa490ddbc1496621c2d84486 04-Feb-2014 Stephen Hines <srhines@google.com> Switch to standalone bcc compilation path.

Bug: 7342767
Change-Id: Idabdc75cb7daefa44177b23efe6ef8c3df4e908a
sCpuScript.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
ndroid.mk
sCpuCore.cpp
sCpuCore.h
sCpuScript.cpp
sCpuScript.h
sd_cpu.h
dc061e48d5b17d14cfd18c170b4331e67d857475 30-Apr-2014 Stephen Hines <srhines@google.com> Switch to __builtin___clear_cache(), since __clear_cache is deprecated.

Change-Id: Ib6ab398b39c72365dfa81c467bf6f56326f4097a
inkloader/utils/flush_cpu_cache.h
7b0cddeae03a7ba85e681e43cbf4c3083b6883b5 30-Apr-2014 Jason Sams <jsams@google.com> am e96419bd: am 5d56c90e: Merge "Add comments for fast-path RS kernel"

* commit 'e96419bd36a15340ac69634a0f177e02f30fef2d':
Add comments for fast-path RS kernel
e7fd0788c9735acf76e3d251013d0aa2d7a900c4 30-Apr-2014 Jason Sams <jsams@google.com> am 0a637ca4: am f1304740: Merge changes Iafa1fe3d,I32dba6b3

* commit '0a637ca4db4ef739863662c203f4a002320d19e2':
Mark convert_(long/double) as API 21
Fix performance regression in color matrix.
858d0352934596aa46fe97a70f30d4d837f6fc7f 30-Apr-2014 Jason Sams <jsams@google.com> Add comments for fast-path RS kernel

Change-Id: I4b7450383d7b4c788fdfd5555d79dc94836b9fee
sCpuIntrinsicColorMatrix.cpp
98dd4bb2b1b08f04dd5034fe0c69daa15f6cc6da 30-Apr-2014 Jason Sams <jsams@google.com> Fix performance regression in color matrix.

Previous bug fix which added "len &= 3" was buggy.

Change-Id: I32dba6b340ced35a7686243c5d9c468b5ade1ad6
sCpuIntrinsicColorMatrix.cpp
065665487fe9f9fb2d2f4e52f99e6387845b02d2 25-Apr-2014 Stephen Hines <srhines@google.com> am a6d32f10: Merge "Update fw/rs for Clang 3.5."

* commit 'a6d32f109788d3a3275648664ea8b4452ecf7bdd':
Update fw/rs for Clang 3.5.
8c24cd62187fb963cb1b76d2e91ae8c247c7f6fb 11-Apr-2014 Tim Murray <timmurray@google.com> Update fw/rs for Clang 3.5.

Change-Id: I0a9a1b1e61cb435f0102936ad9ffd51599c49e88
ndroid.mk
d56fa5280ec42b2609d2b0baa96a2b7006c4a611 24-Apr-2014 Jason Sams <jsams@google.com> resolved conflicts for merge of d3fe4992 to klp-modular-dev-plus-aosp

Change-Id: I7204f824ea46d2d1fff9c5269526e586c0bf4e77
1fb4e815d77966fa38c65107e4c34f22f7fe0065 24-Apr-2014 Jason Sams <jsams@google.com> am 0a6fea1a: Merge "Improve RS intrinsics performance."

* commit '0a6fea1ac38508b4e48f0da6d1024e211e900e84':
Improve RS intrinsics performance.
d3fe4992b47848deb9a2876951aeb0bb1c62ad3f 24-Apr-2014 Jason Sams <jsams@google.com> Merge "Revert "Add VP9 inter-frame prediction intrinsic""
0a6fea1ac38508b4e48f0da6d1024e211e900e84 24-Apr-2014 Jason Sams <jsams@google.com> Merge "Improve RS intrinsics performance."
ee0f4835e065ef08a6283e3f86cdc671a5a156c7 24-Apr-2014 Jason Sams <jsams@google.com> Revert "Add VP9 inter-frame prediction intrinsic"

This reverts commit 60498fe9679ea25a260a503d6dfd27cbc0a0c079.

Change-Id: I4d8bb284793874a08c0cc991c0e04ecc104e1e0f

Conflicts:
cpu_ref/Android.mk
cpu_ref/rsCpuCore.cpp
rsDefines.h
ndroid.mk
onvolve/convolve.c
onvolve/convolve8_avg_neon.s
onvolve/convolve8_neon.s
onvolve/convolve_avg_neon.s
onvolve/convolve_copy_neon.s
onvolve/convolve_neon.c
onvolve/vp9_common.h
onvolve/vp9_filter.h
sCpuConvolve.h
sCpuCore.cpp
sCpuIntrinsicInterPred.cpp
sCpuIntrinsicInterPred.h
e660532259b1baf2c112e693360a42dc7bce4336 22-Apr-2014 Stephen Hines <srhines@google.com> am 70fe08dd: Merge "Skip the .ARM.exidx section, since it is currently unused."

* commit '70fe08dd27dc8fa682275a7057e8baafa6aa9369':
Skip the .ARM.exidx section, since it is currently unused.
0715b383c2d121de12af5bdcba5183edd753f523 21-Apr-2014 Stephen Hines <srhines@google.com> Skip the .ARM.exidx section, since it is currently unused.

Change-Id: I454e4cf311a3eed5cc3b1f4398bdbc7976a0d430
inkloader/include/impl/ELFObject.hxx
7b7060c61e4182b29186849c5a857ea5f0898e56 21-Apr-2014 Rose, James <james.rose@intel.com> Improve RS intrinsics performance.

Renderscript CPU performance for intrinsics cases is not good for x86 platforms.
In many cases it is significantly slower even with SIMD Intrinsics. In current x86 implementation
it is using full 32 bit multiplies which aren't well supported on current Atom platforms.

This patch uses 16 bit multiply with 32 bit add pmaddwd instruction where appropriate.
It also adds atom specificoptimizations to improve RS intrinsics performance.

Change-Id: Ifc01b5a6d6f7430d2dc218f1618b9df3fb7937fe
Signed-off-by: Xiaofei Wan <xiaofei.wan@intel.com>
ndroid.mk
sCpuCore.cpp
sCpuIntrinsicBlend.cpp
sCpuIntrinsicBlur.cpp
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsicConvolve3x3.cpp
sCpuIntrinsicConvolve5x5.cpp
sCpuIntrinsics_x86.c
e7c71b42e03d596a5e2f49b9cb76c479c4956cd9 17-Apr-2014 Tim Murray <timmurray@google.com> am 48360016: Merge "Fix ARM64 build."

* commit '4836001604783fb7e3ce0ffd9a33afaf34865bba':
Fix ARM64 build.
810aa7a47f3dfe2b207e755121e801ae88bda0fa 17-Apr-2014 Jason Sams <jsams@google.com> resolved conflicts for merge of 0d6043ca to klp-modular-dev-plus-aosp

Change-Id: Ic0b72a5ae43d78ed224d2aeda25a83a79f9f26ec
39ab94aafb7f0916a7f6e345ee1fa0f5ff3bbacd 17-Apr-2014 Jason Sams <jsams@google.com> Bicubic resize intrinsic

Change-Id: Ie869484505c3e25e8ea57ff208b9e052ee8dca7b
ndroid.mk
sCpuCore.cpp
sCpuIntrinsicResize.cpp
0d6043caef208ee6c661eb17bcb376abfe90cd48 17-Apr-2014 Jason Sams <jsams@google.com> Bicubic resize intrinsic [DO NOT MERGE]

Change-Id: I49fec0d33f0aab9b32438e4e97db18ea036989a7
ndroid.mk
sCpuCore.cpp
sCpuIntrinsicResize.cpp
6cdb84d219baf95287e223c8d078c1852fa1a29a 17-Apr-2014 Tim Murray <timmurray@google.com> Fix ARM64 build.

Change-Id: Ic947b16baaea22a0a6ad02da938ea48b986b2f0e
inkloader/include/impl/ELFObject.hxx
db2ffd2e9c7b7949905621e55a73d3431cf4fc90 04-Apr-2014 WeiTang <wei.a.tang@intel.com> Enable linker loader support for 64bit elf object

Change-Id: I6425c427d6a9eddd30e44abf595601180ca52eba

Conflicts:
cpu_ref/linkloader/include/impl/ELFObject.hxx
inkloader/android/librsloader.cpp
inkloader/include/impl/ELFObject.hxx
cc141397f74536754b9ca6d847f7385b38f92b50 16-Apr-2014 Tim Murray <timmurray@google.com> Merge "Resolve x86_64 relocations in RS."
c726af7297d4818264999ced4078bdae728b9a04 11-Apr-2014 Dave Allison <dallison@google.com> Merge "Add support for AARCH64 relocations to the RS linkloader."
7c4d899920c9aecb5e64da2f667a4a24496bbbe5 08-Apr-2014 Jason Sams <jsams@google.com> Fix potential overrun by optimized code.

Change-Id: I0435eb04d51c3f95a9db4af2dbd7da0919dfe366
sCpuIntrinsic3DLUT.cpp
863b8c326f138f570f2d055e1a14100d00fb8983 08-Apr-2014 Jason Sams <jsams@google.com> Fix color matrix bug.

Change-Id: I8087572249f73165136cec3520e8d1c29eea002f
sCpuIntrinsicColorMatrix.cpp
adab849c946f3b18bcc6da06ad1a4efcec7cff3c 01-Apr-2014 Matthieu Delahaye <matthieu@multicorewareinc.com> RS: Fix VP9 LoopFilter to handle 4K video

One of the buffer allocated within the intrinsic was not
wide enough to accomodate space needed for 4K videos.

Change-Id: I3079e8a4c175a25ea427cefc80958ee660674e0b
sCpuIntrinsicLoopFilter.cpp
30e2a4c8d848bc788cc5600e6b929b4f761f3f03 28-Mar-2014 Dave Allison <dallison@google.com> Add support for AARCH64 relocations to the RS linkloader.

This is still a WIP until we can verify what relocations are actually used by
the 64 bit compiler. This covers ABS, PREL, CALL and JUMP relocations only for
now.

This has not been tested but does build.

Change-Id: Iaa85c49e96a63e8c4eef225b8cab619a1cdb861f
inkloader/include/ELFObject.h
inkloader/include/ELFSectionProgBits.h
inkloader/include/StubLayout.h
inkloader/include/impl/ELFObject.hxx
inkloader/include/impl/ELFSectionRelTable.hxx
inkloader/lib/ELFHeader.cpp
inkloader/lib/StubLayout.cpp
4e5c414252846e96d2e353515134387d86150c68 16-Mar-2014 Simon Hosie <simon.hosie@arm.com> AArch64 ports of Convolve3x3 and Convolve5x5.

Change-Id: I68d9e0ddda128f07d4383d20e9bad161f0c6965b
ndroid.mk
sCpuIntrinsics_advsimd_Convolve.S
sCpuIntrinsics_neon.S
sCpuIntrinsics_neon_Convolve.S
5dcaaa5f50926bebf6877e254c521faa7e2593e3 16-Mar-2014 Simon Hosie <simon.hosie@arm.com> Optimisations to 3DLUT assembly.

Process more pixels at once to try to keep the register file fuller and more
tightly packed and allow more concurrency. Implementations in AArch32 and
AArch64 assembly.

Change-Id: I683078ff02155cc14bacce35bce3d3fe06857095
ndroid.mk
sCpuIntrinsic3DLUT.cpp
sCpuIntrinsics_advsimd_3DLUT.S
sCpuIntrinsics_neon.S
sCpuIntrinsics_neon_3DLUT.S
ea76eb386a2d851d50be69ebeb7ae593f84a5be9 16-Mar-2014 Simon Hosie <simon.hosie@arm.com> Make Blur AArch64 assembly position-independent.

Change-Id: I426fba9fff3ac165f5be5f78e2458dbc3b59ab02
sCpuIntrinsics_advsimd_Blur.S
0462a39371659d1eeed5eb48dd6d507760301c22 08-Mar-2014 Simon Hosie <simon.hosie@arm.com> Add AArch64 assembly for ColorMatrix.

Change-Id: I2fcc57aceea08243d5132287f6de053b846c5fe7
ndroid.mk
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsics_advsimd_ColorMatrix.S
sCpuIntrinsics_neon_ColorMatrix.S
7e4f65d7477617a2e19a371e88f888f554f7736a 16-Mar-2014 Simon Hosie <simon.hosie@arm.com> Avoid Clang's integrated AArch64 assembler.

Change-Id: I9babbce1e7b04bb1f8af29886d7cafb16fd8f71c
ndroid.mk
6dc86b492191f9062e912afd948e08362201f332 25-Mar-2014 Jason Sams <jsams@google.com> Merge "RS: Add VP9 LoopFilter Intrinsic"
41de3047284411afde00707e0a98fe2949bc04ec 20-Mar-2014 Xiaofei Wan <xiaofei.wan@intel.com> Resolve x86_64 relocations in RS.

Change-Id: I7e32aa150bd04d6b48afd656291a85b0ca5c182d
Signed-off-by: Xiaofei Wan <xiaofei.wan@intel.com>
inkloader/include/impl/ELFObject.hxx
3cdd1fbfa0ad068b1b584643453883770425722c 19-Mar-2014 Ian Rogers <irogers@google.com> Define FAKE_ARM64_BUILD for all 64bit targets.

Change-Id: I105ce21b11453b89c8544b907ebab97340ae02d3
ndroid.mk
0e780a7ce6794e53e475573dbcb8af01fe57e708 19-Mar-2014 Narayan Kamath <narayan@google.com> Merge "Move renderscript over to __clear_cache (compiler-rt)."
6fc3e12b8912458cb4adcfd32e2f53d76b0cc737 04-Mar-2014 Matthieu Delahaye <matthieu@multicorewareinc.com> RS: Add VP9 LoopFilter Intrinsic

Change-Id: I5caa46da2c825a95cc1ed35a1cdbcd6da0ffce88
ndroid.mk
sCpuCore.cpp
sCpuIntrinsicLoopFilter.cpp
p9_loopfilter_16_neon.S
p9_loopfilter_neon.S
p9_mb_lpf_neon.S
00dbeacfd62bdecd5fce9426c4795aec8618753b 18-Mar-2014 Jason Sams <jsams@google.com> Merge "Revert "RS: Add VP9 LoopFilter Intrinsic""
933bdc9b648995ab68da746c6daa2206eec02b0f 18-Mar-2014 Jason Sams <jsams@google.com> Revert "RS: Add VP9 LoopFilter Intrinsic"

This has build errors with the x86 SDK.

This reverts commit 64048e720cf940cb0f7f6f9a4ab4f061918a1fd9.

Change-Id: Ia712a46abd06e2a580853c863bfa53410b7f99e9
ndroid.mk
sCpuCore.cpp
sCpuIntrinsicLoopFilter.cpp
p9_loopfilter_16_neon.S
p9_loopfilter_neon.S
p9_mb_lpf_neon.S
21dbc8ba61dd6a5852b1346c14bd29373326c240 18-Mar-2014 Jason Sams <jsams@google.com> Merge "Solve four separate memory leaks related to rsdHalInit"
3028980f677cb19d94add01f6c0a9f54efd39306 18-Mar-2014 Jason Sams <jsams@google.com> Merge "RS: Add VP9 LoopFilter Intrinsic"
64048e720cf940cb0f7f6f9a4ab4f061918a1fd9 04-Mar-2014 Matthieu Delahaye <matthieu@multicorewareinc.com> RS: Add VP9 LoopFilter Intrinsic

Change-Id: If1ac77774c74b5513ce7a2db4ef31888a351a9c5
ndroid.mk
sCpuCore.cpp
sCpuIntrinsicLoopFilter.cpp
p9_loopfilter_16_neon.S
p9_loopfilter_neon.S
p9_mb_lpf_neon.S
07ef704308b514272ed2f5c3e6a2f4c055550158 19-Feb-2014 Jens Gulin <jens.gulin@sonymobile.com> Solve four separate memory leaks related to rsdHalInit

Three of the items are local to RsdCpuReferenceImpl and now freed in
destructor after all threads are stopped.
Last one is the RsdHal item itself where the pointer for some reason
was explicitly cleared but not freed. There is no reference counting
but it should be ok to free in Shutdown.

Change-Id: I7832e412d12f4bd7cc728481ae0c782fa57b57e4
sCpuCore.cpp
1e2aedbef554a10a16296d3b529327fffcb10e0d 14-Mar-2014 Jason Sams <jsams@google.com> Revert "RS: Add VP9 LoopFilter Intrinsic"

This reverts commit e4749f3a5a6a6041ef2894162edce5115b307db0.

Change-Id: I45ccdacb1706abd4df7f635c5e64dcb1ee4b876d
ndroid.mk
sCpuCore.cpp
sCpuIntrinsicLoopFilter.cpp
p9_loopfilter_16_neon.S
p9_loopfilter_neon.S
p9_mb_lpf_neon.S
e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4 13-Mar-2014 Tim Murray <timmurray@google.com> Make RS compile on ARM64.

bug 13280327

Change-Id: I79080c448ca17d0cba8df075737c22b24ce9a085
ndroid.mk
sCpuIntrinsicColorMatrix.cpp
sCpuScript.cpp
sCpuScript.h
72f5f8c0e7833d9a4f0288700256982dc7127e23 11-Mar-2014 Narayan Kamath <narayan@google.com> Move renderscript over to __clear_cache (compiler-rt).

bug: 12965705

Change-Id: Ia9917a4aff377fd43a4e71c71a886639763eb250
inkloader/utils/flush_cpu_cache.h
sCpuIntrinsicColorMatrix.cpp
e4749f3a5a6a6041ef2894162edce5115b307db0 04-Mar-2014 Matthieu Delahaye <matthieu@multicorewareinc.com> RS: Add VP9 LoopFilter Intrinsic

Change-Id: Ia49e56c7e21fee1601a0418bd105ef6429c336ca
ndroid.mk
sCpuCore.cpp
sCpuIntrinsicLoopFilter.cpp
p9_loopfilter_16_neon.S
p9_loopfilter_neon.S
p9_mb_lpf_neon.S
83f304cb26008d3f4da154cec19c3a12fa2e6c74 06-Mar-2014 Jason Sams <jsams@google.com> Fix build issues with external patch.

Change-Id: Ib5ea4338df179eb27e4ce9958ef42df1e3ac3eb1
ndroid.mk
sCpuCore.cpp
60498fe9679ea25a260a503d6dfd27cbc0a0c079 18-Feb-2014 Matthieu Delahaye <matthieu@multicorewareinc.com> Add VP9 inter-frame prediction intrinsic

Change-Id: If8985a6200fb6d34083eff711ccdf2f1b3c374e6
ndroid.mk
onvolve/convolve.c
onvolve/convolve8_avg_neon.s
onvolve/convolve8_neon.s
onvolve/convolve_avg_neon.s
onvolve/convolve_copy_neon.s
onvolve/convolve_neon.c
onvolve/vp9_common.h
onvolve/vp9_filter.h
sCpuConvolve.h
sCpuCore.cpp
sCpuIntrinsicInterPred.cpp
sCpuIntrinsicInterPred.h
02170e63931c2d93f57912efbf5d7706578a8438 05-Mar-2014 Ying Wang <wangying@google.com> Use arch-specific flags.

To fix multilib build.

Change-Id: Ifaaea96662de6d3d96a3448754dfe720c4e60deb
ndroid.mk
446788007efe0a673d0366284026adfa17b36fed 20-Feb-2014 Simon Hosie <simon.hosie@arm.com> Optimisations to blur intrinsic.

Try to keep all data in-register whereever possible, and use only a minimal
circular buffer on the stack when necessary. Implementations in AArch32 and
AArch64 NEON.

Change-Id: If3dd4932a94ee1cadde46e298b8f6bf14b6c2bdc
ndroid.mk
sCpuIntrinsicBlur.cpp
sCpuIntrinsics_advsimd_Blur.S
sCpuIntrinsics_neon.S
sCpuIntrinsics_neon_Blur.S
ccd7a46d0c0052209bf3ab8657f40622065d1d1f 01-Feb-2014 Simon Hosie <simon.hosie@arm.com> Optimise YuvToRGB using 16-bit arithmetic.

Reimplement YuvToRGB intrinsic using 16-bit SIMD arithmetic to increase
throughput. Implementations in AArch32 and AArch64 NEON.

Change-Id: Idd43e383f5147c33b0b546fa822c970de432c19d
ndroid.mk
sCpuIntrinsicYuvToRGB.cpp
sCpuIntrinsics_advsimd_YuvToRGB.S
sCpuIntrinsics_neon.S
sCpuIntrinsics_neon_YuvToRGB.S
5d06919bc8019322180ea34768a7a4137fa64d11 20-Feb-2014 Simon Hosie <simon.hosie@arm.com> Revised NEON implementations of blend.

Reimplement blend intrinsic using wider memory accesses and a few more 8-bit
operations where possible. Implementations in AArch32 and AArch64 NEON.

Change-Id: I5e56010376b1db1628a911cf09d97baf5af289b3
ndroid.mk
sCpuIntrinsicBlend.cpp
sCpuIntrinsics_advsimd_Blend.S
sCpuIntrinsics_neon.S
sCpuIntrinsics_neon_Blend.S
95ad60aad51227e277d57b3669496f129b88add3 20-Feb-2014 Elliott Hughes <enh@google.com> Merge "Make renderscript immune from changes to bionic implementation details."
eab7cd3de8639f8dfc01dcab59b2a472e4d7dbd1 20-Feb-2014 Elliott Hughes <enh@google.com> Make renderscript immune from changes to bionic implementation details.

This is a copy of what these macros looked like at the time you started
using them, which is presumably what you intended, though you may prefer
a different code alignment in future.

Change-Id: I8c061e2255df6e0c2f722063779488d9d2dfaab5
sCpuIntrinsics_neon.S
sCpuIntrinsics_neon_ColorMatrix.S
165aa63b99b77abc8c486679a9f90104ce9fff73 07-Feb-2014 Colin Cross <ccross@android.com> rs: support multilib builds

Generate source files into $(local-generated-sources-dir)
Restrict which architectures try to build using LOCAL_MODULE_TARGET_ARCH

Change-Id: Ibb1049c248ed4bcec32b81771f1f9fbcce66a390
ndroid.mk
f8852d0494a260c583795a96a2a06c49b86a9b10 30-Jan-2014 Ian Rogers <irogers@google.com> Work-around 64bit build issues.

Log errors and abort as a temporary work-around for 64bit support.

Change-Id: I7f6b483d671189bd12ae0ef79515fcdd871eba17
inkloader/android/librsloader.cpp
inkloader/include/impl/ELFObject.hxx
8994abbe699bb05fa70cff101becc925db6b2c26 05-Dec-2013 synergy dev <synergye@codefi.re> cpu_ref: fix c++11 narrowing violations

the best fix for these is to use static casting

Change-Id: I00344826a33e5387638ae5edf4c6b85c92f43769
sCpuIntrinsic3DLUT.cpp
sCpuIntrinsicYuvToRGB.cpp
4bc1a0ce2124624045f5b19d027175d3598670fa 13-Dec-2013 Stephen Hines <srhines@google.com> Merge "Add missing functions and tests for support library."
d9b0f02db23455d7bd2f11fda871b2af9120f85e 13-Dec-2013 Elliott Hughes <enh@google.com> Stop using the PLD macro.

Every ARM processor we run on has the pld instruction.

Change-Id: I05512bf20a73590698c714d6921db4e44e971606
sCpuIntrinsics_neon.S
cadee38f6940e5584d3ec3398a21bd2a494361e2 12-Dec-2013 Stephen Hines <srhines@google.com> Add missing functions and tests for support library.

Missing functions:
rsFrac(float)
rsMatrixLoadRotate(rs_matrix4x4 *, float, float, float, float)
rsMatrixLoadScale(rs_matrix4x4 *, float, float, float)
rsMatrixLoadTranslate(rs_matrix4x4 *, float, float, float)
rsMatrixRotate(rs_matrix4x4 *, float, float, float, float)
rsMatrixScale(rs_matrix4x4 *, float, float, float)
rsMatrixTranslate(rs_matrix4x4 *, float, float, float)
rsMatrixLoadOrtho(rs_matrix4x4 *, float, float, float, float, float, float)
rsMatrixLoadFrustum(rs_matrix4x4 *, float, float, float, float, float, float)
rsMatrixLoadPerspective(rs_matrix4x4 *, float, float, float, float)
rsMatrixInverse(rs_matrix4x4 *)
rsMatrixInverseTranspose(rs_matrix4x4 *)
rsMatrixTranspose(rs_matrix4x4 *)
rsMatrixTranspose(rs_matrix3x3 *)
rsMatrixTranspose(rs_matrix2x2 *)
rsUptimeNanos()
rsGetDt()

Headers tested in this CL:
rs_element.rsh
rs_math.rsh
rs_matrix.rsh
rs_object.rsh
rs_sampler.rsh
rs_time.rsh

Change-Id: I6cb1972a44f66dc7fed8fe3cf0329720d166af81
sCpuRuntimeMath.cpp
c859de1556dc9ac5c6f5647298bb5c685c5d2bb0 02-Dec-2013 Jason Sams <jsams@google.com> Fix bug in blur when processing odd widths


Change-Id: I10537cb623cf230636f191fd2b84b050d0f42700
sCpuIntrinsicBlur.cpp
6de1d8375526502b468232d77fce3e957c705137 14-Nov-2013 Tim Murray <timmurray@google.com> Fix histogram intrinsic.

bug 11676706

Change-Id: I12ac5ed5f8528574619feb9737737d0111ad0be6
sCpuIntrinsicHistogram.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
sCpuScript.cpp
75adb8213f045bf3ffbc5deb1350b36d486e228a 22-Oct-2013 Jason Sams <jsams@google.com> Fix crash running blur on 4K images

bug 11258120

The temporary buffer could be misaligned due to realloc only
aligning to 8 bytes.

Fix issues with with Histogram and 2/3 vector sizes.

Change-Id: I271f4635ead5ff0a7e7f89bb5cfcbc2bba626e22
sCpuIntrinsicBlur.cpp
sCpuIntrinsicHistogram.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
ndroid.mk
sCpuScript.cpp
4a1495f3404b939459aa817f06ea9325ca1a4625 30-Sep-2013 Jason Sams <jsams@google.com> The NEON yuv asm code may overrun the buffer

by up to four bytes while reading U & V. Adjust the cutoff
for the boundary to allow for this.

bug 10826418

Change-Id: I93252a5f823cfd0dbf65fbfc194b4848cf44557a
sCpuIntrinsicYuvToRGB.cpp
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
sCpuIntrinsicYuvToRGB.cpp
f5e947e74cea50b4687500970237c41ff698d9da 12-Sep-2013 Jason Sams <jsams@google.com> Merge "Fix YUV intrinsic with camera input where frames are NULL" into klp-dev
ac67f6d87fddf45cda71cce31770aa41cc435fbd 12-Sep-2013 Jason Sams <jsams@google.com> Merge "Fix issues with U8->U8 when mixed with add or lane conversion" into klp-dev
e99f3e21a0d88ca59eb9281699e8212a3a4205a3 12-Sep-2013 Jason Sams <jsams@google.com> Fix YUV intrinsic with camera input where
frames are NULL

bug 10710716

Change-Id: I9e69a8a51ccfc15798a09760249a951561dcd544
sCpuIntrinsicYuvToRGB.cpp
ec3cd2dff915d476ce0d7cdbb20c0497635a700f 12-Sep-2013 Jason Sams <jsams@google.com> Fix issues with U8->U8 when mixed with add or lane conversion

bug 10427746

Change-Id: Iea14223c754d0b2256d752d9211a0c45109c3a02
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsics_neon_ColorMatrix.S
a23b201166cfab963488fc565a8b14d618b0f8d9 12-Sep-2013 Jason Sams <jsams@google.com> Merge "Fix ColorMatrix performance and correctness issues." into klp-dev
9e4a96af136dab5b21a37580d17cbcb89872114e 12-Sep-2013 Jason Sams <jsams@google.com> Fix ColorMatrix performance and correctness issues.

bug 10427746

Change-Id: Ie42753a551badf4de3144f16fa0e407eca5b9c74
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsics_neon_ColorMatrix.S
c78839b5bbcffae7d64a5a1c9aa60c9a4c5d3918 11-Sep-2013 Stephen Hines <srhines@google.com> Detect use of RS objects in kernels to disable a ScriptGroup optimization.

Bug: 10394865

This change disables a ScriptGroup optimization when we can't guarantee
that there is no implicit ordering between two kernels. In this case, it
is possible to communicate between kernels using the same bound global
RS object (like Allocation). A subsequent kernel in the ScriptGroup could
accidentally pick up stale data, leading to incorrect results.

Now, we disable this optimization whenever we see binds/sets of variables
that are potentiall RS object types for a given Script/kernel. This is
overly conservative, but sufficient for now.

This change also fixes a small issue with preLaunch/postLaunch missing for
the default ScriptGroup execution case.

Change-Id: I0d19d200cc8dc397d68008a4df6ea423b1e4d04f
sCpuScriptGroup.cpp
17e3cdc24776d8fdbf1ce16287b9b4dcd516708f 10-Sep-2013 Jason Sams <jsams@google.com> Fix ScriptGroup performance regression

bug 10151545

Change-Id: Ica4a30c6fe8718f7fdbff0b446885d9ac7083769
sCpuIntrinsicColorMatrix.cpp
sCpuScript.cpp
sCpuScript.h
sCpuScriptGroup.cpp
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)
sCpuIntrinsicYuvToRGB.cpp
sCpuIntrinsics_neon.S
927edc2b99b73d1f236320663ed7ed4cfeee2f91 31-Aug-2013 Tim Murray <timmurray@google.com> am 869d1d0b: am aa782376: Fix YUV intrinsic with compat lib.

* commit '869d1d0b7eb90c78ea4e621315895d178c6fd72a':
Fix YUV intrinsic with compat lib.
aa782376e05c47141bc3f90966d609cfc69ebc39 30-Aug-2013 Tim Murray <timmurray@google.com> Fix YUV intrinsic with compat lib.

Change-Id: I05bfd1d4de24e3e9eadf092ec519d54ed411aa89
sCpuIntrinsicYuvToRGB.cpp
2b0d8e60d7daeffa7c9a5e11cfbfc9e5e04933b7 30-Aug-2013 Jason Sams <jsams@google.com> Float color matrix fixes

Fix histogram to use update API names.

bug 10427746

Change-Id: Idc9d6025380b2344d14f2aeb4da66bff47169021
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsics_neon_ColorMatrix.S
68c817211a6fe87bebed83d38a05fff32cc24a7e 22-Aug-2013 Jason Sams <jsams@google.com> color matrix bugs

bug 10427746

Change-Id: Ie652fe5180702a2eceb3a7077bc1821ba21c1ee4
sCpuIntrinsicColorMatrix.cpp
5e37175676a1089fc7c40ac8b705799dccabcc30 16-Aug-2013 Stephen Hines <srhines@google.com> am fd47ac29: am 43cfc0cb: Remove barriers to using NDK v8 includes.

* commit 'fd47ac29478ed01a581b3326d898ad848858a314':
Remove barriers to using NDK v8 includes.
fd5136767dee529cfcab02bb766b7d369e20ba58 16-Aug-2013 Stephen Hines <srhines@google.com> am 6699b978: am 11418c87: Provide a tgammaf() wrapper for compatibility on Gingerbread.

* commit '6699b9783ec6ed29b62c4f7bdb491fec1c51eaeb':
Provide a tgammaf() wrapper for compatibility on Gingerbread.
43cfc0cbe6e6e8f585a0ae5f1d9cc2859ab1dda7 15-Aug-2013 Stephen Hines <srhines@google.com> Remove barriers to using NDK v8 includes.

Bug: 10315692

Removed CLOCK_BOOTTIME, added some additional guards around cutils includes,
and explicitly included errno.h when we use ETIMEDOUT.

Change-Id: I0a764beea2f8ff7387a9afe985f00b5f03c68725
sCpuRuntimeMath.cpp
11418c87254f0cbffa910fe8f105b7da92452487 15-Aug-2013 Stephen Hines <srhines@google.com> Provide a tgammaf() wrapper for compatibility on Gingerbread.

Bug: 10315692

GB devices don't have tgammaf(float) and only have tgamma(double). We
provide a simple wrapper to convert between the two for the compatibility
library.

Change-Id: Id8566450405482e876148d62ffbe46fa62049049
sCpuRuntimeMath.cpp
8e0edc869aa8d7dbe8d629785b834a5e67d31a4d 10-Aug-2013 Tim Murray <timmurray@google.com> Merge "fix SDK build breakage with NEON" into klp-dev
56b0b63c8d2ad0f880820db133a2e97ac56a942a 09-Aug-2013 Tim Murray <timmurray@google.com> fix SDK build breakage with NEON

Change-Id: I823ab46a24a9db24e1b8a800284a5987747ae2ee

Conflicts:
cpu_ref/Android.mk
ndroid.mk
a65de10aabdee0794d0e9c96db944e990166ef0d 09-Aug-2013 Jason Sams <jsams@google.com> Float color matrix support.

Change-Id: I106b0cb1ad511aa549e4c90d79b3e84b55da45e4
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsics_neon_ColorMatrix.S
3870c6666e2e7d372daa6e0610f0f83695c954ec 09-Aug-2013 Tim Murray <timmurray@google.com> fix SDK build breakage in mr2-dev and NEON

Change-Id: I823ab46a24a9db24e1b8a800284a5987747ae2ee
ndroid.mk
5cb36d9b36617f6b0493602ef61d620dc8f7e0ae 09-Aug-2013 Jason Sams <jsams@google.com> Merge commit 'b10a68c3' into manualmerge

Conflicts:
cpu_ref/rsCpuIntrinsicColorMatrix.cpp

Change-Id: Ibc2f1514f8858d99f08380f698bc9ae533c69212
e6b3d13534186d08f14d0753c26c535825ffdec8 08-Aug-2013 Stephen Hines <srhines@google.com> Move mmanWindows.* to proper locations.

Change-Id: If7044224de65735e257cf90d0c3bf655c31dd4d5
inkloader/include/mmanWindows.h
inkloader/lib/mmanWindows.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
sCpuScript.cpp
f5ef8df639ba6363aa5d546e57ce872d04144cb6 06-Aug-2013 Jason Sams <jsams@google.com> Neon detection for RS SDK compat lib.

Change-Id: I3887158c7ec97ba116c28dc7b1d0c789b81fae60
sCpuCore.cpp
sCpuCore.h
sCpuIntrinsic3DLUT.cpp
sCpuIntrinsicBlend.cpp
sCpuIntrinsicBlur.cpp
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsicConvolve3x3.cpp
sCpuIntrinsicConvolve5x5.cpp
sCpuIntrinsicYuvToRGB.cpp
2644c42ddc16ef2515fc2e566ad2f60f1a1b47c6 03-Aug-2013 Raphael Moll <raphael@google.com> am 9b21cf51: am 1033b597: Fix Windows build issues for librsloader.

* commit '9b21cf5166b9ce3ac01c98d5122198dbde972b24':
Fix Windows build issues for librsloader.
6e8baf5350d41d87fdfb31b18facb4566307dedf 31-Jul-2013 Jason Sams <jsams@google.com> Merge "Color Matrix improvements."
9b2b9efa1a1f9b0ec8c20601216f8dc5698c75f5 30-Jul-2013 Jason Sams <jsams@google.com> Color Matrix improvements.

Change-Id: I4594ea43a0a2b298a9ad66bd5e63d8b829d4f620
ndroid.mk
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsics_neon.S
sCpuIntrinsics_neon_ColorMatrix.S
35cfed80c9f8ae98af389bb934da21a5adfe8278 30-Jul-2013 Stephen Hines <srhines@google.com> Merge "Fix Script instancing issue for support library."
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
sCpuScript.cpp
6ba6c664f773a53d7b6ddaf2c216d11404fd18fc 13-Jul-2013 Stephen Hines <srhines@google.com> Move linkloader into cpu_ref/ instead of driver/.

This library is actually part of the reference implementation and not part of
the direct instantiation in driver/. Having this code live in driver/ (for
partners to modify/replace) is misleading.

Change-Id: Ifba4575ff3bcdd09a3839384cfb26c2b0bf9d5fa
inkloader/android/librsloader.cpp
inkloader/android/librsloader.h
inkloader/android/test-librsloader.c
inkloader/include/ELF.h
inkloader/include/ELFHeader.h
inkloader/include/ELFObject.h
inkloader/include/ELFReloc.h
inkloader/include/ELFSection.h
inkloader/include/ELFSectionBits.h
inkloader/include/ELFSectionHeader.h
inkloader/include/ELFSectionHeaderTable.h
inkloader/include/ELFSectionNoBits.h
inkloader/include/ELFSectionProgBits.h
inkloader/include/ELFSectionRelTable.h
inkloader/include/ELFSectionStrTab.h
inkloader/include/ELFSectionSymTab.h
inkloader/include/ELFSymbol.h
inkloader/include/ELFTypes.h
inkloader/include/GOT.h
inkloader/include/MemChunk.h
inkloader/include/StubLayout.h
inkloader/include/impl/ELFHeader.hxx
inkloader/include/impl/ELFObject.hxx
inkloader/include/impl/ELFReloc.hxx
inkloader/include/impl/ELFSection.hxx
inkloader/include/impl/ELFSectionBits.hxx
inkloader/include/impl/ELFSectionHeader.hxx
inkloader/include/impl/ELFSectionHeaderTable.hxx
inkloader/include/impl/ELFSectionNoBits.hxx
inkloader/include/impl/ELFSectionProgBits.hxx
inkloader/include/impl/ELFSectionRelTable.hxx
inkloader/include/impl/ELFSectionStrTab.hxx
inkloader/include/impl/ELFSectionSymTab.hxx
inkloader/include/impl/ELFSymbol.hxx
inkloader/lib/ELFHeader.cpp
inkloader/lib/ELFSectionHeader.cpp
inkloader/lib/ELFSymbol.cpp
inkloader/lib/ELFTypes.cpp
inkloader/lib/GOT.cpp
inkloader/lib/MemChunk.cpp
inkloader/lib/StubLayout.cpp
inkloader/main.cpp
inkloader/utils/flush_cpu_cache.h
inkloader/utils/helper.cpp
inkloader/utils/helper.h
inkloader/utils/raw_ostream.cpp
inkloader/utils/raw_ostream.h
inkloader/utils/rsl_assert.cpp
inkloader/utils/rsl_assert.h
inkloader/utils/serialize.h
inkloader/utils/traits.h
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
sCpuCore.cpp
sCpuRuntimeStubs.cpp
sCpuScript.cpp
sCpuScriptGroup.cpp
34b0d3119567b992f0f876a2dffc0161bdcef3e6 27-Jun-2013 Jason Sams <jsams@google.com> Implement all formats for convolve 5x5.

Change-Id: I93456429e909beffa2b76bc3f7f46bd306c5941d
sCpuIntrinsicConvolve5x5.cpp
4768dade83376d58dbee788f2a705a63918ee8bc 28-Jun-2013 Stephen Hines <srhines@google.com> Merge "Provide path to execute standalone bcc compiler."
3b35d775a777c36a178ce3fc97ff1e169aab3f1e 26-Jun-2013 Jason Sams <jsams@google.com> Implement U1, U2, F1, F2, F4 convolve 3x3

Change-Id: Ib6ffd75ba19cf09a710f39fcd07400aae12d60ca
sCpuIntrinsicConvolve3x3.cpp
sCpuIntrinsicInlines.h
b58d9adf52f0216c0281c749023bdd5b52236875 20-Jun-2013 Stephen Hines <srhines@google.com> Provide path to execute standalone bcc compiler.

Bug: 7342767

Change-Id: Ife9d9fee77416832445dcf30f0e3eba3dd173bad
ndroid.mk
sCpuScript.cpp
389ae9ac71245bc213b8148f2982464074a4b158 19-Jun-2013 Stephen Hines <srhines@google.com> Merge "Add the name of the forEach functions to the tracing output"
b68ba7e6f3d1e6440c1409e85a6c3af14fc39ee6 19-Jun-2013 Jason Sams <jsams@google.com> Performance fix
Add support for processing 2 and 3 channel.

Change-Id: I124e1e92a65a296de1c3a839d9555f5eeeeb75c6
sCpuIntrinsicHistogram.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
sCpuScript.cpp
2282e2816ac5f5de53f9bd4f3ecbdfd6d756d120 18-Jun-2013 Jason Sams <jsams@google.com> add histogram intrinsic

Change-Id: I42c297bfe116ea29cf015680fcc2143ff4cc95d2
ndroid.mk
sCpuCore.cpp
sCpuIntrinsic.cpp
sCpuIntrinsic.h
sCpuIntrinsicHistogram.cpp
d89c234c749386a4dc6e362e719cb230853f18e4 13-Jun-2013 Tim Murray <timmurray@google.com> am 4accc1fe: am 606e5004: Fix Vine crash.

* commit '4accc1fe021321ecfe504897ed45121f11e6bd4b':
Fix Vine crash.
606e50048307530335b0885364ba888da436229b 13-Jun-2013 Tim Murray <timmurray@google.com> Fix Vine crash.

Legacy YUV path was not computing the uv row coordinates correctly.

bug 9272491

Change-Id: I3af68fb8be191373205870573027ed38f059203e
sCpuIntrinsicYuvToRGB.cpp
8aff55716d056aaec7a896843abf80ba0f56e062 12-Jun-2013 Jason Sams <jsams@google.com> am 06bd91ec: Fix crash in Vine

* commit '06bd91ecb6ba59c5c19b2ad1325b30bd9344832d':
Fix crash in Vine
06bd91ecb6ba59c5c19b2ad1325b30bd9344832d 12-Jun-2013 Jason Sams <jsams@google.com> Fix crash in Vine

bug 9272491

Legacy YUV formats could trigger null pointer using YUV intrinsic.

Change-Id: I2eca7254a22c757c50e302a190e9aa5c05437534
sCpuIntrinsicYuvToRGB.cpp
ba17ae494add84056bbf3275b68e40e62a643db0 06-Jun-2013 Stephen Hines <srhines@google.com> Switch to separate build/load steps for Scripts.

Bug: 7342767
Change-Id: I94f81cb4dc917dd2cfc10c7718e9263454571db4
sCpuScript.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
sCpuCore.cpp
sCpuCore.h
sCpuScript.cpp
sd_cpu.h
70cc3f31ebe6dd61e173d9e0a120a2e4932b14c5 22-Apr-2013 Jason Sams <jsams@google.com> Merge "Fix YUV intrinsic" into jb-mr2-dev
6b58909686d7e439dac6dbb48c7e2236cd33c68d 19-Apr-2013 Jason Sams <jsams@google.com> Fix YUV intrinsic

One format of YUV was not correctly handled by the built
in YUV intrinsic. This CL adds support. The scope is confined to
the YUV instrinsic and cannot impact other paths.

bug 8566866

Change-Id: I9a96b2117b0676213f4906b0ca12416693b9c0e4
sCpuIntrinsicYuvToRGB.cpp
sCpuIntrinsics_neon.S
f47e8b4b86bf194e65398032f3f5f47a6da89f3f 18-Apr-2013 Stephen Hines <srhines@google.com> Mark use of a debug context with the RSCompilerDriver.

Bug: 7343201
Change-Id: Idb003a3314247481c38aa70f9991f000135996b3
sCpuScript.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
sCpuScript.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
sCpuScript.cpp
sCpuScript.h
sd_cpu.h
a66d000ed939eeb014f65f3ff6a7da06961aaeb6 11-Apr-2013 Stephen Hines <srhines@google.com> Merge "Remove invalid logging on missing root.expand() functions." into jb-mr2-dev
b2411816414d33e5c3dd1488be1702b3ef67b250 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: Icc2c8db9304e1115b977b2cd1992803bf75618d7
ndroid.mk
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
sCpuScript.cpp
941a61732cb044d0d9e4153dd3ef39d3055673e7 03-Apr-2013 Jason Sams <jsams@google.com> Cleanup debug and WAR vector type packing.

Change-Id: I4ff9619981dd1aa247b1bde511ec6a5bc1985954
sCpuRuntimeStubs.cpp
0782188b07ceeca03a45b26873bec0ccfd412373 02-Apr-2013 Jason Sams <jsams@google.com> Fix corruption when neon is disabled.

Change-Id: I5b7b143f78bb87c9f26265c45d727ed1b3063a73
sCpuIntrinsicBlur.cpp
3aeab4f0a628cad27c3f18ec1cff6f154ae01b62 02-Apr-2013 Jason Sams <jsams@google.com> Delete sampler optimization.

Calling overhead makes this mostly pointless.

Change-Id: I899778db3e6b06f46a5d5ca9af34fc17cf105b14
ndroid.mk
sCpuSample_neon.S
1d476620399d54774e4fd386c1d23cc583d49522 30-Mar-2013 Stephen Hines <srhines@google.com> Add callback to allow replacement of runtime support library.

Change-Id: I84ec56dfb29a0158015ebf31b3a73ac5bf34ef98
sCpuCore.cpp
sCpuCore.h
sCpuScript.cpp
sd_cpu.h
b93cb42b4b8511d244ec8df4559fdc5c0b2de1bf 28-Mar-2013 Stephen Hines <srhines@google.com> Add rsRand(float, float) support back to compat lib.

Change-Id: I0acaa409908f83c690c95b47979f820bc2dac9f5
sCpuRuntimeMath.cpp
sCpuRuntimeMathFuncs.cpp
d6f1f46b2929ed56c73ba32357cde31b82972fbe 26-Mar-2013 Tim Murray <timmurray@google.com> Add some missing compat lib functions and fix a bug.

Change-Id: I2950e1b4f785bcc1f0b6154ce822fe17832b3f4f
sCpuRuntimeMath.cpp
sCpuRuntimeMathFuncs.cpp
a8cd40f1c75d0af0e2276c9f169eb0a1ba034adf 26-Mar-2013 Tim Murray <timmurray@google.com> Merge "Start making RS 64-bit clean." into jb-mr2-dev
06b0f7d3b345ae1c36aed6686e79e403650f8baa 22-Mar-2013 Jason Sams <jsams@google.com> start refactoring rsSample

Change-Id: I3bc2209991dcb2a13a2629e8ecfe6955ae83a9a8
ndroid.mk
sCpuSample_neon.S
099bc262f862cdeb547cf8a78fe9e0e92560f437 21-Mar-2013 Tim Murray <timmurray@google.com> Start making RS 64-bit clean.

Change-Id: Ie40ad9a1d2b59094c86eb7e40b358e60120ce213
sCpuIntrinsicBlur.cpp
962e720b3d1c27bcfec90374ff393584b99577b3 19-Mar-2013 Tim Murray <timmurray@google.com> Merge "Add x86 server support." into jb-mr2-dev
0b575de8ed0b628d84d256f5846500b0385979bd 15-Mar-2013 Tim Murray <timmurray@google.com> Add x86 server support.

Change-Id: I674acaf15b67afa48bc736f72942a11e2e38e940
sCpuCore.cpp
sCpuIntrinsic3DLUT.cpp
sCpuIntrinsicBlend.cpp
sCpuIntrinsicConvolve5x5.cpp
sCpuIntrinsicYuvToRGB.cpp
sCpuRuntimeMath.cpp
sCpuRuntimeStubs.cpp
sCpuScript.cpp
sCpuScriptGroup.cpp
8ca358a2abe7e0dba23993e0fc8d64b8b55bd9ca 19-Mar-2013 Jason Sams <jsams@google.com> Fix bug reporting CPU count.

Change-Id: Ib76a17c3239dc5b52624a567b40cace16f412327
sCpuCore.cpp
110f181b7966212a36ef18016f9b81c7322d0a2f 15-Mar-2013 Jason Sams <jsams@google.com> Reduce diffs with compat lib.

Change-Id: Ibfa2c7c7da56d158f424ac343e364feacd0a21da
sCpuRuntimeMath.cpp
sCpuScript.cpp
sCpuScript.h
sd_cpu.h
029e82e1f688dfd132c19b1b94d2cad60d3ceaac 12-Mar-2013 Jason Sams <jsams@google.com> Move simple functions to on device lib.

Change-Id: I690673f98244c490302cb25145cfcc8dd4125637
sCpuRuntimeMath.cpp
cadfac411e6690e39de36c4f9e94deb9b7d2d08e 07-Mar-2013 Jason Sams <jsams@google.com> Sync with compat lib.

Change-Id: Id8ace103814cf126f0d157100d1d4a12cc0b8664
sCpuCore.cpp
sCpuCore.h
sCpuScript.cpp
sCpuScript.h
sd_cpu.h
d533c4c66510f2b83b9397607756479d79baae10 06-Mar-2013 Stephen Hines <srhines@google.com> This cl provides a proper WAR for thumb codegen.

Bug: 8326082
Change-Id: Ia471c2990461c1693e99e834624b856a5af4cac7
sCpuIntrinsic3DLUT.cpp
5edd18e4307e3c223b5db8a6cc5ca309a3a69c2a 06-Mar-2013 Stephen Hines <srhines@google.com> WAR for non-neon ARM crash.

Change-Id: I3eb059874a84581d9bfbb22f6731f524ea1715c6
sCpuIntrinsic3DLUT.cpp
3a25fdd3786c1a08b783d8a83ef94b756347ff5c 23-Feb-2013 Tim Murray <timmurray@google.com> Cleanup lots of things related to IO_OUTPUT and error checking.

Change-Id: Ic6802dd0ba9d3edc8c53f99002cdd905214a515c
sCpuScript.cpp
b6d2d2a6bc1cee3e04b7e632a96134bdb56f38ee 23-Feb-2013 Jason Sams <jsams@google.com> Fix corner cases with small blurs.

Change-Id: I7d1d42c3903ca3defd1737bd6e2557e2f5998fe5
sCpuIntrinsicBlur.cpp
a31850150be87c472c71857c17ea5bc6676c1d8f 19-Feb-2013 Stephen Hines <srhines@google.com> Merge "Support LinkRuntimeCallback() with RS compiler."
bc0ca6ba4e31239bf77060578d0bdf1a10e04168 16-Feb-2013 Jason Sams <jsams@google.com> Support typed YUV allocations

Change-Id: I844051ee1be1462e497d238f5460f301be1aaa1d
sCpuIntrinsicYuvToRGB.cpp
385e9d7a982341252a337ae94ef199933e7583ec 15-Feb-2013 Stephen Hines <srhines@google.com> Remove unused functions that insert __aeabi_idiv0() dependency.

We no longer use/call these functions, since we pick up modsi3() and the
variants directly from libcompiler_rt instead. By having them here, we are
accidentally pulling in additional dependencies on unnecessary functions.

Change-Id: Ia7aa29e443d77ec852987a13dc8fdbb4fa80af1d
sCpuRuntimeStubs.cpp
f218bf115af4ae4fd79adbb8842608b308a4cf07 13-Feb-2013 Stephen Hines <srhines@google.com> Support LinkRuntimeCallback() with RS compiler.

Change-Id: I28ada4e7c462cb9673de6886d934dce855fac339
sCpuCore.cpp
sCpuCore.h
sCpuScript.cpp
sCpuScript.h
sd_cpu.h
d4ecb17adc9b099351f2ca1779a74f5283f20a3d 07-Feb-2013 Tim Murray <timmurray@google.com> Add API entry points for clipped kernels and fix Z-dimension clipping.

Change-Id: I43074cb8556d9b28d3e549930f5ac68387f8d823
sCpuScript.cpp
887922659e80b83b925631a3a459362d67db666e 05-Feb-2013 Jason Sams <jsams@google.com> am 1f80b2c8: am 902868b7: Merge "YUV(NV21) to RGBA function NEON optimizations."

# By Vassilis Laganakos
# Via Android Git Automerger (1) and others
* commit '1f80b2c8b2b52c836c4039f716f702f96f213b0d':
YUV(NV21) to RGBA function NEON optimizations.
ce0351debba8dadd1a7af2b3e926de6d787b49af 26-Jan-2013 Jason Sams <jsams@google.com> Fix intrinsic bugs.

Change-Id: I027e5dcd8e538e52a21941facc5b93db2a6eac8c
sCpuIntrinsicBlur.cpp
sCpuIntrinsicConvolve5x5.cpp
sCpuIntrinsics_neon.S
2913f381a554c28abb44f49eddd1ee4c68a72578 15-Jan-2013 Stephen Hines <srhines@google.com> Align all allocations to a 16-byte boundary.

This change also fixes an issue in the Blur intrinsic, where we mis-cast a
float array to float4 (and thus encountered some new alignment errors with
the updated LLVM).

Change-Id: I3955b38f156c35f4d160652c75ab416bae09b2c8
sCpuIntrinsicBlur.cpp
5e3fb0b3cfadcb44a74cf4b6ec9ec65c11ba811e 10-Jan-2013 Stephen Hines <srhines@google.com> Add parentheses for latest Clang warnings.

Change-Id: I425b7e13578d91a294397d37f4e66d9c1a6ff501
sCpuIntrinsic3DLUT.cpp
7c4b888f2147edf99690b6af75470774ff31c43b 04-Jan-2013 Jason Sams <jsams@google.com> Functional 3D LUT intrinsic.

1600x1000 takes ~23ms on manta.

Change-Id: I142d6dedded66df05aa5f49e3da409a34c6e1b6e
ndroid.mk
sCpuCore.cpp
sCpuIntrinsic3DLUT.cpp
sCpuIntrinsicInlines.h
sCpuIntrinsics_neon.S
93eacc7ce0aad4314b4cb41a281f59ce54bb3286 18-Dec-2012 Jason Sams <jsams@google.com> Cleanup diff with compat.

Change-Id: Ieedcdec03ccb05cac68cbebbd398e07cb885f4d3
sCpuScriptGroup.cpp
sCpuScriptGroup.h
74121b55311b1a31ce41e6e2814ef5ad4ded1864 13-Dec-2012 Jason Sams <jsams@google.com> Remove unused functions.

Change-Id: I962ea4327c11d10b35e93bb71a1367a7ee41464f
sCpuRuntimeMath.cpp
241b999530999c7613edb742778c81fb4bf0e91e 05-Dec-2012 Tim Murray <timmurray@google.com> Merge "enable synchronous mode (functional)"
4d252d6e807b89764dad123ac845df298c52ca97 29-Nov-2012 Tim Murray <timmurray@google.com> enable synchronous mode (functional)

Change-Id: I613610013e7e4d1623620ab94d2d25d8a1bd82b3
Bug: 5972398
sCpuCore.cpp
c44d6706868749abe37780fc28b2cc627ddcf269 29-Nov-2012 Jason Sams <jsams@google.com> Fix uchar blur with neon offsets

fix hardcoded width limit in blur.

Change-Id: I4f56b8454181110133c4a637b66f1df3c79da33e
sCpuCore.h
sCpuIntrinsicBlur.cpp
sCpuIntrinsics_neon.S
7079cd8ddb0874d431446aea305b8c3b10e4f0ba 28-Nov-2012 Jason Sams <jsams@google.com> Fix uchar blur performance.

Fix bug with misaligned access on odd width images.

Change-Id: Ie9f40121cf8eddbafdb2149814fcff28fff62036
sCpuIntrinsicBlur.cpp
sCpuIntrinsics_neon.S
c905efd76fdcc1b8846b229bf7d991d185a7b4b7 27-Nov-2012 Jason Sams <jsams@google.com> Cleanup pass + implement blur uchar

Change-Id: Ib7f1c5218663b468a3c11daa2c3373ae132145ac

Conflicts:

cpu_ref/rsCpuIntrinsicBlend.cpp
sCpuCore.cpp
sCpuIntrinsic.cpp
sCpuIntrinsic.h
sCpuIntrinsicBlend.cpp
sCpuIntrinsicBlur.cpp
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsicConvolve3x3.cpp
sCpuIntrinsicConvolve5x5.cpp
sCpuIntrinsicLUT.cpp
sCpuIntrinsicYuvToRGB.cpp
sCpuIntrinsics_neon.S
4cca49b13db92b13ca07c1d330ad450d1b10f507 21-Nov-2012 Tim Murray <timmurray@google.com> Fix off-by-one error in convolve3x3.

Bug: 7599424
Change-Id: If668bd1ce2306b53efd20a09d16104cbf9fd4b77
sCpuIntrinsicConvolve3x3.cpp
709a0978ae141198018ca9769f8d96292a8928e6 16-Nov-2012 Jason Sams <jsams@google.com> Separate CPU driver impl from reference driver.

Change-Id: Ifb484edda665959b81d7b1f890d108bfa20a535d
ndroid.mk
sCpuCore.cpp
sCpuCore.h
sCpuIntrinsic.cpp
sCpuIntrinsic.h
sCpuIntrinsicBlend.cpp
sCpuIntrinsicBlur.cpp
sCpuIntrinsicColorMatrix.cpp
sCpuIntrinsicConvolve3x3.cpp
sCpuIntrinsicConvolve5x5.cpp
sCpuIntrinsicInlines.h
sCpuIntrinsicLUT.cpp
sCpuIntrinsicYuvToRGB.cpp
sCpuIntrinsics_neon.S
sCpuRuntimeMath.cpp
sCpuRuntimeStubs.cpp
sCpuScript.cpp
sCpuScript.h
sCpuScriptGroup.cpp
sCpuScriptGroup.h
sd_cpu.h