Commit Graph

60 Commits

Author SHA1 Message Date
Pirama Arumuga Nainar
83461d73bc Safely handle interrupts during Thread.join()
Interrupt current thread if InterruptedException is received during
Thread.join().  Also, log the interruption.

Change-Id: I452124915ea3f19610e6d4a3411d741f2f604af2
2015-10-05 15:45:47 -07:00
Pirama Arumuga Nainar
2f25ce7753 Retry if interrupted before mMessageThread has joined
Bug: 24342101

If interrupted during mMessageThread.join(), retry the join instead of
assuming the thread has joined and continuing.  Continuing to destroy
the context will cause a segfault when the message thread attempts to
use the destroyed context.

Change-Id: I3213091a0e996449bceb403dffca3063786d5a65
2015-10-02 21:42:12 +00:00
Matt Wala
36eb1f74b3 RenderScript: implement a Script entry point for calling a
reduce-style kernel.

Bug: 22631253

This adds a new (currently hidden) API to the Script class and the
corresponding code for the RenderScript JNI layer.

Change-Id: I40f19aaeb90411b859bd6b0bffc3f071fa327c21
2015-07-21 11:07:10 -07:00
verena beckham
c9659ea3a2 Add a flag to the API to specify -O0 on the bcc command line.
Add a flag CREATE_FLAG_OPT_LEVEL_0 to set the optimization level to 0 when calling bcc.
This will result in an object file that is easier to debug.

Change-Id: I0384dca098fa0d9ae0f2e02e798da9de342c1122
Signed-off-by: verena beckham <verena@codeplay.com>
2015-07-16 19:45:09 -07:00
Stephen McGroarty
62cb9bdc9d Added in flag to ask context to wait for debugger attach.
Adds in flag CREATE_FLAG_WAIT_FOR_ATTACH with value 0x0008 to the RenderScript API
to be passed down to the C++ implementation to tell it to wait for a debugger to be
attached before executing the kernel.

Change-Id: Ibc4e903efbed1b1fb14cf378d1a8517d5c8d1f26
Signed-off-by: Stephen McGroarty <stephen@codeplay.com>
2015-05-14 18:01:01 +01:00
Yang Ni
4e90b9b57c Sanity checks in JNI code for closure creation
b/20728113

In case the requested size for memory allocation overflows, or memory
allocation fails.

Change-Id: I8dac132dd4d0210938660ffbb82cbe44000d2a90
2015-05-01 14:39:02 -07:00
Tim Murray
7f72f74766 Merge "Add BNNM intrinsic." 2015-04-15 22:30:14 +00:00
Tim Murray
9cb16a2f91 Add BNNM intrinsic.
Change-Id: I05fc9835786455e28d69f2b4ffe70c3292a01404
2015-04-14 15:10:19 -07:00
Yang Ni
35be56cce8 Add name to ScriptGroup2.Builder.create() method
This name will be used to name the .so file generated for the
script group with fused kernels.

Change-Id: I46e351c8412740512f56b7915b14f36183c6eeaf
2015-04-13 17:24:44 -07:00
Tim Murray
47f31582b6 Add support for setting the cache directory.
Change-Id: I2bf1874705b877a8a8262ab49b47fe8241e603d5
2015-04-09 17:50:39 -07:00
Tim Murray
e1e6c66198 Move cache dir to its own class.
This prevents us from loading the RS static initializer all the time.

Change-Id: I8cea7540e50251aba8c2f199f06f344f991e7d7f
2015-04-07 13:24:14 -07:00
Miao Wang
a4e5adf955 [RenderScript] Add create(Context, int) to be compatible with
the thunker layer & minor tweaks.

bug:19888167
bug:19888339
Change-Id: Ib264c4ca48c990b3476456838047f73d95f6752f
2015-03-23 11:50:18 -07:00
Jason Sams
e16da12b7b Make it harder to leak contexts
Change-Id: Ied60b6428bedb200d7b5b627e8196fbf2b4151e1
2015-03-18 17:04:18 -07:00
Jason Sams
a7e2509d8d Remove dead path code
This API was never shipped and the implementation
never finished.

Change-Id: I2491db216d6a7a8ea30628d791773f89da5fb4d2
2015-03-11 11:00:00 -07:00
Miao Wang
45cec0a971 [RenderScript] Update the java API about Allocation copyTo & From FieldPacker
Change-Id: I4e1b911d4cdfec8a841bc5a8bc615c64c50e8fc8
2015-03-05 16:52:05 -08:00
Miao Wang
87e908dfde [RenderScript] AutoPadding & Unpadding for Vec3 Elements during
copyTo & copyFrom.

