diff options
Diffstat (limited to 'rs/java')
-rw-r--r-- | rs/java/android/renderscript/Allocation.java | 62 | ||||
-rw-r--r-- | rs/java/android/renderscript/RenderScript.java | 7 |
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, |