History log of /frameworks/rs/driver/rsdRuntimeStubs.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5e48002cc4a11e9ce63852a77488cfb9f6765c2b 06-Apr-2016 Yang Ni <yangni@google.com> Avoid accessing TLS in rsClearObject()

Bug: 27874893
Bug: 27925095

rsClearObject() may be called on rsContextDestroy() in the JNI thread,
where TLS is not initialized.

This also reverted Icca50fade1199b6f530f963e9e694366b7d8cf67 that
made rsContextDestroy() go through the FIFO. rsContextDestroy() must
happen off the FIFO, since it joins the FIFO consuming thread.

Both the rsClearObject() change and the rsContextDestroy() revert need
to go together to make RenderScript and Camera CTS tests pass. Hence
this single CL for both changes.

Change-Id: I5f1d91a4cc1ce9bf2b3386fbef6f1171638b5266
(cherry picked from commit ade3137c22dd91694742145c2d5fe9d6bae17516)
/frameworks/rs/driver/rsdRuntimeStubs.cpp
92185a7b5e7821ce5b584329a2483f224ca12e0f 04-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> Implement rsDebug for half

http://b/27556050

Add needed support in libRSDriver and libclcore.

Change-Id: I374b4372bd4f550e99f9916e1c0a08b8c406f0fc
/frameworks/rs/driver/rsdRuntimeStubs.cpp
abe31c581489727afa84f9b756f0d2a0f4be057e 30-Mar-2016 David Gross <dgross@google.com> Merge "Multithreaded execution of certain general reduction kernels; reduction test overhaul." into nyc-dev
10adb0c2029f112b5738228617d5645f6ecea0c5 29-Mar-2016 David Gross <dgross@google.com> Multithreaded execution of certain general reduction kernels; reduction test overhaul.

A reduction kernel is eligible for multithreaded execution if it has a
combiner function and it is launched over a 1D iteration space.

Note: Properties debug.rs.reduce-accum and debug.rs.reduce-split-accum
are added for debugging multithreaded reduction.

The following changes are made to reduction tests in RsTest:
- Overhaul the test framework -- now data-driven, and can execute the same
test multiple times with different seeds and input sizes, features
separate sets of quick correctness tests, full correctness tests,
and performance tests. (Performance tests are not run by default.)
- Report timing information for test execution.
- Report more information for fz* kernel testing.
- Remove dp kernel testing -- this involved floating-point arithmetic
which is not guaranteed to produce identical results between java
and rs or for different rs multithreaded executions.
- Add sumgcd kernel testing. This is intended to be representative of
a compute-heavy kernel.
- findMinAndMax kernel testing must compare cell value not cell index
-- two or more cells might have the same min or max value, and java
and various rs multithreaded executions are not guaranteed to find
the same cell.
- Fix bug in findMinAndMax kernel's combiner function. (It behaved
incorrectly when operating on an accumulator datum that has been
initialized but never passed to the accumulator function.)
- RsTest now requests largeHeap.

Bug: 27299475
Change-Id: I58f99c21389dbae5c8e3ad85d98700dc165664bb
/frameworks/rs/driver/rsdRuntimeStubs.cpp
b1f9eb6b37dace844ab927421c2dbfdff954e72d 08-Mar-2016 Yang Ni <yangni@google.com> Reset usrRefCount for rsObjects created by SSRS

Bug: 25570907

After calling runtime API to create an rsObject, decrement its
user ref count to 0, so that they don't get leaked after the script
finishes.

To avoid deleting them too early, increment the sys ref count first.
The increment will be matched with a rsClearObj() call inserted by
slang.

Change-Id: Iaa7312447efdd7d79f43be0bee44324b663de8d5
(cherry picked from commit 8133c6617ea975c0c08f28b6d1705dd27a92f35f)
/frameworks/rs/driver/rsdRuntimeStubs.cpp
838c2d0dc0b8b07d4aa8de4360765738c6d2770e 25-Feb-2016 Miao Wang <miaowang@google.com> Better handle error log and nullptr reference.

Bug: 27367378

Change-Id: Ide29c702d7a70dfe087ddc600d3fd17279223196
(cherry picked from commit 68e00893f7400d1ce71a9ed92365ffdfd6730c03)
/frameworks/rs/driver/rsdRuntimeStubs.cpp
63bd646ed141f5938263574d6372b6b83710e68c 11-Nov-2015 Pirama Arumuga Nainar <pirama@google.com> Define F16 getters and setters in rsdRuntimeStubs

So they can be used with the debug context

Change-Id: I1902bbe3b90cd60fae9f494687394d29ffe19a2a
/frameworks/rs/driver/rsdRuntimeStubs.cpp
79b75b7ba646cebabe83c68f0ff72a8018f6b3ea 19-Nov-2015 Yang Ni <yangni@google.com> Changed rsForEachInternal prototype

