diff options
| author | Jason Sams <rjsams@android.com> | 2010-06-15 12:15:57 -0700 |
|---|---|---|
| committer | Jason Sams <rjsams@android.com> | 2010-06-15 12:15:57 -0700 |
| commit | 96ed4cfa62dd09aafb3f9da01e047661b4fe3c95 (patch) | |
| tree | fdf2cc680ff2af9a4e9e9052200dea65cfac7cd9 /graphics | |
| parent | 56985cea7759fa1e72085ec851fafa2d9a450dd7 (diff) | |
| download | frameworks_base-96ed4cfa62dd09aafb3f9da01e047661b4fe3c95.zip frameworks_base-96ed4cfa62dd09aafb3f9da01e047661b4fe3c95.tar.gz frameworks_base-96ed4cfa62dd09aafb3f9da01e047661b4fe3c95.tar.bz2 | |
Remove InvokeData and add ContextFinish to generate a sync point.
Change-Id: I27da8bf5fba2c8a428964cb6a5e66dd7a94958d8
Diffstat (limited to 'graphics')
| -rw-r--r-- | graphics/java/android/renderscript/RenderScript.java | 6 | ||||
| -rw-r--r-- | graphics/java/android/renderscript/Script.java | 12 | ||||
| -rw-r--r-- | graphics/jni/android_renderscript_RenderScript.cpp | 19 |
3 files changed, 20 insertions, 17 deletions
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index 9dd8d1e..70f6bd7 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -68,6 +68,7 @@ public class RenderScript { native void nContextSetSurface(int w, int h, Surface sur); native void nContextSetPriority(int p); native void nContextDump(int bits); + native void nContextFinish(); native void nContextBindRootScript(int script); native void nContextBindSampler(int sampler, int slot); @@ -141,7 +142,6 @@ public class RenderScript { native void nScriptBindAllocation(int script, int alloc, int slot); native void nScriptSetTimeZone(int script, byte[] timeZone); native void nScriptInvoke(int id, int slot); - native void nScriptInvokeData(int id, int slot); native void nScriptInvokeV(int id, int slot, byte[] params); native void nScriptSetVarI(int id, int slot, int val); native void nScriptSetVarF(int id, int slot, float val); @@ -323,6 +323,10 @@ public class RenderScript { nContextDump(bits); } + public void finish() { + nContextFinish(); + } + public void destroy() { validate(); nContextDeinitToClient(); diff --git a/graphics/java/android/renderscript/Script.java b/graphics/java/android/renderscript/Script.java index 4c4071a..beac997 100644 --- a/graphics/java/android/renderscript/Script.java +++ b/graphics/java/android/renderscript/Script.java @@ -46,12 +46,12 @@ public class Script extends BaseObj { mRS.nScriptInvoke(mID, slot); } - protected void invokeData(int slot) { - mRS.nScriptInvokeData(mID, slot); - } - - protected void invokeV(int slot, FieldPacker v) { - mRS.nScriptInvokeV(mID, slot, v.getData()); + protected void invoke(int slot, FieldPacker v) { + if (v != null) { + mRS.nScriptInvokeV(mID, slot, v.getData()); + } else { + mRS.nScriptInvoke(mID, slot); + } } diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp index 86d7ba4..67c25a8 100644 --- a/graphics/jni/android_renderscript_RenderScript.cpp +++ b/graphics/jni/android_renderscript_RenderScript.cpp @@ -85,6 +85,14 @@ static void nInitElements(JNIEnv *_env, jobject _this, jint a8, jint rgba4444, j // --------------------------------------------------------------------------- static void +nContextFinish(JNIEnv *_env, jobject _this) +{ + RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); + LOG_API("nContextFinish, con(%p)", con); + rsContextFinish(con); +} + +static void nAssignName(JNIEnv *_env, jobject _this, jint obj, jbyteArray str) { RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); @@ -960,15 +968,6 @@ nScriptInvoke(JNIEnv *_env, jobject _this, jint obj, jint slot) } static void -nScriptInvokeData(JNIEnv *_env, jobject _this, jint obj, jint slot) -{ - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); - LOG_API("nScriptInvokeData, con(%p), script(%p)", con, (void *)obj); - rsScriptInvokeData(con, (RsScript)obj, slot, 0); -} - - -static void nScriptInvokeV(JNIEnv *_env, jobject _this, jint script, jint slot, jbyteArray data) { RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); @@ -1381,6 +1380,7 @@ static JNINativeMethod methods[] = { {"nDeviceSetConfig", "(III)V", (void*)nDeviceSetConfig }, {"nContextCreate", "(II)I", (void*)nContextCreate }, {"nContextCreateGL", "(IIZ)I", (void*)nContextCreateGL }, +{"nContextFinish", "()V", (void*)nContextFinish }, {"nContextSetPriority", "(I)V", (void*)nContextSetPriority }, {"nContextSetSurface", "(IILandroid/view/Surface;)V", (void*)nContextSetSurface }, {"nContextDestroy", "(I)V", (void*)nContextDestroy }, @@ -1442,7 +1442,6 @@ static JNINativeMethod methods[] = { {"nScriptBindAllocation", "(III)V", (void*)nScriptBindAllocation }, {"nScriptSetTimeZone", "(I[B)V", (void*)nScriptSetTimeZone }, {"nScriptInvoke", "(II)V", (void*)nScriptInvoke }, -{"nScriptInvokeData", "(II)V", (void*)nScriptInvokeData }, {"nScriptInvokeV", "(II[B)V", (void*)nScriptInvokeV }, {"nScriptSetVarI", "(III)V", (void*)nScriptSetVarI }, {"nScriptSetVarF", "(IIF)V", (void*)nScriptSetVarF }, |
