diff options
Diffstat (limited to 'graphics/java')
| -rw-r--r-- | graphics/java/android/renderscript/RenderScript.java | 10 | ||||
| -rw-r--r-- | graphics/java/android/renderscript/Script.java | 29 |
2 files changed, 39 insertions, 0 deletions
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index 754ebfb..4c505ec 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -420,6 +420,16 @@ public class RenderScript { validate(); rsnScriptInvoke(mContext, id, slot); } + native void rsnScriptForEach(int con, int id, int slot, int ain, int aout, byte[] params); + native void rsnScriptForEach(int con, int id, int slot, int ain, int aout); + synchronized void nScriptForEach(int id, int slot, int ain, int aout, byte[] params) { + validate(); + if (params == null) { + rsnScriptForEach(mContext, id, slot, ain, aout); + } else { + rsnScriptForEach(mContext, id, slot, ain, aout, params); + } + } native void rsnScriptInvokeV(int con, int id, int slot, byte[] params); synchronized void nScriptInvokeV(int id, int slot, byte[] params) { validate(); diff --git a/graphics/java/android/renderscript/Script.java b/graphics/java/android/renderscript/Script.java index 56abba5..11aa134 100644 --- a/graphics/java/android/renderscript/Script.java +++ b/graphics/java/android/renderscript/Script.java @@ -43,6 +43,35 @@ public class Script extends BaseObj { } } + /** + * @hide + * Only intended for use by generated reflected code. + * + * @param slot + * @param ain + * @param aout + * @param v + */ + protected void forEach(int slot, Allocation ain, Allocation aout, FieldPacker v) { + if (ain == null && aout == null) { + throw new RSIllegalArgumentException( + "At least one of ain or aout is required to be non-null."); + } + int in_id = 0; + if (ain != null) { + in_id = ain.getID(); + } + int out_id = 0; + if (aout != null) { + out_id = aout.getID(); + } + byte[] params = null; + if (v != null) { + params = v.getData(); + } + mRS.nScriptForEach(getID(), slot, in_id, out_id, params); + } + Script(int id, RenderScript rs) { super(id, rs); |
