summaryrefslogtreecommitdiffstats
path: root/rs/java
diff options
context:
space:
mode:
Diffstat (limited to 'rs/java')
-rw-r--r--rs/java/android/renderscript/Allocation.java62
-rw-r--r--rs/java/android/renderscript/RenderScript.java7
2 files changed, 13 insertions, 56 deletions
diff --git a/rs/java/android/renderscript/Allocation.java b/rs/java/android/renderscript/Allocation.java
index 1164651..c6afa2c 100644
--- a/rs/java/android/renderscript/Allocation.java
+++ b/rs/java/android/renderscript/Allocation.java
@@ -797,6 +797,7 @@ public class Allocation extends BaseObj {
copy1DRangeFromUnchecked(xoff, count, data);
}
+
/**
* This is only intended to be used by auto-generated code reflected from
* the RenderScript script files.
@@ -816,20 +817,6 @@ public class Allocation extends BaseObj {
*
* @param xoff
* @param yoff
- * @param component_number
- * @param fp
- */
- public void setFromFieldPacker(int xoff, int yoff, int component_number, FieldPacker fp) {
- setFromFieldPacker(xoff, yoff, 0, component_number, fp);
- }
-
- /**
- * @hide
- * This is only intended to be used by auto-generated code reflected from
- * the RenderScript script files.
- *
- * @param xoff
- * @param yoff
* @param zoff
* @param component_number
* @param fp
@@ -1427,35 +1414,8 @@ public class Allocation extends BaseObj {
/**
* @hide
- * Copy subelement from the Allocation into an object array.
- * This is intended to be used with user defined structs
- *
- * @param xoff
- * @param component_number
- * @param array
- */
- public void copyElementTo(int xoff, int component_number, Object array) {
- copyElementTo(xoff, 0, 0, component_number, array);
- }
-
- /**
- * @hide
- * Copy subelement from the Allocation into an object array.
- * This is intended to be used with user defined structs
- *
- * @param xoff
- * @param yoff
- * @param component_number
- * @param array
- */
- public void copyElementTo(int xoff, int yoff, int component_number, Object array) {
- copyElementTo(xoff, yoff, 0, component_number, array);
- }
-
- /**
- * @hide
- * Copy subelement from the Allocation into an object array.
- * This is intended to be used with user defined structs
+ * This is only intended to be used by auto-generated code reflected from
+ * the RenderScript script files and should not be used by developers.
*
* @param xoff
* @param yoff
@@ -1463,8 +1423,7 @@ public class Allocation extends BaseObj {
* @param component_number
* @param array
*/
- public void copyElementTo(int xoff, int yoff, int zoff, int component_number, Object array) {
- Trace.traceBegin(RenderScript.TRACE_TAG, "copyElementTo");
+ public void copyToFieldPacker(int xoff, int yoff, int zoff, int component_number, FieldPacker fp) {
mRS.validate();
if (component_number >= mType.mElement.mElements.length) {
throw new RSIllegalArgumentException("Component_number " + component_number + " out of range.");
@@ -1479,19 +1438,18 @@ public class Allocation extends BaseObj {
throw new RSIllegalArgumentException("Offset z must be >= 0.");
}
- Element.DataType dt = validateObjectIsPrimitiveArray(array, false);
- int array_size = java.lang.reflect.Array.getLength(array) * dt.mSize;
+ final byte[] data = fp.getData();
+ int data_length = fp.getPos();
int eSize = mType.mElement.mElements[component_number].getBytesSize();
eSize *= mType.mElement.mArraySizes[component_number];
- if (array_size < eSize) {
- throw new RSIllegalArgumentException("Array Size (bytes)" + array_size +
- " is smaller than component size " + eSize + ".");
+ if (data_length != eSize) {
+ throw new RSIllegalArgumentException("Field packer sizelength " + data_length +
+ " does not match component size " + eSize + ".");
}
mRS.nAllocationElementRead(getIDSafe(), xoff, yoff, zoff, mSelectedLOD,
- component_number, array, eSize, dt);
- Trace.traceEnd(RenderScript.TRACE_TAG);
+ component_number, data, data_length);
}
/**
* Resize a 1D allocation. The contents of the allocation are preserved.
diff --git a/rs/java/android/renderscript/RenderScript.java b/rs/java/android/renderscript/RenderScript.java
index 29004c5..b992d44 100644
--- a/rs/java/android/renderscript/RenderScript.java
+++ b/rs/java/android/renderscript/RenderScript.java
@@ -579,12 +579,11 @@ public class RenderScript {
}
native void rsnAllocationElementRead(long con,long id, int xoff, int yoff, int zoff,
- int mip, int compIdx, Object d, int sizeBytes, int dt);
+ int mip, int compIdx, byte[] d, int sizeBytes);
synchronized void nAllocationElementRead(long id, int xoff, int yoff, int zoff,
- int mip, int compIdx, Object d, int sizeBytes,
- Element.DataType dt) {
+ int mip, int compIdx, byte[] d, int sizeBytes) {
validate();
- rsnAllocationElementRead(mContext, id, xoff, yoff, zoff, mip, compIdx, d, sizeBytes, dt.mID);
+ rsnAllocationElementRead(mContext, id, xoff, yoff, zoff, mip, compIdx, d, sizeBytes);
}
native void rsnAllocationRead2D(long con, long id, int xoff, int yoff, int mip, int face,