summaryrefslogtreecommitdiffstats
path: root/graphics/java/android
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2010-11-16 17:37:02 -0800
committerJason Sams <rjsams@android.com>2010-11-16 17:37:02 -0800
commit6f4cf0b8885403ead157ae00fd43cf1282331c23 (patch)
treeae1e103e42911792c5f859d34d8362a76ae362b0 /graphics/java/android
parent7a21ee61484e7c55f8642231362821058104a49d (diff)
downloadframeworks_base-6f4cf0b8885403ead157ae00fd43cf1282331c23.zip
frameworks_base-6f4cf0b8885403ead157ae00fd43cf1282331c23.tar.gz
frameworks_base-6f4cf0b8885403ead157ae00fd43cf1282331c23.tar.bz2
Fix ref counting for globals when set from java code.
Change-Id: I415b6ddeaab277e60233e905a6bae357cd5193eb
Diffstat (limited to 'graphics/java/android')
-rw-r--r--graphics/java/android/renderscript/RenderScript.java4
-rw-r--r--graphics/java/android/renderscript/Script.java4
2 files changed, 8 insertions, 0 deletions
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index df03e13..20949a4 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -389,6 +389,10 @@ public class RenderScript {
synchronized void nScriptSetVarV(int id, int slot, byte[] val) {
rsnScriptSetVarV(mContext, id, slot, val);
}
+ native void rsnScriptSetVarObj(int con, int id, int slot, int val);
+ synchronized void nScriptSetVarObj(int id, int slot, int val) {
+ rsnScriptSetVarObj(mContext, id, slot, val);
+ }
native void rsnScriptCBegin(int con);
synchronized void nScriptCBegin() {
diff --git a/graphics/java/android/renderscript/Script.java b/graphics/java/android/renderscript/Script.java
index 7d7dd6d..ea616c6 100644
--- a/graphics/java/android/renderscript/Script.java
+++ b/graphics/java/android/renderscript/Script.java
@@ -88,6 +88,10 @@ public class Script extends BaseObj {
mRS.nScriptSetVarI(getID(), index, v ? 1 : 0);
}
+ public void setVar(int index, BaseObj o) {
+ mRS.nScriptSetVarObj(getID(), index, (o == null) ? 0 : o.getID());
+ }
+
public void setVar(int index, FieldPacker v) {
mRS.nScriptSetVarV(getID(), index, v.getData());
}