Bug: 25602504

Changed it from using varargs to an allocation array.

Also added a test for allocation-less kernel launch.

Change-Id: I1b53861083b87c51c5bdaeaec2be469dc7af7a0a
/frameworks/rs/driver/rsdRuntimeStubs.cpp
6b387c1e466b507007f0b388da8b037362154e9a 12-Oct-2015 Pirama Arumuga Nainar <pirama@google.com> Driver support for creating allocations from a Script

Bug: 23535985

Implement functions rsCreateElement, rsCreateType and rsCreateAllocation
in libRSDriver to allow creation of Allocations from a Script.

In its current state, the RS objects returned from these functions are
guaranteed to leak due to incorrect handling of their reference counts.
They'll be fixed in a follow-up CL.

Change-Id: I9bb7c72a8dd3cd1aac2de3bad92276c3af662484
/frameworks/rs/driver/rsdRuntimeStubs.cpp
b0dabd1c86ddc67507bae00093002b54e86383f0 07-Nov-2015 Yang Ni <yangni@google.com> Fix 64-bit build error

There is another build failure on shamu due to use of unique_ptr.
Avoided that by using a fixed size array.

Change-Id: I320b9327fa3938223f6a33c0cd41a1b1791156fc
/frameworks/rs/driver/rsdRuntimeStubs.cpp
dda5cb5b59ae02ec03001ea12c374413714f3d38 27-Oct-2015 Yang Ni <yangni@google.com> Launch options & multi inputs for single-source RS

Bug: 23535985

Also renamed rsParallelFor to rsForEach, and deprecated previous
rsForEach.

Change-Id: Ibc22bd5e9585a4471b15920ef60fe1fe2312de49
/frameworks/rs/driver/rsdRuntimeStubs.cpp
12398d81f32e5e0479d02b8608a83c75cd991bb3 18-Sep-2015 Yang Ni <yangni@google.com> Add rsForEachInternal

Bug: 23535985

Added a compiler intrinsic rsParallelFor to the runtime API, which
is translated into an internal API (rsForEachInternal) by slang.

Added a test to RsTest (for native) and RSTest_CompatLib
(for support).

Enhanced the auto api generator to handle ellipsis argument,
intrinsics, internal-only APIs, and special level for API under
development.

Change-Id: I6e2cf3db868f426aa8e0b9a77732b66c1e6b9f03
/frameworks/rs/driver/rsdRuntimeStubs.cpp
66d9447a14af787b812b1014ec3eb242994dbc10 10-Jul-2015 Petar Jovanovic <petar.jovanovic@imgtec.com> [MIPS32] Use version of rsGetAllocation() that returns a pointer

Similar to IA-32, MIPS32 has a different struct return calling convention
that uses a hidden parameter. As that becomes the first argument to the
function, all user arguments are shifted down by one.
Thus, we opt for the version of rsGetAllocation() that emulates it with a
pointer.

This fixes issues with live wallpapers (Bubbles, Black Hole, Phase Beam)
and it fixes cts/GetAllocationTest.java for MIPS32.

Change-Id: I51d40f559a3f4c2d77303870a12142923790101c
/frameworks/rs/driver/rsdRuntimeStubs.cpp
9479e5bf0152ecff022cd374e2e80905f88b1a5d 28-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Handle older structure sizes by zeroing new fields

Bug 19734267
Bug 19866850

Prior fix handled only rsForEach calls from a script. It is not
sufficient, as launch options in support library also will also use old
structures. Apps compiled for support library still run in native mode
when available, thus necessitating this fix.

This fix copies and extends the input in ScriptC::runForEach instead of
rsrForEach.

Change-Id: I3bb2527eadcbcdb85a76a1f5568269bbfdee972b
/frameworks/rs/driver/rsdRuntimeStubs.cpp
5d95a78ab5758c2625949d78bb67eb3c5d9701cc 14-Apr-2015 Stephen Hines <srhines@google.com> Fix issue with older structure sizes

When structures are enlarged in RS we need to use the script
API number to properly handle the older cases.

Bug: 19734267

Change-Id: I0ffd3dc4cea1640f2b14c588df3a93eee749e74e
/frameworks/rs/driver/rsdRuntimeStubs.cpp
174ebc44658bffa27f97c85ae0265ad3cb48ae85 27-Mar-2015 Yong Chen <yong.a.chen@intel.com> RS driver refactor and bugfix for 64-bit

Bug: 20135751
Bug: 19602994

1) Refactor runtime functions due to the new pass in
bcc has solved X86-64 calling convention issues
2) Fix bugs to support 64bit RS compat mode
3) Remove the obsolete runtime stubs

