39 Commits

Author SHA1 Message Date
Miao Wang
c29bcd0dcd [RenderScript] Unhide new Allocation APIs
Bug: 23535524

  - ByteBuffer getByteBuffer()
  - long getStride()
  - Allocation[] createAllocations(rs, type, usage, num)
  - long getTimeStamp()

Change-Id: I0cad88c81f9f48c7aca59af159c49f506b234aee
2016-01-27 14:42:03 -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
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
Chris Craik
a11ceb9e91 am 5fd0e46d: am 34a63ba4: Merge "Ensure RenderScript tracing is always balanced via try/finally"
* commit '5fd0e46d242f718de629ec07cf540fa24b4a72ec':
  Ensure RenderScript tracing is always balanced via try/finally
2015-06-04 19:00:29 +00:00
Chris Craik
06d2984871 Ensure RenderScript tracing is always balanced via try/finally
bug:21560057

Change-Id: I6709b81636822135848c10adca8ba425f3c2212e
2015-06-04 10:02:18 -07:00
Chris Craik
f77facd0b9 Fix RenderScript copy tracing sections
bug:21560057

Change-Id: I3b44d04bd908d9549ef7ada5f48f5d94e239d186
2015-06-04 09:50:15 -07:00
Chris Craik
48b0104374 am e63136a3: am 8c1e287b: Merge "Fix RenderScript copy tracing sections" into mnc-dev
* commit 'e63136a36ec6e5f22d53654c85b8b3eb0b19cb27':
  Fix RenderScript copy tracing sections
2015-06-01 23:21:50 +00:00
Chris Craik
5c705d63d7 Fix RenderScript copy tracing sections
bug:21560057

Change-Id: I3b44d04bd908d9549ef7ada5f48f5d94e239d186
2015-06-01 10:59:35 -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
bfa5e659e7 [RenderScript] fix Allocation.copyToFieldPacker
Change-Id: Iaba3333f9741238745fdb5c94f1b27b1015d50b2
2015-05-11 15:49:18 -07:00
Miao Wang
3c61327fa9 [RenderScript] hide Allocation.copyToFieldPacker()
bug: 21027883

Change-Id: I122392bc5206ff19ea52712576d7f363e5915231
2015-05-11 11:51:09 -07:00
Miao Wang
68e03ab998 am 13391109: am 2b300a99: am 782b4339: Merge "[RenderScript] typo fix in Allocation.java"
* commit '133911095ce0d9ef01766aa7b67a0a31b852e242':
  [RenderScript] typo fix in Allocation.java
2015-04-16 02:46:43 +00:00
Miao Wang
179e8b5351 [RenderScript] typo fix in Allocation.java
Change-Id: Id0eae76387d18c5bfed6cdbb52781b0dc3e4ae90
2015-04-15 17:44:32 -07:00
Miao Wang
edea751f64 am 1327fa9e: am 511eb660: am 6aed9ec1: Merge "[RenderScript] update exception reporting for copyTo() after autoPadding added."
* commit '1327fa9eb155eb57fe24a8aa90a18f57d706e86b':
  [RenderScript] update exception reporting for copyTo() after autoPadding added.
2015-04-03 18:18:01 +00:00
Miao Wang
d9b6328509 [RenderScript] update exception reporting for copyTo() after
autoPadding added.

 - This CL fixes recent CTS failures about copyPadded after
   lmp-mr1-dev changes pushed to aosp.

Change-Id: Ica1f4fd934cd83ca4357ea7e7c82dcc7f844b689
2015-04-03 09:15:39 -07:00
Miao Wang
d7ecab1e87 [RenderScript] Remove @hide for setAutoPadding(boolean).
Change-Id: I9e018436866989090be3896f894078ca0422189b
2015-03-26 18:00:15 -07:00
Miao Wang
258db504bc [RenderScript] Remove @hide for the new APIs for Allocation.CopyTo
Change-Id: I9ef476ae3e659d98d21c9246aa8e4969e00c14f1
2015-03-26 17:25:01 -07:00
Jason Sams
1e68bac5f8 Avoid duplicate surface creation.
Change-Id: I43104c8b48dd26681735940e6b2e1ba902af2020
2015-03-17 16:36:55 -07:00
Miao Wang
c1e2bf95ab am 4b5af9bc: Merge "[RenderScript] Update the java API about Allocation copyTo & From FieldPacker"
* commit '4b5af9bce10dbb8b6d5ff27a5f0c49f3498a6245':
  [RenderScript] Update the java API about Allocation copyTo & From FieldPacker
2015-03-06 01:10:38 +00:00
Miao Wang
a61832c8fd am 288e6f67: Merge "[RenderScript] AutoPadding & Unpadding for Vec3 Elements during copyTo & copyFrom."
* commit '288e6f67181ce74ec4b97b61def1b9510b1221d0':
  [RenderScript] AutoPadding & Unpadding for Vec3 Elements during copyTo & copyFrom.
