diff options
author | Tim Murray <timmurray@google.com> | 2013-04-12 13:11:45 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-04-12 13:11:45 -0700 |
commit | d7fec6edade22f2ca2ce33d65b0d2f08efc0eddc (patch) | |
tree | 9dc3811fbfef02a74f79a284823df313b3932291 /graphics/jni/android_renderscript_RenderScript.cpp | |
parent | 720471f0fd2c28b63ec48da8d5b492c2ff08f0c0 (diff) | |
parent | f151a5411eb6afd104daac10b3e43f5e3a60c61d (diff) |
am f151a541: am d6b8a035: Merge "Add support for synchronous get()." into jb-mr2-dev
* commit 'f151a5411eb6afd104daac10b3e43f5e3a60c61d':
Add support for synchronous get().
Diffstat (limited to 'graphics/jni/android_renderscript_RenderScript.cpp')
-rw-r--r-- | graphics/jni/android_renderscript_RenderScript.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp index 460a51677b1b..b9f871336e90 100644 --- a/graphics/jni/android_renderscript_RenderScript.cpp +++ b/graphics/jni/android_renderscript_RenderScript.cpp @@ -987,6 +987,15 @@ nScriptSetVarI(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slo rsScriptSetVarI(con, (RsScript)script, slot, val); } +static jint +nScriptGetVarI(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot) +{ + LOG_API("nScriptGetVarI, con(%p), s(%p), slot(%i)", con, (void *)script, slot); + int value = 0; + rsScriptGetVarV(con, (RsScript)script, slot, &value, sizeof(value)); + return value; +} + static void nScriptSetVarObj(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jint val) { @@ -1001,6 +1010,15 @@ nScriptSetVarJ(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slo rsScriptSetVarJ(con, (RsScript)script, slot, val); } +static jlong +nScriptGetVarJ(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot) +{ + LOG_API("nScriptGetVarJ, con(%p), s(%p), slot(%i)", con, (void *)script, slot); + jlong value = 0; + rsScriptGetVarV(con, (RsScript)script, slot, &value, sizeof(value)); + return value; +} + static void nScriptSetVarF(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, float val) { @@ -1008,6 +1026,15 @@ nScriptSetVarF(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slo rsScriptSetVarF(con, (RsScript)script, slot, val); } +static jfloat +nScriptGetVarF(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot) +{ + LOG_API("nScriptGetVarF, con(%p), s(%p), slot(%i)", con, (void *)script, slot); + jfloat value = 0; + rsScriptGetVarV(con, (RsScript)script, slot, &value, sizeof(value)); + return value; +} + static void nScriptSetVarD(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, double val) { @@ -1015,6 +1042,15 @@ nScriptSetVarD(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slo rsScriptSetVarD(con, (RsScript)script, slot, val); } +static jdouble +nScriptGetVarD(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot) +{ + LOG_API("nScriptGetVarD, con(%p), s(%p), slot(%i)", con, (void *)script, slot); + jdouble value = 0; + rsScriptGetVarV(con, (RsScript)script, slot, &value, sizeof(value)); + return value; +} + static void nScriptSetVarV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jbyteArray data) { @@ -1026,6 +1062,16 @@ nScriptSetVarV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slo } static void +nScriptGetVarV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jbyteArray data) +{ + LOG_API("nScriptSetVarV, con(%p), s(%p), slot(%i)", con, (void *)script, slot); + jint len = _env->GetArrayLength(data); + jbyte *ptr = _env->GetByteArrayElements(data, NULL); + rsScriptGetVarV(con, (RsScript)script, slot, ptr, len); + _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT); +} + +static void nScriptSetVarVE(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jbyteArray data, jint elem, jintArray dims) { LOG_API("nScriptSetVarVE, con(%p), s(%p), slot(%i)", con, (void *)script, slot); @@ -1600,10 +1646,15 @@ static JNINativeMethod methods[] = { {"rsnScriptForEachClipped", "(IIIIIIIIIII)V", (void*)nScriptForEachClipped }, {"rsnScriptForEachClipped", "(IIIII[BIIIIII)V", (void*)nScriptForEachClippedV }, {"rsnScriptSetVarI", "(IIII)V", (void*)nScriptSetVarI }, +{"rsnScriptGetVarI", "(III)I", (void*)nScriptGetVarI }, {"rsnScriptSetVarJ", "(IIIJ)V", (void*)nScriptSetVarJ }, +{"rsnScriptGetVarJ", "(III)J", (void*)nScriptGetVarJ }, {"rsnScriptSetVarF", "(IIIF)V", (void*)nScriptSetVarF }, +{"rsnScriptGetVarF", "(III)F", (void*)nScriptGetVarF }, {"rsnScriptSetVarD", "(IIID)V", (void*)nScriptSetVarD }, +{"rsnScriptGetVarD", "(III)D", (void*)nScriptGetVarD }, {"rsnScriptSetVarV", "(III[B)V", (void*)nScriptSetVarV }, +{"rsnScriptGetVarV", "(III[B)V", (void*)nScriptGetVarV }, {"rsnScriptSetVarVE", "(III[BI[I)V", (void*)nScriptSetVarVE }, {"rsnScriptSetVarObj", "(IIII)V", (void*)nScriptSetVarObj }, |