Depends on CL https://android-review.googlesource.com/#/c/142185/

Change-Id: I33b6fc1c61348eda83fdfdd437bfc67409ebe10c
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
/frameworks/rs/driver/rsdRuntimeStubs.cpp
6ba05171a84a7444df01b9f81a7233b17e1f120a 04-Apr-2015 Jean-Luc Brouillet <jeanluc@google.com> Add rsDebug(msg, float2-4)

Change-Id: I6e0594d1fa5ed9ae27140334b6dce058aeb38f4e
/frameworks/rs/driver/rsdRuntimeStubs.cpp
b1d64031183c6c450d902db7d4497bedeb4a0e45 12-Mar-2015 Jason Sams <jsams@google.com> Remove leftover path bits.

Change-Id: I7f1a8825907d5866adf58a07d8ea5001b2ee7500
/frameworks/rs/driver/rsdRuntimeStubs.cpp
0ca7cbaea8d5cf18f25d1148be75fbb6e2d86c62 11-Mar-2015 Jason Sams <jsams@google.com> Refactor hal loading

This CL make the loading of RS drivers more robust by
looking up entry points in place of a structure of entry points.

It also adds framework for a version handshake.

Change-Id: Iae46bf0171785c0ca1048223816b6efc60c337ad
/frameworks/rs/driver/rsdRuntimeStubs.cpp
7153e1c8232882ee2bd7b975791a21e1ed9732fd 30-Jan-2015 Pirama Arumuga Nainar <pirama@google.com> Fail if non-threadable calls are in a kernel

bug 19095896

Calling rsAllocationIoSend, rsAllocationIoReceive,
rsAllocationCopy1DRange or rsAllocationCopy2DRange in a kernel is bad.
For one, they are not threadsafe. Calls to these functions in an
invokable are common, so we do not want to summarily mark scripts as not
threadable if these functions are called. Instead, this patch to the
driver detects if these functions are called inside a kernel and if so,
sends a fatal error message.

Change-Id: I10d3ef06cb8ed19a6bde686e71092d14ea58f5ec
/frameworks/rs/driver/rsdRuntimeStubs.cpp
31729ad313f009d430255bfac8ef644db0c9215b 12-Nov-2014 Yong Chen <yong.a.chen@intel.com> Fix remaining 64bit calling convention issues and cleanup.

Change-Id: I1c41d845339b8614a01566c0cf14e296cf790764
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
/frameworks/rs/driver/rsdRuntimeStubs.cpp
447e8362fc760b3d2789dbfe1eec33f1fc6b1c0e 22-Jan-2015 Pirama Arumuga Nainar <pirama@google.com> Fix namespace inconsistency in .so loading patch

android::renderscript::rs_* and ::rs_* cannot be used interchangeably.
We need a typecast so the base object points in
android::renderscript::rs_* can be refcounted. The patch to switch to
.so loading path used these two types interchangeably. This patch fixes
the inconsistency.

Change-Id: I32576f2818a009dcbdd4d429b5c968e2408a109b
/frameworks/rs/driver/rsdRuntimeStubs.cpp
709a1894c9c265433dc657878cba7b1be2514040 22-Jan-2015 Pirama Arumuga Nainar <pirama@google.com> Add Get/SetElement variants to sync mangled names

We miss some symbols for rs{Get,Set}Element_long,ulong variants because
64 bit integer values are 'long' in RS-land but might be 'long long' in
the driver. This causes mangled names in the driver to correspond to
'long long'.

Define native_long and native_ulong types to be vectors
of 'long' as seen by the driver and define overloaded versions of
rsSetElementAt_ and rsGetElementAt_. This should get us the correct
mangled names in the driver. Since the parameters are actually
pointers, there is no correctness issue.

Change-Id: Ib8f936a6ca39f6becf714abe4e8bc96c140bee0f
/frameworks/rs/driver/rsdRuntimeStubs.cpp
2544371624a3dd21ae2355e8fea870e29009332a 21-Jan-2015 Pirama Arumuga Nainar <pirama@google.com> Define RS Graphics functions (rsg*)

Bug: 18322681
BUg: 19059879

- Add definitions for RS graphics functions to rsdRuntimeStubs.cpp. We
missed declaring RS graphics functions for the shared-library path.
- Fix errors in naming rsGetElementAt functions.

Change-Id: I7ebdc2a86e051a723df4f94a5b1125f8dd95f35a
/frameworks/rs/driver/rsdRuntimeStubs.cpp
140a8eb2ffc08af5d7aec4f7f701720235703677 17-Jan-2015 Stephen Hines <srhines@google.com> Fix missing rsLocaltime() on 32-bit architectures.

Bug: 18322681

rs_time_t is defined as an int for 32-bit RenderScript, while the
implementation of rsLocaltime() uses time_t (defined as a long). This
mismatch results in a missing symbol for the proper function under the new
shared library loader.

