summaryrefslogtreecommitdiffstats
path: root/rs/java/android
diff options
context:
space:
mode:
authorYang Ni <yangni@google.com>2015-04-01 02:05:27 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-04-01 02:05:27 +0000
commit02dff422a7734764e3ce00179f62ba115f2081a5 (patch)
treede9e53f63f6d65906ca52484156b354da407261c /rs/java/android
parentd684ebd3a62cb026048d9eebacddb0f824113a5e (diff)
parent5db6f1fafa4990b2d583dcb407be361edc02019d (diff)
downloadframeworks_base-02dff422a7734764e3ce00179f62ba115f2081a5.zip
frameworks_base-02dff422a7734764e3ce00179f62ba115f2081a5.tar.gz
frameworks_base-02dff422a7734764e3ce00179f62ba115f2081a5.tar.bz2
am 5db6f1fa: am 63dde9c8: Merge "Fix value size data type in closure creation."
* commit '5db6f1fafa4990b2d583dcb407be361edc02019d': Fix value size data type in closure creation.
Diffstat (limited to 'rs/java/android')
-rw-r--r--rs/java/android/renderscript/ScriptGroup2.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/rs/java/android/renderscript/ScriptGroup2.java b/rs/java/android/renderscript/ScriptGroup2.java
index 4a56572..13e22aa 100644
--- a/rs/java/android/renderscript/ScriptGroup2.java
+++ b/rs/java/android/renderscript/ScriptGroup2.java
@@ -44,6 +44,7 @@ you will need approval.
public class ScriptGroup2 extends BaseObj {
public static class Closure extends BaseObj {
+ private Object[] mArgs;
private Allocation mReturnValue;
private Map<Script.FieldID, Object> mBindings;
@@ -62,8 +63,9 @@ public class ScriptGroup2 extends BaseObj {
Object[] args, Map<Script.FieldID, Object> globals) {
super(0, rs);
+ mArgs = args;
mReturnValue = Allocation.createTyped(rs, returnType);
- mBindings = new HashMap<Script.FieldID, Object>();
+ mBindings = globals;
mGlobalFuture = new HashMap<Script.FieldID, Future>();
int numValues = args.length + globals.size();
@@ -112,7 +114,8 @@ public class ScriptGroup2 extends BaseObj {
super(0, rs);
mFP = FieldPacker.createFieldPack(args);
- mBindings = new HashMap<Script.FieldID, Object>();
+ mArgs = args;
+ mBindings = globals;
mGlobalFuture = new HashMap<Script.FieldID, Future>();
int numValues = globals.size();
@@ -198,11 +201,13 @@ public class ScriptGroup2 extends BaseObj {
}
void setArg(int index, Object obj) {
+ mArgs[index] = obj;
ValueAndSize vs = new ValueAndSize(mRS, obj);
mRS.nClosureSetArg(getID(mRS), index, vs.value, vs.size);
}
void setGlobal(Script.FieldID fieldID, Object obj) {
+ mBindings.put(fieldID, obj);
ValueAndSize vs = new ValueAndSize(mRS, obj);
mRS.nClosureSetGlobal(getID(mRS), fieldID.getID(mRS), vs.value, vs.size);
}