History log of /frameworks/rs/driver/runtime/rs_allocation.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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)
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)
6f6a6837da3f4461f1796bdb4b694980ff8784df 18-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Enable creation of float16 allocations


This was previously disabled due to a missing enum value.

Change-Id: I9bfed5d1f42192aa6576207a9fcbdc22386d0d0d
(cherry picked from commit 7e1013b9461a07d42df05b2c6f7e73ec6518b82a)
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
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
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
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
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
fb2a33d2532d2500bfc4da879f83761f9a01edeb 04-Mar-2015 Jean-Luc Brouillet <jeanluc@google.com> Fix corresponding .cpp file for the remove const CL.

Change-Id: I039c4894b0f875a7fa506adcdfe76dc82e16f942
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
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

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
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
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

3ff0fe77fdba8ad4a920dc27157d8c1786bb3661 20-May-2014 Jason Sams <jsams@google.com> Cleanup 64bit and remove deprecated functions

Change-Id: I8f4570af8ab7da05831258dd264118b28ce5d352
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
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
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)
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
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
5a47020542c52af3e879c1cd67674ca979ff0a18 30-May-2013 Stephen Hines <srhines@google.com> Move RS runtime to frameworks/rs.

Bug: 7342767
Change-Id: Ia45064a5257b8ce460918f327670e3be550d4b56