Home | History | Annotate | Download | only in renderscript

Lines Matching defs:Closure

92      * A closure represents a function call to a kernel or invocable function,
93 * combined with arguments and values for global variables. A closure is
99 public static final class Closure extends BaseObj {
109 private static final String TAG = "Closure";
111 Closure(long id, RenderScript rs) {
115 Closure(RenderScript rs, Script.KernelID kernelID, Type returnType,
155 Closure(RenderScript rs, Script.InvokeID invokeID,
191 * Destroys this Closure and the Allocation for its return value
265 // If the field is not bound to this closure, this will return a future
330 * A future represents an output of a closure, either the return value of
332 * A future is created by calling the {@link Closure#getReturn} or
333 * {@link Closure#getGlobal} method.
337 Closure mClosure;
341 Future(Closure closure, Script.FieldID fieldID, Object value) {
342 mClosure = closure;
347 Closure getClosure() { return mClosure; }
363 List<Pair<Closure, Script.FieldID>> mFieldID;
365 // arguments for the referencing closure.
366 List<Pair<Closure, Integer>> mArgIndex;
370 mFieldID = new ArrayList<Pair<Closure, Script.FieldID>>();
371 mArgIndex = new ArrayList<Pair<Closure, Integer>>();
374 void addReference(Closure closure, int index) {
375 mArgIndex.add(Pair.create(closure, Integer.valueOf(index)));
378 void addReference(Closure closure, Script.FieldID fieldID) {
379 mFieldID.add(Pair.create(closure, fieldID));
384 for (Pair<Closure, Integer> p : mArgIndex) {
385 Closure closure = p.first;
387 closure.setArg(index, value);
389 for (Pair<Closure, Script.FieldID> p : mFieldID) {
390 Closure closure = p.first;
392 closure.setGlobal(fieldID, value);
400 private List<Closure> mClosures;
409 ScriptGroup(RenderScript rs, String name, List<Closure> closures,
856 * kernel or invocable function. Used in closure creation.
891 * A script group is created using closures (see class {@link Closure}).
892 * A closure is a function call to a kernel or
897 * A future is the output of a closure, either the return value of the
902 * When a closure is created, futures from previously created closures
911 * 1) a closure must be evaluated before any other closures that take its
913 * 2) all closures added before an invoke closure must be evaluated
915 * and 3) all closures added after an invoke closure must be evaluated after
924 Closure> mClosures;
935 mClosures = new ArrayList<Closure>();
940 * Adds a closure for a kernel
946 * @return a closure
949 private Closure addKernelInternal(Script.KernelID k, Type returnType, Object[] args,
951 Closure c = new Closure(mRS, k, returnType, args, globalBindings);
957 * Adds a closure for an invocable function
962 * @return a closure
965 private Closure addInvokeInternal(Script.InvokeID invoke, Object[] args,
967 Closure c = new Closure(mRS, invoke, args, globalBindings);
985 * Adds a closure for a kernel
989 * @return a closure
992 public Closure addKernel(Script.KernelID k, Type returnType, Object... argsAndBindings) {
1002 * Adds a closure for an invocable function
1006 * @return a closure
1009 public Closure addInvoke(Script.InvokeID invoke, Object... argsAndBindings) {
1035 mClosures = new ArrayList<Closure>();
1072 for (Closure c : mClosures) {