History log of /frameworks/rs/driver/runtime/rs_allocation.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2eb797d9c2baa32597f973c026bfffc96cc8cfef 06-May-2017 David Gross <dgross@google.com> Fix CTS VLoadTest failures under debug context.

Failures were of the form

dlopen failed: cannot locate symbol "rsOffsetNs"

when loading a compiled script. The problem is that the rsOffsetNs()
function is needed by all versions of libclcore (ordinary, _debug, and
_g) but was not being defined for _debug. The fix is to define it
unconditionally.

Test: aosp_angler-eng
1) cts -t android.renderscript.cts.VLoadTest with debug.rs.debug 1
no more "Unable to open" errors but instead runtime failures
2) cts -m RenderscriptTest
clean

Bug: 37955136
Change-Id: I055e7645237cb77505e39fb1693adffe6eb99ecb
/frameworks/rs/driver/runtime/rs_allocation.c
b5a918ef5de4087d88ac9d17781c7cad59420fa2 28-Apr-2017 I-Jui (Ray) Sung <ijsung@google.com> Made untyped rs[GS]etElementAt available in debug context

The debug version of RS runtime library libclcore_debug.bc did not have
the untyped variants of allocation accessors, causing some CTS tests to
fail in debug context. This CL fixed them by making the non-debug untyped
accessors available in debug context.

Affected tests are:
android.renderscript.cts.AllocationTest#testSetElementAt
android.renderscript.cts.AllocationTest#testSetElementAt2D

Test: CTS under normal context, and affected tests under debug context
Bug: 37636434
Change-Id: Icf3254a6391f15fdc6ad1bf5a12e2f185b011e22
/frameworks/rs/driver/runtime/rs_allocation.c
700e68883c4324c15b380ff6724249f39d4f498c 06-Mar-2017 I-Jui (Ray) Sung <ijsung@google.com> Rename unused fields of RS base object handle in 64-bits

Fields other than the first one (p) in RS_BASE_OBJECT are set in some
part of existing RS runtime, but is not used at all. However, removing
them is not desirable as size of RS_BASE_OBJECT is really part of the
ABI and thus if we change it, we are creating a new ABI variant here,
which is not always desirable.

For example, consider a library that contains compiled scripts and
assuming we pass allocation handles between the library and other
user codes, changes to handle size only in user code would break the
compatibility on things like array of rs_allocations.

Thus, to keep ABI compatibility the unused fields r, v1, v2 are renamed.
Also they are now assigned zero consistently. These field however are
not copied consistently in the current runtime, and are not expected
so anyways.

Bug: 35043722
Test: mm, CTS and RSTest on Angler
Change-Id: I426fad8e07bf445b6d8625bd23c689acaee26322
/frameworks/rs/driver/runtime/rs_allocation.c
863237215cab4812df373b63ba3bbf2bc1d8647d 20-Jan-2017 Jean-Luc Brouillet <jeanluc@google.com> Cleanup makefiles and warning producing code.

Many entries in our makefiles are not needed:
- LOCAL_CPPFLAGS += -fno-exceptions is the default
- LOCAL_MODULE_TARGET_ARCH_WARN is obsolete
- LOCAL_CXX_STL:= libc++ is the default
- LOCAL_MODULE_TAGS := optional is the default
- LOCAL_IS_HOST_MODULE := true is the default if we're using
$include(BUILD_HOST_*). This can't be removed for the generated
subdirectories however without triggering a bug in Ninja.
- Removed the -ldl where not needed.
- LOCAL_CLANG is no longer needed.

Added -Werror -Wall -Wextra to a lot of targets and cleaned up
the code that created errors.

Removed some hacky code that would prevent tests/java_api from
being compiled except under special cicumstances.

Corrected some LOCAL_MODULE_TAGS that should have been set to tests.
Cleanup warning producing code.

Bug: 34265954
Test: Compiled the code.
Test: Ran the cpp test, imageprocessing_jb, and cts
Change-Id: I27da19b18a6c0ac3686bb8c93681e3d870d587fe
/frameworks/rs/driver/runtime/rs_allocation.c
0b8411471e7d2d332610ec16f555ab8cc434d167 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
/frameworks/rs/driver/runtime/rs_allocation.c
6fb5a4f5411c16d36f123c7c2c9add4d937479ef 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>
/frameworks/rs/driver/runtime/rs_allocation.c
7e1013b9461a07d42df05b2c6f7e73ec6518b82a 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
/frameworks/rs/driver/runtime/rs_allocation.c
427d1219f7a0337a3b57944b733f9ed76b2399c4 18-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Merge "Revert "Enable creation of float16 allocations""
596befc0aff388b5211b42a342b655367852ab5d 18-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Revert "Enable creation of float16 allocations"

This reverts commit 02ab42038861581ad8b2549104eccbd59d8c93cc.

Change-Id: I40a3993ae8db8da28ba53fa88a7add01ad2816c8
/frameworks/rs/driver/runtime/rs_allocation.c
9e50e001f770eadbd75011596b9e12ab7829caef 18-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Merge changes from topic 'RS_TYPE_FLOAT_16'

* changes:
Enable tests for float16 allocations
Enable creation of float16 allocations
Update headers after adding RS_TYPE_FLOAT_16 and helpers
Add RS_TYPE_FLOAT_16 and allocation helpers for f16
02ab42038861581ad8b2549104eccbd59d8c93cc 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: I7fc3b3154957199526d74562b11f3d446cbf1328
/frameworks/rs/driver/runtime/rs_allocation.c
f72e74660567181b79673f2a476a6957db2507e5 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
/frameworks/rs/driver/runtime/rs_allocation.c
dc5fa3c630310cacf7146931db5af83789ecf892 10-Feb-2016 Stephen Hines <srhines@google.com> Merge "Add a new libclcore_g library which contains debug info."
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
/frameworks/rs/driver/runtime/rs_allocation.c
fb99e0f905b0f73a505c7900b434531ce7c3e2e5 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.

Change-Id: Iffc3c54fbf69b9a43703d3c2776101ef881deffd
Signed-off-by: Verena Beckham <verena@codeplay.com>
/frameworks/rs/driver/runtime/rs_allocation.c
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
/frameworks/rs/driver/runtime/rs_allocation.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
/frameworks/rs/driver/runtime/rs_allocation.c
fb2a33d2532d2500bfc4da879f83761f9a01edeb 04-Mar-2015 Jean-Luc Brouillet <jeanluc@google.com> Fix corresponding .cpp file for the remove const CL.

Change-Id: I039c4894b0f875a7fa506adcdfe76dc82e16f942
/frameworks/rs/driver/runtime/rs_allocation.c
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
/frameworks/rs/driver/runtime/rs_allocation.c
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
/frameworks/rs/driver/runtime/rs_allocation.c
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
/frameworks/rs/driver/runtime/rs_allocation.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
/frameworks/rs/driver/runtime/rs_allocation.c
3ff0fe77fdba8ad4a920dc27157d8c1786bb3661 20-May-2014 Jason Sams <jsams@google.com> Cleanup 64bit and remove deprecated functions

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

Bug: 7342767
Change-Id: Ia45064a5257b8ce460918f327670e3be550d4b56
/frameworks/rs/driver/runtime/rs_allocation.c