Change-Id: I987e148b226d4b63a54ce8abf07bed7dfe0a8a47
/frameworks/rs/driver/rsdRuntimeStubs.cpp
dc0d8f7c0f1f43f25c34fbc04656ad578f6e953b 03-Dec-2014 Pirama Arumuga Nainar <pirama@google.com> Skip linkloader, use shared object files

Bug: 18322681

- In rsCpuScript, if property rs.skip.linkloader is set, look for a .so
file in the cache directory and load it. If it is not available, use
bcc to generate relocatable object file and link it to a .so using
ld.mc. Use the embedded symbols in .rs.info and follow steps similar
to the compatibility library to invoke script functions or access
script variables.
- Add rs* symbols like rsGetAllocation to libRSCpuRef (ala
libRSSupport). Do necessary changes to argument types to get mangled
names correct.
- Make 64-bit version of rsSetObject take two pointers instead of a
pointer and a large object. rsIsObject takes a pointer instead of a
large object. Otherwise, we get failures in x86_64 due to calling
convention mismatch. To match the function names in the shared object
path, define these functions as 'extern "C"' with their mangled names.
- Add stubbed Math functions from rsCpuRuntimeMath and
rsCpuRuntimeMathFuncs into libRSCpuRef.so.
- Coalesce separate #ifdef paths in libRSCpuRef. Function parameters
for runtime callbacks and bcc plugin are needed in the
non-compatibilty path, but take default NULL arguments. This patch
introduces these parameters into the compatibility path as well, and
passes default NULL arguments.

Change-Id: I8a853350e39d30b4d852c30e4b5da5a75a2f2820
/frameworks/rs/driver/rsdRuntimeStubs.cpp
40db7a2a344bf56c82c62f481a57f9ff59f93c91 06-Jan-2015 Stephen Hines <srhines@google.com> Fix incorrect RS stub declarations.

Bug: 18322681

These functions were incorrectly declared for use with the debug context.

Change-Id: Ia51f29247646c440a2dcdfd0ca8178cf57218385
/frameworks/rs/driver/rsdRuntimeStubs.cpp
e391e835069e14af56ecd90765f759de1288a94e 16-Dec-2014 Miao Wang <miaowang@google.com> Merge "Enable 64bit RS compat lib to build."
127d51c1193f4055795da967d47a13bedd3cb951 24-Nov-2014 Miao Wang <miaowang@google.com> Enable 64bit RS compat lib to build.

- Fix __LP64__ support bug
- Disable __system_property_get() for __LP64__ compat lib.

Change-Id: I5d7659443a5897bfab3826d9a3e1d52004d78adc
/frameworks/rs/driver/rsdRuntimeStubs.cpp
2f6dc8469a45fa2dafcb772c76009565d0c3885f 14-Nov-2014 Tim Murray <timmurray@google.com> Move rsForEach with usrData to 32-bit only.

Change-Id: I804b65fa11cde38b3e035efdaf3e75c8ab65453c
/frameworks/rs/driver/rsdRuntimeStubs.cpp
6a95b944f23e7c6a8fc3a6fe42350df4fad7d27d 15-Oct-2014 Tim Murray <timmurray@google.com> am d430d72f: Merge "Fix rsDebug issues with compat lib and long/long long changes." into lmp-dev

* commit 'd430d72fea1b1d4165198d481863899ab261cf12':
Fix rsDebug issues with compat lib and long/long long changes.
9f39aaf0145e9607200141e4716b73319055e6d7 13-Oct-2014 Tim Murray <timmurray@google.com> Fix rsDebug issues with compat lib and long/long long changes.

bug 17934731

Change-Id: Ie867c25a40dc4339731d74141b5107082cf7ee4e
/frameworks/rs/driver/rsdRuntimeStubs.cpp
c8b78bcfa73890ddf5fdc9a2f9364403c8b71d87 10-Oct-2014 Tim Murray <timmurray@google.com> am b26ead53: Merge "Fix missing relocation entries and libclcore entry points." into lmp-dev

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

This fixes support for rsSetElementAt_ulong from pre-21 SDKs.

bug 17934731

Change-Id: I1598f612257b8faeec871df6b2f126395b0e7d82
/frameworks/rs/driver/rsdRuntimeStubs.cpp
5a45c938d8f5e66f0afff7b3a2a9afe06f79c76a 09-Sep-2014 Tim Murray <timmurray@google.com> am e1fa6516: Merge "Fix x86 calling convention issue." into lmp-dev

* commit 'e1fa65166a0fa1ff13b83697db0e121792a88c5a':
Fix x86 calling convention issue.
240a6c96eb94734a84eed53349fb0928d3ce6d19 09-Sep-2014 Tim Murray <timmurray@google.com> Fix x86 calling convention issue.

