Loading rs/java/android/renderscript/Allocation.java +10 −52 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -809,20 +810,6 @@ public class Allocation extends BaseObj { setFromFieldPacker(xoff, 0, 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 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 Loading Loading @@ -1423,35 +1410,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 Loading @@ -1459,8 +1419,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."); Loading @@ -1475,19 +1434,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. Loading rs/java/android/renderscript/RenderScript.java +3 −4 Original line number Diff line number Diff line Loading @@ -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, Loading rs/jni/android_renderscript_RenderScript.cpp +12 −10 Original line number Diff line number Diff line Loading @@ -1302,19 +1302,21 @@ nAllocationRead1D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint off // Copies from the Element in the Allocation pointed to by _alloc into the Java array data. static void nAllocationElementRead(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, nAllocationElementRead(JNIEnv *_env, jobject _this, jlong con, jlong alloc, jint xoff, jint yoff, jint zoff, jint lod, jint compIdx, jobject data, jint sizeBytes, int dataType) jint lod, jint compIdx, jbyteArray data, jint sizeBytes) { RsAllocation *alloc = (RsAllocation *)_alloc; jint len = _env->GetArrayLength(data); if (kLogApi) { ALOGD("nAllocationElementRead, con(%p), alloc(%p), xoff(%i), yoff(%i), zoff(%i), comp(%i), " "sizeBytes(%i)", (RsContext)con, alloc, xoff, yoff, zoff, compIdx, sizeBytes); ALOGD("nAllocationElementRead, con(%p), alloc(%p), xoff(%i), yoff(%i), zoff(%i), comp(%i), len(%i), " "sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff, compIdx, len, sizeBytes); } int mSize = sizeBytes; int count = 0; PER_ARRAY_TYPE(0, rsAllocationElementRead, false, (RsContext)con, alloc, xoff, yoff, zoff, lod, ptr, sizeBytes, compIdx); jbyte *ptr = _env->GetByteArrayElements(data, nullptr); rsAllocationElementRead((RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff, lod, ptr, sizeBytes, compIdx); _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT); } // Copies from the Allocation pointed to by _alloc into the Java object data. Loading Loading @@ -2377,7 +2379,7 @@ static JNINativeMethod methods[] = { {"rsnAllocationData3D", "(JJIIIIIIIJIIII)V", (void*)nAllocationData3D_alloc }, {"rsnAllocationRead", "(JJLjava/lang/Object;IIZ)V", (void*)nAllocationRead }, {"rsnAllocationRead1D", "(JJIIILjava/lang/Object;IIIZ)V", (void*)nAllocationRead1D }, {"rsnAllocationElementRead", "(JJIIIIILjava/lang/Object;II)V", (void*)nAllocationElementRead }, {"rsnAllocationElementRead", "(JJIIIII[BI)V", (void*)nAllocationElementRead }, {"rsnAllocationRead2D", "(JJIIIIIILjava/lang/Object;IIIZ)V", (void*)nAllocationRead2D }, {"rsnAllocationRead3D", "(JJIIIIIIILjava/lang/Object;IIIZ)V", (void*)nAllocationRead3D }, {"rsnAllocationGetType", "(JJ)J", (void*)nAllocationGetType}, Loading Loading
rs/java/android/renderscript/Allocation.java +10 −52 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -809,20 +810,6 @@ public class Allocation extends BaseObj { setFromFieldPacker(xoff, 0, 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 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 Loading Loading @@ -1423,35 +1410,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 Loading @@ -1459,8 +1419,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."); Loading @@ -1475,19 +1434,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. Loading
rs/java/android/renderscript/RenderScript.java +3 −4 Original line number Diff line number Diff line Loading @@ -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, Loading
rs/jni/android_renderscript_RenderScript.cpp +12 −10 Original line number Diff line number Diff line Loading @@ -1302,19 +1302,21 @@ nAllocationRead1D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint off // Copies from the Element in the Allocation pointed to by _alloc into the Java array data. static void nAllocationElementRead(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, nAllocationElementRead(JNIEnv *_env, jobject _this, jlong con, jlong alloc, jint xoff, jint yoff, jint zoff, jint lod, jint compIdx, jobject data, jint sizeBytes, int dataType) jint lod, jint compIdx, jbyteArray data, jint sizeBytes) { RsAllocation *alloc = (RsAllocation *)_alloc; jint len = _env->GetArrayLength(data); if (kLogApi) { ALOGD("nAllocationElementRead, con(%p), alloc(%p), xoff(%i), yoff(%i), zoff(%i), comp(%i), " "sizeBytes(%i)", (RsContext)con, alloc, xoff, yoff, zoff, compIdx, sizeBytes); ALOGD("nAllocationElementRead, con(%p), alloc(%p), xoff(%i), yoff(%i), zoff(%i), comp(%i), len(%i), " "sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff, compIdx, len, sizeBytes); } int mSize = sizeBytes; int count = 0; PER_ARRAY_TYPE(0, rsAllocationElementRead, false, (RsContext)con, alloc, xoff, yoff, zoff, lod, ptr, sizeBytes, compIdx); jbyte *ptr = _env->GetByteArrayElements(data, nullptr); rsAllocationElementRead((RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff, lod, ptr, sizeBytes, compIdx); _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT); } // Copies from the Allocation pointed to by _alloc into the Java object data. Loading Loading @@ -2377,7 +2379,7 @@ static JNINativeMethod methods[] = { {"rsnAllocationData3D", "(JJIIIIIIIJIIII)V", (void*)nAllocationData3D_alloc }, {"rsnAllocationRead", "(JJLjava/lang/Object;IIZ)V", (void*)nAllocationRead }, {"rsnAllocationRead1D", "(JJIIILjava/lang/Object;IIIZ)V", (void*)nAllocationRead1D }, {"rsnAllocationElementRead", "(JJIIIIILjava/lang/Object;II)V", (void*)nAllocationElementRead }, {"rsnAllocationElementRead", "(JJIIIII[BI)V", (void*)nAllocationElementRead }, {"rsnAllocationRead2D", "(JJIIIIIILjava/lang/Object;IIIZ)V", (void*)nAllocationRead2D }, {"rsnAllocationRead3D", "(JJIIIIIIILjava/lang/Object;IIIZ)V", (void*)nAllocationRead3D }, {"rsnAllocationGetType", "(JJ)J", (void*)nAllocationGetType}, Loading