123 Commits

Author SHA1 Message Date
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
Yang Ni
263cc90345 Various fixes in setting globals in a script group
Bug: 25602504

1) Passing floating point values into a script group was broken,
since they were casted to long values. Fixed that in the frameworks
implementation by taking the raw bits instead.

2) Passing 64-bit values into a script group was broken on 32-bit
platforms, since they were casted to pointer-sized integers
(uintptr_t) in the JNI code. Fixed that by casting to int64_t
instead.

3) Setting global variables of Allocation type in a script group was
broken. The special size value -1 was used to indicate the value is an
Allocation. However, size was casted to size_t in the JNI code.
Fixed that by using signed integers.

Change-Id: Ifff099a76be7707df7b67c388395f5a00f9cae66
2015-11-13 10:00:12 -08:00
Miao Wang
ba8766c5db [RenderScript] Add null check for return values of JNI
Get<TYPE>ArrayElements.

Bug: 20760800
Change-Id: I6ba56933a71721da88d31dbf74c48d42a924305a
2015-10-13 10:44:38 -07:00
Miao Wang
05420e77f5 am 134c504a: Merge "[RenderScript] pass correct length of ains to BLAS functions"
* commit '134c504a3ea687a0ea875057792e66705ddbfce7':
  [RenderScript] pass correct length of ains to BLAS functions
2015-09-30 23:44:22 +00:00
Miao Wang
134c504a3e Merge "[RenderScript] pass correct length of ains to BLAS functions" 2015-09-30 22:53:18 +00:00
Miao Wang
0b34f2a3c5 [RenderScript] pass correct length of ains to BLAS functions
bug: 24540091
Change-Id: Ia541bcbee07125c4caf3e0f4863702a3c0b929d5
2015-09-30 15:38:07 -07:00
Elliott Hughes
b57dd722f1 resolved conflicts for a884d81e to stage-aosp-master
Change-Id: Ice485967fa96f13786024b6939b826638e906ff0
2015-09-24 10:01:32 -07:00
Daniel Micay
76f6a86de2 constify JNINativeMethod function pointer tables
Change-Id: I4036c924958221cbc644724f8eb01c5de3cd7954
2015-09-22 17:10:35 -04: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
Miao Wang
c02720316d resolved conflicts for merge of a1867fb0 to mnc-dev-plus-aosp
Change-Id: Id0266c63c98b4cb37f49eb2e0fb9a98cbc7ee1de
2015-06-30 23:35:23 -07:00
Miao Wang
2514806817 [RenderScript] update the type of offsets for BLAS.BNNM
bug: 22184114

Change-Id: I7e7132aa3563f32de32640567b381f8f5bddf491
(cherry picked from commit 6099ee6e081904e73e0fad331e326b0607b6b1dc)
2015-06-30 22:29:47 -07:00
Miao Wang
8374e25a9e am 77877609: Merge "[RenderScript] fix Allocation.copyToFieldPacker"
* commit '7787760961703239763afad9639517ce02259090':
  [RenderScript] fix Allocation.copyToFieldPacker
2015-05-19 21:17:28 +00:00
Miao Wang
7787760961 Merge "[RenderScript] fix Allocation.copyToFieldPacker" 2015-05-19 16:45:13 +00:00
Miao Wang
bfa5e659e7 [RenderScript] fix Allocation.copyToFieldPacker
Change-Id: Iaba3333f9741238745fdb5c94f1b27b1015d50b2
2015-05-11 15:49:18 -07:00
Chih-Hung Hsieh
af622b1a98 Merge "Fix print format error." 2015-05-08 22:22:23 +00:00
Yang Ni
aa97de7501 am 496c07d7: Merge "Moved limit constants for kernel and script group"
* commit '496c07d75425eebb3402abd76c3186fceb67d6b3':
  Moved limit constants for kernel and script group
2015-05-08 18:07:19 +00:00
Chih-Hung Hsieh
bce4220c36 Fix print format error.
Change-Id: I284c5e9c44f6dd56a7bb6ff93a1a86cc8f2deefa
2015-05-08 11:05:12 -07:00
Yang Ni
496c07d754 Merge "Moved limit constants for kernel and script group" 2015-05-08 17:41:27 +00:00
Miao Wang
e8cb7b32ac [RenderScript] typo fix in rs BLAS jni, to correctly handle complex
params.