bug 17398497

Change-Id: I4ef4e55f9b948b234b782a340178d4e57e76274f
/frameworks/rs/driver/rsdRuntimeStubs.cpp
979e7b5b5c0e39cbdda7fe4987cc42315b02424d 25-Aug-2014 Tim Murray <timmurray@google.com> am fb0d8f6c: Merge "Fix GetAllocation in 64-bit." into lmp-dev

* commit 'fb0d8f6c222b7d7656ee0defe9b5af955b744d63':
Fix GetAllocation in 64-bit.
61db21cef81cbc8439b34a8f1d32952339ffc190 22-Aug-2014 Stephen Hines <srhines@google.com> resolved conflicts for merge of 81cfa2c5 to lmp-dev-plus-aosp

Change-Id: Ia3a7f084693825d4e46a4864788332a7d039d38f
47211dca5b2fc1aa5680ddebe5c4270c08c06e5d 21-Aug-2014 Tim Murray <timmurray@google.com> Fix GetAllocation in 64-bit.

bug 16846318

Change-Id: I639601939c3715a74153fd8d5d281e89fca8c463
/frameworks/rs/driver/rsdRuntimeStubs.cpp
44bef6fba6244292b751387f3d6c31cca96c28ad 12-Aug-2014 Chris Wailes <chriswailes@google.com> Replace NULL macros with nullptr literals.

Change-Id: I918c40879aa547438f77e7d1a95fa2aa33bec398
/frameworks/rs/driver/rsdRuntimeStubs.cpp
d8b8f8a16415496acc9844a89599ce7f377bd04d 20-Aug-2014 Jason Sams <jsams@google.com> Fix ulong

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

bug 16846318

Change-Id: I806f392c12af881b54aa287153bd66ad7aa1b81e
/frameworks/rs/driver/rsdRuntimeStubs.cpp
444bd208b4f129bd8e4c0cce4cf6d709c8900891 14-Aug-2014 Yong Chen <yong.a.chen@intel.com> Explicitly accept RS large objects as references.

AArch64 promotes large objects to be passed by reference. As a result, if large objects as passed by value in rsdRuntimeStubs, the AArch64 kernel and an AArch64 rsdRuntimeStubs will have the same calling convention, both will promote, and everything will work.

However, other architectures do not share this same behavior by promoting large object structs to being passed by reference. As a result, an AArch64 kernel and an x86_64 rsdRuntimeStubs will disagree on the calling convention, causing a crash.

AArch64 continues to work despite this change because the calling conventions continue to line up, even if the rsdRuntimeStubs side explicitly uses pointers while the kernel side does not.

bug: 16846318

Change-Id: I5bc29de5259eda26967f2b32980d40ce249f9599
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
/frameworks/rs/driver/rsdRuntimeStubs.cpp
4e3633777ac5aadab5358b65b30ad4806432df83 14-Aug-2014 Yong Chen <yong.a.chen@intel.com> Explicitly accept RS large objects as references.

AArch64 promotes large objects to be passed by reference. As a result, if large objects as passed by value in rsdRuntimeStubs, the AArch64 kernel and an AArch64 rsdRuntimeStubs will have the same calling convention, both will promote, and everything will work.

However, other architectures do not share this same behavior by promoting large object structs to being passed by reference. As a result, an AArch64 kernel and an x86_64 rsdRuntimeStubs will disagree on the calling convention, causing a crash.

AArch64 continues to work despite this change because the calling conventions continue to line up, even if the rsdRuntimeStubs side explicitly uses pointers while the kernel side does not.

Change-Id: I5bc29de5259eda26967f2b32980d40ce249f9599
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
/frameworks/rs/driver/rsdRuntimeStubs.cpp
64147ebf4f0b1c23d2caf2cf7c1675d27de97d99 27-Jul-2014 Tim Murray <timmurray@google.com> Update time_t definition for 64-bit.

bug 16846318

Change-Id: I85918485b0bd446147defeee01b57a58b4b0620c
/frameworks/rs/driver/rsdRuntimeStubs.cpp
6a45ddb32f391060aa05da6ff09c4814d450586e 06-Aug-2014 Tim Murray <timmurray@google.com> Bugfixes for AArch64.

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

bug 16846318

Change-Id: I7f6a4ff66fd1b3ad40b08cfc9ecdda7d53e95c7d
/frameworks/rs/driver/rsdRuntimeStubs.cpp
05ef73f2d934f1083cc3b8aeb33fe21de9d6e88f 05-Aug-2014 Jason Sams <jsams@google.com> Fix isObject when in 64bit mode.

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

