Commit Graph

117 Commits

Author SHA1 Message Date
Pirama Arumuga Nainar
1333215d8e [RenderScript] Enable untyped variants of Allocation-copy functions for FLOAT_16
http://b/27251511

Handle FLOAT_16 case to PER_ARRAY_TYPE macro to enable untyped variants
of Allocation-copy functions.

Untyped variants of Allocation-copy functions call
validateObjectIsPrimitiveArray(), with checkType parameter set to true,
to validate and obtain the Element type of the Allocation.  When
checkType is true, validateObjectIsPrimitiveArray() returns the actual
Element type of the Allocation (instead of the canonical SIGNED type).
Because of this, FLOAT_16 element type can reach the JNI layer,
necessitating this change to PER_ARRAY_TYPE macro.

Change-Id: I3651e5ae0ab0cd6bb4ad3157841e2910ac8699dc
(cherry picked from commit 85e8c51dbf)
2016-03-03 16:04:57 -08:00
Yang Ni
ad88055821 Set flags in RS JNI calls for rsObj creation
Bug: 25570907

Added a flag to all RS runtime API for rsObj creation to indicate a
call is from Java. This flag will help us avoid incrementing the user
ref count for rsObj's created from Single-Source RS, and therefore
avoid memory leaks for such objects.

Change-Id: Id3604f93b166089e3aca896d1c6c509b3ea19bcf
2016-02-22 11:38:54 -08:00
Miao Wang
a4ad5f8401 [RenderScript] Fix potential leak in RS JNI
Bug: 27145639
Change-Id: I80cf2971d803a3366a63caa3612a503a88639040
2016-02-11 12:34:35 -08: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
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 6099ee6e08)
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 4e90b9b57c)
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
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 a771b9861d.

Change-Id: Ifd891cc075274a7986e987229e0fed5a04ed9ff0
2015-04-20 22:06:31 +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
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
Miao Wang
815bcb24b0 am f8a69f56: am 2ef9955c: Merge "[RenderScript] Remove duplicate include in jni"
* commit 'f8a69f562b7f1c987b5eddd2ee13c04c1a787625':
  [RenderScript] Remove duplicate include in jni
2015-03-19 20:54:40 +00:00