Change-Id: Ie44f430dc7ed4155f40aa9f9c2864fb0429c97fe
2015-05-07 15:50:07 -07:00
Chih-Hung Hsieh
9eb9dd326a Fix clang warnings on unused variable, mismatched tag, print format.
BUG: 20890093
Change-Id: I91588f481d80b69823bc9d104b8bd09167ee5373
2015-05-07 12:30:13 -07:00
Yang Ni
7b2a46fee0 Moved limit constants for kernel and script group
b/20728113

so that we can share them with support lib.

Change-Id: I231c0d20c41ee53342d8a975c2db5a31854b9d40
2015-05-06 15:43:46 -07:00
Jason Sams
d1516dffa8 Fix Allocation-less launches
Cherry-pick fix from AOSP.  Error check for kernel launch was
generating a false positive.

bug 20690242


Change-Id: Ic4c6644072a11aab9a273070be5734519136f685
2015-05-05 18:00:34 -07:00
Jason Sams
d5c780a787 Merge "Fix Allocation-less launches" 2015-05-05 21:57:27 +00: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
Miao Wang
8724d359bf Merge "[RenderScript] typo fix in rs BLAS jni, to correctly handle complex params." into mnc-dev 2015-04-30 21:25:25 +00:00
Miao Wang
82585b3906 [RenderScript] typo fix in rs BLAS jni, to correctly handle complex
params.

Change-Id: Ie44f430dc7ed4155f40aa9f9c2864fb0429c97fe
2015-04-30 13:44:49 -07:00
John Reck
ed207b9274 Change how Java Bitmaps are accessed in a few places
Stop assuming that a Java Bitmap has a SkBitmap* that
has some externally managed lifecycle, and instead switch
a bunch of users to accessing the bitmap by providing
their own SkBitmap* on which to set the (ref counted!)
SkPixelRef* instead

Attempt #2 to land this, original issue was in getSkBitmap
and should be fixed

Change-Id: I0fd9e193968b41e5597784140d56b4885906864a
2015-04-30 12:46:57 -07:00
John Reck
c1b33d665c GraphicsJNI Canvas cleanup
Change-Id: I72e142986a8bc9f464c1951b6b5187919de3462e
2015-04-22 09:34:34 -07:00
John Reck
8222a7ec81 Merge "Revert "Change how Java Bitmaps are accessed in a few places"" 2015-04-20 22:07:45 +00:00
John Reck
edc22fba59 Revert "Change how Java Bitmaps are accessed in a few places"
Bug: 20207616

This reverts commit a771b9861d11671c780092d35c0062eeefcf37c0.

Change-Id: Ifd891cc075274a7986e987229e0fed5a04ed9ff0
2015-04-20 22:06:31 +00:00
John Reck
9d4efdf280 Revert "A bunch more cleanups"
This reverts commit c294d128d03bc9a9982b273a82516c04583438cc.

Change-Id: Id1ebb236950f7c36c6d86e1dd95566d3a200748d
2015-04-17 20:47:27 +00:00
Jason Sams
bc5c64b725 Fix Allocation-less launches
Change-Id: Ic4c6644072a11aab9a273070be5734519136f685
2015-04-16 15:13:52 -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
John Reck
f7a61483bc Merge "A bunch more cleanups" 2015-04-15 14:48:19 +00:00
John Reck
c294d128d0 A bunch more cleanups
Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI

Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
2015-04-14 15:38:22 -07: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
John Reck
073f36c6c1 Merge "Change how Java Bitmaps are accessed in a few places" 2015-04-13 19:20:59 +00:00
John Reck
a771b9861d Change how Java Bitmaps are accessed in a few places
Stop assuming that a Java Bitmap has a SkBitmap* that
has some externally managed lifecycle, and instead switch
a bunch of users to accessing the bitmap by providing
their own SkBitmap* on which to set the (ref counted!)
SkPixelRef* instead

Change-Id: I0fd9e193968b41e5597784140d56b4885906864a
2015-04-13 09:50:42 -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
Yang Ni
249e6c8cd8 am 02dff422: am 5db6f1fa: am 63dde9c8: Merge "Fix value size data type in closure creation."
* commit '02dff422a7734764e3ce00179f62ba115f2081a5':
  Fix value size data type in closure creation.
2015-04-01 02:19:41 +00:00
Yang Ni
4c93c8c93a Fix value size data type in closure creation.
b/19944127

Also added references to arguments and global values in a closure to
keep them live in Java while native code may access them.

Change-Id: I1179d34aa67f845578740e71cc2da4f82419f251
2015-03-30 10:45:34 -07:00