Change-Id: I90d1b93c45ff5bc84957d5441ab48a4e2f6feb20
/frameworks/rs/driver/rsdRuntimeStubs.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
/frameworks/rs/driver/rsdRuntimeStubs.cpp
f29edf80510d483b8663e9d8b859959e37361aee 05-Aug-2014 Jason Sams <jsams@google.com> Fix isObject when in 64bit mode.

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

Change-Id: I90d1b93c45ff5bc84957d5441ab48a4e2f6feb20
/frameworks/rs/driver/rsdRuntimeStubs.cpp
785096e4f1da6a37e3b44203d222b6bb0fb1333e 27-Jul-2014 Tim Murray <timmurray@google.com> Update time_t definition for 64-bit.

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

Add HAL hooks for filling in LO fields.

Change-Id: Ib9bdee714a062de519d2a9708c1016404a1b11a4

Conflicts:
driver/rsdBcc.cpp
driver/rsdCore.cpp
rsAllocation.h
rs_hal.h
/frameworks/rs/driver/rsdRuntimeStubs.cpp
e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4 13-Mar-2014 Tim Murray <timmurray@google.com> Make RS compile on ARM64.

bug 13280327

Change-Id: I79080c448ca17d0cba8df075737c22b24ce9a085
/frameworks/rs/driver/rsdRuntimeStubs.cpp
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
/frameworks/rs/driver/rsdRuntimeStubs.cpp
a5d9bef6b53ba394087c7c7b9cc60d3aaa7f121b 06-Dec-2013 Stephen Hines <srhines@google.com> Add tests for rsDebug() in support library and fix exported functions.

Functions using long vector types for rsDebug were being exported with the
wrong signature from libRSSupport.so. Essentially it comes down to the name
mangling rules being different for "long" and "long long" when combined with
the ext_vector_type attribute. We now hard-code the "long" vector types in
our type signatures and then have them be cast properly to the 64-bit types
we were expecting.

Change-Id: I8f3dad73d0f17f22f66703aff56d6f712fa6df1f
/frameworks/rs/driver/rsdRuntimeStubs.cpp
70537f52bdc6e8702db03cc91fe511371fb31267 04-Dec-2013 Stephen Hines <srhines@google.com> Retain older message APIs since existing GPU drivers depend on them.

Change-Id: Ic5425fafb7971b6094108d79346d067785b91735
/frameworks/rs/driver/rsdRuntimeStubs.cpp
276000a3673e639f9abc41db4709c1b0a96c1bf9 03-Dec-2013 Stephen Hines <srhines@google.com> Add missing rsForEach()/rsSendToClient*() functions and API tests.

These were missing from the support library.

Change-Id: I53dd062fc0f1d9a6f0ce06d148c4047ebb338b71
/frameworks/rs/driver/rsdRuntimeStubs.cpp
7a01126d25c081f5b613eea80e5ff7e6c75c940f 27-Nov-2013 Stephen Hines <srhines@google.com> Add tests and missing functions for rs_allocation APIs.

This change also adds some missing support library functions:
rsAllocationCopy1DRange()
rsAllocationCopy2DRange()
rsAllocationIoSend()
rsAllocationIoReceive()

Change-Id: Ia50773d767f78f3cfa2cfdf0340d8c3d9cdb0991
/frameworks/rs/driver/rsdRuntimeStubs.cpp
f827cadde659212b266b9635128c98515a7dcb01 19-Nov-2013 Stephen Hines <srhines@google.com> Add rsIsObject() to support library implementation.

We only had the "element" version of rsIsObject() previously. This change also
adds the beginning of a full API test for the script-side of RS (starting with
the RS object-related routines).

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

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

Change-Id: I565a6eae5cc25603741fef32f2cfcb31a32eb757
/frameworks/rs/driver/rsdRuntimeStubs.cpp
b0934b67b95cc27e2358c2aa4db5f7c1067c8f9b 04-Jul-2013 Stephen Hines <srhines@google.com> Remove libutils and fix rsDebug for RS support library.

Bug: 9664050

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

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

Change-Id: I20da75e8c19a82a42dc2bceaba1937d21372db84
/frameworks/rs/driver/rsdRuntimeStubs.cpp
cca3d6ca444bef3b6d75431ec19bd07bfe40a733 15-Apr-2013 Stephen Hines <srhines@google.com> Add support for DEBUG context type.

Bug: 7343201

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

Change-Id: I8b574c9ce915a440375530325ba7de2b46707cfd
/frameworks/rs/driver/rsdRuntimeStubs.cpp
d09b9d667438c82e00c83cd21f693f32e3cf9f4b 03-Apr-2013 Jason Sams <jsams@google.com> Support all get/set element in debug

Adds error checking and works around ABI issues

