From 6e494d3ab606be8c06f8d4930fbec572bbfa15c2 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Wed, 27 Apr 2011 16:33:11 -0700 Subject: Add dalvik code for forEach. Change-Id: I26533fc553315b99b8f177ab62d9735a177b26b0 --- graphics/jni/android_renderscript_RenderScript.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'graphics/jni/android_renderscript_RenderScript.cpp') diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp index c3f2360..3f6f8c3 100644 --- a/graphics/jni/android_renderscript_RenderScript.cpp +++ b/graphics/jni/android_renderscript_RenderScript.cpp @@ -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); +} + // ----------------------------------- @@ -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 }, -- cgit v1.1