Change-Id: I10b6fb235717e181ebb30b92e4dbe23e6183a29c
2015-03-04 15:50:11 -08:00
Miao Wang
c8e237e271 [Renderscript] JAVA API update for Allocation.CopyTo
add the following functions to make it more symmetric to copyFrom().

  - copy1DRangeToUnchecked, copy1DRangeTo
  - copy2DRangeToUnchecked, copy2DRangeTo
  - copy3DRangeToUnchecked, copy3DRangeTo
  - setFromFieldPacker, 2D and 3D variants
  - copyElementTo, (1D, 2D & 3D)

Change-Id: I6b896123e1c00cead552aa5b31a701b15dd70f85
2015-02-25 16:41:09 -08:00
Jason Sams
d22a6f09dc Implement finalizer for RS contexts.
Fixes memory leak when apps forget to call .destroy() on the context.

Change-Id: Ida4685768e92cfe3875da38846d17b86cc386cd0
2015-02-19 17:19:52 -08:00
Tim Murray
25207df658 Add BLAS intrinsic.
Change-Id: I95ddc46cb3f6217d2ead1091fd47450389544324
2015-02-17 13:10:25 -08:00
Jason Sams
46ba27e3fd Implement array types
Change-Id: I1b83f21ea2aeaa4b9f5934aadcb69d4a1c1fea20
2015-02-06 17:45:15 -08:00
Yang Ni
be392ad35e Adds invocable functions to ScriptGroup
This also includes InvokeID support

Change-Id: I5b59df166ea30b309b8dd9623825ac0e72d03856
2015-02-04 16:24:48 -08:00
Yang Ni
ebf63408d2 Pass in code cache directory when creating a script group.
Change-Id: Ia73ea917a126a5055ec97f13d90a5feaafd6a2f5
2015-01-29 08:46:46 -08:00
Jason Sams
231df77eff Merge "Fix default compute thread priority" 2015-01-22 21:08:44 +00:00
Jason Sams
c9870c145f Fix default compute thread priority
bug 16651474

Compute inherited graphics default thread priority of Display.  This
was not intended.

Change-Id: I0dd9a230ce8ceba64e971b024cbe518927cd2550
2015-01-21 16:12:37 -08:00
Jason Sams
a5835a2e5f Add FP16 types to the list of RenderScript types.
Change-Id: Ibf9a6d391fb4d6a5c4b4e05ab73fb58bd74dc586
2015-01-20 12:51:14 -08:00
Yang Ni
281c325251 New Script Group API.
Change-Id: I73d3572276a38dac775025b472ba229ad8770c84
2015-01-07 15:07:16 -08:00
Tim Murray
d11a658db1 Fix typo with register native allocation.
bug 18579193

Change-Id: I42d30709b79a37d6a4126559a511e98e9c8d4808
2014-12-16 09:59:09 -08:00
Tim Murray
aefbd5f97c Enable native tracking for RS contexts to improve GC behavior.
This should prevent apps from leaking RS contexts as easily.

bug 18579193

Change-Id: I2d943ce4443ce7cb90ebdd3dd37d338eda6df3a2
2014-12-12 11:34:48 -08:00
Tim Murray
d0080ee004 am 7fa25bc1: am 3c02b020: Merge "Fix IO_INPUT with 64-bit." into lmp-dev
* commit '7fa25bc1269d3ba2db79f32acb17d80194cbadce':
  Fix IO_INPUT with 64-bit.
2014-08-19 21:07:42 +00:00
Tim Murray
b730d866a0 Fix IO_INPUT with 64-bit.
bug 16846318
bug 17006933

Change-Id: Ic13ef26875d8a6fab1ffb542d62038b768a536ff
2014-08-18 18:14:32 -07:00
Stephen Hines
93697c5f8e am 4ae9a6d5: am 42895561: Merge "Collapse code paths for single- and multi-input kernels."
* commit '4ae9a6d5c517f67d9929cc43568c6b7e3b4dfe23':
  Collapse code paths for single- and multi-input kernels.
2014-08-18 20:00:34 +00:00
Chris Wailes
be7b1defb6 Collapse code paths for single- and multi-input kernels.
This patch simplifies the RenderScript JNI layer by replacing six functions
with a single funciton.  This new function now handles all previous cases.
Functions in android.renderscript.script have been updated to use this new JNI
function.

Change-Id: I6cd5448534c38123d51a589339bbeb7e98453e73
2014-08-18 08:03:52 -07:00
Stephen Hines
42a33d5bbf am b75dc06b: am 4179e889: Merge "Revert "Collapse code paths for single- and multi-input kernels.""
* commit 'b75dc06bbe2fdff1a4c9baa69eb92a849c22715d':
  Revert "Collapse code paths for single- and multi-input kernels."
2014-08-13 17:43:00 +00:00
Stephen Hines
c27ebda05e am 5aaeb8e8: am 24a2ee66: Merge "Collapse code paths for single- and multi-input kernels."
* commit '5aaeb8e89eb0afd710ba9586f5e314b76e806116':
  Collapse code paths for single- and multi-input kernels.