Change-Id: Iad5df03be9235c4abdcba070215d9de0268b4ef8
/frameworks/rs/driver/rsdRuntimeStubs.cpp
d6f1f46b2929ed56c73ba32357cde31b82972fbe 26-Mar-2013 Tim Murray <timmurray@google.com> Add some missing compat lib functions and fix a bug.

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

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

Change-Id: Ibfa2c7c7da56d158f424ac343e364feacd0a21da
/frameworks/rs/driver/rsdRuntimeStubs.cpp
5261a5ea546ff358edd5aac7602fc4132434f481 28-Feb-2013 Jason Sams <jsams@google.com> Add checked get/set element at.

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

Change-Id: Ifb484edda665959b81d7b1f890d108bfa20a535d
/frameworks/rs/driver/rsdRuntimeStubs.cpp
f598811a60088236222bb1879503842094ca378b 16-Oct-2012 Stephen Hines <srhines@google.com> Fix use of rs_script_call_t.

There were a few broken parts here for rs_script_call_t.
1) Incorrect runtime function signatures.
2) Missing enum at the start of the driver structure.
3) Missing update of pointer based on xStart.

Bug: 7212879
Change-Id: I25d44d5534ceb61b49b0bbc7cf1b5c6b16bab360
/frameworks/rs/driver/rsdRuntimeStubs.cpp
414a46166126da6864258bd25ff183f9a3c6261d 06-Sep-2012 Stephen Hines <srhines@google.com> Attempt to create libRSDriver as shared library.

Change-Id: I047b32325efe2fa471b73c48fa7296beecc0c47d
/frameworks/rs/driver/rsdRuntimeStubs.cpp
807fdc4b6f3fb893015ee136565d6151bb2332d3 26-Jul-2012 Jason Sams <jsams@google.com> Move memory layout to driver.

This change moves all allocation data copies to the
hal. Also removes stride from the runtime. Follow on
changes will remove the malloc pointer from the runtime.

Change-Id: I30967c739800cd4b97186e9fc8b69f26a3f2787d
/frameworks/rs/driver/rsdRuntimeStubs.cpp
a3af2cd3cc684aee2a090475f797936f3bd1b8cb 25-Apr-2012 Shih-wei Liao <sliao@google.com> Start using new libbcc APIs.

Change-Id: If6b7b53890e3d4ee7db3b6c91bec9fe07fbadcd1
/frameworks/rs/driver/rsdRuntimeStubs.cpp
a1dd74c5ce4db0991020a4836be24fc35af4f301 09-Jul-2012 Rajeev Sharma <rdsharma@google.com> Add rsDebug implementations for all basic types

Change-Id: Iae69fc211de166da486d5e638b9b4b48e23a743b
/frameworks/rs/driver/rsdRuntimeStubs.cpp
aa152101cc4d04597d9aefc3e5a1454eaf39d2cc 14-Jun-2012 Jason Sams <jsams@google.com> Fix single level forEach threading

No longer mark scripts single threaded just because a
forEach is present.

Change-Id: I617cb2b1ccb402526a78338612b1614f94da4efb
/frameworks/rs/driver/rsdRuntimeStubs.cpp
6537404d5ad7ec19f0f26533d695d39909782781 15-May-2012 Stephen Hines <srhines@google.com> Support float vector versions of rsDebug() directly.

We can do this now that we are building for the device with Clang.

Change-Id: I3133b1f6220ccd0fa9f8d2bc9502074beaa45d1a
/frameworks/rs/driver/rsdRuntimeStubs.cpp
070cb235d9f094048c0260aa72d5acf61ed840a3 03-May-2012 Stephen Hines <srhines@google.com> Revert "Start chewing new libbcc APIs."

This reverts commit ec3fc1163c01e18b1454057723c451f0d96868ad.
/frameworks/rs/driver/rsdRuntimeStubs.cpp
ec3fc1163c01e18b1454057723c451f0d96868ad 25-Apr-2012 Shih-wei Liao <sliao@google.com> Start chewing new libbcc APIs.

Change-Id: Idb4166eb0f0137a69b0c76be1e7fcb0d09bb1613
/frameworks/rs/driver/rsdRuntimeStubs.cpp
b322033c13487a174bb9c26466e9684d1ff4de8d 02-Apr-2012 Jason Sams <jsams@google.com> Implement IO_OUTPUT + SurfaceTexture

Change-Id: Id96fecd6d768196523330c5eda77c4ee86b9bd3c
/frameworks/rs/driver/rsdRuntimeStubs.cpp
653b53ebcd2bedc94ac486080d2e82e1920232e3 24-Feb-2012 Alex Sakhartchouk <alexst@google.com> Removing GL calls from librs

