From ba949ff627d6a55274cd9433e9cf01a38d4ca9d4 Mon Sep 17 00:00:00 2001 From: Gary Frost <frost.gary@gmail.com> Date: Wed, 15 Aug 2012 15:49:23 +0000 Subject: [PATCH] Fix for issue http://code.google.com/p/aparapi/issues/detail?id=64 Thanks to Oliver for providing the patch --- .../src/java/com/amd/aparapi/Kernel.java | 27 +++++++++++++++++++ .../java/com/amd/aparapi/KernelRunner.java | 4 +++ 2 files changed, 31 insertions(+) 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 5280984c..1db1dac0 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 6b83f82e..ddeb7a22 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) { -- GitLab