95 Commits

Author SHA1 Message Date
David Gross
1d5ce9ab34 Merge \\"Delete simple reduction implementation.\\" into nyc-dev am: d749245b88
am: 9a53329b0a

Change-Id: I66f67b6d55f4ce0496c6e136b82ca58a7a5fbfd6
2016-06-13 22:20:32 +00:00
David Gross
4a4578530a Delete simple reduction implementation.
Bug: 27298560
Change-Id: I8a89c9df753d12ee8af06008d424e77bb916cd8f
2016-06-02 14:47:12 -07:00
Miao Wang
4a574806e6 [RenderScript] Interrupt mMessageThread when tearing down context.
- Interrupt mMessageThread, so it gets to see immediately
    that mRun is false and exit rightaway.

Change-Id: Ic586ef225a5c6f3a77f89de00b7fb3f3547c9838
2016-05-10 16:48:25 -07:00
Yang Ni
6bdfe0fc5c Made Element accessors thread-safe
Bug: 28177082
Change-Id: I8f3f2d8ce559e93cba29f8eedd5b95d1389deb23
(cherry picked from commit 33703f0c4e9b16bda5fd72e71d7d89359ee0db17)
2016-04-20 09:49:36 -07:00
Yang Ni
33703f0c4e Made Element accessors thread-safe
Bug: 28177082
Change-Id: I8f3f2d8ce559e93cba29f8eedd5b95d1389deb23
2016-04-18 17:25:58 -07:00
Yang Ni
cb939dc4fc Avoid destroying Device separately
Bug: 27983025

Device should be destroyed inside the destructor of the associated
Context.

Change-Id: I921a89974e1174f837349a89aef9b03efa4882f5
(cherry picked from commit 4a70df58a32591429ec04902deac2b2210fb96c3)
2016-04-04 18:00:03 -07:00
Yang Ni
4a70df58a3 Avoid destroying Device separately
Bug: 27983025

Device should be destroyed inside the destructor of the associated
Context.

Change-Id: I921a89974e1174f837349a89aef9b03efa4882f5
2016-04-04 10:23:57 -07:00
Yang Ni
15fcf61dc0 Correctly init code cache path for RS
Bug: 27439261

Script Group needs to know the code cache path before it can call bcc to
merge kernels. However, before this change, the code cache path has been
initialized by the ScriptC class.

In the case where a script group (or even the entire app) does not contain any
regular script but only intrinsics, the code cache would remain uninitialized.

Fixed this by initializing the code cache path in the RenderScript class
the first time when the accessor method is called.

Change-Id: I87f9e62e0f3b479f94e43daa3e9695a5b38710db
(cherry picked from commit 689f63770048589e1001ce99faf1d2eaf9780a80)
2016-03-21 16:53:22 -07:00
Yang Ni
689f637700 Correctly init code cache path for RS
Bug: 27439261

Script Group needs to know the code cache path before it can call bcc to
merge kernels. However, before this change, the code cache path has been
initialized by the ScriptC class.

In the case where a script group (or even the entire app) does not contain any
regular script but only intrinsics, the code cache would remain uninitialized.

Fixed this by initializing the code cache path in the RenderScript class
the first time when the accessor method is called.

Change-Id: I87f9e62e0f3b479f94e43daa3e9695a5b38710db
2016-03-18 23:28:27 +00:00
Stephen Hines
49aee686d8 Merge "Remove the CREATE_FLAG_OPT_LEVEL_0 from the Java API." 2016-01-30 17:44:52 +00:00
Miao Wang
8c1509249c [RenderScript] Implement APIs for better multi-frame process support.
Bug: 23535524

 Two APIs added for multiframe processing:
 - createAllocations(...): To create an array of Allocations sharing the
   same Type and Usage. For USAGE_IO_INPUT Allocations, they also share
   the same BufferQueue.
 - getTimeStamp(): API to retrieve the time stamp associated with the
   most recent buffer.

