diff options
Diffstat (limited to 'rs')
| -rw-r--r-- | rs/java/android/renderscript/RenderScript.java | 8 | ||||
| -rw-r--r-- | rs/java/android/renderscript/ScriptGroup2.java | 8 | ||||
| -rw-r--r-- | rs/jni/android_renderscript_RenderScript.cpp | 8 |
3 files changed, 15 insertions, 9 deletions
diff --git a/rs/java/android/renderscript/RenderScript.java b/rs/java/android/renderscript/RenderScript.java index 5fc1f93..7c927fd 100644 --- a/rs/java/android/renderscript/RenderScript.java +++ b/rs/java/android/renderscript/RenderScript.java @@ -332,10 +332,12 @@ public class RenderScript { rsnClosureSetGlobal(mContext, closureID, fieldID, value, size); } - native long rsnScriptGroup2Create(long con, String cachePath, long[] closures); - synchronized long nScriptGroup2Create(String cachePath, long[] closures) { + native long rsnScriptGroup2Create(long con, String name, String cachePath, + long[] closures); + synchronized long nScriptGroup2Create(String name, String cachePath, + long[] closures) { validate(); - return rsnScriptGroup2Create(mContext, cachePath, closures); + return rsnScriptGroup2Create(mContext, name, cachePath, closures); } native void rsnScriptGroup2Execute(long con, long groupID); diff --git a/rs/java/android/renderscript/ScriptGroup2.java b/rs/java/android/renderscript/ScriptGroup2.java index 858a957..96bb6e2 100644 --- a/rs/java/android/renderscript/ScriptGroup2.java +++ b/rs/java/android/renderscript/ScriptGroup2.java @@ -323,6 +323,7 @@ public class ScriptGroup2 extends BaseObj { } } + String mName; List<Closure> mClosures; List<UnboundValue> mInputs; Future[] mOutputs; @@ -333,9 +334,10 @@ public class ScriptGroup2 extends BaseObj { super(id, rs); } - ScriptGroup2(RenderScript rs, List<Closure> closures, + ScriptGroup2(RenderScript rs, String name, List<Closure> closures, List<UnboundValue> inputs, Future[] outputs) { super(0, rs); + mName = name; mClosures = closures; mInputs = inputs; mOutputs = outputs; @@ -344,7 +346,7 @@ public class ScriptGroup2 extends BaseObj { for (int i = 0; i < closureIDs.length; i++) { closureIDs[i] = closures.get(i).getID(rs); } - long id = rs.nScriptGroup2Create(ScriptC.mCachePath, closureIDs); + long id = rs.nScriptGroup2Create(name, ScriptC.mCachePath, closureIDs); setID(id); } @@ -560,7 +562,7 @@ public class ScriptGroup2 extends BaseObj { !name.equals(name.replaceAll("[^a-zA-Z0-9-]", "_"))) { throw new RSIllegalArgumentException("invalid script group name"); } - ScriptGroup2 ret = new ScriptGroup2(mRS, mClosures, mInputs, outputs); + ScriptGroup2 ret = new ScriptGroup2(mRS, name, mClosures, mInputs, outputs); return ret; } diff --git a/rs/jni/android_renderscript_RenderScript.cpp b/rs/jni/android_renderscript_RenderScript.cpp index 783df68..49afa6d 100644 --- a/rs/jni/android_renderscript_RenderScript.cpp +++ b/rs/jni/android_renderscript_RenderScript.cpp @@ -418,8 +418,9 @@ nClosureSetGlobal(JNIEnv *_env, jobject _this, jlong con, jlong closureID, } static long -nScriptGroup2Create(JNIEnv *_env, jobject _this, jlong con, +nScriptGroup2Create(JNIEnv *_env, jobject _this, jlong con, jstring name, jstring cacheDir, jlongArray closureArray) { + AutoJavaStringToUTF8 nameUTF(_env, name); AutoJavaStringToUTF8 cacheDirUTF(_env, cacheDir); jlong* jClosures = _env->GetLongArrayElements(closureArray, nullptr); @@ -430,7 +431,8 @@ nScriptGroup2Create(JNIEnv *_env, jobject _this, jlong con, } return (jlong)(uintptr_t)rsScriptGroup2Create( - (RsContext)con, cacheDirUTF.c_str(), cacheDirUTF.length(), + (RsContext)con, nameUTF.c_str(), nameUTF.length(), + cacheDirUTF.c_str(), cacheDirUTF.length(), closures, numClosures); } @@ -2404,7 +2406,7 @@ static JNINativeMethod methods[] = { {"rsnScriptInvokeIDCreate", "(JJI)J", (void*)nScriptInvokeIDCreate }, {"rsnScriptFieldIDCreate", "(JJI)J", (void*)nScriptFieldIDCreate }, {"rsnScriptGroupCreate", "(J[J[J[J[J[J)J", (void*)nScriptGroupCreate }, -{"rsnScriptGroup2Create", "(JLjava/lang/String;[J)J", (void*)nScriptGroup2Create }, +{"rsnScriptGroup2Create", "(JLjava/lang/String;Ljava/lang/String;[J)J", (void*)nScriptGroup2Create }, {"rsnScriptGroupSetInput", "(JJJJ)V", (void*)nScriptGroupSetInput }, {"rsnScriptGroupSetOutput", "(JJJJ)V", (void*)nScriptGroupSetOutput }, {"rsnScriptGroupExecute", "(JJ)V", (void*)nScriptGroupExecute }, |