2014-08-13 17:34:59 +00:00
Stephen Hines
c9c7daf69b Revert "Collapse code paths for single- and multi-input kernels."
This reverts commit eb3470219d.

Change-Id: Id943abf953e832ef831318e6699d4b46e9b46201
2014-08-13 17:32:19 +00:00
Chris Wailes
eb3470219d Collapse code paths for single- and multi-input kernels.
This patch simplifies the RenderScript JNI layer by replacing six functions
with a single funciton.  This new function now handles all previous cases.
Functions in android.renderscript.script have been updated to use this new JNI
function.

Change-Id: I77e4b155cc7ca1581b05bf901c70ae53a9ff0b12
2014-08-07 14:57:22 -07:00
Chris Wailes
949610653f Adds support for multi-input kernels to Frameworks/Base/RS.
* Added a new JNI call to pass arrays of Allocations to the RS runtime.
* Added a new version of ForEach that takes an array of Allocations.
* Added some casts to disambiguate existing calls to forEach.

Change-Id: I46d2834c37075b2a2407fd8b010546818a4540d1
2014-07-07 12:27:21 -07:00
Stephen Hines
48ba506dfa resolved conflicts for merge of 31012e2c to master
Change-Id: I2e24e0457570d7d856293637a553f0242a97a83b
2014-07-09 07:39:38 -07:00
Tim Murray
08d3775cbe am b43bc047: Merge "Change flags to use int instead of long." into lmp-preview-dev
* commit 'b43bc0475490fe2a20c2ddeed1c34b55b8f8a152':
  Change flags to use int instead of long.
2014-06-06 22:41:22 +00:00
Tim Murray
fd710e705a Change flags to use int instead of long.
bug 15429629

Change-Id: Ideb983b17aa3c146d23f2be6bb0e9808cb6725b7
2014-06-06 11:10:45 -07:00
Tim Murray
56f9e6f8d5 Add support for mixed 32/64 APKs using RenderScript.
Change-Id: I8901a1547d180c9dcef320f86d07a5b82551fb5c
2014-06-03 15:11:37 -07:00
Tim Murray
f0c62b2676 Add support for mixed 32/64 APKs using RenderScript.
Change-Id: I8901a1547d180c9dcef320f86d07a5b82551fb5c
2014-06-03 12:30:53 -07:00
Jason Sams
b69c791b79 Validate RenderScript context creation flags
Sync the IDs to that of the native interface.

Change-Id: I7516c1ea4f4a93844ddb8397b2fc1e79ff8d6b68
2014-05-20 18:48:35 -07:00
Jason Sams
26e9051957 Add flags to context creation for RS
We have a number of context options exposed though native
that were not available though the Java API.  This brings them
to parity.  Will finish plumbing in a follow on CL.

Change-Id: I8c65ee743d0e750e418304127b84088f25176c38
2014-05-07 14:23:46 -07:00
Glenn Kasten
5341f881e0 am 4f346bf0: am ff1e1d99: am 240d5638: am c1f3d4c1: Merge "Fix 64 bit compile failures in renderscript"
* commit '4f346bf0ffe1c596ca261dfec23c50977de77d82':
  Fix 64 bit compile failures in renderscript
2014-03-19 21:22:06 +00:00
Narayan Kamath
78c0ce5612 Fix 64 bit compile failures in renderscript
Use uintptr_t for pointers (and not uint32_t) and
also don't assume that size_t is 32 bits wide.

Also uses java longs for passing pointers across
JNI boundaries.

Change-Id: Ie52bd8ae967fbddc911eda3a43cc799d53bbce66
2014-03-19 17:14:54 +00:00
Jason Sams
659a05a25c am edf0b79d: am 24ea88a9: am 9a9916b5: am 2383f220: Merge "Validate objects are from the correct context."
* commit 'edf0b79d55df17fddb6b96de32f34ffccc8ec2d4':
  Validate objects are from the correct context.
2014-03-06 02:29:06 +00:00
Jason Sams
678cc7fe9f Validate objects are from the correct context.
Change-Id: I7d87b0e253b8d2e36d1aed790cfe3a7dd23e158f
2014-03-05 16:09:02 -08:00
Narayan Kamath
11e4317555 am 62d675c2: am 0d3548be: am d138029d: am 14420e29: Merge "AArch64: Use long[] for RS id array"
* commit '62d675c240fd87cb987c86ae4f6ac17dc13374c8':
  AArch64: Use long[] for RS id array
2014-02-28 13:35:07 +00:00
Narayan Kamath
14420e29ab Merge "AArch64: Use long[] for RS id array" 2014-02-28 13:22:26 +00:00