Change-Id: I6b7b35d7dca5e87ee2f3db2ee17cb9cf824bcfe1
2016-01-26 14:40:44 -08:00
Miao Wang
ed50f333fb Merge "[RenderScript] Add API to map Allocation mallocptr to Java ByteBuffer" 2016-01-26 01:11:41 +00:00
Miao Wang
0facf021ea [RenderScript] Add API to map Allocation mallocptr to Java ByteBuffer
Bug: 25926361
Bug: 23535524

  - Construct the ByteBuffer using the AllocationGetPointer.
  - Add an API to query the stride of the allocation.
  - Both ByteBuffer and Stride will be cached for normal Allocations.
    if using USAGE_IO, since after each ioReceive, the mallocPtr will
    change, getByteBuffer will always create a new one using the most
    up-to-date mallocPtr.

Change-Id: I5e84b6690e83bb062c383043275524d0e51e46eb
2016-01-25 16:12:37 -08:00
David Gross
26ef7a739b Add general reduction plumbing starting with Java Script::reduce().
Requires coordinated change in frameworks/rs.

Bug: 23535724
Change-Id: I2fee6750cf542948d8fa87a98441002c4d84f36e
2016-01-15 12:20:08 -08:00
Pirama Arumuga Nainar
c9390c8baf am 46b51097: Merge "Safely handle interrupts during Thread.join()"
* commit '46b51097b92900866ac5b25762f622d3ceb1be5d':
  Safely handle interrupts during Thread.join()
2015-10-05 23:33:38 +00:00
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
5fbb245230 am ca3e5aea: Merge "Retry if interrupted before mMessageThread has joined"
* commit 'ca3e5aeaa65ae1d77ce92f082ab789933eb18237':
  Retry if interrupted before mMessageThread has joined
2015-10-02 22:08:11 +00: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
Stephen McGroarty
88891e63c0 Remove the CREATE_FLAG_OPT_LEVEL_0 from the Java API.
The flag was previously used to set the optimization level
of the bcc compiler to -O0. However, this functionality is
now accomplished through deriving the optimization level
from the input bitcode. That patch can be found here:
https://android-review.googlesource.com/169330

Change-Id: I9c57d941bb35c6f737a31fcd74f31d9de25a16a8
Signed-off-by: Stephen McGroarty <stephen@codeplay.com>
2015-09-02 16:11:28 +01:00
Stephen Hines
b3a1674a47 am ed3ffe0f: am 6430812a: Merge "RenderScript: implement a Script entry point for calling a reduce-style kernel."
* commit 'ed3ffe0fc86de016ff2b4231e2fcc74a6119f6c7':
  RenderScript: implement a Script entry point for calling a reduce-style kernel.
2015-07-23 22:54:59 +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
Stephen Hines
dd67c9d6a8 am 0f5b7bc2: am 79a1bde2: Merge "Add a flag to the API to specify -O0 on the bcc command line."
* commit '0f5b7bc2fe2ae554ab1f044eb5b10aab5f4812cb':
  Add a flag to the API to specify -O0 on the bcc command line.
2015-07-17 23:14:36 +00: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 Hines
8bd4d77dc4 am 95e31ac8: am 3385b616: Merge "Added in flag to ask context to wait for debugger attach."
* commit '95e31ac85d4ba0b7dfb087f8bc0a10e4065ca8cd':
  Added in flag to ask context to wait for debugger attach.
2015-05-21 16:50:01 +00:00
Miao Wang
f9d518a2af [RenderScript] Add dummy getMinorID to maintain compatible with old RS
compat lib.

bug: 21132592
Change-Id: I375f188dfbd33367a9589533aa51b182fda8bc21
2015-05-14 15:11:52 -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
Jason Sams
f76423062a Fix API name based on API review
rename getMinorID to getMinorVersion

bug 21039492

