summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2010-06-15 12:15:57 -0700
committerJason Sams <rjsams@android.com>2010-06-15 12:15:57 -0700
commit96ed4cfa62dd09aafb3f9da01e047661b4fe3c95 (patch)
treefdf2cc680ff2af9a4e9e9052200dea65cfac7cd9 /graphics
parent56985cea7759fa1e72085ec851fafa2d9a450dd7 (diff)
downloadframeworks_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.java6
-rw-r--r--graphics/java/android/renderscript/Script.java12
-rw-r--r--graphics/jni/android_renderscript_RenderScript.cpp19
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 },