| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Bug: 27298560
Change-Id: I8c3d568e98aaf0b7d86881c985d13ed5b8e95338
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug: 28463187
Launch options array[2-4] are not initialized by the support library
in the current SDK.
They may have arbitrary values that invalidate the checks that this CL
is removing, and cause a kernel launch to bail out unnecessarily.
This CL removes those checks, since the array.*Start and array.*End
fields in the launch options are not used anywhere in the current
runtime.
Change-Id: Ib8a2e551619f770b402f569acbde635ee047675a
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |\
| |
| |
| | |
reduction test overhaul." into nyc-dev
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug: 27439842
An RS intrinsic relies on RSExpandKernelDriverInfo.usr for the "this"
pointer to the ScriptIntrinsic object.
Need to to correctly set that field in a script execution for intrinsics.
Also fixed a bcc command-line option.
Added a test of script group with intrinsics to ImageProcessing GroupTest(native).
Change-Id: Ia8b45bca3396ac987ba167fd1709ee89123a2557
(cherry picked from commit 7a106adbb5e370b544f2cbf5b83c063560c81b57)
|
| |
|
|
|
|
|
| |
Bug: 27367378
Change-Id: Ide29c702d7a70dfe087ddc600d3fd17279223196
(cherry picked from commit 68e00893f7400d1ce71a9ed92365ffdfd6730c03)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new libclcore_g.bc which is functionally equivalent to
libclcore.bc but is compiled with debug information and -O0.
To achieve this some allocation functions had to be written in C,
because they were previously available in LLVM IR without debug
information.
The RenderScript cts has been run to verify these changes, both as it
is and forcing it to link with the new libclcore_g library. Both runs
show no regressions.
Signed-off-by: Verena Beckham <verena@codeplay.com>
(cherry picked from commit fb99e0f905b0f73a505c7900b434531ce7c3e2e5)
Change-Id: I64c82ce6f571e766c3c607e926326040dff8257c
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Requires coordinated change in frameworks/base.
Requires coordinated change in frameworks/compile/libbcc in order
for RsTest to run.
At present, general reduction kernels are run single-threaded.
Also: Remove dead struct field MTLaunchStructForEach::sig.
Bug: 23535724
Change-Id: Ice17ccf20a902f8a106eaa62ec071d46e3c0ad8c
|
| |
|
|
|
|
|
|
|
|
| |
reference implementation.
Bug: 22631253
For now, this just runs a serial reduction on one thread.
Change-Id: I34c96d24bb6f44274de72bb53160abcf79d143b0
|
| |
|
|
|
|
|
|
|
| |
Add a flag RS_CONTEXT_OPT_LEVEL_0 which sets a field mOptLevel in the Context
to 0 when calling bcc.
Using this flag will result in an object file that is easier to debug.
Change-Id: I9673506710cc9f34c415b694fe5d6bc7e967f1db
Signed-off-by: verena beckham <verena@codeplay.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
b/21949580
Writing different contents to an existing .so file, which is currently
open, may corrupt its globals and code. Choose a different file name
instead.
Change-Id: I3e649b09a55b43339283aa1c46f2844c66434c17
(cherry picked from commit 9844cffc8af28c4829012bc0c48f85d04b671f88)
|
| |
|
|
|
|
|
|
|
|
|
| |
Bug: 20894664
The system partition is read-only, and can/should be compiled correctly
during the offline creation of the system image. Since we cannot replace
these precompiled blobs (short of app update/OTA), there is no reason or
correct way to validate/replace the checksum.
Change-Id: Ia66bfdbe178bf215e146c3699f5bc7804222e978
|
| |\ |
|
| | |
| |
| |
| | |
Change-Id: Ibe8725074724b75e35c25a404daaba07ffbca2ab
|
| |/
|
|
|
| |
Change-Id: I17c701dfda5b3031c1fc50bfc186e4b7f8b7ac1e
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
|
| |\
| |
| |
| |
| |
| | |
* changes:
Update RS driver to support extraction of global variable properties.
Use "override" instead of "virtual" when replacing methods.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 20306487
This patch adds some new enums to classify properties (such as "static",
"constant", and "pointer") for global variables. The reference driver
is also extended to provide methods to examine these properties (when
the bitcode is compiled with bcc).
Change-Id: I331756f8a8990caf5ebdf85599060434a7cfdcb7
|
| |/
|
|
|
| |
Bug: http://b/20501816
Change-Id: I63a7c690bc5bde3dc1354f6e04ad8d32b3b43015
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 20306487
This change enables vendor drivers to configure support for including
additional information about global variables in the emitted CPU code.
This information includes the number of total global variables, the
names of these variables, the addresses of these variables and the
sizes of these variables. The driver can also select whether the
information includes constant (immutable) globals or not.
The reference driver defaults to embedding information about each of
the existing, non-constant global variables.
Change-Id: I1e55fc3f08e518f04eeee3e4f9dc7b6ea3b80d7c
|
| |/
|
|
|
|
|
|
|
|
| |
The existing linker path hard-coded "-lRSDriver" into the command line, but
this won't work for partner drivers that have a different implementation
loaded. In order to still properly handle use of the CPU driver, this needs
to change depending on whether we actually loaded an OVERRIDE_RS_DRIVER or
not.
Change-Id: I0c4a4f12f5db819b234952bc8f364ac6300f147b
|
| |
|
|
|
|
|
|
| |
bug 19866850
Explicitly set error when a kernel launch fails.
Change-Id: If42419f3cf7557c524afc5bb27a0753460ca7e4e
|
| |
|
|
| |
Change-Id: I48dafb2bc1dc335a52b289db2981397251f673c8
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I introduced a separate routine to cacluate checksum for ScriptGroup
in my previous CL, in addition to the one we use for regular scripts.
This CL removes the new one and uses the old one.
While I am on it, I made some other minor changes, e.g., changing
mBuildChecksum in RsdCpuScriptIml from char* to uint32_t, and a few
other minor cleanups in ScriptGroup2 implementation.
Change-Id: I168fdbb4e7bd14f1549a687e7b0d0ca6dd4da866
|
| |/
|
|
| |
Change-Id: I6d6b46c55f3e88a810ebe51def3ebaccb1fd3fa2
|
| |
|
|
| |
Change-Id: I5f469266fd11b5031d1357f356ac40e00f5c0348
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG 19934827
Wrap TEMP_FAILURE_RETRY around system calls that can return EINTR
(waitpid, close).
Refactor fork/exec flows in various places into a utility function
and log errors so we can better understand failures in the test server.
Fix a small use-after-free issue in ScriptGroups.
Change-Id: I60b192f83c395a13c27cd6bd2289c44132b84791
|
| |
|
|
|
|
|
|
|
|
|
| |
Also made two other cleanups:
- Changed KernelID/InvokeID into IDBase in class Closure
Rather than having two fields in class Closure, one of type ScriptKernelID and
the other InovkeID, use a single field of the common base class IDBase. Added a
boolean field to indicate whether it is kernel or invoke, since -fno-rtti is on.
- Removed user pointer from CPU closure
Change-Id: I5553f86b2e58325f85649078d48685a38f12d62f
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bug 19216507
If ro.debuggable system property is set,
- Compute the Adler32 checksum of bitcode, compiler arguments, bcc,
libclcore files.
- On shared object load, check that there is an embedded checksum value
in .rs.info and it matches the value computed in the previous step.
The .so is not loaded if the checksums don't match.
- If invoking bcc, pass the checksum as an argument.
If ro.debuggable is not set, a constant checksum is added to .rs.info.
But it is never checked.
Change-Id: I0a9d16b34148b748daf744007a8515511714a5a5
|
| |
|
|
|
|
|
|
| |
b/19283946
This move also included the related class SharedObjectUtils.
Change-Id: Iefd587b659c4ad99340c330955b41cd92df45563
|
| |
|
|
|
|
|
|
|
| |
b/19148482
Replaced std::string with android::String8, and std::pair with
android::renderscript::Pair, in header files.
Change-Id: I20ac1a3b7a019e5eee12fac46ad6adf64d850459
|
| |
|
|
|
|
|
|
|
| |
libbcc had a utility function to concatenate string arguments. This
patch moves that function to frameworks/rs. The function will no longer
be needed in libbcc once we move all the checksum/cache invalidation
logic to frameworks/rs.
Change-Id: I2b1c15c2763d90d7b099e41257bb72f200680943
|
| |
|
|
|
|
| |
This also includes support for InvokeID
Change-Id: I5b59df166ea30b309b8dd9623825ac0e72d03856
|
| |\
| |
| |
| | |
64bit Renderscript compat lib."
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
for 64bit Renderscript compat lib.
- Native lib path stored in Java and queried from JNI.
- Then set to Context during context creation.
Change-Id: I3c997cf849efb7b9a0b0ac35d5b62289d70e7434
|
| | |
| |
| |
| |
| |
| | |
The runtime will start a seperate process to call the new bcc to fuse kernels.
Change-Id: Ia73ea917a126a5055ec97f13d90a5feaafd6a2f5
|
| |/
|
|
|
|
| |
b/19148482
Change-Id: I2138664d8ef51d15da23be69ac7d224f30224f42
|
| |
|
|
|
|
|
|
|
| |
bug 19095896
Read embedded flag in .rs.info and use it to mark Scripts as threadable.
In compat lib path, scripts are always threadable.
Change-Id: I85a3753ffae788dbdec5fd130c20581790c4ee07
|
| |
|
|
| |
Change-Id: I66cd89b5b44eafa92f391708a06464cd7cdde3ed
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bug 18322681
Pragmas were not embedded into shared objects in the compat lib path
because they aren't used. Along with the sibling change in libbcc, this
patch stores and retrieves pragmas from the .rs.info varible embedded in
shared object files.
Change-Id: Iebbf9a79e715a5a4a1ee0962a08386fa78516c6b
|
| |/
|
|
| |
Change-Id: Icea9834805702c20c250d2dec48cdf8f11a0acfb
|
| |
|
|
|
|
|
| |
So that we can reuse the shared library create and loading routines
for script groups.
Change-Id: I9f35d8efc4be686c92141ab770f78f35ea3a02c1
|
| |
|
|
|
|
|
|
|
| |
The new class represents executables created from shared objects,
which allows query exported fields, for each, etc.
This allows this functionality to be shared with other part of the
system besides CPU script, e.g., script groups.
Change-Id: I5223c329bdb70085eb1dce7aab5ec91626f579f4
|
| |
|
|
|
|
|
|
|
|
|
| |
Bug: 18322681
In native mode, the .so file will be present only in the app specific
cache directory. Any match in /system/lib is merely due to name clash
with another app. Shared libraries in /system/lib are relevant only in
compatibility mode.
Change-Id: I2713820c76b63bd69f726e50f0a39974661c05f1
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug: 18322681
Now that we have switched completely to the new shared library object
loading path, we can safely remove the legacy linkloader path.
In frameworks/rs, this removes the actual linkloader code, as well as
all helper calls into linkloader. This change also coalesces code paths
between the support library version of RS and the native version of RS,
since they both now depend on a similar shared library loader. A missing
call to dlclose() on Script teardown is also added on the native library
path.
Change-Id: Ie5cc152d93f5e75383f7c21a4523579cfae8823f
|
| |
|
|
| |
Change-Id: I8cc51915b2a605c240d98e3010619b741a13bae2
|
| |
|
|
|
|
|
|
|
| |
Bug: 18322681
If there are problems in the .so loading path, you can turn it off by
having is_skip_linkloader() return false.
Change-Id: I31ae2d8a65f70005f4d749f9ecbe55ae6f153d8c
|