diff --git a/com.amd.aparapi/src/java/com/amd/aparapi/Kernel.java b/com.amd.aparapi/src/java/com/amd/aparapi/Kernel.java index 5280984c50335648387d3155dc7b29d9299590cd..1db1dac020536a03641cbb786b1b55aa88ef82f1 100644 --- a/com.amd.aparapi/src/java/com/amd/aparapi/Kernel.java +++ b/com.amd.aparapi/src/java/com/amd/aparapi/Kernel.java @@ -2003,6 +2003,19 @@ public abstract class Kernel implements Cloneable{ kernelRunner.put(array); return (this); } + + /** + * Tag this array so that it is explicitly enqueued before the kernel is executed + * @param array + * @return This kernel so that we can use the 'fluent' style API + */ + public Kernel put(boolean[] array) { + if (kernelRunner == null) { + kernelRunner = new KernelRunner(this); + } + kernelRunner.put(array); + return (this); + } /** * Enqueue a request to return this buffer from the GPU. This method blocks until the array is available. @@ -2087,6 +2100,20 @@ public abstract class Kernel implements Cloneable{ kernelRunner.get(array); return (this); } + + /** + * Enqueue a request to return this buffer from the GPU. This method blocks until the array is available. + * @param array + * @return This kernel so that we can use the 'fluent' style API + */ + public Kernel get(boolean[] array) { + if (kernelRunner == null) { + kernelRunner = new KernelRunner(this); + + } + kernelRunner.get(array); + return (this); + } /** * Get the profiling information from the last successful call to Kernel.execute(). diff --git a/com.amd.aparapi/src/java/com/amd/aparapi/KernelRunner.java b/com.amd.aparapi/src/java/com/amd/aparapi/KernelRunner.java index 6b83f82ec93c308d5e05780ab5c7d35682be6dc8..ddeb7a223629164a8c23b43fa064fad40d29418b 100644 --- a/com.amd.aparapi/src/java/com/amd/aparapi/KernelRunner.java +++ b/com.amd.aparapi/src/java/com/amd/aparapi/KernelRunner.java @@ -1612,6 +1612,8 @@ class KernelRunner{ * @see Kernel#get(float[] arr) * @see Kernel#get(double[] arr) * @see Kernel#get(long[] arr) + * @see Kernel#get(char[] arr) + * @see Kernel#get(boolean[] arr) */ protected void get(Object array) { if (explicit @@ -1642,6 +1644,8 @@ class KernelRunner{ * @see Kernel#put(float[] arr) * @see Kernel#put(double[] arr) * @see Kernel#put(long[] arr) + * @see Kernel#put(char[] arr) + * @see Kernel#put(boolean[] arr) */ protected void put(Object array) {