Change-Id: Ida22199a33f0f9fd534dcc5951d12937967a187b
/frameworks/rs/driver/rsdRuntimeStubs.cpp
da042e76b482e026592c42e5ee57b86413b9c57a 10-Jan-2012 Alex Sakhartchouk <alexst@google.com> Merge "Adding ability to bind constants to shaders." into graphics-dev
a720a144508edd91e4790b23eadd6cd270368df9 10-Jan-2012 Alex Sakhartchouk <alexst@google.com> Adding ability to bind constants to shaders.

Change-Id: I63b664fd2fec7e0c8157b7185782192132222f1a
/frameworks/rs/driver/rsdRuntimeStubs.cpp
03f1910431433f3a35f1445aa0bba2b00417f0cc 10-Jan-2012 Steve Block <steveblock@google.com> resolved conflicts for merge of 08289f55 to graphics-dev

Change-Id: I2c95cd461e364cbeae7ffbaea7ad5c87713d7df7
af12ac6a08651464f8d823add667c706f993b587 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/rs/driver/rsdRuntimeStubs.cpp
c7cb70396934adcb3fd620d147dd5ea1c3ff8def 04-Jan-2012 Steve Block <steveblock@google.com> am 41891aea: Merge "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE"

* commit '41891aeaf4e6e4006ae3087fa537786e9ec8caa4':
Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
4a48244edc93b50bb9af35f7ec03825c8f7471c9 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
/frameworks/rs/driver/rsdRuntimeStubs.cpp
9e0afb5a2b3e476c42a373e7cd89cef4a34f8195 31-Oct-2011 Jason Sams <rjsams@android.com> Path rendering

Change-Id: I5379a676c9ec6a9b25f21bc1e050053f27e411dd
/frameworks/rs/driver/rsdRuntimeStubs.cpp
1e5149f5cd3e75a010b58b985b1151d955d227d1 09-Aug-2011 Stephen Hines <srhines@google.com> Migrate perf-critical functions away from librs.

BUG=3497315

Change-Id: Ieaa0d64933767d422aa62740d72b31042dcd4a2f
/frameworks/rs/driver/rsdRuntimeStubs.cpp
c500e74d0848b721bf01cf0ab344a6adb035c312 25-Jul-2011 Jason Sams <rjsams@android.com> Add size param to rsForEach
bug 5074640


Change-Id: I395bd8b295beacc979681ccdd3451d9d6cc3d672
/frameworks/rs/driver/rsdRuntimeStubs.cpp
02932bf86982eb1220033bbb2227f072ac9cec0a 24-Jun-2011 Stephen Hines <srhines@google.com> Move divsi3, modsi3, udivsi3, umodsi3 to libbcc.

BUG=3435530

Change-Id: I4e90a6cdf5af534f93d83093ea31b1defd1e896c
/frameworks/rs/driver/rsdRuntimeStubs.cpp
a94952436aeb251f587c1bccdf94c7f75285dfe2 16-Jun-2011 Alex Sakhartchouk <alexst@google.com> Adding ability to read back fbo data to renderscript

Change-Id: Ie684c26cbcde22f2483b43415dfc39a3de22c5a1
/frameworks/rs/driver/rsdRuntimeStubs.cpp
74a827988567a9d65954bb0d825a3ba4a97e2947 14-Jun-2011 Alex Sakhartchouk <alexst@google.com> Allocation copy functions.

Change-Id: Idce6d44a4f4bb2e399284a40c0f90dc1bff912fd
/frameworks/rs/driver/rsdRuntimeStubs.cpp
a04e30dbb5ab11592b03666bb3d102070759c58e 30-Apr-2011 Alex Sakhartchouk <alexst@google.com> Moving renderscript GL code into the HAL
This change affects
- shaders
- meshes
- fonts
- quad rendering

Change-Id: I2a53acb4cd1fa8f4c6e67668f6ee969f3d7f7aa1
/frameworks/rs/driver/rsdRuntimeStubs.cpp
83c451a4ef4388e002482e383d488ca9b7b7600d 21-Apr-2011 Jason Sams <rjsams@android.com> Move TLS behind hal.

Change-Id: I9e84acb3736bc98fa5fb0720bddb13a030285319
/frameworks/rs/driver/rsdRuntimeStubs.cpp
2b3ce1d5812fb3ea02d28ae75600d8bc6689acaa 21-Apr-2011 Jason Sams <rjsams@android.com> Remove accidental logging.

Change-Id: I59073a620c312485a0631069856fbd7ca40b4cbd
/frameworks/rs/driver/rsdRuntimeStubs.cpp
87fe59a2f4d4c74539bfa0bff5f9a7e320e99415 21-Apr-2011 Jason Sams <rjsams@android.com> Create runtime stubs for compute driver.

Change-Id: I8e0250a642844a2ad3ff6efc38e385445b7da032
/frameworks/rs/driver/rsdRuntimeStubs.cpp