Loading graphics/java/android/renderscript/RenderScript.java +10 −0 Original line number Diff line number Diff line Loading @@ -420,6 +420,16 @@ public class RenderScript { validate(); rsnScriptInvoke(mContext, id, slot); } native void rsnScriptForEach(int con, int id, int slot, int ain, int aout, byte[] params); native void rsnScriptForEach(int con, int id, int slot, int ain, int aout); synchronized void nScriptForEach(int id, int slot, int ain, int aout, byte[] params) { validate(); if (params == null) { rsnScriptForEach(mContext, id, slot, ain, aout); } else { rsnScriptForEach(mContext, id, slot, ain, aout, params); } } native void rsnScriptInvokeV(int con, int id, int slot, byte[] params); synchronized void nScriptInvokeV(int id, int slot, byte[] params) { validate(); Loading graphics/java/android/renderscript/Script.java +29 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,35 @@ public class Script extends BaseObj { } } /** * @hide * Only intended for use by generated reflected code. * * @param slot * @param ain * @param aout * @param v */ protected void forEach(int slot, Allocation ain, Allocation aout, FieldPacker v) { if (ain == null && aout == null) { throw new RSIllegalArgumentException( "At least one of ain or aout is required to be non-null."); } int in_id = 0; if (ain != null) { in_id = ain.getID(); } int out_id = 0; if (aout != null) { out_id = aout.getID(); } byte[] params = null; if (v != null) { params = v.getData(); } mRS.nScriptForEach(getID(), slot, in_id, out_id, params); } Script(int id, RenderScript rs) { super(id, rs); Loading graphics/jni/android_renderscript_RenderScript.cpp +20 −0 Original line number Diff line number Diff line Loading @@ -866,6 +866,24 @@ nScriptInvokeV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slo _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT); } static void nScriptForEach(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jint ain, jint aout) { LOG_API("nScriptForEach, con(%p), s(%p), slot(%i)", con, (void *)script, slot); rsScriptForEach(con, (RsScript)script, slot, (RsAllocation)ain, (RsAllocation)aout, NULL, 0); } static void nScriptForEachV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jint ain, jint aout, jbyteArray params) { LOG_API("nScriptForEach, con(%p), s(%p), slot(%i)", con, (void *)script, slot); jint len = _env->GetArrayLength(params); jbyte *ptr = _env->GetByteArrayElements(params, NULL); rsScriptForEach(con, (RsScript)script, slot, (RsAllocation)ain, (RsAllocation)aout, ptr, len); _env->ReleaseByteArrayElements(params, ptr, JNI_ABORT); } // ----------------------------------- Loading Loading @@ -1235,6 +1253,8 @@ static JNINativeMethod methods[] = { {"rsnScriptSetTimeZone", "(II[B)V", (void*)nScriptSetTimeZone }, {"rsnScriptInvoke", "(III)V", (void*)nScriptInvoke }, {"rsnScriptInvokeV", "(III[B)V", (void*)nScriptInvokeV }, {"rsnScriptForEach", "(IIIII)V", (void*)nScriptForEach }, {"rsnScriptForEach", "(IIIII[B)V", (void*)nScriptForEachV }, {"rsnScriptSetVarI", "(IIII)V", (void*)nScriptSetVarI }, {"rsnScriptSetVarJ", "(IIIJ)V", (void*)nScriptSetVarJ }, {"rsnScriptSetVarF", "(IIIF)V", (void*)nScriptSetVarF }, Loading Loading
graphics/java/android/renderscript/RenderScript.java +10 −0 Original line number Diff line number Diff line Loading @@ -420,6 +420,16 @@ public class RenderScript { validate(); rsnScriptInvoke(mContext, id, slot); } native void rsnScriptForEach(int con, int id, int slot, int ain, int aout, byte[] params); native void rsnScriptForEach(int con, int id, int slot, int ain, int aout); synchronized void nScriptForEach(int id, int slot, int ain, int aout, byte[] params) { validate(); if (params == null) { rsnScriptForEach(mContext, id, slot, ain, aout); } else { rsnScriptForEach(mContext, id, slot, ain, aout, params); } } native void rsnScriptInvokeV(int con, int id, int slot, byte[] params); synchronized void nScriptInvokeV(int id, int slot, byte[] params) { validate(); Loading
graphics/java/android/renderscript/Script.java +29 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,35 @@ public class Script extends BaseObj { } } /** * @hide * Only intended for use by generated reflected code. * * @param slot * @param ain * @param aout * @param v */ protected void forEach(int slot, Allocation ain, Allocation aout, FieldPacker v) { if (ain == null && aout == null) { throw new RSIllegalArgumentException( "At least one of ain or aout is required to be non-null."); } int in_id = 0; if (ain != null) { in_id = ain.getID(); } int out_id = 0; if (aout != null) { out_id = aout.getID(); } byte[] params = null; if (v != null) { params = v.getData(); } mRS.nScriptForEach(getID(), slot, in_id, out_id, params); } Script(int id, RenderScript rs) { super(id, rs); Loading
graphics/jni/android_renderscript_RenderScript.cpp +20 −0 Original line number Diff line number Diff line Loading @@ -866,6 +866,24 @@ nScriptInvokeV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slo _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT); } static void nScriptForEach(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jint ain, jint aout) { LOG_API("nScriptForEach, con(%p), s(%p), slot(%i)", con, (void *)script, slot); rsScriptForEach(con, (RsScript)script, slot, (RsAllocation)ain, (RsAllocation)aout, NULL, 0); } static void nScriptForEachV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jint ain, jint aout, jbyteArray params) { LOG_API("nScriptForEach, con(%p), s(%p), slot(%i)", con, (void *)script, slot); jint len = _env->GetArrayLength(params); jbyte *ptr = _env->GetByteArrayElements(params, NULL); rsScriptForEach(con, (RsScript)script, slot, (RsAllocation)ain, (RsAllocation)aout, ptr, len); _env->ReleaseByteArrayElements(params, ptr, JNI_ABORT); } // ----------------------------------- Loading Loading @@ -1235,6 +1253,8 @@ static JNINativeMethod methods[] = { {"rsnScriptSetTimeZone", "(II[B)V", (void*)nScriptSetTimeZone }, {"rsnScriptInvoke", "(III)V", (void*)nScriptInvoke }, {"rsnScriptInvokeV", "(III[B)V", (void*)nScriptInvokeV }, {"rsnScriptForEach", "(IIIII)V", (void*)nScriptForEach }, {"rsnScriptForEach", "(IIIII[B)V", (void*)nScriptForEachV }, {"rsnScriptSetVarI", "(IIII)V", (void*)nScriptSetVarI }, {"rsnScriptSetVarJ", "(IIIJ)V", (void*)nScriptSetVarJ }, {"rsnScriptSetVarF", "(IIIF)V", (void*)nScriptSetVarF }, Loading