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