Change-Id: I03908dba508e30a605818d81a085ad627fa202fb
2015-05-12 14:06:56 -07:00
Yang Ni
17c2d7a3e1 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
(cherry picked from commit 4e90b9b57cc96964a9d5c1845172a72cb51feafb)
2015-05-04 15:09:29 -07: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
ef532f8435 am 3d9c9093: am 91d2f27b: am 7f72f747: Merge "Add BNNM intrinsic."
* commit '3d9c9093d1d76d4aeb5f99b1746b65788c72736e':
  Add BNNM intrinsic.
2015-04-15 23:15:13 +00: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
5024f20a85 am 09339053: am 6ca1e45a: am 8704ae46: Merge "Add name to ScriptGroup2.Builder.create() method"
* commit '0933905375790eb850334b53fd6d0981bd40e007':
  Add name to ScriptGroup2.Builder.create() method
2015-04-14 17:02:33 +00: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
9509bfe46a am 72fcf9eb: am af61d43d: am 6d718c2f: Merge "Add support for setting the cache directory."
* commit '72fcf9eb1079312afd7bdbee167c759109af4244':
  Add support for setting the cache directory.
2015-04-10 04:35:04 +00:00
Tim Murray
47f31582b6 Add support for setting the cache directory.
Change-Id: I2bf1874705b877a8a8262ab49b47fe8241e603d5
2015-04-09 17:50:39 -07:00
Stephen Hines
b6b17a575f resolved conflicts for merge of 764f08ad to master
Change-Id: I0a22225b2d26b6d806de2dcc70ffba29c96865b3
2015-04-07 14:47:32 -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
Jason Sams
6a420b5e0b unhide RS apis
Change-Id: I30c3349c9222765ad7850890e0431bc6a6d3757a
2015-03-30 15:31:26 -07:00
Miao Wang
ab452f70fc am 2b30b73b: am 6f6f44b0: am b2b0c4c2: Merge "[RenderScript] Add create(Context, int) to be compatible with the thunker layer & minor tweaks."
* commit '2b30b73b017f10bc2ce514981b577c2efaeab739':
  [RenderScript] Add create(Context, int) to be compatible with the thunker layer & minor tweaks.
2015-03-24 02:59:12 +00: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
db8cfd062e am d8e891f4: am f75e4ca3: Merge "Make it harder to leak contexts"
* commit 'd8e891f474096c310f60ca6d2f737cdc0251003e':
  Make it harder to leak contexts
2015-03-19 18:59:00 +00:00
Jason Sams
e16da12b7b Make it harder to leak contexts
Change-Id: Ied60b6428bedb200d7b5b627e8196fbf2b4151e1
2015-03-18 17:04:18 -07:00
Jason Sams
8ab7eb4c02 am bb8c910f: am d2e4a166: Merge "Remove dead path code"
* commit 'bb8c910fc12f304c97c94ee86a3a3da56afe8374':
  Remove dead path code
2015-03-13 02:59:40 +00: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
de770528ec am 989e03f1: am c1e2bf95: am 4b5af9bc: Merge "[RenderScript] Update the java API about Allocation copyTo & From FieldPacker"
* commit '989e03f144e8031f33af08945e845283dddcc8ad':
  [RenderScript] Update the java API about Allocation copyTo & From FieldPacker
2015-03-08 00:17:34 +00:00
Miao Wang
12d8a860b8 am ec89c1ea: am a61832c8: am 288e6f67: Merge "[RenderScript] AutoPadding & Unpadding for Vec3 Elements during copyTo & copyFrom."
* commit 'ec89c1ea731256cd0d71ee58733b2855e1e6e4fa':
  [RenderScript] AutoPadding & Unpadding for Vec3 Elements during copyTo & copyFrom.
2015-03-08 00:17:18 +00: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
e5ad00d1f5 am 5830e7a9: am 411473de: am caa8a8fb: Merge "[Renderscript] JAVA API update for Allocation.CopyTo add the following functions to make it more symmetric to copyFrom()."
* commit '5830e7a9fb56db24a101d7b45c6db970e38ed6f6':
  [Renderscript] JAVA API update for Allocation.CopyTo add the following functions to make it more symmetric to copyFrom().
2015-03-03 01:44:02 +00:00