2015-03-06 01:01:58 +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
411473de4a am caa8a8fb: Merge "[Renderscript] JAVA API update for Allocation.CopyTo add the following functions to make it more symmetric to copyFrom()."
* commit 'caa8a8fb9849f1d44ffab3117950ac1e7b02cd4d':
  [Renderscript] JAVA API update for Allocation.CopyTo add the following functions to make it more symmetric to copyFrom().
2015-03-03 01:11:18 +00: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
ec10f833b4 am 2a3cdf57: Merge "Implement array types"
automerge: 6e0ad25

* commit '6e0ad25ca8def88a48c9cc6436b12da7ff4600c2':
  Implement array types
2015-02-10 01:44:11 +00:00
Jason Sams
46ba27e3fd Implement array types
Change-Id: I1b83f21ea2aeaa4b9f5934aadcb69d4a1c1fea20
2015-02-06 17:45:15 -08:00
Miao Wang
4bd2c00d8d Merge "make Allocation.destroy() include setSurface(null) for USAGE_IO_OUTPUT (Native RS)" automerge: 9a55cbc
automerge: 58fd96c

* commit '58fd96c607de7f7f821a0b15fd37bc28323fcfde':
  make Allocation.destroy() include setSurface(null) for USAGE_IO_OUTPUT (Native RS)
2015-02-05 00:27:49 +00:00
Miao Wang
f0f6e80bae make Allocation.destroy() include setSurface(null) for USAGE_IO_OUTPUT
(Native RS)

Change-Id: I23041da03c2c928ceec76037804abb5dc7e6eb64
2015-02-03 17:16:43 -08:00
Miao Wang
b590b354ef [Renderscript] Add check for Allocation.copyTo(Array) and
Fix the input allocation type check for Histogram Intrinsic.

Bug: 19035242
Change-Id: I0ef2672bf816854db90fc92dc9ef51d1d231c246
2015-01-21 21:17:19 +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
Tim Murray
cd38b763d5 Allocation.resize() should throw an exception in API 21+.
bug 16846318

Change-Id: I852331ec226e4cad8be79aa27c4b51183e97cc1d
2014-08-14 13:41:02 -07:00
Tim Murray
3de3dc79e5 Update copyFrom(BaseObj[]) for large objects.
Change-Id: I99cadbd1ad925cad0dd357c9abbd1a49c07785c9
2014-07-09 15:30:42 -07:00
Stephen Hines
7f22d01545 am c5b11fcc: am ff83ed2d: am b02dadd4: Merge "Create FieldPacker.getPos() to get the actual amount of data used for FP."
* commit 'c5b11fcc1f4fc4fba988218d0a99a19690398a56':
  Create FieldPacker.getPos() to get the actual amount of data used for FP.
2014-06-19 03:26:15 +00:00
Stephen Hines
fa1275a6e7 Create FieldPacker.getPos() to get the actual amount of data used for FP.
We need larger buffers to handle 64-bit RS object types, but 32-bit code
will never fill all of the getData().length bytes. This allows us to retain
our verification code.

We have to modify an existing use of FieldPacker that was doing partial
updates of the underlying buffer. This was really relying on the old data
to be implicitly selected and written back, but that is not guaranteed by
the original API. This also required a fix to the FieldPacker.reset() API,
which was not allowing the FieldPacker to ever point to the final entry in
its buffer.

Change-Id: Idcd52790ac2b0ab1eff3f043e7eec2832953f04b
2014-06-18 00:24:44 -07:00
Jason Sams
1136bb91b4 Generic object based data copy.
This change consolidates the copy paths to Object based.
The runtime now uses reflection to identify the type of
array present.  This adds support for long/double and reduces
the amount of code present.  We could also support arrays of vectors
or objects in the future with this mechanism.

Change-Id: I2297c1c01fbe6a64c375d6368f25d7db781ea788
2014-02-10 15:18:56 -08:00
Tim Murray
e6eaaf6a8e Fix getBytesSize for YUV allocations.
bug 12134914

Change-Id: I128e75b756a5bd129077177e254f1db6c94182f1
2014-01-31 12:35:17 -08:00
Tim Murray
355707e4f6 Move RenderScript from graphics/ to new fw/base subdirectory rs.
Change-Id: I30b6633578f063840e1bdbcc9ba513b727912a6d
2014-01-31 12:35:17 -08:00
Tim Murray
04f0d6e339 Fix getBytesSize for YUV allocations.
bug 12134914

Change-Id: I128e75b756a5bd129077177e254f1db6c94182f1
2014-01-07 11:14:39 -08:00
Tim Murray
d1576fb039 Move RenderScript from graphics/ to new fw/base subdirectory rs.
Change-Id: I30b6633578f063840e1bdbcc9ba513b727912a6d
2013-12-17 13:28:17 -08:00